~/talk

Undo all the things!

Talkat !!Con 2018 · 2018-05-12..05-13· [developer-experience]
slides:none on file

Shows that undo is implemented by replaying actions not magical GC, demonstrates bpython’s undo behavior and a Haskell prototype, and explains limits: non‑deterministic syscalls, cached stdin, and accumulating temp directories. Describes using fork with copy‑on‑write snapshots and pseudo‑terminals, patching readline via LD_PRELOAD to intercept state, and adding undo to IRB. Builds a JavaScript/Python prototype with snapshots and deterministic replay so code can be edited and resumed at the last function run — it works for many REPLs but has performance and side‑effect tradeoffs.

AI-written summary · about

  1. 0:00Undo in interpreters
  2. 1:07Replaying actions
  3. 2:09Non-deterministic actions
  4. 3:53Process forking for state
  5. 5:38LD_PRELOAD for undo
  6. 6:42Snapshot undo limits
  7. 7:23JavaScript time rewinding
  8. 8:48Rewind to function calls
  9. 9:54Undo in Scheme-like
  10. 10:15Demo: JavaScript spaceships
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.