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

Also at: @diondokter@fosstodon.org

Netherlands
Wow, realisation: Time of humans is becoming a currency.

The matplotlib project requires a human to create new PRs, not just an LLM.

This isn't weird, it's very normal.

But the time of a human is used as a currency here. It adds a nontrivial cost to filter out (likely) bad submissions.
February 13, 2026 at 6:36 AM
Reposted by Dion Dokter
whereas, the pitch for genAI is to spend gravity bending amounts of money and resources to make copies of things we already have. it's a completely baffling idea that inverts all prior ideas of what good technology or business looks like
February 11, 2026 at 2:45 PM
Reposted by Dion Dokter
historically, tech was an infinite money printer because you can write a program once and then sell it or its utility unlimited times. you can keep building atop existing things and not have to duplicate effort on remaking things that already exist
February 11, 2026 at 2:43 PM
The long sections of drum and bass present at the start and end of EDM (remixes) are the preamble and postamble of music
February 10, 2026 at 1:58 PM
Does anybody know of a simple programming language that can be *translated* into other languages like Rust or C? (So no runtime/VM/engine)

I need something with simple control flow, integer math and bit manipulation.

I want to add some custom logic support into device-driver at some point.
February 7, 2026 at 10:43 PM
Cool, migrated the first device-driver error from miette to annotate-snippets.

I can show patch suggestions now! :D

It's more work and code to write though and the API is not always clear on how it wants to be treated. But I like the results better.
February 6, 2026 at 8:57 PM
Reposted by Dion Dokter
But IMO the world hasn’t been made any better by half-built products looking for quick exits and requiring constant data collection in order to run their A/B tests
I am personally of the opinionated, obsessive, craft + taste > market analysis, vertical integration, long timelines ilk of technologist
February 3, 2026 at 4:33 PM
Was testing out the annotate_snippets crate. For a split second I thought I had a compile error.

So, it seems to be working!

(annotate_snippets is the crate rustc uses/is gonna use for reporting errors)
January 30, 2026 at 10:34 PM
Ok, so custom language for device-driver... What should it be the extension and name?

.ddlang
.ddsl (device-driver specification language)
.ddd (device-driver description)

It shouldn't overlap with anything popular that already exists...

Any suggestions?
January 28, 2026 at 6:02 PM
When using LLMs, it's very important to give clear instructions. Spec-driven development is the future.

For example, a clear prompt to add two numbers could look like:
ADD a TO b
ON SIZE ERROR
DISPLAY "Error"

This specifies the overflow as well.
January 27, 2026 at 3:33 PM
Reposted by Dion Dokter
Zlib-rs is now feature-complete! We've released v0.6, the first version with a stable and complete API. The blog post has the details.

With thanks to our maintainer Folkert de Vries, our contributors and @sovereign.tech.

trifectatech.org/blog/zlib-rs...

#rust #rustlang
January 27, 2026 at 10:17 AM
Seems like the compiler gets mad when you have an enum with a reference field, that derives Debug and you then ask it to be repr(packed(1))

ICE: github.com/rust-lang/ru...
[ICE]: builtin derive created an unaligned reference · Issue #151730 · rust-lang/rust
Code #[repr(packed(1))] #[derive(Debug)] enum Foo<'a> { Bar(&'a ()) } playground Meta rustc --version --verbose: rustc 1.93.0 (254b59607 2026-01-19) binary: rustc commit-hash: 254b59607d4417e9dffbc...
github.com
January 27, 2026 at 9:00 AM
Ok, so when you read online "don't use chumsky for lexing, it's a bit slow", they're understating it!

The same token output on ~60KB of text:
Chumsky - 24ms 2.4 MB/s
Logos - 0.45ms 130 MB/s

That's 50x faster!

Chumsky is still great for parsing though!
Also it gives nicer/better errors than logos.
January 25, 2026 at 8:07 PM
It appears the northern lights have made it over here. Very faint, can't really see it with the naked eye, but my camera can.

Add note to myself: Travel up to the Arctic some time to really see it.
January 19, 2026 at 10:11 PM
Lolol

> Trump: Greenland is undefended!
> Some countries: *send a handful of soldiers to Greenland to scout for a larger mission*
> Trump: How dare they! So dangerous!

Also, the US has been the only country threatening to invade Greenland. China and Russia haven't. So who's the bad guy?
Trump just placed a tariff on most of the EU of 10% that will increase to 25% in June unless they agree to sell him Greenland.

This is mad king shit.
January 17, 2026 at 5:35 PM
Turns out writing a lexer and parser for device-driver is kinda fun!

Makes it really appealing to ditch KDL.

Lots to learn! I went to a pleb 'applied' university, so didn't get any courses with this stuff.

Chumsky seems like a good bet. It's been treating me well so far.
January 16, 2026 at 7:41 PM
Reposted by Dion Dokter
If you would like to submit a talk to RustWeek 2026 there’s still time! Not much though, hurry! 2026.rustweek.org/cfp/
Call for Proposals - RustWeek 2026
RustWeek 2026, The Netherlands - May 18 - 23 2026. The world's biggest Rust conference returns to beautiful Utrecht, welcoming over 900+ community members, professionals and the maintainers of Rust.
2026.rustweek.org
January 15, 2026 at 4:30 AM
Reposted by Dion Dokter
TIL: Cargo lets you use "host-tuple" as a target 👀

No need to remember your full target triple anymore! 🦀

#rustlang #cargo #rustdev #buildtools #cli
January 14, 2026 at 10:29 AM
Reposted by Dion Dokter
(retoot of my mastodon post)
I'm having fun finding out how much less code Rust's integer functions generate for rp2350's RISCV cores (when all of it's bitmanip extensions are enabled):
godbolt.org/z/1Geq5rdnv
Compiler Explorer - Rust
#![no_std] #![feature(isolate_most_least_significant_one)] #![feature(int_lowest_highest_one)] #[unsafe(no_mangle)] pub fn u32_reverse_bits(a: u32) -> u32 { a.reverse_bits() } #[unsafe(no_mangle...
godbolt.org
January 14, 2026 at 10:34 AM
Reposted by Dion Dokter
Bevy 0.18 is out now!

It features Atmosphere Occlusion and PBR Shading, Generalized Atmospheric Scattering Media, Solari features, PBR Fixes, Font Variations, Automatic Directional Navigation, Fullscreen Materials, Cargo Feature Collections, Camera Controllers, and more!

bevy.org/news/bevy-0-...
Bevy 0.18
Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!
bevy.org
January 13, 2026 at 9:41 PM
Learning in the open I guess: github.com/diondokter/d...

github.com/diondokter/d...

No decision yet. But making device-driver be its own dedicated language is appealing to me...
January 11, 2026 at 6:44 PM
Hmmm I need advice...

So with device-driver I made a bet on KDL and Miette. But now the author has stepped away from open source.

So what should I do now?
- Just wait it out and see what happens
- Fork and publish versions I maintain
- Migrate to something new
- Some other option?
January 10, 2026 at 11:14 AM
I might have outdone myself with the generics :P

Luckily users don't need to look at it!
#device-driver #rust
January 9, 2026 at 10:41 PM
"Integer number stored in binary format"

As opposed to what? Sometimes adding extra info makes it more confusing. You mean it's just a normal integer?

(And no, this chip doesn't use BCD which is the only alternative I can come up with)
January 8, 2026 at 10:55 AM
Reposted by Dion Dokter
oh i had this realization once
January 7, 2026 at 2:00 PM