Portfolio
Web Development
IPReg
From November 2005 to December 2009, I worked for AetherQuest Solutions, Inc, an event support and information management company in the DC area. My primary role there was building IPReg, an event management web application used by event planners to register attendees, manage speakers and the session schedule, manage exhibitors and sponsors, and report on finances, among many other things.
Carpenter's Shelter
The Taproot Foundation organizes groups of professionals to complete pro bono projects for non-profit organizations. My first project with Taproot was the re-design and re-launch of the website for Carpenter's Shelter, a local organization working to end homelessness in the region.
BuffaloStuff.net
In early 2010, I helped an old friend re-design and re-launch BuffaloStuff.net as a multi-author WordPress site. I mocked up the wireframes for the different types of pages, designed parts of the site, and built the theme. Along the way, I had to write a few simple plugins to add sidebar widgets, and hack on Helios Calendar a bit to get it into a widget.
Webfault Editor
I was a member of RIT's Computer Science House throughout my college career. Along the way, I participated in or headed up a number of projects, but this was the biggest one I did myself.
CSH has a weekly newsletter called segfault, with a web version called webfault. The person editing the newsletter collects articles from people in House, and uses them to build the weekly newsletter in some desktop publishing app like Adobe Pagemaker. The process of collecting articles, laying it out, printing it (copies were hung around the floor), and posting it to the web was very time consuming. I wanted to streamline the process by building a web-based editor for the newsletter.
Javascript
Chain Factor JS
Note 19 July 2010: I just received a notice from the creators of ChainFactor asking me to take down the code, since it is their copyrighted material. My samizdat was, of course, just an homage and not intended to compete, so I hope you'll go play the real version on their site, but I can't share the source.
Chain Factor is a great little puzzle game that I like to play once in a while to clear my head if I'm working on a tough problem, or just when I'm bored. It's pretty simple: click on a column in the board to drop the next ball into that column. When the number on a ball matches the number of consecutive balls in the row or column that ball is in, the ball will clear. The FAQ on the Chain Factor site probably explains it better than I can.
Utility Scripts
LiveJournal Comment Scraper
First, this is the problem: LiveJournal Comments. That post explains things, so you should read it.
The script will screen scrape all comments made on all current posts in the syndicated account. For each comment, it will check the comments table to see if it already exists, and if not, it will create it. These comments will be unpublished by default; you'll need to go into the admin panel and approve any that you want to keep.
Multimedia
Fishes
The class implemented a flocking algorithm for this project, which was pretty interesting. Some people modeled elaborate, life-like fish; I opted for simple little red guys (I learned my lesson after spending so much time on details for the 3D Car only to find that none of it was visible).
The tank is divided into a number of "bins" - instead of keeping track of every other fish in the tank, each fish only knows about other fish in the same bin. The sliders determine how each aspect of the flocking algorithm affects the fish's movement. Turn down the Fish Avoidance, and they'll start piling up on top of each other; turn it back up and they'll immediately swim away from one another.
Battle!
The class was given code for a Turtle object with some basic functionality, like turning right or left, moving to a specified location, moving forward, etc. It was based on the Logo turtle developed at MIT. If I remember correctly, the assignment was to use inheritance to create sub-classes of Turtle and do something interesting with them. I had seen one of the Lord of the Rings movies recently and didn't have any better ideas, so I decided to build a basic battle simulation.
3D Car
This project was to build a 3D car in Macromedia Director and put it into a world. The class was given the code to build the landscape from two bitmap files: the "mini map" in the top left was applied to the ground, and another grayscale image provided topographical information - darker shades denoted higher areas, and lighter shades lower. This information is also used to place the car at the proper height so that it appears to be on the ground.