Using a computer for much of the time every day, I've come across many useful tools that make life easier. Sometimes I needed to fix something for which no tool was available (or I couldn't find one) that fit my needs, so I created my own. To help out other people, I've now placed these tools up for download.

Battery Check

Somehow, many Windows XP laptops fail to detect in time that the battery has reached a critical level. While you could've plugged in the mains at 10% battery level, Windows just doesn't tell you about it until it hibernates the laptop at 5% battery capacity. This little tool polls the battery status every minute and pops up a message that Windows should. Place a shortcut in your startup folder and disable Windows' own notification popups and you're set to go.

Windows Uptime

Sometimes you just want to know how long your system has been running since the last reboot. Windows does not appear to have such a facility built in (although you can get the system start time buried in a lot of other info by typing "net statistics server" at the command prompt). That is why I created this simple utility.


Patches are small files that describe the differences between two binary files. This program can generate a patch file by comparing a patched file to the original version or it can apply such a patch. The program also has the ability to generate self-contained executables that patch the appropriate file. The source code compiles under both Windows and Linux (and likely other operating systems as well).

Update (2011-07-03): Update to version 1.1, fixing a bug discovered by Robert Riebisch.

Update (2011-07-10): Update to version 1.2, cosmetic changes to output only, no difference in functionality.

Simple reminders

I often need to set a quick reminder for myself. Some people use Microsoft Outlook for that, but that's not quick enough for me (not to mention absolute overkill). This tiny little program sits in your taskbar notification area and has a little PostIt icon. Right-click it to get a popup menu with the notes currently entered. Click a note to edit or delete it. You can set a time and date for a reminder and a message box will pop up with the note text at the specified time.

Trim trailing whitespace

When you double-click on a word in Microsoft Word and many other programs, it selects the space that follows the word as well. I often don't want that space copied to the clipboard as well. This tiny program sits in your taskbar notification area and monitors the clipboard. If text has been copied to the clipboard that has trailing spaces, it removes them. Full source is available.

DOS file substitution

This is a very specialistic tool, designed to work only in DOS/DOSBox. It intercepts requests to open a file and reroutes them as specified. For instance, your game might try to get its configuration from a file called RESOURCE.CFG, but you want it to read from MT32.CFG instead. If so, just run the command "fsubst resource.cfg mt32.cfg" before starting your game. I wrote this program for just that purpose: to switch configuration files for games stored on a read-only medium.


A simple 16-bit Windows utility intended to run a single application and immediately closing down Windows after that application quits. For example, the command win c:\runexit\runexit.exe notepad would start Windows 3.1 with Notepad open and return to the DOS prompt when Notepad is closed.

Update (2013-05-26): Update to version 1.1, passing parameters and setting current directory (details).

MIDI Selector

A tiny application to change the default MIDI output device on Windows Vista and later so it is possible to use an external synth or proper sound card, rather than Microsoft's softsynth, "Microsoft GS Wavetable Synth". Read more in the corresponding blog post and the follow-up.