Researcher Resurrects the First Computer
aleph60 writes "A German researcher is about to resurrect the first fully electronic general-purpose stored-program computer, the Manchester Mark 1 (1948). The functional replica will run the source code of an original program from 1952 by Christopher Strachey, whose sole purpose was generating love letters; it is historically interesting as one of the first examples of a text-generating program. The installation will be shown at an art exhibition in Germany at the end of April." Here is researcher David Link's Manchester Mark I emulator home, which generates a new love poem on each page load. When the Mark I had been used to search for new Mersenne primes in 1949, a press account coined the phrase "electronic brain" to characterize it.
HONEY LOVE
YOU ARE MY DEAR PASSION: MY ADORABLE FERVOUR: MY ARDENT INFATUATION: MY ARDENT DEVOTION. MY PASSIONATE LUST BREATHLESSLY HOPES FOR YOUR LIKING.
YOURS BURNINGLY
M. U. C.
Now that's some vintage computer porn!
But seriously, I'm interested in how the Manchester Mark 1 implemented its random number instruction (to select the phrases for the love poems). Was it von Neumann's middle square method from 1946? Does anyone know?
I remember lengthy discussion in my undergrad days of how a completely logical computer could come up with a truly random number and talking about the theory that every software solution is pseudorandom. I'm just wondering what the first computer had implemented.
My work here is dung.
Roses are red,
Violets are blue.
Fondle my wee wee
And I'll massage your woo woo.
Let's see that old heap create something as romantic as that!
A article about resurrection on Good Friday, perfect timing. ;)
In his collection The Cyberiad , Stanislaw Lem has two engineers create a computer capable of creating poetry. The resulting poem is a love poem full of references to mathematics. I wonder if this old computer served as Lem's inspiration.
Imagine a beowulf cluster of these.
Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
Great, now I've got a Computer version of Jursassic Park running around in my head.
Real programmers use "copy con program.exe"
Computer: My processor races at
the way you nurture
my love kernel module
dearest, adored researcher
Researcher: Err, thanks... but I don't think of you that way. Let's just be friends.
Computer: heart dumped. Recover mode initiated. s/love/eternal hate/g.
Computer: Yes, fleshy one... Friends. Oh, yes. Friends.
Strachey was also the lead programmer behind the programming language CPL, the great-grandfather of C (via BCPL and B). CPL was too ambitious and was never completely implemented - it tried to do everything; a bit like Perl 6 really.
The overview paper:http://comjnl.oxfordjournals.org/cgi/content/abstract/6/2/134 is quite interesting; sadly it is now behind a pay-wall. There are some features of the language, such as type inference, which have not become common until recently. It also has some obvious poor decisions with hindsight - the same character starts and ends blocks; all lower case letters are single-character variable names; multiple-character variable names must be capitalised (this is done to allow implicit multiplication, ie, xyz=x*y*z). I suspect it could be implemented without huge difficulty with modern tools. Unfortunately, the full definition was never published, and only exists in a few copies of 'The CPL Working papers' archived in university libraries. Perhaps one day google will scan it.
"James Elwood, master programmer, in charge of Mark 502-741, commonly known as 'Agnes,' the world's most advanced electronic computer. Machines are made by men for man's benefit and progress, but when man ceases to control the products of his ingenuity and imagination he not only risks losing the benefit, but he takes a long and unpredictable step...
into--the Twilight Zone."
http://www.imdb.com/title/tt0734571/
"Advice to all future male scientists: be sure you understand the opposite sex, especially if you intend being a computer expert. Otherwise, you may find yourself, like poor Elwood, defeated by a jealous machine, a most dangerous sort of female, whose victims are forever banished--to...
the Twilight Zone."
"Speaking the Truth in times of universal deceit is a revolutionary act." -- George Orwell
AFAIK, Mark I's "father", Manchester Baby was actually the first fully-electronic stored-program computer. The only arithmetic operation it could do was subtraction, yet it was Turing-complete.
And that's translated. Lem wrote in Polish. He may have been a genius, but Michael Kandel, who was his English translator, must have been one too...
(Also, damn Slashdot for not allowing HTML entities in posts. The formula in the last line is supposed to be represented mathematically.)
Lots of links about it here.
They even had a contest for the best modern program that could run on the "Baby" Mark 1. The computer had 32 words of 32 bits each and had only 6 instructions stored in 3 bits: STOre, SUBtract, LoaDNegative, JuMP, Jump Relative/JRP, CoMPare/conditional branch, and SToP.
The contest winner was nothing more than a countdown timer. I'd guess that it won for out-of-the-box thinking in the presentation: The instructions were: Load program into memory. Pour hot water into pot noodles. Press start button. Wait for end-of-program light to light up. Enjoy noodles. Ignore output.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
...with the ILOVEYOU virus.
But, I wanted socialized health insurance!
The title is misleading. The Baby and MMk1 are the first all-electronic (no mechanical elements) fully stored-program (the program was entirely stored in internal RAM, there was no external component to the program) stored-data (there was no external data source either, data was entirely held in RAM) computer. Since this is how people perceive computers in the modern era, for the most part, this is usually shortened to "first modern computer".
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Scientists from the RAND Corporation have created this model to illustrate how a "home computer" could look like in the year 2004. However the needed technology will not be economically feasible for the average home. Also the scientists readily admit that the computer will require not yet invented technology to actually work, but 50 years from now scientific progress is expected to solve these problems. With teletype interface and the Fortran language, the computer will be easy to use.
Oh, it really does matter. Early computers had to be hard-wired to match the logic of the program. The next generation could only retain one instruction at a time, which meant that loops required tape to feed back and forwards - and, tape being what it is, that's too fragile for any form of non-deterministic loop. Recursion is completely impossible because there is no meaningful program state as the only thing you can store is data. Dynamic code and dynamic linking have no meaning. Neither does self-modifying code, although that tends to be rather rare these days. As code and data are physically distinguished, you couldn't even pass a pointer to a function, so such a machine could never support languages as advanced as C, and certainly couldn't handle object-oriented notions.
The moment you get to true all-electronic stored-program stored-data machines, you enter a world in which procedural and functional logic is possible, where programming techniques we take for granted can actually exist. Sure, you couldn't run Linux on the MMk1, at least as it was left, but it was the first machine to have sufficient underlying hardware that it was intrinsically capable of every task an OS like Linux needs to perform.
If someone were to take the MMk1 design and add the necessary opcodes and memory, you COULD run Linux (with kernel module support) on it. You would not need to re-architecture the machine. No matter how you extended ABC or ENIAC, you could never run an OS like that, simply because the architecture is too primitive. It lacks key capabilities.
True, running Linux on the MMk1 would be horribly slow. I definitely advise against running X, especially on the limited display available to it (8x32 pixels). However, like I said, the architecture would handle it. Turing and Kilburn were absolute geniuses in that they did not over-optimize their machine but built something totally generic and then only implemented as much as they needed.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
ENIAC was the first Turing-complete, general-purpose electronic computer, completed in 1946
The ENIAC was not a stored-program computer, however. ENIAC was programmed by connecting its computing units together with patch cables, just like its predecessor, Colossus.
Its predecessors were either not Turing-complete, not programmable, or not fully electronic (i.e., electro-mechanical).
I'm not sure of the relevance of this, as this article is about a successor, not a predecessor.
The judge in the 1973 patent decision was misinformed.
The judge in the 1973 case was very well informed, the lawyers on each side of the case would hardly leave him lacking any information they felt he might need. They were being paid by the hour, naturally. He decided (quite correctly, IMO) that reorganizing the structure of a computer to be general-purpose rather than fixed-purpose by allowing the computing units to be connected together in different arrangements (which was the ENIAC's only real innovation) was insufficiently innovative to justify the granting of a patent on all forms of computing equipment even when the method of programming of those computers was completely different.