Tuesday, September 21, 2010

It's time to build the Analytical Engine

Normal people have a small part of their brain that acts as a sort of automatic limiter. They get some crazy idea like writing a book or campaigning for a government apology or calculating the number of legal track layouts for a cheap train set and their limiter goes: "Don't be ridiculous" and they go back to normal life.

Unfortunately, I was born with that piece missing.

So, it's not without trepidation that I say that it's time Britain built the Analytical Engine. After the wonderful reconstruction of the Difference Engine we need to finish Babbage's dream of a steam-powered, general-purpose computer.

The Analytical Engine has all the hallmarks of a modern computer: it has a program (on punched cards), a CPU (called the 'mill') for doing calculations and it has memory. Of course, it's not electric, it's powered by steam. But the principles that underlie the Analytical Engine are the same that underlie the computer I'm writing this on.


From Flickr user csixty4


What a marvel it would be to stand before this giant metal machine, powered by a steam engine, and running programs fed to it on a reel of punched cards. And what a great educational resource so that people can understand how computers work. One could even imagine holding competitions for people (including school children) to write programs to run on the engine. And it would be a way to celebrate both Charles Babbage and Ada Lovelace. How fantastic to be able to execute Lovelace's code!

From Flickr user gastev


Of course, Babbage and his family only ever made parts of the engine (see the picture above). But that shouldn't stop us from constructing it now. All that's needed is money. I'd imagine there are plenty of people who'd want to work on the project.

Unfortunately, I think it would cost a lot of money. The construction of a second Difference Engine for Nathan Myhrvold is said to have cost $1m and that was after all the hard work of figuring out how to make it was completed. It also took years.

But that shouldn't hold us back.

If sufficient money could be raised I'd jump at the chance to run this project as a charity that would donate the completed machine to either London's Science Museum or the National Museum of Computing. Clearly, I can't do this in my free time (and nor could others) so sufficient money would need to be raised to pay a reasonable salary to those involved. And I'd imagine that the materials cost would be very large as well.

Am I mad? Would you donate to make the Analytical Engine an oily, steamy, brass and iron reality? Can we live up to Lovelace's words when she wrote: "We may say most aptly, that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves. "

PS A commenter asked about pledging money to the project. I'm not quite ready to start accepting cash! :-) But people can pledge by either sending me an email or simply writing a comment here. That'll give me an idea of interest in doing this.

PPS UPDATE. Please visit Plan 28 for more on this topic.

Labels: ,

If you enjoyed this blog post, you might enjoy my travel book for people interested in science and technology: The Geek Atlas. Signed copies of The Geek Atlas are available.

39 Comments:

Blogger ars said...

I am interested in supporting such a project financially. Perhaps you could set up a pledge page to see how much money could be gathered from individual contributors.

11:15 AM  
Blogger Recontemplations said...

I would donate to this project in a second!

12:08 PM  
Blogger Alex said...

A project like this might get some traction on Kickstarter

2:40 PM  
Blogger Phu Nguyen said...

Does it have to be made of metal? You have 3D plastic printers now (MakerBot ... etc.) that makes very strong plastics and tight tolerances. Couldn't most of the parts be made out of those?

2:52 PM  
Blogger MapNTerritory said...

This comment has been removed by the author.

3:00 PM  
Blogger Matt Doar said...

Oh yes, I've imagined that since I was a teenager in the darkened spaces of the British Musuem. The ultimate steampunk credentials, and a wonderful piece of history.

3:13 PM  
Blogger sep332 said...

@Phu Nguyen
I'm afraid that's very unlikely for this project. Babbage's engines have excruciatingly tight tolerances for both shape and motion of the parts.

3:14 PM  
Blogger John Graham-Cumming said...

I was not part of the Difference Engine project. But I do have a lot of experience of building things, although they are mostly software.

The reality is that a project like this would need a leader technical enough to understand what was going on, and with the experience to manage the people building it. That I believe I could do. And in the past I've shown that I can round up support for a good cause.

3:16 PM  
Blogger jarh said...

Yes, you're mad - but that doesn't make you wrong :-)

I'd happily make a (small) contribution too. I guess the trick will be to attack enough grass-roots interest (like the Turing petition) to get noticed by someone who can really make things happen - Paul Allen perhaps?

4:00 PM  
Blogger Robert Baruch said...

Not only money, but engineering creds and specialists in Victorian engineering. In _The Difference Engine: Charles Babbage and the Quest to Build the First Computer_ by Doron Swade, one of the folks involved in the building of Difference Engine No 2 in the 1980's, he says that they chose Difference Engine No 2 because it was the only Engine with complete plans. The Analytical Engine had so many revisions, that there wasn't ever any One True Analytical Engine.

Also, the plans for Difference Engine No 2 had to be studied intently in order to determine what materials and tolerances had to be specified. Today, there are many measurements and specs that go into an engineering document, but back in Victorian times, it was the equivalent of a napkin drawing and some verbal instructions.

