My Software Code

I believe in open source and giving back to the community so here are my programs.

You can visit my Github Profile page or browse by categories below.

Atmel CPU Chips

Cornell Projects

During my undergrad at Cornell, I worked with Rich West to create software in C for the Atmel programmable CPU. We released our software to the general public under the GNU GPL license.

Our first program was to use the Atmel to create a reaction time timer, accurate to within 1 millisecond. We used the Atmel and a 2×16 LCD screen. You can access it on Github.

For Project 2 we had to simulate cricket calls with the Atmel. Output was through a spliced RCA cable to a black and white tv. We had to taken in different parameters as entered through a keypad of frequency, chirp length, chirp silence, and others. For use in further labs, Rich developed a keypad library.

You can access it on Github.

For Project 3 we created a security system which consisted of an end user typing username and code into the keypad and a security guard accessing the system over RS232 serial cable using Window’s Hyperterm. For this project, use the the updated keyboard files from here. In the project code removing the #define EXTRA_CREDIT will make it the base 4-digit code system, otherwise it is a username/password system. The keypad page for this lab explains how to use it for typing letters.

You can access it on Github.

Here is our final project for the class – a web server on an Atmel Mega32!! Below I have linked to the main C file as well as a zip containing all of the files necessary. Enjoy it!

You can access it on Github.

The report we submitted for class. Much of this is covered in comments in the main C file


BBQ Thermostat – An Arduino Controlled Thermostat. More info at:

Bash Scripts

I have moved these to my github page as well as adding in a few other bash utilities. Check that out here

flac2ogg – have flac files you want turned into ogg files? All you need is oggenc and this script. It is currently bare bones and barely interactive, but I hope to update it in the near future

ripDVDaudio – I learned the hard way that ripping audio from vob files is a pain in the arse – especially because they use the a52 codec. Well, no biggie. With my script, mplayer, lame, and a52 decoding software you can have that soundtrack in no time. Great for movies like Snatch where you can just listen to the lines and crack up without having to see the accompanying visuals.


Soundex Utility

Sure, some of the genealogy sites have Soundex conversions built-in, but what if you need to figure out the Soundex codes for your surname and don’t have internet access? Or what if you just want this module to then search your family surnames for similar soundex codes? Then use my code! will give you the soundex code generation code. This is currently just a verbatim copy from the code provided in “Dive into Python” by Mark Pilgrim. I may update or toy with it in the future – run this file to get a nice interactive interface for using the conversion code in You need to download BOTH of these files and put them in the same directory. Then run this one by typing python

Find out about Soundexing and Genealogy at


I was looking for a way to create a DVD with chapters on Linux after my windows program went kaput! So I wrote a program to create the XML file dvdauthor nees to create the DVD file structure. (now on Github!)


Games with Pygame

These games were created by modifying the code from Linux Format Magazine. (now on Github! (for some of them anyway))

PyInvaders – Space Invaders clone

PyRacer – 80s-style arcade racing game

PyShifter – a tile-shifting puzzle

PyHanoi – Tower of Hanoi game

Amortization Calculator

Python Amortization Calculator

A blog post about an older version I did with QML for the GUI. top 3 artists to Twitter

Lastfmtwitter – post your top 3 artists to twitter.


A script for btrfs backups to create hourly snapshots and backups and cull the snapshots and backups. Get it on Github. Don’t know what that is? Check out my blog post.

ELDonation Tracker

A utility to provide data for Extra Life live streams.


Python project to take mqtt data and put it into databases.


Unity Games


A Choose Your Own Adventure-style game. Part of a 2D Udemy class project.


A 2D tilemap platformer made in Unity while following the GameDev.TV Unity 2D Class

Glitch Garden

A Plants Vs Zombies clone from my Udemy Class

Laser Defender

A Galaxian/Galaga clone from a Unity 2D Udemy Class I’m taking

Block Destroyer

An arkanoid or brick breaker clone from the Unity class I’m taking


Monty Hall page where you can test the Monty Hall “Paradox” by running through it many times over. A description of the Monty Hall “Paradox” is available off that page.

Vietnamese Zodiac / Chinese Zodiac – enter your birth year and find out what animal you are.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.