My interests include functional languages, type systems, databases, relational database design and game programming. I'm especially fond of Haskell and Clojure.
Work In Progress
A game of the roguelike genre written in C++. Still in the prototyping stage so nothing to show yet!
Written in Haskell.
Pool Ball Tracker
A fun side project at GoCardless to track pool balls with a GoPro camera. More information in the write-up.
Uses C, C++ and OpenCV.
A simple, free “lights-out” puzzle game released to the android market.
This was my first Android app and my attempt at learning Android development by creating a very simple game.
The objective of the game is to turn out all the lights. Pushing a light toggles that light and four surrounding ones. The levels are randomly generated each time and gradually increase in difficulty. You must complete a level within a certain number of moves or you lose a life.
Written in Java with the Android SDK.
An emacs buffer list that tries to intelligently group together open buffers. Useful when you have a lot of them.
Written in Emacs Lisp.
I was the tenth hire at this YCombinator-backed, London-based payments startup. I mostly worked as a back-end Rails developer with a short stay in dev-ops using Chef. I worked at GoCardless for one and a half years.
My achievements include introducing an authorisation server for a more service-oriented architecture and writing the back end and migrating customers to a new and improved dashboard.
Buzzwords: Ruby, Rails, Chef, PostgreSQL, Elasticsearch, SOA, Cloud, AngularJS, RabbitMQ, Redis
My main responsibility was producing customised dashboards for large Maplecroft clients involving interactive maps and other visualisations. I was also one of two developers leading the Sedex Risk Assessment Tool project.
Switch Call Ltd.
Back in 2004 I worked for this (now defunct) telecomms startup for two years. I produced some websites, SMS and telephone tools in PHP and ASP classic.
Buzzwords: PHP, ASP classic, SMS