WEBVTT

00:00:00.010 --> 00:00:05.430
<v Matthias>As we close the chapter on 2025 and celebrate our second year of Rust in Production,

00:00:05.730 --> 00:00:11.170
<v Matthias>it's time to reflect on the highlights of the 17 episodes since our last holiday special.

00:00:12.130 --> 00:00:16.690
<v Matthias>We looked at Rust from all angles, from cloud infrastructure to embedded systems

00:00:16.690 --> 00:00:19.310
<v Matthias>and from robotics to satellite technology.

00:00:19.750 --> 00:00:25.110
<v Matthias>One thing that all of these stories have in common is the passion and dedication

00:00:25.110 --> 00:00:29.870
<v Matthias>of the Rust community to build faster, safer and more reliable software.

00:00:30.830 --> 00:00:35.610
<v Matthias>In this special episode, I want to thank all the guests who shared their experiences

00:00:35.610 --> 00:00:41.190
<v Matthias>and insights with us, as well as our listeners who have supported the podcast throughout the year.

00:00:41.710 --> 00:00:43.330
<v Matthias>Let's look back at some of the

00:00:43.330 --> 00:00:46.650
<v Matthias>memorable moments from the past year and celebrate Rust's achievements.

00:00:47.030 --> 00:00:51.010
<v Matthias>This goes beyond the case studies we've covered. It's about the Rust community

00:00:51.010 --> 00:00:55.070
<v Matthias>as a whole and the state of the Rust ecosystem at the end of 2025.

00:00:55.590 --> 00:00:58.910
<v Matthias>My name is Matthias Endler and you're listening to Rust in Production.

00:01:00.630 --> 00:01:03.170
<v Matthias>Chapter 1. Crossing the Chasm

00:01:03.170 --> 00:01:06.370
<v Matthias>One of the recurring themes in our episodes this

00:01:06.370 --> 00:01:11.370
<v Matthias>year has been the idea of Rust crossing the chasm, from early adopters to mainstream use.

00:01:11.530 --> 00:01:14.270
<v Matthias>This is a significant milestone for any technology.

00:01:14.590 --> 00:01:18.970
<v Matthias>It is also very rare for a programming language to achieve this level of adoption

00:01:18.970 --> 00:01:21.510
<v Matthias>maturity, let alone in such a short time.

00:01:21.770 --> 00:01:25.630
<v Matthias>Rust is no longer a language for enthusiasts and early adopters only.

00:01:25.630 --> 00:01:30.570
<v Matthias>We're seeing more and more companies and projects adopting Rust for mission-critical applications.

00:01:30.890 --> 00:01:34.570
<v Matthias>We've heard how Microsoft mandates Rust for new components in Azure,

00:01:34.890 --> 00:01:37.850
<v Matthias>even going so far as adding it to the Windows kernel.

00:01:38.190 --> 00:01:41.970
<v Matthias>We've heard from Volvo using Rust inside ECUs for their vehicles,

00:01:42.250 --> 00:01:48.110
<v Matthias>and from Prime Video using Rust to power new components in the UI layer of their streaming service.

00:01:48.760 --> 00:01:54.000
<v Matthias>But it's not just large companies. Some of my clients managed to build impressive

00:01:54.000 --> 00:01:55.920
<v Matthias>products with small teams using Rust.

00:01:56.200 --> 00:01:59.780
<v Matthias>I gave a presentation at this year's CodeTalks conference in Hamburg,

00:02:00.000 --> 00:02:02.020
<v Matthias>where I shared a few case studies.

00:02:02.320 --> 00:02:06.740
<v Matthias>For example, how a team of just three developers built a backend service for

00:02:06.740 --> 00:02:11.280
<v Matthias>hundreds of thousands of students in Africa who learn math and English online

00:02:11.280 --> 00:02:13.240
<v Matthias>through low-bandwidth connections.

00:02:13.600 --> 00:02:18.960
<v Matthias>After the service went live, they had zero downtime and were able to scale to meet the demand.

00:02:19.480 --> 00:02:24.240
<v Matthias>The maintenance dropped to almost nothing. All they focus on now is adding new

00:02:24.240 --> 00:02:25.920
<v Matthias>features to help students learn better.

00:02:26.740 --> 00:02:29.720
<v Matthias>Success stories like these are why I love working with Rust.

00:02:30.140 --> 00:02:34.140
<v Matthias>It's hard to convey just how transformative Rust can be for a project until

00:02:34.140 --> 00:02:35.100
<v Matthias>you see it in production.

00:02:35.320 --> 00:02:39.020
<v Matthias>I wish it was easier to demonstrate this to potential new users before they

00:02:39.020 --> 00:02:40.660
<v Matthias>commit to using Rust for their projects.

00:02:41.120 --> 00:02:45.760
<v Matthias>Rust is and will remain a day-two language, and the benefits become more apparent

00:02:45.760 --> 00:02:47.520
<v Matthias>at the later stages of development.

00:02:47.800 --> 00:02:50.860
<v Matthias>That is still a significant barrier to adoption for many teams,

00:02:51.100 --> 00:02:55.520
<v Matthias>as they have to make a leap of faith to trust that Rust will deliver on its promises.

00:02:56.140 --> 00:03:00.280
<v Matthias>That's why as a community, we should not stop telling the stories of Rust in

00:03:00.280 --> 00:03:04.700
<v Matthias>production, the good and the bad, to help other teams make informed decisions

00:03:04.700 --> 00:03:06.920
<v Matthias>on whether Rust is the right choice for them.

00:03:07.080 --> 00:03:11.160
<v Matthias>Speaking of sharing stories, it comes as no surprise that Rust has been named

00:03:11.160 --> 00:03:16.080
<v Matthias>Stack Overflow's most admired language every year since our 1.0 release in 2015.

00:03:16.380 --> 00:03:21.280
<v Matthias>And what people love the most about Rust is the sense of empowerment and versatility it provides.

00:03:21.580 --> 00:03:25.500
<v Matthias>You can write everything from the top to the bottom of your stack in it.

00:03:25.860 --> 00:03:27.500
<v Matthias>Here's Anton Lazarev from Brave.

00:03:27.880 --> 00:03:33.000
<v Anton (Brave)>I just feel that Rust solves so many of our problems in software development that we've run into.

00:03:33.220 --> 00:03:37.720
<v Anton (Brave)>And it really just works everywhere from embedded to desktop to mobile to even

00:03:37.720 --> 00:03:38.960
<v Anton (Brave)>on the web with WebAssembly.

