Shedding, TDD, Java, and keys.

Shedding · This is a technique described by Brian McCallister which cheats just a little on the meaning of HTTP’s 302 Moved to do load balancing with some useful server-affinity side-effects. In the comments, Sam Ruby points out that a little cheating is still cheating; but still, the notion is appealing.

Joel, Sigh · In Part I of his Yale speech, Joel Spolsky makes an excellent point: that Test-Driven Development can in principle be oblivious to issues of quality and “coolness” in the UI, which are obviously important to end-users. It’s worth thinking about; but most experts won’t, because Joel makes it unfortunately clear that he doesn’t actually understand TDD. Practitioners make no claim whatsoever that TDD “proves” a program is correct, or that a test suite constitutes a “complete” specification of the code it’s testing. Joel makes TDD sound more or less equivalent to the waterfall method, and the whole point is that it isn’t.

I’ve never heard a TDD advocate argue against functional testing or integration testing; but I have heard a few of ’em generally diss UI glitz and glamor and fit and finish. Which is a real problem.

Java, Sigh · Check out Michael Kölling’s Can Java be saved from death by feature bloat? (his argument illustrated in The Evolution of Java). I have decided, after three years, that it’s OK to hate generics, and I am increasingly drifting into the camp of people like Kölling, who think that the designers of the Java language should declare victory and just go home already.

The Java platform is still really interesting, and I have immense respect for the core design of the language. But Java 7 has the potential to be a Great Slither Backward if we’re not careful.

Apple Keyboard · The new Mac keyboard (the ultra-flat one) is just fab. I can go faster then with the previous version, and make less mistakes. Also, the previous versions had the keys embedded in a kind of a plastic cable, which I found filled up with crud and crumbs and so on; there’s no place for it to hide on the new model.

There’s a fly in the ointment; the USB sockets are on the ends of the keyboard, which is a problem for me since mine sits, with the mouse, on a dinky little tray hung under the desk; right-left space is precious.


Comment feed for ongoing:Comments feed

From: Sam (Dec 10 2007, at 15:20)

Maybe a 90° USB cable extender would help you out. Search for "90 degree usb cable".


From: len (Dec 10 2007, at 15:38)

I love it when Joel says things like that. It means my competitors who read such waste their time. I love it when they do that.

When I left my last job, there was a copy of his book prominently displayed with a sign indicating everyone should study it. AFAIK, no code has been released from that shop that lives on the street. When I got to this job, I found a copy of it stuck in a corner. I asked and was told, "that book almost ruined us."

Nine months later, we are releasing a project that was underscheduled, over promised and was said to be doomed.

How? RAD tools.

Among all the scree about this or that method, it turns out that RAD and CVS enabling us to build every day all day, works a whole lot better than all of the methods. I wonder how many people still work at the slow pace of compiling and assembling. Whereas we used to work in little groups or as individuals tinkering and coding until the schedule said we should check it all in and let the build guru do their bit with their pages of inscrutable scripts, how many of us do that now?


From: Aristotle Pagaltzis (Dec 10 2007, at 19:00)

Joel has a lot of… peculiar notions. He has worthwhile things to say when it comes to managing developers, but his opinions on technical or methodological matters are… errm… a bit quaint. Nor are they particularly consistent – whether at any particular moment, or over time. He has made U-turns in various and sundry of his positions (whether it be the usefulness of closures or of the build-a-better-mousetrap approach to success), and sometimes he preaches positions that he will not take himself (“hey guys, Ruby is *unproven* – btw, we wrote and use our own in-house language”). His recent “strategy letter” screed which posited that some Javascript library will rise and own the web the way Windows did the PC, by becoming The API Everyone Writes For, was downright embarrassing.

I read him anyway because he’s an excellent writer who is always entertaining, no matter how wrong he is. There’s something to be said for that, too.


From: Jerry (Dec 11 2007, at 04:11)

I've plugged my mouse in the left usb connector, put it on the right hand side and hide the cable under the keyboard. The remainder is just long enough for me to work really comfortable without having an excess length of cable lying around.


From: Mark Bernstein (Dec 11 2007, at 14:51)

Why is it a problem that a few TDD advocates disrespect UI glitz, glamour, fit, and finish?

TDD advocates may disrespect the Patriots too, if they choose; they're advocates of test-driven development, not New England football. Doesn't hurt anything.

I think you're right: Spolsky's simply gotten TDD mixed up with something else -- perhaps contract-driven design. But dissing glitz is a separate discussion, and I don't see why a TDD fan shouldn't diss glitz if she feels like it, why that would be letting down the side.

In fact, since TDD *does* encounter some real problems in testing or driving user interfaces, it's natural that people who are especially interested in problems NOT driven by interface will be drawn to TDD.


author · Dad · software · colophon · rights
picture of the day
December 10, 2007
· Technology (81 fragments)
· · Coding (98 more)
· · Java (123 more)
· · Web (388 more)

By .

I am an employee
of, but
the opinions expressed here
are my own, and no other party
necessarily agrees with them.

A full disclosure of my
professional interests is
on the author page.