 Everyone thanks for joining us today for the rust in the cloud panel discussion at the cloud native rust day. I'm your moderator, William Morgan I'm joined by a panel of illustrious illustrious rust experts. And I would at this point like to ask them to introduce themselves going from left to right in alphabetical order by first name. Nice. I think that means I'm first. My name is Ashley Williams. I'm currently the interim executive director at the rust foundation. I'm also a member of the rust core team and have participated in almost it feels like all the rust teams at some point. But for I guess the purposes of this panel. I used to work at Cloudflare. And I'm very interested in WebAssembly and serverless. Carl. Yeah, and I'm Carl Lurch. I'm a principal engineer at Amazon Web Services, and I've worked on Tokyo and asynchronous runtime for the rest programming language. Paul, Oliver, sorry. It's fine. I'm Oliver Gould. I'm the CTO at a company called Boynt, where we work mostly where I work mostly on Lincordie, so CNCF project that we created about five years ago now. And this, this version of it, Lincordie two is heavily built on a rust proxy. And so we've been really focused on the rust Tokyo ecosystem, heavily over the past three to five years. Sure. Yeah, I'm Paul Howard, principal system solutions architect with ARM. I work in the ARM architecture and technology group. I lead a small engineering team here at ARM where we are contributing into the Pasek project and Pasek is a rust based security focused project that is now part of the CNCF. It's been a CNCF sandbox project since last year. So yeah, that's me. Awesome. And I'm William Morgan, I'm the CEO of Boynt. So I work closely with Oliver. I have never written a line of rust in my life so I am pure, still pure and beautiful. So I will constrain myself in this presentation to asking questions. Should we do a quick question number one, should we do a quick vote based on these profile images of who is most likely to end up in prison due to their rust related code. Sorry, that was a joke because everyone looks happy except for Oliver, who looks very frightened. You chose the pictures. I took I took the latest Twitter images for each person. Okay, that's a dangerous game. Wow. I feel like I dodged a bullet there. Okay. At the end of the discussion, we'll do another vote and see how results have changed. Okay, so the first question that I bring before you illustrious panelists is the topic of this panel is rust in the cloud. So what have you been working on in this area, and what have you learned and Ashley I'd like to start with you. Yeah, sure. So what I am actively working on is probably slightly different than you might mean by this question but I'll get to that. So I guess the very first time that I got rust into the cloud in production was when I was working at MPM several years ago and my favorite quote from the CTO at the time the CG Silverio is I like rust because rust is boring. And ultimately that just means I, we were getting woken up by pager duty a lot less things are rust services and that was really delightful. And it's kind of goes against the general vibe of picking up technologies because they're exciting. And so the boring quality has always been really fantastic. The thing that I'll say I've learned is that convincing folks to transition services to rust, regardless of whether they're in the cloud or not requires this transition of understanding when you invest time that on the face doesn't sound very simple but is actually kind of like a big culture shift, which is when you're writing things in rust you end up needing to invest a lot more time upfront. Instead of you know, you know I'm working on a service, and then I put it into production, and then it screams at me with rust all that screaming happens at the beginning and getting used to that investment upfront instead of coming later can be really tricky when you're in the team. Awesome. Paul, how about you. Yeah, so, so I mentioned the parsec projects so I work on this parsec projects and parsec is a software service and it's providing convenient abstractions and common API is over hardware security for things like key storage and crypto. It's about building a cloud native and portable dev experience for security, more and more in the world edge rather than necessarily in the cloud. I think actually workloads roaming from cloud to edges is one of the really interesting areas for rust as well. Now I have to say I chose rust for parsec. I kind of was was in the chair to make that call. It was without ever having written a line of rust code. This was a couple of years ago. I just felt really from what I knew about the language what I've read about the language and what I've heard other people saying. It felt like the way to intercept the future right it really felt like it was a language that was in exactly the right space for a security focused system level piece like like parsec. And two years down the line I don't regret that decision at all right so so what I've learned, well, I've learned a mixture of things. One of the things I've learned is that the language is actually a lot more beautiful than it often gets credit for. So all of the messaging you hear around rast is it's focused on safety and performance, both of which of course are absolutely core and critical to what this language is doing. Less tends to be said about the dev experience and I think this is a shame and in fact when the dev experience is spoken of it, it can be a little bit negative. You know it gets a reputation as having a steep learning curve and a high barrier to entry is criticisms aren't entirely unfounded but the language can be a beautiful language as a very expressive. Its abstractions are concise syntactically, as well as as being low runtime cost as well. Now I still haven't become an expert Rust developers yet right like I'm still working on that. I can't lay claim to that. But what I have seen so far is that you can write code that is as elegant as like a pure functional language for instance with things like pattern matching, lots of expressive power. And you know all along that you're writing code that's going to give you, you know, performance parity with CLC plus plus, but without the memory faults and the data races, and so forth. So, you know, it's really the best of all worlds in that regard. So, so I always speak up for the dev experience of rust, because I think it's a shame that the learning curve message gets in the way of, you know, every elegant dev experience with this language. Hey, very nicely put. Carl, what have you been up to, if anything, what what have I been up to. Yeah, I mentioned earlier I work on Tokyo, the an asynchronous runtime for rust. So, specifically, it Tokyo lets you write network applications for rust. And it turns out, when you're in the cloud there are networks that you have to factor in, you know, shuffle bites between one node server whatever whatever their content called these days containers. Lambda functions functions or whatever they whatever people do these days, I tend to stay stay lower in the stack so I'm trying to keep up. But before you writing rust before I really got into rust I spent most of my time in the JVM which is a great piece of technology, you know, lots of really solid software is written with Java and other JVM languages in the cloud to. But what I was finding is, like, some of what some of what Java and the JVM gives you like the garbage collector which makes some things really easy can impact your the runtime characteristics of the program that you're writing like especially like what the garbage collector runs, stop the world pause requests and that can come like result until it sees to spike. And when working, like with microservices when you have lots of different services talking to each other, that the tail latencies will result in that will be will impact like the end application because you're talking to you're fanning out lots of requests. If one request is slow it's going to impact the entire like ensemble of requests. So, rust offers a solution to that by having a runtime less language, and you can really get really like control tight low resource services. So you're paying less, like you're building services in the cloud you're paying less you're using less memory, your requests respond faster more control more reliable. And that's really attractive to a lot of people building, you know, products software in the cloud. So, like, I think Paul hinted at that learning curve. I think part of that I mean there's the language aspect and it's, you know, it's improving all the time but it's also the aspect of like rust really is still a new language and the ecosystem is young compared to, you know, platforms like Java or go that have matured a lot over the years. So what I'm trying to do these days is improve like the tooling, especially around debugging and like build up more of that higher level like tangential infrastructure around building services. So, I think, and I'm on a team at Amazon rust platform team that were like Nico Matzakis and Felix, and a few other rust developers that work out in the open on this team, and we're working kind of on the open source infrastructure so Nico started with the async vision doc, which you can probably Google on the it's on the rock rust blog, but kind of soliciting experience from people building services with rust to kind of see to learn what is missing so we're doing that and then step two, hopefully we'll be fixing some of that. Great. Okay, Oliver, how about you, what have you been working on in rust and the cloud. Those were both, all three were kind of great setups for my experience working in cloud infrastructure so when we got started with point and linkerty. This is about 2015 the cloudy ecosystem actually looked quite differently than it does today is especially when we talk about cloud native. We're much more focused on things like mesos, which is kind of a predecessor to Kubernetes. And that mob that ecosystem in general was very JVM heavy right so messes itself lots of the schedule is written the JVM. And as we started working on the first version of linkerty, we were coming from Twitter's ecosystem which was heavily JVM install a centric and so what we got in that ecosystem was great functional primitives type safety and a really kind of mature runtime that comes with plugins and monitoring tools and all sorts of bells and whistles that folks have experienced running production. And then shifting forward a few years we really saw kubernetes and that model of microservices and that operational model really take root in the cloud ecosystem. And so in that world we we where we were running linkerty is this kind of very large proxy per node, we want to have now basically a proxy per process or proxy per pod right a group of processes. And that transition really made us look to something with the native runtime something that was going to compile down to be as fast and efficient to see. But at the time I think rust was far in the lead and now there's things like swift which are kind of in a similar space but it, especially as when we talk about the type system and the types of primitives that you can actually build as well primitives rust was really, really hit that sweet spot. And so, as we moved into this I think the things that Carl is talking about of having kind of the operational tooling where that ecosystem isn't quite as mature as it is going need to be but really seeing the trajectory of the ecosystem and so when we started there were, you know, we had hyper but there was no htp to let alone htp three or anything kind of fancy like that. And really seeing the set of primitives in the ecosystem blossom over the past three years so things like tonic and tower really really make me think that like it's time for us in a much more serious way. And I think that'll be the theme of what we're going to talk about today is that really the, the kind of maturity point for the ecosystem is really hitting a place where people can be really productive with how to having to invest in low level primitives in the way that we've had to over the past several years so I'm super stoked for for where we're going. And it really does feel like, you know, two years ago telling people to like start going to production with rust. And to throw them into kind of like a box of tools that they're going to have to go put together and now we're getting a place where there's a lot more ready made patterns and ecosystem to say it for problems. Great. Okay. So, you know that was a pretty, that was an easy open ended question I actually want to ask something that is a lot harder for this next one which is, you know, it's, it's, there's lots of nice things to say about rust in a variety of contexts, but is there something that makes rust, you know, whether it's a language or the ecosystem or the community, or, or any aspect of rust, something that makes it a particularly good fit for the constraints of the cloud, you know, which is this very particular environment, you know that that is quite different from other kind of execution environments out there. Let me just insert my my one take on this first, since I'm already talking. I really think the union of like cloud cloud is necessarily network right it's about a dynamic system where things are going to communicate over a network. And to do network software in any reasonable way you need safety guarantees, especially memory safety, right. If we look back over the past decade. The key thing that's network focused that's written in C is an attack vector. And so having that kind of the joint, the union of like networking primitives and memory safety are really kind of the critical, the killer app for for why the rest is going to be a cloud technology, my opinion. I think you can. I mean, I'm going to go off in tangent, but it is possible to write safe see like correct see it just takes like an amount of resources and an energy that's like organizations won't even be able to afford to put in like, I mean, like, as to end like Amazon's TLS implementation is see, but the amount of like, they go in and formally prove it that you like the stare improvers they go and like audits the fuzzers they like very limit and like very well constrained like code it's just but that is a lot of effort that most would not even do. And I don't even even Amazon we'd rather not put in that effort if you don't have to which is why we're using rust heavily and it's also why before us. People people would use the JV like JVM based language so what makes it a good fit for the cloud it's while not having to worry about that safety side of things so that's a mental burden you can take off of your head, but then run leaner right if you don't have to worry less CPU costs less will be better for the environment, you know, when you're if you're talking about huge scale that will have a impact less carbon emission. I'm just gonna throw that in. But, and as as the ecosystem improves it's going to be a good experience I think it's not there yet but we're going to get there, like it's there I mean there is a lot that's good now, but we're, I think in a few years it's going to be pretty stellar, I hope. Do you want to jive with your experience of parsec. Yeah, I mean I think, you know this is a really interesting question that. What about rust makes it particularly good fit for the cloud and parsec is more of an edge compute project. But I think what I'd say in response to this question is. There may be two things the first thing I'd say is what makes it good for the cloud is the same as what makes it good for anything else right it just gives you, you know fast fast execution great performance characteristics, low memory footprint and with all of those safety and security guarantees built in as well I mean when would you not want that whether you're in the cloud or indeed anywhere else. But I think it's particular opportunities to shine in the cloud come in like the software defined infrastructure pieces right the pieces of your cloud orchestration that you need to just stay out of the way but do everything perfectly. You know, rust compiles down to very very small low footprint binaries it's absolutely perfect for your software defined networking for your service mesh layers for your for your tenant separation primitives for the frame the skeletal frameworks in your deployment that keep workloads isolated from each other. I mean what link link at the right is a great example. Look at look at like micro vm technologies right think things like firecracker AWS firecracker is is a hypervisor written in rust. I think that that kind of thing where you want you you want software defined infrastructure that shrinks out of the way of the workloads that you're running. That's not to say your workloads might not be rust as well. Right. But but I think but I think for that soft that those software defined infrastructure pieces those thin pieces that just need to slide in. You know, so separating the workloads from the hardware separating the workloads from each other. I think that that's that's an area where rust really has the opportunity to shine. Because security is just so so critical in those areas right and in rust rust you get you get so much of that. Not not for free but I think it's exactly what Ashley was saying right you invest you invest at the right time right rust is rust is major left shifting. You know you pay you pay all of that pain to get your code compiling. And then but then after that you're happy right that shouldn't be something we complain about that should be something to celebrate. I hear some from some users of Tokyo they're like, they don't necessarily need the raw performance but they're able to not worry about it. Like so it's there like there's like why would you want to spend all that time up front it's it's when you get like you over time it gets less time but also like a startup doesn't have to worry about performance for example I mean within some boundary I hear from like fly.io they're like, we've like we've never optimized it just it's within our target, but and also not just long lived infrastructure but I think you hinted at that ball but like startup times like if you have bits of cloud functions that run occasionally, something like like rust will let you write your functions to with very very short boot up time. You don't have to keep them hot or when they are being called occasionally you don't have that startup cost associated with it that time to boot up a VM. This is also where wasm comes into it as a really well yeah I was about to say like we've been getting extremely close to saying the w word. But I do think like when we say is there something about rust that makes it particularly a good fit for the cloud like I really do agree with john that like, I think rust is a good fit for the cloud like the same way it's a good fit for a lot of different problems like the cloud. Perhaps this is blasphemous to say but I don't necessarily think that the needs the cloud has are particularly unique to many software projects. And so like the reliability and the efficiency but I think talking about why rust is well suited to WebAssembly. A lot of people talked about WebAssembly, like, particularly when it first showed up as like, Oh, it's like our multi language future. And then inevitably people very quickly realized that compiling any language to WebAssembly was not really going to be a great, great situation as somebody who has worked on many projects of compiling all sorts of different languages to WebAssembly. It's, it's a much harder problem and the efficiency gains that you might get from something like it can disappear sometimes if you're particularly trying to take a GC language and put it into WebAssembly, but rust benefits from its very, very low runtime cost and I've been shamed by C programmers to when I say that rust has a no runtime. Because they will I won't get into it but I'll say extremely low runtime cost. But I think the other thing that makes rust really well suited for WebAssembly which goes back to a point that a lot of folks have touched on here but not said explicitly is rust learning experience is tough and that's an element of developer experience but rust tooling is top notch and when you're compiling things, having a good tool chain is super important. And so other languages that I think are well suited to WebAssembly just they don't have as friendly of tooling as rust has. And that makes rust particularly well suited for that space and I mean with WebAssembly it's like low level system plus containers. I don't think we've seen the future of WebAssembly yet but my favorite thing about it is that I, in theory it was developed to like replace flash and browsers but it is becoming a tool of the cloud, probably exclusively before it ends up actually showing up in anybody's client. Yeah, so that's a great segue into the next question because he used the word future. So we've talked, you know, so far about kind of the state of where rust is today, and developer experience versus tooling and so on. If we fast forward for, I picked a limited horizon just five years from now. You know, how will we see rust used in cloud environments especially Ashley it seems like this question. Well, I want to weigh in on one thing because you say limited scope five years from now. If we take a second and think about what a like network programming looked like in rust five years ago. Oh my goodness five years is a really, really long time and I see no reason to believe that the epic amount of progress that was made in the last five years will not be the type I mean we're going to see that if not more I think particularly in cloud application space for rust. And, and I think what I would say just kind of probably to tee it off for everybody else is so we recently announced the rust foundation, or I guess in February which feels like it was yesterday but I don't know what is time. But our founding sponsors are some of the biggest clouds on the planet. And one of the things that's particularly exciting to me about all of them is that they are all interested, not only in using rust but also working on and contributing to rust itself. And so I, I think the future is going to be very, very interesting. And I'm really, really excited about it. But it probably be easier to predict like a couple months from now than five years because I think a lot of things are going to change. So flip side I hope I think Russ is has had five years of like, like extremely fast, like evolution and growth and churn and figuring out what it's all about. And I think the next five years are going to be a lot more stable so it will be less evolution, like of rust and more growth like, I guess Russ is probably in his teenage years like it's going to finally like, you know start fitting kind of like the tooling wall starts getting more refined that's going to be more about filling in the gaps and polishing off edges. And I don't know I did a lot of evolving in my 20s Carl. The foundation is there right. The foundation is there. Let's see. But so there is going to be change but I hope it's not going to be like groundbreaking change I think I think we'll see more of the same I mean if they're like wasm I think wasm is probably going to be where there's the most discovery. Because I mean the whole ecosystem still figuring out what it is about and where the applications are. It's not my area of expertise so I will let Ashley, it's a technology with an identity crisis. It knows that. And besides like in the networking space in the cloud, like, I think it's just going to be more like, we'll see more application of it as, as that learning curve and as more people learn it and as we polish off that begin like getting started like debugging experience that like tooling experience I think more will we'll see more rust use in places you know in places we might not initially expect it but not necessarily new groundbreaking areas more just some new feel new experiences, new development in existing spaces. One of the things that I've noticed about my interactions with the rest communities that the community really skews young. Right or I see a lot of folks either in college or coming out of college and like when I was in college if you wanted to be a systems program or you're going to learn your C++ and like that was, you know, not a very welcoming job opportunity or career path there. And I see now lots of younger people who are coming into the industry, really enthused about Rust and kind of really engaged at the systems level in a way that was just not there 10 plus years ago, for my perspective at least. And so I do think that there's going to be. And I don't want to say the word army but a big kind of contingent of rust developers coming into the industry and the next. And there yeah I've heard of the stations coming into the, into the community or into the industry and I think that's really going to drive a title shift in terms of like the quality of infrastructure and you know, I don't know what it's going to look like but I know that it's going to be exciting. I mean you touched on something that I don't think we mentioned much but Russ makes systems level programming approachable, like the fact that you can go and write at that level and not worry about the sharp edges of C or C++ is very empowering and it's going to be like it's going to be interesting to see as more developers get to that level what are we going to build like it's just like you know all the advantages of having more minds on it right so that will be my favorite part of rust. Let's let's talk about that a little bit so you know our audience, probably like me is still in their rust infancy. So what is the best way for people who are not currently, you know, doing anything with rust to get involved with rust, both in general but also, you know, since the topic is cloud native rust for cloud related rust efforts and Paul why don't we kick it off with you. Yeah sure. Yeah, interesting question. One obvious way I think is to just go seek out the growing number of rust based open source projects that are out there. No, but both both in CNCF and elsewhere. I'm biased of course Pasek is one example, you can you can go and learn about that if you're interested in in in platform agnostic security. But but the number that the number of projects is growing and you know rust is these these projects are crying out for people to come and learn the language and get involved. And because the number of rust developers out there, you know, it's growing but it's not big enough yet we'd like it to be bigger. So, so yeah I think just just go and go and see what's out there would be one of my calls to action and it goes back to the previous question as well because I, you know I think usage is definitely going to grow. You mentioned the rust foundation I think the rust foundation is a great step forward you know this this independent stewardship stewardship of the language, not to mention the adoption by the major sort of the major hyperscale cloud players as well so. So, so yeah. I don't know if I have anything better to say other than to just go go find the go find the open source projects that are out there and find a way to get stuck in. Yeah, I mean, what we're we've seen successes. I know if you're a student summer of code is a great or some of these kind of paid internships are great ways to get involved in open source. And I think definitely my strong advice is to go to the source trying to, you know, there's where you can read the most code and learn the most and it's usually like if you go to the Tokyo discord for instance it's like packed full there's about 30 different projects. And there's, you know, if you're interested there you can just soak up a lot of information just by watching. Yeah, I think the cloud native computing foundation hosts now I think three or four rust projects if not more and so there's entries there they do some of our code projects every year. There's things like crosslet which is if you're interested in Kubernetes is a way to use I think I think it's the intersection of wasmin rust and kubelet, which is pretty interesting. The name makes me laugh. I mean, I don't know the way I got into the stuff is like find the thing that you want to spend time on. And if you find it project that you actually want to spend time on you'll get good and get involved in it and you know that usually will lead to something good, hopefully. I don't worry about, you know, because I do know a little bit about linkerty is that I think linkerty could be a hard project to get started with, you know, it's like advanced rust and parcel may have some elements of that too. Are those are those actually good starting points. Yeah, to get read just get your feet wet like in the Tokyo GitHub, we have mini redis, which is a kind of educational project that's trying to have a larger real stuff like piece of software that you can read it's well it's like it's like it's really common and it's also the foundation of Tokyo guide so what like, if it's just to get your feet wet, you can go and like try to add a new implement a new redis command because there's a redis command for everything, which is one reason why was like let's do many redis like any, any educational topic we can find a redis command to model it. But besides that I was gonna say before you jump from that I want to give Carl a shout out because when I was running the developer experience team for Cloudflare workers. They were trying to improve our tooling and rust, and they were trying to kind of struggling through, you know, learning Tokyo and stuff, not to critique Tokyo anyway just as we've I think all said like it's a little hard. This mini redis project was just kicking off and Carl actually worked with one of my new engineers to do a little bit of stuff on that and it was huge for him. He was learning how to navigate Tokyo and is now considered the Tokyo expert. So that was a really awesome experience. It was good to hear thanks. Every time I've tried to like I've had to learn a single I've, you know, Russ has evolved a lot in the last couple years and I've had to like learn a single way for learn rat wasm. One of the biggest things is to write little toy programs like it doesn't have to be a top line, you know, project increase that I owe to be a good project to work on so I try to find little toy projects or tools to make myself to learn things. Yeah, and I think the biggest like air missing gap again for me it's tooling and like little, I just writing a little tool to do a little small thing that can help like the build debugging or the like experience around building things like you're probably going to try it out hit fraction build a little tool to help it make it better and that will like there's a big need for that too. I would also just shout out very quickly that while they are by no means perfect. If you're interested in learning rust we have the rust book. And then when we did the 2018 edition back in 2018 we had kicked off what we called these domain working groups and they were able to write these kind of intermediate level books. It's like, Oh, you know rust but now you like want to do something with rust like where do I go after that book. And there's a book, I recall the async book that's about networking. There's also a WebAssembly one. So I, it can often be the trap and I'm a huge fan of this that like in order to get involved with open source you end up having to contribute to open source but that can be a super heavy lift for folks. You can also just build a wacky project like the WebAssembly book for example has you build Conway's game of life which honestly continues to be one of my favorite little projects I don't know you can do we've seen really cool like artsy variance on it that are just super awesome. But yeah, you can also just feel free like when I wrote the original rust bridge curriculum. We, we wrote a program that's like a simple website that will randomly give you a compliment every time you refresh it so just coming up with like a project that's fun. I think is really the best. Don't feel like you have to, you know, necessarily like fix a bug in Tokyo as your first step. It's super, super chill and in fact, the rust, the rust ecosystem is really excited for people building small projects and roast and so tweeting about it and like there's a huge community. Just do something you think is fun. And even like get like the easy sometimes easiest way to get involved is submit a PR that just fixes a typo. Like, we love that like I we love those and like oftentimes we'll see people coming like I don't know it's just a typo I was like no just like a one character PR is great just first to get involved is open line of communications are talking with people. We're asking questions about the docs is even usually a really good signal just like I don't understand this explain this to me can really help with all the docs for projects. All right, so we're coming up on time so we're going to wrap it up with our, you know, final open ended question from each of you which is if you could have embed one take home message in the brains of our audience members. What would that be. And then let's do let's do the opposite order from what we did in the first question so we'll start with you Oliver. So, every time I've talked about Lincoln's proxy over the past few coup cons and things like that I asked people to raise their hands if they tried rust and like a couple hands go up and I say like well wait two years all your hands will be up. And then, last year there's like a little bit more but I really think that now is the time to start playing with rusted it's ready for you and there's a lot of opportunities to still get involved and build cool things it's not like a finished ecosystem. It is a lot more welcoming than it was a few years ago so if systems programming is something that interests you. Please come get involved talk to any of the communities for the folks here or other rest projects it's a very welcoming space. Yeah. Well, I think. Russ is not the best tool for every single job and programming. Not going to say that, but I think the span of use cases that it can be really good for is going is larger than some people might think so we say systems programming a lot. But even like, maybe even a web application, like that might be a good fit because of how it like built like I've seen people like rewrite Python, like a Python web app to rust, and they say like they reduce their infrastructure cost by 10x. So they, it's like rust is getting easier to use it's gonna like it's there's still improvements to be made but every, you know, month we're pushing out fixes and improvements and give it a shot now. If it's seen if you hit off off something like let us know, because we can't fix things that we don't know. But yeah, like now I now is the best time it's ever been to try rust. Paul, how about you. Um, yeah, I think, well, for a start I agree with with with all of that. The other thing I'd say I guess is I'd echo what I said, right at the start. Don't don't think of the learning curve into rust as as pure overhead right it's exactly as Ashley was saying it's it's investment in the right place. And, you know, don't don't worry about fighting the, you should celebrate fighting the borough check and not that don't be put off by fighting the borough checker it's, you know, your, your, you're going through the pain at the right time and saving yourself a lot in the long run. It's a beautiful language as well. I have to keep plugging for that because it does that that message does get lost in amongst all of the, all of the other messaging around rust rust, you know, incredibly, incredibly expressively powerful and very beautiful once you're into it. Very nice. Ashley, close this out. Yeah, so it says what's my take home message but I might reach for some words from from Julia Evans also known as Bork online she has a lot of great zines particularly around systems programming and she did one about rust. And what she said about rust is that rust makes improbable programs possible. And then she also says that rust makes her think, hey, maybe I could write that program. And I think there's two kind of messages of like hope and empowerment in there. And that is, you know, in the future we're going to see more systems programmers so if you're someone who never thought like you could be a systems programmer for any number of reasons, like rust exists to try to convince you otherwise that it can help you do that. So, in addition, types of programs that we would otherwise think were not really possible. For example, I think about the parallelization effort of the CSS engine in Firefox, for example, like, literally tried to do it a ton of times and just like couldn't do it and then they decided like write a new programming language to do this really wow okay rust made that possible. And so I think there's going to be new types of programs out there that are going to happen because of rust. And we're going to have a lot more people writing them and I think that that's particularly exciting and if you want to be a part of that, like rust wants you to be there.