Software

The code posted here is posted because it has been useful not necessarily because I consider it good or elegant. If you happen to be a find this helpful I'd love for you to let me know.

PyWeek

Since starting work my rate of project completion has plummeted and the only public facing stuff that I've been producing is my PyWeek entries.

PyWeek is a week-long frantic struggle to make a game starting from nothing (in Python, of course). I've competed in three with some good friends of mine to moderate succes. Anyway, I present to you...

  • Soul Shenanigans—Friendly but clumsy you've blasted your soul out of your body and must travel the world to retrieve it! (NES-style platformer)
  • Shackled Stones— A rag-tag group of adventures stumbles across a plot that could unhinge the world and only they're in a position to stop it... (Zelda-like adventure RPG)
  • Shattered Silence—An authoritarian government has cracked down on "objectionable" cultural items. Unfortunately they can't control them all and it's up to you to help return culture to the world. (...I'm not sure)

Last.fm GodMode

I listen to a lot of music and have used last.fm to track quite a bit of it. The problem I hit was that sometimes (often) I would use the CD player in my car or listen to a few albums on a portable device that doesn't support scrobbling. To solve this I built LFM GodMode—GM allows you to directly inject songs into your recent track history using the LFM REST API. I also started to add a bunch of advanced functionality for CD searching/concert set lists but got overwhelmed by how dirty and limited the available data sources were and decided it wasn't worth the additional effort.

See it.

highlight.fn

Bash function I wrote that will take in a regex and a color flag and highlight text being piped through it as that color. Use with less -R for great effect! (This got a lot of use at both Proficient and Amazon while I was parsing logs to pull out error signatures.)

Download

com.mhp.utils.*

Contains a simple file reading interface and config reader that parses and turns a file into a hashtable. I haven't the slightest why I wrote this anymore but there was probably a good reason at the time. It supports a very limited file format but it's also very very simple to use and is fully documented.

Download

ClassOracle

While in CS6300 one of the projects required us to find the fully qualified classname for some arbitrary class file. I wanted to use reflection but I couldn't assume that all the class' dependancies were in the classpath. The result? ClassOracle which parses .class files and pulls out most of the header data. There is no documentation and it's extremely nasty (Java wasn't made to do this kind of byte-level work and I was grumpy) but in highly specialized cases it's extremely useful.

Download

Prototyping Location Based Services

The idea was that Location Basesd Services hadn't taken off because the creative sorts that could come up with the compelling apps were blocked by the technical acumen required to implement them. We successfully built a framework that made LBS' easier to prototype. A bit more whitepaper than research paper, it received 3rd place People's Choice at the GT Undergraduate Research Symposium.