I don't sit around all day writing software, but over the years I have produced a few moderately useful things.
Everyone always says I'm tough to buy for, so I wrote a web application to list things I want. Folks could then look there, buy something, and check it off the list as bought. The result -- lots more gifts I really wanted. You'd think that would take the surprise out of opening gifts, but I usually forget what I've listed by the time I open the gifts, so it works out well.
I originally wrote this application in Perl as a set of CGIs, but later rewrote it in Java to teach myself JSP, servlets, and Struts. Then I rewrote it again in Perl, but using the Mojolicious framework, because I was tired of maintaining the Java version. The source code is available, too.
This application will allow anyone to list and track gifts they'd like, so feel free to use it yourself.
No system administrator's life is complete without constructing a backup script. My backups are made to a large disk, and are bzipped tarfiles made from remote systems using ssh.
SMT is a service monitoring tool. Its purpose is to continually monitor any number of services and notify you if they become unavailable. SMT comes with pre-made monitors for HTTP servers, SMTP servers, and other common services, but you can write your own in any language you choose. A key feature of SMT is that notifications are consolidated -- if ten services change state at the same time, you'll get one notification that ten things happened, instead of ten notifications that one thing happened. This is particularly useful if your notifications go to a pager or mobile phone.
Okay, it's not really software, but this web site is built from source code using Website Meta Language (WML). It took me so long to understand how to use WML that I feel compelled to devote a page to sharing how the site is constructed.
This qualifies for the "software" section of my site better than any other — an explanation of why I believe Solaris is a better operating system than HP-UX.