Bugs, glitches and other disasters

In the summer of 1996 I presented a series on CBC Radio’s Island Morning program, produced by Ann Thurlow, called Consumed by Technology. I’ve managed to recover the audio of the episodes, along with the “show notes” and transcripts, from The Internet Archive and I’m posting each episode here for posterity.

This sixth episode of Consumed by Technology focused on computer bugs; it aired on August 13, 1996. Karen Mair was the host.

Late one August night in 1945, U.S. Navy Captain Grace Hopper and her co-workers were hard at work in their computer lab at Harvard University. They were frustrated. Their project, a pioneering computer called the “Mark One” wasn’t working. And after trying everything they could think of, they still couldn’t figure out why. Finally, someone located the trouble spot: using ordinary tweezers, they extracted a two-inch moth from the computer’s insides, a moth that was causing the computer to short-circuit. And so was born the world’s first “computer bug”.

Transcript

INTRO: Late one August night in 1945, U.S. Navy Captain Grace Hopper and her co-workers were hard at work in their computer lab at Harvard University. They were frustrated. Their project, a pioneering computer called the “Mark One” wasn’t working. And after trying everything they could think of, they still couldn’t figure out why.

Finally, someone located the trouble spot: using ordinary tweezers, they extracted a two-inch moth from the computer’s insides, a moth that was causing the computer to short-circuit.

And so was born the world’s first “computer bug”.

In another in the series “Consumed by Technology,” Peter Rukavina joins me now to talk about bugs, glitches and why you don’t always get what you pay for when you buy computer software.

QUESTION: That first “computer bug” wasn’t the last one, was it?

ANSWER: Not at all. Computer bugs or glitches or foul-ups or whatever you want to call them — Microsoft calls them “known issues” — they’ve been with us since we started using computers, and they’ll be with us for as long as we continue to use them.

QUESTION: Now it’s not actually two-inch moths that are causing these “bugs” anymore…

ANSWER: Well, you’d be surprised at what happens… there are probably still moths causing havoc out there somewhere. But “bug” has become a general term used to refer to anything that causes a computer program to break down and not do what it’s supposed to be doing.

On Sunday night, for example, I got a frantic call from my brother in Toronto. He had turned on his computer to look up a name in his electronic address book, only to find that all but the first four entries in it had somehow disappeared. He had no idea how this had happened, no idea how to get them back, and was afraid that he’d never be able to track down all of the 100 or so people he had on file.

He was but the most recent victim of the same thing that happened to Grace Hopper in 1945: a bug — in this case probably an error in the computer programming itself, not a moth or any other insect — had caused 96 of his addresses to be deleted, to just vanish into thin air.

This kind of thing probably sounds very familiar to a lot people listening.

It’s very rare that people who use computers at home or in their office haven’t had an essay disappear at the last minute, or their database get garbled beyond recognition, or had a strange message pop up while they’re working complaining of “General Protection Faults” or “Seek errors writing to Drive C”.

We almost take it for granted that, at some point, our computer is going to screw something up and we’re going to suffer for it. And we’re probably right.

QUESTION: Why do these bugs exist at all? Isn’t it possible for software companies to “stamp them all out?”

ANSWER: Unfortunately, it’s very difficult for that to happen.

Think of something simple: a shovel, for example. If you run a shovel making plant, you can make shovels and send them out to stores with a relatively high degree of certainty that you’ve produced a high quality product that’s going to dig dirt well for many years to come. The “quality control” checklist for shovels is pretty short: steel tempered correctly, handle on right, wood sanded well. Shovels are a pretty simple product to get right.

Software on the other hand is some of the most complex stuff around.

At its most basic, software is a long, long list of very, very simple instructions to a computer. Draw a line on the screen from here to there; put a letter “A” at the top of the red box; if the user presses the spacebar, print a space on screen. Absolutely everything that a computer program does has to be spelled out in intimate detail. And everything that we users could possibly do when using the program has to be taken into account — every key we could possibly press has to be recognised and acted on, things like saving files and erasing files and creating new files and changing old files, all has to be spelled out, simple instruction by simple instruction.

To have computer programs which do anything but the most simple of tasks requires literally thousands, and sometimes millions of lines of computer programming. And it’s very easy for a programmer to make a mistake in one of those lines… to put a comma in where a period was supposed to go, or to misspell “goto” as “growto”.

It’s also very difficult for a programmer to imagine every possibility that might crop up out there in the real world when people are using the program to do real things. It’s one thing to have a program work fine in the lab for computer programmers, quite another thing for it to work outside the lab with real everyday people.

QUESTION: It sounds like you’re speaking from personal experience here…?

ANSWER: You’re right. I’ve written a lot computer programs, and I’ve certainly been responsible for my share of bugs. It’s been my fault that books have been shipped to Timbuktu rather that Toronto, and that 20 kids showed up for canoe lessons when they were supposed to be learning macramé. Not nuclear meltdown stuff, but bugs nonetheless.

But I don’t want to make it sound as though having computer programs which break down is an inevitable fact of life, as though there’s nothing that can be done to make the situation better.

