lab / experiment

Tape

Shelley's Ozymandias on a teletype printout that types itself as you scroll, one character at a time, with no JavaScript. Scroll back and the paper unprints.

published
2026-10-30
status
wip
stack
CSS scroll-driven animations
livewip
notes

The machine

The Teletype Model 33 put a keyboard, a printer and a paper tape punch in one case, and it printed ten characters a second in capitals only. Scrolling this piece is the motor: each line feeds the paper one row, then types out one character per step.

The paper carries Shelley's Ozymandias (1818), a sonnet about a king's boast outlasted by the sand. It's in plain ASCII, as the Model 33 had no curly quotes or long dash: two hyphens stand in for the dash.

No script

The piece is CSS. The printout is a scroll container with a named scroll-timeline, and every line runs two animations on that timeline, each in its own slice of the scroll range: a line feed that opens the row in one step, and the same motion-type keyframes the Boot log uses, with steps() set to the line's character count. Scroll back and the paper unprints.

Scroll-driven animations are part of Interop 2026, so the piece should soon run the same in every engine. Where they don't run, and under reduced motion, the printout shows whole and scrolls like any text.

The tape

Beside each line, the strip punches that line's first character as 7-bit ASCII, bit 7 on the left, with the small feed hole between bits 4 and 3: ● is a hole and · is paper.