>> I'm Dan Rockmore, Chair of the Department of
Mathematics here at Dartmouth and also Director
of the William H. Neukom Institute
for Computational Science.
And on behalf of the college and the
Neukom Institute, I'd like to welcome you
to this year's Spring Donoho
Colloquium, Mission Impossible:
Constructing Charles Babbage's Analytical
Engine, delivered by Professor Doron Swade
of England's Portsmouth University.
The Donoho Colloquium is an ongoing series of
public lectures aimed at increasing awareness
of the many important and sometimes surprising
places in which computational ideas appear.
These lectures are made possible by generous
gifts from David, Mickey and Dan Donoho in honor
of Dan's graduation as a
member of the class of 2006.
The Donoho Colloquium is a
central piece of the larger mission
of the Neukom Institute whose aim is to
support and integrate computational thinking
and computational ideas throughout Dartmouth.
So no discussion of computation would be
complete without considering the inventions
that actually affect these processes.
It is in this regard that
Professor Swade speaks to us today.
While the word "computer" derives from the
Latin "computare" which means to sum up,
computers have evolved so far and so
widely that for many of us the connection
to simple arithmetic is all but forgotten.
Today, the name computer is perhaps
better associated with the grand diversity
of processes now produced by any digital device.
It is something of an irony that the way
in which we today use the word computer is
in fact much closer to the original use of the
word, as the name for anyone of the legions
of people who were employed to perform
by hand and for hire significant
and multistep calculations for any
of a variety of quantitative tasks.
In some sense, the grand goal of computer
science and computer engineering is
to make future computers more like
these original human computers.
While simple calculating machines go back
some 5000 years to the abacus at least,
it was not until the mid 19th century that
we find the design of the kind of flexible
or programable device that might someday
grow up to engender our own digital age.
This was accomplished when the British
mathematician in polymath, Charles Babbage,
came up with plans for the analytical engine.
The story of Babbage and his quest
to build the analytical engine is
like any good tale both of
its time and timeless.
When Babbage undertook his project,
science was still largely the province
of the amateur or the natural philosopher.
Indeed, the word scientist had yet to be coined.
Babbage was a great believer in
the importance of intellectual
and scientific breadth today
called interdisciplinarity.
And Babbage's analytical engine
project was actually never--
never preceded beyond the design phase.
And his frequent complaints as to the
unreasonable nature and shortsightedness
of his local funding environment
would undoubtedly resonate
with many faculty members today.
Luckily, Babbage has found a champion in today's
speaker, Doron Swade, who is leading an effort
to prove the viability of
Babbage's 150-year-old design.
It is an extraordinary project in the history
of ideas that lies at the nexus of the sciences,
engineering, computation and the arts.
The truly interdisciplinary nature
of this project requires a certain
breadth of interest and expertise.
Professor Swade studied physics, electronics,
engineering, philosophy of science,
machine intelligence and
history at various universities,
including Cambridge University
and University College London.
Doron is currently visiting professor in the
history of computing at Portsmouth University
and research fellow at Royal
Holloway, University of London.
He is a former assistant director and
head of collections at the Science Museum,
London where he was also
senior curator of computing.
He is published widely and is the author of
several books and is especially well-known
as a leading authority on the
life and work of Charles Babbage.
In 2009, Professor Swade was made a
member of the Order of the British Empire
for "services to the history of computing."
Of which the most notable was his
leadership in the magnificent construction
of the first complete Babbage Calculating
Machine, the Difference Engine,
built to original 19th century designs.
His new and daring project is sure to
prove to be at least equally amazing.
Please join me in welcoming our Donoho
Colloquium speaker, Professor Doron Swade.
[ Applause ]
>> Dan, thanks very much
for those generous comments.
And thank you to Dartmouth, to the Neukom
Institute and to the Donoho Colloquium
for the opportunity of participating
in this program.
It really is a pleasure to be here, thank you.
I was struck by the inclusion in the aims of the
Neukom Institute, the inclusion of a reference
to expanding or extending computational ideas,
computational thinking into general thinking.
That is to take it outside the computational
culture, the internal discipline of computing
and look at its broader implications in order
to see whether things provide
models or irrelevance.
And Babbage, polymath as he was with a huge
range of interests, provides huge number
of these examples of instances in which
computational culture actually spills
over and affects history of ideas.
So, although I'll be concentrating to a large
extent on the engines, the difference engines,
the analytic engine, what I'll do
is flag as we go along instances
in which these computational models,
these computational ideas actually have
relevance way beyond computing itself.
And perhaps that's less surprising
in the 19th century
where polymathy was actually more
widespread than perhaps is now.
So, the story of Charles Babbage and his
efforts to build these automatic machines
in the 19th century is increasingly well known.
What we have here is a mathematician, an
accomplished mathematician at the age of 29
in 1821, conceiving of an
automatic computing engine.
And he devoted much of the rest of
his life to the pursuit of this.
He fails, so we have invention and
failure and in the context of Babbage,
these two are almost invariably mentioned
in the same sentence, invention and failure.
He failed despite a blank check from government,
independent personal wealth, decades of design
and development, these social privileges of
a gentleman of science which gave him access
to the highest echelons of
British society, both in government
and the aristocracy, and nonetheless he failed.
Well, we built one of the engines as Dan has
mentioned and what gives particular relevance
and urgency to that construction, what revives
interest in that is this recent undertaking
to try and built an analytical engine which
is 10 times bigger, vastly more sophisticated
and part of what I'll be focusing
on addressing during the course
of this evening is whether
the mission impossible
as a statement should have a question mark
next to it, whether it is an ironic statement
or actually, whether it is possible to do
this thing because as will become evident,
what is involved, there are certain,
what I'll learn likely as challenges.
So, what I propose to do is very briefly give
a thumbnail biography of Babbage and do this
through iconography, do this through images,
four images in the way he was represented
in his own time, certainly describe the
engines, describe what the ambitions
and expectations for these engines were.
And also to some extent, how they work.
And in the course of which I will describe
the construction of Difference Engine 2,
the first complete Babbage
engine built to original designs.
And finally, then very briefly try
and assess what the entailment is,
what is entailed in attempting to build a
machine that is at least 10 times as big.
I mean Difference Engine
2 took 17 years to build.
And we reckon that and that has
8000 parts and weighs 5 tons,
the analytical engine we estimated
to have between 50 and 80,000 parts.
And if these things are scalable, we're talking
about a project that will take 170 years.
So what I'll do at the end is assess
whether actually this is a realistic thing
or whether there are some,
what we might call, assists,
things that will brighten
rather than darken our prospect.
So, if we-- just very briefly to give an
adequate kind of contextual outline of Bababge.
This is Babbage in 1830, age
21, undergraduate at Cambridge.
Those are miniatures that are
in the possession of the family.
And on the left is Georgiana, his
fiance, and on the right is Babbage.
The resemblance to Napoleon is not accidental.
Babbage as a student actually supported
Napoleonic France when England was still at war,
the Napoleonic War was ended 1915 and Babbage
is a student actually who supported Napoleon.
He defied his father, and in 1814,
ran away, well, he didn't elope
but he actually in defiance of his father.
His father was a very wealthy
banker and who regarded as imprudent
for a young man to marry without means.
And Babbage had no career, had no
profession, he was an undergraduate.
He was due to graduate the following year.
And went off and married
Georgiana despite his thoughts.
So, already we have defiance, we
have independence of mind and we have
to some extent, the suggestion of radicalism.
This is Babbage, man of science,
esteemed by his peers.
He's about age 53, mid 50s at this day.
It's an oil painting by Lawrence and
Babbage was capable of incontinent savagery.
He launched sarcastic public attacks against the
scientific establishment for the mismanagement
and poor governance of science in
Britain, which he regarded as in decline
and inferior to European science.
And he succeeded in alienating most of the
senior figures by launching personal attacks
against them, including Sir Humphry Davy.
This was in 1830, he published
Decline of Science in England.
This is now already 1844.
So by this stage he's already partly
rehabilitated and enjoying the esteem,
he has an oil painting by
Lawrence, a famous portraitist.
And so by this stage he is
already, to some extent, redeemed.
This is particularly-- it's a daguerreotype
by Claudet because it is taken around the time
that Babbage was designing Difference Engine 2.
So he's actually got a photographic
image and Babbage at the time,
he was designing his most of work.
This was a device he-- this was
Babbage at the top of his game.
He'd already designed the analytical
engine which is vastly more demanding
than his earlier difference engine.
And realized that he could build with
huge elegance efficiency and simplicity,
well actually, it's complex,
so it's comparatively simple,
a much more efficient difference
engine and that's the machine we built.
So this is Babbage at the top of his game.
His spirit beaten up but still spirited and
up for it still, still with some anticipation,
so he hadn't entirely given
up on expectation that one
of his machines might still
be built in his lifetime.
This is Babbage with what
I call his Beethoven look.
This is 1860, that he died in 1871.
This is the last known portrait of Babbage taken
at the 14th statistical conference in London
and this is Babbage professionally
unfulfilled, self-perceived failure.
He did not deliver an engine, he failed and he
measured his worth by his ability to demonstrate
to his peers through the delivery of a physical
engine his ideas and to that extent, he failed.
He refused public honors because he said
the honor was for the engine not for himself
and since he failed to deliver one, he refused
to accept it on his own behalf as it were.
Despite that during his years he
ached for honors, he ached for honors,
he drew up lists of comparisons of penchants
and emoluments that his peers had received
as dispensations from government
and that he had been denied.
So he had a strong sense of injustice, a strong
sense of being overlooked and yet nonetheless,
he preferred actually to remain in some
sense obscure in his acknowledgment
because of the lack of recognition [inaudible].
So this is Babbage and his first biographer
titled the biography the Irascible Genius,
the Irascible Genius and that perhaps--
that was 1963 and that is if when looking
for a single signature characterization,
a thumbnail characterization of Babbage, then
Irascible Genius does the job pretty well.
[ Pause ]
So what we have is a complex
and colorful character.
He authorized six full books, nearly
90 articles on a massive range.
Even by the standards of Victorian polymathy,
this is a very wide range of interest.
We're talking about a man who was proud,
principled beyond reason,
principled beyond reason.
He would attack people on grounds
of principle quite regardless
of the political implications of so doing.
He behaved as though being
right entitled him to be rude.
And this is, again, is a characteristic that
characterized much of his public conduct.
[Inaudible Remark] [Laughter]
Nonetheless, he had great charm.
He was a prized dinner guest.
Mr. Babbage's coming to dinner
was a triumph for any hostess.
Yet he was capable of wounding abrasiveness, you
can see this disconnection between the need to--
schmoosing wasn't his strong suit, we could say.
So politically there was huge ineptness.
He didn't understand that having failed to
build Difference Engine 1, it was more important
to finish a machine that was not his latest
design as a staging posting credibility
in political terms than it was to try
and sell his latest design to government,
try and convince, to develop on
government to abandon huge investment
in his earlier design and
build his analytical engine.
So you can see there's a political kind
of inaptitude there which came together
with this boldness, this independence
and this pride, this huge pride.
So, so much for Babbage.
That's a kind of quick context of,
you know, who Babbage was and briefly,
the trajectory from an idealistic student into
an imminent man of science, into a disillusioned
and to some extent embittered in older age.
So, what were his engines about?
What was he trying to do?
What were his expectations?
What triggered, what was the jumping
off point for this whole thing?
It's captured in a delightful vignette
which occurred in 1821 where Charles Babbage
and John Herschel, his great friend
from Cambridge, the astronomer,
were checking mathematical tables, mathematical
tables were calculated by hand in those days,
by, as Dan said, by people called computers.
And we have Babbage and Herschel checking them.
So, two sets of independent computers
would do the same calculations,
independently without collaboration.
And the idea is if these tallied then you
have fairly high degree of confidence,
they were instances of both groups making
the same mistakes but they're very rare.
And so, if they tallied exactly, you
had a fairly high degree of confidence
about the accuracy of the tables.
And so, Babbage and Herschel are
sitting there checking these tables.
One is reading out the result,
the other one is checking it.
Now, Babbage becomes increasingly agitated
and he clasped his hand to his head as it were
and he says, "I wish to God these
calculations had been executed by steam."
And Peter Ackroyd, the novelist
and historian has said,
"This is the most wonderful
sentence of 19th century."
Because steam represented not only
the infallibility of machinery,
the unerring certainty of mechanical
means as Dionysius Lardner put it,
but it was a metaphor for production.
You could now produce tables on demand
and amateur astronomers were pressuring
government making thorough going nuisance
of themselves trying to get the government
to pressure the Greenwich Observatory
to produce tables for the
trajectory of new stars
and the reason they were sitting there
doing these astronomical tables was
to provide these tables.
So, here you could have tables on demand.
You could turn the handle
literally and metaphorically,
and produce tables at will for new functions.
You didn't have to go through the
huge procedure of the production.
Tables it should be said at that stage were
indispensable for science, for engineering,
for navigation, particularly for navigation, for
taxation, and for surveying, you were reliant.
The only portable means of doing complex
calculations beyond trivial arithmetic was
through printed mathematical tables.
So, what was involved in the
production of printed mathematical?
That's a set of logarithms, a piece of a
page of a logarithm from Von Vega 1794.
So that's what Babbage is trying to produce.
Now, how was that produced?
Firstly, manual calculation.
People-- human being sat
there and did the calculation.
Secondly, you then have to transcribe the
results into lists to give to a typesetter.
The typesetter would set each
individual digit in loose type.
So you took a piece of type for every
single digit there and to create the page,
this is purely for dissemination, this
is to communicate the tables elsewhere.
You have to have a mechanical
method of production.
And then finally, verification.
You had to check to see that the
lists on the tables were great.
So it's calculation, transcription,
typesetting, and verification.
Now Babbage's conception was a machine would
eliminate all sources of error at a stroke.
So it would have automatic typesetting built in.
It would have a built in printer,
not only produce hard copy,
ink hard copy because that you
would still have to transcribe.
It also automatically produced
stereotype plates.
So the results were stereotyped.
They were impressed on trays with soft material,
either plaster of Paris or copper paper mache,
papier mache to produce the
mold for printing plate.
So you turn the-- you set the machine up, you
entered the initial values, you turn the handle
and you got printer hard copy
as a checking copy and you go
to printing plate at the end to produce that.
And so, okay, why spend staggering
sums of money equivalent--
spend equivalent of, in today's
terms, 100 million pounds
on the engine that he never completed.
The argument of the day was there
is no economic case for doing this.
The experts of today, George Biddell Airy,
Astronomer Royal, Selander in Sweden,
Le Verrier in France, all argued, astronomers,
all evaluated these, Babbage machines
and the Scheutz machines, Swedish
machines built to Babbage's ideas,
and said that there was no
justification to doing it.
Firstly, economically, if you took
the same capital and use the interest
to pay computers, it would be cheaper, firstly.
Secondly, what'd you need 30,
40, 50 digits of precision
when you could only measure
to 3 or 4 in those days.
So these people were arguing.
There was no practical use and
it was not economically founded.
So, the point of that is that it was not
universally agreed amongst experts of the day
that there was any real utility
for these machines.
But that it was the jumping
off point without question.
So, if we say, well, that doesn't seem
too difficult a task, you imagine,
to produce that by hand,
to transcribe particularly.
If you look at the page it
comes from, you say, "Well okay,
even that is still doable
without this huge investment."
But if you look at the volume from
which that came and say, okay.
[Laughter] I challenge you to have
verified those numbers and tell me
that you have some degree of confidence
in the accuracy 'cause unlike text--
literary text, there is no intuitive way of
knowing whether there is a spelling mistake
in a-- there's nothing that corresponds to
a spelling mistake in this and it's only now
with computers where you can scan that in and
verify the tables that you can actually resolve
through a piece of experimental history
the historical question, who is right?
Was Airy right in saying tables
are sufficiently accurate.
You would get no additional
advantage in building a machine purely
to ensure the integrity of the tables.
Or was Babbage right?
And that these things were riddled,
rather Babbage's protagonists,
the advocates of the Babbage machine of whether
these things where riddled with errors or not.
And now we're in a position,
it's a project I've been trying
to get the university take
up for the last 20 years.
Scan them in, check them out
and say, "Well, who was right?
Wonderful, combining science and history.
Through experiment, you can resolve
issues of dispute and to a large extent,
the job has been in Germany where they've
actually taken all the major rare book tables
and evaluated them, scanned them,
and verified them and right.
So, 1821, Babbage conceives an engine that
will eliminate and now Babbage did not assume
that because the machine was mechanical,
it was therefore immune from error
because machines make mistakes and [inaudible]
of examples of those, but what he did show
and he worked on the principle
that because it was mechanical,
he could through control systems,
locking systems, security systems,
ensure that it was free of error and I will
show you examples of his security systems
of how he ensured the digital
integrity of his machines
through really ingenious device
and he was the first to do that.
Choosing a digital, discretized motion as a way
of ensuring integrity through
control mechanisms.
[ Pause ]
So, Babbage spent from 1821 to
1830, he presented about 10,
11 years designing Difference Engine number 1.
It's called a difference engine because of the
mathematical principle on which it's based,
which is the method of finite differences and we
won't go into that, but simply to say the beauty
of the technique is that you can find
the value of a polynomial expression,
a mathematical expression, using
addition only, whereas ordinarily,
you would require multiplication,
division, subtraction and addition
to find the value of an equation.
Here, you can do it by addition only
and addition, a gear wheel with a value
where rotation is proportional to
value, linking with another gear wheel
and moving is an essential in adder [phonetic],
you're adding the number from one wheel
to another wheel by allowing
one to rotate the other.
So, addition is kind of quite
easy, comparatively easy compared
to multiplication and division
using gear wheels.
Multiplication and division was
hugely difficult to accomplish
in analytical engine, but
not for the difference.
The beauty of this was it allowed mechanics
to get a grip on arithmetic and at the course
of trying to mechanize arithmetic,
he was led from mechanized arithmetic
to fully fledged digital computation
and with the analytical engine
which embodies almost every
single logical feature
of a modern digital computer as we shall see.
So, Difference Engine 1, I'm
pointing to that as difference engine,
that is one-seventh of the full sized engine.
This is one-seventh of the full size.
Now, it's probably the most celebrated icon
in the prehistory of computing, this machine.
This is one-seventh that is completed,
it still exists, it works impeccably,
it's on display at the Science Museum in London.
It's operated by cranking a handle.
So, you crank the handle
backwards and forwards four times
to take the machine through single cycle.
You set the thing up initially by putting
numbers from a precalculated table which you do
by hand onto these columns and what
it does is add the number from this--
the multidigit from this column into
the next column, into the next column,
and the tabular result appears here.
Every time you take the machine through a cycle,
the next value of the table appears
on the last column over there.
So, the point is, it's automatic
and the significance
of it being automatic cannot be overstated.
You crank the handle, you exert physical effort
and you get, for the first time in history,
a result which you could
otherwise get only by thinking.
For the first time in history, exert
physical effort and you get a result
that you would otherwise get by thinking.
And so, you have the first transference
of human intelligence to machine.
Looking at it the other way around you have the
first ingression of machinery into psychology
because the significance of this were not
lost on Babbage and his contemporaries.
Harry Wilmot Buxton said,
"The wondrous pulp and fiber
of the brain has been replaced
by brass and iron."
He, Babbage, has taught wheelwork to think.
Lady Byron, Ada Lovelace's mother,
in 1833 wrote in a diary, "Last week,
we saw the thinking machine, for such it seems."
Now, Harry Wilmot Buxton says, "The
wondrous pulp of my brain," he, Babbage,
had taught wheelwork to think or, and
he adds, or to do the office of thought.
So they were not saying minds are computational.
What they were saying is, you have for the first
time a machine capable of mind-like activity.
It was doing something that up to that, but
now, the significance of this is monumental.
You have, if you like in a broader context an
idea of the industrial metaphor of production,
the model of industrial production being
extended from thought, from thing to thought,
from matter to mind, from physical to mental.
Industrial evolution has to do with
replacement of physical labor, physical work
and here you have a machine
producing mental work.
So, this was the first artificial
intelligence machine.
If you like that's a beginning and you had
to have, to some extent, machine autonomy.
You had to have some element of autonomy
in the machine before you can begin
to have automatic computation and
begin to have machine intelligence.
So this machine is hugely
significant historically.
It is significant in other respect and this
is an example of what I mentioned early
on about how a computational
idea is spilling over
and having an impact on the
history of [inaudible].
We have here an example of an
artifact influencing these few ideas.
Here we have Babbage, the Difference Engine,
the one-seventh complete, that's Ada Lovelace
and standing next to him in
the dark is John Herschel.
That is-- the reason that the
quality of that photograph is poor is
because digital photography wasn't
very developed in the 19th century.
That is a BBC reconstruction of Babbage
demonstrating his theory of miracles.
So, here we have a computational model and
we have Babbage actually entering a debate
and having huge influence,
significant influence, on geologist,
on pre-Darwinian evolutionists
about discontinuities in nature.
And this is how he addresses an issue and
reconciles a hugely difficult issue in the 1830s
which was, how do you reconcile a belief
in a god with rational thought in science?
Because an earthquake occurs if you--
if a deity is used as the causal account
for the earthquake, there is no difficulty.
So what they were struggling with was this,
you had millennia of geophysical
stability and suddenly an earthquake.
You had stability in relation to species and
suddenly you have the occurrence of new species.
Now, science [inaudible] material course, so
the question was, in the absence of a miracle,
how would science, if it was competing
with religion for an account of the world,
give an account of something discontinuous.
So, Babbage in his soirees, if you were part
of the glitterati or intelligentsia of London,
you went to Babbage's soirees on Saturday and
there he had his engine and this was taken
at one of his soirees with
a digital camera in 1833,
in one of his soirees demonstrating
his theory of miracles.
And what he would do is he
programmed the machine
to do something quite banal, increment by 2.
So every time he cranked the handle,
the number at the end would increment
by 2, so it went 2, 4, 6, 8 and so on.
And, you know, he would play with his
visitors and say, "Well, you know,
what do you think the next
number is going to be?"
and they'd say anything, is that terrific.
And, you know, he kept doing this and
eventually it got quite boring and they think,
well this is actually banal or something.
And suddenly without intervention by
Babbage at all, the machine would jump
from what it's supposed to be to say 119.
And "Oh, Babbage, you've broken it," they would
say and then he would deliver his argument
and he'd say, "You see, to you, the observer,
this discontinuity is a violation of law
and the law is increment by 2, but for you this
is a violation because it's not increment by 2,
but I programmed this machine that after
100 iterations, it will jump by 119.
So to me, the programmer, this is not a
violation of law, this is a manifestation
of a higher law known to me but not to you.
By analogy, miracles in nature are not
violations of natural law, but manifestations
of higher law known to the deity but not to us.
And he allowed you, therefore, to be
both the believer and the scientist
and reconcile this progressive tension."
So, for Babbage, God was the
programmer and I thought those of you
in the software industry may
be flattered to know that.
I mentioned that was one-seventh
of the engine, right.
These are decimal digital machines, right?
They work in decimal not in
binary and they're digital.
They're digital because motion is discretized
that is only fixed, so that's a gear wheel.
It represents the value so at 1, 2, 3,
4 with each 2's representing a number
and so if you want to represent 2.5,
the wheel doesn't sit between 2 and 3.
You've got a wheel with 2
and a wheel with 5 on it.
It's digital in that sense
but it's digital in the sense
that only discrete integer numbers are
legitimate and valid, logically valid.
And the problem is that a gear
wheel is inherently analog device.
All the transitional stages between 1 and
2 are physically viable unlike a flip-flop
which has a threshold, a switching
threshold where if it's exceeded,
it suddenly flips to another state.
So unlike electronic, Babbage was
dealing inherently analog logic
which he then had to turn into digital control.
He did this through using control mechanisms.
Now, here we see, this is a top of the
difference engine opened up in a little model
that was built from parts made
from the first difference engine
and you can see these semi-circular
stubs there and you got a sprung roller,
you can see the spring there and that
roller on that lever sprung and presses
between the things, so I can blow that up a bit.
So there, we can see the roller, right.
So as this tries to turn these ridges, you
can see that the dwell angle on the top
of that thing is not sufficiently decisive, not
sufficiently sharp to cause a decisive switch,
but you can see the beginnings of an attempt
to digitize motion, to discretize the motion.
So, that, although, it's
still probably stable there,
a small displacement will
jump it into the next thing.
So that's one of the earliest examples
of Babbage's attempt to discretize,
to turn an inherently analog component
into a digital discretized thing.
Now, there are much more sophisticated examples
and I did this and we'll see an example.
I'll show you a video, one of them actually
operating later where it uses a wedge
which drives-- and it's absolutely--
the point of the wedge is aligned and
the switch off is absolutely decisive.
[ Pause ]
Right, I mentioned that it
was one-seventh of the inch.
That's the 1830 plan of Difference Engine 1.
A 16-- oops, a precision of 16
digits, so it goes units tens,
hundreds, thousands, tadadadadan.
So, it's a 16-digit-number there which gets
added to the column alongside of the rim
and the tabular value appears over here.
That's a printing mechanism.
You could see it runs on tracks
and rails, the wheels on rails
so it's the first portable computer.
[Laughter] It's between 8 and 10-foot high.
It weighs well in excess of 5 tons.
But it's portable, I mean, it
precedes Osborne and all those other.
It does not have a carrying hand.
[Laughter] So, you can see firstly, we're
talking about a quantum leap in physical scale
and logical complexity in
relation to what have gone before
which were little desktop calculators of
dubious reliability and limited precision
and the point is they were not automatic.
They still-- the algorithm
was still in the human.
The algorithm had to lift-- do the dials,
operate the stylist, move the carriage.
The algorithm was in the human still.
Over here, we've got the beginnings of the first
time the algorithmic instruction has actually
been transferred to the machine.
[ Pause ]
Right, being 8 to 10 feet high, 25,000
parts, Babbage had made in 11 years.
His engineer, Joseph Clement, had
made 12,000 parts, 12,500 parts,
most of which got melted
down for scraps subsequently.
There're about 2,000 parts in the little,
the one-seventh full size and these were some
of the highest precision
parts made in the 1820s.
It's a kind of metrological standard.
If you want to know how precisely
could an engineer have made the parts,
then you take measurements
from the Difference Engine 1.
Okay, what I'm going to do, I'm
aware that there are some people
who may be technically well-versed
and there are others that are not.
So I'm going to read some of the logical
features that are embodied explicitly.
So these are not suggestive hints.
These are logical circuit and system functions
that are embodied in this engine explicitly
in the detail of the mechanical design.
So, I'll rattle them off.
They may mean more to some than to others.
Firstly, parallel operation,
non-destructive edition.
You don't, you recover the
addend after the addition.
Microprogramming, a single-- it automatically
executes a number of minor instructions,
minor functions in order
to execute a larger one.
Pipelining, overlap simultaneous functioning--
these are modern terms with
strong affinities to the logic.
Pulse shaping, that is cleaning up a degraded
transition in-- to ensure digital integrity.
Binary latching, that's one word.
Storage, 1-bit storage.
Polling, sequence interrogation
of a series of logical states.
You poll the thing to find out what's going on.
Input-output, that was manual input printed
in stereotyped output and the Schmitt trigger,
a bounce catcher, anything bounced and you
had to stop it once it crossed the threshold.
Now, I mentioned also that many of Babbage's
idea spilled out beyond computation.
We have now a very broad guy, a mathematician,
who for the first time has a machine
which can execute computation process.
And it's curious all these
speculations about this were.
Firstly, he saw for the first time,
computation as a systematic method of solution.
The way you solve equations before
is you do analytic solutions
and abstract formalism, generalization
was prized.
Computation was regarded
as inferior because it was
like arithmetic, arithmetic was rather inferior.
So, you can see there's already a kind
of prejudice that Babbage was aware
of against computation of systematic method
but he's got a compu-- of calculation as--
now, he's talking about computation
as systematic method of solution,
that if you have an expression which has-- for
which you do not have an analytic solution,
you can now find solutions to
this equation by computing them.
You set the machine up, you crank the handle
and you crank until you find the solution.
So, the idea of computation as systemic
method of solution which elevates it if you
like from the mundanity and banality
of arithmetic, the inferior status
that arithmetic had in that culture was
very evident and he says this is not
in conformity with the taste of the time.
He was aware that there was a
prejudice against computation
as systematic method even though solution
by computation was actually more
systematic then analytic solutions.
There was no systematic way of
finding solution to equation.
You have to manipulate until it had a form
for which there was a known
solution which is one way.
Trial and error, regarded as deeply
inelegant by mathematician, so curiously,
what is regarded as inferior is more
systematic than was the accepted methods.
So you want to find the solution of equation,
you set the machine up, you crank the handle
and a solution of the equation
is when the independent variable,
the value of the independent variable
which drives the equation to zero.
So solution, computationally, is equivalent
to the tabular value being all zero.
Now, you can detect that mechanically.
So you would have a-- he's got a bell
that rings in the difference engine
which warns the operator that a solution
has been found or if the value goes
through zero and-- sorry-- if there's
a sign change in the value when it goes
through zero, it will ring a bell and stop.
But Babbage also incorporated
automatic halting mechanisms
that will automatically detect the all-zero
situation, so you enter the initial values
into the machine, you crank the
handle and the machine would stop
when it found the first solution.
If there were multiple roots, you
would carry on cranking to another one.
If there were no roots, you
would carry on indefinitely.
Now, anyone who knows about Alan Turing who used
the whole thing criteria to resolve the issue
of decidability, you've got Babbage talking
about the machine halting as a criterion
of finding a solution, of solvability.
So you have rather extraordinary
pre-echoes here.
And so, Babbage was the first person in the
position to consider what the implications
of a mechanical process which
are termed definite method,
mechanical process are terms
that Turing actually used.
So it's curious that two people's thoughts--
mathematicians have thought this systematically.
Right, he also saw the machine as having
heuristic value, it could suggest series
for which there was no-- you
could find the value of a series
for which there was no general expression,
which is another thing and also heuristic value.
The machine would actually suggest series
for which today was computational
rule but no analytical formula.
So, he anticipated all these.
He also anticipated that there will be a new
branch of mathematics called numerical analysis
that would be devoted to manipulating
expressions for the purposes
of machine computation in the
most efficient possible way.
And he uses an example where he has an
expression which requires 35 multiplications
and 6 additions and he manipulated the
expression to something mathematically identical
and he says you can do this with
5 multiplications and 1 addition.
And he uses that as an example of
how we need a branch of mathematics
that would optimize the ability of
a machine to do the computation.
The project failed.
In 1833, this thing was abandoned, his engineer
walked out, circumstances were very complex,
they involved unresolved dispute which
spiraled out of control with his engineer,
Joseph Clement, for compensation for moving
his workshop closer to Babbage's house.
Babbage regarded himself as the master and
Joseph Clement, his engineer, was the servant
and the expectation was that
servants would obey masters.
And Clement was quite intransigent
about this and within his rights,
demanded 600 pounds compensation
to move his workshop
because he would lose trade
and all the rest of it.
Unresolved, both actually stood their ground
and their relationship was never
repaired, the engine was abandoned.
Now, during the period-- during this period
of the dispute which lasted many, many months,
possibly over 18 months, Babbage was
deprived of his drawings and his parts.
And in this enforced break from the nuts and
bolts of construction, he began to go back
to his original ideas and that's
the point at which in 1834,
he conceived of his analytical engine.
Okay, the difference engine is a calculator.
It crunches numbers the only way it knows how.
You turn the hand-- you put numbers in,
you turn the handle, it's all it can do.
It's not a general purpose calculator.
It can't do ordinary multiplication,
ordinary division or the rest of it.
It's exactly what we called
[inaudible], it has a fixed algorithm
and it does everything according to that,
according to the way the wheelwork is set up.
The analytical engine involves again
a quantum leap in physical scale
and logical complexity 'cause
here we have the conception
of a general purpose computing machine conceived
at the beginnings of the glimmers in 1834,
made huge and massive progress by 1836.
By 1838, he had a kind of plan and the
plan we're going to look at is if you
like the mature version of his middle plans.
So here we go.
That is Plan 25, 1840, and to give
you some idea of the physical scale,
the diameter of these central
wheels is 5-1/2 feet.
Each of these circles is looking at a
column of figure wheels from the top,
so each of these circles is a
column of figure wheels 40 deep.
These central wheels are toothed wheels, 5-1/2
feet in diameter with teeth on them and that's--
and they're 40 deep, too, and
they are the internal bus.
So, let's first look.
That's the mill, that would correspond
to the central processing unit
and this is the memory, what
he called the store.
We call it memory, he called it the store.
So that's where the data was kept.
So first thing you see the separation of mill
and store, of CPU and memory, which is a feature
of the Von Neumann architecture
which dominated computer designs
since 1945, separation of store and mill.
These are racks.
A rack is a thin slate with teeth all
around the edges and that is a bus.
So that's 40 deep.
Every wheel is connected to every other wheel by
this toothed rack and you can transfer any data
from any column to another column using these
racks into the buffer stores and into the mill.
So there's a fetch that executes cycle, which
is another piece of Von Neumann architecture
which fetches the data from the
store, takes you to the mill,
process and returns it back to the store.
The internal architecture
is, you'd say, pretty modern.
The physical scale of this
is rather extraordinary.
The store can extend impractical--
with impractical limits indefinitely.
It's a linear thing that goes on.
The 17, what he calls, the
things called [inaudible],
he called variables, we call them registers now.
So there are 40-digit registers,
30-40 digit registers.
Now, there're 17 shown, from
here to there is 18 feet.
Now, the entry level machine,
that's got 17 registers.
The entry level machine had 100 registers and
he talks of machines for a thousand registers.
So from that machine, that is
15-foot high, 8 foot across here
and the entry level machine
will be 45-foot long.
So when I say this is a quantum leap in
logical conception in physical scale,
you're talking about something
of huge complexity,
which we'll explore very briefly
now, but the physical scale
of this is just utterly monumental.
[ Pause ]
Maurice Wilkes, Professor Sir
Maurice Wilkes of EDSAC frame,
the person who in the 1950s built
the first postwar electronic,
worked up a postwar store
program computing in Cambridge.
He was one of the early people to evaluate
Babbage's standing as a computer pioneer,
described this as vision verging on genius.
Anyone who knows Maurice would
hesitate to call anyone else a genius.
But this was vision verging on genius and I
think that's a very, very extraordinary tribute
from someone of Wilkes' standing because he
understood perhaps more than anyone at the point
of which he evaluated this, what's the
implications of Babbage's accomplishments were.
The rationale for centralizing
the mill was interesting.
He was saying processing hardware is very
expensive, so don't distribute it, centralize it
and bring the data to it, exactly what we
do now and he is very explicit about it.
He's very, very clear about why he
centralized the processing panel.
It's operated-- well, yeah.
All right, I'll go again and for those who are
into computer science or circuit system design,
I'll just again just read a bunch of features
of this machine without bothering to explain.
I'll go back and explain one or two.
Firstly, it's a program using punched cards.
There is a separation of the store
and mill which we have mentioned.
It has serial operation with
the fetch-execute cycle.
It has conditional control, so
it's capable of IF THEN statements
which we need for multiplication and division.
Capable of iterative of looping, can
repeat the same sequence of operations
in a predetermined number of times.
It's got built in microprogramming
which we'll explore very briefly.
Pipelining again, buffering.
You take the-- a number from the
store and you put in an ingress axis
over there, so it's stored in the buffer.
The mill processes it and returns
it an egress axis which is there.
So, you've got a system of buffering,
so it isn't just direct egressing.
It has anticipating carriage which
is a form of carry-lookahead.
It has an internal repertoire of automatic
instruction, multiplication, division,
subtraction, addition is built in as
a repertoire, as internal repertoire.
Up to 50 digit registers with double precision
results, up to 100 digits in the output.
It's capable of parallel
processing, it has multiple processes,
it has 3 barrels, there, there, and there.
And all of which can operate at the same time.
So, you split the problem
between three sets of processes.
So, I mean this is pretty advanced stuff.
Punch card input of data and instructions, the
output is a printed stereotyped punch cards
or graph plotter or run on a curve plotter.
It's a fixed point decimal digital machine.
It uses a sign and magnitude representation
of numbers, negative numbers had--
used to had in tens complements and we see
here with the fetch-execute and the separation
of store and mill the central input and output,
the central features Von Neumann architecture.
Right, punch cards and that's an example of set
of operation cards which are instruction cards,
those are variable cards which tell you
where in the store to place a number.
So it tells you the location in
store that a number is to place,
the operation cards tell you exactly as
you would know an instruction, add this,
subtract it from that, multiply
by that, and so on.
And these are in fan-fold form and in
Turing's terms, you can extend them
to within any practical-- within the
limits of what's practical layout
and you can extend this indefinitely.
Right, there is an example
of Babbage's card reader.
It's a prism that's reading variable cards and
what happens is, so there's a box full of them.
There's a fan fold stack of cards, and
what happens is this turns each cycle
and each cycle it turns and moves
forward, that whole apparatus moves forward
and activates these rods depending on whether
there is or is not a hole in the card.
That is how the activation is done and so each
cycle, this thing automatically cycles through
and you can get-- begin to get an idea
of what these drawings looked like.
There's a barrel which we'll look at there.
There's a rack that's looking end on a
rack so you can see the three sets of teeth
and there is a thing that runs
the full depth of the store.
[ Pause ]
Interestingly, that mill has been built of the
analytical engine in Meccano than anywhere else.
The last thing built from the analytical
engine was a full function calculator built
by Babbage's son completed in 1910.
It worked but not without error
and there's an extraordinary man,
Tim Robinson in California who's built the
Difference Engine 1 and Difference Engine 2
out of Meccano and is now building
difference-- building analytical engine.
So, that is a card reader built by Tim Robinson
and you can see the rods, those are the rods
which get pressed or not pressed depending or
not on whether there is a hole in the card.
So, that is how the activation
of the high level control worked.
[ Pause ]
Barrels, I mentioned barrels, okay.
We have here a linear form of store, right.
It goes on indefinitely but in
1837, this is an 1840s drawing,
in 1837 this was a circular arrangement
and you can see that the store is limited,
everything is around the circular
wheels and the store is limited
by what you can fit around the circumference.
So, you can see an automatic progression.
Now there are stages in his
plans, early, middle and late.
That's the end of the early stage, the
ones I've shown you is the immature side
of the middle stage, the version we're
building is plan 28 which is the third stage,
which is even more elegant
than the one I've described.
But this is-- the plan 25 is the most
complete and illustrative of the drawings.
These cards are quite huge, that's 26-28
inches long, the variable operation cards
and the operation-- sorry, the variable and
number cards, number cards are data cards
and the instruction cards
are 7 to 7-1/2 inches long.
So, these cards are quite big.
And these are the barrels and perhaps since
I'm spending much, too much time on things
that I shouldn't be, we should skip
it, but that's a barrel and you can see
that there's a stud and the
whole barrel moves forward.
The barrel is the microprogram.
Barrel is the internal microprogram
of the machine.
So, it's a barrel, it's like a barrel
organ, so there are studs there.
If a stud is present, this whole
barrel, you can see the dotted lines,
if the whole thing moves forward and
it activates or does not activate one
of these rods depending on whether
there is a stud present or not.
And then it automatically
retreats and then is advanced
to the next stage depending
on these other wheels here.
Now, those other wheels are
controlled by the existing words.
So, each word instructs the barrel where
the next instruction is by these sectors.
So, you can see there's a 1,
there's a 2, and there's a 4.
And they've got 1 tooth on it, and
that's got 2 teeth and that's 4 teeth.
So that advances the barrel from one word,
either 1, 2 or combinations of those depending
on what conditions are satisfied
or not satisfied.
You also include conditionals in that
and there's also multiple branching
so you can have multiple conditionals.
Here's a conditional, if you get a running
up which is a sign change from the top
of the register then you will add
another turn by lifting that sector wheel
or not depending on whether it was running up.
Here, there's a condition that will
take account of preexisting states.
So, you can see there's a little slag there.
If you withdraw that on, there's
a gap between the stud and the rod
and if that moves forward, it doesn't tag.
But if that rod is forward, then that fills that
gap the next time, so that will be preexisting.
So, a condition arises, the rod moves
forward but the stud in the wheel
that it may be 5 instructions before
that is actually interrogated.
That is then polled and the
condition will result
from preexisting state and
these all operate together.
So, now you can work combinations
of these because the phasing
of these sectors operating is all different.
So if that happened at different times
you can add anything from 1 to 7 moves.
Now that's a simplified version, you can
have words, so that's a word in the vertical
if you like, it's a single computer
word in the vertical up to 50 high
and 100 on any given barrel and the
three barrels operating simultaneously
as multiple processes.
So, if that didn't mean a whole lot, we
can actually just summarize by saying,
when we call Babbage a computer-- the first
computer pioneer, it's not a casual tribute.
This is not-- these are not suggested hints,
this is not a backwards projection
from our own age.
These features are explicit in the detail
of Babbage's work and that's a drawing
by Allan Bromley who sadly passed away in 2002.
He was the person who first cracked
these drawings and that's probably one
of the few illustrations
which described what it does.
Babbage-- that's a piece
of the analytical engine.
Under construction at the time of Babbage's
death in 1871, that was all that was ever built.
You could see the racks, oops, this
little printing press over there
and it was an experimental thing which--
it's questionable whether it would work.
This is Ada Lovelace and Ada Lovelace has a very
interesting part to play in the Babbage story
because it was Lovelace, not Babbage,
actually who understood the implications
of what computing, [inaudible]
computation meant.
It was Lovelace who saw, in
the ways that Babbage did not,
that number could represent entity other than
quantity, that number could represent the letter
of the alphabet or a note in music.
Babbage always saw his machines
bound by number or by mathematics.
The most general form of his machine
he saw as an algebra machine,
something to manipulate a symbol
independently of the value of that symbol.
But the machine can't do algebra, the machine
is an arithmetic mathematical machine.
It's got algebraic edition and he designed
a printer, the sketches for a printer.
We became intrigued by how do
you elevate the symbol to get it
above the horizontal line
and how do you lower it.
So, you had a way of actually controlling this.
So he clearly had it in mind that the
machine would produce mathematical--
algebraic notation and Lovelace writes,
1843, the only published paper she did.
Lovelace, I'm presuming everyone knows Lovelace.
Lovelace was Byron's daughter who Babbage met
in 1833 when Babbage was 42 and Ada was 16.
And Babbage-- and Ada sort of got it.
She got it in ways that even Babbage didn't
get it and wrote in 1843 on a famous paper,
Sketch of the Analytical Engine which is
the most comprehensive and insightful--
captures the most insightful thinking
about the analytical engine at that time.
Hugely reliant and derivative of
Babbage's work in all technical senses,
but in this there is Lovelace talking about the
power of computers, the vision that the power
of computers lies in taking
representations from the world,
putting them in numerically
represented in the machine
and that the machine can manipulate
symbols according to rules.
And then you can start saying things about
the world by mapping back representations
on to the entities that they're representing.
And she saw that more clearly
than Babbage ever did,
that this was why this machine was significant.
And this isn't again a casual
thing and a foot note.
This is Lovelace thumping the tables saying, "It
is this that is important about this machine."
This machine is in a different
category, it's different in kind
from anything that's gone before 'cause it's
able to do this representation and tethering
of representation from thing and the
manipulation of the representation according
to logical assisting from physical rule.
And she had this vision in ways Babbage
no way in his published writing writes
in this way, and Lovelace uniquely does that.
And there's a lot of mythology about Lovelace.
She's fated and celebrated for 4 things.
She was the first computer
programmer, the programming language.
Ada was [inaudible].
She was-- had an influential, she had a
positive influential effect on Babbage
on the conception of the analytical engine.
She was a mathematical genius and
she was a prophet of computer age.
The first 3 have absolutely no foundation
in any form of historical evidence.
The chronology just contradicts them entirely,
all the examples she gives
for the first program.
The question of it being a first
program is understandable but wrong.
She was the first to publish a program, was
something that we recognize as a program
as a stepwise sequence of
operations, the notion of an algorithm.
But the example was done by
[inaudible] in 1840 by Babbage.
So none of the 3 claims,
mathematical genius, first programmer,
and influence on the analytical
engine could stand up at all,
but the prophet of the computer age,
absolutely, in ways that actually--
so, not only she is deserved of the
celebration she receives, she is more deserved
that you actually-- because she
is usually celebrated for reasons
which actually were historically ill founded.
So that's my take on Ada Lovelace.
[ Pause ]
We've arrived at Difference Engine 2 and I
realize that we don't have a whole lot of time.
Difference Engine 2 is the one we built.
So Babbage spends, he conceives the analytical
engine 1834 and gets a glimmer of it.
Works with huge intensity 1836, 1838, but
apparently later, he's late plans in 1846,
plan 28 which is even more evolved than this
but more to do with refinements than it is.
He used half zero edition
and various other things.
Refinements rather than big
logical architectural breakthroughs
which is why it's useful to look at the
plan I looked at, was the 1840 plan.
In 1846 he stops and he realizes,
he's now at the top of his game.
He is now at the top of his game.
He realizes he can build an elegant difference
engine one-- three times more efficient,
one third the number of parts
from Difference Engine 1.
So this is like his masterpiece.
He produced no experimental pieces
because he conceived of it all entirely.
Difference Engine 2 is a hugely
elegant, sophisticated difference engine.
It has 8,000 parts compared to the
25,000 parts of Difference Engine 1.
It is 11 foot long, it is 7
foot high, it weighs 5 tons.
It will calculate and tabulate
any 7th order polynomial
to 31 decimal places, see what it does.
So you enter the initial values on these
columns, the figure wheels, you turn the handle,
there's the microprogram, and the cam stack, and
out here is the output apparatus which prints
in hard copy on a print ink control and
stereotypes plates of 30-digit results
and I'll show you examples of those.
That's the machine we built.
It took 17 years as I mentioned,
although 3-- it actually took--
if you had to [inaudible] apart
of 8,000 parts and assemble them,
it will take you 3 years to
fettle it to the [inaudible].
The 17 years was what might
be called politics or life.
It's prevailing upon people, it's
getting money, it's producing drawings.
Babbage left 20 drawings.
It's the most complete design he ever did.
He left 20 complete drawings and those had--
you can see that this defines the machine
completely, but this is insufficient information
to give a drawing like that to a
manufacturing-- to a machine shop.
So we translated those to 168
drawings where every single
of the 8,000 parts is specified
completely and I'll show you an example
of just how much information that requires.
So, that's the engine standing
on display in South Kensington
and that's an elevation of the engine.
You can see its huge similarity to the--
well similarity, it should be identical to the
drawing 'cause he did both of those designs.
Okay, numbers are stored in figure wheels
that indicates [inaudible] four times
over to get the wheel about 5 inches
across the 230-yard wheels in the machine.
And that they are all in columns, so you got
units to the bottom, 10s, 100s, 1000s or so,
30-digit number is represented there with one
wheel for each digit and what the machine does--
and that's the back of the engine.
What the machine does is add the 7th
difference so it adds a 30-digit number,
31-digit number in that column, to that
column, to that column [inaudible].
It's automatically transferred to the printer
and prints the results automatically
with no overhead.
The printing happens in parallel
with the computation.
If it just added this number to this
number and then this number to that number,
only 2 columns out of 8 columns
were being used at any one time
and Babbage thought it was pretty inefficient.
So what's called pipelining.
He adds all the odd axes.
He splits the cycle in 2, adds all the odd
axes, that's axes 1, 3, 5, 7, 9 or 1, 3, 5,
7 to all the even axes in the first off cycle.
All the evens, the odds in the second half cycle
and at that point the machine is used fully
which means you can extend this
indefinitely to 15-20 orders of difference
without increasing the calculating cycle time.
So this was a pretty sophisticated stuff.
[ Pause ]
All right, at the [inaudible], there was
a printer which does-- jump ahead again.
Okay, that's an example of the most
intricate part which is a carry arm.
That's a carry lever, bronze and you
can see how much information you need.
That's a modern piece-part
drawing with a piece on it.
And there are over 200 of those in
the machine and you can see the kind
of manufacturing issues involved here.
That's the most intricate, most delicate part.
And so, you had to take those schematic drawings
and make 8,000 of these in order to give it
to a machine shop, to a manufacturer.
Okay, we spoke about the printer
which is this apparatus over here
and that's the printer built
and now it's programable.
It's programable.
You can alter the format of
the information on the page.
So, you can change the number of
columns, anything from 1 to 4.
Change-- you've got variable line height,
variable margin widths, it will leave blanks
between groups of lines for easy reading.
It will print in 2 fonts simultaneously
and alter the line height automatically.
And if you can print line to line, okay, that's
printing column to column so it's going column
to column, did them-- and
then automatically line reps.
Or you can program it to print column to
column, sorry, line to line down the page
and it'll automatically column rep
and it does that automatically.
The printer then halts the
machine at the end of it.
And each piece of information, every time
the machine calculates the next result,
it destroys the previous one.
So if the machine overruns and
you haven't printed the results,
you've got to start the calculation all over.
So it's imperative that the machine halts
automatically at the end of the stage
so you can replenish the trays for a new page
and it does this automatically,
that's built into the printer.
And right now, I'll show you the
notation about how that is done.
And that is an experimental
impression of a stereotype plate done
from this machine in plaster of Paris.
So we actually did some experiments
to see does this thing actually work
and that's what we get out of it.
That's the plan view of the
printer, you can see the--
that's the large font, that's the small font.
And so these are rods operating from the
same print wheels which actually allow you
to use a smaller font and that's [inaudible].
The reason I'm showing you this is to
look at this table on the side here.
Now, Babbage invented a language.
Okay, we have systems of
unprecedented complexity here.
Nothing had been designed
of this scale at that time.
And he developed what we would now
call a hardware description language
to actually not only optimize the
design, but specify the design
so you could see redundancies automatically
and you could actually specify
the machine using a language--
idiosyncratic language that he devised
called his mechanical notation.
It's a system of signs that allow you to
specify every part, the category of part,
its motion whether continuous, whether
discontinuous, whether circular, whether linear.
What other parts, any given
part is connected to,
whether it's driving point
or driven point and so on.
So he developed this notation and that's
an example, there's a tabular form.
They're 3 forms of the notation.
That's the tabular form so he used three
different alphabets and up to 6 superscripts
around every single part to
indicate these various features
of it, the kinds of motion and so on.
That is a timing diagram from Difference
Engine 2 and for those into such things,
the diagonal symmetry here is the pipelining.
That's the thing here.
That's the odds and evens axes.
Even differences, odd differences.
And each of those symbols
actually means something.
So this means, lift the sector,
'cause that little arrow
with the double head means lift the
sector at this point 3/4 of an inch.
This thing means-- the circular thing
there means a rotational motion,
that little line means it's additive
direction, it's a positive direction.
So this thing first then lift
the sector at 0.34 degrees--
at 0.34 inches, rotate it for 8 units from 2
to 10 units of time and that will return it
to the rest position which is the
significance of the double-headed arrow.
F means it's free.
L means it's locked.
So, that is a complete description.
Over there that means that you will have
an event which is only 1 unit in duration
but it will occur somewhere in that window.
So you can see here's an example of how
he's trying to capture in abstract form,
in symbolic form, the physical
motions of the mechanical logic.
That is the flow diagram form, so you've got
a tabular form, you've got a timing diagram
which shows the phasing of
the orchestrated movements
and then you've got what he called the
trains which is the influence of one part
of the machine onto another and you can see the
separation of that's data and that's control.
That's the data from the
calculating part, the 31 digits.
That's the control mechanism
which operates the printer.
So this is-- so what we're trying to
do quite in rather evolutionary ways,
see where you can simulate the machine
using the hardware description language
to inform the simulator to actually drive
the simulation and that's a research project
that we're kind of currently running.
That's a close up of the detail
of the last picture I showed you
and there you can see this stops the engine.
I mentioned that the printing
apparatus when it got to the end
of the page would automatically halt the machine
and here you can see this stops the engine.
That's when the page gets the-- when the thing
gets to the end of its line, end of its column,
it's doing line to line and so on.
So, and that's the full device.
It's 4,000 parts.
So that one single flow diagram
actually is an abstract formalization
of the 4000-part apparatus.
Now I'm going to show you two videos.
There were hard works done.
I'm going to show you a video of how
Babbage's locking security system work.
Okay, you've got a figure
wheel, you've got a lock.
A lock is I think were the
wedge-shaped thing, you can see it here.
There's a little wedge, that
little shadow is the wedge.
So, this lock is like a sword blade
which runs on the entire column.
That wedge goes between the teeth.
And that the wedge has three functions.
Firstly, there's a small derangement, you
get this, is what I call pulse shaping.
You get automatic error correction.
So if it's deranged slightly
it will automatically send
to figure the entry of the wedge.
During periods of the cycle where that thing
should not be moved, because it shouldn't move,
because it might be deranged, because
it might be influenced by something else
but shouldn't be, it locks
it and holds the lock in.
And the device can't move.
And finally, if a wheel drifts
through two and a quarter degrees,
as the lock comes in it will
hit a tooth end on and jam.
Now, jamming is not as catastrophic
as it might appear.
Jamming is a form of error detection.
If the machine jams it's
indicating that there's a wheel
in an indeterminate position,
it's no longer digital.
The integrity of the calculation has been
compromised and the machine was jammed in order
to alert the operator that
the results are unreliable.
So, that's what the lock does
and we can now watch it operate.
[ Pause ]
Okay, these are operating on the racks,
horizontal racks not figure wheels.
And you can see as it enter, if you just watch
there, watch very carefully as it goes in.
It automatically readjusts
everything so that it's aligned.
As it goes in, there's a small deviation,
I don't know if you can spot it.
Right, it's self-correcting and
it operates all the way through.
It's correcting all the time.
Now it locks throughout the engine.
[ Pause ]
Okay. So that's one example of how the
lock, that's on racks, it's easier to use.
Most of them are on figure wheel column,
so the inside you can't see them.
That one is done because it's
quite exposed as part of the--
those are the horizontal locks which communicate
from the tabular value to the printer.
Okay, I'm going to run the engine for you now.
This takes about just over a minute.
Unfortunately, the quality isn't massively
good because it was actually transferred--
there's a pre-video that
I used actually [noise].
Okay, that's Richard Horton,
science museum engineer.
Now, that slapping sound is the locks coming in.
Every one of those columns has a lock.
What you can see there is the controller
going up and taking an inked impression
of the result [inaudible]
every cycle of the machine.
It produces six results every minute, sorry,
10 results every minute, one every 6 seconds.
That weight drops, it launches the paper
tray automatically, the matrix [inaudible].
Okay, this is the cam stuff,
this is the microprogram,
this orchestrates the internal functions.
That's 28 cams, 14 conjugate cams.
Each has a geometric inversion
of itself, the cam follows.
So, you can see a cam follower that's
operating the locks you can hear
that slapping sound synchronized with that.
The timing cycle is terribly, terribly tight.
And then it just pans back so we can reorient.
Now, you can see the shifting motion
here is that arc lining I mentioned.
We'll see it again now.
[ Noise ]
We can see all the odds move
together, all the evens, so 1, 3,
5 moves and then the evens move together.
[ Noise ]
I mean who cares whether it works.
[ Laughter ]
[ Noise ]
Okay, this is just pure ballet,
it's a mechanical ballet.
That's the successive carry mechanism where
it's polling each [inaudible] in turn to find
if there's a carrying which
needs to be propagated.
It's helical, just like double
DNA, bonds of DNA.
[ Noise ]
Right. Okay, what can we
conclude from this, how practical,
what kind of proposition
is it, very, very briefly.
There are several challenges,
one is the knowledge gap.
Three people studied this.
The archive, Babbage's archive consists of
1000 notations, 7000 sheets of manuscript.
Only three people have ever
studied this and not completely.
And that's Bruce Collier, an
American, did a Harvard PhD in 1970.
Wrote a beautiful thesis on the
evolution of Babbage's ideas.
Professor Maurice Wilkes who
in 1969-1970 for the 1971,
the bicentenary, he won the bicentenaries.
He did a modern evaluation, the
first evaluation in the modern era
of Babbage as a computer pioneer.
And finally, Allan Bromley who's the person who
really cracked these designs in huge details.
He's produced some [inaudible] papers
and all, none of those three are alive.
Bromley died in 2002.
He published only three papers
which are a kind of survey papers.
So what if there's a knowledge gap, we're
going to have to recover a lot of knowledge
that was lost by these three people.
So, one of the things we want to
build in is succession planning.
We want a bunch of postdocs in there.
So, that this thing is going to take 170 years.
We're going to need some kind continuity.
So, what is the knowledge gap?
There are two forms of knowledge, one is the
last knowledge that people have already had
and the other thing is the knowledge gap in
the sense that there was no complete drawing.
Well behind the starting line
with Difference Engine 2,
we had 20 complete sets of
drawings as a starting point.
Over here, you got three different versions
of the machine, incompletely specified.
There are some elements of one version
specified in great detail and elements
of another which are missing completely.
It is not entirely clear how the control
mechanisms to integrate the high level control
from punch cards with the
microprogram internally.
How do you program the thing
for multiple processing?
It's not evident that Babbage actually
worked these out in a huge detail.
So, there's a knowledge gap, we're
behind the starting line there.
The-- so, those sorts of
things darken our prospects.
What brightens our prospects?
What brightens our prospects is the fact that,
we started the Difference
Engine 2 project in 1985.
We finished the first engine in 2002.
And then we built a duplicate, a
multiple original for Nathan Myhrvold in--
for his private collection in California
and that's the one that's now currently
on exhibition at the Computer
History of Museum in California.
We used conventional pen and paper design
for all the parts, 168 drawings drawn
by hand using a conventional draftsman.
That was a huge overhead in resources,
in physical time and in resources.
What the biggest single thing
which will collapse 170 years to,
what I used to make will be
substantially less is we're going
to simulate the machine before we even build it.
And I would suggest that we
can actually solve almost all,
certainly issues of logical
feasibility completeness.
All, except the final engineering
issues done at stage of simulation.
Also, if the simulation front end is chosen
judiciously, as a front end to a CAD/CAM system,
manufacturing then ceases to be
the huge burden it was when we had
to do things by hand fettling and so on.
So, the-- so, if we put all this in a kind of
predictive mix and mix together, the classic
and traditional engineering fetch factors,
guess work, divination, astrological prediction,
I reckon on 15 to 20 years to construct
and between 20 and 40 million dollars.
And so, I would put the question
mark in mission impossible.
Thanks very much.
[ Applause ]
>> Questions, anybody?
Doron, I'll let you steer them.
>> So, when you built the
different engine, [inaudible]?
>> There are two categories of-- are you
talking about deficiencies in the drawings
or actually trying to debug
the thing in real life.
>> No, I'm talking about the plan.
>> The plans?
They took--
>> You can talk about the
other two most definitely.
>> The plans provided complete logical
description of what the machine is intended
to do and what the parts,
shape of the parts were.
What it does not contain is methods
of manufacture which it couldn't do,
choice of materials, finish,
and tolerance thing.
This tolerance thing didn't exist in
those, there were no interchangeable parts.
You couldn't say make a part
to it in the tolerance.
We had to provide all that from modern machine
manufacturing, so that information is missing.
But in terms of bugs, we found
astonishingly no fundamental logical errors
that compromise the fundamental
function of the machine.
There were a huge number of things, thousands
of things we had to do to make it work
but none of them were logical things.
There's only one device we actually had to
redesign, and that was not a logical device,
it was a sliding clutch in the print mechanism
where you had a drive mechanism that was sliding
in the slot on the shaft and had to
turn at the same time and the load,
the torque on that part made
it such that it couldn't slide.
So, we redesigned that but in the same space.
That's the most extreme redesign
we had to do, not a logical thing,
a practical thing about just
a few engineering thing.
There were huge numbers of
modifications we had to do.
For instance, when you turn,
or you saw that cam follower
with that slapping sound
hitting that steep rise.
You couldn't turn the handle to get
the cam follower pass that rise.
So, wherever there were modifications
to be made,
we looked elsewhere for solutions
Babbage had used.
And Babbage had used a kind of balancing spring.
Those axes actually aren't displaced up and
down, they bob around a neutral position,
not just displaced because they
can balance from on the top.
So, you don't actually carry
the load of turning that handle
to lift that ton of ax-- all those axes.
So, we used the same technique, slotted
it underneath and lo and behold.
So, there's an example of a modification which
I would say is essential in logical terms.
We found, in short, there was nothing
that compromised the logical
validity of this machine [inaudible].
But there were thousands
of engineering instances.
We strengthened framing.
We had increased tolerances to make
clearances where there were no clearances.
We had resolved issues in the-- there's
one terrible error in the drawings which is
so basic it's incompressible that
it might not have been deliberate.
And that is the fundamental carrying mechanism
doesn't work as drawn but a mirror image
of it does because the direction
of rotation is wrong.
And the speculation whether this was
to prevent industrial espionage
or the draftsman got it wrong.
But there are examples of mirror image,
the fundamental workings sort of thing.
There were precautionary modifications,
there were remedial modifications.
Precaution modification is things we
anticipated, we didn't think that the weight
of the printer was well supported on
the frame so we built bigger brackets.
That's a remediable, that was a remediable one.
There were precautionary ones where we thought
that there was one tooth on an impact gear
that would come on a particular stress.
And so, we used a slightly
higher grade of steel,
only part in the whole machinery we
used a slightly higher grade of steel
than Babbage himself would have had available.
But for the rest, the bronze, the cast iron,
and the steels we did composition analysis
on these things to match to the
metals as precisely as we could
and we built the machine no more
precisely than we know from measurement
from Difference Engine 1 Babbage
himself could have achieved.
That was the idea.
We had to resist the charge and say you
built it but Babbage could not have,
otherwise you would have vindicated nothing
if we'd actually use the modern techniques.
We didn't use period manufacturing,
we used CAD/CAM system,
we used computer aided manufacturer but always
within tolerances preferably
sloppier than actually Babbage would.
So, in short, there were
huge numbers of [inaudible]
like for instance the same part represented
inconsistently on two views of the same,
so the same part we dimensioned
differently between the drawings.
Well you can't build it as Babbage
designed with the problem like that.
There are omissions, there are
omissions, there are omitted mechanisms.
The printing mechanism has print wheels and
inking rollers but no visible means of support.
They just sit there, either it was incomplete
or it's sort of so trivial to arrive the--
the drive from somewhere else so
that's what we did, but always looking
for solutions that Babbage had used elsewhere.
So, in short, no fundamental logical that
includes huge numbers of engineering issues.
[ Inaudible Remark ]
I tell you why this calls for optimism.
The printing mechanism that I've showed
you is designed for the analytical engine
and the difference engine, it's a dual
design 'cause that's the most sophisticated.
1846, he stopped the analytical engine, came
back to it later with some refinements, 1846.
He's designed Difference Engine 2 between
1847 and 1849 immediately after this.
So, this was his fresh from
the analytical engine.
He wants a printer for the analytical engine.
He designs a dual purpose one.
So, we built a piece.
We built 4,000 parts of the analytical engine
and it spectacularly works
as exactly as intended.
So, I think the incompleteness' are things
that are resolvable by immersing one's self
into the design style and the thinking but,
you know, the incompleteness' are substantial.
>> The list of features that you
mentioned, I mean, it's not--
unlike, you know, the first
computers or whatever.
They were actually bigger [inaudible], isn't it?
>> Yes, nothing new, yes.
[Inaudible Remark]
>> So, you know, we have
reasons for confidence, you know.
That, and, when until we built the engine there
was an historical question mark over Babbage.
It was Babbage, the guy who designed these huge
vast mechanical engines but he never built them.
And the big question was, with the circumstances
surrounding the collapse of his own attempts
to do so, did that conceal the logical
or technical possibility of the machines.
So, a question mark is always
hanging over his head in a sense,
was this impractical dreamer
or a genius designer.
And the fact that his engine works as he
intended it to work and we used the parts
with no greater precision than was achievable in
his day sort of pretty well vindicates the fact
that we're talking about some, you
know, vision verging on genius here.
You know somebody who was not
just a visionary but somebody
who actually was a designer
of extraordinary caliber.
So, those are reasons for optimism, you know.
>> [Inaudible] cranking the handle and
the machine working and it doesn't seem
to be putting in any extraordinary effort so
it seems like the machine is well designed
for the kind of energy load that could
be produced in that little supply manner.
I'm wondering whether there's any doubt
turn out [inaudible] concerns either
because of the weight of all the parts
that have to move or because of--
well, you mentioned one friction
issue having to do with the cams.
Where there any other questions
relating to friction from having
so many parts being moved by just one handle?
>> I'm tracking back to the-- that relation.
When engineers first looked at this
drawing and we were appalled by this.
They said you couldn't possibly turn the
handle because of accumulative friction,
because the understanding was that each of
these columns will drive the column alongside.
Here's an example of a--
sorry, this is a digression.
You can see that at the gap between that column
and that column is bigger than then others.
The question is, is that significant?
It's an error in the drawing.
The draftsmen started on Monday at this end and
started on Thursday at this end [inaudible].
We pondered long and hard whether was some
deep significance to that alteration or pitch,
but there's an example of something that have to
be resolved, you know, of gaps in the drawing.
The question of, right, when
engineers first looked at this,
they said you couldn't possibly turn
the handle and of course, you know,
as Babbage advocates or, you know,
our genius hero could not have
made an error so fundamental.
You are lifting a huge amount of weight there.
And what we did as a precautionary measure
in deference to the people who doubted
that the handle could be turned
we put [inaudible] reduction here.
Those [inaudible] easier to turn
the machine and run [inaudible]
to make it go as Babbage intended.
And so, I'll run along to the, I'll show you
the, okay, if we just look at this drawing.
The handle comes straight
out of the main shaft there.
Yup, there's a main drive shaft, goes
[inaudible] but it's unaligned with that shaft.
If we go back to the [inaudible] of the machine
we can see the handle actually doesn't kind
of have-- oops, the handle doesn't kind of have
the main shaft, the handle comes down below.
And that's a precautionary
modification [inaudible] reduction gear.
It's unnecessary but we've never taken it away.
We're sort of happy when it
works that we don't touch it.
So, we've never actually, we've always run
it that way but everything is reversible.
You just pull a pin out and you could put
the handle back where Babbage intended.
So, the question of issue on
friction, the machine is well running
and as you correctly observed it's quite
easy to turn, you can turn it with one hand.
But at three or four points in
the cycle there's a shock load.
When that steep rise on the cam for the
locks comes in you suddenly get a shock load.
So, there's a trick, there's a technique for
running the engine evenly and that is not
to go faster when it's easy but actually to
put some force and to do it very uniformly
and strongly so that you drive it
through the shock loads at an even pace.
Otherwise, it tends to jam.
And so, as far as friction goes, there was a
catastrophic piece of frictional difficulty
that that took us over a year to solve and it
delayed the completion of the printer by a year.
And there is that, the [inaudible].
I've got a simulation that
will demonstrate easy.
These are vertical, these are vertical racks.
So, there's a gear wheel sitting in
the last column which turns this way.
You have to transfer that motion
to a print wheel going this way.
It's done through a series of
spindles and vertical racks.
So, a vertical rack is a thin slice of a slate
with gears on it which is turned by a spindle
on top and operates the wheel,
the figure wheel at the bottom.
Because those are so thin and they have to fit
within the pitch of the printing mechanism.
So, they have to all fit
within the width of one column.
That has to fit within the width
of one column, the 30 of those.
We thought that because they're so thin we'd
help them by letting them butt on to each other
and slide against each other so
it would reinforce each other.
That cost us a year, that decision.
Because the sliding friction was so great there
was a back pressure which started distorting
and affecting the timing
of the rest of the machine.
We didn't understand that, we
started solving the problems
that were consequential on this decision.
So, we used all kinds of things, we put an
electric motor on to wear them in and run them
for 36 hours to try and wear
the vertical racks in.
We then used a-- stopped using--
we used conventional oils.
Catastrophic, surface tension
meant they actually stuck together.
We drive them all out, we used graphite.
And eventually we said take these out and
reduce the bearing surfaces by machining,
scalloping out pieces to reuse the bearing
and thin the whole lot completely,
so the actual thing.
And you can actually [inaudible] within that.
They're quite strong enough
and that solved the problem.
But that was the only frictional problem,
it's not inherent to Babbage's design,
it's because we chose, he doesn't
specify tolerances and so we
as a precautionary measure said we'll
reinforce these slots butting them
on to each other and that was catastrophic.
It masked a huge number of, it created a
huge number of problems and the problems
which mask the actual cause, but that's
the only frictional issue that there was.
>> All right.
I think let's let Doron surrender.
[ Applause ]
