As a side note, I encountered a bug in the Arduino Ethernet libraries when coding this whereby the Ethernet shield would hang after the first connection attempt. The solution is documented over in this thread on the Arduino forums.

In order the provide more functionality the Arduino no longer tweets directly to twitter.com - it instead talks to a script on nermal.net which handles the generation of the tweet messages, as well as things like updating the live status page and logging of events for statistics.