00:03:39.780 --> 00:03:43.380
<v Anton (Brave)>I guess my take is that you better have a really good reason not to use Rust

00:03:43.380 --> 00:03:45.640
<v Anton (Brave)>as the go-to language for your next project.

00:03:46.200 --> 00:03:51.200
<v Matthias>Julius Gustavsson from Volvo and Charlie Marsh from Astral both echoed this sentiment.

00:03:51.970 --> 00:03:57.070
<v Julius (Volvo)>Yeah, empowering is definitely the key word.

00:03:58.070 --> 00:04:07.770
<v Julius (Volvo)>We have been super, super happy with this project and it really shows that Rust has a bright future.

00:04:08.830 --> 00:04:15.670
<v Julius (Volvo)>The hurdles that we mentioned before when we started the project and which made

00:04:15.670 --> 00:04:20.630
<v Julius (Volvo)>it basically a non-starter for most of the ECUs that we wanted to use it,

00:04:20.630 --> 00:04:23.750
<v Julius (Volvo)>those are all coming down and or have

00:04:23.750 --> 00:04:27.030
<v Julius (Volvo)>come down already so now you have qnx support

00:04:27.030 --> 00:04:30.330
<v Julius (Volvo)>for example you have infinium tricore support there

00:04:30.330 --> 00:04:33.190
<v Julius (Volvo)>was recently an article on how to run rust

00:04:33.190 --> 00:04:36.170
<v Julius (Volvo)>together with autostar classic autostar classic is

00:04:36.170 --> 00:04:39.650
<v Julius (Volvo)>the is the common automotive software

00:04:39.650 --> 00:04:45.450
<v Julius (Volvo)>framework that most automotive software runs in and now that is becoming available

00:04:45.450 --> 00:04:52.430
<v Julius (Volvo)>for for us as well there is work being done on various different automotive

00:04:52.430 --> 00:04:57.210
<v Julius (Volvo)>platforms and components so for automotive it's,

00:04:58.250 --> 00:05:00.850
<v Julius (Volvo)>definitely a bright future.

00:05:00.850 --> 00:05:03.810
<v Charlie (Astral)>It's kind of amazing i think that i only started

00:05:03.810 --> 00:05:06.950
<v Charlie (Astral)>writing rust like a few years ago and now we've shipped i mean

00:05:06.950 --> 00:05:09.830
<v Charlie (Astral)>along with a great team like we've shipped two of these tools

00:05:09.830 --> 00:05:13.070
<v Charlie (Astral)>that are having i i think at least a huge impact on

00:05:13.070 --> 00:05:15.870
<v Charlie (Astral)>python which is like the most popular or the second most

00:05:15.870 --> 00:05:19.110
<v Charlie (Astral)>popular programming ecosystem on earth so

00:05:19.110 --> 00:05:21.770
<v Charlie (Astral)>if you think about it like rust is kind of in a lot

00:05:21.770 --> 00:05:24.570
<v Charlie (Astral)>of ways rust is kind of like powering python at least to you

00:05:24.570 --> 00:05:27.930
<v Charlie (Astral)>know if i have say about it at least rust is powering is

00:05:27.930 --> 00:05:30.690
<v Charlie (Astral)>powering python and so i don't know i've always just

00:05:30.690 --> 00:05:33.490
<v Charlie (Astral)>felt i again i never considered myself

00:05:33.490 --> 00:05:36.250
<v Charlie (Astral)>to be like a systems programmer quote unquote and most of

00:05:36.250 --> 00:05:39.770
<v Charlie (Astral)>my career i was writing typescript python

00:05:39.770 --> 00:05:42.790
<v Charlie (Astral)>i mean i did some java professionally but like

00:05:42.790 --> 00:05:45.510
<v Charlie (Astral)>i had never except for like a course in

00:05:45.510 --> 00:05:48.770
<v Charlie (Astral)>college done any c i really hadn't done any c++ and

00:05:48.770 --> 00:05:52.350
<v Charlie (Astral)>like in the span of a few years i like learned

00:05:52.350 --> 00:05:55.490
<v Charlie (Astral)>to build this kind of software so i don't

00:05:55.490 --> 00:05:59.490
<v Charlie (Astral)>know i've had just like great experiences with the community and and being welcomed

00:05:59.490 --> 00:06:04.530
<v Charlie (Astral)>into it and learning the language and i think that's should continue to be a

00:06:04.530 --> 00:06:08.810
<v Charlie (Astral)>very important part of of rust is like welcoming people in and helping them

00:06:08.810 --> 00:06:12.390
<v Charlie (Astral)>learn because the impact that we can have by building this kind of stuff is

00:06:12.390 --> 00:06:13.810
<v Charlie (Astral)>just huge even outside of rust.

00:06:13.810 --> 00:06:18.450
<v Matthias>Finally Andrew Tinka from Scythe highlighted the confidence that Rust gives

00:06:18.450 --> 00:06:19.530
<v Matthias>you when building software.

00:06:19.830 --> 00:06:26.130
<v Andrew (Scythe Robotics)>Rust as a language sits at a very valuable point in the language design space.

00:06:27.590 --> 00:06:33.730
<v Andrew (Scythe Robotics)>Really is something special in terms of the guarantees it gives,

00:06:33.970 --> 00:06:40.190
<v Andrew (Scythe Robotics)>the confidence you can have when building complicated systems with it,

00:06:40.490 --> 00:06:47.290
<v Andrew (Scythe Robotics)>knowing that the language has struck such a valuable trade-off between competing

00:06:47.290 --> 00:06:52.190
<v Andrew (Scythe Robotics)>concerns of safety and efficiency and expressiveness.

00:06:53.210 --> 00:06:58.950
<v Andrew (Scythe Robotics)>It's a technology I'm glad to use every day that I use it, and I hope that its

00:06:58.950 --> 00:07:02.730
<v Andrew (Scythe Robotics)>development toward these goals continues as long as it can.

00:07:02.910 --> 00:07:07.690
<v Matthias>And there are few, perhaps no, other languages that can make such bold claims.

00:07:07.870 --> 00:07:11.650
<v Matthias>I certainly struggled in the past when I had to struggle multiple languages

00:07:11.650 --> 00:07:13.270
<v Matthias>for different parts of my projects.

00:07:13.530 --> 00:07:16.430
<v Matthias>Besides navigating different ecosystems and switching contexts,

00:07:16.770 --> 00:07:19.610
<v Matthias>I had to deal with different build systems, package managers,

00:07:19.710 --> 00:07:23.710
<v Matthias>and toolchains. With Rust, I can master one language and use it everywhere.

