Project list

"Without a tagline since 2010"

91 map

I played the game 91 and wanted to create a map of the world. What started out as a simple map to help keep track of the regions soon turned into a larger project which resulted in an A0 sized poster being produced. The creator of the game got in touch and at the time of writing the first poster has been printed and more will follow. The creator is going to publish and sell these posters online.

Visit the page

91 map 91 map

Apollonian gasket generator

One of my hobbies is creating fractals and one of the most interesting is the Apollonian gasket. An area defined by some arcs and straight lines is recursively filled with circles and in all cases (except the trivial case of a single circle) this process recurses infinitely, making counting circles challenging.

Visit the page

Apollonian gasket generator Apollonian gasket generator

ASCII art generator

After talking to a friend who suggested I write a text based adventure game, I decided that it would be useful to develop a way to generate graphics that could be displayed as text. To achieve this I used the HTML canvas to analyse images and comapared the distribution of colours with various characters, providing graphical, textual, and HTML outputs.

Visit the page

ASCII art generator ASCII art generator

Circle from three points

This project was thrown together rather quickly to solve a geometrical problem: How can you analytically find the circle which passes through three given points? The construction simply demonstrates that the method works, and it not intended to give any further information to the user.

Visit the page

Circle from three points Circle from three points

Citadel map

This page shows the map for my favourite game as a child, Citadel, published by Superior Software for the BBC Micro.

Visit the page

Citadel map Citadel map

Complex polynomial

On the Numberphile YouTube channel I saw a video that gave a proof that all complex polynomials have at least one solution. The method involved moving one point about the complex plane while another is mapped around a path elsewhere in the plane. I decided to map this out using Javascript!

Visit the page

Complex polynomial Complex polynomial

Conway's Game of Life

Conway's game of life is a very famous mathematical model with a rich variety of "creatures" that can interact with one another. This script is a simple interactive sandbox where the user can "paint" cells to create different shapes. There are a number of predefined boards that the user can choose to investigate some small and interesting patterns as they evolve.

Visit the page

Conway's Game of Life Conway's Game of Life

Crazy 2014

When I heard the sad news about flight MH17 I couldn't quite understand what was happening. It seemed like the worst parts of 2014 had come together in a way that nobody could have predicted. I tried to sum up the situation in this infographic. This mini project was in fact an excuse to practice some infographic making skills, which I had not used for a long time.

Visit the page

Crazy 2014 Crazy 2014

Room explorer game

This project is a game where the player explores rooms with a top down view and does all the normal things, such as traverse mazes, open doors, fight monsters and so on. This is a gravity-less version of the Platform game and has an even more retro feel to it. It's obviously a work in progress and needs a lot more work, but the main mechanics are complete and it even has its own editor.

Visit the page

Room explorer game Room explorer game

Feynman diagram maker

One of the most common diagrams that particle physicists use are Feynman diagrams. There are already a few tools that can be used to make them, but they usually have some significant drawback (including non-intuitive interface, poor quality graphics, lack of control over the final image, text only input.) This is a drag and drop style Feynman diagram maker aimed at making creation of the diagrams as quick and simple as possible. This is quite an advanced project with lots of scope for further development.

Visit the page

Feynman diagram maker Feynman diagram maker


This was a quickly written project to help me rearrange the furniture in my new apartment. This project has scope for a lot of further development in the future.

Visit the page

Floorplan Floorplan

Google Maps War

This project was made partly to combine the Hexagonal civ game with Google Maps, and partly to push the Google maps API to its limits. It turns out that Google Maps is not suited to this heavy use.

Visit the page

Google Maps War Google Maps War

Hexagonal civilisation game

Ever since I played Sid Meier's original Civilisation I've wanted to make something similar to explore the gameplay and create something fun to pass the time.

Visit the page

Hexagonal civilisation game Hexagonal civilisation game

Image fader

This is a simple script that fades an image to a given color and transparency. It's used to make images for use in web design (for example, a background image that needs to fade to match the background color.)

Visit the page

Image fader Image fader

Image morpher

*.gif images have been around for a long time, but this is something a bit different. It takes an array of images and changes between them randomly with random intervals of time.

Visit the page

Image morpher Image morpher

Iterated path

This project is a mathematical toy to see what happens when a simple rule is repeated many times. It starts with a straight line and then moves the points relative to this line. The process is then repeated many times, leading to some beautiful patterns.

