|Morning: 9am-12pm||Afternoon: 2pm-5pm|
|Build your own shell in Rust!|
|Intro to Rust||Escher in Rust|
|Where We're Going, We Don't Need Println!||Gauges and Logs: Instrumenting Rust|
|9:30 am||Core team talk|
|10:00 am||Syntax conveniences afforded by the compiler|
|11:00 am||Monotron - a 1980s style home computer written in Rust|
|11:30 am||Actix and Actors in Rust|
|2:00 pm||Lightning Talks|
|2:30 pm||Percy: Isomorphic Web Apps with Rust + WebAssembly|
|3:30 pm||Evolving API design in Rust|
|4:00 pm||Maintaining the Community|
|5:00 pm||Move fast and don't break things: High-performance networking in Rust|
|5:30 pm||State of the crates.io|
RustBridge is a workshop focused on getting people who are underrepresented in tech with a background in another programming language to learn Rust and join the community. We will cover introductory topics, try out some exercism.io problems, and build a web app!Preregistration is required for this workshop only, please choose the Rustbridge ticket option when buying your conference ticket. Rustbridge workshops are free and for people underrepresented in tech; a $20 deposit reserves your spot and will be refunded at the event.
One of the things developers use every day is a shell. It comes in many flavors, like bash, fish or zsh. Depending on your background, writing your own shell from scratch might either sound intimidating or pointless. We like to believe that it can be a fun way to gain more hands-on Rust experience. If you want to play with concepts like I/O, error handling, and syscalls, we invite you to participate in this workshop. Who knows, it could also be an opportunity to start your first mid-size Rust project!
Haven't done any Rust? No problem! In this workshop, you'll learn the basics of Rust and what makes it special so that you'll have context for the rest of the conference.
MC Escher's Square Limit is an intricate woodcut of interlocking fish that tessellate a square. This mesmerizing image is full of detail that stimulates a viewer to ponder what she will find at the edge. In this workshop you will recreate the wonderful piece of art in Rust! You will be given the canvas, brushes and paint in the form of rust modules, example code and a instruction manual. Together we will dive into the mind of MC Escher and discover interesting details, symmetries and properties of the Square Limit.From this workshop you will take away a new sense of awe for the wonderful work of art, an intimate reintroduction to Rust's functional aspects and a feeling of accomplishment by expressing yourself artistically in code.
In this hands-on workshop, you will learn techniques and tools for understanding badly-behaved Rust programs. We'll cover:
Learn the ins and outs of instrumenting your projects. See how PingCAP's Prometheus crate implements efficient static metric collection, how to use slog effectively in high performance systems like TiKV, and some tips on what to collect.Then, we'll take some time to work together to implement some metrics and log collection in your favorite project.
The unconference is a unstructured place with tables, chairs, power outlets, sticky notes, fellow Rustaceans - and whatever you bring to it. It's another place to be during workshop day when you need to continue that fascinating conversation you've been having, work on some code with someone you just met, play a board game, or just sit down for a second. Stop by the Atrium for a minute or an hour!
Members on the Core Team will update everyone on This Year in Rust!
The Rust compiler provides a number of conveniences that make life easier for its users. It is good to know what these are, to avoid being mystified by what's going on under the hood... the less magical thinking we have of the world, the better.Example of these conveniences:
I missed the simplicity of of computers like the C64 and the Apple II and I wondered if I could recreate something like that, but using the Cortex M4 devboard on my desk and a handful of resistors. Can you generate VGA without a video chip? Can you render text without enough RAM for a framebuffer? Can you read from a PS/2 keyboard? Can you get any audio out of it, while doing video at the same time? Can you do it all in Rust, and run tests on an actual PC? Will it run fast enough to be useful?
An introduction to actor based concurrency and the Actix crate.
Lightning talks are 5 minutes long, on any topic, by anyone. Come by the Atrium anytime on Friday to propose a lightning talk. Proposing is not a commitment to talk, but a variety of ideas will help us think of more and choose a set that sound really interesting. Also stop by to vote for which talk ideas you are excited to hear. We’ll put together the official schedule after the break on Friday morning and hear the talks after lunch.
Percy is a modular toolkit for building frontend web applications in Rust. It supports serverside rendering out of the box.In this talk we’ll dive into how Percy works under the hood, starting with a look into its Virtual DOM implementation. You’ll hopefully walk away with an understanding of the pieces that power Percy - as well as a good sense of how to get started with using Percy to build your own web apps.
As Rust is a young language containing many innovative features, questions about how to structure Rust libraries and API's are common. Heavy use of metaprogramming and trait constraints can make libraries hard to understand and use, but also bring great power to reason about programs at compile-time. How do you design a library that exploits the power of Rust without making new users say 'This is way too complicated to bother with'? We will discuss these issues using an existing Rust crate as a case study in both designing an API and how it is influenced by the API decisions of the crates it uses as dependencies.
What makes Rust different is not that you can write high-performance, bare-metal code. What makes Rust different is that when you write that code, it is clean and easy to use, and you are confident in its correctness.In this talk, we discuss a new, high-performance networking stack being written in pure Rust. We discuss how Rust has allowed us to squeeze every last drop of performance out of the stack without sacrificing usability, productivity, or the confidence that our code is bug-free. Examples of optimizations include zero-copy parsing and serialization, stack-allocated packets, statically-typed protocol implementations, and more.
Crates.io is a critical piece of Rust's infrastructure. If it goes down, there's a good chance that your builds will stop working. In this talk we'll learn about what's happened in the last year to improve the resiliency and performance of the site. We'll look at what the plans are for the future, and you'll learn how you can get involved.