Archive for the ‘Data’ Category

Media Futures 2006: 3/5, API: Introduction

Thursday, October 26th, 2006

API stands for Application Programming Interface.  In the context of Media Futures, an API routes the output from one’s own unique Attention-processing Algorithm  into an Alchemical reaction triggered by the convergence of other human-driven APIs.

I wrote my first post about APIs in the Spring of 05, at a moment when APIs such as those of Flickr and del.icio.us were just starting to become becoming popular targets of developers.  Since then, the subject of APIs has become commonplace in any discussion of the future of media.  In fact AOL- that stalwart of old new media- is now obsessed with open APIs.  Tina calls it the “the liberation of egosystems.”  Open data transport has suddenly become de riguer among the even the most traditional media companies.  In less than two weeks, legions of their corporate development executives will descend upon SF to walk down the red carpet of the O’Reilly ceremony, ready to sign the top Web 2.0 talent to long-term studio deals.

But while we all fall over ourselves to proclaim our “openness,” we introduce a far heavier burden of trust into the mix.  Is one company’s “open” the same as another’s?  While I may be able to avoid data lock-in in that silo, how do i know for sure the next “open data” silo will be equally amenable to the mobility of my data?  These questions beg a deeper investigation into the history of APIs and their evolution both physically and electronically.

History

In a memorandum dated July 15, 1949, Warren Weaver, who held the position of director of the division of natural sciences at the Rockefeller Foundation from 1932 – 1955, wrote about the possibility of language translation by an electronic computer.  It was the first suggestion most had seen that such a thing might be possible, and as he draws the memorandum to a close, his words preview the emergence of the API:

Think, by analogy, of individuals living in a series of tall closed towers, all erected over a common foundation.  When they try to communicate with one another, they shout back and forth, each from his own closed tower.  It is difficult to make the sound penetrate even the nearest towers, and communication proceeds very poorly indeed.  But, when an individual goes down his tower, he finds himself in a great open basement, common to all the towers.  Here he establishes easy and useful communication with the persons who have also descended from their towers.

Thus may it be true that the way to translate from Chinese to Arabic, or from Russian to Portuguese, is not to attempt the direct route, shouting from tower to tower.  Perhaps the way is to descend, from each language, down to the common base of human communication – the real but as yet undiscovered universal language – and then re-emerge by whatever particular route is convenient.  Such a program involves a presumably tremendous amount of work in the logical structure of languages before one would be ready for any mechanization.

The key to examining the evolution of the role of the API in context of Media Futures lies, in fact, in the multiple resonances of its last term, Interface:  as a surface lying between two portions of matter or space, thus forming their common boundary; as a means or location of interaction between two systems or organizations; as an apparatus designed to connect two scientific instruments so that they can be operated jointly, the abstract concept of an interface contains in it the possibility of a very literal connection between two beings, two faces.  As a physical interface connects two pieces of hardware, a user interface connects a human and a computer and a software interface connects separate software components so that they may communicate with one another.  To interface is to come into interaction with a thing or being, to communicate, in manners both figurative and literal.

Mainframes

As a platform that allows a computer system, library or application to open itself to use by other computer programs, or to allow for the exchange of data between them, the APIs of yesterday were IBM mainframes and Microsoft SDKs, arcane languages of translation between hardware and software.

From the late 1950s through the 1970s, a number of American, German and British manufacturers (Burroughs, Control Data Corporation, General Electric, Honeywell, NCR, RCA and UNIVAC; Siemens and Telefunken; and ICL, respectively), produced such mainframes, computers used in large part by companies and government institutions for the purposes of bulk data processing in the context of, for example, the census or financial transaction processing.  IBM secured itself a position of power in the industry with the development of its 700/7000 series, based on vacuum tubes and transistors, and with its 360 series mainframe.  Unveiled in 1964, the 360 series was to be an all-around computer system, a series of compatible models for purposes both scientific and commercial – a series which, moreover, brought together features which were once only available in scientific or commercial computers, such as floating point arithmetic in the former and decimal arithmetic and byte addressing in the latter.  The 360 series also included supervisor and application mode programs and instructions and built-in memory protection facilities, making it one of the first computers manufactured with provisions specific to the use of an operating system.

