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.


WarpedReality icon

A simple sphere-only ray tracer Widget. Originally designed for the Widget 16k contest, I posted it to the gallery after the contest fell through. Rendering the default scene should take anywhere from 2 to 10 seconds on a relatively fast computer.

You can add up to 10 spheres of various colors, sizes, and distances to be rendered (an arbitrary limit of the GUI size). The light-source can also be moved around.

Tree Menu

Tree Menu icon

A visual Tree structure created via Canvas-drawn objects. This can allow for displaying such things as simple XML, or just a plain old menu. The API should be flexible enough to do a wide range of things. The class doesn't handle loading large data sets for you, that must be handled via a lazy-loading setup, so be aware.

The font size can be customized at the creation time of a node and the renderers can be replaced with custom ones to draw various nodes differently.


ShortClient icon

A simple IRC client, and also my 4th attempt at such an application. This is also the furthest along of all attempts and the one with the most grokable code-base. I didn't finish the IRC client (just like my 3 previous attempts), but it would have been nice to do so.

The IRC client is built on PircBot with a wrapper class to throw dispatch events to many registered listeners withing the application. The client itself supports IRC colors/formatting and will properly break up long lines and send them as multiple messages instead of cutting them off (which causes confusion for all).

The name of this application derives from the original purpose, which was to be able to join IRC for a short conversation.