From Debian to Ubuntu on servers

Over the past few months, all the new servers I’ve set up have been running Ubuntu, rather than Debian. The three killer reasons for me are: Package versions: Debian is …

Linux backup options

Until recently I’ve been happily using Obnam for all my backup needs, both on local machines and servers. However, the main developer has decided to step down, and the community, …

Moving to nginx

Several years ago I tried an introduction to nginx, to see whether this alternative to Apache offered any advantages. At the time I wasn’t convinced, particularly as nginx had some …

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 …