Lego Mechanical Computer
drmoron.org
drmoron.org
A flip flop is a circuit whose design only exists because electric on its own can't be held in a fixed representational state, whereas a stick obviously can!
I think there's an important general principle about the role/capabilities of the external driver/operator that's party addressed here in the blog and video. You can see in the video a somewhat complicated manipulation to step the computer through one cycle and the author says:
"Because there is this feedback loop between memory and control logic, you need a fairly careful timing mechanism so that the output of the control holds steady long enough to set the appropriate state of the memory. That said, this control mechanism is basically missing from my computer. Instead, it relies on the operator (me) performing several different motions in the correct order to advance to the next state (as you can see in the video with me flipping several controls)."
This is importance bc it has to do with the thermodynamics of work. The more intelligent the operator, the less work efficient (less intelligent, so to speak) the computer need be. I'm impressed with the level of efficiency here.. his hand motions are rote and not particularly delicate.
The mechanism I had tried was to push a lego "program" (a flat block with protrusions) thru an "interpreter" (a chute with friction gears to drive a system of switches actuated by the program block's protrusions). This meant the driver was just a "push" of the program, which drove the system. Much nicer in theory, but also way harder and so didn't work. I also didn't have an interpreter of any sort. I had a few-bit display driven by the levers, so it was really just an analog machine.
Anyways, if anyone's playing with this, that's a suggestion for one area to focus.. to simplify the role of the operator to the point where there's no intelligence being used.. ideally just linear or rotational force.
* I was once into Quines and thought I was hot stuff after writing a self-printing program that also played the Game of Life[sg]. At work we had a table of legos, and I foolishly bet some colleagues I could build a self-printing program running on a lego machine. But the the computer is no simple feat itself. I'm now freshly inspired. I'd been exposed to the idea of a latch in school, but wasn't clear until now how important it is for state and control of the interpreter. [sg] https://github.com/pablo-mayrgundter/freality/tree/master/fu...
When I was about 12, in the early 1980's when consumer VCR's were hot "new" tech, I imagined building a giant purely mechanical (except for I/O) VCR. The thing I imagined was huge - it was about 50ft wide x 100ft long x 50ft tall and would have used tape about 6 feet wide. The size was apparently due to the limitations of mechanical modulation of permanent magnets used to record and the bandwidth required to record video. Don't ask me how playback was supposed to work with passive magnets but I think the idea was very sensitive paramagnetic heads amplified mechanically by some absurd degree. There was lots of mechanical differential signal processing in this idea.
This wasn't some passing daydream. Over at least six months I became increasingly obsessed with the idea of figuring out if it was even possible to build though I never had any intentions of actually building it. What I was obsessed with is figuring out how or if you could build such an outrageously impractical device.
Does anyone know where the page moved ?
Is the page : https://anthony-zhang.me/blog/rod-logic/ A good substitute ?
Or is the page : https://keshav.is/building/lego-logic-gates/ A good substitute ?
Shakna, what were you originally planning ?
Thanks in advance.
Wayback machine is another good place to check when old links die. I was able to find a copy with the original link there.
Example: a NOT gate is trivial to make without any such friction mechanics, just a lever (one side goes up, other goes down, so 'NOT') or two gears (one rotates one way, the other the other way).
But an AND or OR gate, needed to make the universal NAND or NOR gate to get any arbitrary logic, seem to always require some kind of elastic band, spring or gravity based mechanism to return the gate to initial position.
Friction / elastic bands, etc... cause wear and tear, which is why it'd be interesting to see a mechanism that's as frictionless as the NOT gate described above.
Things that are fine to use according to what I mean above would be: gears (including non-circular shaped ones), planetary gears / differential, levers, ... An example of something that is not fine is: an OR gate made by two sticks that can push an object forward, and an elastic band (or gravity or spring) makes the object move backwards again in the case both sticks are retracted backwards.
I mean theoretically, there's always friction in gears anyway but I don't mean avoiding that one.
Reversible computing is an attempt to get around this limit by removing irreversible state changes [2].
And gate starts at 4:49. Or gate starts at 6:27. The trick is to make some gears not stationary, moving along as other gears push them.
As for the answer, it appears to be yes. It is possible to make logic gates which only use rigid rotary links[0].
On a bike, it moves if you have momentum OR you pedal.
I guess the ratchet needs a spring though? Doh!