The page loads The Count of Monte Cristo from a bundled copy of the Project Gutenberg text, starting at "On the 24th of February", and cuts it into passages of about 100 words, breaking at a full stop where it can. Each passage starts as noise. Every letter, digit, and punctuation mark is replaced with a random character from a pool of 91. Spaces and line breaks stay where they are, so the paragraph keeps its shape while the words are gibberish.
Then, on every animation frame, each wrong character gets a 3% chance to snap to its correct value. With \(n\) wrong characters left, the expected number still wrong after \(t\) more frames is \(n(0.97)^t\). From 100 wrong characters to 1 takes about \(\ln(0.01)/\ln(0.97) \approx 151\) frames, two and a half seconds at 60 fps. The last character on its own waits 33 frames on average, and the very end of every passage is a finished paragraph with one letter still flickering. That tail is the maximum of many independent waits, and it's the part I find most watchable.
In practice the loop scans the passage in reading order and stops after five changes per frame, and the first couple of those are usually spent re-randomizing a wrong character so the noise keeps moving. So a fresh passage resolves from the front in a wave, which looks fine, and the pure 3% behavior only takes over once about a hundred characters remain. Words surface before their sentences do, a character's name first and then the line around it.