Dion Dokter's Avatar

Dion Dokter

@diondokter.nl.bsky.social

Embedded tech lead at Tweede golf. I love programming in Rust. Also at: @diondokter@fosstodon.org Netherlands

494 Followers  |  82 Following  |  527 Posts  |  Joined: 06.06.2023  |  2.2294

Latest posts by diondokter.nl on Bluesky

Oh cool! Result::flatten is now stabilized :D

07.08.2025 11:44 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Async Rust vs RTOS showdown! - Blog - Tweede golf It's time for another technical blog post about async Rust on embedded. This time we're going to pitch Embassy/Rust against FreeRTOS/C on an STM32F446 microcontroller.

A couple of years ago I wrote this blog post: tweedegolf.nl/en/blog/65/a...

Generally these numbers should still hold up.

04.08.2025 18:00 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I'm also taking the opportunity to miette-ify the codebase and get really awesome error messages in there.

Thanks for the cool work!

04.08.2025 11:25 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yep! This is really nice. I've been porting my device-driver crate to KDL. It has a field called 'allow-address-overlap' and in other formats you had to specify true even when the default when not present is false.

It's awesome how nicely it sits between data format and dsl

04.08.2025 11:24 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Tom Paris and captain Janeway as lizards from the Voyager episode Threshold.

Tom Paris and captain Janeway as lizards from the Voyager episode Threshold.

You don't want to reach warp 10. The captain and the pilot might just procreate with each other

03.08.2025 19:25 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Is it because of the formatting? Are you using core::fmt?

You might be able to get it to:

NETSTACK.log(format_args!("hello: {}", 42)).await;

Not sure if that's better though

02.08.2025 17:56 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
crates.io: Rust Package Registry

Just released sequential-storage 5.0.0. Compared to 4.0.0 there are a nice bunch of edge case problems fixed.
It's a barely breaking change, so easy to update!

crates.io/crates/seque...

31.07.2025 09:26 β€” πŸ‘ 15    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Idk, could just be sensor differences too. But different enclosures also definitely have impact

30.07.2025 09:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Technology | 2025 Stack Overflow Developer Survey

once again, #rustlang is the most admired programming language on the stack overflow survey: survey.stackoverflow.co/2025/technol...

29.07.2025 18:33 β€” πŸ‘ 95    πŸ” 12    πŸ’¬ 6    πŸ“Œ 2
One more thing
Those of you interfacing RP2350 to retro computer hardware will be pleased to hear that, after an extensive qualification campaign, RP2350 is now officially 5V tolerant!

Just make sure to keep VDDIO powered when 5V is applied to any GPIO pad, otherwise the pad will be damaged. And be sure to read the relevant sections in the updated datasheet.

One more thing Those of you interfacing RP2350 to retro computer hardware will be pleased to hear that, after an extensive qualification campaign, RP2350 is now officially 5V tolerant! Just make sure to keep VDDIO powered when 5V is applied to any GPIO pad, otherwise the pad will be damaged. And be sure to read the relevant sections in the updated datasheet.

Also

29.07.2025 13:31 β€” πŸ‘ 32    πŸ” 4    πŸ’¬ 4    πŸ“Œ 1
Preview
RP2350 A4, RP2354, and a new Hacking Challenge - Raspberry Pi New A4 stepping of our RP2350 microcontroller now available, with security and other improvements. Plus: another RP2350 Hacking Challenge!

New RP2350 stepping just dropped, E9 fixed.

www.raspberrypi.com/news/rp2350-...

29.07.2025 13:29 β€” πŸ‘ 107    πŸ” 23    πŸ’¬ 4    πŸ“Œ 5

This is more vibes-based than I wanted, but here's the new filtering code for stackdump: github.com/tweedegolf/s...

Now when you run the tool, you don't get spammed with defmt stuff

22.07.2025 13:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Apparently it's an optimization: github.com/llvm/llvm-pr...

22.07.2025 12:51 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Dwarf debug info showing a variable with a linkage name and an address

Dwarf debug info showing a variable with a linkage name and an address

NM output showing that variable doesn't have a symbol, but at the same address is a symbol called .L_MergedGlobals.1067

NM output showing that variable doesn't have a symbol, but at the same address is a symbol called .L_MergedGlobals.1067

What the hell are merged globals! And why is it breaking the debug info! 😑

22.07.2025 12:48 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I'm reminded of how much gaslighting elf and dwarf do.

The dwarf claims there's a variable with a certain linkage name.
I then check the elf, and there I can't find it.

So does it exist?
Did LTO remove it without updating the dwarf?

Unless I want to dig into LLVM, there's no way to find out...

22.07.2025 11:00 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

SB = stacked borrows
TB = tree borrows

Both proposed formal models for what is considered valid aliasing (i.e. provenance), but neither have been officially adopted and both have slightly different (and sometimes confusing/unintended) behavioral nuances.

21.07.2025 22:16 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Love this explanation! Thanks!

21.07.2025 22:20 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Ha, those are much more technical terms than I'd use (or know), but yes this

21.07.2025 15:03 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Random thought:

`slice.as_ptr()`

is not the same as

`&raw const slice[0]`

with regards to (strict) pointer provenance

21.07.2025 14:18 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Preview
Blog - Tweede golf Tech blog on web, security & embedded

We have 100+ Rust-related articles on our blog! Read them here: tweedegolf.nl/en/blog/rust

Topics: web development, systems programming, Embedded Rust, open-source projects, memory-safety, interoperability with other languages, testing and bug hunting.. and much more.

Enjoy!

#rustlang

21.07.2025 11:53 β€” πŸ‘ 3    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
I am a Rust compiler engineer looking for a new job For the past 3.75 years I have been fortunate to work on Futurewei’s Rust team, where I had enormous freedom to β€œmake Rust better” however I see fit. It has been the highlight of my career and I am gr...

New blog post: I am a Rust compiler engineer looking for a new job

nnethercote.github.io/2025/07/18/l...

18.07.2025 04:33 β€” πŸ‘ 86    πŸ” 44    πŸ’¬ 5    πŸ“Œ 2

Does anybody know of a tool that can analyze the use (and maybe durations) of critical sections?

I've never done hardcore realtime projects, but sometimes there's a requirement of 'needs to happen in 50ms'. It'd be nice to get more analysis instead of simple testing and gut feeling

16.07.2025 21:05 β€” πŸ‘ 8    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0

I think that's Gource

16.07.2025 11:02 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

This looks great!

15.07.2025 15:24 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

That could work if literally all formatting needs to be deferred. But that might also break normal code

15.07.2025 06:43 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Public view of rust-lang | Zulip team chat Browse the publicly accessible channels in rust-lang without logging in.

Looking for feedback here: rust-lang.zulipchat.com#narrow/chann...

14.07.2025 20:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Oh lol, didn't look through the other replies. I'm not the first mention zmq πŸ˜‡

13.07.2025 21:47 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
ZeroMQ An open-source universal messaging library

Maybe take some inspiration from the ZeroMQ website? zeromq.org

(Though maybe not, because it calls itself 3 different things in the first couple sentences)

But something like 'messaging library' sounds good I think

13.07.2025 21:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It might be stupid, but when I open a blog and find out the sentences don't have their first words capitalized, I tend to not read the blog...

13.07.2025 07:40 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - diondokter/intern-experiment: Could Rust itself do string interning? (and formatting?) Could Rust itself do string interning? (and formatting?) - diondokter/intern-experiment

Link to test project: github.com/diondokter/i...

11.07.2025 13:46 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@diondokter.nl is following 20 prominent accounts