The Fundamentals Of Computer Science, Explained Through Sand

Once you understand what this machine is doing, you’ll understand many of modern computer science’s fundamentals.

Scattering grains of sand across a stone is one of the oldest and most primitive computing methods there is. Called geomancy, it is a divination technique that has been used for over a 1,000 years to try to predict the future by running simple algorithms on the accidental patterns the stones formed.


Few today would say geomancy is a reliable way to model the future, but in it, German designer Ralf Baecker sees a primitive analog to the way we compute today: not by tossing grains of silicate, but by etching code into purified silicon. His latest piece, Random Access Memory, merges geomancy with modern computing to create a machine that relies on grains of sand instead of binary zeros and ones.

Watching the Random Access Memory machine, it can be a little hard to figure out what it’s doing. But the name is no accident: just like the RAM in your computer or smartphone, the Random Access Memory machine’s goal is to fill its memory with data. In this case, though, the RAM in question isn’t some abstract stick of data. It’s a circular platter that the arm on the Random Access Machine tries to fill with sand.

Each grain represents a single bit of binary data–a one, not a zero—and the machine’s goal is to position as many grains of sand into its platter of memory as possible. It does so with a tiny suction cup positioned on the end of a robot arm, which moves according to a ruleset variant of Langton’s ant, a simple two-dimensional Turing Machine that proves many of computer science’s general laws.

The end goal of the Random Access Memory machine is to fit as many grains of sand onto its rotating platter as possible. That would seemingly be easy, but the machine needs to explore its function by its own internal ruleset, only placing a sand down if other pre-existing conditions are true: another grain of sand, for example, not being positioned directly to the left of it. And because its “data” is physical grains of sand, the machine is prone to errors, like “bits” bouncing, or being accidentally shifted. That means that the Random Access Memory machine could well keep working forever, without solving its problem.

There’s a lot of egghead-y reasons why the Random Access Memory machine is fascinating, but perhaps the thing everyone can appreciate about it is this: Computing is a very abstract concept for most people. But the Random Access Memory machine shows there’s nothing so abstract about computers. Even the most advanced computers are scattering stones, just like our ancestors did. They’ve just gotten so much better at it.