~/talk

Broadcasting your terminal with asciinema

Talkat ElixirConf EU 2026 · 2026-04-23..04-24· [web-performance]
links:none on file
slides:none on file

Asciinema server streams real terminal sessions live using WebSockets and a binary event protocol, parsing events in Elixir, replaying them through an embedded AVT Rust virtual terminal (via Rustler and WebAssembly) to bootstrap late viewers, and enforcing capacity with a token bucket bandwidth control. Live state lives in per-stream GenServers supervised by a dynamic supervisor + Horde registry, recordings write to asciicast files, and dashboards use Phoenix PubSub, Phoenix Tracker and LiveView thumbnails every 5s.

AI-written summary · about

  1. 0:00Broadcasting terminal with asciinema
  2. 1:33About the speaker
  3. 2:56What is Asciinema
  4. 5:05Asciinema.org features
  5. 6:08Live terminal demo
  6. 8:58Live streaming internals
  7. 13:52Late client problem
  8. 16:18Terminal sync with AVT
  9. 20:18Rust and Elixir with Rustler
  10. 21:01Stream server architecture
  11. 24:13Dynamic supervision
  12. 26:20Handling disconnections
  13. 27:01Recording streams
  14. 28:05SVG thumbnails
  15. 29:29Thumbnail customization
  16. 30:29Tracking live viewers
  17. 31:35Phoenix Tracker counts
  18. 33:19Project dependencies and acknowledgments
  19. 34:02Q&A: Rust vs Elixir
  20. 36:52Q&A: Ruby to Elixir
  21. 38:02Q&A: First Elixir experience
~/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.