Wheels within Wheels
I quite like the idea of those End of the World Mayan Calendars, that only went up to about 7700 years so when it started to get near the end of its cycle, all these sophisticated worldly Westerners started running round like superstitious medieval peasants, hoarding toilet paper, and rending their garments, and eating rusks and such.
This clock doesn’t actually go up to 1000. It goes up to 10,000.
To make it go up to a million would require flipping a digit in the code that generates it, which would build 3 extra wheels. That simple. To go until the heat-death of the universe would require about 1000 more wheels, and would be about 50 metres high, and there is no real reason not to do that, other than the inconvenience.
It doesn’t actually go up to 10,000. It goes up to 9,999 years, 364 days, 23 hours, 59 minutes, 59 seconds. So close. So close.
If it stops working, it will (at least) tell the correct time, once every 10,000 years.
Anyway – today I got all the wheels cut on Ruby’s laser-cutter (which is bigger than mine)… and it now looks like this.
So basically there is a sliding gantry like the ones on laser-cutters or 3D printers, and it has a cog, which turns each wheel whenever it is time.
Once a day (and when it boots up) it gives each wheel a spin (until hall sensors on the arms detect tiny magnets on the wheels) so it can tell where it’s at… then it turns each to the correct time… which it can look up on the internets on account of it running off a quad-core Raspberry Pi… and which means it can (if we want) get it to do all sorts of other stuff as well.
The basic design philosophies here are:
1) Turning hardware problems into software problems
2) Loosely coupled units… with the same single mechanism controlling them all, so it only needs to be debugged once.
3) Replacing precision with environmental awareness – ie: it doesn’t have to be accurate to 10,000 years, if it looks up what the time is once a day
4) Eye-candy…. when someone sees it for the first time and goes “holy shit, what’s that”? It can do it’s boot-up dance, and impress them even more
5) Extensibility…. because it is a hardware instantiation of a software object – with its own brain, it can be programmed to do all sorts of things that the original designer (le moi) had never even considered possible.
So there you go.