Menu
Sign In Search Podcasts Libraries Charts People & Topics Add Podcast API Blog Pricing

Alice Ryhl

๐Ÿ‘ค Speaker
505 total appearances

Appearances Over Time

Podcast Appearances

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

And it's pretty common for code to write zeros to memory.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

But if you write a zero to the use ID, now you're root.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

Yeah.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

That's a really classic way of exploiting this kind of vulnerability.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

lost all of the reliability ones I mentioned in the beginning.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

I think where Rust is really unique is in the combination of things.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

So on one hand, it doesn't have a garbage collector, and it's usable in low-level contexts, like the Linux kernel or firmware or whatever.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

So a garbage collector says, once you've done using your objects, there's going to be a little piece of code that checks all of your objects and says, this is not used anymore, and then it cleans it up.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

Whereas in languages like Rust or C++...

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

the variable is cleaned up at the end of the scope, when it goes out of scope.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

And in the other one, they have to detect afterwards.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

And this kind of little piece of code that runs every so often to check all your objects, for embedded use cases, this might simply be not possible or unacceptable.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

Even for backend, it can be a problem because if you have a request incoming right when it checks all of your objects, like you have some sort of latency spike where it takes much longer to reply.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

So that's one of the reasons it can be helpful in backend as well.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

I mean, in many cases, Rust code is similar to many of the other languages.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

It has braces.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

It's not like Python where, you know, you use indentation.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

It has braces.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

It has semicolons and so on.

The Pragmatic Engineer
Why Rust is different, with Alice Ryhl

Yeah, I think you'll figure it out.