Firenze
November 9th, 2024
November 11th, 2024

Schedule

We've been working tirelessly for months to bring the best and brightest minds in the industry to RustLab.

This version is not definitive: from now to November there will be some minor changes or some additions (we are still working on the social events) but these are going to be the main features of the conference.

See you there!

November 9th, 2024

Day 1
Grand Hotel Mediterraneo
08:30
Registration desk
Networking time

Registration

09:30
Workshop #1
360
min
workshop

Building cross-platform UIs with Rust and Slint

As a low level language, Rust is perfectly suitable for making user interfaces the old-fashioned way, with native APIs. However, writing a GUI application in today’s world typically means supporting many platforms.

This workshop introduces Slint, a Rust based declarative GUI toolkit, and will show you how to build GUI applications with Rust. By the end of the workshop, you will have built a fully functioning cross-platform application in Rust.

LEVEL: Intermediate

Workshop #2
180
min
workshop

Write yourself a shell

One of the things developers use every day is a shell. It comes in many flavors like bash, fish or zsh.
In this workshop, you'll write your own fully functional shell in Rust using the latest best practices with a focus on idiomatic code, with one caveat: you can only use the standard library (no external crates allowed).
You'll play with I/O, error handling, and syscalls while getting more hands-on Rust experience.

LEVEL: Intermediate

Workshop #3
180
min
workshop

Build a Ray Tracer with Rust and wgpu

WebGPU is the novel graphics standard that makes it possible to implement high performance graphical applications on mobile, desktop and the web.
In this workshop, I guide you through the process of using Rust and WebGPU compute shaders for computer graphics applications whose needs go beyond the traditional rasterization pipeline.
Together, we will write a GPU-accelerated ray tracing renderer from scratch!

LEVEL: Intermediate

11:00
Coffee break room
Networking time

Coffee break

13:00
Lunch Room
Networking time

Lunch

14:30
Workshop #2
180
min
workshop

Cooking up with TUIs with Ratatui

This workshop will walk you through the fundamentals of building terminal user interfaces, shedding light on how they function and giving you a solid grasp of their inner workings.

LEVEL: Intermediate

Workshop #3
180
min
workshop

Let's build our first Bevy game!

After an introduction to Bevy, attendees will be able to select a starter kit for a Bevy game, then we'll look at finishing it.
Attendees should be able to leave with a game that run natively on their laptop, in Wasm on their browser, and if all goes well as a game on their mobile phone too.

LEVEL: Intermediate

16:00
Coffee break room
Networking time

Coffee break

November 10th, 2024

Day 2
Grand Hotel Mediterraneo
09:15
Registration desk
Networking time

Registration

09:45
Main Hall
Networking time

Conference presentation

11:00
Coffee break room
Networking time

Welcome coffee

11:30
RustLab Discovery
25
min
talk

Design and Implementation of the `#[diagnostic]` attribute namespace

The talk aims to introduce the `#[diagnostic]` attribute namespace. This new tool namespace allows to hint the Rust compiler to emit a specific error message text in certain situations. It's meant to help crate authors to take control over error messages emitted by the compiler that occur while upholding certain domain specific compile time constraints. The feature was stablized with Rust 1.78.

LEVEL: Advanced

RustLab Deep
40
min
talk

Exploring lending async iterators

Rust async ecosystem is evolving, bringing the opportunity of exploring new ways to express powerful abstractions. Together we will define the concept of a "lending async iterator", assessing its practical usefulness and investigating some interesting implementation details.
We will leverage the power of Rust toward the current limits of the language, showing how it could be improved to make these abstractions easier to express.

LEVEL: Advanced

12:00
RustLab Discovery
25
min
talk

TBA

TBA

12:30
RustLab Discovery
25
min
talk

Borgo – a Rusty language that compiles to Go

People have been talking about a Simpler Rust for years now. Remove the borrow checker and lifetimes, bolt on a Garbage collector and you should get a fairly solid language for application development. Borgo is my attempt at creating such a language! In this talk, we'll go through the ideas behind it and my experience in building it (Borgo itself is written in Rust). If you ever felt like Rust was too hard at times and wished for a simpler alternative, come and check out Borgo!

LEVEL: Introductory and Overview

RustLab Deep
40
min
talk

Rhino: low-latency key-value database in Rust

Rhino is a key-value database optimised for low-latency edge workloads. This talk is a deep dive into how we leveraged Rust and actors to implement highly concurrent networking services that power Rhino. Strap in!

LEVEL: Intermediate

13:00
RustLab Discovery
25
min
talk

Generating ergonomic C++ APIs using Rustdoc, procedural macros, and Serde

How to integrate your new shiny Rust code into an existing codebase is a common problem. For this you might need to provide an API so that your Rust code can be accessed from the non-Rust side, for example from a C++ codebase. Rust only provides tools out of the box to define a low level C API, and even that can be troublesome. In this talk we want to demonstrate how you can use procedural macros, Rustdoc's unstable JSON format, and Serde to generate an idiomatic and ergonomic C++ API based on your existing Rust API.

