Let He Who Has Never Compiled Untested Cast The First Stone

Tim Bray has a good post about “Test-Driven Heresy,” in which he admits failing to live up to the ideal of writing tests firsts and only writing enough code to pass a test.

I’m Catholic in my test-driven beliefs, which is to say that I am a terrible sinner, but I like to think that I can be forgiven if I just confess my lapses. They are many and varied and far out-strip my actual adherence to test-driven development. The spirit is strong, though.

Why is it so hard, even for believers, to keep things test-driven (or even test-in-the-passenger-seat-but-navigating)? Bray points out that when you’re writing prototype / spike code, it’s difficult to write tests because (a) part of prototyping is being wildly wrong in your expectations and (b) when the codebase is very small, the effort of separating concerns is relatively high.

I agree. To make sinning easier still, it is also the case that refactoring towards test-driven is difficult with large, “ball of mud” codebases (exactly the ones that would most benefit).

So there’s a “window” in which initiating test-driven development is relatively easy. Unfortunately, that window is not a very large part of a software code-base’s lifetime.


My first-gen iPhone seems to be falling apart…

In the past week, my first-gen iPhone seems to have decided that the time has come for me to move on to a new 3GS. First my Wi-Fi stopped working. Then I upgraded to 3.0. When I try to activate “Find my iPhone” it doesn’t work (but maybe that’s because I don’t have a built-in GPS). But now, it seems not to ring when I’m called (yes, I checked to make sure my ringer is turned on).

Big Island, Bad Politics

The Big Island of Hawaii is a single county whose spending is controlled by a 9-person county council. The problem is that our local government is ridiculously petty, with an “East side vs. West side” dynamic that flies in the face of the needs and sentiment of the people who live here. Additionally, our young state is still very much dominated by “machine” politics, with patronage, old boy networking, and back-room deal-making.

Yesterday, the worst of local politics played out, with a series of committee re-structuring resolutions that stripped power from the West-side council members. The follow-up to such a blatant power grab will undoubtedly be a return to the worst of us vs. them council decisions that favor the in-power districts over the other districts.

The winner-take-all mentality makes me reluctantly agree with those who think the only solution is to divide the island into two counties.


I promised Jon Galloway that I would send him some “geek acres” coffee. I thought I’d write a post about growing and processing coffee as a hobby…

Step 1: Live on the Big Island of Hawaii

Step 2: Have some coffee trees


Step 3: Pick the cherry by hand (better yet, have your wife do the picking):


Kona coffee has to be hand-picked, as our trees are a little more delicate than some and because the cherry comes ripe at different times. So you might visit the same tree three or four times over the course of a season.


Sadly-no-longer-possible-step: Transport the cherry from the trees to the house using a pack animal


(Oh what a beautiful dog she was…)

Step 3: Depulp the cherry


Step 4: Ferment the inner shell for 24 hours in order to remove the sticky mucilage


Step 5: Dry the seeds on window screens for several weeks until they become “parchment”


Step 6: Remove the parchment


6a — separate the chaff from the green by using a hair blower and a colander

Step 7: Program your coffee roaster using custom roasting curves perfected over the years

200906091413.jpg 200906091414.jpg

Step 8: Take a whiff…


And that’s how you can avoid paying $2 for a cup of coffee at Charbucks!