00:07:23.910 --> 00:07:27.150
<v Matthias>It feels like this is a very common sentiment among our guests.

00:07:27.370 --> 00:07:32.610
<v Matthias>For many, Rust became a gateway into domains that would otherwise be inaccessible,

00:07:32.770 --> 00:07:36.550
<v Matthias>to break down the barriers to entry and make larger parts of the software stack

00:07:36.550 --> 00:07:37.770
<v Matthias>accessible to more people.

00:07:37.990 --> 00:07:41.710
<v Matthias>And when the time comes to integrate Rust into an existing project,

00:07:42.130 --> 00:07:47.250
<v Matthias>it happily takes a backseat to other languages, as it doesn't require a runtime or garbage collector.

00:07:47.250 --> 00:07:52.930
<v Matthias>You can incrementally adopt trust in your codebase one component at a time and

00:07:52.930 --> 00:07:54.210
<v Matthias>gradually leap the benefits.

00:07:54.490 --> 00:07:59.290
<v Matthias>This is a very appealing proposition for many teams who want to slowly and carefully

00:07:59.290 --> 00:08:02.630
<v Matthias>oxidize their codebase without the risk of a complete rewrite.

00:08:03.050 --> 00:08:05.970
<v Matthias>Some of my clients do exactly that to great success.

00:08:06.310 --> 00:08:07.210
<v Matthias>Chapter 2.

00:08:07.630 --> 00:08:13.270
<v Matthias>Fear, Uncertainty, and Doubt It is hard to build systems that must not fail.

00:08:13.730 --> 00:08:15.590
<v Matthias>Or at least do so gracefully.

00:08:16.360 --> 00:08:21.120
<v Matthias>And when Rust fails, it makes the headlines. Many listeners will have heard

00:08:21.120 --> 00:08:23.620
<v Matthias>of the first CVE in Rust for Linux recently.

00:08:24.060 --> 00:08:28.240
<v Matthias>People were up in arms about it, claiming that Rust in the Linux kernel was

00:08:28.240 --> 00:08:30.920
<v Matthias>a mistake, because Rust has bugs too.

00:08:31.140 --> 00:08:34.940
<v Matthias>But if you take a closer look at what actually happened, you will learn that

00:08:34.940 --> 00:08:38.940
<v Matthias>there is no known remote code execution or privilege escalation.

00:08:39.240 --> 00:08:45.200
<v Matthias>Yes, Rust had a bug and crashed the kernel, but it did not lead to a memory safety issue.

00:08:45.880 --> 00:08:53.160
<v Matthias>For context, 159 other CVEs were raised the same day, in the C parts of the kernel.

00:08:53.540 --> 00:08:59.240
<v Matthias>In comparison, Rust had one CVE in five years in an unsafe code block in the

00:08:59.240 --> 00:09:01.100
<v Matthias>implementation of a tricky data structure.

00:09:01.400 --> 00:09:04.160
<v Matthias>That's not perfect, but it's pretty damn close.

00:09:04.480 --> 00:09:08.020
<v Matthias>I often hear people spread the narrative that mistakes can also happen in the

00:09:08.020 --> 00:09:11.760
<v Matthias>Rust compiler and the standard library itself, but fail to acknowledge that

00:09:11.760 --> 00:09:16.380
<v Matthias>a bug in the compiler is a one-time cost that affects all Rust users, and once fixed,

00:09:16.660 --> 00:09:20.600
<v Matthias>will never happen again for anyone rebuilding with the new version of the compiler.

00:09:21.000 --> 00:09:23.620
<v Matthias>Isn't that a massive improvement over other languages?

00:09:24.200 --> 00:09:28.180
<v Matthias>I believe we'll have to live with the fact that there are people who will jump

00:09:28.180 --> 00:09:32.040
<v Matthias>on any opportunity to criticize Rust. It makes for great news headlines.

00:09:32.660 --> 00:09:37.400
<v Matthias>However, I ask you to be critical of the narrative and read past the headlines.

00:09:37.400 --> 00:09:41.980
<v Matthias>On the other hand, when people find bugs in popular software written in C,

00:09:42.200 --> 00:09:48.040
<v Matthias>such as Redis or Curl, the reaction is often that mistakes happen and there is no holy grail.

00:09:48.720 --> 00:09:53.460
<v Matthias>Yes, mistakes happen in every language, but just because there is no silver

00:09:53.460 --> 00:09:55.920
<v Matthias>bullet doesn't mean we shouldn't strive to do better.

00:09:56.740 --> 00:10:01.700
<v Matthias>C and C++ are littered with foot guns and undefined behavior that are impossible

00:10:01.700 --> 00:10:03.860
<v Matthias>to fix without breaking backward compatibility.

00:10:04.880 --> 00:10:09.740
<v Matthias>If you fix a bug in Redis, that fix only applies to Redis, but not to the countless

00:10:09.740 --> 00:10:12.240
<v Matthias>other C programs that are vulnerable to the same issue.

00:10:12.520 --> 00:10:16.940
<v Matthias>As an example, Redis had a remote code execution vulnerability in the Lua interpreter

00:10:16.940 --> 00:10:18.780
<v Matthias>that was enabled by default.

00:10:19.720 --> 00:10:23.580
<v Matthias>The bug was a use-after-free combined with a null-pointer dereference.

00:10:24.040 --> 00:10:31.300
<v Matthias>It went unnoticed for 13 years. In Rust, this code would not compile. In C, it ended in a CVE.

00:10:31.800 --> 00:10:35.960
<v Matthias>If you can't prevent safety issues before they happen, why isn't that a big leap forward?

00:10:36.500 --> 00:10:41.480
<v Matthias>Rust should not be rejected because part of the problem still exists after adopting it.

00:10:41.740 --> 00:10:45.520
<v Matthias>We need to stop comparing actual security problems to an unrealistic,

00:10:45.820 --> 00:10:48.740
<v Matthias>idealized reality where all software is bug-free.

00:10:49.400 --> 00:10:53.820
<v Matthias>While we may never get to 100% bug-free software, we should still adopt the

00:10:53.820 --> 00:10:59.040
<v Matthias>tooling that provably reduces the number of bugs and security vulnerabilities in our codebases today.

00:10:59.320 --> 00:11:05.100
<v Matthias>And no, writing more unit tests or just being more careful when writing C code is not enough.

00:11:05.400 --> 00:11:10.060
<v Matthias>The irony is that teams that adopt Rust often are more rigorous about testing,

00:11:10.320 --> 00:11:15.420
<v Matthias>not less, because their goal of following engineering best practices is what

