10 April 2011

Computer History Museum

Yesterday, Urmi and I visited the Computer History Museum in Mountain View, CA. Since Urmi and I are both a bit geeky (me more than her, although she joked on the way there about naming a pet MOSFET), we had more fun than any two young computer scientists are expected to have without the internet. A scant few miles from Google, the Computer History Museum features exhibits covering 2000 years of computing -- although many of the early computers are only now recognized as computing devices (tools such as abacuses, mechanical calculators, Napier's Bones, etc).

The Computer History Museum (CHM) also features a working example of the Babbage Difference Engine No. 2, invented in the 1800s by Charles Babbage and widely recognized as one of the most ambitious computing devices ever designed. Charles Babbage is one of my personal favorite people in history, and seeing the difference engine in action was well worth the price of admission to the museum. The CHM's Difference Engine is one of only two ever built (the other, at the Science Museum in London, is rarely demonstrated), and it is truly an amazing device. The machine computes the value of polynomials using no more power than a human-operated hand-crank. The internal numbers are stored on vertical columns of gears (like below), and percolate from one side to the other as the user cranks the drive shaft.

Once they reach the end, the Babbage engine "prints" them simultaneously onto a reel of paper as well as a tray of plaster, for use in printing tables of numbers. They had configured the machine to produce a 7th degree polynomial (the largest this particular machine can handle), but the machine could easily produce all sorts of different mathematical series. Babbage originally envisioned the machine as a means to produce tables of numbers without any human mistakes -- mathematical tables, such as logarithm tables, were a specialty of his and he particularly hated finding mistakes in his tables. For more details on Charles Babbage or Difference Engine, see Wikipedia.

The rest of the museum was equally amazing, featuring computers from the Apollo Mission, the Bletchley Park Enigma project, and more. Some highlights are below:

An actual wheel from the Colossus Machine, and one of the only remaining intact parts from a functional Colossus. Although the Colossus machine was not a Turing-universal computer, the Colossus machine was integral to the British efforts to break German encryption in World War 2. However, the machine was a groundbreaking effort at the time, and the fact that its design remained classified (and the blueprints destroyed) kept many of its original engineers from being credited with their work on early computers.

Wiring from the Cray 1 super computer. This was the first super computer, built in the mid 1970s by Cray Research, which is to this day a leader in super computing. The machine itself looks a bit like a piece of office furniture from 1970s, but the internal design is a brilliant work of engineering to maximize the speed at which the early computers could operate. This particular machine was used to simulate atomic explosions, meteorological phenomena and more. I'm glad that computers are not built like this anymore.

Joke napkin provided by an early Silicon Valley startup, showing that the get rich quick nature of Silicon Valley has a long history.

Intel goodie given out to employees -- a keychain containing an actual pentium computer processor, albeit one that failed testing.

A "Furby" from the CHM's artificial intelligence and robotics exhibit. A surprising number of the robots on display in the exhibit were children's toys. I'm not sure if I would describe the Furby as particularly intelligent, but I suppose it was no less so than many of the other devices on display.

The Utah Teapot. Aside from the Babbage Engine, this was the display that I found the most exciting. The Utah Teapot is a widely used graphics primitive used to demonstrate different graphics algorithms, mostly since it's a smooth surface, without texture, but with fairly complicated internal geometry. Early computer graphics algorithms had difficulty with the handle and spout of the teapot. Many libraries for graphics contain the teapot as an included object, and there are dozens of in-jokes in the graphics research literature related to teapots with bizarre textures (fur, leopard print, etc). Of particular interest, the widely used GLUT library has a procedure (glutSolidTeapot) that does nothing but make a model of this particular teapot. This is the original teapot that the model was based on.

An early server from Google, circa 1999. Back in 1999 (when I started using Google), this server would have been one of the ones handling user queries.

For more pictures (but less detail), check out my Picasa Web Album.

No comments: