Digital Dreams In A Steam Engine World

The Babbage Engine Exhibit opens May 10 at the Computer History Museum in Mountain View, Calif. The central artifact of the exhibit, a faithful construction of Englishman Charles Babbage's Difference Engine No. 2 under the guidance of Babbage Project director Doron Swade, will be on display at the Computer History Museum for a year. Another working version of the engine, fabricated at the same time as the Computer History Museum's machine but assembled earlier, resides at London's Science Museum.

Difference Engine No. 2 is a working, hand-cranked automatic computing engine that was constructed by Doron Swade and his team over the course of three and a half years in London, where its sister engine, completed in 2002, is housed at that city's Science Museum. While both extant Difference Engines No. 2 were built to the specifications set out in Babbage's designs, the engines are not technically "replicas," according to Swade -- because Babbage himself was never able to secure the considerable financial backing needed to construct one of his inventions.

As the parts for the 2002 engine and the more recently assembled one were fabricated at the same time, Swade believes it would be fairer to call the two engines "original copies" of designs for one of the earliest and certainly most ambitious calculating engines ever devised.

Charles Babbage (1791-1871) is a remarkable but ultimately tragic figure in the history of computing, known equally for designs that anticipated modern computing and for his failure to get any of them built. Combining enormous talent in both mathematics and mechanical engineering, he conceived of and designed Difference Engine No. 1 in the early 19th century. Babbage first proposed such an engine in a paper to the Royal Astronomical Society on June 14, 1822, updating an idea generally credited to Hessian army engineer Johann Helfrich Muller in 1786.

Practical attempts to build Difference Engine No. 1 were abandoned in March of 1833 due to a dispute with his engineer Joseph Clement and several workers over compensation and the withdrawal of British government funding for the project. Babbage's Difference Engine No. 2, an improved design devised in the 1840s, was also never actually constructed.

Babbage's Analytical Engine -- again, never built -- marked what Doron Swade calls "the essential transition from calculation to computation -- from the mechanized arithmetic of the Difference Engine to programmable general-purpose computation -- the principles of which he embodied in the designs for the Analytical Engine." Designed to be a punch-card programmed, steam-powered computing behemoth measuring 90 feet long by 30 feet wide, the Analytical Engine possessed 'memory' that could store 1,000 numbers of 50 digits each.

Babbage's separation of the memory, which he called "the store," from the Analytical Engine's "mill," or processor, "foreshadowed [John] von Neumann's scheme that has dominated computer architectures in the electronic era," according to Swade. Indeed, Babbage's Analytical Engine designs "incorporate most of the essential logical features commonly found in a present-day general-purpose digital computer," he notes.

The successful construction of a working engine built from his designs "vindicates Babbage as a designer of extraordinary practical inventiveness," says Swade. "So we can demonstrably say that Babbage was not an impractical dreamer but a designer of the highest caliber." Indeed, it is fairly amazing that Babbage has so often been painted in terms of an understandable failure to realize what proved to be an extraordinarily difficult and ambitious project even in modern times.

This view has become his legacy, despite his accomplishments in a broad scope of endeavors, ranging from pioneering lighthouse signaling to inventing the ophthalmoscope, as well as a host of far-sighted proposals such as the harnessing of tidal power and the placement of the equivalent of "black box" recorders in trains to monitor conditions preceding railway catastrophes.

Australian computer scientist and historian Allan Bromley began decoding the drawings for Difference Engine No. 2 in 1979. Six years later, Bromley presented himself to the then-new curator of computing at London's Science Museum, Swade, with a proposal -- to build the thing. After a failed first attempt to build a trial piece, a small section of the machine was successfully built in 1989 and the race to build a complete Difference Engine No. 2 was on.

The team that conceived of and built a working engine just under 17 years after the late Allan Bromley first proposed doing so included Bromley himself, Swade, Science Museum engineering curator Michael Wright and staff member Peter Turvey, and Rhoden Partners engineers Reg Crick and Barrie Holloway.

Difference Engine No. 2 was a "simplifying and expediting [of] the mechanical process of the first Difference Engine," wrote Babbage in 1864. The second design achieved similar calculating capacity to the first, but with just 8,000 parts compared to 25,000, and was clearly a better candidate for construction by Doron Swade and his team. However, another factor played into the decision to build Difference Engine No. 2. Unlike his other designs, Babbage's notes and drawings for his second Difference Engine are virtually complete -- "there is no evidence that any are missing," according to Swade. The set of drawings "consists of 20 main views, several derivative tracings and technical descriptions expressed in Babbage's Mechanical Notation -- an elaborate, idiosyncratic system of signs and symbols that served as an abstract descriptive language he designed as a design aid."

Doron Swade, the leader of the team that built the only two authentic, working versions of Difference Engine No. 2, and the engine's designer Charles Babbage, at the Computer History Museum during a May 1 preview of the museum's upcoming Babbage Engine Exhibit.

"Babbage himself failed to build a complete calculating engine and through it, to convey to his world a vision of automatic computation. He died embittered and unacknowledged," says Swade. "This engine memorializes the first computer pioneer and closes an anguished chapter in the history of computing."

