Skip to content
0:00 / 0:00

#sans-io#rust#rc-zip

The case for sans-io

fasterthanlime

57K subscribers • 8 videos on Hallway

YouTube
  • Recommended by 2 people: 1 on Lobsters and 1 in engineering communities.
  • Presented by Amos Wenger, fasterthanlime
  • Linked in the descriptionbearcove/rc-zip
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

48K views1 year ago2 recommendations

Software designProgramming languagesDesign patternsRustSoftware architecture

Amos Wenger explains the sans-io design pattern in Rust, demonstrating how separating I/O from protocol logic improves testability and portability.

Get paid to make open-source software more memory-safe: bughunters.google.com/open-source-security/patch-rewards This video was sponsored by Google Security. Article version: fasterthanli.me/articles/the-case-for-sans-io Extras are available at fasterthanli.me/extras Follow me on Bluesky: bsky.app/profile/fasterthanli.me Support me on Patreon or GitHub: fasterthanli.me/donate Check out my podcast with James, produced by Amanda: sdr-podcast.com rc-zip: github.com/bearcove/rc-zip 📚 Contents Sponsor disclaimer You can read this... for a price Introduction Character encoding differences Platform differences The end of central directory record Boundary confusion Sponsored segment (get paid for memory safety!) Boundary confusion (encore) Not doing any I/O at all The structure of rc-zip Bringing io_uring into it Plugging rc-zip into monoio Closing words ✨ Credits Additional Photography, rc-zip logo Michalina Ślemp — misiasart.com/ Thumbnail Art Reimena Yee — reimenayee.com/ Outro Mixing Engineer Sylvain Wenger — bigsylvain.com/ Patch Rewards Program Campaign Design & Coordination Stink Studios — stinkstudios.com/ Everything else, I suppose Amos Wenger — fasterthanli.me/

Why it's here

2 people recommend this

What people say. Recommended as an excellent explanation of the sans-io pattern and how to make libraries async runtime agnostic.

u/spaculoin r/rust • Recommends

On “How can i make a library async runtime agnostic?”

fasterthanlime has a great video about it (from the perspective of a zip library): link to this video the relevant part of the article is still behind a paywall, but the video covers it.

ankushon Lobsters • Recommends

The case for sans-io