cube-code
cube-code is one function. Everything below came out of it during this
build, at parameters taken from the essays rather than invented for this page — so a figure
here is the same figure a reader meets in an essay, and if the generator changes, this page
changes with it.
At its defaults
What it checks while it draws
Collected by running the family and recording what it asserted, not written here. The count is how many separate times the claim was put to the test while these drawings were made.
- a code is more than one word and fewer than all of them ×1
- every codeword has the length the cube has dimensions ×1
- every corner meets one edge per coordinate ×1
- every word within 1 of a codeword decoded back to it ×1
- the balls partition the cube exactly, so the code is perfect ×1
- the code is a word list or one of repetition, parity, none, even2 ×1
- the length of the words is a whole number between 2 and 4 ×1
- the radius of the balls drawn is a whole number between 0 and 2 ×1
Where it is called
Changing this generator changes every figure on this list. That is what makes the list worth publishing rather than keeping in a check script.
Distance is a picture
A message is a corner of a cube and an error is a step along an edge. Everything a code can do is decided by how far apart the corners it uses are — and that is a fact about a drawing.
ComputationFinding the error without reading the message
Three parity checks on a seven-bit word produce three bits. If they are all zero nothing is wrong; otherwise they are the number of the position that broke. The message is never consulted, because the answer does not depend on it.
ComputationSixteen spheres that fill a cube
A hundred and twenty-eight seven-bit words, sixteen of them chosen, and a ball of eight around each. Sixteen times eight is a hundred and twenty-eight exactly — so the balls tile the space with nothing left over, and the code wastes nothing at all.