Generation-loss simulator
Watch text degrade across repeated copies, and see why the same settings never produce the same result twice.
Week 1 asked you to count how a copy becomes harder to read, and drew a careful line between three claims: the counting rule is deterministic, your own repeatability is something you can check, and two readers still disagree because resolving a damaged mark is an interpretation. Two small tools below run that same rule on text instead of a scanned card. Several other weeks reuse them too, as an analogy rather than the same data — see each tool's own "used in" list.
- Chain simulator
Type anything, then watch it get copied from itself, generation after generation. Shows the compounding effect and the cumulative-error chart.
- Character-diff visualizer
Paste two equal-length strings and see every position marked as a match, a misreading or an illegible mark — the counting rule shown inline over the text.
- Resampling simulator
Set up a small "jar" of categories and watch what happens over several rounds when each round trusts only its own last guess instead of checking back with reality — an illustrative analogy of week 9's shape, not its dataset or seeds.
Chain simulator
Used in: Week 1: The office that ate itself, Week 6: Reading the damage backwards, Week 7: When ancestry becomes hard to read, Week 9: The curse of recursion
Generation 8 output
Cumulative error, by generation
G0 is your original text, uncopied. G1is one copy of it, G2 a copy of that copy, and so on — each bar is the percentage of characters that now differ from G0.
Which confusable characters this run affected
Week 1's card was built from characters that look like one another — 0O, 1lI, 5S, 8B, 2Z, 6G, 9g. Each bar is how many times a character from that group was misread or went illegible in this run.
None of this text's characters belong to week 1's confusable set, so there is nothing to break down here — try the sample text above.
Count (final generation vs. original)
A misreading is a character swapped for a different one (like 0 becoming O); anillegible is a character replaced with · because it could no longer be resolved at all.
- Misreadings
- Illegibles
- Total
Character-diff visualizer
Used in: Week 1: The office that ate itself, Week 5: The scriptorium
The chain simulator above always compares your original text against its own generated output. Paste any two equal-length strings here instead — your own original and a chosen generation from above, for instance — to see week 1's counting rule marked inline over the text itself, character by character.
These two strings are different lengths, so they can't be compared position by position. Week 1's counting rule only applies when a copy keeps every original character's place -- pad or trim one field so both are the same length.
Character by character
match misreading illegible
- Misreadings
- Illegibles
- Total
Resampling simulator
Used in: Week 9: The curse of recursion
Week 9's pack uses its own real dataset and a seeded random generator — this tool is a separate, editable illustration of the same idea, not that data or those seeds. Try setting one category really low (say 2-3%), then compare the "fully recursive" mode against "baseline" over several rounds and watch what happens to it.
Every round below draws 200 samples, like drawing 200marbles from a jar. The question this toy asks is simple: does each round check the real jar, or does it just trust the last handful it drew? If a round only trusts the last handful, and that handful happened to be a bit short on one colour, the next round assumes that colour is rarer than it really is — and draws even less of it. Do that enough times and a colour that was always in the jar can vanish from your guesses completely, even though it never left the real jar.
A concrete example: say 5% of your customers really do order decaf coffee. One week, by pure chance, your small sample of orders only has 3% decaf. If next week's ordering guess is built only from that one sample (no re-checking with real customers), you'll stock even less decaf. That makes next week's sample even lower — maybe 1%. Repeat this for a few weeks and your system can end up "deciding" nobody orders decaf, even though 5% of customers always did. This is the same problem behind "model collapse": an AI that keeps training on its own past guesses, instead of real data, can quietly forget the rare things it once knew — try the "Fully recursive" option below to watch it happen.
1. Set up the world
3. Watch the rarest category
Full distribution, round by round
Think of each row as a jar of 200 marbles for that round — every coloured stripe is one category's share of that round's draws. This is not week 9's own dataset or seeds. Every control here draws a fresh set, so switching mode changes the randomness and the mode at once — to compare two modes on like-for-like luck, switch back and forth a few times rather than reading one pair of runs as the difference.
Arriving from a workshop page? The tool above may already show that week's own example — look for the highlighted section, and change the text freely, nothing here is graded or saved.
See Week 1: The office that ate itself for the graded activity these tools supplement — they do not replace the pack, the worksheet or the worked answer.