Of course, in the end, Difference Engine No 2 was built successfully (albeit with much gnashing of teeth). So this isn't to say that an Analytical Engine couldn't be built. I'm sure it could.

I, on the other hand, am working on a "reimagining" of the Analytical Engine, which I'm calling the Logical Engine. It is based on rod logic and on binary. This will vastly simplify the parts required, and the tolerances are not so excruciatingly precise, although it will be somewhat larger because of the binary, rather than decimal, representation. It will also be, of course, steam powered.

Babbage did indeed consider different bases other than 10, but eventually settled on 10 in the end as a compromise between required precision and size.

And rod logic is not without precedent: Thomas Fowler in 1840 built a small base-3 calculating machine. The Logical Engine is closer to the work done by Eric Drexler -- father of nanotechnology -- but the concepts scale up well.

I will be exhibiting "Logical Engine No. 1", which is a small mechanism computing three simple logical functions (and, or, xor) at Maker Faire NY 2010 on Saturday September 25 at the NextFab Studio Philadelphia booth. If anyone would like to see it, please stop by and say hi!

Anyway, I've currently got the core of the Logical Engine designed (the Logical Mill, the equivalent of an ALU). I'll be working on it after Maker Faire, but I think the problem will be the funds to get the rods manufactured. I'll be starting a Kickstarter project for it.

This isn't to cast doubt on your own laudable effort to build a Babbage Analytical Engine. This is just an alternate history version :)

4:52 PM  
Blogger Robert Baruch said...

In _The Difference Engine: Charles Babbage and the Quest to Build the First Computer_, by Doron Swade, one of the guys on the team to build Difference Engine No. 2 in the 1980s, he says that they chose Difference Engine No. 2 because it was the only machine with full plans.

There was never any One True Analytical Engine, since Babbage kept refining and changing parts of the design.

Also, Swade says that even with the full plans, they had to have the help of an engineering team to put together the spec drawings for manufacture. Today, spec drawings include materials, tolerances, finish, and a whole host of other measurements. In the Victorian age, they had the equivalent of a napkin drawing and some verbal instructions!

Nevertheless, building any Analytical Engine would be a laudable goal.

4:56 PM  
Blogger Robert Baruch said...

My previous comment being said, I am currently working on a "reimagining" of an Analytical Engine, which I call the Logical Engine. It will do everything the Analytical Engine could do, but it is based on binary rod logic. And, of course, it will be steam powered.

I think that binary rod logic would have made the Analytical Engine easily built, since the parts would all be fairly uniform, simple, and such tight tolerances would not be necessary.

I will be exhibiting "Logical Engine No. 1" at Maker Faire NY 2010 on Saturday September 25 at the NextFab Studio Philadelphia booth. This is just a simple mechanism which computes three simple logical functions (and, or, xor) using binary rod logic. It isn't steam-powered :)

After Maker Faire, I plan on building the Logical Mill, which is the equivalent of Babbage's Mill, or the ALU in a modern computer. I have already designed a 4-bit ALU, which can easily be scaled to 16 or even 64 bits wide. The only problem will likely be funding: I'll probably start a Kickstarter project for it, since the rods might run me a few thousand dollars.

Anyway, if you're at Maker Faire, drop by and say hi!

5:01 PM  
Blogger Robert Baruch said...

Jeez, sorry for the multiple comments. I got an error back from the first post, saying that the post was too long. Yet there it is... John, feel free to delete this and the other posts! Don't want to be accused of blog spam! :(

5:02 PM  
Blogger John Graham-Cumming said...

No worries. Will sort out when near a computer, not a phone!

5:05 PM  
Blogger Sebastian said...

Sir, I think you are quite clearly mad; this is by no means a bad thing.

Theoretically it might be possible to modify the machine to take more effective input than punch cards. Might it be possible to create a mechanical "compiler" that would translate a set of commands to the machine through a mechanical type writing device?
Depending on the size of the punch cards you could easily produce a keypad that can quickly reproduce the data input that any given card could hold. I think such an idea would be worth pursuing, although it would likely double or triple the costs at the least.

10:45 PM  
Blogger C Hill said...

I could not find this project on kickstarter.com.

6:06 PM  
Blogger C Hill said...

I could not find this project on kickstarter.com

6:07 PM  
Blogger John Graham-Cumming said...

Kickstarter does not permit charities or non-profits.

6:28 PM  
Blogger miles said...

sep332: Are you sure? People have built Difference Engines out of Meccano and Lego - although those are much smaller than the one the Science Museum built. Do the tolerances required become finer as the machine becomes bigger? The Meccano guy thinks there would be no problem with building a full-sized Meccano Difference Engine No. 2.

Anyway, if 3D printing isn't yet accurate enough, and suitable off-the-shelf parts aren't available, CNC machining's become a lot cheaper in the last ten years - I'd be surprised if that weren't accurate enough.

