Blog

Thoughts on software engineering, architecture, technical leadership, and more

Getting set up with Jekyll in 2025

After several years, two children, and a marriage(!). I’ve taken to picking up writing on my blog again. In the past I rolled my own blogging application, based on rails, and using dropbox for storage, called Cloudpress crucially though, all the historic posts were in markdown. Making porting them to...

In-Car Media Server Pt.1

We love going on road trips, however the kids in the back don’t always feel the same way. Traveling anywhere over a couple of hours becomes tricky as there’s only so much colouring they want to do! They, like all of us, are used to watching things on demand.

Own the Network Edge

It’s 5:30PM, the phone rings with a last minute request to repoint a domain somwhere. “Uhh, sorry, that’s going to take at least 24hrs from the minute I change the record, but the domains team have already gone home for the day, and I don’t have access”.

The Rails renderer pattern

Rails has always had a neglected sibling through it’s entire life, while everything else has been blessed with changes and upgrades. The view layer is still relatively unchanged since rails first release in 2004. There have been numerous attempts to try to update the view layer to de-couple the rendering...

Software Ruby Tfl Tube London Gem

Hello service_disruption gem

Well over the past few weeks I’ve been working on a little gem that makes it easy to get notifications when the Tube status changes. As a byproduct it also gives easy access to the tube data as ruby objects too :)

Heroku Airbrake post deploy hook

After a lot of trawling around the internet I couldn’t find any reference as to how to set up a post deploy hook for heroku. Even the airbrake:heroku:add_post_deploy_hook rake task didn’t seem to work, so I have managed to piece together my own custom post deploy hook

Software

If I could turn back TIME

Time, we can all agree, is an incredibly useful concept, unfortunately the recent decision to drop <time> from the HTML5 spec is not useful.