Home / Software


All of this software is free. You may use it for any purpose whatsoever.

Basically, these are programs which I've written to a certain level where I believe them to be generally useful for others, but which I do not intend to maintain or update further. All programs are provided "as-is".

Each link below will tell you more about the program: system requirements, uses, source code, and installation. Enjoy!

Italian Language Drill

Italian Drill - A comprehensive drill and exercise program for learning the Italian language. Contains vocabulary, grammar, verb conjugation, aural dictation, and aural comprehension drills. Covers about the same territory as a two year Italian Language program.

Music Software

Part-writing checker - Allows you to enter a small amount of music (5-10 measures, depending on the time signature and the size of your screen) and it will then check all of the standard part-writing/voice-leading rules, including: Crossed Voices, leaps by an A2, unresolved Tritone leaps, leading tones not resolved, parallel octaves, parallel fifths, unequal fifths (d5 to P5 between S and B), hidden octaves, and hidden fifths.

Most useful for gaining practice in partwriting in preparation for theory exams (and I speak from experience).

MIDI File Dump - A DOS command-line program which dumps out a MIDI file to the screen, in a pretty raw format. Good for programmers, especially since it comes with source code.

Web-Site Programs written in PHP

Picture Handler - Displays a table of thumbnails on your web site, and when a thumb-nail is clicked displays the picture in a new window with navigation buttons (i.e. next, back, first, last).

Simple Reviewer - A simple system for creating and maintaining a categorized list of articles, such as restaurant reviews, wine reviews, etc.

Other Software

Macintosh Cocoa Programming FAQ - Things I discovered as I wrote my first user interface with Cocoa in Mac OS X.

Events Entry - A simple method for entering events into your Palm Desktop (or other program which accepts VCalendar files) when an event has multiple dates and times associated with it - such as a theater shows.

wxMenuToolBar - wxWidgets components which make it easy to create pop-up menus which display response to toolbar button or other simple button clicks.