I took a side trip to the German Museum of Technology, http://www.sdtb.de, and hereby declare it to be Nerd Heaven.
In lieu of a coherent narrative, here's a pile of photos. I'll see if I've collected any thoughts by the time I come to the end:
The tiny, old televisions!
The "portable" tape recorder with microphone concealed as a wristwatch!
The enormous vacuum tubes, used for high-power transmission!
The quaint penny-farthing bicycles!
The DEEP SEA DIVING SUIT!
THE RIDICULOUS HOT AIR BALLOON!
BIG! AIRPLANE! ENGINES!
You get the idea: this museum is packed corner-to-corner with awesome. But those weren't even what I came to see -- the piece de resistance is the Zuse Z1, the world's first programmable computer.
Leading up to Zuse's start in the 1930s, and contemporary to his work, there were a lot of bits and pieces of theory that had accumulated around the world and what was needed was a broad imagination to combine them.
You might be familiar with some of the big names: Turing, Von Neumann, Babbage, and Shannon. Babbage designed the first computers, gigantic mechanical beasts that were conceptually sound but were not actually built until after his death. Shannon and Turing developed mathematical frameworks around information and algorithms, among other contributions. And Von Neumann's best-known contribution is the Von Neumann Architecture, the basic pattern by which modern computers are designed, in which a central memory resource stores both data and programming.
Zuse designed and built many computers with a mixture of attributes that have since resolved into the arcane (vacuum tubes, relays, and ticker tape) and the modern (magnetic storage, the QWERTZ German keyboard, etc). But the Z1 stands alone: it is all but unrecognizable as a computer.
A common characteristic of any computer-like device -- including outlandish examples like Minecraft computers or fluidic computing building-blocks or even an automatic transmission valve body -- is that they include lots and lots of switches that can control themselves. In very early computing, such as the Babbage Engine or this Z1, these were purely mechanical. The next generations used mostly electromechanical relays or vacuum tubes, and finally transistors and integrated circuits.
So what you're looking at in the above picture is a lot of switches that represent information, and switches in each subsystem are controlled by other subsystems to build up an architecture that can be programmed with a hole-punched strip of film:
...which are punched to write a program by this little device...
...making use of a very small amount of internal memory to use as working space (a "register" in technical terms)...
...and a couple of areas for the manual input of a number, in scientific notation, clearly inspired by a slide rule...
...and an area for the resulting output to be displayed, also in scientific notation:
...and there you have it: a sprawling array of tiny rods, levers and gears that can be used to perform repetitive computing tasks.
Zuse's goal in all of this was to automate the repetitive computational work that was his day job as a design engineer in a Berlin aircraft factory (more), as Babbage's was to automate and improve the accuracy of logarithmic tables, which were laboriously (and often inaccurately) calculated by hand.
The original Z1 was destroyed by Allied bombing during the 2nd world war, and the reconstruction pictured above was built in the 1980s. It's a must-see -- and do spend some time looking at his later models.
Apparently this reconstruction does work, though I couldn't find any footage online. But even after more than 70 years, it's a very close representation of a lot of fundamental pieces of a modern computer and would be a marvelous teaching tool for anyone who wants to know what's happening on the inside. I hope someone can find a video clip...?