Grace Hopper Had a Sense of Humor
and other little known facts about the history of software quality – Part 3 of 3
In this last installment, we finally get to find out the story that provided the title for this series. But first we get introduced to a couple ideas that you may not thought of.
Defect Seeding Preceded Computers
Howard Aiken described how a contemporary of his, Comrie, would publish mathematical papers with known rounding errors, summarize those errors in a letter to himself and deliver the unopened letter to the Secretary of the English Royal Society to use as ‘proof’ of other people re-printing his data without permission.
“Oh, he was fantastic. He was a crusty so-and-so, you know. When he published a mathematics paper, he always put a number of round-off errors in it, and then recorded these errors and wrote a letter to himself which went through the mails, and then deposited that letter with the Secretary of the Royal Society. So that when subsequently, somebody copied his table, he could have this envelope opened and show them the round-off error. (Laughter).” [AIKEN1973]
…but how do I tell it to divide?
Consider what happens if you only had a way to tell the computer how to add and subtract, telling it how to multiply would be relatively straightforward. Before there were many programming languages and everything was done in machine language or assembler, this was the situation.
But what about division? This was one of the first problems to solve with early computers.
Howard Aiken was working with IBM to design an early computer. After several meetings, he realized that they had no way of dividing. Here is his re-telling of the story.
“That night when I found out that they didn’t know how to divide, I was up nearly all night, and it was that night that I invented the technique of dividing by computing by reciprocals. This is a scheme by which you can compute reciprocals, knowing how to add and multiply and you know how to do it. You could add and multiply by computing reciprocals and all you need is a first guess …” [AIKEN1973]
Grace Hopper Had a Sense of Humor
The story about the first bug is widely known so I’ll just summarize it to begin with. The Mark I was built using re-purposed phone relays. In those days, the windows to the room where the computer was kept were left open. During a debugging (pun intended) session, an actual moth was found caught in the relay and was taped to the log book.
But there is more to the story (as told by Grace Hopper some 20 years later).
“It was also the day that I… happened to be down town and saw… some of these fake bed bugs and I bought a box of them and I put them in the back part of the Mark I and it caused utter panic. They tried to track down where they were living in that back wiring… and I didn’t have the guts to admit that they were fake bugs. I never mentioned them but finally somebody discovered that they were fake bugs, but I don’t think that they ever did find out who put them there. But that caused a two-day uproar, trying to get the bugs out of the machine.” [HOPPER1969]
At the time, this caused maybe $10,000 (in 1949 dollars) in lost computer time. She was not a senior member of the team at the time and it probably would have been a ‘career limiting move’ to confess at that time.
The End is Near
Now that you’ve heard these stories, consider some of the lessons that are woven through them.
- Developers are often surprised to discover the sheer time involved debugging their own code.
- Sometimes it takes a crisis for risks to be acknowledged.
- Giving an issue a name can help start the dialog for fixing it.
- Bad designs can have disastrous effects.
- Everything old is new again.
- Talk it up. Toot your own horn. Get buy-in.
- We take lots of computer capabilities for granted.
- Having a sense of humor is good, even if it’s a bit warped and not always appreciated.
I hope you have enjoyed reading these stories as much as I have had relaying them. Please feel free to drop me a line and share your own stories.
- [HOPPER1969]Transcript of Smithsonian interview with Grace Hopper 1969, http://invention.smithsonian.org/downloads/fa_cohc_tr_hopp690107.pdf
- [AIKEN1973] Transcript of Smithsonian interview with Howard Aiken, 1973, http://invention.smithsonian.org/downloads/fa_cohc_tr_aike73027.pdf
Robert Watkins (firstname.lastname@example.org)