Personal Website

Redesigning my personal website using Bootstrap

Starting with HTML5 Boilerplate, I have created and configured this website using the Bootstrap frontend web framework. The code base is stored in a Bitbucket repository along with an Issues list. As well as exploring the different UI components, I have ensured the website is responsive from desktop browsing through to mobile.
Website image

Computational Photography Algorithms to Aid Photographers in the Efficient Processing of Image Data

My final year masters project. Photographers can spend a lot of time sorting through photos, trying to find the best photo of a particular group, so that everyone is looking, no one is blinking, all heads are visible etc.

My aim is to automate this by the means of computational photography, so that the time spent on this laborious but necessary step is reduced. I aim to detect features within the image that make up good and bad aspects of a photo and classify based on these features.

Further information is available on:

Photogorithms UI image


A third year group games project, written in C# with XNA for the Xbox 360 console. Resonance is a cooperative game between 2 players, one controls the in game character using a standard controller, while the other uses the Rock Band drum kit.

A comatose drummer lies in a hospital bed, trapped in a world which exists only in their mind. A plague of Bad Vibes, mental abstractions of dysfunctional brain cells, is the only thing standing between re-awakening and the grasp of death.

Taking on the mental persona of a Good Vibe, the left and right halves of the drummer's brain must co-operate by synchronising with a rhythm in order to destroy the Bad Vibes and return to reality.
Resonance image


A second year group software engineering project, CIDEr is an application that allows multiple programmers to securely collaborate on one or more source files simultaneously. CIDEr works cross-platform (currently tested on Linux and Windows).

The backbone of application communications is the XMPP protocol; this allows CIDEr to be used easily across diverse networks by using XMPP's intrinsic robustness. CIDEr incorporates two major components: the Client and the Bot.

CIDEr Website
CIDEr image

Ray Tracer

My ray tracer was a C++ programming project for computer graphics, with the aim of producing a single rendered image. In the above image, shapes, lighting, shadows, reflections, materials and a bounding hierarchy were all implemented.

I extended it by producing 500 1080p images, each with a slightly different camera position, to create this short video.
Ray tracer image

Mac Build

During my spare time of summer 2011, I worked on converting a PowerMac / Mac Pro case for use with standard ATX parts. After looking around on forums and finding it had been done many times before, I thought I’d have a go at it.

However, from what I had seen of previous conversions, some jobs were pretty messy. My main aim was keeping the case tidy from the outside. I have explained the process in depth on my blog. There are 15 posts, each detailing the next section of the build in order and concluding with some final remarks of the project.
Mac image