For several years I managed a web server for the domain bluemarsh.com, which I had purchased in 1999. This was primarily for the purpose of publishing my Java debugger and its source code. This grew to encompass a source code repository (Subversion), an issue tracker (Bugzilla), a wiki (MediaWiki), mailing lists (Mailman), and all of the infrastructure needed to manage that, including Postfix, Dovecot, and OpenLDAP. There was also a photo gallery (Gallery) for sharing photos with friends and family, and a blog (Typo), which eventually migrated to the site that you’re looking at now. This was all well and good, and gave me some of the experience I needed when I was assigned to a new team at work, which involved my expertise in working with these open-source components. Then, things changed.
The new project that I had been assigned to forced me to learn a new programming language, and a web application framework I had barely even heard of prior to that time. I’m not actually sure why, but this resulted in me losing interest in my Java debugger, enough that I decided to move it whole hog to SourceForge. Prior to that, only the downloads were hosted there, while everything else was on BlueMarsh. With the debugger moving away from home, it left an empty nest behind. It was then that I realized how much of my life was managed by the components running on the server. Not only was I using Bugzilla for tracking bugs in my debugger (there’s a joke in there somewhere, but I’m not that nerdy), but I had been using it to track tasks to be done around the house (okay, I am that nerdy). So what was wrong with that?
Well, nothing per se, but can you guess how long it takes to upgrade such an installation? Bear in mind I was using Fedora Linux, and mostly using the pre-packaged software that it includes. Basically it takes about an hour for the bits to be laid on disk. But that’s not the time consuming part, it’s the configuration of all of this stuff that takes hours and hours. Especially things like Postfix, which has a myriad of options for controlling spam, takes me at least an hour to set up. Sure, that doesn’t sound too bad, until you consider I don’t usually have time like that. I’ve got a 2 year old, you know, and this is not my day job. It was then that I decided to find ways to make everything on this server disappear.
First there were the things I simply didn’t need, they were just infrastructure. This included rsync, the mail servers, and the directory service. Once I could give up the server, these services simply ceased to exist. It was the other stuff that was more challenging to push online. For instance, I had a collection of cron job scripts that would send email to me at specific times. These were reminders for things like “take out the trash” and “backup my documents” – all the sorts of things I’d forget otherwise. Lo and behold, there are at least two very good solutions to this: Yahoo! Calendar and Google Calendar. I went with the latter because it has a slick and intuitable interface, although the former is nice, too. This process of discovery continued for weeks. I found I could do everything on one web site or another. Oh, the joy I felt was immense. I could finally free myself of the burden of managing this machine. And it wasn’t just one machine, I had adopted a second computer to be the “staging” machine. After a really nasty update one day, it became clear that I needed a better process for managing upgrades. So now I’ve got not just one, but two computers, for which I have to find new homes.
Today I had a peculiar feeling: I had finally turned off the machines and I realized that I could no longer read the logwatch emails that I had grown accustomed to receiving every day. What was I going to do with myself if I couldn’t look forward to managing my server? Then I remembered that there’s plenty to do, and I’ve just freed up a chunk of time for me to do them. Which includes updating this blog more often.
In case you’re curious, I’m using Yahoo! for mail, Google for reminders, PassPack for password management, Google Docs for keeping documents and notes, RememberTheMilk for tracking tasks, Blogger for blogging, Tumblr for my tumble log, SourceForge for my coding projects, Picasa for sharing photos, and BingoDisk for online backups. Oh, and my favorite web site of all, del.icio.us, for managing my bookmarks and helping me find fun reading material.