Wednesday, June 16


Magic, Part 1

When I was ten, I wanted to be a writer.
Young Pixy: You mean they pay people to make up stories?!
Teacher: Yes, child. It's called journalism.
When I was twelve, I wanted to be a teacher.
Teacher: You don't want to be a teacher! You're too smart for that; it would be a waste of your talents.
Young Pixy: Guk.
When I was fourteen, I knew I was going to be a computer programmer.

What I wanted to be, of course, was a wizard, but there's no money in wizarding.

And programming is the next best thing. In fact, if you think about it, it's the same thing, except that it sometimes works. You say the secret words, and if you get it right, the result is magic. If you get it wrong, of course, you get dragged off to hell by demons. (Don't try to tell me otherwise. I had sign off on a major Y2K project. I saw the contract.)

Programming allows you to work in a medium that is almost infinitely tractable. It's not like, say, sculpture, where one slip of the chisel and

Oops. That's got to hurt.
No, she's meant to have no nose. It's, like, allegorical.
It got bitten off by one, then?
If you make a mistake, you can go back and do it again. And again and again. And you can make multiple copies of your work and the touch of a button, and compare them, and make changes, and keep the good and reject the bad.

The problem with that is that the results are largely limited only by your skill and your patience. More so now than fifteen or twenty years ago, when the absolute limits of the computer hardware put a clearly marked boundary around most projects. If you only have one megabyte of memory, and the feature list would require two megabytes of memory, then some of the features have to go. When you have eight gigabytes of memory, you can no longer make this argument.

Instead, today it's more a case of, Yes, you can have everything you want. If you can think of it, it can be done. Now which features did you want first?

It's a sort of a Limited Omnipotence. We can do anything, we just can't do everything. (And of course, we don't always know the consequences of what we do.)

And when it works, it's magic. Take Google, for example. If I wanted to learn about, say, magnetohydrodynamics, I can just type in the word (assuming I know how to spell it) and hit enter, and in three-tenths of a second (or to touch on something I'll come back to later, no time at all) I have the first ten of over forty-four thousand results. Bing! The demons of Jack Vance's Dying Earth books were never this helpful.

And the reason that it's magical is that we can't see how it works. Unless you already know how Google works, there's not much you can determine from using it. You can work out some of what it does, the way it ranks pages, for example, but those are the just rules that it follows, not the reason it follows those rules. It's kind of like our understanding of the atom before the discovery of subatomic particles - we can describe and predict how atoms behave, but we don't know why.

One of the most useful ways of finding out how something works is to look at a broken one - or indeed, to break one deliberately and see what happens. There's a lot of information in failure modes. That's why scientists built atom smashers, for example. And if not for a faulty connector, I would never have known that Cityrail ticket machines use EBCDIC.

And that's also why, I think, we get so mad when software doesn't work. There's no feedback on the internal operations when it does work, unlike the familiar machinery that surrounds us with its clanking and grinding and whirring. When a car is about to break down, it usually makes horrible noises first, and then makes a really horrible noise just as it fails. And even if you can't tell from the noise that the flange sprocket has worn through the fairing pin and fallen into the gearbox, you can at least tell that something has actually, physically, broken. And that replacing the broken thing will make the car work again, and that although this will cost lots of money, you can at least be reasonably assured that upon payment of said money, your car will be repaired.

But with computers...

Yesterday, when I clicked this, it retrieved my email. Today, it doesn't work. I don't get any errors, it just doesn't do anything. (My crystal ball doesn't work!)
Have you tried rebooting? (Did you start again from page one in the Codex Emailulorum?)
Yes, that's the first thing I tried. (Yes, that's the first thing I tried!)
Did it help? (Did it help.)
No. (No. And can you do anything about these sales pitches for time-shares in Hell I keep getting?)
The problem is, we are wizards, near enough. We're just not good at it.

(End of Part 1)

Posted by: Pixy Misa at 11:47 PM | Comments (3) | Add Comment | Trackbacks (Suck)
Post contains 871 words, total size 5 kb.

1 The obvious solution is to design our software to make horrible grinding sounds when it breaks.

Posted by: Rossz at Thursday, June 17 2004 03:23 AM (n5Jbg)

2 Actually I think we can do that now, Rossz. Just attach a grinding sound file to the "fatal exception" pop-up. Spooky. assuming I know how to spell it - Even cooler, as long as you're reasonably close the Googlefairy will suggest the correct or more popular spelling.

Posted by: Jim at Thursday, June 17 2004 09:07 AM (IOwam)

3 Wow, magical inspiring post. Thanks!

Posted by: Tom at Friday, June 18 2004 04:54 PM (/slkS)

Hide Comments | Add Comment

Comments are disabled. Post is locked.
50kb generated in CPU 0.0132, elapsed 0.1185 seconds.
56 queries taking 0.1109 seconds, 343 records returned.
Powered by Minx 1.1.6c-pink.