00:11:15.420 --> 00:11:16.980
<v Matthias>brought them to Rust in the first place.

00:11:17.860 --> 00:11:22.760
<v Matthias>In code reviews and when writing tests, you can focus your testing efforts on

00:11:22.760 --> 00:11:27.100
<v Matthias>the bugs that actually matter and not undefined behavior or memory safety issues.

00:11:27.340 --> 00:11:32.060
<v Matthias>If you put the type system to work, you have more headroom to focus on logic

00:11:32.060 --> 00:11:34.360
<v Matthias>errors and things no compiler can catch.

00:11:34.580 --> 00:11:40.440
<v Matthias>Another popular narrative is that replacing stable C or C++ code with Rust is a waste of time.

00:11:40.800 --> 00:11:44.640
<v Matthias>Why replace perfectly good software that works just fine?

00:11:44.920 --> 00:11:47.860
<v Matthias>But of course, it's not fine, and it's not stable.

00:11:48.100 --> 00:11:53.140
<v Matthias>The myth that C code, once written and working, never changes, is simply not true.

00:11:53.820 --> 00:11:57.860
<v Matthias>For instance, Daniel Stenberg, maintainer of Curl and former guest on this podcast,

00:11:58.220 --> 00:12:01.760
<v Matthias>posted that he's been working on this codebase for more than two decades,

00:12:01.980 --> 00:12:04.560
<v Matthias>and that they get one bug report every three hours.

00:12:04.880 --> 00:12:09.000
<v Matthias>More than half of Curl's source code has been changed within the last four years.

00:12:09.320 --> 00:12:13.560
<v Matthias>Only 1011 lines from before the year 2000 remain untouched.

00:12:14.740 --> 00:12:18.120
<v Matthias>The reality is that programmers continuously rewrite, refactor,

00:12:18.320 --> 00:12:22.680
<v Matthias>and introduce new bugs while doing so. Here's Adam Hendel from Tempo on the topic.

00:12:23.100 --> 00:12:28.060
<v Adam (Tembo)>There's really no such thing as finished software or a finished programming language.

00:12:28.420 --> 00:12:32.820
<v Adam (Tembo)>It's not like software is distributed in the mail where you burn stuff to a

00:12:32.820 --> 00:12:36.240
<v Adam (Tembo)>disk and mail it out, and it just runs that way forever.

00:12:36.900 --> 00:12:43.760
<v Adam (Tembo)>Software is living, breathing organisms now, so things have to be constantly fed. it.

00:12:43.980 --> 00:12:47.820
<v Matthias>One of my personal highlights this year was when Jon Seager from Canonical

00:12:47.820 --> 00:12:51.460
<v Matthias>came on the show to talk about their experience shipping a replacement of the

00:12:51.460 --> 00:12:53.400
<v Matthias>GNU core utils in Rust for Ubuntu.

00:12:53.760 --> 00:12:57.660
<v Jon (Canonical)>If you've got a really interesting Rust project and you think it's a great fit

00:12:57.660 --> 00:13:01.020
<v Jon (Canonical)>for some of the work that we're doing and you want to have a conversation, then reach out.

00:13:01.480 --> 00:13:04.980
<v Jon (Canonical)>I'm open to ideas. I don't know all of the high-quality Rust projects out there.

00:13:05.220 --> 00:13:09.580
<v Jon (Canonical)>And if there are implementations of things that are very widespread that you

00:13:09.580 --> 00:13:11.420
<v Jon (Canonical)>think we should be using, then let me know.

00:13:12.080 --> 00:13:17.180
<v Matthias>Another highlight was Google's update on their Android OS work to integrate Rust into the platform.

00:13:17.400 --> 00:13:23.040
<v Matthias>For the first time ever, memory vulnerabilities fell below 20% of total vulnerabilities thanks to Rust.

00:13:23.300 --> 00:13:28.820
<v Matthias>For reference, the industry norm is around 70%. But their biggest surprise was

00:13:28.820 --> 00:13:30.660
<v Matthias>Rust's impact on software delivery.

00:13:30.900 --> 00:13:34.220
<v Matthias>Rust changes have a four times lower rollback rate.

00:13:34.600 --> 00:13:39.920
<v Matthias>Just imagine the eye-watering cost savings on a platform like Android with 3.9

00:13:39.920 --> 00:13:41.800
<v Matthias>billion active devices worldwide.

00:13:42.080 --> 00:13:46.060
<v Matthias>The safer path is now also faster and more cost-effective.

00:13:46.560 --> 00:13:50.800
<v Matthias>But Rust isn't the right choice for everyone. For instance, we had Richard Feldman

00:13:50.800 --> 00:13:52.340
<v Matthias>on the podcast talking about ROC.

00:13:52.760 --> 00:13:57.080
<v Matthias>His team moved from Rust to SIG for their compiler work, mainly because of slow

00:13:57.080 --> 00:13:59.180
<v Matthias>Rust compile times. And it makes sense.

00:13:59.460 --> 00:14:03.020
<v Matthias>When you're iterating rapidly on a compiler, waiting for Rust to compile can

00:14:03.020 --> 00:14:06.220
<v Matthias>be a real productivity hit. That's a legitimate trade-off.

00:14:06.820 --> 00:14:09.500
<v Matthias>gives you faster iteration at the cost of safety guarantees.

00:14:09.880 --> 00:14:11.920
<v Matthias>For their use case, that made sense.

00:14:12.440 --> 00:14:16.320
<v Matthias>The lesson isn't that Rust failed. It's that different problems need different

00:14:16.320 --> 00:14:19.600
<v Matthias>tools. And that's okay. Let's hear it from Richard himself.

00:14:19.860 --> 00:14:22.080
<v Richard (Roc)>Rust is such a big language with so many different features.

00:14:22.440 --> 00:14:26.140
<v Richard (Roc)>And there's so many different competing concerns you can have in terms of like,

00:14:26.180 --> 00:14:30.900
<v Richard (Roc)>I need to balance like making this safe and also making it well tested and well

00:14:30.900 --> 00:14:32.140
<v Richard (Roc)>structured and easy to maintain.

00:14:32.760 --> 00:14:34.940
<v Richard (Roc)>There's all these different things that you could be thinking about.

00:14:35.140 --> 00:14:40.460
<v Richard (Roc)>And I think focusing on what's the end user going to get out of my program.

00:14:40.720 --> 00:14:43.040
<v Richard (Roc)>That's the most important thing. That's got to be the North Star.

00:14:43.560 --> 00:14:47.860
<v Matthias>And even for teams that stuck with Rust, compile times remain a common pain point.

