## The Difference Engine

This is the Difference Engine designed in 1847-1849 by Charles Babbage. It was never built in his own lifetime, but starting in 1989 (to celebrate Babbage's 200th birthday), the London Science Museum constructed one to his original specifications.

(Here's the view from the other side.) Some extremely rich guy decided that he wanted a Difference Enginge too, so he financed the construction of a second one. This is the one that ended up on display in the Computer History Museum in Mountain View, CA, which happens to be just around the corner from my apartment. I went to see it with some friends in March.

(Here's the side view.) It was constructed using only the metalworking technology that would have been available in the mid-19th century -- they loosened up the tolerances on their machine tools to introduce the same amount of inaccuracy that engineers at the time would have had to deal with.

Despite that, it does in fact work. What does it do?

It calculates the values of polynomial expressions like these here. It can do up to seventh-order polynomials -- i.e. anything that can be expressed in the form:

Ax^7 + Bx^6 + Cx^5 + Dx^4 + Ex^3 + Fx^2 + Gx + H

You input the coefficients A, B... H by turning wheels to certain starting positions, and then...

...this guy turns the crank to make it go. He really has to put his back into it, because he's turning hundreds of gears which total to something like fifty pounds of resistance. (The shaft could also have been hooked up to a steam engine.)

Each turn of the crank increases the value of X by one, and then the polynomial result can be read off of the main wheels, one digit per wheel.

When it's in motion, these columns rotate, and the little doodads sticking out of the sides spin in an ascending/descending helical pattern that interlocks each column with the next. It's quite hypnotic to watch.

After designing his first Difference Engine, Babbage designed the Analytical Engine, which would have gone far beyond simply crunching polynomials. It would have been fully programmable, the first true computer.

After designing the awesome but extremely impractical Analytical Engine, Babbage revisited the Difference Engine and improved the design significantly, coming up with a second design that accomplished the same thing with drastically fewer parts. (Even today, we computer programmers spend a lot of our time looking for ways to do exactly the same thing.) The model pictured here was based on this improved redesign.

Here's something I bet you didn't know: The Difference Engine design included a printer (which even had adjustable margins and line heights). We got to see the printer in action.

After all, without a printer, it would be nothing but a massive and expensive novelty. But with a printer, it had a practical purpose...

This is a close-up of a plaster-of-paris plate that was imprinted by the Difference Engine printer. A plate like this would be produced, and then used as a master to cast a metal plate that could go into a printing press in order to churn out copies.

Copies of what, you may ask? Well, with a seventh-order polynomial you can produce a reasonably accurate approximation of many other mathematical functions, such as sines, cosines, and logarithms. Ultimately, that was the purpose of the Difference Engine -- to automatically churn out tables of logarithms etc. that engineers and scientists could use for reference in the days before calculators and slide rules.

Here's my current role-playing game group posing in front of the Engine. That's me in the front, and behind me from left to right are Dave, Aaron, and Cat.

And here's me with my Sushu!

## Comments:

No Comments Yet