热度 21
2011-11-10 14:20
1899 次阅读|
0 个评论
"The definition of insanity is doing the same thing over and over, and expecting different results." I have seen three unrelated references to this oh-so-clever quote these past few weeks. One time this was cited in relation to some political situation, once in the context of the economy, and the third time by a non-technical person about some new, fairly technical product's features. My frustration with this maxim is simply this: I don't think it's true. In fact, I believe it is often not the case. Many engineering advances have been made by trying the same actions repeatedly, until things finally "click". Often, you may be doing the same thing over and over, but some unknown underlying parameter is different or is affecting your results (noise, contamination, orientation), and does not become apparent—and therefore understood—until more detailed investigations are completed. Beyond this sort of innovation, much of the debug process consists of running the same over and over, while looking for different results in bit error rate, noise performance, subtle and intermittent bugs, transients, and other nasty problems. These can often only be seen or trapped by repeated, identical test runs which allow the rare, outlier problems to become visible. These problems are often at the extremes of the Gaussian curve, so to speak. There's also quantum physics to consider. Since the actions of the atomic and sub-atomic particles are guided by wave fun and probabilities, a single-shot test is not at all definitive. You have to run through millions of identical collisions to get a highly unlikely event to occur (hello, neutrino!). So with apologies (or maybe not) to Dr. Einstein, I say : sorry, but use of repetition followed by different expectations are not signs of insanity, but instead may be signs of diligent investigation in science and engineering. Have you ever had this experience—or frustration—in your work?