March 19, 2006 at 9:06PM CesarFTP Argly Bollocky!
The FTP server running on this machine is CesarFTP. CesarFTP is a piece of crap. For the past three days, it’s done nothing other than blink at me and reply Connection limit reached, you’re disconnected. Three days. You’d think by then it would have realised that all these dangling connections that have been sitting there doing nothing for three days should be, I dunno, cleaned up?
It was St. Patrick’s weekend, and I’d intended on taking photos of the village parade and uploading them here, uploading ElementNode, and upgrading a couple of things on the site that suck. But no, I can’t.
Yup, first free weekend I get and I can’t do a bloody thing.
Oh, well. I guess at least posting this up is a chance to test the one thing I did manage to get uploaded before the FTP server decided to die: conditional GET on my weblog feed, which might save a wee bit of bandwidth.
Double Bugger!
Joy of joys! When I updated the weblog code, I stupidly forgot one little detail about how the syndication code worked. Up until a few weeks back, each time I posted or updated an entry, the syndication code would be called to delete the cached feed. It didn’t really know anything about conditional GETs, but I figured at the time that given how little I’d probably be generating the thing, and how time-consuming the old frontpage SQL statement was, it was best if I deferred feed generation until somebody eventually fetched it.
But I eventually copped on that it was a false economy, that the complex fetch-me-the-real-last-seven-days-of-entries SQL statement was overkill, and that the way I was doing things, I was getting all the disadvantages of baking my feed with all the disadvantages of frying it. So I decided just to fry it, and ripped out a whole bunch of now pointless code.
Including the bit that checked if the feed was meant to be deleted.
So now, the first time I’ve posted since I uploaded that code, I find the problem. It’s still calling the syndication code, but now with the conditional statement seperating the feed deletion and feed generation code gone.
Kaboom! Each time I post, it tries to write the feed to HTTP response.
This would never have happened if I’d left stupid optimisation like my lazy feed generation till I needed to optimise feed generation.
There’s a lesson in there.
Update: Woohoo! Peter’s got replaced CesarFTP with the utterly sexy FileZilla Server. Cheers, buddy! You’re a lifesaver! All fixes uploaded.
No comments.