John: what exactly is the scope of your project? Would it be enough to construct something as close to Babbage's design as possible using off-the-shelf parts? Or would you want to go the whole hog, and make all the parts using Victorian techniques?

10:14 AM  
Blogger John Graham-Cumming said...

I think the project would need to be in three parts:

1. Decide what would constitute an Analytical Engine from Babbage's plans. This would need serious help from historians.

2. Build a 3D simulation with a physics engine to verify operation. Iterate this with 1 above.

3. Build the entire machine.

I would like to go the whole hog and build the complete machine with Victorian materials. The Difference Engine No. 2 project has taken a lot of the uncertainty out of that part.

10:16 AM  
Blogger Bon said...

Totally behind it! It would be a wonderful achievment, would support it anyway I could.

11:03 AM  
Blogger Mark J. Easton said...

I'd donate time and/or financial assistance.

12:33 PM  
Blogger conan said...

I'd support this, financially or with time; I agree it would be a wonderful tool for bringing the inner workings of a modern "computer" to children, and it would be awesome (in the most literal sense of the word) to be able to watch it execute my code.

Good luck!

12:55 PM  
Blogger Stuart said...

You'd need some good steam engine experience. I would recommend contacting the Kew Bridge Steam Museum (www.kbsm.org) for help with that

1:51 PM  
Blogger . said...

I've always wondered why no-one had taken it upon themselves to build the Analytical Engine. I'm glad you've taken the initiative where I haven't, and I hope that with your influence you'll be able to make some great progress towards this notable and worthy goal.

I saw that you mentioned that you'd need the input of an historian. I studied the History of Computing as module at University a few years ago under Professor Martin Campbell-Kelly. I'm sure he would be interested to hear of your idea, and may well be interested in contributing his knowledge and expertise.

Alastair

3:00 PM  
Blogger srimech said...

Sounds good to me, it would be fantastic to see the analytical machine working as designed.

I presume you've seen the Meccano Analytical Machine at http://www.meccano.us/ ?

I'm also trying to build a mechanical Turing machine, it's very amateur at the moment but there's some details up at http://srimech.blogspot.com if you're interested. I see there's some other people making mechanical computers in the comments, which look very interesting!

If I could help out with the construction of the Analytical machine in any way I would very much like to, even if it's just donating some cash.

4:12 PM  
Blogger Nigel said...

I agree the engine should be built. A couple of years ago I contacted they Science museum about getting copies of the original drawings which they have. They where not very helpful. Have you thought about doing it as a collaborative build? There are lots of people with the tools, time and ability to make the components. Open source engineering.

4:39 PM  
Blogger Zac said...

Out this thing up on http://www.kickstarter.com/ and let's get going! :)

7:33 PM  
OpenID gyrotech said...

I think this is an absolutely fantastic idea and would very much be willing to lend anything I have that can be of use. Though this would mostly be in the simulation arena, I would be delighted to be able to help out with the practical side of things too.

9:17 PM  
Blogger Bill said...

Count me in for a tenner. It's a no brainer.

9:17 AM  
Blogger Graeme said...

i wouldn't be able to give much being a lowly railway signalling engineer and being paid a pittance, but i'd certainly try add something to the pot!

12:40 PM  
Blogger xavhorse said...

Colour me interested!

4:10 PM  
Blogger Tom said...

I would donate to this effort.

2:15 PM  
Blogger mariocat said...

i think this is an awesome idea make it as steammpunk as possible man.

12:31 AM  
Blogger mariocat said...

i think this is an awesome idea you shud try to make it as steampunk as possible.

12:35 AM  
Blogger Ian Watson said...

I think this would be a great idea and I'm sure there would be many useful spin-offs from such a project.

You say "How fantastic to be able to execute Lovelace's code!"

Do you have any evidence that such code exists? I know Ada Lovelace collaborated with Babbage on writing papers abut the Analytical Engine but I wasn't aware that there was any actual code written and that describing Ada Lovelace as the worlds first computer programmers is actually a popular myth and is not supported by any hard evidence (e.g code she wrote).

I myself am working on a book about the history of computing and have put a chapter on Babbage online at: http://universal-tool.blogspot.com/

1:15 AM  
Blogger TinHatMoose said...

If I win the lottery I`ll be donating a big chunk of it to this..Good luck,looking forward to the completed project.

11:01 PM  
Blogger T Dipper said...

Two points:

1) What (if anything) can Babbage's machine do which a silicon processor can't?

2) I don't wish to sound shrill, but I believe I emailed to offer collaborative assistance via a Centre for Engineering Excellence we're helping to build. For the love of brass, get in touch!

6:22 PM  
Blogger Grimsterise said...

Great Idea, let's do it.
Also: Her name was Ada King nee Byron, she was also Lady Lovelace but never Ada Lovelace.

7:30 PM  

Post a Comment

Links to this post:

Create a Link

<< Home