~/talk

Opening the shutter on snapshots

Talkat droidcon San Francisco 2023 · 2023-06-08..06-09· [android]
slides:none on file

Claim: snapshots act like git for your variables, letting threads make isolated, ACIDlike edits (minus durability) and then merge or abort. Implementation uses per-state linked lists of records, monotonic integer IDs, linked lists and thread locals (no compiler magic). Public APIs include take/enter/apply mutable snapshots and register apply observers. Built demos: a withAnimation prototype that animates recorded targets, an undo/redo stack that stores records, and a Room/DataStore persistence prototype — all working as proofs of concept.

AI-written summary · about

  1. 0:00Introduction
  2. 1:15Snapshots as version control
  3. 8:11How snapshots work under the hood
  4. 14:34Snapshot IDs and isolation
  5. 19:23Sibling and nested snapshots
  6. 28:12State objects implementation
  7. 39:10Building custom state objects
  8. 44:51Animation with snapshots
  9. 48:52Undo redo with snapshots
  10. 50:18Adding durability to snapshots
  11. 52:02Conclusion and resources
~/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.