Sample Code

Many sample projects are available on my github:

A few others are available here. Many of these are weekend projects where I can try out new technologies.

Elasticsearch API

I built ES API to test out Elasticsearch. The takeaway? I really like Elasticsearch, but I wish it didn't need to be used in conjunction with a separate database.

Express Todo

Express Todo was an experiment with full stack Javascript. Express.js, Parse, and Backbone.js were used to create a TODO app.

Blocks Puzzle

A fun puzzle someone sent me. I wrote the solution in Python. Given a sequence of blocks of random length, arrange them into columns without changing their order such that the sum of the differences between each column length and the average length of all columns (the balance delta) is minimized. A zip containing source code and sample input are provided. Input must be formatted as the sample is - with one block's size per line.


The next few entries are single page web apps written in Python, using the CherryPy Framework. They can be downloaded and run using the command python in the correct directory and then navigating to More information on CherryPy can be found in the link below.

Alien Numbers

The decimal system is composed of ten digits, which we represent as '0123456789' in order from lowest to highest. Other, alien numeral systems may be composed of some number of digits which may or may not include '0123456789'. This app will translate numbers from one alien system to another. For example, if the alien numeral system were represented as 'oF8', the numbers one through ten would be:

F,8,Fo, FF, F8, 8o, 8F, 88, Foo, FoF

Happy Numbers

A happy number is defined by the following process. Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers, while those that do not end in 1 are unhappy numbers (or sad numbers). This app will identify happy numbers

Palindrome Finder

Given a block of text, this app will find the longest palindrome contained (ignoring spaces).


ListViewDemo was a small, proof of concept project to try out Android development. It displays the current top 25 iTunes App Store apps.


The following programs are some of the first I ever wrote. I got a TI-83 Plus graphing calculator for math classes in high school and when I realized I could make games on it I set about doing that. They were lost for many years until I dicovered them backed up onto a cd in the attic. The source code was still lost for a few years following that because they were set to be non-editable. I was finally able to recover the source with the help of some TI assembly utilities. If you want to run them you will need a TI-83 Plus emulator and ROM in addition to the linked 8XP files. A popular emulator is linked here.


I cut my teeth automating formulas as they were introduced during math classes. This program is a collection of several of those. There are 9 listed and they are mostly Trigonometry and Pre-Calculus level mathematics.


MAROONED is the first game I wrote. The player is stuck on a deserted island and needs to survive until a plane can be signaled. The game can be finished in about 5 minutes, but is highly dependent on luck.


Blizzard's Diablo was a favorite game of mine and this is a text-only version of that for the TI-83+. All 3 character classes are available, can gain experience, and equip different weapons. There are many monsters from the original game included and most, if not all, bosses can be randomly encountered. If you want to play, make sure to check the README. There is a little preparation that needs to be done before starting the game if you intend to save.