Commentary invited by editors of Scientific American

# A Trip Down Read-Only Memory Lane with William Kahan

The views expressed are those of the author and are not necessarily those of Scientific American.

I’ve already written here about the weirdness of certain floating point operations – the case of the misbehaving Excel spreadsheet in particular – taking my cues, and my examples, from floating point pioneer William Kahan (notably this set of slides [PDF]). Before writing about the dire consequences of programs not equipped to handle such mistakes – which I will do in a later post – there is another issue that figured largely in my interview with Kahan on last Tuesday afternoon.

Talking to Kahan made me realize more than anything else that we live in very special times when it comes to computer science – we can still talk to quite a number of people who were there at, or nearly at, the beginning. It’s like being an automobile engineer having the opportunity to talk to Benz, or Otto.

When Kahan graduated from high school, you couldn’t study computer science – it hadn’t yet established itself as a course of study. Kahan decided to study mathematics – because it was hard. Also, fortuitiosly for what was to follow, he had a suitable hobby: electronics.

In Kahan’s third year of college, in 1953, he first heard about computers. More precisely, about one particular computer that was said to reside in the physics department. Most of us, if interested, might just have gone there and asked. Instead, Kahan decided to figure out things on his own first, and set himself the problem of designing a programmable calculating machine out of telephone relays. (Only at a later date did he calculate the power consumption of such a machine – as it turns out he would have needed the combined power of Niagara Falls.)

With his (concept of a) machine, he then went to the professor responsible for the physics department’s computer: “I’ll show you mine if you’ll show me yours!”

Are you tormented by the unbearably slow performance of your 2 Gigabyte of RAM, and complaining about your paltry 500 GB of storage space? Kahan takes me back to a time when programming instructions were stored on (paper) tape, using an alphabet of four characters represented by holes in the tape. A time when performance optimization could mean programming simple division of two numbers so cleverly that the computer could complete all the instructions without having having to stop and restart the tape. (Of course, if you succeeded and the tape whizzed just through, you would need to make sure that nobody stood in the way of the tape, or they might get hurt.)

And yes, on your magnetic storage drum you might have the capacity to store 100,000 40-bit-words (for a whopping total of 500 kilobytes). But on any given day, only 30,000 or so would work. When Kahan came in each morning, the engineer would hand him a directory showing which parts of the memory were working that day. When you wanted to run a program, you had to make sure you only used the good bits.

It’s easy to feel ever so slightly smug about how much more today’s technology can do. But that’s easily cured – we don’t really know for what reasons exactly future humans will look down on present-day technology, but we can be certain they will. Now if you will excuse me, my brain interface just reminded me that I left my flying car in a no parking zone.

…..

This blog post originates from the official blog of the 1st Heidelberg Laureate Forum (HLF) which takes place September 22 – 27, 2013 in Heidelberg, Germany. 40 Abel, Fields, and Turing Laureates will gather to meet a select group of 200 young researchers. Markus Pössel is a member of the HLF blog team. Please find all his postings on the HLF blog.

About the Author: Markus Pössel is a physicist turned science communicator. He is managing scientist of the Haus der Astronomie in Heidelberg, a center for astronomy education and outreach. The author of several books and numerous articles for a general audience, he has been blogging at Relativ Einfach since 2007, and was one of the bloggers-in-residence at the 2010 Lindau meeting. His main interest is in astronomy and astrophysics, particularly relativity and cosmology. Markus's previous experience includes ten years at the Max Planck Institute for Gravitational Physics in Potsdam, where he started out as a PhD student and stayed on as an outreach scientist, among other things creating the web portal Einstein Online. In 2007-2008 he served as Senior Science Advisor to the first World Science Festival in New York City before moving to his present position in Heidelberg. Follow on Twitter @mpoessel.

The views expressed are those of the author and are not necessarily those of Scientific American.

 Previous: Crowdfunding: What’s in It for Scientists? MoreGuest Blog Next: Voevodsky’s Mathematical Revolution

### 1 Comment

1. 1. jtdwyer 2:55 pm 09/30/2013

I suspect that most of the computer instructions executed may be operating system services that provide attractive, standardized formatting of application window displays. How much actual problem solving is being performed with all of today’s installed processing capacity?

Conversely, how much time must people put into managing their systems rather than improving their productivity?

You must sign in or register as a ScientificAmerican.com member to submit a comment.