~/talk

Taking the plunge - a deep dive into streaming with fs2

Talkat Scala Days 2025 · 2025-08-19..08-21· [scala, data-engineering]
slides:none on file

Shows concrete fs2 code: reading STDIN lines, mapping each to add a cat emoji and calling compile.drain; reading large files line-by-line (terabytes of cats) without loading memory; streaming DB query rows and printing; an HTTP service that uses parMapUnbounded to handle concurrent requests while serializing socket writes; a 1s heartbeat implemented by spacing effects; and a Weaver-style test runner that runs tests in parallel but aggregates logs and prints them in sequence. Uses Aquascape diagrams to visualize pulls and outputs.

AI-written summary · about

  1. 0:00Streaming with FS2
  2. 5:26Event handling with Cats
  3. 15:39Data processing examples
  4. 19:55Database interactions
  5. 22:05Web server concurrency
  6. 29:06Time-based side effects
  7. 32:16Testing with Weaver
  8. 36:10Control flow paradigm
  9. 38:24Learning FS2
  10. 39:09Q&A on compile and drain
~/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.