master
Miloslav Ciz 5 months ago
parent 6f56253fcc
commit cfd02a8acf

@ -36,6 +36,7 @@ Please do NOT post lame "big-bang-theory"/[9gag](9gag.md) jokes like *sudo make
- the [downto](downto.md) operator
- I find it much more pleasant to browse the web on a 1 bit display, it can't display a [rainbow](lgbt.md).
- There's a new version of Debian Bull's Eye that's compiled exclusively with [Rust](rust.md). Its code name is [Bull's Shit](bullshit.md). { Again credit goes to my friend <3 ~drummyfish }
- An [Apple](apple.md) a day keeps [sanity](lrs.md) away. { Thanks to the friend again :D I modified it a bit. ~drummyfish }
## See Also

@ -1,7 +1,5 @@
# Mechanical Computer
WORK IN PROGRESS
Mechanical computer (simple ones also being called *mechanical [calculators](calculator.md)*) is a [computer](computer.md) that uses mechanical components (e.g. levers, marbles, gears, strings, even fluids ...) to perform computation (both [digital](digital.md) and [analog](analog.md)). Not all non-[electronic](electronic.md) computers are mechanical, there are still other types too -- e.g. computers working with [light](light.md), biological, [quantum](quantum.md), [pen and paper](pen_and_paper.md) computers etc. Sometimes it's unclear what counts as a mechanical computer vs a mere calculator, an automaton or mere instrument -- here we will consider the term in a very wide sense. Mechanical computers used to be used in the [past](history.md), mainly before the development of [vacuum tubes](vacuum_tube.md) and [transistors](transistor.md) that opened the door for much more powerful computers. However some still exist today, though nowadays they are usually intended to be educational toys, they are of interest to many (including [us](lrs.md)) as they offer simplicity (independence of [electricity](electricity.md) and highly complex components such as transistors and microchips) and therefore [freedom](freedom.md). They may also offer help after the [collapse](collapse.md). While nowadays it is possible to build a simple electronic computer at home, it's only thanks to being able to buy highly complex parts at the store, i.e. still being dependent on [corporations](corporation.md); in a desert one can much more easily build a mechanical computer than electronic one. Mechanical computers are very cool.
{ Britannica 11th edition has a truly amazing article on mechanical computers under the term *Calculating Machines*: https://en.wikisource.org/wiki/1911_Encyclop%C3%A6dia_Britannica/Calculating_Machines. Also this leads to many resources: https://www.johnwolff.id.au/calculators/Resources.htm. ~drummyfish }
@ -152,7 +150,7 @@ Some things that can be done with marbles include:
0 1 0 1 0 1 0 1
```
*Marble falling into a [flip-flop](flip_flop.md) will test its value (fall out either from the 0 or 1 hole) and also flip the bit -- next marble will fall out from the other hole.*
*Marble falling into a [flip-flop](flip_flop.md) will test its value (fall out either from the 0 or 1 hole) and also flip the bit -- next marble will fall out from the other hole. Flip-flops can be used to implement **[memory](memory.md)***
```
\: marble slide
@ -167,6 +165,23 @@ Some things that can be done with marbles include:
*Above a gear is used to select which hole an incoming marble will fall into (each hole may contain e.g. a flip-flop bit shown above). This may potentially be used to e.g. implement random access memory.*
```
O O O O
| : | | : | | : | | : |
_____| : |_ _____| : |_ ________| : | ________| : |
| |A | : /| A = 1 | |A | : /| A = 1 | |A | ./| A = 0 | |A | ./| A = 0
| |__| : /A| __| |__| : /A| | |__| ./A| |__|__| ./A|__
| /| : /| B = 1 | /| ./|"" B = 0 | /| : /| B = 0 | ./| /| B = 1
| /B| : /B| |__ /B| : /B|__ | /B| : /B| __| ./B| /B|
| |\ . | | : |\ | | |\. | | :|\ |
| |A\ .| | : |A\ | |___ |A\. |__ |___ :|A\ |__
\ | ./ \ : | / \ | : / \ : | /
\ | ./ \ : | / \ | : / \. | /
1 0 1 0 1 0 1 0
```
*XOR computed by a marble falling through the gate (it will fall out of the 1 hole only if inputs are set to different values), inputs are implemented as shifting two parts of the gate left or right (this can be done by another falling marble) -- the parts marked with the same letter move together.*
Here are some **additional tips** for marbles: if you want to allow a marble to be only able to go one way in the maze, you can use a mini ramp (one way it will climb it and fall over but from the other way it just behaves like a wall). You can also utilize helper marbles that can e.g. temporarily lock a moving part (obstacle) in place when computation is in progress (so that the falling marbles don't move the obstacles by bumping into them), the helper marble simply falls into some small hole where it will block horizontal movement of the part that shouldn't move, and later it can be released from this hole (this is super easy with the "changing tilt" approach mentioned above, the blocking marble simply goes up and down while in one position it's blocking, in the other it's not).
### Fluids

File diff suppressed because one or more lines are too long

@ -3,7 +3,7 @@
This is an autogenerated article holding stats about this wiki.
- number of articles: 539
- total size of all texts in bytes: 2752506
- total size of all texts in bytes: 2756240
longest articles:
@ -17,12 +17,17 @@ longest articles:
32K 3d_rendering.md
32K game.md
28K procgen.md
28K compression.md
28K mechanical.md
```
latest changes:
```
Date: Sat Jan 13 13:31:07 2024 +0100
game.md
mechanical.md
wiki_pages.md
wiki_stats.md
Date: Sat Jan 13 02:12:08 2024 +0100
bloat.md
duskos.md
@ -45,14 +50,6 @@ wiki_pages.md
wiki_stats.md
Date: Fri Jan 12 18:16:37 2024 +0100
capitalism.md
collapse.md
free_hardware.md
mechanical.md
permacomputing_wiki.md
rule110.md
wiki_pages.md
wiki_stats.md
Date: Fri Jan 12 04:25:07 2024 +0100
```
most wanted pages:

Loading…
Cancel
Save