Some of the projects I’ve worked on recently for learning and fun!

500 Lines or Less

Writing a tiny 3d modeller to demonstrate software architecture.


Every architect studies family homes, apartments, schools, and other common types of buildings during her training. Equally, every programmer ought to know how a compiler turns text into instructions, how a spreadsheet updates cells, and how a browser decides what to put where when it renders a page. This book’s goal is to give readers that broad-ranging overview, and while doing so, to help them understand how software designers think.

Maze Generator – Javascript

Began as a port of my python maze generator.

Javascript and canvas!

Hermes: Message Carrier

Part of the Random Hacks of Kindness Toronto Hackathon, Summer 2011. This collaboration between the Atlanta and Toronto RHOK events was the winning hack at both locations.

The problem is as follows: A disaster occurs and cell reception and internet are knocked out.
There is no connectivity, however, people in the disaster zone wish to send messages home. The Hermes system tackles the problem by sharing messages in a distributed fashion, copying them among
phones in the disaster zone and allowing them to spread organically. Eventually, one phone will come into connectivity and dump the entire payload to the server to be delivered to the
intended recipients.

Problem Definition:

Source Code:

Video Introduction:

Maze Generator – Python

A project for fun and interest to learn a bit of python.

Written in python2.7 and using pygame, the program uses DFS and Prim’s algorithm to generate mazes and accepts user input or uses DFS to solve them.