TOOLS source code available on request

I’m doing a small experiment in open source distribution. I have a site,, which formerly was a collection of miscellaneous PHP scripts that I had assembled over the years for specific tasks – package tracking, dummy text generation, link shortening, etc. Those tools are now offline. The original cause of their disappearance was a MySQL failure, but that really just provided an opportunity for me to make a break with that pile of old code.

A weather site in six (declarative) lines

For several years I maintained a hodge-podge of little web-based utilities at Recently I decided to wipe the slate clean, bringing things back selectively. One of the few that I missed personally was my weather site. It returned National Weather Service forecasts in response to compact URLs of the form, for any five-digit US zipcode. Originally, the site worked by scraping plaintext forecast files on the NWS servers. Eventually those went away; I looked at and gave up on the arcane (to me) SOAP interface that superseded them.

Free to be, you and wmii

During a quest for things that might make using my spare laptop – an old 800MHz, 256MB thing running Ubuntu – a more zippy experience, I came across “wmii”. It’s a lightweight tiling window manager with a lot of auto-sizing and keyboard control features. I’m really liking it. This laptop has never felt so responsive. Other similar tools include dwm, xmonad, Ion, and ratpoison. Of the lot I’ve only tried dwm, which was cool but a little too minimal (its customization method, by design, is edit-source-and-recompile).

Bicycle Repair Man bundle for TextMate

For a long time I’ve wanted to try working with Bicycle Repair Man, the Python refactoring tool. Unfortunately, the fact that it had neither documentation nor integration with my favorite editor kept pushing it to the back burner. About a month ago I was excited to come across a post from a guy named David Coffin who had created a BRM integration script for TextMate. I hooked it up per his instructions, and with a little fiddling I got it working.