When I think of formal scientific method an image sometimes comes to mind of an enormous juggernaut, a huge bulldozer...slow, tedious lumbering, laborious, but invincible. It takes twice as long, five times as long, maybe a dozen times as long as informal mechanic's techniques, but you know in the end you're going to get it. There's no fault isolation problem in motorcycle maintenance that can stand up to it. When you've hit a really tough one, tried everything, racked your brain and nothing works, and you know that this time Nature has really decided to be difficult, you say, ``Okay, Nature, that's the end of the nice guy,'' and you crank up the formal scientific method.That's where I was at with regard to Technorati's performance. Things were too unpredictable, and I couldn't figure out why there were problems - only that a problem did indeed exist. So, I broke out the scientific method. The first thing I did was to state the problem and to start observing.
For this you keep a lab notebook. Everything gets written down, formally, so that you know at all times where you are, where you've been, where you're going and where you want to get. In scientific work and electronics technology this is necessary because otherwise the problems get so complex you get lost in them and confused and forget what you know and what you don't know and have to give up. In cycle maintenance things are not that involved, but when confusion starts it's a good idea to hold it down by making everything formal and exact. Sometimes just the act of writing down the problems straightens out your head as to what they really are.
The logical statements entered into the notebook are broken down into six categories: (1) statement of the problem, (2) hypotheses as to the cause of the problem, (3) experiments designed to test each hypothesis, (4) predicted results of the experiments, (5) observed results of the experiments and (6) conclusions from the results of the experiments. This is not different from the formal arrangement of many college and high-school lab notebooks but the purpose here is no longer just busywork. The purpose now is precise guidance of thoughts that will fail if they are not accurate.
The real purpose of scientific method is to make sure Nature hasn't misled you into thinking you know something you don't actually know. There's not a mechanic or scientist or technician alive who hasn't suffered from that one so much that he's not instinctively on guard. That's the main reason why so much scientific and mechanical information sounds so dull and so cautious. If you get careless or go romanticizing scientific information, giving it a flourish here and there, Nature will soon make a complete fool out of you. It does it often enough anyway even when you don't give it opportunities. One must be extremely careful and rigidly logical when dealing with Nature: one logical slip and an entire scientific edifice comes tumbling down. One false deduction about the machine and you can get hung up indefinitely.
Great article, thanks for taking the time to document your efforts. And, glad to hear of the performance increase! :-)
Posted by: john at March 16, 2003 4:36 AMI really like "aha!"s like that
Posted by: Mikel Maron at March 17, 2003 2:01 PMHow did you tell MySQL to ignore the wildcards? I think you just solved one of my pesky blogrolling problems ;-)
Posted by: Jason D- at March 17, 2003 3:32 PMHeh. Basically, I did a regex search looking for underscores and percent marks, and them made sure to escape them with a single backslash.
HTH!
Dave
Posted by: David Sifry at March 17, 2003 4:26 PMNice work. I just kicked myself this morning for calling the telephone repair guy regarding something I surely could have figured out with more patience. Of course, I still haven't resolved why the police came to my house twice responding to 911 calls when the phone service was totally dead. Excuse me while I go figure.
Posted by: Peter at March 17, 2003 9:08 PMNice work. I just kicked myself this morning for calling the telephone repair guy regarding something I surely could have figured out with more patience. Of course, I still haven't resolved why the police came to my house twice responding to 911 calls when the phone service was totally dead. Excuse me while I go figure.
Posted by: Peter at March 17, 2003 9:08 PMPirsig has a 10 page section, somewhere around pg 95 if I recall correctly (I am doing this from 20 year old memory), that has one of the best descriptions of the scientific method and of debugging that I have ever read. I assume your quote comes from somewhere in that section.
My old Geology professor, Bruce Simonson, used to hand out those 10 pages at the beginning of the semester in every class he taught. I remember it supposedly talking about how to find what is causing a problem with a motorcycle, but it talking about a lot more.
Thanks for the memory flashback.
Posted by: Tim at March 18, 2003 1:00 AMVery interesting article, David.
Usually when I finally fix a tough bug, I don't have the patience to sit down and analyze the process I went through to fix it. I see now that doing that can be very beneficial, not only to me but to others as well.
I'm also going to run out and buy "Zen and the Art of Motorcycle Maintenance"!
Posted by: SkipK at March 18, 2003 12:39 PM| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |