I Sing the Body Electric

I fundamentally distrust technology. I can already hear you sputtering your dissent, but bear with me for a moment, and I will explain. I’m not anti-scientific, and I do not believe that technology is intrinsically “wrong,” on either moral or ethical grounds. True, there are times when I get the urge to smash up computers with a nine-pound sledge, but that is much more a specific reaction to certain computers, rather than a general hatred. Besides that, almost everyone who has to interact with a computer on a regular basis gets this urge at certain times, so any conclusions you may draw from this should not be ascribed solely to me. I am not a Luddite.

My distrust of technology arises from how it is applied, rather than its essential nature.* For example, I think that plastics are really cool, and I’m glad we discovered how to make them; however, I detest the fact that so many goods today are shrink-wrapped in a useless shell of made-to-fit polymer that will essentially never biodegrade, but which is inevitably too flimsy and specialized to be re-used for any other purpose. Similarly, I think it’s wonderful that we can manufacture powerful, general-purpose electronic computers, with the capacity to perform millions of arithmetic operations per second; but it disturbs me greatly that we put so much faith in these machines as keepers of records, arbiters of conflict, and makers of decisions. Computers, in particular, are very simple devices.** Their complexity comes from the fact that they do their simple tasks with enormous rapidity. But a computer is to arithmetic what a sewing-machine is to stitch-work: It is no more than an elegant electromechanical device that performs simple, repetitive work.

Unfortunately, many people seem to have the idea that computers can think. I do not think this belief is a conscious one, at least not for the majority of citizens of the modern industrialized world in which electronic computers are commonplace. If you walked up to the average citizen of the United States, and asked, “Can your computer think?” they would almost certainly answer “no”, unless their home computer happens to run Microsoft Windows, which displays a disturbingly life-like malice towards its users. Most people are aware, at least intellectually, that a computer can “only do what it is told to do,” a conventional wisdom captured in the poem my high school Geometry teacher kept posted on the wall of his classroom:

My God! I hate this damned machine;
I wish that they would sell it.
It won’t do what I want it to,
But only what I tell it.

It’s just an amusing bit of doggerel — but I think it reveals a more subtle unconscious feeling people seem to share, that computers really do have minds of their own, at least in some fashion. The sheer perversity with which computers foil our attempts to get things done, whether it be a task as simple as writing a letter home, or as complicated as approximating the solution to a partial differential equation, causes a deep suspicion in the people who use them with any regularity, that the machine is doing it on purpose.


* One could make the case that the Luddites didn’t hate technology in general, either. The earliest followers of Ned Ludd were not opposed to technology in general, but were angered over the displacement of skilled labour caused by the introduction of steam-powered programmable looms.

The modern connotations of the word “Luddite” seem to stem from the more violent conflicts which occurred after 1812, when hungry displaced croppers — their wrath escalated by the passage of the Frame Breaking Act, which made destruction of machinery into a capital offence — rioted, attacked mills, burned a mill-owner’s house, and looted for food. The movement was eventually put down after a number of the Luddites were transported to Australia, and others executed, for their actions. By 1817, Luddism had died out almost completely.

** Actually, the word computer used to be a job title, rather than a description of a machine. Early computing machines were called “mechanical computers,” or “electronic computers,” to distinguish them from the banks of sharp-eyed young men and women who used to be employed as computers, doing the tabulations, summations, and cross-checks now seen as the busy-work of electronic machines.

Part of this feeling probably stems from the fact that we rarely ever instruct a computer directly — modern microcomputers speak, natively, a Baroque language of binary digits, zeroes and ones, that is all but gibberish to most of us. Even experienced programmers generally do not “speak” the Spartan binary language of the machine directly; someone writes just enough of it to teach the computer some table manners, so to speak, and the rest of us use those instructions as we use plates and utensils, to keep everything neat and trim at the table. The language most programmers use to instruct the computer is like dinner-table conversation — it’s polite and carefully restricted, so as to cut down on embarrassment and confusion. You can say things more easily in the blunt, low dialect of the machine, but it’s coarse and tedious to work with, and using it incorrectly can cause many of the same problems as glass-breaking flatulence at a State dinner.

Whatever the reason, we seem to ascribe much more intention and volition to a computer than it actually possesses. True, a computer which is acting out the wishes of a human programmer is, in some sense, acting out “intelligent” behaviour. But its intelligence is limited to what the programmer can put into a simple finite table of rules, and will be followed blindly without adaptation. The great mathematician Alan Turing, among others, raised the question of whether a computer with a big enough table of rules could faithfully simulate what we think of as human intelligence. I don’t know the answer, but I can state with certainty that nobody — to date — has come up with a computer program that even comes close to simulating the intelligence of a human. Even simulating an ant turns out to be a pretty tricky problem. So, for the moment, at least, I think we can safely assert that computers cannot “think”.

Nevertheless, for certain kinds of problems, computers can do a pretty credible imitation of “thinking”. For instance, even though I knew it was just a machine running a program, watching Deep Blue beat Garry Kasparov at chess was more than enough to make the hairs on the back of my neck stand up. I’m not an expert chess player by any means, but some of the moves the computer made were profoundly cunning and insightful. Even knowing that their beauty was lost on the machine — except possibly in the outcome of a static board evaluation function — I could not keep from feeling that this machine was working a kind of black magic. (Unlike some people, however, I don’t really think the hand of the Devil is at work among the programmers at IBM. Like most modern people, I know that he resides in Redmond, WA, or perhaps Belleview).

Ultimately, I think our excessive faith in technology — and particularly in computers — arises because most people do not have a clear idea just how abstract a computer’s world is. When humans want to solve a real problem, we just think about a solution, and try to find a sequence of actions that take us from where we are (the problem) to where we want to be (the solution). Usually we don’t even think about it that abstractly — but that’s more or less the mental model we have:

problem --> solution

Trouble is, the kinds of actions we can take in the real world are complicated, and often they’re irreversible (“Why don’t you just tap it gently with a hammer?” CRASH!). So, unless there is only one clear path to the solution, we generally like to consider our options a bit. This is where the computer comes in: If we can find a way to get a machine to “consider” all the possible solutions, sometimes we can have it figure out which one is “best”, based on our rules.

To do that, we need to come up with a mathematical model of the problem, which abstracts away the details we don’t want to worry about (“Ignore the fact that the porcelain is dusty.”), so we only need to concern ourselves with logical matters. In other words, we want a mathematical model that describes the original problem with sufficient fidelity that, if we apply logical actions, we eventually get to a mathematical model of a good solution:

initial model --> solution model

So even before we’ve brought the computer into the equation, we have to decide how to model a problem mathematically, and how to extrapolate a real solution from a logical one, so that the solutions we get by manipulating logic preserve our practical understanding of how the world works. If we get it right, the logical rules of inference we use will not allow us to draw any conclusions that are stupid or unsensible when applied to the concrete world we’ve abstracted away:

Modelling and extrapolation

To complicate the situation even further, computers do not work with mathematical abstractions directly. A computer, like an abacus, manipulates digits, not ideas. Instead of logical rules of inference, the computer has operational rules of computation, that govern how its digits are combined, changed, and moved around within the machine (and, yes, the digits in a computer do physically move, even in an electronic computer — only their movements are far too small to be seen):

initial binary --> solution binary

In order to get a computer to work with a mathematical abstraction, we have to find a way to “encode” the initial conditions with a pattern of binary digits (i.e., the aforementioned zeroes and ones). Then, we need to make sure the rules of computation we built into the computer have an effect on the digits that is exactly analogous to the effect the rules of inference have on the corresponding logical model. In other words, it’s not enough that we can encode models as a bunch of bits — we also need to be able to “decode” a bunch of bits, so we can see what model they represent:

Encoding and decoding

In short, before we can even begin to think about solving a problem using a computer, we have to do some pretty serious mental gymnastics in order to convert our problem from a concrete idea about the real world, into a mathematical abstraction, and from there into a bunch of bits the computer can work with:

Modelling tower

But, hold on, we’re not out of the woods yet. Because, you see, rules of inference and rules of computation can be defined precisely, using mathematical notations, and their equivalence can be proven, relative to a formal logic of your choosing. In other words, it’s not too hard to show that if you encode a model, apply the appropriate rules of computation to the resulting bits, and then decode the bits to get another model, you wind up in the same place as if you had directly applied the corresponding rules of inference — by hand — to the original model. The thing you saved by doing the extra encoding and decoding was the work of doing it out manually. Unfortunately, it’s not so easy to prove anything about the modelling and extrapolation steps we used to convert the real problem into a mathematical model in the first place. A “real problem” isn’t a mathematical object we can push around; it’s a collection of circumstances and observations, filtered by the vagaries of human perception, interpretation, and experience. So, actually, when we construct a so-called “model”, we are making some pretty enormous assumptions:

Massive assumptions

Even if we knew that our “encoding” and “decoding” rules were really good, and we proved that our computation and inference rules are equivalent, whether or not the computer’s answer to our question is any damned good depends completely upon how faithful our modelling and extrapolation are to the real world. You can’t prove equivalence between the model and the real world, the way you can between mathematical objects and blobs of data. What’s worse, even if we assume the mathematical model is really good, you might get a bad answer if you specify the initial conditions incorrectly. You know the old saying: Garbage in, garbage out.

So, does that mean computers are useless, and we should simply stop using them? Well, no — it doesn’t mean that. But it does imply that we should always have a healthy respect for the strong possibility of human error that occurs when translating real-world problems into abstract problems for the computer to solve. Even if computers did not make mistakes (and they do), it’s a terrible idea to assume, just because a computer gives you a particular solution, that it must somehow be “more correct” than one you get from a human. It’s possible to trust the technology too much; and malicious people with access to a computer can manipulate that trust to rob you, slander you, or embarrass you.

