Friday, January 18, 2008

Laziness vs. Efficiency

Transterrestial Musings makes the point that a lot of people think Fred Thompson is lazy:
I have often been accused of being "lazy." Even by people who I know and love. Even, on occasion, by myself.
But what was the basis for the accusation?
Apparently, that I am not continually busy. That I often indulge in the very effective technique of "management by procrastination." That I often do what needs to be done without breaking a sweat, and while waiting until the last minute to do it.
Once, in college (in the dark ages prior to word processors), I wrote a term paper, that I had known was due for many weeks, due the next day at the end of the semester, in an all-nighter, on a manual typewriter, with no notes, no citations, no...nothing. I had just been thinking about the subject for weeks, and the night before it was due, I sat down, and knocked out a twelve-page typewritten paper, with minor erasures, in a night. I got an A minus.
So I have mixed feelings when I hear that Fred Thompson is "lazy."
Now, I don't think that Fred Thompson is lazy. I just think that, despite the southern drawl, which many (mistakenly, as anyone who has worked with smart NASA employees and contractors in Houston, Huntsville and the Cape would know) think is a mark of a slow mentality, that he works smart, and cheap. Robert Heinlein once wrote that: "Progress is made by lazy men looking for easier ways to do things."
I believe that.
I don't want a president, or a presidential candidate, who is frenetically scurrying around, appearing to be doing something, particularly two years before the swearing in. If he's really a conservative (as he claims to be, though I'm not necessarily), I'm perfectly happy with a president who, when demanded to do something, just stands there. And as a libertarian, opposed to big government, I'm happy to have a president who will think before acting, and who believes that the first instinct should not be to pass yet another federal law.
You may recall the famous Ronald Reagan quote, "Sometimes the best thing that government can do is nothing at all." Many years ago, I hired an engineer named Eric who turned out to be extremely effective at what he did. He explained that he was good at what he did because he was lazy--always looking for a way to do something with the least effort. Let me give you a couple of examples.

1. Everyone who uses Unix or one of its progeny knows this now, but in the early 1980s, this was not common knowledge yet. We all used emacs as a program editor--and on the VAX that we used back then, it took literally a few seconds for emacs to load all of its initialization files, and get ready for you to edit. Eric figured out something that none of us knew--that you could hit one control character in emacs, and put it in background mode, drop back to the shell, do what you needed, and then resume running emacs with the fg command. It doesn't sound like much, but starting up emacs from scratch a few hundred times a day per engineer really added up!

2. The project that I was leading was all written in C. I'm not sure how many lines my team wrote, but it was easily above 100,000 lines--a windowing user interface for a rather specialized piece of equipment that ran on a Sun workstation or a VAX (both running variants of BSD Unix) or a PC running MSDOS in text mode. (This was a long time ago.) We knew that we had subroutines that were no longer in use, and the tools to find which subroutines those were just didn't exist. We could have gone through and removed each subroutine, one at a time, to see if it would still compile and link--but it would have taken days, if not weeks, and it would have been tedious labor--but Eric had a better idea.

Because I had early on created a very demanding set of standards for subroutine names, headers describing the subroutines, function and variable names, Eric was able to write a script that went through all of our source code, turning off each subroutine, and then trying to rebuild the complete system. He started it up over the long Christmas weekend--and when we came back, we had a complete list of unused functions. We still had a little bit of verification to do (sometimes a function was called in the MSDOS version, but not the Unix version, and some functions were called by other dead functions), but what would have been a long and tedious process turned into a few hours of somewhat more interesting work. Definitely a lazy man's way of doing things!

No comments:

Post a Comment