Posted on

Rust is a popular system programming language, and according to the yearly Stack Overflow developer survey most loved programming language since 2015. So 7 years in a row!

The language stands for speed, safety, and concurrency. Why should you care? For me, with a background in Embedded Systems, so low-level coding, it became especially interesting when reading over and over again that companies/teams that started using Rust, by rewriting part of their C/C++ stack, experienced the following

  • When the Rust code compiles successfully, it usually just works. This is what you wished for if you ever compiled something in C with pointers, strings, memory (de)allocation, and callbacks …
  • Rust code in production required less maintenance and bug fixing, and therefore left more time for actual coding, which is great!

So now, to stay in tune with everything happening in the Rust world, I challenge myself to biweekly write a newsletter with links to nice articles, blog posts, libraries, (white)papers, and code. I will be searching the web for hours so you do not have to.

In today’s email:

  • Tor and Rust: a Tor client on steroids
  • Rust for Microcontrollers: a simulator for ESP32 running Rust
  • Game Engine: Unreal-Rust

Tor a rewrite from C to Rust is now production ready

Tor Blog: rewrite from C to Rust Tor (The Onion Router), is free and open-source software for enabling anonymous communication on top of the Internet. Started thoughts of rewriting their C stack back in 2017, because of the low development speed. Combined with Rust being less error-prone and providing better secure programming methods it is a clear match. Read more about the official release on the Tor Blog.

Rust for Microcontrollers

ESP32 Rust’s popularity is also spreading towards Embedded Systems. I came across this nice project called Wokwi that provides several simulators, one of which is a simulation that runs your Rust code on an ESP32. You can attach several devices like LEDs, sensors, and displays without the need of heating up your soldering Iron

Unreal game engine a Rust add-on

There are already some game engines completely written in Rust but are not yet mainstream. Maik Klein started to go at it via another route. An add-on to the Unreal Game engine that allows you to write in Rust. Note it is currently still a proof of concept.

One important take away the editor for the Unreal Engine supports Hot Reloading while editing, however, with C++, the original language for the Engine, you can easily trigger a crash of the editor by e.g. accessing a null pointer. “In Rust crashes or panic are well defined and can be caught. That means if you ever unwrap an Option::None or do out-of-bounds access, unreal-rust will simply catch the panic, exit play mode, and log the error to the console. It will never crash the editor.

Unreal Engine with Rust Support

Enjoy your Sunday, and have a great week ahead.

Thanks for reading!
Bob Peters

Feel free to connect with me on LinkedIn