Monday, June 9, 2014

... I had Jenkins Build Steps Fail Just Because Grep Returned Nothing

All I wanted to do was check if a docker container was running and if it was, stop it.

Simples.

Apparently not :(

Every time the Shell Execution Step with the following code ran, it marked the job as failed, if the docker container wasn't running.

docker ps|grep appserver || true
if [ $? -eq 0 ]; then #appserver container is running - stop it
 docker stop appserver
fi
What isn't immediately obvious with Jenkins' Execute Shell build step is that it is run with -xe arguments.

The -e causes the step to fail for any part of the script that has a return status that isn't 0.

To override the the default behavior, one must add a shebang to the step's code as follows:

#!/bin/sh
docker ps|grep appserver || true
if [ $? -eq 0 ]; then #appserver container is running - stop it
 docker stop appserver
fi
Very annoying, but easily fixed.

Saturday, January 18, 2014

... I hit a wall when trying to use right click to paste with putty into a tmux window

Not an issue I'd ever thought I'd come up against, but not being able to paste from my browser into a tmux window is quite the show stopper.

Googled for a while and found all sorts of scripts to aid me in my quest to get a line of text from the browser into a file I'd opened in vim running inside tmux.

Along came this post and the damn SHIFT key.

Hold shift while right clicking to paste into a tmux window.
The joy!

Wednesday, October 2, 2013

I fixed the Netflix 15001 Error on Android 4.3 JSS15R

Myself and my girlfriend bought Nexus 7 (2013) devices.

Last week, I bought a chromecast from the US so we were all excited to get Netflix up and running.

Both devices displayed the following error when we launched Netflix:
Sorry, we could not reach the Netflix service. Please check Network Settings to connect to an available network and use Netflix (15001)

We could get no further than the above. Not even as far as the login screen.

I tried the following to resolve the issue - all without success:

  • Uninstalled/Re-Installed the Netflix Application
  • Ensured I was on the latest version of Android 4.3 (JSS15R)
  • Cleared Google Service Framework cache and data.
  • Did a full factory reset.
I basically did everything short of flashing the device.


I'd pretty much given up on Netflix completely until a trip to France this week.

For the craic, I tried Netflix from my Hotel. I was VERY surprised to find that I could get to the login screen! Of course, since Netflix isn't available in France, I couldn't get beyond that point.

I was delighted to get back to Ireland last night to find that my Netflix app now worked :)

Anyway, my girlfriend's Nexus was still showing the error above.
Here's what I did to resolve the issue for her.

  1. Set a French DNS IP in Android's network settings
    1. I found the French DNS IP here (80.67.169.12 worked for me)
    2. To set a DNS IP manually, you must go to your network's advanced settings and choose "Static" for IP Settings.
  2. Once I'd done this, I launched the Netflix app, which got as far as the login screen.
  3. I then went back and set the Network option to DHCP again.
  4. Launching the Netflix app again, I was brought to the login screen without issue and could finally log in to use Netflix with the chromecast.
It's an absolute farce that I had to trick a service that I've paid money for into thinking I was in a different country just to use it!

Netflix really need to sort their android development out!

Thursday, January 3, 2013

I wrote a song ...

... and I don't think it came out too bad:

Click here to listen

For this, I used my trusty BR600. This machine offers good recording with minimal hassle.

The drums are completely "analogue".

I used a separate track on the BR600 for the hi-hat, snare and bass sounds.

The "hi-hat" is me tapping a plectrum half way between the stereo mics on the 8 track.
The "snare" is me clapping.
The "bass" is me tapping both of the stereo mics with my fingers at the same time.

Over this I put a simple guitar riff using the unit's "Crunch" guitar effect (P05).

After these were recorded, I used the A-B loop functionality to listen to the above composition repeatedly. This allowed me to start formulating vocal melodies in my head. As these came together I threw some words in.

Tracks 5/6 and 6/7 are used for stereo vocal recordings. I used both of these combos in recording a simple vocal harmony for the track.

Once I had all of the tracks recorded separately, I again used the A-B function to listen back to the full "song" a couple of times and to adjust levels. When I was happy with these, I bounce recorded all tracks to 6/7's Virtual Track 2. Using a stereo track here meant that the exported .wav file was in stereo.

I think it came together quite well. I'll definitely be working on more tracks in the future and probably be using the BR600's digital drum kit.... I've never actually used its mastering functionality, so it'd probably be a good idea to take a swing at that too :-)

Please let me know what you think in the comments.

Tomorrow's post will be on steam engines! (Trains)

Wednesday, January 2, 2013

I tried to get things going ...

... by writing one blog post every day for the rest of the year.

I watched Julie & Julia last night.

While the movie's subject matter had little to do with anything in my life, I find myself in a similar predicament to Julie - I'm pushing 30 and feel like I've gone nowhere.

As motivation, I, like many thousands of others, have decided to use a blog to focus my daily endeavors. My steps towards becoming the person I really want to be.

I've really no idea who that person is, but I'll start by detailing a few interests.


  1. Music - I can't imagine life without it. I wish I could spend every day playing music and that this could keep me in food.
  2. Computers - For the guts of 20 years I've spent 6.5 of the 7 days in a week on a computer. I love em and loath em. I've begun to feel that I use the internet much like others do soap operas - I read about other peoples' lives and I live my own through their exploits. I've been trying to cut down, but working in IT doesn't lend itself to getting away from them.
  3. Beer - Like most Irish, I've a massive fondness for beer. I've toyed with home brewing and would like to venture further into this in the near future.


This reads more like a personal notepad than anything else, but fuck it, I gotta get organized.

This is the plan for each day:

  1. I will cover at least one topic from the above 3 headings.
  2. I will set the following days topic(s)

Tomorrow
I will talk about writing a song.

Tuesday, July 3, 2012

I finally resolved my RT2800PCI Wifi Disconnecting Issue in Ubuntu 12.04 ...

.... by simply following this post:

http://ubuntuforums.org/showpost.php?p=11858549&postcount=9

Much happiness after months of my net connection dropping every few minutes.

Luckily, I use my Ubuntu partition for mostly dev work, so rarely needed much internetting... This most likely means that I'll never code again, now that I have free access to youtube whenever I want it :'(

Thursday, June 7, 2012

I figured out how to have `make` stretch my CPU's 8 cores!

While trying to build OpenCV from scratch, I continuously ran into compile errors.

These would happen ~5 minutes (25%) into the make process.

Using an i7 CPU, I wondered why the compilation was taking so long for a relatively small project. I checked the output of "top" and noticed that the load was hovering around 1, which for an 8 core processor is nothing short of lazy.

A short trip to google told me that the following will let me tell "make" how many cores I want it to use.

make -jX

e.g. make -j8 allowed me to use all 8 cores and therefore cut the compile time accordingly.

SCORE :D