Console of an IBM 360/67 mainframe

Mainframe

PCs

As the demand for the older mainframe systems fell off, new installations were seen mainly in the realms of finance and the government.  Personal computer networks came to challenge the mainframe.  It was during the rise of personal computing networks, though, that the APIs with which we are most familiar came into being and, in the case of Windows, achieved dominance. 

Altair

In 1975, the Altair 8800 was introduced in Popular Electronics, a personal computer that was affordable, user-friendly, and, some argue, the spark that set Apple Computer and Microsoft ablaze in their development of personal computers. The Apple II, though less capable and versatile than some of the larger computers of the day, gave computer enthusiasts an environment in which to develop their own programming skills and to operate simple office and productivity applications. 

Apple

The IBM PC released in 1981 took the personal computer into the realm of business, giving individual users word processing programs, spreadsheet programs and database programs which would change the way businesses stored, sorted and used their data. Four years later in 1985, in order to compete with the graphical user interfaces made popular by Apple, Microsoft released an add-on to MS-DOS – an operating environment known as Windows.

 

Windows

Though that release of Windows was not an operating system in the full sense of the term, it had pushed beyond the characteristics of a typical desktop, adopting some functions of operating systems.  Windows achieved a leg up on competing systems due in large part to the fact that MS-DOS dominated the early landscape of personal computing.  But the dominance of Windows (up until Google that is) is the API.  The APIs which enabled professional programmers to develop desktop applications on top of platforms (perhaps most notably the Microsoft Windows API), have now given way to APIs which feed off of the platform of the Internet.  And while Microsoft and the desktop are controlled by physical bodies, the Internet, despite the fact that certain companies do, in fact, oversee enormous pools of user data and have the ability to direct traffic as they see fit, is not governed by a particular body or set of bodies.  If the power flow of yesterday’s APIs was a vertical one, headed at top by the executives of companies like Microsoft, which allowed programmers to work off of their platform to develop applications to be used by the users at the  bottom, we might see the power flow of today’s APIs as closer to a horizontal one.   

Next:  The Thrilling Poverty of Physical Gestures

MEDIA FUTURES 2006: 2/5 ALGORITHM: History of Algorithm

Sunday, September 3rd, 2006

An algorithm is a machine that can be used to reproduce a unique pattern of behavior.   The history of the word traces back to the Greeks and the instruments they used for mathematics; for example, the sieve.  In the context of Media Futures, imagine that algorithms are tightly woven filters that capture the full range of human Automata and slowly sift through them to produce the most meaningful, intentional gestures.

Animation_sieb_des_eratosthenes







Ancient Algorithms

Finding its root in algorism, a reading of the name of Abu Ja’far Muhammad ibn Musa Al-Khwarizmi, the 9th century Persian mathematician who described a set of rules for solving both Linear and Quadratic equations, algorithm came to its present state by way of an 18th century European Latin translation and soon expanded its meaning to encompass all definite procedures for solving problems or performing tasks.  The very first algorithms are a part of the Babylonian mathematical legacy – a legacy which not only left us with algorithms for factorization, finding square roots and performing long division, but which also left us with the base 60 system that gives 60 minutes to an hour, 60 seconds to a minute, 360 degrees to a circle and 24 hours to a clock.  Babylonians were in fact able to calculate things with the same accuracy as Renaissance mathematicians due to their use of number tables, like the Plimpton Tablet, a table of Pythagorean Triples from about 1700 B.C.

Plimptontablet

While the Babylonians based their mathematical system in large part on algebra, the Greek system of mathematics was heavily based upon geometry.  It is speculated, though, that the founder of Greek science and mathematics, the philosopher Thales of Milet, visited Egypt and Babylon during his lifetime (634 – 546 B.C.) and brought back knowledge of their astronomy and geometry.  The Egyptians made great contributions in the fields of medicine, astronomy and applied mathematics, and while the former triumphs are well documented, there exist no records of the process by which they reached their mathematical conclusions.  Thales built on the knowledge brought back from his trips, inventing deductive mathematics and proving a number of theorems – a circle is bisected by a diameter; the base angles of an isosceles triangle are equal; and pairs of vertical angles formed by two intersecting lines are equal.

