A list of projects and exercises from over the years in roughly reverse chronological order. Links to source code or examples provided where available.

Re:Trace for MyActionReplay.

Ball-tracking and video annotation on wide angle IP cam video of grassroots sports, all handled through an easy to use web interface. Python, OpenCV, HTML/JS/JQuery/CSS.

Example on Youtube.

Backyard Hawk-Eye.

3D trajectory analysis of flying footballs captured on two un-networked consumer grade video cameras recording at just 30fps, and with unknown extrinsic calibration. Implemented in Python and OpenCV with some 3D web graphics thrown in for fun. Used a 2D kalman filter to segment the ball's trajectory.

Demo on Youtube.
Code on GitHub.


Turtle language graphics interpreter written in C.



Satirical 'Internet of Things' Fridge API written in Python. It'll keep track of your stores and suggest recipes using the Yummly API. Because we all need that.

Tim Busby.

First foray into web development. Personal site of a fictional freelancer called Tim Busby. A bootstrap base, with a dynamic single page app using AJAX and D3.js, plus some fun with SVG masks.



Minesweeper clone written in Java.


Conway's Soldiers.

Solution finder to Conway's variant of peg solitaire, written in C with SDL graphics.

Conway's Game of Life.

Graphical implementation of John Conway's famous evolution game. C & SDL.

Recursive Maze Escape.

A maze solver using recursive descent. C & SDL.

Computational Physics.

Orbits, Moonshots, Heat Diffusion in an iron poker, Electric Field in a parallel plate capacitor, Gamma rays and Monte Carlo Simulations.