00:14:48.480 --> 00:14:52.180
<v Matthias>Here's Tom Hacohen from Svix and then Alexandru Ene from Prime Video.

00:14:52.560 --> 00:14:55.820
<v Tom (Svix)>I think we got to fix the compilation time. I don't know what we can do.

00:14:57.120 --> 00:15:01.640
<v Tom (Svix)>It's really, I think it's, it is like a bottleneck for a lot of people.

00:15:01.840 --> 00:15:05.560
<v Tom (Svix)>It is, it is a pain and it's, it even affects, you know, like ID,

00:15:05.920 --> 00:15:09.540
<v Tom (Svix)>like, you know, language servers and all of that, like when it's,

00:15:09.660 --> 00:15:12.100
<v Tom (Svix)>when things are slow. so we got to fix that thing.

00:15:12.750 --> 00:15:18.470
<v Alexandru (Prime Video)>One thing I wish we were focusing on more in the ecosystem is build speeds,

00:15:19.010 --> 00:15:21.770
<v Alexandru (Prime Video)>like iteration times, just getting those down.

00:15:22.050 --> 00:15:29.110
<v Alexandru (Prime Video)>I think right now we more or less accepted that Rust would be slower to compile or whatever.

00:15:29.390 --> 00:15:36.030
<v Alexandru (Prime Video)>But I think there's examples out there in other languages where people have gotten great results.

00:15:36.610 --> 00:15:40.310
<v Alexandru (Prime Video)>Like Zig, for example, is pushing a lot on the build speed and the iteration

00:15:40.310 --> 00:15:46.910
<v Alexandru (Prime Video)>time. And I think we all win if we can iterate in our codes super fast,

00:15:47.050 --> 00:15:50.070
<v Alexandru (Prime Video)>like press whatever button you're pressing to run your code.

00:15:50.290 --> 00:15:53.370
<v Alexandru (Prime Video)>And if that's like two seconds, it's just magical.

00:15:53.670 --> 00:15:58.150
<v Alexandru (Prime Video)>Once it gets past a certain threshold, my productivity just, I get distracted.

00:15:58.470 --> 00:16:03.350
<v Alexandru (Prime Video)>So I would just work a lot and investing on, if I were like...

00:16:04.790 --> 00:16:08.410
<v Alexandru (Prime Video)>If I had the power to invest in anything in the Rust community,

00:16:08.670 --> 00:16:12.910
<v Alexandru (Prime Video)>I would say this would be a really good place to invest in iteration times and

00:16:12.910 --> 00:16:14.530
<v Alexandru (Prime Video)>build speed to decrease them.

00:16:15.410 --> 00:16:22.430
<v Matthias>Chapter 3. Outlook for 2026 Rust is here to stay, at least in the Linux kernel.

00:16:22.810 --> 00:16:26.250
<v Matthias>What started as an experiment is now an official part of the project,

00:16:26.570 --> 00:16:31.050
<v Matthias>with Google's binder driver and the Nova GPU driver being some of the most prominent

00:16:31.050 --> 00:16:34.150
<v Matthias>examples of Rust code merged into the mainline kernel this year.

00:16:34.670 --> 00:16:38.930
<v Matthias>As Danilo Krummlich mentioned in his episode, new contributors are excited to

00:16:38.930 --> 00:16:40.630
<v Matthias>work on Rust code in the kernel.

00:16:40.870 --> 00:16:45.070
<v Matthias>We now reached 200 billion downloads of crates from Crates.io this year.

00:16:45.810 --> 00:16:49.350
<v Matthias>200,000 crates are published and there is no sign of slowing down.

00:16:49.570 --> 00:16:51.370
<v Matthias>The ecosystem is fantastic.

00:16:51.730 --> 00:16:55.830
<v Matthias>The maintainers are working hard to keep up with the growth of the ecosystem

00:16:55.830 --> 00:16:57.830
<v Matthias>and that is highly appreciated.

00:16:58.390 --> 00:17:00.950
<v Matthias>Here's Kevin Guthrie and Edward Wong from Cloudflare.

00:17:00.950 --> 00:17:09.450
<v Edward (Cloudflare)>Yeah, no, like we there's a bunch of HTTP ecosystem, things that there's there's

00:17:09.450 --> 00:17:15.890
<v Edward (Cloudflare)>a great maintainer for all of it is like open source, the HTTP,

00:17:16.530 --> 00:17:23.570
<v Edward (Cloudflare)>literally HTTP crate, H2, you know, a lot of those are our core dependencies for Pingora as well.

00:17:23.990 --> 00:17:29.350
<v Edward (Cloudflare)>And the maintainer, Sean is incredible at what he does. so.

00:17:30.280 --> 00:17:33.940
<v Kevin (Cloudflare)>Yeah, the thing I was going to thank the Rust community for is for being so coherent,

00:17:34.300 --> 00:17:38.860
<v Kevin (Cloudflare)>especially around HTTP things like the hyper ecosystem, the H2,

00:17:39.180 --> 00:17:45.280
<v Kevin (Cloudflare)>all of those things are so ubiquitous that it makes integrating with existing projects much easier.

00:17:45.280 --> 00:17:50.060
<v Kevin (Cloudflare)>Specifically, I was working with a ClickHouse client that is an official ClickHouse

00:17:50.060 --> 00:17:53.880
<v Kevin (Cloudflare)>client that the ClickHouse team puts out, but I needed to add a new feature

00:17:53.880 --> 00:17:58.220
<v Kevin (Cloudflare)>for rotating MTLS certificates, which obviously their client does not support.

00:17:58.400 --> 00:18:04.560
<v Kevin (Cloudflare)>But because they expose access to the hyper-HTTP client under the hood,

00:18:04.760 --> 00:18:06.060
<v Kevin (Cloudflare)>it made it an easy thing to do.

00:18:06.060 --> 00:18:08.980
<v Kevin (Cloudflare)>It's just such a good

00:18:08.980 --> 00:18:12.340
<v Kevin (Cloudflare)>experience to come to like if you need a feature you already have the tools

00:18:12.340 --> 00:18:17.660
<v Kevin (Cloudflare)>necessary to add functionality to tools that are published by other people in

00:18:17.660 --> 00:18:20.620
<v Kevin (Cloudflare)>a coherent way something that you don't get in java something that you i don't

00:18:20.620 --> 00:18:24.380
<v Kevin (Cloudflare)>know if you get in go that's not my ecosystem but as a former and recovering

00:18:24.380 --> 00:18:27.460
<v Kevin (Cloudflare)>java programmer it's very nice the.

