I am a geek from Bradford, UK. I currently work for Sky Bet in Leeds as a Principal Engineer. I like to learn things and write code.
I like computers; especially solving problems with computers. I write quite a bit of PHP, and a bit of Go.
When I’m at work I help build, fix and improve large-scale, highly-available and real-time systems with technologies like PHP, Node.js, Redis, MySQL, Memcached, RabbitMQ and MongoDB.
I have talked at a few local group-meetings and conferences, including LeedsPHP, BarCamp Barnsley and The Digital Barn. I’ve talked about:
If you’ve got an event you’d like me to speak at, please contact me.
I’ve decided to miss out the time that I worked for a paintball centre. It was fun, but it taught me very little about computers.
I've worked at Sky Bet since 2011 when I joined as a software engineer. I’ve held 4 more job titles since then: DevOps Engineer, Senior DevOps Engineer, Solutions Architect and now: Principal Engineer.
As a result of my many job titles, I've been involved in a pretty broad range of things; like building an SSO system, building real-time monitoring with Graphite, replacing an antiquated configuration management system with Chef, and even building a monitoring system that does OCR on a live video stream to make sure it’s in sync.
My day-to-day mostly revolves around mentoring other engineers, writing POC code, researching and assessing new technologies and techniques, and just plain old fixing things when they break.
From 2008 until 2010 I worked at Halifax-based VLE provider FrogTrade as a Web Applications Developer, and later as Software Architect. Much of my time as a developer was spent helping to iron the bugs out of FrogTrade’s half-million line codebase, and adding much requested new features.
As Software Architect I designed a controller and view system for a new product and back-ported it to the existing software. I also laid the foundations for a flexible, XML-based reporting system.
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.
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.
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.
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’d never suggest anyone ran it in production, but I wrote a forking webserver in PHP to improve my understanding of HTTP.
I added Tesseract 3.03 support to gosseract (a Tesseract wrapper for Go), and improved the test suite.
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.
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.