Don't Forget To Flush by Andrew Kelley

TigerBeetle

TigerBeetle

82,466 views

Every programming language environment has an interface for streaming data. Using real world examples of compression, files, sockets, and network protocols, this talk critically examines a variety of strategies for designing an input/output abstraction. We'll watch the data closely as it flows through the pipeline, as well as examining how error conditions are handled. Finally, I'll draw a non-obvious connection between I/O and multithreading, and explain my evil/genius/ridiculous (take your pick) plan to put ALL I/O behind one massive interface, making a lot of people happy/angry (take your pick).

https://andrewkelley.me/
https://ziglang.org/zsf/

Talk from Systems Distributed '25: https://systemsdistributed.com