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.

MiniMax AI


A relatively simple implementation of a min-max engine in JavaScript. The original was written by a partner for a school project which I helped debug. I later converted it to JavaScript.

The name for this version was originally a typo on "minmax," but now I think it's a rather good assessment, as the source for the engine is quite small.

Don't forget to check out the min-max engine source and the "interface" required by the engine to properly evaluate a game.


Konverter icon

Converts XML files dropped onto the Yahoo! Widget and converts children-oriented XML into attributed-oriented XML. This was originally created to convert old Widgets to newer attribute-oriented XML.

The Widget contains a script "process.js" which does the bulk of the transformation work. While, by default, it is Yahoo! Widget oriented, its exclusions can be configured to handle any XML. The exclusions list is which tags to leave alone.

Due to how the XML parser works, new lines will not be preserved inside of tags that don't properly use <![CDATA[ ... ]]>. Any errors will be output to the closeable debugging area.

Example trasnformation:

<parent child="foo" />


SnipIt icon

A tool for taking screen-shots of an entire display, or rectangular or freehand selections. After a screen-shot is taken, a mini-editor can be used to add highlights, pencil/pen drawings, text annotations or even crop the image further.

The Widget can be set to copy to the clipboard after capturing a screen-shot and told whether or not to skip showing the mini-editor. Images can always be copied to the clipboard via a button from the mini-editor. The image-to-clipboard functionality requires Java, and not all applications will accept the image clipboard data.

The idea was, at least initially, a pseudo-attempt to clone a tool available for certain versions of a popular operating system. However, since then it's acquired some differences and new features. The look of the application is sort of based on my operating system's current theme.