2017 Raytracer and Rasteriser

One of my third year courses at university was on the topic of computer graphics. The course revolved around implementing a raytracer and rasteriser from scratch given only a pixel canvas, everything else was up to us. I worked with a partner, Matthew Smith, and we built a MCMC path tracing raytracer with global illumination.

2016 Portable Dotfiles

After setting up many many servers by hand and recrafting my configurations I bit the bullet and versioned my dotfiles writing some scripts to install them and haven't looked back since. Dotfiles are divided up by program into folders which mirror the home directory sturcture for that specific program then GNU Stow links these files into the home directory.

2016 Book Project: "The Little Schemer"

I devoured The Little Schemer by Daniel Friedman and Matthias Felleisen, implementing all the functions by hand with tests in Racket.

2014 Three phase compiler (Haskell)

For my second year language engineering class we had to implement a compiler for an extended version of the While language. We were given java skeleton code for this project, but it was so poorly written that I gave up refactoring it and decided it would be easier to rewrite from scratch. I chose to write the compiler in Haskell as I'd heard great things about the language for compiler implementations and I'd yet to get the chance to build a non-trivial project in it.

2014 Python OMXPlayer wrapper

In the summer of 2014 I worked with Understory to prototype some interactive eating experiences which resulted in the Dining console, a screen embedded into a piece of wood upon which food was served. The console played videos triggered by new dishes being served to the diner. At the time there were no APIs for controlling accelerated video playback on the Raspberry Pi so I built one to control OMXPlayer, a videocore accelerated media player. I've worked on this on and off for the last 3 years as it has seen reasonable adoption and has made its way into several art installations.

2012 Physical mailbox email notifier

One night I hacked together a little American style mailbox made out of cardboard with an arduino and mini servo inside. It polled my email account and would raise the flag if I had any unread email. American style mail box email notifier

2011 Heated etchant tank

I had a bash at making a heated PCB etchant tank but gave up halfway through as I no longer had the time to pursue the hobby enough to justify working on it. Instead I used a jam jar with cupric chloride in it, pouring a bit of hydrogen peroxide in before etching a board to speed things up. I found it sufficient but otherwise if you're interested take a look at the relevant posts.

2011 Book project: "MAKE: Electronics"

I've always had a strong interest in electronics. My first break into the subject was through the book MAKE: Electronics by Charles Platt. I blogged about my progress through the book as a way of consolidating my learning and sharing the trials I'd been through with others. This was a brilliant book that taught me a huge amount about basic electronics.

2011 Book project: "Learning Processing"

My first venture into programming was through the book Learning Processing by Daniel Shiffman which taught the elements of programming through the Processing language (built a top of Java). I recorded my progress through the book by blogging about my successes and difficulties.