We’ll take a deep dive into Rust channels — from synchronous channels to asynchronous channels — to explore how message passing enables reliable concurrent programming.

Concurrency in Rust is powerful, but safe and efficient communication between tasks can be tricky to master. In this talk, we’ll take a deep dive into Rust channels — from synchronous channels to asynchronous channels — to explore how message passing enables reliable concurrent programming.
We’ll start with simple synchronous channels and examine common patterns for multi-producer and multi-consumer setups. Then we’ll move to asynchronous channels in Rust’s async ecosystem, showing how channels coordinate tasks in real-world systems. Along the way, we’ll discuss backpressure, error handling, and performance trade-offs, with practical examples inspired by cloud-native workloads like Kubernetes operators, runtime schedulers, and event pipelines.
Attendees will see live demonstrations of channels in action and learn how Rust’s ownership and type system ensures safety while enabling scalable, reliable concurrency. We’ll also compare different channel strategies and patterns to illustrate where design choices impact performance and simplicity.
Attendees will leave with:
- A clear understanding of how synchronous and asynchronous channels work in Rust
- Patterns for multi-producer, multi-consumer messaging- Insights into handling backpressure and errors safely
- Practical knowledge for building scalable, concurrent systems
- Confidence applying Rust channels in real-world cloud-native and async workloads
This talk provides a practical, approachable exploration of Rust channels, empowering developers to write safer and more efficient concurrent Rust programs.
This talk explains how Rust debugging actually works: how compiler-generated debuginfo (DWARF/PDB) maps binaries back to source, and how LLDB/GDB interpret that data in practice.
This technical talk examines the most prevalent pain points facing Rust web developers today and explores how the community is addressing them.
In 2024, I added the `Option::as_slice` and `Option::as_mut_slice` methods to libcore. This talk is about what motivated the addition, and looks into the no less than 4 different implementations that made up the methods. It also shows that even without a deep understanding of all compiler internals, it is possible to add changes both to the compiler and standard library.
I'll initiate you in the art of 'CAN bus sniffing': Connecting to the central nervous system of a modern car, interpreting the data, and seeing what we can build as enthousiastic amateurs.
During this talk we'll build a basic, working async runtime using nothing more than a standard library. The point? To see it's approachable for mere mortals.
This session we will delve into the sometimes murky world of procedural macros - showing some of the great tooling available for understanding the code generated, such as cargo expand, and the key building blocks we will need for writing our own.