EuroRust 2024: Random Notes
This final post on EuroRust 2024 gathers random notes and take-aways not related to talks, but rather to mingling and random conversations.
sentry.io Metrics Shutdown
I've spoken to some Sentry folks at the conference and they made me aware that the Metrics offering has been shut down.
Shame. I kind of liked where Sentry was going with this. Having an integrated metrics solution in Sentry-enabled projects would have been very nice.
tracing::Span::enter
and async
I've learned that manually enter()
ing Spans in tracing doesn't work properly
if the Span is entered across .await
points.
This is a "gotcha" and will mess up your traces if you're not careful, since the span seems to be thread local.
This is actually
documented
in the tracing
crate docs.
LocalStack
: Local AWS emulator
I've learned that there exists a local AWS API simulator, LocalStack.
This might be a game changer in testing cloud-deployed software, and system testing it.
Rust + Embedded Is Apparently Pretty Mature Now
Apparently, Rust is pretty mature for embedded development these days.
There's good support for "all the cool dev kits" as one of the attendees put it :)
In particular, ESP32 and Raspberry Pi Pico series microcontrollers were recommended as good starting points. These are tiny devices, with tiny power requirements, and yet they have WiFi, Bluetooth and other peripherals.
You can get a few ESP32 boards for cheap -- so cheap I couldn't believe!
I have also learned a lot about embedded software design and development process. I heard about how they do software in the automotive industry for mission-critical systems, where C is still king (and upgrading from C89 to C99 is considered radical!). It's wild.
- There's so many eyeballs in the process that there's virtually no bugs (in C!).
- The software is shipped on a device and then very likely never upgraded.
- The tests are written according to formal specs, without looking at the implementation.
Deno 2 Released
During the conference, it came to my attention that Deno 2.0 was released.
It's an amazing release that makes Deno a strong alternative to nodejs, including their own npm-compatible package manager that they claim is faster than anything else on the market.
I would wait with a wide-spread adoption though, since the first "LTS" release is going to be Deno 2.1.
The Renovate Bot Is Apparently Pretty Good
I have spoken to one of Rust+Python developers who uses the Renovate bot to manage automated dependency upgrades, to much success.
- They use it for JS (npm), Python and Rust.
- The bot in its open source edition can run on a regular schedule in pipelines, doesn't need any hosted software/services.
- An example workflow is to set it to run on the weekend, and to split the "boring patch upgrades"
and "possibly breaking changes" into 2 separate PRs that the bot would produce.
- It's all configurable.
- It's best to configure the bot so it aggregates the PRs, and doesn't start a new one for every single upgrade -- it spams a lot in that configuration.
The sequoia_openpgp Library Is Apparently Pretty Good
A pure-Rust OpenPGP library, sequoia_openpgp is apparently very usable these days.
- The docs are a bit lacking, but the core functionality works well.
- The official examples are a bit contrived, and the API gets a bit weird.
- There's configurable backends.
- It's possible to do in-memory encryption (e.g. without touching the disk, especially
important for sensitive data such as "KYC" data, medical records etc).
- In my experience, doing in-memory PGP in Python is pretty much impossible -- you
have to shell out to
gpg
.
- In my experience, doing in-memory PGP in Python is pretty much impossible -- you
have to shell out to
The Rust Community Keeps on Giving
The Rust community keeps being awesome.
I link here interesting learning and news resources I have learned about:
- 100 Exercises to Learn Rust -- a book for learning Rust aimed towards people with some prior programming experience.
- Rust in Production Podcast -- a podcast where every episode is an interview of someone using Rust in production.
- Rustacean Station Podcast -- a quality Rust podcast, covering all sorts of stuff.
There Are Rust Jobs
During the conference, the organizers put up a big whiteboard which was dedicated to writing job offers. I counted 20 job offers at the end of the second conference day!
Looks like Rust is gaining real traction these days. Still not as popular as Python, but getting more and more popular by the day. I'm really happy about that, since I've been investing time into learning Rust over the last few years.
More Notes!
This concludes my random notes from the conference. I have more notes: