Reasons I Work on Things

I work on a lot of different projects. Here I list the drive behind each project, which also serves as a reminder to me of the goals of each project.



I like to share music, and this provides a simpler and richer interface over chat-based commands.

lettar & templar

Existing routing libraries, while well tested, are a little cumbersome to use. Spring requires a lot of other setup, Sparkjava doesn’t have the easy-to-use annotation-based route creation, and I haven’t seen any other big libraries. lettar provides the annotation-based routing, templar provides the server.

incoherent-turbulence (also Unplanned Descent, Emergency Landing, Crash Course)

My primary interest in programming is making video games. These projects are game engine design iterations, taking what I learn from reading blog posts from various game developers and trying to create something that works well for general-purpose design.

Additionally, there’s not a lot of big Java game engines, most of them are written in C++ or C#. I don’t plan to learn much about either of those languages soon, and I’d like to stick to what I know well.


I lose track of many things, like when I last talked to someone or when birthdays are. I can’t track all of this with a standard calendar, so this acts as a different way to organize repeating events that don’t have hard due dates.