Recent software that I've written and open-sourced is available at github.com/derat and isn't listed on this page.
I wrote a long thing about how I generated an AMP version of this website.
I wrote down miscellaneous advice about generating RSS/ATOM/JSON feeds for the Feedly feed reader.
A collection of useful bash and zsh configuration snippets.
My experience getting Debian GNU/Linux to run on an ASUS Chromebox.
It is intended to be small, fast, and minimally dependent on other libraries. It can serve as an alternative to gnome-settings-daemon for users who are not using the GNOME desktop environment but who still run GTK+ applications and want to configure things such as themes, font antialiasing/hinting, and UI sound effects.
streetnames is a website that lets you test yourself to see how many streets in San Francisco you can name.
lmnopuz is a web-based crossword server that my friend Evan and I wrote a few years ago. I think it turned out pretty well, considering that neither of us knew much about programming for the web. Another friend is in the process of porting it to Google Wave.
Some friends and I used to use a multiplexing chat bot called PartyChat for group-chatting within our Gmail accounts. It was down one weekend, so I spent a boring Saturday banging out a quick replacement in Ruby and jokingly named it "smartychat". The original PartyChat was later ported to Google App Engine and then EC2 (I guess?) and now doesn't exist (I think?). If you want to look at my smartychat code as an example of an XMPP bot, it's at GitHub.
This is an implementation of the Audioscrobbler plugin protocol, used by music-playing applications to submit playlist histories to Last.fm. I don't know if this protocol is still in use, but it looks like the gem is still hosted by RubyGems.org.
This is an implementation of a trie data structure, well-suited for storage and prefix-based lookup of strings or other sequential data. The code is on GitHub and it looks like there's also a gem at RubyGems.org.
This is a little C program that parses zone files used by the BIND DNS server and spits out their content in the native format of the tinydns component of Dan Bernstein's djbdns DNS server. It should be pretty fast (it does a single pass of each entry and doesn't dynamically allocate any memory). It makes more of an effort to mimic BIND's behavior than other programs and libraries that I've seen that parse zone files. Be advised that I wrote it a long time ago at a previous job and the code is sorta embarrassing now. I've pushed the source to GitHub.
While looking for a new apartment, I wrote a Python script to scrape Craigslist RSS feeds for items matching certain criteria and email them to me. It's pretty rough around the edges (SQL queries are required to configure it), but otherwise works fine. The source is at GitHub.
Gearman "provides a generic application framework to farm out work to other machines or processes that are better suited to do the work". I have still never actually used it, but I was bored and looking for a project, so I wrote a Ruby API for communicating with Gearman servers. It turns out that writing tests for client-server interaction is kind of neat. The library appears to be under active development by other people at this GitHub repository now.
Here are a couple of Perl scripts that may be useful if you're using Highwind Software's Typhoon Usenet server. I wrote them in 2003 or 2004 for a previous job and haven't touched them since then.
radius_auth.pl is an authentication wrapper that lets Typhoon check users against a RADIUS server.
sync_active.pl is a cheesy script that downloads the list of newsgroups from ISC's FTP site and brings the server's active file into sync with it (parsing control messages is a better route to take, though).
This is an application that I used to run circa 2003 on a small PC that was hooked up to a stereo and television. It plays MP3s and IT/S3M/MOD/XM modules using the FMOD library, runs arcade, NES, SNES, and Genesis games using a variety of emulators, reads M3U playlists and ID3v1 tags, has some neat graphical effects (translucent zooming text, neat water-rippling effect on backgrounds, text flying all over the place on the music player screen, things happening in time with the music, etc.), supports joypads and IR transmitters, and is themable. Here's the source.
Here are some little applets that I wrote way back in the 20th century. They used to, and may still, work with Enlightenment 0.16.