During my internship in college, I was asked to come up with a page for the company's internal website which would show the names, faces, and locations of everyone in the office. I implemented this by hosting everyone's data in MySQL, using JavaScript to draw vector graphics on the page on top of the office floor plan image, and PHP for all the supporting code. I also created a form for changing people's info and location, allowing anyone to keep the page updated, not just those with direct database access.
This is a simple Java program which calculates the area of a pie slice given its area and radius. It can be compiled as a console or a GUI program.
This is a very basic shell written in C++ I worked on with a classmate for a CS project.
A simple C++ program written for a CS course which makes itself unquittable by overriding some interrupts.
Bad Coffee
For a software development class, my group and I created this application for Palm written in J2ME.
Form processor
This is a PHP script I modified to handle processing data from and generating responses for several different forms.
Sliding Tile game
A bare-bones game written in Java for a first-year CS project, featuring both text- and window-based interfaces.


This is an AppleScript which greatly simplifies the formatting of Journler entries with Markdown and SmartyPants before sending them to Blogger. All you have to do is paste the formatted text into a form opened by the script in your default browser.
HTMLize Selected Text
This AppleScript will grab selected text from the frontmost window and convert non-standard characters to named or numeric HTML entities, and optionally apply the Markdown and SmartyPants filters before replacing the originally selected text with the processed version.
Backup script
I wrote this shell script to back up my files to a second drive with rsync, and to only run once per day.
Anybody home?
Written for a CS course, this would show which computers in the lab were unoccupied.
These snippets of JavaScript can be bookmarked in a browser and will run when clicked. I wrote these bookmarklets for searching eBay, MacUpdate, Amazon, and Google Maps.
BitTorrent topology
While working with Calvin's Emulab, a Linux-based network simulator, I wrote this TCL script to automatically set up and run a basic BitTorrnet network. (See also here.)
Formatting scripts
These Perl scripts (1, 2) were written to clean up and prepare data for an employer's website's transition to a database-driven structure.
Flash XML maker
This Perl script I wrote to generate the requisite XML files for an image gallery program used on an employer's website.

Website design & development

CVN website
Calvin Video Network is Calvin College's on-campus TV station, and I was asked to update their website. I created a Drupal-based site (including the theme) with info on what CVN did, how students could get involved, and who to contact. I also installed an online schedule viewer, showing the times and dates of upcoming programs and events, configuring it so the web schedule would reflect any updates to the main schedule on one of CVN's computers.
Bad Coffee
I built this website for a CS group project. I also designed and created the logo using Inkscape.
Other sites
For my sister's wedding, I created an informational site in iWeb and hosted it on Calvin's servers, but used a URL redirection service to simplify the address I handed out.
This experimental site I made to advertise my brother-in-law's business.
In high school, my friends and I collaborated on a number of websites in our spare time. I designed and coded these two HTML/CSS sites and collaborated on a third.

Creative work

DVD production
Through late high school my friends and I shot and edited a series of somewhat amusing movies, and I later created a DVD of all our work, including cover art and an insert.
After a monthlong trip to Florida to study urban growth, I helped produce a DVD of pictures and video everyone had taken and made copies for everyone who'd been along.
I've also created several DVDs of family videos and for CVN.
Audio production
Since high school I've been in a handful of bands. These are some of the recordings I've produced since then. (1, 2)
While in Europe I taught myself the fundamentals of photography. Here's a small sample of my work.
I currently maintain a Drupal theme called NoProb. I've written a post detailing how to generate markup for drop-down menus within a Drupal theme.
I also tailored a Blogger theme for my weblog about my semester in Hungary.
For CVN, after rewiring the control room and studio, I created this diagram in OmniGraffle to help teach other members how everything worked.
During the summer, I work on this homemade motorboat.
This is a list of Canada quotations I compiled for the BSD fortune program.