OpenBSD is introducing some neat ways of marking sensitive memory so you don't accidentally expose data in a core dump: https://undeadly.org/cgi?action=article;sid=20190605110020
Related Posts
There are *so many* ways that reading a text file can fail.
Maybe it doesn't exist, it's a broken symlink, it's actually a directory, it's not the encoding you expected, or perhaps you just don't have the correct permissions.
Reporting good errors is surprisingly labour intensive.
A funny side effect of building software in Rust: my machine OOMs much more during development.
I'm not entirely sure why. I think Rust makes it easy to allocate data quickly, and sooner or later you write an infinite loop when coding.
When writing long-lived programs (daemons etc) in Rust, I find myself asking *where* I should put data.
In a GC'd language it's just "I have a string" but Rust forces me to find somewhere to put it.
You do get a performance benefit for this work though.