ben perry
UDel · KSU · MCC

Guitar flash cards

This simple flash app is designed to help the budding guitarist learn the fret board.

alien invasion

CURSES! The evil red aliens have attempted to take over earth's music archives by brainwashing us humans! Every time a human guesses the wrong note interval or chord, the red aliens become more powerful! If they get too powerful, they will gain control of the space ship and make the entire earth tone deaf! Never fear, though - the blue aliens are here to help us! Every time a human gets an interval or a chord right, the blue aliens become more powerful and can vie for control of the space ship to help prevent the red aliens from making earthlings tone deaf! Go to it

pocket clocket

This little Windows Mobile (pocket pc) app is a fully-functioning travel alarm clock that darkens the entire screen except for the large, easy-to-read-from-a-really-long-distance digits and resembles a typical digital clock without any pocket-pc artifacts. Supports alarm clock setting, military time, snooze, and custom wake-up tones. Written in hard-core C, so no need for those pesky .net libraries. download it

pocket rocket roller

Very simple dice roller for all you geeks out there who have a pocket PC, play games, and are too lazy to roll real dice. Written in C, no .net libraries needed. download it

port conduit

Port Conduit is a java-based port redirector. Whenever someone connects to your local port, it will seem as though they are connecting to the redirected port. Handy for firewall work-arounds. The GUI can support however many active conduits you want and can save or load existing conduit configurations from disk. download it

x10 library

x10 library is a java-based library for connecting to the x10 firecracker module located on a com port and sending on/off messages to any of your appliances throughout your house that are plugged into a lamp module or an appliance module. Also useful for scaring the crap out of strangers when the lights suddenly go off and you're snickering from the computer. Included in this jar is a typical GUI as well as a simple API for controlling the devices. download it


Ant-colony optimization visualization.


HTML5 implementation of the Boids rules. Click near the boids and drag them around! Best viewed in an html5 browser.


Who didn't want to write a tetris clone when they were a kid? Here's my quick and dirty clone!

Virtual Piano

Virtual Piano is a java-based, full-sized piano keyboard that you can control both with the mouse and with assigned keys on your computer's keyboard. Pressing the keys on the piano will send midi messages to whatever midi device you choose (or just the default midi on your computer, although it will probably sound like a toy). Useful for impressing your friends with your amazing keyboard skills. download it

holdem library

holdem library is a java-based texas-holdem library. It will allow you to create any kind of GUI for playing texas holdem in any kind of multiplayer environment. (TCP, email, hot-seat console, wahtever). download it

ray tracer

simple ray tracer that can trace spheres, polygons, and planes. Supports arbitrary camera angles, anti-aliasing via super-sampling, and a few other cute tricks written in C++. download it


A sign-language finger spelling prototype. Finger-spells any letters in real time. A good friend of mine, Sterling, and I wrote this as a term project for the Graphics class. Written in C++ download it


my souped-up java version of asteroids. the AI is kind of weak, but it is fun! go to it