00:18:27.460 --> 00:18:32.840
<v Edward (Cloudflare)>Ecosystem though i'm sure there are gaps from time to time generally if you

00:18:32.840 --> 00:18:34.860
<v Edward (Cloudflare)>are looking for a particular,

00:18:35.740 --> 00:18:38.480
<v Edward (Cloudflare)>pattern or thing you will either find out that

00:18:38.480 --> 00:18:41.300
<v Edward (Cloudflare)>it is hard to do so or that someone else

00:18:41.300 --> 00:18:45.820
<v Edward (Cloudflare)>has already tried to at least some extent to do it and has a working very much

00:18:45.820 --> 00:18:50.080
<v Edward (Cloudflare)>like you know if not production ready nearly production ready implementation

00:18:50.080 --> 00:18:56.560
<v Edward (Cloudflare)>of it so the rust ecosystem in general has has just been kind of the amount

00:18:56.560 --> 00:19:00.780
<v Edward (Cloudflare)>of excitement that folks have within the community,

00:19:01.480 --> 00:19:05.280
<v Edward (Cloudflare)>is a great sign of promise.

00:19:05.740 --> 00:19:10.620
<v Matthias>We're also looking forward to a year packed with Rust conferences and meetups around the world.

00:19:10.860 --> 00:19:14.400
<v Matthias>To name the currently announced events, RustNation in London,

00:19:14.540 --> 00:19:20.200
<v Matthias>England on February 18, Rust in Paris, France on March 27, Rustikon in Warsaw,

00:19:20.360 --> 00:19:24.920
<v Matthias>Poland, March 19, RustWeek in Utrecht, the Netherlands, May 18,

00:19:25.440 --> 00:19:28.540
<v Matthias>RustConf from Montreal, Canada, September 8,

00:19:29.160 --> 00:19:33.880
<v Matthias>Oxidize in Berlin, Germany, September 14th, EuroRust in Barcelona,

00:19:34.100 --> 00:19:38.740
<v Matthias>Spain, October 14th, and RustLab in Bologna, Italy on November 1st.

00:19:39.080 --> 00:19:43.440
<v Matthias>Oh, and if you're bored during the holidays, why not code a little Rust?

00:19:44.220 --> 00:19:49.420
<v Matthias>For example, I recently finished recording my Rust HTTP server course for CodeCrafters,

00:19:49.460 --> 00:19:50.980
<v Matthias>and I will link to it in the show notes.

00:19:51.700 --> 00:19:54.960
<v Matthias>Chapter 4. What will Rust 2026 bring us?

00:19:56.220 --> 00:20:00.880
<v Matthias>I personally look forward to Cargo Script, which will allow you to run Rust scripts

00:20:00.880 --> 00:20:02.680
<v Matthias>without the need for a full cargo project.

00:20:03.080 --> 00:20:06.300
<v Matthias>This will make it easier to experiment with Rust and share small,

00:20:06.500 --> 00:20:07.920
<v Matthias>self-contained code snippets.

00:20:08.100 --> 00:20:11.780
<v Matthias>Simon, the editor of this podcast, has been using it heavily over the last year

00:20:11.780 --> 00:20:15.840
<v Matthias>with the nightly releases, and I'm planning to use it for all my future blog posts.

00:20:16.690 --> 00:20:20.790
<v Matthias>The async ecosystem still has some rough edges but i'm confident that we will

00:20:20.790 --> 00:20:24.790
<v Matthias>see steady progress in this area better pin ergonomics could help here.

00:20:24.790 --> 00:20:27.970
<v Vegard (KSAT)>I think my primary message to

00:20:27.970 --> 00:20:30.830
<v Vegard (KSAT)>the rest community is just polish up

00:20:30.830 --> 00:20:34.150
<v Vegard (KSAT)>async get it to be the best

00:20:34.150 --> 00:20:37.150
<v Vegard (KSAT)>experience it can ever be there are some pitfalls

00:20:37.150 --> 00:20:40.830
<v Vegard (KSAT)>now even though rust 2024 edition stabilized

00:20:40.830 --> 00:20:43.710
<v Vegard (KSAT)>the async closures very happy

00:20:43.710 --> 00:20:46.730
<v Vegard (KSAT)>about that but there are still some questions around just

00:20:46.730 --> 00:20:50.530
<v Vegard (KSAT)>observability of what is happening within an async

00:20:50.530 --> 00:20:53.370
<v Vegard (KSAT)>context and how do you navigate that and and just

00:20:53.370 --> 00:20:56.130
<v Vegard (KSAT)>yeah and getting to getting to

00:20:56.130 --> 00:21:01.210
<v Vegard (KSAT)>the bottom of issues related to to as i said the blocking issues we have and

00:21:01.210 --> 00:21:06.530
<v Vegard (KSAT)>just cancellation safety and and drop safety and async drop and all these paper

00:21:06.530 --> 00:21:11.910
<v Vegard (KSAT)>cuts that that just are not completely answered yes that that would be my message

00:21:11.910 --> 00:21:13.430
<v Vegard (KSAT)>to really polish up that.

00:21:13.690 --> 00:21:16.670
<v Vegard (KSAT)>That would make selling Rust to others much easier.

00:21:16.930 --> 00:21:21.870
<v Matthias>That was Vegard Sandengen from KSAT. On top of that, we need even more learning

00:21:21.870 --> 00:21:25.050
<v Matthias>resources for beginner to intermediate and advanced Rust sessions.

00:21:25.570 --> 00:21:29.990
<v Matthias>Andrew Burkhart from 1Password agreed with me on that point in his episode when he said.

00:21:30.130 --> 00:21:32.910
<v Andrew (1Password)>Thank you to the Rust community for keeping things open, right?

00:21:33.010 --> 00:21:36.410
<v Andrew (1Password)>Like I said, there's so many books out there and the Rust book and the brown

00:21:36.410 --> 00:21:39.310
<v Andrew (1Password)>version of the Rust book is amazing with the quizzes and things.

00:21:39.430 --> 00:21:44.150
<v Andrew (1Password)>That's all great. I think we also need to continue to or increase how often

00:21:44.150 --> 00:21:45.810
<v Andrew (1Password)>we relate to people, right?

00:21:45.930 --> 00:21:49.970
<v Andrew (1Password)>Meet people where they're coming from, understanding, you know,

00:21:50.030 --> 00:21:50.990
<v Andrew (1Password)>what they do and don't know.

00:21:51.330 --> 00:21:54.650
<v Andrew (1Password)>Obviously, with someone coming from my background, that was really critical

