dreadedmonkeygod . net

I Can Has Roomba

Retiring the Desktop

Retiring the Desktop

I retired my desktop computer over the weekend, leaving a wide open expanse of laminated fiberboard. Every time I look that direction now, it feels like I just moved in.

My two desktop computers will be stowed for a while, and eventually I'll pull the hard drives and recycle what I can. I might someday have a desktop workstation with a pair of large monitors, but only if I'm working from home frequently. For the foreseeable future, a laptop and my iPhone are where it's at.

Fixed.

I love it when I'm right. I ranted earlier today that the code changes I'd made shouldn't have anything to do with uploading images. I was right. They shouldn't. The bug was triggered precisely because they were connected when they shouldn't be. Some really old code in a JSP was trying to do something completely unnecessary, which caused the problem.

I deleted the unnecessary code, and all is well.

I'm still going to start building automated testing, though.

Bugs.

I should have known. I changed a lot of things to get performance where it is. (And I'm not done yet.) I thought I'd tested everything, but I forgot one important item: posting photos. Rats.

What's more, I don't know why I can't upload photos. I haven't touched the photo uploading system in ages. I didn't test it because it "shouldn't" be affected at all. But clearly it is.

I've done without automated testing until now because DMG really was pretty simple. But it's reached a level of complexity that leaves me between a rock and a hard place: I don't have time to test properly, but I can't accept breaking stuff.

Automated testing is the way around that dilemma. It will tell me in ten seconds what's broken, which means I can refactor zeal and abandon knowing that there are guardrails that will tell me when I've bulndered.

And I can add it as I have time. This week, I'll add automatic testing for the blog entry creation and editing system. Next week, I'll get around to the comment submission system. And in a few months, I'll have a testing mechanism that saves me huge ammounts of time and ensures that bugs rarely make it to production.

But tonight, it's first things first: create an automated test that catches the bug in photo uploads, then fix that bug.

It's time to plant the seeds of test-driven development.

JAIL

All these years later, I finally know what Tim was talking about...

older stuff