Doveryay, no proveryay

I don't often quote Ronald Reagan, but in this case, he's quoting an old Russian proverb, so I guess it's OK. Doveryay, no proveryay: trust, but verify. We're running a training session for the incoming Hippo students on Saturday. Two of the outgoing students spent some time last week installing the required software on the departmental machines, so this morning, I decided to give it a test drive.

Eclipse wouldn't run---bad permissions. Subversion wouldn't either---missing some shared libraries. And I'm still trying to get HSQLDB to play nicely on my Windows machine. The students who are helping me seem a little crestfallen, but I actually think we're doing pretty well. You always run into problems like this when you're trying to set up a shared development environment. Yesterday, for example, one of my co-workers at Hewlett-Packard and I spent an hour tracking down a problem in an Ant configuration file. Luddites would cite this as further proof that modern tools actually slow programmers down by hiding too much of what's Really Going On, but in my experience, a little configuration pain now and again repays itself many times over when you're actually programming.

But you have to verify. You should trust your software, but you have to verify that it is doing what you think it is. Human-readable configurations help, as do integrity-checking tools, logging tools, and all the other debugging aids that we usually don't take the time to put into the products we build. We've made a start on this in Hippo, but there's a lot more to do...