Decommissioning my first every Sinatra app

For the past 12 years up until today has been a Sinatra app. The purpose of the site was to help me learn Ruby which paid off handsomely and I went on to use Sinatra in many client projects so all in all it served me well. Time moved on however and the content fell out of date, the design increasingly became an embarrassment and I’d disabled the contact form as I rarely received anything other than spam through it.

Migrating from WordPress to Hugo

When I started blogging in 2006 the usual approach was to install WordPress on an Apache web server running PHP and MySQL. Shared web hosting accounts were widely available and more than adequate then but I was in the early stages of my professional life so instead I had a salvaged PC running 24/7 in my living room. I ran Slackware on it and kept a domain name pointed at it via dynamic DNS.

An Android app to measure exercise performance

During recent periods of restrictions due to the pandemic gyms have been closed and many people have resorted to doing body-weight exercises at home to maintain fitness and boost immune systems. My own personal routine has focused on burpees with secondary movements such as push-ups, squats, lunges, jumping jacks and mountain climbers. During the longest stretches of restrictions I was also able to do some resistance work using reusable shopping bags filled with large containers of water.

RPC between Go and Ruby using Protocol Buffers

I’ve previously written some thoughts on service oriented architectures and since then I’ve wanted to explore beyond the currently accepted standard of sending and receiving JSON data over web APIs. Protocol Buffers With JSON there’s an overhead of transmitting plain-text over the wire coupled with parsing that text in your application once received. For many cases this is probably acceptable but for a large-scale distributed system this can represent a not insignificant cost in terms of bandwidth and computing resources.

Five years of contracting

April 1st saw me celebrate five years of working as an in independent contractor. This also means I’ve now spent two years in London and it’s been four years since I last worked in Northern Ireland. It’s scary how fast time flies. Changes and not My second contract here required the use of a limited company so it meant finally waving goodbye to the simplicities of being a sole trader. I’d originally set up NullTheory Ltd for my very first contract but was advised to go down the sole-trader route so it had been lying dormant for some time.

Docker and Go Hello World

One of the most bandied about buzzwords at the moment has got to be Docker. So many people I’ve spoken to claim to be moving their application environments to it and some even have it running in production with varying degrees of success. Fine in theory The theory of isolating groups of related processes into containers which then themselves can be further orchestrated to build out an environment is very appealing.

Blogging on Ansible

A good friend of mine recently voiced the opinion that the day will soon be upon us when the traditional SysAdmin will no longer be relevant and all operations activities will be some variety of DevOps. Now, I’ve been managing my own infrastructure for some years but every package has been manually installed with every configuration file modified by hand, resulting in snowflake servers which are nigh-on impossible to recreate exactly and have occasionally caused me a lack of sleep.

A simple service oriented architecture using Ruby and Go

Some common pain points seem to keep cropping up time and time again as applications grow in size and complexity: tests get longer to run deployments become a much more involved process making a small fix to one area of code can often break something in another it can be much harder to reason about the system as a whole These large, monolithic applications are affectionately known as monorails in the Rails world and the common wisdom is to start splitting up the codebase into services: to extract areas of functionality out into self-contained, independent applications which work in unison to deliver the original capability.

Serving up a static site using Go

Like a lot of people in technology a portion of my time is spent wondering what will be the next programming language, framework or whatever to take off and become popular. Of greater personal importance is the matter of which one of them will get added to my toolboox next and press-ganged into productive use. For years now Ruby has been my goto for a lot things and I’ve been doing more and more OS X and iOS development but it had been some time since I last picked up something new and I had a hankering for some shinyness.

Contracting in London

Since I last wrote about my experience working outside of Northern Ireland I’ve returned to the UK, turned down prospects of contract work in Belfast and have set up shop in London. Serendipity A good while back Rob and myself had discussed the possibility of London. He’d been working remotely with a company based here and due to changes in his circumstances leaving N. Ireland was a valid option. Lines of communication between the two of us dropped off for a while as a result of travel, work and such like and when I finally got caught up with him I discovered he’d already bitten the bullet and was moving over.

Page 1 of 19