This is a compilation of some simple programs I've put together over the past few years. Most of these pages do not contain open source code, and are intended only for demonstration, however any code available in this section is licensed for public use, see the site license for more details. If you would like to see the code for anything not provided, you can contact me and we'll try to work something out.

Choose Your Own Adventure Engine

While tutoring someone in Java, I put together a simple little Choose Your Own Adventure tool, which allowed you to define your own CYOA story and play through it via the command prompt. Afterwards I decided I wanted to make a graphical interface to improve the gameplay and ability to follow the story, and the end result is this neat little toy.

SudoCube Game

I had an idea to merge a rubix cube and a sudoku puzzle. Now this has been done before - but I had a different plan. Instead of taking a standard rubix cube and putting numbers on it, I wanted to take a standard sudoku puzzle and give it a twist!

Googly Eyes Clock

A clock that looks like a pair of googly eyes.

ROT13 in Haskell

In an Intro to Functional Programming class one of our assignments was to build a ROT13 function. After putting together my own, I realized that at least the first few results on google for 'rot13 haskell' were quite poor examples - only working on lowercase letters and breaking anywhere else. Here's my own version, for submission to public critique.

PHP Blackjack

This blackjack game was created using PHP and a small snippet of JavaScript. I know there are several glitches in implementation (not the least of which is you have to click show in order to see why you lost) which I may get around to at some point, but I haven't yet. It was mostly just an experiment in creating a card game in PHP, which was a fun project, but I think I'll leave games to Java from now on.

JavaScript Digital Clock

My first program, a JavaScript function which outputs a digital clock for web pages and updates automatically.