LEVEL: Advanced

13:30
Lunch Room
Networking time

Lunch

15:00
RustLab Deep
40
min
talk

Crafting a Linux kernel scheduler in Rust

In the realm of operating systems, the heart of performance lies in the CPU scheduler: a critical component responsible for managing the execution of tasks on a system.
Playing around with CPU scheduling policies has always been a dream for many kernel hackers and OS enthusiasts. However, such material typically remains within the domain of a few core kernel developers with extensive years of experience.
What if we could bring this dream to life and make it really accessible, thanks to sched-ext, eBPF and Rust?

LEVEL: Advanced

15:30
RustLab Discovery
25
min
talk

Chips don't bite! A fearless introduction to µController programming for Rusteaceans

Rust is "A language empowering everyone to build reliable and efficient software." And that is not only true for normal everyday software. But it also empowers you to delve into more niche areas of software development, such as embedded systems. And on the way it opens up new perspectives for you as a developer. No operating system and little memory might seem scary at first, but the compiler has your back! The ecosystem offers great tools, abstractions, and crates which will help you to blink your first LED (The equivalent of "Hello world" in the embedded space).

LEVEL: Introductory and Overview

17:00
Coffee break room
Networking time

Coffee break

17:30
Main Hall
40
min
talk

Keynote: Scaling out operational research with Rust

We used Rust to implement a scalable distributed system to handle vehicle routing problems, with hundreds of complete plans solved every second. I will explain why we chose Rust, its strengths in a project like this, how it influenced our software architecture, and how it worked out in the end.

LEVEL: Intermediate

November 11th, 2024

Day 3
Grand Hotel Mediterraneo
08:30
Registration desk
Networking time

Registration

10:00
RustLab Deep
40
min
talk

Low Latency Rust

What does rust offer for low latency performance optimization? This talk will serve as an introduction and an exploration of performance tuning and what rust offers for engineers working on products with strict performance requirements.

LEVEL: Intermediate

11:00
Coffee break room
Networking time

Coffee break

11:30
RustLab Deep
40
min
talk

Unsafe for Work

What's the deal with unsafe? The word alone seems to scare the living hell out of every Rust developer, at the same time it's heavily misunderstood even by the best of us.
No more trust issues. Let's analyze what unsafe is (surprisingly little), and what harm you can cause by using it (less than you think but still enough to wreak havoc).
In the end, we will see if we have practical use for unsafe in our own, real-world software, or if we should consider everything not safe for work.

LEVEL: Advanced

12:30
Lunch Room
Networking time

Lunch

14:00
RustLab Discovery
40
min
talk

The currents of concurrency: reasoning with Async Rust

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.

LEVEL: Intermediate

RustLab Deep
40
min
talk

From 0 to UI using Slint

Slint is a GPL/commercial/Royalty free licensed, reactive UI toolkit written in Rust. Using a tooling-friendly declarative language to describe the UI, it allows for rapid prototyping and allows for developers and designers to cooperate on the UI.
The Slint language is compiled into Rust code and runs well anywhere, from micro-controllers with a few hundred KiB of RAM all the way up to desktop OS platforms with GUI acceleration and even Android.
This presentation shows how to quickly create a simple UI project using Rust.

LEVEL: Intermediate

15:00
RustLab Discovery
40
min
talk

Profile-Guided Optimization (PGO) for Rust applications: Practical Guide

Profile-Guided Optimization (PGO) is a compiler optimization technique that helps with optimizing software based on runtime statistics. This optimization is available for a long time in the Rustc compiler. I applied PGO to many kinds of software (compilers, databases, log solutions, CLI tools, and many more), collected a lot of carefully hidden traps on my journey, reviewed many open-source projects, and found multiple PGO integration approaches. In this talk, I want to share with you my experience.

LEVEL: Intermediate

RustLab Deep
40
min
talk

Don't panic! - Our journey to error handling in Rust

In this talk, I will delve into the transformative journey of error handling in our first Rust project. From an initial state where panic-induced chaos was widespread, making it challenging to pinpoint the root causes of crashes, we navigated through the Rust ecosystem to establish a robust and stable foundation.

LEVEL: Introductory and Overview

16:00
Coffee break room
Networking time

Coffee break

17:30
Main Hall
Networking time

Goodbye Rustaceans!

RustLab is a conference made by Develer.
Develer is a company based in Campi Bisenzio, near Florence. Our motto is : "Technology to give life to your products". We produce hardware and software to create exceptional products and to improve industrial processes and people's well being.
In Develer we have passion for the new technologies and we offer our clients effective solutions that are also efficient, simple and safe for the end users. We also believe in a friendly and welcoming environment where anybody can give their contribution. This passion and this vision are what we've been driven to organize our conference "made by developers for developers".

Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2024 RustLab | The international conference on Rust in Florence-Design & devCantiere Creativo-Made withDatoCMS