Wednesday, January 25, 2006

Medical report

It is important, I think, to retain the capacity to be astonished by the obvious. For instance, I find it amazing to think that the buoyant force lifting up a balloon is simply due to the tiny difference in the ambient air pressure on the top and bottom. When I mention this fact to other physicists, they fall into two groups. One group says, "Yes, of course. So what?" The other group smiles and says, "Yes, I know. Isn't that weird?"

May I ever be counted among the second group. Still, I do understand the other point of view, and so I do anticipate that computer sophisticates will have a similar spectrum of reactions to this post. If you are in the "So what?" group, sorry to bother you. You may consider yourself free to entertain yourself elsewhere.

My Norton AntiVirus software just completed a system scan on my laptop last night. I have a Dell Inspiron 600m laptop, a couple of years old, running Windows XP Pro. Norton found nothing amiss, which was good. But what impressed me was the fact that Norton had to scan 371,477 files to give me my clean bill of health.

371,477 files!? Yes, I have installed many pieces of software. Yes, I keep several backup copies of various "works in progress", some of which have dozens of files in each. Yes, I've used my laptop to run some computer programs that produce reams of data. (For instance, take the N-body tree code that some students and I wrote to do simulations of galaxy collisions. It generates "frame" images that are later put together into animations. Way cool. A single run of this baby makes hundreds of frames, and I have saved the full output for a dozen or so different simulations.) I have installed security-related updates and Service Pack 2, so that probably adds a few files. And by golly, almost every time I need a driver, the system seems to have it already. Fonts? Too many, really. I have to scroll through an arm-length list to locate the handful that I actually use. I do have a couple of thousand digital photos, and something less than a thousand mp3 files, music and such. Also, I haven't cleared out the "temp" directory in a long time. So I do expect that I should have a lot of files.

Still, 371,477 distinct files does seem like an awfully big number. It isn't a problem, of course. My hard drive has a 40 GB capacity and I have well under 30 GB stored on it. The disk is nicely defragmented and (as we've seen) virus-free. Nevertheless, that number does strike me as ... excessive.

The most profound thing I've read in a while on the human use of computers is Neal Stephenson's In the Beginning Was the Command Line, a thin but wise book that can be read online here. Stephenson believes that the Windows operating system is plagued by cruft, a kind of irreversible accumulation of patches and fixes and old code and work-arounds that make the final product immensely complex and disturbingly unreliable. He would not be surprised that I am carrying around a dizzying menagerie of obscure files whose meaning and function I can scarcely guess at. Par for the course. What did I expect? If it bothers me, I should switch to Linux or something.

Stephenson's entire argument is too subtle to go into here, and I'm not sure I agree with all of it anyway. But we have crossed a line where the systems are too complicated to be fully understood, and therefore too complicated to be fully predicted. Somewhere, as you read this, several million computers are doing things that their users do not quite intend or expect. Over a million of these cases, by my personal estimate, involve users struggling with the various automatic features of Microsoft Word. This is an obvious fact that is nevertheless faintly disturbing to me.

Probably I am being too much of a reductionist in my thinking about computers. Things aren't so bad, in fact. My laptop is in good shape. My "Start" menu and my desktop are populated with icons and programs that I recognize and can mostly use. My own user files are in pretty good order -- I can usually find what I need without much fuss. The operating system, bless it, is able to handle nearly anything I can throw at it, without complaint. At the human level, the immense complexity is mostly hidden from view, becoming visible only in the flexibility of the system to do so many different kinds of tasks. And if this wonderful flexibility comes at the cost of an occasional unpredictability or a few (hundred) (thousand) mysterious extra files, maybe that's not so awful. My computer is still considerably less complicated than either of my cats, and I have a very satisfactory relationship with them, in part because I am not driving myself crazy trying to figure exactly why they do what they do. (How many files, I wonder, are on their "hard drives"?)