Doron Swade describes to Computer History Museum visitors the mechanical details and capabilities of Difference Engine No. 2. The engine weighs five metric tons and is 11 feet long by 7 feet tall, with a depth ranging from 18 inches to 4 feet. Its 8,000 individual parts make up the three main sections of the machine -- the control mechanism alongside the crank handle, the calculating section of eight vertical column assemblies, and the printing and stereotyping output apparatus.

The engine was commissioned by Nathan Myhrvold, CEO of Intellectual Ventures and former CTO of Microsoft. It will be the centerpiece of the Computer History Museum's Babbage Engine Exhibit for a year before being transferred to Myhrvold's private collection.

The vertical stack of engine cams driven by the crank handle via bevel gears is comprised of 14 pairs of conjugate cams -- each with a companion cam whose profile is a geometric inversion of its mate -- providing positive bidirectional drive so that shafts and columns are lifted and positively driven downward instead of relying on gravity, as described by Swade. The 28 cams control the lifting, turning and sliding motions required to execute the repeated additions for the method of finite differences that is the principle behind Difference Engine No. 2's calculations.

While the construction team, per Swade, "unashamedly" used modern manufacturing techniques to make engine parts like the main bevel gear drive pictured here, the materials used were agonized over and chosen as faithfully as possible to those that would have been available to Babbage in his era. Thus loose parts from Babbage's earlier works were analyzed by metallurgists and "a series of blockbuster meetings" between Swade, Bromley and the rest of the team were held to determine the proper mix of metals and elements for the gunmetal, cast iron and steel parts to be fabricated.

To calculate differential equations on Difference Engine No. 2, Swade explains, numbers are stored and operated upon using 248 figure wheels engraved with numbers from zero through nine. The engine's middle section has eight columns, or axes, that possess 31 figure wheels apiece -- one column for each of seven differences, and a column for the tabular result. Initial values are set by hand from a pre-calculated table by rotating the figure wheels, and once running, the engine automatically calculates and tabulates any seventh-order polynomial to 31 decimal places using the method of finite differences.

The results of the Difference Engine's calculations are printed to 30 decimal places on a paper roll that is part of the engine's printing and stereotyping apparatus. Below the paper spool, inking apparatus and print wheels is a carriage of soft material which is simultaneously impressed with the same results for the production of stereotype molds from which printing plates can be made. Because the output apparatus is directly coupled to the calculating section of the engine, the capture of machine-replicable output, including the typesetting, printing and stereotyping functions, occurs automatically as the engine is cranked and calculations are produced.

Unlike Babbage's more computer-like Analytical Engine, there is no buffering or storage of the result, but also no time delay in producing hard copies of the output because it is incorporated in the calculating cycle, directly driven by the same hand-cranking that works the figure wheel axes.

Charles Babbage built upon the work of several predecessors in the development of mechanical calculating. Primary among them was German Wilhelm Schickard (1592-1635), whose "Speeding Clock" machine for addition and subtraction was built in 1623 and widely regarded as the first mechanical calculator, though it was not widely produced.

Blaise Pascal (1623-1662) of France, who at the age of 18 invented a calculator that was also capable of addition and subtraction, had greater success with his "Pascaline" calculator, building about 50 over his lifetime. Pictured here is one of Pascal's calculators on display at the Muse des Arts et Mtiers in Paris.

Another key figure in the early history of computing was Germany's Gottfried Wilhelm Leibniz (1646-1716), whose "Stepped Reckoner" added multiplication and very limited division to Pascal's earlier invention.

Babbage's contemporaries or near-contemporaries in the advancement of mechanical calculation included a pair of inventors on the continent who experienced starkly contrasting levels of commercial success. Hessian army engineer Johann Helfrich Muller (1746-1830) is credited with originating in 1786 the idea for a mechanical 'difference engine' that would produce a hard copy output of its calculations. Like Babbage, Muller was unable to construct one. Pictured here is the less ambitious mechanical calculator he built in 1784. M¼ller's "Rechensmaschine" found a buyer in Grand Duke Ludwig I of Hesse-Darmstadt, but the inventor was never able to find back for volume production of the calculator.

Frenchman Charles Xavier Thomas de Colmar (1785-1870) patented his Arithometer in 1820, a mechanical calculator that could add, subtract and multiply, as well as divide with a bit more fiddling by the user. While not much more powerful than Leibniz's invention from more than a century earlier, the Arithometer was a great deal more dependable, and was actually in production through the first years of the 20th century.

One famous figure in Charles Babbage's life was his sometime collaborator, London-born Augusta Ada Byron King, Countess of Lovelace (1815-1852), the first child of the poet Lord Byron and his wife Annabella. Lovelace is regarded by some to be the first "computer programmer" for her work with Charles Babbage on a sequence of calculations for his proposed Analytical Engine. There is some historical dispute as to whether Lovelace herself devised an instruction set for calculating Bernoulli numbers with the Analytical Engine, the supposed first-ever "computer program," or instead corrected an error on Babbage's part in his creation of the sequence.

Nevertheless, "Lady Ada" is mythologized in literature and elsewhere as a bewitching, scandal-prone prodigy whose vision of complex computing possibilities exceeded Babbage's own, more limited focus on linear calculations. The inventor's own affection for Lovelace no doubt fuels this impression -- Babbage poetically described her as "The Enchantress of Numbers" in 1843. There is no small amount of irony in the forward-thinking Lovelace's demise, bled to death at just 36 by doctors attempting to cure her uterine cancer.