~/talk

Stream Whack a Mole

Talkat NodeConf NL 2019 · on Friday, 2019-06-07· [nodejs]
slides:none on file

Describes concrete bugs, fixes and tools: confusing semantics around end/finish/data that cause memory leaks and race conditions, the runtime recommendation to always drain streams (resume or pipe) and to depend on readable-stream for consistent behavior, and a tested utility end-of-stream (used by ~1.6M repos) plus safer piping via pump/pipeline. Presents a new implementation, streamx, aimed at simpler lifecycle hooks (open/destroy) and good backwards compatibility, and reports it works in internal projects.

AI-written summary · about

  1. 0:00Intro
  2. 0:20P2P Node.js Core Streams
  3. 1:14A depressing story on why you probably all have bugs in your streams
  4. 1:35A Brief History of Node.js Streams
  5. 1:46Streams 1
  6. 3:12Streams 2 - Node.js 0.10
  7. 4:15Complex Batteries included Pull based
  8. 4:36Streams 3 - Node.js ~0.11
  9. 4:48Makes the s.on('data') work together with the
  10. 5:09Streams are still evolving
  11. 5:28Everytime we fix a bug we break tons of things
  12. 5:47Streams are probably the most complex objects returned from Node.js core
  13. 7:16readable-stream is an official npm mirror of stream(node)
  14. 8:54Memory leak. Always drain your streams node
  15. 10:01Yes, on('data') has magic behaivor
  16. 10:36does not mean end
  17. 14:29Backwards compat
  18. 17:16pipe() does not do error handling
  19. 18:07Never use pipe()
  20. 24:00The Future
  21. 25:11Makes streams easier to implement de
  22. 27:18Thank you!
~/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.