Yes, another weekend has come and gone without switching phoenyx.net to the new server. So it goes.
But there's progress. (Occasionally retrograde, if you've hit the server at the wrong time and seen the 500 errors. Oops.) In the course of re-validating the feeds to make sure I hadn't broken too much, I decided to get rid of some warnings by putting in the Content-Location header. While I was there, I added the "Vary: Accept" that explains it to savvy clients.
That is: you can request "blablablah.html" or "blablablah.atom" with a client that sends "Accept: */*" (i.e. "I don't care what format I get back"), and Wirebird will just Do The Right Thing. Or you can get all formal, and just request "blablablah" with, for instance: "Accept: text/html" or "Accept: application/atom+xml" and you'll get the format you wanted. (I hope.)
Go me! Next thing you know, I'll have etags and last-modifieds. And languages.
In internal news, I've phased out Wirebird::Page... Wirebird::RESTful now uses HTML::Template directly, and at the last possible minute (so when I get around to it, it will be easy to make templating modular for those crazy people who like TemplateToolkit and such). Wirebird::CGI will be the next victim, with most stuff handled by RESTful, and a possibly-renamed :CGI as a universal interface to handle Wirebird running as CGI, mod_perl, FastCGI, or whatever.

