Coming out of the closet

Volume 8, Issue 43; 25 Mar 2005; last modified 08 Oct 2010

Literally, I mean, not figuratively. If you can read this, the DNS has been updated and you're no longer pulling these bits off the little box in the closet in my office.

It finally came, the day I was worried about from the very beginning: the day that it became impractical to run this site on a box in my closet. The problem was severely exacerbated a couple of weeks ago when I switched to using a voice-over-IP phone for work.

I get nearly 3Mb/s for downloads, but my cable company limits upload speeds to 256kb/s in order to discourage people from, well honestly, from doing exactly what I've been doing. And it's pretty easy to saturate that upload link. The practical upshot is that I can hear just fine on the phone, but I can't talk. Well, I can talk, of course, but no one can hear me.

The fix is moving things out of my closet, so docbook.org has moved to http://www.ibiblio.org/ (a huge shout of thanks and praise to those folks!) and norman.walsh.name has moved to http://www.dreamhost.com/. The wiki.docbook.org and travelloft.biz sites are going to move over to Dreamhost as well, eventually.

Moving a site as complex as this one was an interesting challenge. The hardest part was dealing with Perl. And that was a in large measure because of a bug in the Perl build process. Dreamhost runs Debian “stable” so they've only got Perl 5.6. Unfortunately, if you're going to do anything with Unicode, like write CGI scripts that deal with XML for example, you need Perl 5.8.

What I thought would be a ten minute walk in the park turned into a several day head scratcher that was eventually solved by “rindolf” on #perl. The problem is that my home directory on the Dreamhost shell machine is /home/.salk/ndw (/home/ndw is just a symlink) and if you try to build Perl 5.8 on a path that contains a dot, it gets confused. Building it in /tmp and installing it under /home/ndw worked just fine.

With Perl 5.8 available, it was a relatively small matter to update all the CGI scripts. Though I've tested everything I could think of, if you find you're having trouble with something, it's possible I bungled one of the updates, so please let me know.

The other hard parts were dealing content negotiation and with the fact that I can no longer put ScriptAlias or RewriteRules in httpd.conf so I had to figure out how to build appropriate .htaccess files all over the place.

Those two things turn out to be not unrelated because without content negotiation to serve “foo.html” when “foo” is requested, I'm having to use rewrite rules to accomplish the task. It's a bit of a hack and I'm sortof hoping I'll be able to persuade the Dreamhost folks to load Apache mod_negotiation.

In short, this site shouldn't be down all day anymore, as it has been for the past week or so, a lot of things have changed, and everything is supposed to be the same. If you notice something wrong, please let me know!