00:21:54.650 --> 00:21:59.530
<v Andrew (1Password)>that people here did that, you know, and there's a lot of, you know,

00:21:59.730 --> 00:22:04.830
<v Andrew (1Password)>acronyms or computer science knowledge. And there's so many people in Rust that are so smart.

00:22:05.210 --> 00:22:10.210
<v Andrew (1Password)>It can be difficult. So there's a lot of that that I think we can continue to improve on.

00:22:11.290 --> 00:22:16.170
<v Andrew (1Password)>Finding paths to not just go from zero to Rust, which I think we've started

00:22:16.170 --> 00:22:20.070
<v Andrew (1Password)>on, or we have a really good path to with the Rust book, or to go from Haskell

00:22:20.070 --> 00:22:22.210
<v Andrew (1Password)>to Rust or C++ to Rust or whatever, right?

00:22:22.670 --> 00:22:26.370
<v Andrew (1Password)>I think there is a missing middle gap of how do you go from TypeScript to Rust

00:22:26.370 --> 00:22:28.770
<v Andrew (1Password)>or this or that, where it's like, I understand variables.

00:22:28.890 --> 00:22:32.450
<v Andrew (1Password)>I understand all that. So the whole beginning of Rust book feels boring and getting lost.

00:22:32.910 --> 00:22:36.690
<v Andrew (1Password)>And then we go straight into memory or, you know, async and really how async

00:22:36.690 --> 00:22:39.290
<v Andrew (1Password)>works. And there are these missing pieces sometimes.

00:22:39.890 --> 00:22:42.170
<v Andrew (1Password)>There's things like rustlings, which is incredible for like,

00:22:42.670 --> 00:22:43.670
<v Andrew (1Password)>exercise based learning.

00:22:44.150 --> 00:22:48.130
<v Andrew (1Password)>But at the end, I didn't see exercise six mesh with exercise 10.

00:22:48.350 --> 00:22:51.050
<v Andrew (1Password)>And now I understand that those are two maybe related things.

00:22:51.210 --> 00:22:55.110
<v Andrew (1Password)>And so, you know, a lot of people say, right, build stuff, that's that is the greatest way.

00:22:55.370 --> 00:22:59.370
<v Andrew (1Password)>But that's not not realistic for everyone. You know, I was working before I

00:22:59.370 --> 00:23:02.550
<v Andrew (1Password)>became a developer, I was working, you know, 50, 60 hours a week,

00:23:02.690 --> 00:23:05.450
<v Andrew (1Password)>and then, you know, coming home and trying to keep, you know,

00:23:05.550 --> 00:23:06.830
<v Andrew (1Password)>my apartment clean and all these things.

00:23:07.010 --> 00:23:09.410
<v Andrew (1Password)>And I did not have that much time left to just build things.

00:23:09.510 --> 00:23:13.270
<v Andrew (1Password)>It took me a year or more just to try and figure out, you know.

00:23:13.970 --> 00:23:15.590
<v Andrew (1Password)>React or whatever it was at the time.

00:23:16.230 --> 00:23:20.310
<v Andrew (1Password)>And if it were Rust, I was trying to learn, I had no idea how long it would have taken, you know.

00:23:20.450 --> 00:23:27.410
<v Andrew (1Password)>And so I think just finding ways to bridge those gaps and make cohesive learnings

00:23:27.410 --> 00:23:30.690
<v Andrew (1Password)>that make concepts actually make sense holistically.

00:23:30.690 --> 00:23:37.030
<v Andrew (1Password)>I think that's a really, really huge area that will help a lot of people close the gap of Rust,

00:23:37.090 --> 00:23:39.890
<v Andrew (1Password)>which will help Rust adoption you know I've seen that even here where it's like

00:23:39.890 --> 00:23:44.290
<v Andrew (1Password)>we may have something we build and go because ramping that team up on rust is

00:23:44.290 --> 00:23:47.730
<v Andrew (1Password)>just not feasible in the time frame we have well if there's better resources

00:23:47.730 --> 00:23:51.210
<v Andrew (1Password)>to get from go to rust that becomes a non-issue you know and I think we'll see

00:23:51.210 --> 00:23:56.870
<v Andrew (1Password)>rust grow the more we are open to bringing people in from more intermediate spaces into rust.

00:23:57.460 --> 00:24:00.480
<v Matthias>Apart from that, my wishlist is pretty short. For the most part,

00:24:00.620 --> 00:24:03.020
<v Matthias>I wish for faster compile times and more clippy lints.

00:24:03.520 --> 00:24:06.500
<v Matthias>My personal hope is that we will see slow and steady growth.

00:24:06.740 --> 00:24:08.840
<v Matthias>The next 10 years aren't guaranteed.

00:24:09.860 --> 00:24:14.260
<v Matthias>Rust's success depends on maintaining the delicate balance between growth and stability.

00:24:14.620 --> 00:24:19.900
<v Matthias>We don't need to be everywhere all at once. We don't need to be a solution to every problem.

00:24:20.220 --> 00:24:23.660
<v Matthias>And we need to bring people along thoughtfully, not hastily.

00:24:24.100 --> 00:24:27.680
<v Matthias>It's important to collaborate with other programming language communities,

00:24:27.680 --> 00:24:31.760
<v Matthias>such as C++, to work on safer interoperability.

00:24:32.160 --> 00:24:37.580
<v Matthias>Work on this has already started. There are billions of lines of C++ code representing

00:24:37.580 --> 00:24:40.980
<v Matthias>trillions of dollars of value stored in C++ codebases.

00:24:41.200 --> 00:24:45.180
<v Matthias>It would be naive to assume that all of this code will be rewritten in Rust

00:24:45.180 --> 00:24:49.360
<v Matthias>anytime soon, so we need to find ways to make Rust and C++ work better together.

00:24:49.640 --> 00:24:52.040
<v Matthias>Let's hear Victor Ciura from Microsoft.

00:24:52.400 --> 00:24:54.420
<v Victor (Microsoft)>In order for Rust to succeed,

00:24:55.270 --> 00:24:58.150
<v Victor (Microsoft)>C++ does not mean it has to die.

00:24:58.510 --> 00:25:05.470
<v Victor (Microsoft)>So it's not a zero-sum game. It's very much about many, many years from now

00:25:05.470 --> 00:25:07.270
<v Victor (Microsoft)>where we need to learn to coexist,

00:25:08.450 --> 00:25:13.910
<v Victor (Microsoft)>both in terms of software interop and in terms of community interop.

00:25:14.110 --> 00:25:21.290
<v Victor (Microsoft)>So I think my message would be, let's spend more time on improving these bridges

