Uh-uh, dude

Just got hit by a poorly-behaved bot, apparently something to do with this, which I’ve banned outright. Let’s look at what it did wrong to deserve this:

  • It doesn’t have a User-Agent string.
  • It doesn’t send a valid Accepts header (it was trying to retrieve an RSS file and got HTML).
  • It doesn’t recognize <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN” “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>, instead attempting to parse it like a link.
  • It doesn’t attempt to throttle its requests or recognize duplicates or errors, making over 30 requests in 8 seconds to 6 URLs, only two of which are valid at all or referred to in links from the files it did retrieve.

MT file handling

I’ve been playing with Movable Type for a few weeks, trying to figure out how to associate uploaded files with individual posts, or even just an automatic way to place new files in a templated directory, and it doesn’t seem to be possible. The main problem appears to be that MT doesn’t really do files: the model is what I call accept and forget, which means it doesn’t care if you accidentally overwrite picture1.jpg uploaded two months ago with picture1.jpg taken today.

I suppose the reason I’m disappointed is partly because I’ve been thinking of MT as a content-management system, when all it is, really, is a weblogging tool–a very capable and flexible one, granted, but still just a tool. Given that Six Apart distribute it, uncrippled, for free, I hardly have a basis for complaining. It will be interesting to see if Movable Type Pro handles this any better, although based on Six Apart’s press about TypePad (features of which will be backported to MT Pro) I suspect it won’t.

Maybe I’ll need to take Tim Bray‘s advice after all: If you’re a programmer and you have a blog… buckle down and write the code yourself.