The foremost text on geometry came from fellow Greek Euclid, whose Elements put together former geometric knowledge with definitions, postulates and opinions – and, of course, Euclid’s elegant and rigorous proofs of the above.  In that text, he discussed the algorithm for finding the greatest common divisor of two numbers, which is today referred to as the Euclidean algorithm.  One hundred years later around 200 B.C., the world saw the next great algorithm – the Sieve of Eratosthenes, which was used to find prime numbers.

Sieve

From Wikipedia: 

Sieve of Eratosthenes is a simple, ancient algorithm for finding all prime numbers up to a specified integer. It is the predecessor to the modern Sieve of Atkin, which is faster but more complex. It was created by Eratosthenes, an ancient Greek mathematician.

 

Another important site in the history of the algorithm was Alexandria, home to Hero, Ptolemy, and Diophantos.  Hero, whom we will remember as the inventor of the steam eolipile and other Automata, published widely on geometrics, optics and mechanics – as well as mathematics.  Though sources suggest his work is derivative of Archimedes and the work of the Babylonians, his Formula to calculate the area of a triangle in terms of its sides and his Method to extract a root are important contributions to the world of mathematics.  Ptolemy published widely on astronomy and geography and calculated the best approximation of ‘pi’ for his time.  And Diophantos, known as the ‘father of algebra’, wrote his thirteen-volume Arithmetica on the solution of algebraic equations and the theory of numbers and introduced the use of algebraic symbolism with an abbreviation for the unknown for which he was solving.

But Diophantos shares the title of the ‘father of algebra’ with the aforementioned Al-Khwarizmi, whose work was responsible for significant advances in the world of mathematics. 

Alkhwarizmi_kitab_large

It was Al-Khwarizmi’s work that promoted the use of Hindu-Arabic numerals that not only pushed forward the numeral system we use today, but that gives us the very term algorithm. From the very first algorithms of the Babylonians to those of Al-Khwarizmi – to John Napier’s 1614 method for performing calculations using logarithms to the 19th century work of Boole, Frege and Peano, which set out to reduce arithmetic to a series of symbols which could be manipulated by rules – to the work of Babbage, Lovelace and Turing, which took these rules and transformed them into agents of action in computing, these feats of problem-solving are instrumental in understanding man’s quest for a grasp of the workings of the world at large.      

Babbage and Turing

One great advantage which we may derive from machinery
is from the check which it affords against the inattention, the
idleness, or the dishonesty of human agents.
From Babbage’s 1832 work “On the Economy of Machinery and Manufactures”

In our discussion of rules that govern the Internet, we must turn to the work of Babbage and Turing, for it serves as the important foundation for computing at all.  Babbage’s work grew out in part out of a need for more accurate mathematical tables, which were essential calculating aids used in navigation and astronomy, insurance and civil engineering.  These tables were produced by human computers and by hand – and as such, they were prone to error in terms of computation and reporting.  Even the slightest errors in navigational or astronomical tables can be costly – so it is no surprise that in the years leading up to Babbage’s project, government sources were willing to fund projects that would minimize the costs of troubleshooting. 

For example, the British Nautical Almanac, the world’s first permanent table-making project – had a reputation for ever-improving accuracy since its inception in 1766.  But moving into the 19th century, that seaman’s bible swung into a dangerous territory of inaccuracy and error, and the British government recognized the promise of producing mathematical tables mechanically and typesetting them by the same machine. 

So Babbage set out, with financial support (and the admirals’ prayers) to improve the accuracy of those ever-important mathematical tables by constructing algorithm-driven machines.  It was a move that mechanized the production of thought, a move that would eliminate human folly in computation, transcription and typesetting.  The result would be better answers, answers which would in turn be used for giving new instructions, as inputs in other algorithms.   

Babbage never finished his Difference Engine – though, in 1832 his manufacturing engineer did construct a working portion of it, which measured two and a half feet high by two feet wide by two feet deep.  Babbage moved forward to conceptualizing what would be the world’s first programmable digital computer – the Analytical Engine.  Babbage’s designed the engine such that it would separate the sites of arithmetic computation from the storage of numbers.  The computation would be carried out through a series of steps recorded on punch cards, such as the ones used in the technology of the Jacquard loom. 

