Matthias: This is Rust in Production, a podcast about companies who use Rust to shape
Matthias: the future of infrastructure.
Matthias: I'm Matthias Entler from Corode, and in this Season 2 finale,
Matthias: we'll revisit key insights and explore Rust's transformative impact on modern software development.
Matthias: I waited for a long time to start this podcast. I wanted others to start a format
Matthias: like this, but no one did. it.
Matthias: They say produce the content you want to consume so I went ahead and created it.
Matthias: This already marks the end of season two and the season finale is a good time
Matthias: to reflect on the past episodes but also to reflect on Rust itself.
Matthias: Time flies and as I reflect on this I feel a bit melancholic.
Matthias: I remember 2015 and how enthusiastic we were about Rust's future.
Matthias: I had the same feeling like 10 years before when I started using Python.
Matthias: I knew that Python would be big. It would be the future.
Matthias: Fast forward a decade and it was one of the most popular languages in the world.
Matthias: I had the same feeling about Rust. It would also be the future.
Matthias: Fast forward a decade and here we are.
Matthias: We've grown as a community. We must be in the millions now.
Matthias: Back in the day, we were a much smaller group. You would know the names of many
Matthias: influential Rust sessions.
Matthias: Alex Crichton, Brian Anderson, Aaron Turon, Nico Matsakis, Without Boats,
Matthias: Steve Klapnick, and many more.
Matthias: I am thankful for the conversations I had with them. I can say that I met a
Matthias: lot of great developers in my life, but the very best ones are in the Rust community.
Matthias: These people built the very foundation that we stand on today.
Matthias: Projects like Tokyo were driven by dedicated people. It's probably still the
Matthias: same today, but I don't interact with the great authors that much anymore.
Matthias: There's way too much going on.
Matthias: On the other side of the spectrum, big organizations are using those crates
Matthias: in production now, so the stakes are higher and things don't change that fast.
Matthias: Overall, these changes are positive, but some of the magic is gone.
Matthias: The first talk I ever saw about Rust was by Steve Klapnick. It was truly special.
Matthias: Steve has this unique way of talking about Rust. You can feel that he deeply
Matthias: cares about the language and its community.
Matthias: He'll make you feel like you're part of this from day one.
Matthias: After a long time of searching, he reminded me again of what I loved about programming.
Matthias: It was the human aspect of it, and the understanding that big projects start
Matthias: with passionate individuals like you and me.
Matthias: There's an anecdote about Steve that I love to tell.
Matthias: He was at a conference, and someone who came from the Rails community asked
Matthias: him if he knew of a Rails-like framework for Rust.
Matthias: Steve said, no, but you could write one. That's how the Nickel framework by
Matthias: Christoph Burgdorf was born. It's no longer maintained, but the story is a good
Matthias: example of how Rust felt back then.
Matthias: It was a community of supportive people who were willing to think big and take risks.
Matthias: The sky was the limit. Today we have many web frameworks, of course,
Matthias: but that early excitement of exploring new solutions to old problems was unique.
Matthias: The progress we made in those early days was remarkable. I've never been as
Matthias: deeply involved in any other community as I was in Rust, and witnessing the
Matthias: ecosystem take shape in front of my eyes was a privilege.
Matthias: Thanks, Steve, for your unique way of writing and talking about Rust.
Matthias: It is what brought me and others into the community.
Matthias: Another thanks goes out to Chris Cratchell. We only met in person once,
Matthias: but he ran the first podcast about Rust that I was aware of, New Rustation.
Matthias: His podcast was so polished, so well produced, so well researched.
Matthias: To this day, it sets the bar I'd like to match with this podcast.
Matthias: Thanks to Chris for being an inspiration and for carrying the torch in the early days.
Matthias: By now, it has become clear that something like Rust needs to exist.
Matthias: From the White House's call for memory-safe software development,
Matthias: to the NSA's guidance on protecting against memory safety issues,
Matthias: and DARPA's funding of C2RUST migration projects,
Matthias: it's clear that the industry is shifting towards safer languages,
Matthias: sometimes reluctantly so.
Matthias: I expect more companies to make the switch to Rust in the future.
Matthias: Large companies are building teams to migrate their C++ and Python codebases
Matthias: to Rust. It takes time, but the writing is on the wall.
Matthias: Expect to hear more initiatives from automotive, aerospace and public infrastructure in the future.
Matthias: Furthermore, the work that Proximo does for the Internet's most critical infrastructure
Matthias: like NTP is also very important.
Matthias: Many people don't know how much public infrastructure depends on these projects
Matthias: to be alive and well maintained.
Matthias: From TLS over NTP to CLIP, these projects are the backbone of the Internet.
Matthias: We sit on a pile of technical debt, and there's little hope of paying it off
Matthias: by sticking with our old set of tools like C and C++. It simply doesn't work.
Matthias: Somewhat ironically, tech debt is a major catalyst for change.
Matthias: Not better performance nor cost savings, but the sheer amount of tech debt that
Matthias: we accumulated over the last few decades is the reason why we see so many companies
Matthias: struggling and looking for alternatives.
Matthias: Rust is in a unique position to address these issues, especially in the security
Matthias: space and systems programming.
Matthias: That was one main area of focus for this season.
Matthias: Many of our guests work on large code bases written in C or C++ or need to interact
Matthias: with code written in these languages on a regular basis.
Matthias: From Curl to Thunderbird, from
Matthias: OxidOS to System76, companies are moving to Rust for greener pastures.
Matthias: The old ways of doing things are no longer sustainable and Rust is best positioned to be the answer.
Matthias: Daniel Senberg, Curl core maintainer and expert C programmer,
Matthias: said the following about C++ in comparison to Rust.
Daniel: I think, for example, one of the downsides with C++ is that it is so much C.
Daniel: So that it sort of, it brings all the C and it tries to do things C++,
Daniel: which allows everyone to shoot themselves in the foot and at the same time,
Daniel: try to do everything object-oriented in the way, you know, you never figure
Daniel: out who's doing what because there are just, you know,
Daniel: everything is inheriting everything else and you just never understand who's doing what.
Daniel: And so I think by not having this based on C, I think Rust has a much better position.
Daniel: And of course, I think Rust has a much better starting point because just of
Daniel: the ownership and trying to do it memory safe and stuff like that.
Daniel: And then half of the C++ people would say, well, you can do it with C++ as well.
Daniel: But no, you can't. So yeah, I think Rust has a much more going for it as a safe language.
Matthias: Here's the perspective of Jeremy Soller, principal engineer at System76 and
Matthias: excellent systems programmer with decades of experience.
Jeremy: I have so many examples of skilled programmers using the absolute top of the line.
Jeremy: I mean, just recently there was a glibc issue, and it can be exposed remotely through PHP code,
Jeremy: a glibc issue can allow
Jeremy: remote exit code execution there is
Jeremy: no library in the linux ecosystem that is
Jeremy: as heavily used as glibc if there was a smart person who could apply some kind
Jeremy: of technique to glibc they have they did there and yet for 24 years there was
Jeremy: a vulnerability present This is a fact of the language itself.
Matthias: The experts confirm that achieving the same high quality output with C or C++
Matthias: is very hard if not impossible.
Matthias: This is no longer a matter of opinion. We heard it many times from experts in different fields.
Matthias: And no, modern C++ is not the answer. It's merely a band-aid for more fundamental
Matthias: problems with the language.
Matthias: It is not enough to try harder and write better C++ to avoid undefined behavior or insecure code.
Matthias: Even experts struggle to get it right 100% of the time.
Matthias: And so they are left with gnarly runtime bugs that are hard to track down.
Matthias: The burden should not be on the programmer to get it right.
Matthias: No, the goal is to use better tools which help build better software in general
Matthias: and have an escape hatch from the current state of affairs.
Matthias: And for many companies, Rust is merely a means to an end. Here's Aleksandr Radovich from Oxido S.
Alex: We shipped three years ago an industrial system that works today in industry.
Alex: Industry i mean before oxid os long before
Alex: oxid os we shipped rust software into the
Alex: industry and we chose rust not because it was
Alex: fancy because we the client allowed us to rewrite the project because they liked
Alex: it and we said we had a lot of problems in c let's try it in rust we had one
Alex: issue never heard about the client again i mean never heard about the client
Alex: no news is good news I mean, it works.
Alex: And that was more than three years ago when we shipped it.
Alex: When he said never heard about the client again, I wondered about why that was the case.
Alex: But yeah, I guess in this context, it means they didn't really...
Alex: No, no, news is good news. I mean, it works.
Alex: Exactly, yeah. The system works. The client is happy.
Alex: They don't need patches to it because it works. It didn't fail.
Matthias: The companies I spoke with have a very pragmatic approach. It's not about the language.
Matthias: It's about the results. And that's what businesses care about.
Matthias: Do you ever feel like you're spending more time managing your data pipelines
Matthias: than actually using the data?
Matthias: Data streaming is critical for modern software development, but most platforms struggle to keep up.
Matthias: Pipelines are often a nightmare, slow, flaky, and a pain to maintain.
Matthias: We end up cobbling together Kafka, Flink, Spark, and Lambdas just to get data where it needs to be.
Matthias: Today's sponsor, Infineon, the creators of Fluvio, is aiming to fix that.
Matthias: Build from the ground up in Rust, Fluvio is lightning-fast and rock-solid.
Matthias: It allows you to build composable, event-driven data pipelines in minutes, not months.
Matthias: Fluvio compiles to a single 37MB binary, running stream processors on the edge.
Matthias: With smart modules, you can transform data on the fly.
Matthias: Whether you're dealing with IoT sensor data, financial transactions or custom
Matthias: events, Fluvio can handle it. It's built by devs for devs with a clean API and
Matthias: an experience similar to Ruby on Rails.
Matthias: Visit infineon.com slash rust in prod to explore how you can streamline your data infrastructure.
Matthias: That's infineon.com slash rust in prod.
Matthias: Some companies build things in Rust which would have been way harder to do before,
Matthias: especially with smaller teams in time-constrained environments.
Matthias: Environments for example fusion engineering is building a drone controller in
Matthias: rust they are a small team and they need to move fast rust allows them to do that.
Jakub: But it turned out that we have quite multi-disciplinary team you need software
Jakub: engineers you need control engineers which know all the math of making things
Jakub: fly you also need mechanical engineers and people who work more with the hardware.
Jakub: And it turns out for people who don't have a lot of experience,
Jakub: who are not professional software engineers, learning C++ can be quite difficult.
Jakub: And it's very easy to, let's say, create bugs or memory violations,
Jakub: access violations or stuff like that. Yeah.
Jakub: We tried to use Rust and it turned out that the people who are not professional
Jakub: software engineers can pick it up quite fast, can be productive with it quite fast.
Jakub: And the code quality is much higher because Rust, usually there are idiomatic
Jakub: ways how to do certain things.
Jakub: And there is not like 15 ways to do one thing which changed over the years.
Jakub: That's maybe thanks to also Rust being younger language which doesn't have that
Jakub: much of a baggage so the benefit for us was that more people on the team are able to write code,
Jakub: and the quality of the code is I think much higher.
Matthias: That was Jakob Walter from Fusion Engineering. Matic is building a smart vacuum robot in Rust.
Matthias: Everything happens on the device itself.
Matthias: They get a lot of stuff done with a small team. Here's what Eric Zappanen from Matic had to say.
Eric: There's a lot of articles that say Rust is good and we like it,
Eric: but what I discovered is I can't imagine doing this job with anything less.
Eric: Going to another systems programming language like C or C++ would feel like,
Eric: banging rocks together to make fire. You know, these are things that people
Eric: used to do, but we've learned how to be more productive than that.
Matthias: AMP Robotics uses Rust to build recycling facilities. They managed to build
Matthias: large parts of it very quickly with Rust. Let's hear it from Carter Schultz.
Carter: But the reality is from like the first time we tried to power up the facility,
Carter: the Rust application was running 99% smoothly.
Carter: No major hiccups was not the blocker. So, So at the end of this six-month build
Carter: of an entire facility, and it's time to turn on the facility and run,
Carter: software did not cost us a single day of schedule.
Carter: We were able to test and develop the software in parallel to the hardware getting stood up.
Carter: And at the end of the day, when we plugged them in together,
Carter: and it was like, okay, time to go integrate, it just worked.
Carter: That never happens. That should not happen. I feel like an asshole getting up
Carter: here and telling people that that happened because I won the lottery ticket.
Carter: It like that's not a reproducible thing
Carter: that people should be like oh well that's what i should expect out
Carter: of rust no we got lucky i will fully
Carter: admit that but i do think rust helped make that
Carter: possible just given you know the volume of c++ code i've written in the past
Carter: i know that if you write 150 000 lines of c++ code there will probably be 15
Carter: or 20 gnarly hard to debug just insane things going on that are undefined behavior
Carter: and segmentation faults and weird crap like that.
Carter: We had zero of those at time of powering up the facility.
Carter: Like none of them appeared. And that's, that was just cool. That's nice.
Matthias: To businesses, results are what counts the most, not the language.
Matthias: Rust is a tool that helps them achieve those results.
Matthias: I think that's a trend that will continue. At the end, Rust is supposed to be
Matthias: a tool that helps you get things done.
Matthias: It's not a silver bullet, but it's a very good tool for many jobs.
Matthias: Yes, prototyping can be tedious in Rust. It is an often-mentioned downside.
Matthias: However, Rust shifts a lot of the complexity of the software development lifecycle to the left.
Matthias: That means you catch bugs in the initial phase of the development because Rust
Matthias: forces you to handle edge cases.
Matthias: But a common fallacy is to see that as a big cost center. In reality,
Matthias: long-term maintenance is much more important and costly.
Matthias: By the time your Rust project hits production, all the hard questions have been answered.
Matthias: If it compiles, it runs is a common mantra among Rust users.
Brandon: Once your code builds, you're sure that you have a certain standard in terms
Brandon: of safety, in terms of quality,
Brandon: that you have a nice and more maintainable and less error-prone,
Brandon: outputs from from that and it's it also kind
Brandon: of makes makes you reconsider your relation with the
Brandon: compiler itself because you know in other compiled languages
Brandon: the compiler is you know just something that turns
Brandon: code into into binary in rust the compiler is more is that but also kind of
Brandon: a a bit sort of a of an advisor in you know if you do this you're going to if
Brandon: i if i let you do this you're going to run into those kind of issues in the future.
Matthias: That was Brandon Abolivier from Thunderbird. We hear that time and again in
Matthias: the podcast and in our work with clients.
Matthias: So I'm glad people start to get the message.
Matthias: When I launched this podcast, I did so because many companies expressed reluctance
Matthias: to use Rust, claiming it wasn't used in production.
Matthias: Now the goalpost has shifted. It's no longer about Rust's use in production
Matthias: generally, but rather its adoption in specific contexts.
Matthias: Companies now cite the lack of Rust in their particular industry,
Matthias: the absence of similarly sized organizations using Rust, or concerns about interoperability
Matthias: with their existing codebase.
Matthias: Despite these evolving challenges, this shift in perspective represents progress
Matthias: in Rust's journey towards wider adoption.
Matthias: The willingness for companies to talk about Rust has also improved.
Matthias: There are still way more stories which remain untold and will probably never
Matthias: be told, but the trend is clear.
Matthias: Rust is moving into production. I think that's a win, but there's a long way to go.
Matthias: Just like fixing a bug in your program and getting a new error message,
Matthias: we made the same kind of progress in regard to wider Rust adoption.
Matthias: For 60% of you, the podcast improved your confidence in Rust for production use.
Matthias: 19% of you even said that the podcast significantly improved your confidence in Rust for production.
Matthias: We know that from our survey a few weeks ago. That's a great outcome.
Matthias: The average listener is from the US or Germany, around 33 years old and has
Matthias: 1-3 years of Rust experience.
Matthias: Earlier I thought that Rust's use for business would be the main area of interest,
Matthias: but it turns out that many of you are mostly interested in technical deep dives.
Matthias: That surprised me. Spreading the message that Rust is great for businesses was
Matthias: the main goal to start this podcast.
Matthias: But it turns out most of you come for the tech part. Perhaps it aligns well with who I am.
Matthias: At the end, I also love to hear the stories from the trenches,
Matthias: instead of the rationale behind business decisions.
Matthias: It's just a better fit. The survey highlighted your main areas of interest.
Matthias: Systems programming led at 75%, followed by web development at 59%,
Matthias: data processing and analysis at 48% and embedded systems at 46%.
Matthias: This diverse set showcases Rust's versatility and our audience's varied expertise.
Matthias: Thanks to everyone who participated in the survey. It improved the perception of our audience.
Matthias: If you're interested, the full results of the survey are on corrode.dev slash podcast.
Matthias: What's left to say is that you are the future of Rust. The people that carry
Matthias: the torch forward. it. The people who will introduce Rust in your company.
Matthias: I want you to carry on that enthusiasm not only about Rust but about systems
Matthias: programming and infrastructure in general.
Matthias: It's an important topic which often gets neglected.
Matthias: I wish that some of you go ahead and contribute to the Rust project itself or
Matthias: start your own open source crate.
Matthias: I encourage you to write about your experiences with Rust and the challenges you face.
Matthias: If your company uses Rust you can help by sharing your story.
Matthias: We need to know what works and what doesn't. You can write blog posts,
Matthias: give talks, write a post in the Rust forum, the Rust subreddit, or on Mastodon.
Matthias: We'd also love to hear your story on the podcast.
Matthias: As we close the second season of Rust in production, now is the perfect opportunity
Matthias: to catch up on any episodes you might have missed.
Matthias: My personal highlights were my interview with some of my heroes,
Matthias: like Daniel Stenberg and Jeremy Sola, seeing Matic build a smart vacuum robot,
Matthias: and realizing that I might soon be able to buy my first rust-based home appliance.
Matthias: The lively discussion with Carter Schulz about a seemingly impossible task of
Matthias: building a recycling facility from scratch under time constraints.
Matthias: This concludes the second season of Rust in Production. We'll return for Season
Matthias: 3 in 8 weeks, and we already have some fantastic guests lined up.
Matthias: Some of them, you might know.
Matthias: To bridge the gap and to help you with your Rust Production projects,
Matthias: we're now offering office hours every Thursday from 4pm to 5pm UTC.
Matthias: Participation is completely free and the topic is up to you,
Matthias: as long as it has something to do with Rust in Production. So come and bring your questions.
Matthias: You can find a link to the event in the show notes.
Matthias: We'll also attend Eurorust on 10th and 11th of October, which takes place in
Matthias: Vienna. A few tickets are still available. Come and say hi at the conference.
Matthias: We might even have some Rustim Production stickers for you.
Matthias: I don't ask for this often, but if you enjoy the podcast, I would love if you
Matthias: could share your favorite episode with your colleagues or friends on Slack or Discord.
Matthias: Word of mouth helps us most. Thanks to our guests Daniel,
Matthias: Carter, Brandon, Eric, Alex, Jacob and
Matthias: Jeremy me for sharing your insights on our show and
Matthias: to simon brügen without whom the podcast certainly
Matthias: wouldn't exist he edits every
Matthias: single episode of the podcast which is probably the hardest
Matthias: job in the entire process also thanks to
Matthias: every listener for tuning in and i mean it if you want to make the most of rust
Matthias: check out our website corrode.dev we offer a range of services from consulting
Matthias: to training to help you and your company with your rust projects if you haven't
Matthias: already maybe Maybe subscribe so you don't miss out on Season 3.
Matthias: As always, all links are in the show notes.
Matthias: Thanks for listening to Rust in Production.