Legacy - Why Names Are Important and You Should Always RTFM

- Projects

My summer job always ends up being a grab bag of different assignments, ranging from IT tasks such as installing a new network switch or deracking an old server to more developer tasks such as writing a document management program. Most recently, however, I was tasked with updating some of their legacy programs that run on their IBM AS400. The more impactful change I was instructed to make was to reverse the sort order on a list of jobs for a given company - since 1991 they were listed in ascending order, meaning users had to scroll to get to the newest jobs.

Continue reading ↦

Multiplayer Spaceship Game

- Projects

Back between 2008 and 2011, I spent a fair bit of time on FunOrb. One of their most interesting games was their last official release, Void Hunters. Unfortunately, FunOrb did not last much longer than that, as there has only been a small handful of updates since then, and with the death of NPAPI Plugins, the Java-based gaming site has virtually no chance of being revived. Some time around my freshman year at Notre Dame, I decided that it would be fun to recreate the game.

Continue reading ↦

Embedding Audio Tracks Within Each Other With Audacity

- Projects

A friend came to me with a request to create an Audacity plugin that, given two stereo audio tracks, takes the second audio track and ensures that it stays X decibels below the first audio track. The project did not take long after establishing just what it means for a track to be quieter than another, despite me having never written anything in a LISP dialect (Audacity uses Nyquist/XLISP) and some of the oddities of Audacity that I will describe below.

Continue reading ↦

Jupyter Test

- Projects

I was playing around with Jupyter, namely its feature that allows exporting as a markdown file, and since this site is built with Hugo, a static HTML generator that translates markdown, I thought I’d see what the results looked like.

Continue reading ↦

Wolfrat Chatbot

- Projects

My friends and I primarily communicate through a GroupMe chat that we named Wolfrat. To liven the place up, I thought I would add a chatbot. So, I quickly threw together (over a day or so) WolfratBot, which uses the GroupMe bot API. The API HTTP POSTS a given callback URL, which is set to a WSGI script that decides on the appropriate reply. The program is very modular, and new functionality can be added without disrupting any other modules.

Continue reading ↦

Fundamentals of Computing I Final

- Projects

For my Fundamentals of Computing I class final project, I decided to make a shmup. The game is played at a faster pace perhaps than it should have been, but I enjoyed making it. The graphics are very minimalistic, consisting almost entirely of circles. The game features a half-decent level intrepretation system, where levels are stored in text files with simple commands to handle enemies and other things. The system had support for branching and conditionals, though the only condition allowed was time.

Continue reading ↦