39 comments

[ 3.0 ms ] story [ 95.5 ms ] thread
Article/media is a bit sensationalistic in describing this as an early computer. The programming language (a list of letters) doesn't support arbitrary logic, branching and doesn't have a notion of memory. In that way, it's like an intricate player piano or HTML. Still a marvel of mechanical engineering but conceptually far from what we consider a computer today.
I logged in to say this exact thing. This is not a programmable computer any more than a printing press was a programmable computer.

This is an EXTREMELY clever and complicated printer.

A printer IS a computer. The fact that it translates a language (the "bumps" on the cams) into action is the computational part.
I think this comes down to, does a device need to be Turing complete to be considered a computer? If not, then what level of complications is needed for it to be a computer? For example is a watch, or a record player, a computer?
Computer: an electronic device which is capable of receiving information (data) in a particular form and of performing a sequence of operations in accordance with a predetermined but variable set of procedural instructions (program) to produce a result in the form of information or signals.
I disagree with the "electronic" part. That disqualifies Charles Babbage's early mechanical computers, not to mention all of biological/chemical computing.
And the electro-mechanical computers of the 40s and 50s.
How do you separate the data from the instructions in this case? I'd say it's the same thing. You can change the word, but not how a word is translated into hand movements without rebuilding the whole thing (please don't!). Isn't the word configuration more like input, than a program?

On the other hand, this definition is very vague...

I don't know that it needs to be Turing complete, but I'm inclined to say that it should have at least some control operations to qualify as a computer.

Example: Consider a hypothetical machine that implements standard SQL in hardware. Such a device would not be Turing-complete. Would you still call it a computer? I would.

IMHO as long as it has states, and it actually accepts some input while rejecting others, it is a computer. http://en.wikipedia.org/wiki/Theory_of_computation

EDIT: Thus a printer IS a computer, not for the procedural operations, but for that you can feed in some illegal input through the interface(no matter serial, peripheral or USB), and it will either send you back some complaint, or disconnect from you, or burn itself down.

But can you feed this pinoccoscribe illegal input?
Probably not, since the correct response to illegal input is to never arrive at a halting state, and putting aside mechanical considerations, it doesn't seem like the boy is supposed to loop over anything in such a way that would allow it (in intention, not in practice) never to halt.
Not 'but' but 'and' right?
It's a bit oversimplistic to equate this with movable type. It's also sensationalist to describe it as an early computer, of course. But I'd be perfectly happy with characterizing it as a very early precursor to the computer.

It's common to trace the lineage of modern computers back through the Analytical Engine and the Difference engine to the Jacquard loom. And what the Jacquard loom is, is an apparatus which takes input in the form of a digital code and performs a distinct action for each possible value in the input. The Writer is also an apparatus which takes input in the form of a digital code and performs a distinct action for each possible value in the input.

The key difference is that the Jacquard loom's input is composite: It's a series of bits, each of which indicates whether a corresponding harness should be raised or lowered. That's enough of an incremental difference that I think it'd be totally fair to treat The Writer as another step back in the modern computer's lineage.

It would be fun to create a loom that could weave holes, and then feed its output into it as input.
This is more of a computer than movable type is, but it's not more programmable.
Well, no I think you're just wrong. Most academics would think of this as an early proto computer or programmable device. It is an automata. Just because there isn't a YouTube vid go some hipster showing you how to make a blog engine with it just change that.

But I guess we can play the Sarah Palin game blaming the "media." :)

If you are impressed with intricate work, than you'd be more impressed with virtually any piece of software written today. 6000 parts? Programs routinely have that many object instances - and usually far more. Indeed, many programs have that many classes. When you include runtime dependencies like the OS or database, you're average application is several orders of magnitude more intricate and complex.

That is not to say that The Writer is not a unique accomplishment. It truly is - to succeed in creating something that complex in physical objects, and without the helping constraints that modern programers labor under is remarkable and laudable. But if you are a fan of intricate work, you can find much better examples in modern software (not to mention CPU design).

EDIT: down-vote me all you want, assholes.

The difference perhaps lies in the amount of people who it took to create this interesting artifact: 2, quite a bit less than your examples.

Of course, you could easily argue that Fabrice Bellard is the software equivalent of a master watchmaker, and some of his creations would certainly be on par with this!

I'm just not convinced software is that impressive, I've seen 12 year olds write 'complex software' (at least to me), they didn't sure need a lifetime of knowledge and skill to do that.

Hello world might look complex on the wire when you think about the bits, but you didn't build any of those complexities yourself. This guy also didn't have the Internet to copy/paste from.

This sort of comment that makes me uncomfortable. I don't understand the insistence that everything you do has to be harder than everything else, or that this doesn't have any meaning because modern engineering is harder.

You see, you should be bragging that modern programming is easier. The whole point of evolving engineering is to make things easier -- what would be modern science and engineering good for if we had to build things this complicated from scratch?

People (rational people, that is) don't choose a framework or method of doing things because it's hard; in fact, quite the opposite, they obviously go for the easier ones! The merit should be -- look what I can achieve with such beautiful simplicity. It is trivial to conceive a harder way of doing almost everything.

In fact, if you look at the automata shown here, almost anyone with a tiny bit of programming knowledge and some hardware knowledge could build something similar with an arduino and some stepper motors.

> I don't understand the insistence that everything you do has to be harder than everything else

Where did I say that? Someone who appreciates intricacy should know that modern automata (e.g. software) is actually more intricate, by far, than antique automata.

It's just you'd never see a documentary piece like this on a piece of software, and I think it's only because software is a) not physical, and b) difficult to visualize.

No you're just wrong, it's sort of sad. This is far more impressive than so some crud application. It almost seems silly to need to defend that position. Sure, if you factor in the total sum of work and thought needed to make SnapChat possible, you have something impressive ... But that doesn't reasonably explain the complexity of building SnapChat, in fact part of the argument is that it took people building the thing you childishly deride to enable such a monstrosity in the first place.

The level of technical sophistication of this engineer is much higher than your typical hipster programmer, by far.

This reminded me of this TED talk:

http://www.ted.com/talks/john_graham_cumming_the_greatest_ma...

Does anybody know about software for simulation of this kind of mechanical devices? Is it even possible, for example to simulate all parts of mechanical clock? Add 3D printing to that and ... :-)

Most Computer Aided Design suites integrate mechanical simulation too. They can compute loads, stresses and so forth too. They even simulate gases and liquids etc, so they can 'run' combustion engines and so on virtually.

There are some really neat videos on the Autodesk and Solidworks websites, and doubtless there are other CAD suites doing this too.

If you are in the mood for video (though not necessarily on this topic) Prof. Simon Schaffer's documentaries are invariably very interesting:

http://www.imdb.com/name/nm2406693/

Absolute Zero and Light Fantastic stick out in my mind as particularly good.

Thank for the link, will check it out.
This is a machine that works on fixed length strings with fixed alphabet, and accepts all strings. Thus it's not a computer. Of course, the side effect of execution is amazing.
About the second video in the page: I finally know where the name of Amazon MTurk comes from, now. :-D
BBC Four had a documentary on it a month ago [1], that I watched an hour ago. It's on TPB (but I don't think I can link to it here?). Make sure you have energy when you start watching this, the presenter is not the most enthusiastic.

http://www.bbc.co.uk/programmes/b0229pbp