Tom Hudson

What an American might call a résumé

Who I am

I am a geek from Bradford, UK. I work at Sky Betting & Gaming, where I lead the Delivery Engineering team. I like to learn things, write quite a bit of PHP, a bit of Go, and I like to write words too.

Things I’ve talked about

I’ve spoken on a variety of subjects at several user groups and conferences, like LeedsPHP, BarCamp Barnsley, The Digital Barn, and Hey!Stac. I’ve talked about:

If you’ve got an event you’d like me to speak at, please contact me.

Places I have worked

Sky Betting & Gaming

I’ve worked at Sky Betting & Gaming since 2011 when I joined as a software engineer. Now, five years later, I lead the Delivery Engineering team - who try their best to make it easier for people to deliver software. We build tools, train people, and streamline processes.

FrogTrade Ltd

I worked at FrogTrade from 2008 until 2011. Starting as an Application Developer I helped iron the bugs out of their rather sizeable PHP codebase, and added many new features. Later I became Software Architect and provided direction on writing maintainable, testable code.

Primary Technology

I originally started at Primary Technology as a network engineer in 2005; maintaining Windows-based networks in Bradford primary schools. I later became the Hosted Services Director where I managed an Exchange-based hosted email system, remote access system and wrote a web-based ticket management system.

Open Source

I’ve not worked on as much Open Source stuff as I would like, but here are a few things that I have worked on.


gron is a tool that makes JSON easier to grep by transforming it into a series of discrete assignments. It can do the reverse too.


xtermcolor is a Go package and associated command that returns the xterm color code closest to a 24 bit color. It’s useful if you want to do something like color ASCII art on the command line.


symwatch is a tool I wrote that polls the target of a symlink, running the command provided to it when the target changes. It’s handy if you use a symlink to point to the current version of an Apache docroot and need to clear caches etc when the docroot changes.


I wrote Phargs to take the pain out of writing CLI tools in PHP, particularly argument processing. It’s very much a toolkit rather than a framework, so you can easily pick and choose the bits you need and ignore the rest.

Etherpad Lite

I have helped to maintain the Etherpad Lite PHP client. It’s by no means a complex client, but I’m proud to be a part of the project.


A minor contribution, but I fixed a segfault in Goomwwm. The fix was simple, but the debugging less so.


I wrote a Go package for parsing HTTP Link headers.

Raspberry Pi User Guide

I contributed a Python program to the Official Raspberry Pi User Guide. It’s a simple program designed to demonstrate basic network programming by connecting to an IRC server and listing the connected users.

How to contact me

If it’s informal, feel free to mention me on Twitter. If you want a bit more privacy or aren’t a fan of this new-fangled social networking, just email me instead.