This is a collection of various (mostly) completed projects with a small amount of commentary.

SDL Console

This creates a console-overlay when you hit the console trigger key which I needed for testing out some games and other programs I've been tinkering with. This was my second time working with OpenGL with the goal of a completed project. The project was kind of frustrating but actually got a lot easier when I switched from SDL_TTF to FreeType to handle the text rendering.

Learn More


I've used physical checkbook registers in the past to keep track of my money, but I don't like keeping up with too many physical things. I always have my laptop with me so I created this Python script to keep a little dot-file that acted as register.

Learn More


An Actor Model-ish framework for Lua that's also an Entity Component System. It uses a heavily message centric model to achieve robustness such as runtime debugging and development, partial failure and patching, and decoupling as an inherent trait. I'm not working on this much-too-ambitious project anymore but it does do what I've promised at the cost of complexity.

Learn More

Fast: Dodge the Asteroids

Fast was the first complete game I'd ever made. This is the source code to the C version which was written in SDL1.2 & OpenGL. I later polished this up, gave it new graphics, and ported it to iOS and made an App which was a great experience. Fast was a very fun project.

Learn More


I've never been interested in writing a blog. I'm not a star. No one cares about the myriad semi-mundane experiences of everyday life. But I do think what I've experienced can be used to provide value for people. Writing articles for others not only distills the knowledge for myself but also for others. I usually learn something during the research I do when writing an article as well.

Learn More

PHP Barcode

For a freelance job I needed a solution to create and store barcodes in memory. I open-sourced the project when the core was complete but I didn't create a packaged solution because I was busy implementing the core for the job. I forgot about it for several years before some people started dropping comments. I recently cleaned the codebase up to somewhat match the production code.

Learn More