Dion Dokter
banner
diondokter.nl
Dion Dokter
@diondokter.nl
Embedded tech lead at Tweede golf. I love programming in Rust.

Also at: @[email protected]

Netherlands
Gave myself a Christmas present :D

After 2 months, I finally finished this PR: github.com/diondokter/d...

This was not fun. But it makes the project so much nicer to work with as an end user.

From now on I declare wrong/bad/unclear error messages to be bugs. Report them when you see them!
Gradual errors, all the way down by diondokter · Pull Request #158 · diondokter/device-driver
Fixes #86 Fixes #166
github.com
December 24, 2025 at 10:23 PM
December 24, 2025 at 9:17 PM
Linkers for embedded kinda suck, no?

Do you work at a big company who could use a new one?

At @tweedegolf.bsky.social we have some amazing people who could build an awesome new embedded linker.

We should talk.
December 20, 2025 at 12:15 PM
Reposted by Dion Dokter
I've been wanting to try and start brain dumping some thoughts on (embedded) rust, how I approach problems, write HAL/device drivers, tools I use, etc.

But, I'm terrible at starting to write unless I have specific questions to answer.

So: ask me anything re: embedded/rust/hardware!
December 19, 2025 at 10:44 PM
Reposted by Dion Dokter
Second blog post from the Rust vision doc effort:

blog.rust-lang.org/2025/12/19/w...

Working through the data we gathered really helped sharpen my understanding here.
What do people love about Rust? | Rust Blog
Empowering everyone to build reliable and efficient software.
blog.rust-lang.org
December 19, 2025 at 10:02 PM
Reposted by Dion Dokter
Tweede golf in 2025 was… over 80% #opensource!

As a service provider working across the commercial, government, and non-profit sectors, we are extremely proud (and honestly pretty amazed) that 86% of our code written in 2025 was open-source!

Thanks to our clients and funders!

(1/3)
December 19, 2025 at 1:53 PM
Reposted by Dion Dokter
Shout out to @erk.dev for writing a new clippy lint to catch the surprising "`for i in `0..` {}` loops forever" behavior I bumped into this week!
December 18, 2025 at 10:38 AM
Reposted by Dion Dokter
If you are a cybersecurity policymaker in Europe, or know someone who is, please reach out to @hugovandepol.bsky.social!
The joint statement “Improving Europe's cybersecurity posture through memory safety”, has now been published: trifectatech.org/blog/calling...

It calls for stronger #MemorySafety incentives in EU cybersecurity policies.

Thanks to all supporters and contributors!

#security
Calling for memory safety incentives in EU cybersecurity policies - Trifecta Tech Foundation
trifectatech.org
December 17, 2025 at 1:34 PM
Just released sequential-storage 7.0.0.

It has changed the API concept from global functions to a struct with methods.
This should reduce some of the boilerplate and it reduces the amount of panic paths in your binary.

Enjoy!

docs.rs/sequential-s...

github.com/tweedegolf/s...
MapStorage in sequential_storage::map - Rust
A map-like storage
docs.rs
December 16, 2025 at 11:15 AM
Oof, found a bug in some modbus code.

Reminder: check CRC *before* you trust any of the bytes

Seems like I have a PR to make tomorrow!
December 13, 2025 at 4:43 PM
Rust in Linux will no longer be experimental!

lwn.net/Articles/104...
The end of the kernel Rust experiment
The topic of the Rust experiment was just discussed at the annual Maintainers Summit. The cons [...]
lwn.net
December 10, 2025 at 7:22 AM
Reposted by Dion Dokter
How do you test code that a CI machine won't run? To support avx-512 SIMD instructions in zlib-rs, we taught Miri how to emulate them.

trifectatech.org/blog/emulati...

#rustlang
Emulating avx-512 intrinsics in Miri - Trifecta Tech Foundation
Recently we've started work on using more avx512 features in zlib-rs. The avx512 family of target features provides SIMD intrinsics that use 512-bit vectors (double the size of avx2, which uses…
trifectatech.org
December 9, 2025 at 10:31 AM
Reposted by Dion Dokter
One thing I wish MCU silicon vendors would do (e.g. STM32, Nordic) is be more upfront on the "bill of material" of IP blocks they use in their chips.

