!+The Veteran Neophyte: A Feel for the Thing* Dave JohnsonA
WI used to think there was no room for mystery in the world of computers. I didn't thinkM
Uthere was any use for fudge factors or rules of thumb or hunches in the clean, exact,Y
Whermetically sealed bubble of logic we all spend so much time diddling and poking. Thate
Wstuff belongs to "real world" engineering, not software engineering, right? Software isq
Talways bounded and orderly, always understood completely from top to bottom, with no}
Ydangling ends, no frayed edges, and no baling wire and duct tape holding things together.
UThere's never a need for vague, hand-waving explanations of how it all works, because
we know how it works.
5That's what I used to think. I'm not so sure anymore.
QUltimately, of course, the operation of computers is deterministic and absolutely
Qpredictable. There's guaranteed to be a complete explanation for any event on theŸ
Wcomputer; the search for an answer will always find one. It's like playing Go Fish withÂ
Wa deck of cards that contains only threes -- "Got any threes?" "Yep." "Got any threes?"S"Yep." "Got any threes?" "Yep." The answer itself, of course, may be convoluted and[TOKEN:10]Vdifficult, and is often way too much trouble to actually track down ("Have you tried
Orebooting?"), but it's always there. The world inside computers has a definite,
)impermeable bottom, like a swimming pool.
YThe real world, on the other hand, is more like being out in the middle of the ocean: the
Wbottom is nowhere in sight, and in fact is so far away that it may as well not exist at
Vall. Trying to completely explain things in the real world is generally an exercise in
Sfutility, though one that humans seem to have a capacious appetite for (that's what
Pscience is all about, after all). The real world is so vast and complex that our
Rexplanations are never really complete. The answers always lead to more questions,
Rand the edges of our knowledge remain frayed and ragged and crumbling, even though
@the center may have a seemingly solid, well supported integrity.
XThe thing that got me thinking about all this is boomerangs. I've been learning to throw
Uboomerangs lately, and it's extremely satisfying -- and somehow endlessly novel -- to
Qthrow something away from yourself as hard as you can, and have it return several
Vseconds later, hovering gently down into your waiting hands like a bird coming home to
Troost. (Such a perfect flight, of course, is a rare thing for a novice like me. More
Woften, if the boomerang comes anywhere near me, it's slicing past at a frightening rate
Mof speed while I cringe, covering my head.) While I've been learning to throw
Sboomerangs, I've also been trying to watch myself learn to throw boomerangs -- sort
Mof meta-boomeranging -- and I noticed that a complete explanation of what was
Shappening was not only absent, but completely unnecessary: I don't need to know how
,boomerangs work to learn to throw them well.#
RBoomerang throwing is one of those real-world activities -- there are many of them/
O-- that are governed by rules of thumb, by approximation and estimation, and by;
V"feel." There are lots of variables involved in producing a good boomerang flight, andG
Wthey're all sort of woven together, interconnected and interdependent. The direction ofS
Vthe throw, the angle of the boomerang as it leaves your hand, the forward power of the_
Wthrow, and the amount of spin all contribute to the flight characteristics, but the wayk
Mthey combine and interact is complex and nonobvious. How's a poor, bewilderedw
/boomerang neophyte to make any sense of it all?
UWell, the only way to learn to throw boomerangs is to get yourself a decent boomerang
U(very important!), read a little about it or get a lesson from someone, and then