This page contains a number of projects that I have worked in my spare time (I also have a bunch of stuff over on GitHub). If you find anything cool or useful, please feel free to send me some bitcoin at 1GBVDWpqEKY1Kw1TZNkvUxAaStdAQkdjBp

Junkship is a game about being an interplanetary arms dealer. You can design, build, and sell any weapon you can imagine. Will you use your skills to help ensure peace? Or will you play one side off against the other to keep the wars (and contracts) coming?

The game is written in C++ using a custom engine utilizing DirectX 11, and features extensive use of procedural content generation to build unique solar systems at runtime using the GPU.

View website provides a fun and easy way to keep track of mistakes made by friends and co-workers. At any point, the person with the most fails can wipe their slate clean by buying beer for the rest of the team!

The website is built using backbone.js, require.js, and ASP.NET MVC 4 and uses the facebook graph API for user management. The website also features an OAuth 1.1 API for programatically posting fail beers, for example you could integrate with a continuous integration system for automated fail beer postings when the build is broken.

View website

MGDF is an open source framework designed to make developing, installing, distributing, and updating games easier. The framework uses DirectX 11 for graphics, DirectInput/XInput for user input (has full support for the xbox 360 controller), and OpenAL for audio (supports 3d positional audio and audio streaming using Ogg Vorbis). The framework also provides a virtual filesystem which allows easy access to resources stored in zipped archives (new archive formats can also be plugged in).

The Junkship engine is built upon the MGDF framework.

View on GitHub View website

BobbyTables is a .Net ORM library for the Dropbox datastore API. It handles serializing and deserializing objects to and from the remote Dropbox datastore as well as handling pushing/pulling updates. BobbyTables supports .Net versions 2+, Silverlight 4+, Windows Phone 7.5+, and Windows store applications.

View on GitHub View website NuGet Package

The Dukebox of Hazzard (Dukes for short) is a music player that allows multiple users to share and contribute to the music being played from a single set of speakers. The primary use case for Dukes is in office or social situations where there is a single music player, but where multiple people would like to pick the music to be played. Dukes ensures everyone gets to hear the music they want by adding each users picks in a round robin so that everyone gets thier fair share of play time.

Dukes runs as a standalone HTTP server on any modern version of Windows, and is accessible via a web based UI on any device or operating system including iOS, Android, OSX, Windows, and Linux.

View on GitHub Download app

This application allows you to search for books and view the search results as an interactive physics based 'web' which you can navigate and manipulate. The application is written using the Microsoft Silverlight RIA framework, and requires the Silverlight browser plugin to work.

View on GitHub View website

uTorrent Mobile allows you to remotely control uTorrent using your mobile device. You can download the app directly by going to utorrent.jad, or if this doesn't work you can download the application using the download link below and copy the utorrent.jad and utorrent.jar files to your phone before installing. This application has been tested on a Motorola V3x, and Nokia 6120 classic. It has been confirmed to work on most Nokias, and Blackberries, and should work on anything else that supports j2me applications.

In order to be able to use this application, you first need to ensure that your WebUI has a publicly accessible URL, this usually involves setting up your router port forwarding rules so the webUI server is accessible. Once this is done, start the application and enter the url of your webui (dont include the /gui at the end of the url, this is appended automatically) and your username/password, from there you should be able to view and edit all your active torrents.

View on GitHub Download app

This site allows you to generate convincing sounding randomly generated project names. The name generation is done using Markov chains and an input dictionary consisting of popoular JavaScript project names on GitHub.

The library behind all the Markov chain construction and word generation has been released as Foswig.js and is available on GitHub under the MIT license.

In order to view this site, you will need a browser which supports HTML5 web workers, as all Markov chain generation is done on a separate worker thread to the page UI.

View on GitHub View website

One of the most important technological breakthroughs of the 21st century. This shows a near-realtime view of the location of the worlds most popular lolz. The results are taken from google and geolocated on a world map every 24 hours.

View website