Software

Selected code, either open source or written by me on my own time back in the days before "open source" was defined.

 
PIA (1999-2001)
A web server and templating engine for HTML and XML, with functional-programming semantics and XML syntax. It makes a single pass through the input file, making it suitable for low-memory applications. Ugly, but remarkably efficient. Originally written in Perl, rewritten in Java, partially rewritten to use the newly-defined DOM, and later ported to C. Note that the earliest versions were roughly contemporary with the development of PHP, and predated both XML and the DOM.
   I designed the language and wrote the XML/HTML parser, the interpreter, and the DOM library. This will also give you a good idea of how I like to organize a project, with HEADER.html files in most if not all directories. (These are gradually being replaced with README.md as things get moved to GitHub.) The HEADER.html files work really well if you're serving the project with Apache, with auto-indexing turned on.
 
MakeStuff
These are the tools I use to manage multiple websites, songbooks, recording projects, blogs, remote git repositories, and so on. Also a good example of how I organize projects and use Makefiles as a way of aggregating commonly-used code snippets.
 
Silvermine Resources products
I wrote this suite of programs for my late father's now-defunct consulting company. They ran under MS-DOS, and provide a simple mc-like interface for transferring and converting files written by a variety of different Perkin-Elmer spectrophotometers and other devices. The project involved writing drivers for several different filesystems, and used make for incremental backups and production as well as compilation.