undo.sh
A scholarly inquiry into the philosophy, mechanics, and aesthetics of reversal — rendered as a living document that perpetually unwrites itself.
A theorem of undoing, hovering in the void of a lecture-hall chalkboard at dusk.
To undo is not to delete. It is to narrate the inverse: to compose, with archival precision, the sentence that retracts a previous sentence. Every git revert, every rolled-back migration, every Ctrl-Z stroke is an act of authorship — a small, deliberate counter-essay published against the prior state of the world. The page you are reading is itself such a counter-essay; its skeleton appears before its body, and its body materialises only insofar as the reader consents to its inscription.
Within the discipline of computer science, reversibility is treated as a property of operations: a function f is reversible if there exists a function f⁻¹ such that f⁻¹(f(x)) = x for all x in the domain. Yet this formalism elides the temporal cost — the wall-clock seconds, the cache invalidations, the watchful eyes of audit logs. To undo is to spend time in order to repurchase the past, and the past, once repurchased, is never quite the past one remembered.
This monograph proposes a third reading: the undo operation as literary device. The terminal becomes a manuscript; the command-line history a draft; !! the editorial hand of revision. We argue throughout that the most beautiful systems are those that make their reversals legible — that show their workings, like the ruled lines of a hand-made journal kept visible beneath the prose.
A scatter of moments, perpetually undoing and rewriting itself.
Below: fig. 02.1. A constellation of 52 recorded actions, distributed across the canvas of a single working day. At irregular intervals, clusters fade — as though a hand has reached back through the log and revoked them — before reappearing at new coordinates. The data is not random; it is merely indeterminate.
Apparatus, notation, and the etiquette of retraction.
Our method is procedural: we treat each reversible operation as a tuple of (state, action, inverse, witness). The witness is the audit-log entry that survives the undoing — the public memory that an action was taken and subsequently retracted. Without a witness, an undo is indistinguishable from a deletion; with a witness, it becomes literature.
Let S denote a system in state sₐ. An action a transforms S into state s₍. The reversal a⁻¹ is admissible if and only if it returns S to a state observationally indistinguishable from sₐ, while leaving in S's log the trace (a, a⁻¹).
The etiquette of retraction requires that the reversal arrive sooner rather than later, that it be announced in the same channel as the action it negates, and that it be performed without ceremony — with the quiet confidence of a peer-reviewed correction.
Where reversal is impossible — the gilded node, the publicly merged commit, the dispatched email — we recommend the practice of amendment: a successor action that contextualises rather than erases, the way a printed errata slip is bound into the back of the volume rather than tearing out the offending page.
To undo is to write, very slowly, the sentence that uncovers the page beneath the page.
— undo.sh, peer-reviewed, in eternal revision.