"Our greatest responsibility is to be good ancestors."

-Jonas Salk

Saturday, May 8, 2010

Harry, Read Me

by Michael Tobis

COLLEAGUE: Harry, I've had a look at your alpha version of the new suite, and so far it all looks right except...

HARRY: I'm still testing, you know... Don't use this stuff for publication yet!

COLLEAGUE: Calm down, Harry. I know what you mean by "alpha". Look, everything except the twelfth script looks good to me...

HARRY: But the twelfth?

COLLEAGUE: I'm not absolutely sure. These aren't numbers I could dismiss out of hand, but it looks a bit dodgy...

HARRY: Dodgy? How?

COLLEAGUE: You sure you haven't got a mercator bug? This all looks like it overweighs the polar values.

HARRY: It'll take me ten seconds to find out. I'll just run it again, like that, but here, after I've got the zonal averages, I'll put thirties in all the way except at the poles. Then the hemispheric average will have to be near enough thirty.

COLLEAGUE: Alrightee then, try it. I'll sort out what we should get. (Punching on pocket calculator.)

HARRY: (tap tappity tap tap, tap tap!) Voila! Oh hang on a second... (tappity tappity)

COLLEAGUE: You're documenting a piece of code you're deliberately breaking?

HARRY: Just a little bit, so I won't mistake it for production code. I er, I haven't set up the CVS on this thing yet.

COLLEAGUE: (bemused) The C V wot? Harry, we don't want you wasting your time on computer science nonsense until you get your work done! Still, I suppose the test model might get copied somewhere and cause some confusion. So comment away!

HARRY: (pausing, mildly exasperated) For the ninetieth time, please don't call this a model. You never know when a visitor from Hadley will be around to take offense! It's just analysis code.

(Tappity tap.)

I'm just commenting it for myself. It's not as if somebody's going to publish it on the iternet, after all!

COLLEAGUE: Ho ho ho! Imagine what those denier b****s would do with this if it were. Maybe you ought to write ten thousand words justifying this little test in case some bloke hacks into the server.

HARRY: (alarmed) Surely you're not serious??

COLLEAGUE: (bemused) Just joking. Carry on.

HARRY: Let's have a look then... Hang on a mo... (click. click. tappity tap.) It's twenty-eight point seven and sommat. Wot's that tell oos?

months later...

SOMEBODY WRONG ON THE INTERNET: Computer models were run with mid-run intervention!!! In England! By somebody who knows somebody in Virginia! Attorney General, Hell! Call out the damn cavalry!

Update: Apparently the word "alpha" appears in the real Harry Read Me as a reference to the late lamented DEC's relatively unlamented Alpha platform, not to alpha version software (see comments). This is a coincidence. I looked at this stuff just long enough to convince myself it was most likely completely innocent. I didn't study it in detail and to my recollection just made up the reference to "alpha" version software. The above is fiction and is only intended to offer the flavor of Harry's hack and the many similar hacks that any decent scientific programmer often does. The details are completely an invention of mine and are certainly wrong.

I don't have any reason for suggesting a mercator bug, for instance, had anything to do with the case in point. That's just an easy one to understand, where area average calculations on the globe are incorrectly done as if the latitude-longitude grid were regular. Putting artificial values in a postprocessing script would be a natural way to help track something like that down and identify the cleanest way to fix it.


Anonymous said...

For what it's worth: HARRY_READ_ME.txt was probably created on a Windows machine.

Anonymous said...

And by the way I thought "alpha" refers to the machine(s) which the experiments were run on.

Marion Delgado said...

The horror of modeling - the inability to understand test data - the deliberately-sabotaging extra bureaucracy - yep, that's our modern world, alright.

Anonymous said...

< "alpha" refers to the machine(s) which the experiments were run on.

The DEC Alpha, to be precise.