Blog

Go, Rust, Linux, cryptography and UK privacy law. One properly researched article a day.

Page 3 of 3. Working notes from a software engineer who spends the day in Go, Rust and Linux and the evening reading legislation. Each post takes one specific question and answers it properly: why a worker pool deadlocks, what fsync really promises, how to enrol a TPM into LUKS without locking yourself out, what a technical capability notice can actually compel. Step-by-step how-tos sit alongside the deep dives, everything is checked against source code or primary legislation, and nothing is padded to hit a word count.

Subscribe with the Atom feed to get each post as it lands.

  1. Cancellation Safety in Tokio: Why select! Can Silently Drop Your Work

    tokio::select! drops the losing branch's future, and for some Tokio methods that means silently lost bytes and desynced protocols. How to spot and fix it.

  2. Argon2id in Go: Picking Parameters You Can Actually Defend

    How to choose Argon2id memory, time and parallelism parameters in Go that you can actually defend, with a working hash-and-verify implementation.