Why I don’t work with recruiters

Over the past few years, I’ve received over 500 emails from recruiters relating to ‘amazing roles I might be interested in’ (this doesn’t include all the phone calls). Of those, …

Relearning modern C

Over the past few weeks I’ve started relearning the C programming language, which I haven’t used much since my undergraduate degree. Apart from the intellectual challenge, there’s a lot of …

A simple accounts package in Python

Recently I’ve been working on 125 Accounts, a simple accounts package written in Python. The main goal is to have an extremely simple system for generating business documents, tracking who owes …

Self-hosted Git using SSH

Most of my Git needs are met by GitHub (public) and BitBucket (private), but occasionally I want to hold confidential data on a server which I control. There are self-hosted …

Eighteen months as a freelancer

I’ve now been freelancing as a PHP developer and system administrator for eighteen months, the same amount of time I spent working at my previous employer. Whilst there have been …

Canonical’s cloud certification policy

Canonical’s recent announcement that they will be taking a stand against risky unofficial Ubuntu images has been causing a bit of a stir this week, most notably on Matthew Garrett’s …