August was a bad month for me, programming wise.
The code I wrote for Mark [1] was broken. Or rather, it worked under ideal conditions, not The Real World™, and I forgot that TCP connections can stream as little as one byte of data per packet. Not normally an issue because of buffering, but the code I was writing was the buffer implementation (which is pretty much turned on its head in Seminole [2] due to the resource constraints in embedded systems).
Then there was the Graylist fiasco [3] (just today, the code I've written only works on some machines, on others it fails due to some UDP issue I'm missing). And led into the problems I had with mod_blog [4] and spending more time than I wanted to fixing those issues.
Sigh.
Hopefully September will be a better month programming wise.