Visit the page

Iterated path Iterated path

LGBT map

One of my more far reaching projects is the LGBT CERN group. It is a diverse group with people from across the world, and one of the issues that we care about is safety in different nations. This project keeps track of progress in different nations.

Visit the page

LGBT map LGBT map

Geneva Marathon analysis

In 2013 I took part in the Geneva Relay Marathon with some friends. The results were presented, leg by leg, on a webpage. I took this as an opporrtunity to analyse some data and find a novel way to display the data.

Visit the page

Geneva Marathon analysis Geneva Marathon analysis

Marble Hornets

Marble Hornets was a webseries that spans the course of about five years. The premise of the series is that a student film maker started filming an amateur movie in 2006, but abandoned the film due to "unworkable conditions on set". It quickly turns into a horror series that brings with some novel techniques. However what really inspired me to make this project was the asynchronous storytelling narrative, which requires the viewer to piece together the true chronology based on the context of the videos. I'm an active participant on one of the busiest discussion boards for this series and regularly update this project as each new video is released.

Visit the page

Marble Hornets Marble Hornets

Maze - Island Quest

Following on from the Platform game and Explorer game I wanted to create a tile based game. This was partly inspired by the game Kharne which I had played many times, and I became frustrated with the lack of similar games online. (It was this frustration that lead to a minor obsession with 91, and the creation of the huge 91 map poster.)

Visit the page

Maze - Island Quest Maze - Island Quest

Pebbling a Chessboard

One of the channels I follow on YouTube is called Numberphile, and they give plenty of good ideas for mathematical games. In this game the user has to move pieces around a chessboard in order to liberate "clones" from a prison. On Numberphile, they suggested playing this game using an actual chessboard, but I decided that a better way to do it would be to write my own game. So here it is.

Visit the page

Pebbling a Chessboard Pebbling a Chessboard

pi estimation

This project was put together quickly while waiting for a physics job to finish. It was an exercise to see how quickly I could make a useful page with my current setup on my website. Including time to research, write, upload, and test the page it took around 20 minutes.

Visit the page

pi estimation pi estimation


This project was made rather quickly in response to an image challenge. Afterwards I changed the project to allow the user to choose any image to pixelate.

Visit the page

Pixeler Pixeler

Generic platform game

This project is something I've been working for a long time and something I have wanted to develop for as long as I can remember. It's a platform game strongly inspired by the BBC Micro game, Citadel. (I have another project dedicated to mapping Citadel.) When I was younger I would dream about playing non-existant extra levels in Citadel, and when I started recreational programming I would sometimes dream about making new levels for the game.

Visit the page

Generic platform game Generic platform game

Railway tickets

Here is how I keep track of when and where I travel in the UK.

Visit the page

Railway tickets Railway tickets


This project has been on my to-do list for a very long time. The idea is to take an image which is difficult for a colour blind person to view, and then remap the colours to make it easier for them to view.

Visit the page

Recolourer Recolourer

Skyline generator

One of the features I want on my webpage is the silhouette of a skyline to use as background image. This project is aimed at allowing the user to draw a complex skyline, with the possibilty for animation.

Visit the page

Skyline generator Skyline generator

Sliding tile game solver

I was playing a PuzzelScript game involving sliding blocks that i just couldn't solve. So I wrote an algorithm to solve it.

Visit the page

Sliding tile game solver Sliding tile game solver


I love to create games and I try to keep up with the latest web based technology to create open source games. When it became clear that all the modern browsers support the canvas I decided to create this game to see what I could make. It's a clone of similar games such as Loops of Zen.

Visit the page

Tangles Tangles


While investigating Conway's game of life I wanted to see if I could easily extend the framework I'd developed to explore other systems. One of the more interesting cellular automata is the rock-paper-scissors system where three populations feed on each other.

Visit the page

Tricolor Tricolor

Uncertainties radar

When dealing with systematic uncertainties in physics it's often important to know the relative contributions of each unceratinty to the overall uncertainty. This script compares all the uncertiaties, assuming they are \(0\%\) correlated.

Visit the page

Uncertainties radar Uncertainties radar

That Weird Part of YouTube

One of the most fruitful memes on the internet is "That wierd part of YouTube". I saw an opportunity to create a service to find the weirdest videos on YouTube, and I made this webpage.

Visit the page

That Weird Part of YouTube That Weird Part of YouTube