unmhtml - Allows users of any Java 1.4-supported platform to decode and view MHTML (also known as MHT) files. This is early code, but it should work reasonably well in most situations, as far as I know. Syntax for the jar version is "java -jar unmhtml.jar target.mht" (where "target.mht" should be replaced by your input MHTML file). The MHTML will be extracted to a temp dir, the root file will be printed to the console, and also opened using the system's default web browser (this behavior will be configurable in a later version). Or, if you use the version that comes in the Mac OS X disk image, you get a file chooser when you run the app.
Last updated on 01/29/2005.
[download jar] [download Mac OS X disk image]

mime4j - Streaming MIME parser for Java. I originally wrote it for work, but my boss generously agreed to release it to the community. Very robust, low resource consumption (for Java, anyway), very tolerant of mischievous MIME messages. Here is what may be the last version of my own code, as of 8/21/2004, before it gets merged into the MIME4J SourceForge project, which I've turned over to these guys.

LANMP3 - A client/server MP3 player for Windows. Allows you to have one computer hooked up to speakers, and use any other Windows computer on the LAN to control playback. Requires Windows Media Player 9 on the server and .NET Framework 1.1 on the server and all clients.
UPDATE 04/23/2004: Fixed a bug that might cause LANMP3Server.exe to instantly fail, depending on the length of the music directory path you'd chosen. (Apparently NotifyIcon really, really doesn't like it when you set its Text property to a >64 character string!)
[download binaries] [download source] [view screenshot]

erb-site - Ruby script that wraps erb to let you build static websites using the Ruby programming language to write HTML. Public domain.
[download script]

Java DynDNS Client - Flexible, extensible Java-based Dynamic DNS client. GPL. (Started 7/2/2002)
[go to homepage]

PromptDialogTask - ant 1.x task that pops up a simple Swing-based dialog box prompting the user for some information. (12/08/2001)
[download jar] [view screenshot]


C# Command Line Utilities
The following utilities all require Windows with the .NET Framework installed. If you don't know if you have .NET installed, you probably don't... go get it.

download.exe - Multithreaded utility for downloading multiple files over HTTP.
[download binary]

camelcase.exe - Rename files to capital case. (e.g. "my file.txt" => "My File.txt") I made a mistake calling this "camel case", should really be "capital case".
[download binary]

bsr.exe - Batch Substring Renamer. Do a substring replace on the names of files.
[download binary]


Upcoming Downloads Aborted Projects

xcc - Java web framework for easily integrating presentation layer with business logic. Provides support for "compile-time" checking, and its XML-based syntax is easily extensible using Java.

RemoteMP3 - Client/server MP3 player. The (Java) server runs on whatever computer is connected to your stereo, and the (C#) user interface runs on the client. Web and telnet support on the todo list. (I only built this so I could control my workstation's playlist from my bed, using an 802.11b-connected laptop. Laziness is the true mother of invention.)