In this talk, we'll explore reasoning with async Rust. We'll be introduced to its fundamental building blocks, such as `async`, `await`, `join` and `select`, and learn how to predict the behavior of code written with them.

Reasoning through concurrent systems has always been a challenging task. Poor code can be riddled with race conditions, non-terminating cases and other complex concurrency bugs; and even well-written code can be hard to understand. Async programming is an innovative concurrent programming model that rises to this challenge. In this talk, we'll explore reasoning with async Rust. We'll be introduced to its fundamental building blocks, such as `async`, `await`, `join` and `select`, and learn how to predict the behavior of code written with them. We'll build on these to simplify more complex concurrency puzzlers. Finally, we'll explore different approaches to handling concurrent state and see how they compare.
In this talk, we will discuss how you can use Durable Execution to harden your applications in a few key areas: workflows, asynchronous tasks, microservice orchestration, and event processing.
In this lightning talk, we take a look at ArcShift, a lock-free data structure for shared data that still needs to be mutated.
In this talk, we’ll go through some real-life examples of using Rust features like traits, newtype wrappers, generics, and macros for creating financial software. We’ll look at how regular application code can benefit from the features Rust provides.
This talk dives into common anti-patterns, offering practical tips to sidestep frustration. Whether you're new to Rust or leveling up, you’ll leave with insights to write clean, idiomatic, and maintainable code—without the tears.
After spending many happy years in Scala, not mutating anything but copying objects faster than rabbits breed I ventured into the world where each allocation is carefully examined and it is perfectly normal to reuse the same list for different purposes.