What I’m advocating isn’t fear, or Luddism, but rather a healthy, self-aware skepticism. Don’t take technological solutions at face value. Ask for explanations, and demand proof that the technology works. Insist on understanding something about how the technology operates before you adopt it, rather than simply assuming it is “too technical for me to ever understand it,” but using it anyway. Resist the impulse to grab a high-tech solution, unless you can argue that it really does have some benefits over a simpler one. You don’t have to drive a horse and buggy to work, but you also shouldn’t jump on every technological bandwagon that comes along the pike.

So, yes — I’m distrustful of technology. But I think my distrust is a healthy reaction, rather than a pathology. After all, I’m using a computer to write this — how bad could I really be?

A Thumping Tale

Practically every morning, a little after I wake up, I hear a slow, irregular but recurrent tapping on the glass door leading out to the porch behind the house. It’s not a regular tap, like somebody tentatively knocking, but an odd, aperiodic thunk. The first time it happened, I thought it was somebody who had come knocking at the front door, got impatient, and came around to peer into my living room. This happens now and again — I’ve been meaning to put a trap door in the porch to prevent it, but it’s a rare enough occurrence that I haven’t been that motivated yet. Anyway, it didn’t take me very long to figure out that it wasn’t a human visitor, just a spring robin, mistaking the reflection in the glass for an entrance to a new forest, and rapping his beak on it attempting to get through.

Mr. Redbreast has been doing this for a couple months now, during which time he has gone from being a slim young bachelor into a well-fed, broad-chested adult who has quite obviously gotten up early enough to eat plenty of morning worms. I’m sure the daily head-butting he gives my door hasn’t helped his intelligence any, but that doesn’t seem to slow him down one bit.* The interesting thing, though, is that if I scare him away — which I usually do by tapping on the glass, putting my hand flat upon it, or even just making a loud noise — he clearly knows which way to fly. He leaps into the air without a moment’s hesitation and flies straight to the maple tree along the river bank, which I suspect he considers home base, just like a kid playing tag.

* I suspect maybe there is a take-home lesson for humans, here.

Watching him do this, I’ve invented my own little story to explain this odd behaviour.

Robin lived in the crook of a tall old maple at the edge of the forest, beside a small human cottage with a smooth glass wall on one side. At night, before he tucked his head beneath his wing to sleep, he would look over at that strange window, lit up from the inside by queer human lights; but in the mornings, it would always be dark and silent. Sometimes, when he thought the cottager was gone, he would fly up close to it — and as he approached closer and closer, he could see hidden beneath its surface, like the glamour of a standing pool, a deep and mysterious forest beyond its strange and shadowed face. The trees of that weirdling forest had a familiar enough shape, to his eye, but its boughs were dim and shadowed. After a time, he became convinced it must be a fairy-forest, and that this smooth glassy wall was the gateway between the World That Is, and the Land of Faerie.

Alas, try as he might, he was never able to pass through that grey door, to fly free beneath the humid canopy of that enchanted wood. Whenever he could, he would hop to and fro before the glass, looking for a chink or a gap through which he might hop or fly. But it was no use; the wall was always as smooth and perfect as a clear night sky. Sometimes, in vain, he would fly at the glass, hurling his bright orange breast against it in the vain hope of passing through — but each time, it would only bounce him back, and eventually he would fly back to his maple home, dizzy and exhausted from his efforts.

Eventually, he got married and settled down to raise a family. The hatching of his wife’s first clutch kept them both far too busy finding worms and grubs and berries, to think overly much about fairy-forests. But he never forgot the mystery of that strange door. Before his children were fledged, he would tell them all long and fantastical tales of the fairy-folk, and how it was that in that secret forest, there were no humans to chop down the trees, and the maples grew old and hoary and wise with long years. And he would tell them how clever sprites would dance in the groves, and how the berries grew ripe and full all the year round, and how even the winters were mild in that magical place. If his wife thought him a bit loose in the head, she might be forgiven; but as he remained a faithful husband and a good provider, she was inclined to overlook his little flights of fancy.

As the years drew on, Robin grew old, and began to weary of the annual migration back and forth to the southern lands. His children, all grown, had raised their own singing broods — and they, in turn, their own. All of them loved to hear their grand-sire’s heartwarming stories, though few of them ever accompanied him on his visits to the old glass window, where he would often go, to look with longing into the murky depths of the dream-wood. He knew he was old, and although he would surely make the migration south when the leaves fell, he could sense in his old greying feathers that he’d seen his last sweet spring in the green of the north. That autumn, on the morning before his family was to fly south again, he went back one last time to the smooth glass wall. He hopped gently up to it, and tapped the glass softly with his beak, hoping against hope that — after all this time — he could finally pass through and touch the marvels of Faerie. But it was, alas, as solid and unyielding as ever it had been. With a tear in his eye, he gave a long last look, and then turned away, and flew slowly back to his old friend the maple, where his family awaited him.

Old Robin died peacefully during that winter vacation; his eldest daughter heard him mumbling a long time in his sleep, and then he at last fell silent, with his eyes closed tight. It is said, among robins, that he died dreaming of the fairy-wood, and that when Old Robin died, the door to Faerie was finally opened for all the robins; so that even unto this day, now and again, you can sometimes hear the gentle thump of a robin’s beak against plate-glass in the summertime.