Flip flop represented as a stick is genius, should be obvious, but looking at at a level of electronics, isn't. IMHO that is stepping back/out of the box thinking.
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!
Excitingly, the next version of Minecraft will have a single block (Copper Bulb) that effectively works as a redstone T-flip-flop! Previously it has always required a handful of other blocks to implement one.
Yes!! I'm super excited about this. I always implement flipflops with a monostable circuit and a Redstone block. The copper bulb will make building out large circuits soooo much easier.
I had a go at this concept as well, over a decade ago [1]. I used rubber bands to collect energy from the mechanical movement so the gate could be reset, but this would ostensibly require larger and larger forces to operate more complex gate architectures.
Love this! I once had a go* and failed.. this is really a step forward.
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...
It's so cool to see someone actually try to build their silly daydream.
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.
Here's something I'm wondering: Is it possible to create mechanical logic gates that do not involve any friction, elasticity, springs, gravity, as well as any active powered control, but only frictionless motions.
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.
There is a large amount of theoretical research on the subject of energy limits in computing. For example, Landauer's principle states any irreversible change in information requires some amount of dissipated heat, and therefore some energy input [1].
Reversible computing is an attempt to get around this limit by removing irreversible state changes [2].
Springs do not have to wear out. If springs are made from a material such as steel that has a fatigue limit and the stress they experience is less than the fatigue limit, they may be deformed forever.
As for the answer, it appears to be yes. It is possible to make logic gates which only use rigid rotary links[0].
This one uses gravity though! Not the same thing as friction causing wear and tear, but still a similar dependency on a force as the springs/elastic bands. Plus use of gravity means a lot of force is needed to operate many of the gates at the same time
OR is easy: a rod that is fixed to stay horizontal but can slide up and down. There are rods under it at either end for the two input bits. If either input goes up, the horizontal result rod goes up.
This is awesome.
I dream of a mechanical computer that can be 3D-printed in one go, fully assembled.
A subset of all linkages and joints can be printed this way. Is it possible to build a computer out of them?
I like these explicit and "transparent" computers.
Does anyone know of a similar computer using LEDs as logical gates in a way we can "see" what and how things are being computed?
I understand that every P-N junction emits radiation as a byproduct. I always thought that if we could observe the right part of the spectrum, it should be possible to "see" the transistors in a processor die light up as it computes. The fact that nobody's done this (that I'm aware of) probably means it's probably not practical.
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!