Saturday, June 07, 2008

Nerd pilgrimage

Me inside a Cray-1 supercomputerI'm a computer engineering student, and I'm living in Silicon Valley for the summer. That's sort of like being a kid and living at Disneyland, so I figured that I'd go one a couple of the "rides" while I'm here: a Don Knuth lecture, and a visit to the Computer History Museum.

Don Knuth Lecture

On Thursday I went to a Computer Musings lecture at Stanford given by computer scientist Don Knuth. Most of you reading this won't really appreciate who Knuth is, so let me help you out: if Knuth were a geneticist, he might be Charles Darwin; if he were a composer, he might be J.S. Bach. He has spent the last 50 years writing The Art of Computer Programming, which is the Bible of computer algorithms. He's the stuff that legends are made of. He's so good that he'll write you a check for $2.56 (one hexadecimal dollar) if you find an error in one of his books. He writes even larger checks (in values of powers of two, like any good computer scientist) to anyone who finds a bug in one of his programs. The checks are so rare that they usually end up in frames on people's walls rather than in their bank accounts.

Despite his towering stature among computer scientists, Dr. Knuth is a very friendly, down to earth person. Nothing about him gives off an aura of academic untouchability; rather, he looks like he would be right at home working on the farm with my grandpa—and he's about the same age, too. He spent the minutes before the lecture started mingling with the audience, asking people where they were from, and having conversations with many people that he knew. His interested in people impressed me. He made lots of wry jokes, and he's still clearly quite on top of his game, despite his age.

Computer science is a unique field, because many of the pioneers are still alive. Not many physicists have had the the opportunity to sit in a lecture by someone like James Clerk Maxwell, but I had that opportunity this week.

(Most of you probably don't care, but for the curious, the topic of Knuth's lecture was binary decision diagrams. BDDs are an interesting and often compact way to represent arbitrary boolean functions in a way that makes it efficient to solve many problems that were previously considered insoluble. If that sounds like gobbeldygook to you, try this: they're useful for making computer chips faster. We now return to your regularly scheduled blog post.)

Computer History Museum

Pilgrimage number two for the week was a visit to the Computer History Museum today. Located just down the road from Google, it is filled with thousands of "artifacts" (aren't artifacts supposed to be thousands-of-years-old objects from Egypt?) from all ages of computing. There were early models of supercomputers, mainframes, minicomputers, personal computers, calculators, and semiconductors. I saw some really cool things, including:
  • An Interface Message Processor. It was one of the original nodes on the internet.
  • A Xerox Alto. The Alto could be considered the first personal computer. It pioneered the ball mouse, the GUI desktop metaphor, and WYSIWYG layout.
  • Several early supercomputers, including a Cray-1 supercomputer, which I'm pictured inside of at the top of this post.
  • An IBM System/360, the first wildly commercially successful computer.
Even cooler than all of these, though, were demonstrations of a Babbage Difference Engine No. 2 and a PDP-1. The Difference Engine is a mechanical calculator (but not general-purpose computer) designed by Charles Babbage in the Victorian era of the 19th century. Due to funding problems, he never completed it, but the Science Museum in London recently built a complete replica, which I saw when I visited there last year.

The really cool thing about the Difference Engine that I saw today is that I saw it working! It computes polynomials, and it did, in fact, compute the correct answer. Even cooler, though, was watching it in motion. It's really pretty amazing. Here's a video of it performing a carry:

There was also a demonstration of one of the museum's PDP-1 computers today, which was even cooler because:
  • It's the only working one in the world.
  • It was demonstrated by some of the original hackers who worked on it. They were as much a part of the museum as the computer itself.
The PDP-1 was one of the first minicomputers, hitting the market 48 years ago. Of course, "mini" is relative. It was small compared to the behemoth mainframes and special-purpose computers of the day, but it's enormous compared to today's computers. DEC, the manufacturer, donated the second model to MIT, and MIT allowed undergraduates to use it late at night after all of the professors and grad students had gone home. Two of the men who demonstrated it today were some of those undergraduates.

Peter Samson wrote a musical synthesizer for the PDP-1. You can hear the synthesizer and listen to him talk about it here:

That, my friends, was the world's first iPod. :)

The man who wrote the world's first "shoot 'em up" video game was also there today. Steve Russell, a friend of Peter Samson, wrote Spacewar! in the 60's, and it provided lots of entertainment to early MIT hackers. I got to play the game today on the museum's original PDP-1. I don't even like to play video games very much, but that was really cool!


tbone said...

reading your blog always makes me feel smart. and nerdy.

Berkley said...

Your blog makes me feel white and nerdy. Glad you liked the China log.

Shanna and Evan said...

I should have known... a computer museum. And I thought the airplane museum was boring.