Saturday, February 10, 2018

Accuracy

Among the many competitive activities that I pursued just enough to get sort of good before deciding it wasn't for me was Chess. I like playing Chess. I like studying Chess. In 1995, I was literally the median Tournament Player in the US (along with a bunch of other folks who had the same rating as I). But, I knew I'd never be an expert, much less a master.

It wasn't that I didn't think I could put in the effort or that the concepts were too hard for me. Those were both open questions, but I was willing to give myself the benefit of the doubt. What I knew I couldn't do was play accurately.

In Chess, accurate play basically means not missing the obvious stuff. Leaving a piece unprotected, making moves in the wrong order, failing to see appropriate counter-moves. These errors will kill the best laid plans. The reason I knew I'd never get beyond such mistakes is because such mistakes characterize my efforts in everything I do.

One of the reasons I'm fairly good at computer programming is that the computer is fairly good at telling me when I've messed something up. Modern development environments are pretty good at flagging not only syntax errors, but also uninitialized variables, name clashes, parameter mismatches, and other semantic errors. I can pretty much charge ahead and let the editor tell me when I've just done something stupid and fix it.

It wasn't always like that. I started programming in 1977 punching FORTRAN statements onto Hollerith cards. Every miskey meant leafing through the card deck to find the offending card, retyping it, inserting the new card into the deck and resubmitting the program. It took me a long time to get stuff done. The next year, my dad asked me to write some code for his labs and I got to use a terminal directly attached to a PDP-8. Correcting errors became a process of seconds rather than minutes. Suddenly, I could get things to work quickly (at least by the standards of the day).

I could blame it on being dyslexic or left handed, but the truth is that I just don't particularly like being careful. Sure, I mess up the details a lot. It doesn't seem to matter. I just fix 'em and everybody's happy.

However, there are some things, like deriving the covariance of block sums from a finite sample, that require accurate computation. The fact that I have to do it about 10 times before getting it right is really slowing this paper down. As with Chess, I doubt I'll be able to fix that. I just need to expect every one of these formulas to take a lot of time. And, of course, I need to do a LOT of re-checking my work.

No comments:

Post a Comment