Many different chips re-use the same IP blocks for UARTs, SPI, DMA, etc. Knowing when this is/isn't the case makes writing drivers WAY easier.
December 6, 2025 at 11:22 AM
Reposted by Dion Dokter
A Safety Certified (SIL 2) Rust libcore is shipping today! Hats off to my colleagues for this extraordinary feat.

ferrous-systems.com/blog/ferroce...
Ferrocene 25.11.0 now available!
Today we're announcing the release of Ferrocene 25.11.0, the latest update to our qualified Rust toolchain. This release is particularly special to us as it arrives with our first IEC 61508 (SIL 2) c...
ferrous-systems.com
December 3, 2025 at 3:40 PM
The STM32C011J4M6TR is now only €0.26 on digikey

That's cheap!

You get:
- A full blown 32-bit cortex-m core
- 48MHz
- 6 I/O pins
- 16kb flash
- 6kb ram
- ADC
- 4 timers
- and more

Sleep current is a bit high though (comparable with ATmega328P)
December 3, 2025 at 3:27 PM
Do I know github action CI enjoyers?

I have an issue and would love some help or feedback :)

github.com/tweedegolf/s...
Improve binary-size CI · Issue #104 · tweedegolf/sequential-storage
The binary-size job compiles the master branch and the PR branch, then feeds both elf files to bloaty and posts a comment in the PR with te results. There are three major issues: The comment trigge...
github.com
November 26, 2025 at 2:35 PM
Reposted by Dion Dokter
Also asking, because it's pretty common to want to track things like code size over time, and see the impact of PRs over time on things like static RAM/flash usage for embedded projects.
What tooling do people use nowadays to monitor software for performance regressions?

I want to periodically run various benchmarks (which could take minutes or hours), store the results in a server, and see graphs over time of how they are affected by code updates or environmental factors.
November 26, 2025 at 1:25 PM
Reposted by Dion Dokter
Welly, my employer didn't even check if I managed to finish the almost impossible goal they set me before they let me go.

Anybody looking for a software developer with experience in among others Rust/C#/React/Svelte.
I've done a lot of embedded Rust for private projects as well
November 24, 2025 at 3:21 PM
New RFC from my colleague Folkert: github.com/rust-lang/rf...

Getting trustzone-m support in the compiler.
CMSE calling conventions by folkertdev · Pull Request #3884 · rust-lang/rfcs
Support for the cmse-nonsecure-entry and cmse-nonsecure-call calling conventions on thumbv8 targets, and a lint preventing (partially) uninitialized values from crossing the security boundary. ex...
github.com
November 24, 2025 at 3:28 PM
Reposted by Dion Dokter
Segment LCD screens are now supported in Embassy for STM32 :D

github.com/embassy-rs/e...
November 22, 2025 at 2:59 PM
Reposted by Dion Dokter
🦀 Bad news everyone - unwrap() is the reason behind cloudflare outage

>The FL2 Rust code that makes the check and was the source of the unhandled error is shown below

blog.cloudflare.com/18-november-...

#rustlang
Cloudflare outage on November 18, 2025
Cloudflare suffered a service outage on November 18, 2025. The outage was triggered by a bug in generation logic for a Bot Management feature file causing many Cloudflare services to be affected.
blog.cloudflare.com
November 19, 2025 at 3:11 AM
I forgot how cool the STM32U3 is. If you've got the hardware skills, there's so much you can optimize for low power
November 18, 2025 at 1:31 PM
New Rust survey!

Are you totally happy with the project, or worried it's going in the wrong direction? Let them know! Now is your chance
It is time for the annual State of Rust Survey! 📝✨️️

Whether you've just begun using Rust, are an experienced Rust user, stopped using Rust, or might use Rust in the future, we'd like to hear from you! 🦀

Available in ten languages and open until December 17th: blog.rust-lang.org/2025/11/17/l...
Launching the 2025 State of Rust Survey | Rust Blog
Empowering everyone to build reliable and efficient software.
blog.rust-lang.org
November 17, 2025 at 6:29 PM
Reposted by Dion Dokter
The Rust Foundation has joined orgs across industry & open source to call for a more secure, memory-safe future for Europe. The path to safer digital infrastructure is clear — & it starts with modern, memory-safe tech.

Read the joint statement & add your support:
Support the call for Memory Safety incentives in EU cybersecurity policies - Trifecta Tech Foundation
trifectatech.org
November 13, 2025 at 10:40 PM