Imagine if you bought a new car and were driving along the highway and the engine fell out. You phone the dealer and they say, very off the cuff, “oh, that’s a known issue in the ‘96 models… if you return your car to the factory, we’ll install an upgrade for $2000.”

Most people I know wouldn’t stand for this sort of thing. And the car maker in question probably wouldn’t be around for very long.

But this is kind of thing that happens every day in the computer software industry. And anybody who’s ever tried to get their computer problems solves knows this very well.

Short of phoning me — which didn’t end up helping anyway — my brother’s only recourse in trying to figure out where all his addresses went would be to phone the place where he bought his computer; they would probably tell him to phone the software company; if he could find the software company, he’d probably end up waiting on hold for an hour before talking to someone who wouldn’t have the answer to his problem anyway. And so in the end, he’d be out half a day’s work and 96 addresses.

QUESTION: Have you got any advice for people who fall victim to computer bugs?

ANSWER: My best answer to that question is “don’t use computers.” And I’m only half joking.

But my first suggestion is not to blame yourself. It’s surprising how many people, when something goes wrong with their computer, think that it’s they who have done something wrong — pressed the wrong key or typed the wrong command or just did something wrong that caused the problems they’re having.

Nine times out of ten, this just isn’t true.

Quality control in the software industry is generally horrible. In many cases, the prevailing wisdom seems to be that consumers are the quality control people: version 1.0 of a product gets released, the bug reports roll in, version 2.0 gets released with those bugs fixed, more bug reports roll in, version 3.0 gets released. And so on.

It’s no coincidence that Microsoft Windows didn’t become widely used until version 3.1; versions 1 through 3 were simply unusable. Part of Microsoft’s rationale for changing the name of Windows 4.0 to Windows 95 was to avoid creating a situation where people would hold off for Windows 4.1 to get a reliable product.

In the same way that we don’t stand for cars with engines that fall out or lawnmowers with blades that going flinging off, we’re going to have to, as consumers, start demanding that quality control in the software industry simply gets better.

Now, unfortunately, this may be impossible. Software is getting so complex that adequate quality control — stamping out all of the bugs before the packages hit the shelves — is such a huge task, a task that would cost so much and take so long, that it wouldn’t be feasible; any company that tried it would fall behind in the marketplace.

Part of the solution to this problem is for consumers to demand simpler software. Look at program like WordPerfect, for example, a commonly used word processor. You can use WordPerfect to type essays and letters and reports, save them on a disk, print them out, make some changes, and so on. When you’re doing this, you’re using a very small proportion of WordPerfect’s capabilities. WordPerfect will also create an automatic table of contents, an automatic index, it will check your spelling and your grammar, let you merge addresses and form letters together. You can use it to mix pictures and graphics and tables and charts. The problem is that all of these “extras” require thousands of extra lines of computer programming, which increase the possibility that something is going to go wrong. This isn’t something unique to WordPerfect; it’s a problem that afflicts most computer software on the market today. The fact of the matter is, the more complex that software is, the more it’s going to break down.

If all you need is a simple computer program to type simple letters, then that’s all you need. And that’s all you should need to buy and use. It might not work perfectly, but the closer your program is to being a “shovel” of a computer program and the further it is from being, say, a “nuclear reactor,” of a computer program the better off you’ll be.

QUESTION: So consumers need to demand simpler software as well as more bug-free software.

ANSWER: Exactly.

Now that all said, the other thing you can do is to come to terms with the fact that things are probably never going to get any better. You will always lose important information to bugs. Your computer will always crash, eventually. You will always be frustrated by computer programs that don’t do what they’re supposed to do. Computer people will never learn to speak without the techno-babble.

You can do things to lessen the damage: save your work every 5 minutes, make backups of your disks every night and again every week, hire someone to translate what the computer people are saying. But that’s only making a bad situation slightly better. You’ll still be frustrated and bad things will still happen.

Once you’ve admitted this, though, you can look at the real costs of using computers to solve information problems and simply figure out whether it’s worth it or not.

There are a lot of everyday information tasks that have been “technologised” that worked quite well — much better, perhaps — in their “pre-technologised” state. In a mad rush to stay “modern” and to “keep up”, a lot of us have forgotten what a simple HB pencil and stack of index cards can do for an information problem. Index cards and other “low tech” solutions are not sexy, not wired, but they are often the cheapest, most effective, and most elegant solutions to many information problems.

It’s very rare that addresses disappear off the pages of a regular old address book.

Now I’m not suggesting that computers don’t have their place, that we should just throw them all out the window, no matter how much we might want to. Even with all of their foibles, computer actually do make a lot of tasks easier. In fact they make a lot of tasks possible for the first time.

But bugs and glitches and “known issues” will always be with us.

Perhaps the best that we can do is to steadily press software companies for programs with fewer bugs and at least a friendlier voice at the end of a phone to explain them to us. We can stop blaming ourselves for problems we didn’t cause. We can try and make computer people speak our language.

And, in the end, we can take steps to at least rescue ourselves when disaster does strike.

QUESTION: And watch our for those moths…

EXTRO: Peter Rukavina operates Digital Island in Kingston, PEI… he’ll be back next week with another in the series “Consumed by Technology.”

Comments