Skip to content
Artwork for netstack.fm
netstack.fm · Thursday · 1 hr 24 min

Small Crates Behind Big Rust Systems

Season 2 · Episode 1 – Small Crates Behind Big Rust Systems. In this first episode of season two of Netstack.fm, Glen talks with Jon Gjengset, principal engineer at Helsing, author of Rust for Rustaceans, and one of the best known teachers in the Rust community. They explore the craft of building small, sharply scoped crates, from arccstr, left-right, and HdrHistogram to atone, and discuss Fantoccini and the WebDriver protocol, maintaining open source sustainably, and why the Rust project should not bless crates. Learn more: https://www.youtube.com/@jonhoo — Jon's streams and Decrusting videos https://rust-for-rustaceans.com/ — Rust for Rustaceans https://github.com/jonhoo/rust-imap — imap https://github.com/jonhoo/arccstr — arccstr https://github.com/vorner/arc-swap — arc-swap https://github.com/jonhoo/left-right — left-right https://www.youtube.com/watch?v=eLNAMEoKAAc — Jon's walkthrough of the left-right algorithm https://github.com/jonhoo/fantoccini — Fantoccini https://github.com/helsing-ai/dson — DSON, a delta-state CRDT https://github.com/helsing-ai/sguaba — Sguaba, type-safe coordinate transforms https://github.com/HdrHistogram/HdrHistogram_rust — HdrHistogram https://github.com/jonhoo/inferno — Inferno https://github.com/jonhoo/atone — atone Rama If you like this podcast you might also like our modular network framework in Rust: https://ramaproxy.org Chapters 00:00 Intro 01:16 Introduction to the Podcast and Guest 02:02 Meet Jon Gjengset and His Career Path 05:00 Embracing Challenges and Learning Opportunities 06:10 From Using Rust in His PhD to Teaching It 08:35 Decrusting Crates and Learning in Public 13:17 Building High-Performance Crates 15:33 Scoping Crates for Completeness 19:26 Handing Off the IMAP Crate 25:17 Compact Shared Strings: arccstr 27:48 Comparing Concurrency Primitives: arc-swap vs. left-right 30:39 Understanding Data Structures and Performance Trade-offs 33:39 Sustainable Open Source Maintenance 37:55 Reader-Writer Lock Contention 41:18 Low-Level Programming, With or Without Rust 45:42 Navigating Unfamiliar Codebases 49:24 Exploring the WebDriver Protocol and Fantoccini 58:32 Why Not Be a Researcher for Hire? 01:02:50 Engineering at Helsing: CRDTs and Type-Safe Transforms 01:05:34 Efficient Metrics with HdrHistogram 01:10:54 Porting FlameGraph from Perl to Rust: Inferno 01:13:49 Officially Endorsed or Independently Maintained Crates? 01:20:33 Avoiding Resize Latency Spikes: atone 01:23:13 Outro Netstack.FM More information: https://netstack.fm/episodes/small-crates-behind-big-rust-systems Join our Discord: https://discord.gg/29EetaSYCD Reach out to us: hello@netstack.fm Music for this episode was composed by Dj Mailbox. Listen to his music at https://on.soundcloud.com/4MRyPSNj8FZoVGpytj

0:00-1:24:15

transcript

No transcript — this publisher did not publish one.

show notes

Season 2 · Episode 1 – Small Crates Behind Big Rust Systems.

In this first episode of season two of Netstack.fm, Glen talks with Jon Gjengset, principal engineer at Helsing, author of Rust for Rustaceans, and one of the best known teachers in the Rust community. They explore the craft of building small, sharply scoped crates, from arccstr, left-right, and HdrHistogram to atone, and discuss Fantoccini and the WebDriver protocol, maintaining open source sustainably, and why the Rust project should not bless crates.

Learn more:

  • https://www.youtube.com/@jonhoo — Jon's streams and Decrusting videos
  • https://rust-for-rustaceans.com/ — Rust for Rustaceans
  • https://github.com/jonhoo/rust-imap — imap
  • https://github.com/jonhoo/arccstr — arccstr
  • https://github.com/vorner/arc-swap — arc-swap
  • https://github.com/jonhoo/left-right — left-right
  • https://www.youtube.com/watch?v=eLNAMEoKAAc — Jon's walkthrough of the left-right algorithm
  • https://github.com/jonhoo/fantoccini — Fantoccini
  • https://github.com/helsing-ai/dson — DSON, a delta-state CRDT
  • https://github.com/helsing-ai/sguaba — Sguaba, type-safe coordinate transforms
  • https://github.com/HdrHistogram/HdrHistogram_rust — HdrHistogram
  • https://github.com/jonhoo/inferno — Inferno
  • https://github.com/jonhoo/atone — atone

Rama

If you like this podcast you might also like our modular network framework in Rust: https://ramaproxy.org

Chapters

  • 00:00 Intro
  • 01:16 Introduction to the Podcast and Guest
  • 02:02 Meet Jon Gjengset and His Career Path
  • 05:00 Embracing Challenges and Learning Opportunities
  • 06:10 From Using Rust in His PhD to Teaching It
  • 08:35 Decrusting Crates and Learning in Public
  • 13:17 Building High-Performance Crates
  • 15:33 Scoping Crates for Completeness
  • 19:26 Handing Off the IMAP Crate
  • 25:17 Compact Shared Strings: arccstr
  • 27:48 Comparing Concurrency Primitives: arc-swap vs. left-right
  • 30:39 Understanding Data Structures and Performance Trade-offs
  • 33:39 Sustainable Open Source Maintenance
  • 37:55 Reader-Writer Lock Contention
  • 41:18 Low-Level Programming, With or Without Rust
  • 45:42 Navigating Unfamiliar Codebases
  • 49:24 Exploring the WebDriver Protocol and Fantoccini
  • 58:32 Why Not Be a Researcher for Hire?
  • 01:02:50 Engineering at Helsing: CRDTs and Type-Safe Transforms
  • 01:05:34 Efficient Metrics with HdrHistogram
  • 01:10:54 Porting FlameGraph from Perl to Rust: Inferno
  • 01:13:49 Officially Endorsed or Independently Maintained Crates?
  • 01:20:33 Avoiding Resize Latency Spikes: atone
  • 01:23:13 Outro

Netstack.FM

  • More information: https://netstack.fm/episodes/small-crates-behind-big-rust-systems
  • Join our Discord: https://discord.gg/29EetaSYCD
  • Reach out to us: hello@netstack.fm

Music for this episode was composed by Dj Mailbox. Listen to his music at https://on.soundcloud.com/4MRyPSNj8FZoVGpytj