I'm a Philadelphia based software developer.
I'm interested in automation, accessibility, print, generative art, game programming, computer graphics, and anything involving a pseudo-random number generator.
Hi, I'm a self-taught, full stack developer with a passion for learning new things.
My interest in programming sparked in the early 90s: a game (written in an interpreted language) I was playing crashed, leaving me inside the editor. From there I started gaining knowledge from reading books and tutorials from the international demoscene.
I became a hobbyist indie game developer where I mostly use C++ and Lua. In my spare time, I have tutored graduate students in C, Java, and Python. When I am working on business-oriented software, I tend to use Java because of it's vast amount of libraries and ease of deployment. Currently, I write and maintain scheduling and inventory software for a digital printing press along with some freelance work.
My near-future goals are to continue learning Rust and to dive deeper into AI and machine learning. A constant goal is to lend my talents to environmental and humanitarian efforts.
I'm able to pick up new languages and technologies quickly, and here are just a few that I'm already familiar with:
When I'm not programming you can find me playing bass in several bands, cooking, and non-competetive speedcubing.
"Mustard" is a cross-platform framework for making video games that I am perpetually building upon. It has been used to make several prototypes, published games, and an upcoming release on Steam.
It is written in C++ with minimal dependencies and exposes a full Lua scripting API.
It features:
Planned features include vertex animation and a custom audio mixer.
Source code is available on Github.
PROBLEM:
Sales department was requesting increasingly complex bound presentations. Requests often consisted of a mix of file formats, page ranges, colored divider sheets, and single/double sided sections. File formats had to be converted manually, and the process became a tedious and error-prone bottleneck for our production team.
SOLUTION:
A Java-based GUI desktop app that allowed production team to quickly assemble presentations based on specs. App would automatically convert any supported file formats, assemble a combined master file, and send it directly to a Fiery print server along with finishing and mixed media settings.
RESULTS:
Browse and manage your record collection, right here on the internet!
Made out of neccesity for when the spines on bargain bin records are worn to the point of illegibilty, and to build familiarity with node and express.js.
Features:
(Use login "demo" and password "demo" to try it out. Your browser will likely warn you that this is not a great password, and it is correct. This account is automatically reset every 24 hours.)
Source code is available on Github.
I host games I've made at alienbug.games
Here is an interview in which I discuss accessibility in video games
My inbox is always open. Whether you have a question or just want to say hello, I'll try my best to get back to you! Feel free to contact me about any relevant job opportunities. You can use the form below or email me directly.