I've been writing code since 1982(?) (when did the Apple II+ come out??). I've written in BASIC, Assembly, Pascal, C, Verilog, Perl, php, javascript, csh, awk/sed.....

Programs and scripts

These are provided for active use, and may still be under continuing development. Some are large, some are simple, but hey why recreate the wheel if you don't have to? (code offered in that spirit)


RosterTool is a fairly involved (~4000 lines of code) Perl/mySQL script for club/organization membership maintenance. See the RosterTool web site for a full demo and source code.


DVDcover is a simple Perl script (requires ImageMagick) that will crank out quick DVD covers (text-only) for DVR/PVR/Tivo archives.

Tissue (dive simulation tool)

Tissue is a scuba simulation (in C) for gas absorption into tissues, based upon the Haldanean theory. Replicates the US Navy, and PADI RDP dive tables. (note program will not compile as distributed, see inline comment for end-user warning and how to correct. Offered for educational purposes only.)

Research references, etc contained in code comments.


(in early development) BridgeScore, my first real attempt at OO. Written in C# for the Pocket PC. Track bidding, final contracts, and opening leads for a game of Duplicate Bridge. After entering final results, will generate post-mortem stats of how you did as declarer, and how you did on defense.

It will be of most use for games where hand-records are available, showing the cards for each hand that was played. With the recorded bidding, and hand records, you can easily review what you did well, and what you hope to do better next time, as well as discuss bidding dilemnas.

The main idea is to automate the hardcopy scoresheet I developed and distribute on my cards page.

Web scripts

A few random web scripts that may be useful.

Other code samples

And a collection of samples from other things I've done.