Sebastian is a Security Engineer at Microsoft Security Response Center (MSRC) Vulnerabilities & Mitigations team. There, he spends his time tackling the problem of memory safety at scale and working with research and engineering teams to adopt safer development practices including Rust. Previously, Sebastian has written dozens of exploits abusing memory corruption vulnerabilities in client side software and generating research to improve the exploits stability.
Ryan is a Cloud Developer Advocate at Microsoft focusing full time on Rust, advocating for Rust and the Rust community inside and out of Microsoft. Ryan spends his days working closely with teams inside of Microsoft to see how they can best serve the needs of the Rust community. Ryan is excited to be back at RustFest after speaking at RustFest Rome and acting as the first RustFest MC in Berlin.
The software industry has a billion dollar problem.
Our underlying systems are built on a mountain of insecure technologies that make it next to impossible to write secure software.
There are an innumerable amount of cases where Rust could have prevented serious security issues that not only had a deep impact on companies but more importantly on people.
But the path to wider adoption of Rust across industry is filled with many challenges not only for companies but for the Rust community itself.
What does this journey to industry-wide adoption look like? How can we all work together to make sure that as more companies start adopting Rust, the language gets even better?
In this talk, I will present zbus, a D-Bus crate written from scratch. D-Bus is an inter-process communication mechanism, available and used on almost all modern Linux desktops and many embedded systems. I will start with why I felt the need to take this huge undertaking on my shoulders, followed by the design goals, the challenges faced and how I overcame them during the development.
Pietro Albini is a member of the Rust infrastructure, release and crates.io teams, contributing to the project since 2018 both as a volunteer and a contractor. Among other things, Pietro managed the release of multiple Rust versions and is the maintainer of Crater, a tool to test compiler changes across the Rust ecosystem to detect regressions.
A new version of the Rust compiler is released every six weeks, with lots of new features and bug fixes in it. So far the Rust team managed to ship stable releases on schedule with almost no regressions, ensuring everyone can upgrade their toolchain without fear of broken builds. This talk explains how our release process works and the tools we developed to catch regressions before our users do.
Rust in China is a different thing than Rust here. It’s almost unimaginable. This is a field report from inside a Chinese software company building on Rust.
David is a graduate physics student at ETH Zürich conducting research in complex networks, functional-relational programming and databases. Professional he is part of a small software consultancy, Clockworks, specialized in distributed stream processing and data-intensive applications. Rust is his first choice for both and has reliably proven itself as the perfect systems programming language to tackle problems in stream processing, database research, and concurrency.
Malte is interested in data-centric functional and relational programming. His aim is to create simple and effective programs — to unveil technology’s inherent beauty. Currently, he writes his Master’s thesis on online analysis of distributed dataflows with differential computation at ETH Zurich and TU Munich. In his software consulting firm Clockworks, he uses the same tech stack to explore novel stream processing paradigms. And, of course, all implementation is done in Rust!
Modern, stateful web applications are increasingly dependent on high-frequency updates from multiple database systems. Each application maintains its own dynamic view of shared and private data. What if querying and synchronizing this state consistently was as simple as writing a Datalog query?
Using a reactive query engine powered by differential computation built in Rust, we explore this question. We present a novel architecture that selectively and incrementally replicates state between server and application and thus allows you to develop as if you were sitting right inside of the database.
Neville is a South African chartered accountant who started programming and software development as a hobby in his high school days. These days he works in Data Engineering and software development, and has a keen interest in Rust and making things faster and stabler. He’s been “replacing all the things” with Rust, and consider myself a member of the Rust Evangelism Strike Force!
“Your train is arriving in between 20 to 90 minutes”. This is a reality for about 3 million train commuters in South Africa, who not only battle to commute daily, but are faced with a lack of accurate information and high uncertainty about their trains.
This talk explores how we progressively use Rust to power crowd-sourcing of train delays, and are helping reduce the uncertainty of arrival times in our ailing train (and bus) services; all with little computing resources.
We focus on how the Rust language and ecosystem helps us to create tools and services that run at scale and low cost.
async/await is one of the headline features to ship in Rust this year. But how does it actually work, and what does that mean for performance?
We’ll walk through what happens to async/await code inside the compiler. We’ll see some of the performance implications that result from this, and how to avoid common pitfalls. You’ll walk away with a deeper understanding of how your async/await code behaves at runtime and what the compiler is doing under the hood.
Finally, we’ll explore some of the cutting-edge use cases for async/await and coroutines beyond web servers.
Katharina is a freelance free software developer from Berlin, who’s been contributing the various Rust projects since 2017. Currently she works on distributed network and communication infrastructure at qaul.net, and can otherwise usually be found posting on twitter, or bikeshedding her neomutt configuration.
People talk about cost in software development. We know about runtime cost, compile-time cost, and even monetary-cost. People are aware that all of these are metrics that are important when discussing productivity.
What about the human cost?
What causes people to burn out, why do we work in an industry where everybody only ever focuses on “productivity” and what really needs to happen to stop any of this from happening.
async/await will be stabilised around RustFest Barcelona.
This talk gives an overview of the existing ecosystem by then as well as practical guidance on how to use the feature.
It puts a focus on modern async programming instead of comparisons with the past.
For exemplary purposes, I will use async-std,
a library built from the ground up around std::futures::Future
and the modern async model.
With the advent of the Web Audio API, creating browser-based audio applications became reality, potentially making creative applications available to a wider audience. There’s just one problem: writing real-time digital sound processing code in a garbage-collected language isn’t all that easy. A systems programming language like Rust, on the other hand, is perfectly suited for that task. Cue WebAssembly! Thanks to Rust’s convenient tooling, efficient DSP applications for the web browser can now easily be created, helping to make creative tools available on every platform.
Claudia Saxer is a Swiss software engineer with over 9 years of experience in object-oriented programming in C# and TypeScript. She is working for Zühlke one of the largest engineering companies of Switzerland.
Is it possible to learn Rust from Zero in just 66 hours? In this experience report I will tell you about the good, the bad and the ugly that I experienced on my journey through the universe of Rust from the perspective of a C# and TypeScript developer.