A tale of three pull requests

After years of earning a living through using free software I’ve finally contributed back to the open-source world.

Frustration

For the two and a half years I’ve been pushing some personal projects to Github and some of my code I’ve been told has even been helpful for others. While this is certainly open-source none of my efforts have affected existing codebases.

Numerous times I’ve scoured the bug trackers of projects I’ve had some sort of interest in, on the lookout for an issue I could investigate, even getting as far as reading through upteen lines of foreign code but ultimately unable to add anything.

A first attempt

The project I’ve been working on for my current client, like many other projects, makes use of a handful of libraries.

I discovered one library I’m using to access an API had failed to implement a feature I required. My choices were to abandon the library and the code I’d already written using it, open a feature request in the hopes it would be worked on or man up and do the needful myself. Can you guess what I decided upon?

After forking the repo and creating a feature branch I wrote a test for the needed behaviour, wrote some code to implement that behaviour, committed the changes when the test suite passed, pushed to GitHub and finally opened a pull request. Unfortunately the original author decided he didn’t want that feature in the library at that time.

Such is life, the code fit my own purposes, I was able to get with the task at hand and at the end of the month invoiced my client. Things have been worse.

Once more with feeling

A similar situation occured again a bit further down the line: another library I’ve been using required a small modification to fit in with the constraints placed upon this project. I went through the same procedure as above and this time there has been no response.

Ah well, things could still go either way and at the end of the day I still have the functionality I need.

Third time lucky

Last week i was debugging an issue involving authenticating against a SAML Identify Provider. I was eventually to deduce that the library in question on this occasion didn’t support the algorithm used to compute the digital signature of the authentication response.

I drank a lot of espresso, scratched my head a lot and then found a library supporting this algorithm. The downside was there was no documentation or tests.

There was nothing to do but read the code. I was able to get something working after a while and thought it would be a shame not to share my understanding so I wrote a quick test and put in place the mechanics to run the test which in itself yielding some more know how.

Forks, branches, pushes, pull requests, merges, deploys, happy client, problem solved, home time.

Conclusion

All I basically contributed was a unit test. I didn’t invent anything new or expend any great time or effort but I did give something of myself and didn’t expect anything in return. This has always been the spirit of open-source software and it’s why I use it all day, every day.

No matter how insignificant you feel your contribution may be, it’s the small changes that keep the wheels of the open-source machine turning.

The pull request was merged into master, maybe you’ll find it useful.

Steven Wilkin, professional coffee drinker extraordinaire

There have been times in my life when my job description could well have been best described as being a professional coffee drinker. These days however I’ve found gainful employment but continue to consume vast quantities of the stuff and even use coffee nomenclature to name my new *nix boxes.

During a caffeine-fuelled session with my domain registrar I happened to lookup professionalcoffeedrinker.com; it was available, all sense went out the window and my money and myself were swiftly parted.

I wonder if this acquisition will have any effect on the Google Juice of the personal brand I have an eye to developing? And before you ask, yes, SEO information has been trickling it’s way into my RSS reader recently.

command line history – me too

I’ve seen this on a couple of blogs recently so I thought I’d give it a go on the VPS this site is hosted on:

steve@decaf:~$ history | awk '{a[$2]++} END {for(i in a)print a[i] " " i}' | sort -rn | head -10                                                                
190 ls                                                                          
80 cd                                                                           
24 cp                                                                           
22 sudo                                                                         
19 rm                                                                           
14 svn                                                                          
12 history                                                                      
11 tar                                                                          
10 wget                                                                         
10 vi

And as root:

172 ls                                                                          
59 vi                                                                           
56 cd                                                                           
22 apt-get                                                                      
20 less                                                                         
20 apache2ctl                                                                   
17 apt-cache                                                                    
15 cp                                                                           
10 pwd                                                                          
10 ps

I’m kinda suprised that ls comes out on top each time ;)

I wonder which commands Matt, Aidan and Philip have been using most?

1337

For the past week I’ve been using up the annual leave that I’d carried over from last year and hit the road for Fermanagh to spend some time with my family.

My Mum and myself went to pay a visit on my Grandmother and while stopping to buy some flowers I spotted this on the dashboard:

1337

I couldn’t resist.

Wikipedia artical for those not in the know.

Virgin Media customer satisfaction shocker

As I mentioned yesterday, my broadband had been on the blink and this morning I decided to take action as I need to do some work from home this weekend.

Just before 9am I phoned tech support and was surprised to not have to wait on hold: my call was answered almost immediately. The support guy was polite and after I explained the situation he tested the line from his end and without any messing around scheduled to have an engineer sent out between 12 and 4pm.

At 12:15 my buzzer went and about 10 minutes later I had a new modem. The engineer had quickly tested the signal strength and determined that it was the hardware that was at fault and swiftly had it replaced. Result.

All that was left to do was ssh into my router and bring the external network interface down and then back up again and voila, the gift of broadband was mine again :)

This incident was a far cry from my experience of NTL’s customer support. Thumbs up for Virgin Media!

Trigger happy without broadband

For 2 days now the “ready” light on my cable modem has failed to light up and hence I’ve had no internet access at home :( I’ve tried power-cycling the modem, leaving it unplugged overnight and even disconnecting and reconnecting the cable input. No Joy.

I checked the Virgin Media service status page and can see that there was maintenance scheduled for Belfast this morning, maybe this will remedy the problem…

My morning routine has evolved to consist of catching up on RSS while eating breakfast and guzzling coffee, so this ritual has been disrupted and as an alternative to plugging in to my feed reader I had a look through my home folder for one of the many eBooks I’ve downloaded and not finished reading.

The lucky contestant turned out to be the freely downloadable
Trigger Happy by Steven Poole and what a dose of nostalgia it’s been!

I haven’t seriously played any computer games in about a decade now but this book lists many of the titles I invested many hours into when I was younger. I was brought back to the days of sitting hunched over machines like the Atari 2600, Commodore 64, Amiga 600 and NES and I’ve even considered investing in a new console although my need to save for my future is overriding my want for something new and shiny which I might not even make much use of.

Saying that though I’ll probably end up grabbing an Amiga Emulator or MAME at some point over the weekend, Virgin Media willing, and catch up on a few childhood memories.

Game on!

ASUS Eee PC

I'm currently visiting my family in sunny Fermanagh and typing this from the ASUS Eee PC handed to me by Matt as I left the office yesterday.

One word sums up my opinion of this little device: “amazement.” I'm amazed that something of this size and at a price of £220 can run a full Linux distribution, has built-in WiFi and can therefore allow me to perform all my day-to-day tasks.

So far I have been able to catch up on my RSS feeds with Google Reader using Firefox; i've ssh’d into my home development machine with the included terminal application and connected to the Infurious jabber server via Pidgen. Just a normal day at the office!

I've found the size of the keyboard a bit awkward but I always have difficulty adapting to a new keyboard anyway, and the 800×480 screen resolution is a bit limiting, but I can't find a single fault in terms of performance and if a full-sized keyboard, monitor and mouse were attached then I could use an Eee PC as a daily workstation no problem.

Hopefully I’ll be able to grab an photo of this gadget soon so you all can have a look at it in action.