November 14, 2023•1,690 words
This year I had a professional and personal goal to "attend" a software engineering conference. While I had hoped to do it in person, nothing that was feasible for me to attend popped up, so I decided to watch the Rust Nation UK conference, which was published in its entirety on YouTube.
While this summary is eight months after the conference, I found these talks to generally be quite useful to my day-to-day work, even though I'm not using Rust professionally at this point.
Let's jump in!
Opening Address - Rebecca Rumbul
Nothing too important here, just sets the stage for what's to come.
Watch it if you're a completionist like me!
The Rustacean Cycle: Learn, Teach, Deliver - Nell Shamrell-Harrington
A great opening talk. One of the hardest parts about Rust is that it's difficult to learn due to the strict borrowing rules and new paradigm Rust introduces when it comes to utilizing memory. This talk goes over how to best build up proficiency in yourself and your team by creating a feedback loop of consistently learning, teaching others what you've learned, and delivering on the feature through that upskilling.
Consider watching this if you are looking to upskill your team, regardless of what language you use.
Fast, Flexible Iteration with Rust and Rhai - Jonathan Strong
Very cool talk about how the speaker's company uses a newer scripting language (Rhai) on top of Rust to deliver end-users the flexibility of scripting while keeping most of the actual implementation in the super safe and comprehensive world of Rust.
If you're building tools that use a scripting language and are sick of having to build that tool in the scripting language itself, this talk is worth some consideration.
iOS, Android, and Web applications that share a single Rust core - Stuart Harris
This was one of the more useful talks for my own day-to-day job. Because I do web development, I currently do everything in TypeScript and have been looking for smart ways to introduce Rust to the stack. This talk goes over their architecture of having the core logic written in Rust, which is then consumed by any front-end codebase.
This setup doesn't make as much sense if you're only working on one app (like I am), but if my team were to adopt this pattern with a single core codebase with business logic it would reduce the work needed to build mobile apps, CLI tools, native desktop apps, watch apps, etc.
I also recently stumbled across this architecture with the Lockbook project, which I contributed to. It was very easy for me to fix a bug that was remedied across multiple apps because I only had to fix it in the core library.
Watch this one if you're interested in building a multi-platform application, native experience and want to reduce the amount of code necessary.
Traits are one of the coolest features of Rust. Sure, they're like interfaces, but they're so much more than that. Rust fully embraces the principle of composition over inheritance through its traits system.
This talk covers how you can best use traits to deliver a superior end-user experience.
If you're a library builder using any programming language, this one is worth a listen!
Let's Get Rusty in Here - Daniel Thompson-Yvetot
Daniel goes over the history of problems that software engineering has experienced over the decades. It's a fun romp through history that culminates in talking about the problems Rust solves for modern engineers.
He also touches on the Tauri framework, which is a competitor to Electron.
If you're interested in software engineering history and want to hear why Rust makes sense for many of today's use cases, this is a talk to watch!
Let's write async Rust from the ground up! - Conrad Ludgate
Conrad goes through the basics of async runtimes, why Rust doesn't provide one in its standard library, and how to approach writing your own. It made me very glad that I only ever have to consume async libraries and not have to write my own!
If you've ever been curious how async runtimes can work, this talk is for you.
What I learned by solving 50 Advent of Code challenges in Rust - Luciano Mammino
Advent of Code is a yearly programming challenge in December. It's a great set of problems that many people (myself included) use to try out new programming languages and improve their problem-solving skills. This talk covers what it was like to do a bunch of those challenges in Rust.
If you've ever been interested in Advent of Code or how to learn Rust, this is a good one to watch!
The title of this talk was what convinced me to choose Rust Nation UK as the conference I watched this year! I've been looking for good ways to get my organization to use Rust, so I wanted to learn some tips or tricks.
Long story short, choose something small and independent, write it in Rust, and then show people how few bugs there are, how little memory the infrastructure uses, how quickly the code runs, and how you can basically leave it alone and it'll happily run for a very long time.
Unfortunately for me, I still haven't found a great way to inject Rust into my team's programming stack, but at least I'll know what to do when I finally find a use case!
Watch this one if you're also a Rustacean looking to slowly take over your company's tech stack.
A tale of binary translation - Amanieu D'Antras
Interesting talk that goes through the process of building a chipset emulator. Really showcases the usefulness of Rust as a low-level language!
If you like bare-metal code, emulation, or low-level code in general this is a fun one to watch.
Embracing Rust at fly.io: How Rust powers our networking layer - Senyo Simpson
fly.io is a great tool for making deployments easy and running your code close to users. In fact, I use it for my unfinished Personal Stats tool that I've been tinkering with in an effort to learn more Rust using the Leptos framework!
Senyo covers how they used Rust to make their edge computing possible.
If you like networking and edge computing, check this one out!
This talk is useful for all engineers. I have yet to be on a project that didn't use some sort of package distribution system, and this talk covers how insecure those can be. It's a bit of an advertisement for Pyrsia, but the pitch is very good and is likely to make a lot of security engineers happy.
Watch this talk to get new ideas on how to secure your internal and external dependencies!
SurrealDB: from Golang to Rust - building the world's fastest-growing db - Tobie Morgan Hitchcock
Very interesting talk basically serving as an ad for SurrealDB. Tobie claims that SurrealDB can replace many different tools into one easy-to-use DB that makes things like synchronization across clients super easy.
Any time I hear of a new thing that will be the only tool you'll ever need, I'm a bit wary. However, I enjoyed seeing what SurrealDB could do and how it might shake up the database ecosystem as it continues to grow.
If you deal with databases, definitely watch this talk. It seems like it could be a game-changer.
Moving beyond Arc> - Katharina Fey
One of Rust's claims is "fearless concurrency". Rust truly makes multi-threaded applications much easier to write, but this talk goes into detail about advanced ways to tackle concurrency problems.
Again, not one directly related to web development but it makes me appreciate everything that engineers do to write performant, multi-threaded code.
Give this one a watch if you like optimization and are sad whenever an application doesn't use all eight of your CPUs!
What does the Rust Foundation do? - Rust Foundation team
I'm very glad this talk exists, but it's not the most exciting unless you're interested in the governance of the Rust Foundation and how it helps the community.
Not much technical information here, so skip it if you're just looking for code stuff.
Rust on RISC-V, a case study - Jorge Prendes and James Wainwright
Another low-level talk, this time about a real RISC-V system (as opposed to the RISC-V emulation in the earlier "A tale of binary translation" talk.
Not my jam, but worth a watch if you play in the OS space.
Rust in Rhymes II - Andre Bogus
Fun talk with a bunch of limericks and rhymes about Rust.
If you're not well-versed in the Rust language or its online community, this is one you can skip.
Living with Rust Long-Term - Jon Gjengset
Jon is one of my favorite YouTubers. His channel goes extremely in-depth and I've learned more about Rust from him than anyone else. I'd highly recommend his book Rust for Rustaceans if you're looking for a mid-level technical book on Rust. It's excellent.
"Living with Rust Long-Term" was a great talk with principles that can be applied to any sort of software engineering ecosystem. Jon covered the push/pull between keeping things stable and moving with the ecosystem, how different versions of Rust are released, and what to consider when you inevitably have to make changes and updates.
If you're in charge of upgrading systems or maintaining libraries, this is one to watch.
And there it is! Hopefully, this list can be useful to some of you. While I enjoyed watching the whole conference, I know that folks aren't always interested in watching talks that don't have direct application to their own work.
Maybe next year I'll get to go to one of these in person, but until then I'm immensely grateful that conferences publish their talks like this!