00:25:21.290 --> 00:25:28.670
<v Victor (Microsoft)>and making sure the languages work well together so that we can successfully

00:25:28.670 --> 00:25:32.090
<v Victor (Microsoft)>have these and as communities learn to collaborate better.

00:25:32.390 --> 00:25:37.870
<v Matthias>Other initiatives like BorrowSanitizer, a work-in-progress LLVM instrumentation

00:25:37.870 --> 00:25:43.210
<v Matthias>pass for detecting aliasing violations in multi-language Rust applications, also received funding.

00:25:43.390 --> 00:25:47.190
<v Matthias>I will add a few links in the show notes for those interested in learning more.

00:25:47.470 --> 00:25:52.830
<v Matthias>Looking ahead to 2026, the Rust project has 41 active project goals.

00:25:53.190 --> 00:25:56.550
<v Matthias>13 of them are designated as flagship goals.

00:25:56.830 --> 00:26:00.890
<v Matthias>They are working on making references more ergonomic, exploring things like

00:26:00.890 --> 00:26:05.010
<v Matthias>field projections, they are making compilation faster with parallel frontend

00:26:05.010 --> 00:26:10.010
<v Matthias>work and build std, they are improving async Rust, but there's still a lot of work to do there.

00:26:10.170 --> 00:26:13.510
<v Matthias>The next generation trade solver is getting closer to being production ready.

00:26:13.770 --> 00:26:17.510
<v Matthias>They're stabilizing Polonius for better borrow checking, getting Rust for Linux

00:26:17.510 --> 00:26:21.790
<v Matthias>into stable Rust by stabilizing the compiler and language features the kernel needs.

00:26:22.270 --> 00:26:25.330
<v Matthias>Let's hear it from Danilo Krummrich from the Linux kernel team.

00:26:25.650 --> 00:26:27.050
<v Danilo (Rust for Linux)>When it comes to...

00:26:28.230 --> 00:26:31.870
<v Danilo (Rust for Linux)>The things that the kernel needs

00:26:31.870 --> 00:26:37.010
<v Danilo (Rust for Linux)>from the Rust project, and there are definitely things that are needed.

00:26:37.430 --> 00:26:44.390
<v Danilo (Rust for Linux)>I also want to say thank you for the great collaboration. I'm not that involved myself.

00:26:44.930 --> 00:26:49.710
<v Danilo (Rust for Linux)>I definitely want to make that clear. We have other members from the Rust for

00:26:49.710 --> 00:26:57.290
<v Danilo (Rust for Linux)>Linux team who are regularly talking to people from the Rust core team and from

00:26:57.290 --> 00:26:58.690
<v Danilo (Rust for Linux)>the Rust project in general.

00:26:59.710 --> 00:27:03.670
<v Danilo (Rust for Linux)>And there is great collaboration already ongoing.

00:27:04.010 --> 00:27:09.850
<v Danilo (Rust for Linux)>So yeah, I'm very happy to see how things go.

00:27:10.250 --> 00:27:14.270
<v Matthias>For a full overview, check out the Rust project goals update on the Rust blog.

00:27:14.570 --> 00:27:16.310
<v Matthias>I will link to it in the show notes.

00:27:16.630 --> 00:27:20.550
<v Matthias>And now we wish you all happy holidays and a prosperous new year filled with

00:27:20.550 --> 00:27:22.630
<v Matthias>safe and reliable software written in Rust.

00:27:23.210 --> 00:27:28.110
<v Matthias>Have fun unwrapping those gifts. It's one of the few times when unwrapping is actually safe to do.

00:27:28.590 --> 00:27:32.910
<v Matthias>Thanks to all our guests for sharing their stories, and to Simon Brüggen,

00:27:33.290 --> 00:27:38.190
<v Matthias>friend, producer, editor, and all-around awesome human being for helping me

00:27:38.190 --> 00:27:39.490
<v Matthias>make this podcast happen.

00:27:39.930 --> 00:27:42.110
<v Matthias>Without Simon, there would be no Rust in production.

00:27:42.730 --> 00:27:46.250
<v Matthias>And lastly, thanks to all of you, our listeners, for tuning in.

00:27:46.370 --> 00:27:50.210
<v Matthias>We would never have believed that a podcast about Rust in production would find

00:27:50.210 --> 00:27:51.790
<v Matthias>such a large and engaged audience.

00:27:52.310 --> 00:27:54.070
<v Matthias>We always love hearing from you.

00:27:54.650 --> 00:27:58.550
<v Matthias>Whether it's via email, social media, or in person at conferences.

00:27:59.190 --> 00:28:03.510
<v Matthias>Greetings to all of you from around the world. We don't ask for it often,

00:28:03.530 --> 00:28:08.550
<v Matthias>but if you enjoy the show, please consider leaving us a review on your favorite podcast platform.

00:28:08.890 --> 00:28:12.670
<v Matthias>It really helps us reach more people and grow the Rust in production community.

00:28:13.600 --> 00:28:16.120
<v Matthias>And if you have a friend or colleague who might enjoy the podcast,

00:28:16.480 --> 00:28:19.940
<v Matthias>please share your favorite episode with them. Word of mouth is still the best

00:28:19.940 --> 00:28:21.560
<v Matthias>way to spread the word about the podcast.

00:28:22.300 --> 00:28:26.060
<v Matthias>I'd like to end with a quote from Nico Matsakis, one of the core members of

00:28:26.060 --> 00:28:29.580
<v Matthias>the Rust team, who I had the pleasure of interviewing earlier this year at RustWeek.

00:28:30.260 --> 00:28:33.980
<v Niko (Rust)>Yeah, be excellent to each other. I think Bill and Ted put it best,

00:28:34.020 --> 00:28:35.500
<v Niko (Rust)>and I can't do better than that.

00:28:36.260 --> 00:28:39.320
<v Matthias>And with that, we wrap up another year of Rust in production.

00:28:39.700 --> 00:28:42.000
<v Matthias>See you with more stories in 2026.

00:28:44.780 --> 00:28:48.840
<v Matthias>Rust in Production is a podcast by Corode. It is hosted by me,

00:28:49.120 --> 00:28:51.900
<v Matthias>Matthias Endler, and produced by Simon Brüggen.

00:28:52.060 --> 00:28:56.340
<v Matthias>For show notes, transcripts, and to learn more about how we can help your company

00:28:56.340 --> 00:28:59.240
<v Matthias>make the most of Rust, visit corrode.dev.

00:28:59.460 --> 00:29:01.800
<v Matthias>Thanks for listening to Rust in Production.