Which reminds me to mention that one of my cats just spent the night at the vet's. She has become diabetic, and we are attempting to figure out how to control this with insulin. We've been giving her twice-daily shots for the last couple of weeks, and this has improved things. She's put back on more than a pound and half of weight in that time. But when we've gone in to have her blood sugar checked, it is still way too high, many times normal. So we left her there yesterday morning, poor thing, so that her blood sugar could be measured hour by hour, to help us figure out just what is going on. (It appears to my physicist's eye that we may have been driving her system in a period two orbit, so that the blood sugar level is low in the evening and high in the morning, even though we inject her twice per day. From this I conclude that my cat is a nonlinear dynamical system near the threshold of chaos. Well, duh.)

I'm happy to do what's needed to help my cat, who is very dear to me, and of course I know that medical conditions are occasionally complex. Our vet (who is a bit of a nerd, and loves to explain everything, especially when he explains it to some fellow nerds) says that diabetes is one of the trickiest diseases they learned about in vet school. You manage it rather than cure it, and some of the responses of the body's systems are idiosyncratic and unpredictable. So we're trying things and gathering data and doing our best to find out how to make the cat as healthy and comfortable as possible.

How long, I wonder, before computer problems are no longer comprehensible at the fundamental level, but are simply diagnosed with high-level abstractions like "digital diabetes"? How long before I'm nursing along my laptop with twice-daily injections of digital insulin, adjusting the timing and the dose, fiddling with diet and so forth, trying to figure out how to stabilize its operations, not really comprehending (or even expecting to comprehend, ever) the details of the problem? Poor thing, I'll say. It isn't feeling well at all, no it isn't.


Anonymous Anonymous said...

I met an Intel engineer, once, who was working on the design of the Pentium chip. He told me that there's a lot of ways in which no-one actually understands the chip: even the people working on it at a "high level" don't have a very good broad overview of more than a small fraction of the chip. Instead, it's something that is (we hope) collectively understood by a group of several hundred or thousand people at Intel, and Intel has all sorts of interesting institutional structures in place to make sure it all works. Amazing stuff, in my opinion.

(Apologies to any readers I've told this story to before.)

Michael Nielsen

2:40 PM  
Anonymous Robin said...

One of the things -- though by no means the only thing -- that distinguishes cats from computer chips is that the latter are rather more standardized. My computer has a chip that is functionally identical to yours [1]. I mean identical even in its failure modes, which is important. Because (a) it's digital, and (b) the factory has error correction procedures [2], the hardware is standardized.

This makes the Intel engineer's job easier than the vet's, even if nobody fully understands the chip. At least it's possible to fully understand the chip, even if it takes eight hundred engineers. A cat, on the other hand [3] is an element of a large stochastic ensemble (well, from the vet's point of view, at least!). This implies that if it takes 1000 engineers to understand your cat, it's probably not going to happen.

An amusing corollary is that Pentiums have almost zero genetic diversity, which means they wouldn't evolve very well -- at all, really. Which implies a rather nice statistical test for the Discover Institute: a [stable] population without genetic diversity is a candidate for having been designed...

-Robin B-K

[1] Never mind I'm on a Mac...

[2] It still blows my mind that CPUs don't make use of error correction on chip. Memory, yes. Assembly lines, yes. But in classical computing, operation error correction is apparently irrelevant. Redundancy hath many benefits.

[3] Alice? 'Sinki? or am I out of date?

3:33 PM  
Blogger Ben said...

Michael: Large highly integrated technology projects like microprocessor design are terrific examples of "collective expertise" greater than any individual's understanding. These are highly organized examples, of course. Conservative political philosophers from Burke to Hayek argued that a similar, less structured collective expertise is present in the institutions of a healthy society, which we damage at our peril.

Robin: Alice is the cat I mean. Our first inkling that something was wrong was that Alice -- who has always been an ellipsoidal cat of very low eccentricity -- was suddenly the skinny one.

Microprocessors are pretty standardized -- but the data and software are much less so. That's where the weird stuff happens.

Be careful what you ask for on behalf of the Discovery Institute. Cheetahs as a species have almost zero genetic diversity. This is actually rather hard to account for; the leading theory is that the population collapsed to a tiny number (<10 individuals) within the last few millenia -- a serious "genetic bottleneck" in other words. Human diversity is also pretty low by comparison to other widespread species, and some think that we went through a near-extinction, perhaps associated with the eruption of the Toba supervolcano 73,000 years ago.

4:32 PM  
Anonymous Robin said...

Concerning "Be careful what you ask for on behalf of the Discovery Institute. Cheetahs as a species have almost zero genetic diversity...".

Interesting. It would seem, then, that if you want to claim design, then you could do worse than asserting that cheetahs were designed. It might be harder to disprove.

Now, I'm not saying that I think cheetahs were designed. It's more that a species with high genetic diversity is almost provably not designed. I'm assuming that the Designer was trying to make life easier for the Maintainer and the SysAdmin, here...

Of course, this is all a bit trivial, because I'm latching onto a largely irrelevant concept of "species". Cheetahs are, presumably, closely correlated (genetically) with a larger genus -- which therefore has high genetic diversity. Perhaps the best way to put it is that if it were all Designed, identifying species would be a heck of a lot easier... much like identifying the genus of a Pentium.

9:33 PM  

Post a Comment

<< Home