A_engine

But however intriguing and important the technology seemed, Babbage’s Analytical Engine – due to factors financial and logistical – was never built.  It comes to us only through Ada Lovelace’s annotated translation of a French introduction to the machine – a piece of writing that established the algorithm for the computation of Bernouilli numbers, and a piece of writing that established the idea of computer programming.  Turing would later build on the work of Lovelace and Babbage, formalizing their concepts in the Universal Machine.

When Turing introduced the mathematical description of the Universal Machine in the 1936 paper “On Computable Numbers”, he set out to answer the Entscheidungsproblem, the third question left by mathematician David Hilbert.  Gödel had already answered Hilbert’s first two questions – No, mathematics was not complete, and it was not consistent.  Turing showed that mathematics was not decidable.  And that recipe to solve a particular problem, gave us an answer that begs the asking of a new set of questions.

Media Futures 2006: 1/5 Automata: A Brief History of Automata: Cranking Away Since Alexandra

Sunday, July 30th, 2006


 

If every instrument could accomplish its own work, obeying or anticipating the will of others.  If the shuttle could weave, and the pick touch the lyre, without a hand to guide them, chief workmen would not need servants, nor masters slaves.

So wrote Aristotle of the possibilities of the automaton: an object acting of itself, something bearing the power of spontaneous motion.  The advent of such a mechanism not only promised to change labor – eliminating the need for servants and slaves – but also had the potential to change media production and publication. 

In tracing the development of the automaton from its roots in ritual articulated objects to its contemporary versions, (particularly in the context of robots and models of cellular automata in computability theory and theoretical biology), it is useful to keep Aristotle’s commentary from the fourth century B.C. in mind. 

The history of automata begins with “creation” itself.  Genealogies of these self-replicating objects extend back to the creation myths of every religion and culture – from the story of God’s creation of Adam to the story of Prometheus, who made the first man and woman on earth from clay, which he animated with the fire he stole from heaven.  Moreover, the earliest articulated objects from prehistory of early historic times probably served both artistic and religious purposes: used by shamans, priests, and entertainers, these simple clay or wooden dolls with turning heads, arms, legs and hands could provide the illusion of movement as it occurs in nature, thus adding emotional impact to plays and fables.   


This baker kneading dough is an articulated Egyptian toy, one which was
probably found in the tomb from the time of the XII dynasty onwards.
By being deposited in the tomb, the baker became forever bound to his
master, accompanying him into the Beyond to continue to perform his
duties through the rest of time.

The purposes of automata were not strictly in the realm of morality and spirituality.  Hero of Alexandria (who is credited with the invention of the crank, the cam-shaft and a system of rotations and counterweights, as well as with having demonstrated the principles of the vacuum and the incompressibility of water) used automata to illustrate scientific principles.  In his Treatise on Pneumatics from A.D. 62, he laid out applications of science in the forms of singing birds, sounding trumpets, animals that could drink and coin-operated machines.  Hero’s most famous automaton, though, is the steam eolipile, which, in showing the expansion of gas when heated and the force of reaction in its escape, is regarded as an ancestor of the steam engine:

Above all, automata were sources of delight and entertainment: mechanical orchestras, living snuff boxes and cuckoo-clocks.   From King-shu Tse’s 500 B.C. flying magpie of wood and bamboo to Jacques de Vaucanson’s A.D. 1738 duck, which could eat, drink, splash around the water and digest its food like a real duck, inventors imitated nature for the delight of man:

 

Over time, the makers of automata moved from simply trying to recreate the motion of creatures in the natural world to trying to use these motions to accomplish the work of those very creatures.  This is not to say that entertainment automata disappeared – after all, fake talking human heads like Roger Bacon’s from the 13th century still capture the wonder (and horror) of onlookers at circus fairs and carnivals, as do automaton scribes, dancers and singers in the tradition of those seen below (and in the tradition of “It’s a Small World”). 

 

Picture: The Jaquet-Droz Writer, 1774.  Artifact courtesy of the Neuchâtel Museum.

technorati tags:, , , , ,