Generic Views and Iterators

June 2006 -- Present  (Postgraduate university)

Master's thesis project to design a system to allow for generic views and iterators in the open source constraint-based system Gecode

[C++]

 
Distributed Whiteboard

September 2005  (Postgraduate university)

Implemented a distributed system so that many users can view and interact with the same whiteboard.

[Java with Swing UI and RMI]

 
Website Design and Support

November 2004  (Work)

Designed and set-up the company website for my then employer, Stanger Testing.

[PHP, XHTML, CSS and MySQL]

 
Webhosting and SMS services

December 2000 -- Present  (Personal)

With friends I manage a small webhosting operation for a few small websites and previously provided SMS-based services.

[PHP, MySQL and System Administration]

 
Session Types

September 2003 -- May 2004  (Undergraduate university)

Undergraduate thesis project to write and design a compiler for a language which contains session types.

[Java and SableCC]

 
Connect4

March 2004  (Undergraduate university)

An assignment to construct a Connect4 game with the computer player using the artificial intellegence techniques alpha-beta pruning and minimax.

[Java with Swing UI]

 
Auction Site

March 2004  (Undergraduate university)

Developed an auction site in the style of e-Bay as part of a team project.

[PHP and Oracle with a Java-based ghost-bidder using the site's XML interface]

 
Train Simulator

September 2002 -- April 2003  (Undergraduate university)

Team project in my 3rd year of my B.Sc at Glasgow University. Project was to build a train simulator which would allow the user to manipulate the trains and the tracks.

[Java with Swing UI and Xerces XML parser]

 
Image Compression

March 2003  (Undergraduate university)

Implementing half-toning and decimation to lossy compress black and white images.

[Java with AWT UI]