I develop quite a lot, this growing list is an attempt to contain a sampling of the things I've written. They range from small scripts in various programming languages to Widgets and programs. The dates reflect when the item was last updated. For older projects, the date may be when it was first publically posted. Click the icon images to see a larger preview of the project. Some projects may not have larger previews.

In addition to the following personal projects I also contribute to other open source projects on GitHub and Gitorious. Many of my personal projects are hosted on Bitbucket.

Block Puzzler

Block Puzzler icon

If you've ever played the game Rush Hour, the rules are exactly the same. Vertical blocks can only be moved up and down, and horizontal blocks can only move left and right. Blocks cannot be dragged through other blocks. To beat a card, drag the red block into the green square and let it go. Some blocks may have to be carefully moved before this can happen.

There are no move counters, scoring, or timers. The idea in my implementation of this game is not how well you can complete each board, either in lowest moves or fastest time. It is more about just being able to finish as many cards as you can, and the challenge of beating the next hardest card.

Interface graphics provided by Hunter Ryba.



Hazelnut is an IRC-bot built around the idea of using plugins to extend the functionality of the bot. Therefore, the bot is really a just a framework designed to manage plugins as well as provide some extra APIs to aid in making great plugins. This idea isn't really new, or even innovative, but it's more the idea of it and fun had creating it and working with it.

SVN QuickView

SVN QuickView icon

An application I wrote because I wanted a more visual way to view commit messages for an SVN repository. Someone could argue it's easy to log via the command line (my interface of choice for SVN), and it is, as long as you're looking only for certain revisions or the previous revision. What this application let me do was view all the files in the repository and see the last commit message that applied to them.

The application is a bit slow, I have not spent any time profiling it to find the any bottlenecks. Maybe I'll spend some time in the future if I ever wish to return to this project.

When I wrote this application, I also had more than SVN in mind. The code is written to be repository-implementation independent, but I did not write the implementations of the interfaces for anything other than SVN. SVN access is provided by the SVNKit library.

This application is distributed under a license similar to the 3-clause BSD. SVNKit is [re]distributed under its license, which is compatible. Please read the license file included with the download.