0:00 / 0:00
Don't Forget To Flush by Andrew Kelley
TigerBeetle
14K subscribers • 8 videos on Hallway
- Recommended by 2 people: 1 on Lobsters and 1 in engineering communities.
- Presented by Andrew Kelley, creator of Zig
- An opinion. It argues one side of a question engineers disagree on.
Advanced. Deep dive for people who know the field.
85K views1 year ago2 recommendations
Systems programmingProgramming languagesZigNetworking and protocolsOperating systems
Andrew Kelley examines input/output streaming abstractions, analyzing data flow, error handling, and a unified interface design for I/O and multithreading.
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). andrewkelley.me/ ziglang.org/zsf/ Talk from Systems Distributed '25: systemsdistributed.comWhy it's here
2 people recommend thisWhat people say. Highly recommended as an insightful talk by Zig's creator on the design of streaming I/O interfaces and systems programming abstractions.