I've read about dematerialisation, but it's interesting to see in a computer context.
I've bought an NVMe disk and USB-powered speakers this week. Both had fewer components than the parts they replaced.
miniblog.
Building Docker images with Nix, and a neat discussion of graphing algorithms to decide how to flatten layers:
Rust's backtraces moving to be native Rust: https://github.com/rust-lang/rust/pull/74682/commits/06d565c967bfb7c6ff52a991bbe47b4a2a25de3e
This prevents malformed DWARF info leading to security issues, an avenue for vulnerabilities I'd not considered before. https://twitter.com/Brittain_Ben/status/1288193388588740615
I've been doing more functional programming recently, and realised just how general a for loop is.
We needed a function `int list -> (bool, int) list` that would mark each item if it was the largest seen so far. Pretty straightforward.
Rewriting, debugging, and fuzzing a new manual format in OpenBSD: https://www.openbsd.org/papers/bsdcan15-mandoc.pdf
I particularly enjoyed the root cause analysis of the fuzzing bugs found.
A fresh linux install also makes me realise how few programs I use regularly. I've only installed Emacs, Firefox, a few interpreters/compilers and vlc. I keep thinking I must be missing something, but I haven't needed anything else yet.
OpenBSD replacing sudo with doas, as a simpler, easier to reason about alternative: https://flak.tedunangst.com/post/doas
The motivation resonates with me too: I only ever use sudo for personal usage, not managing complex groups of users with different permissions.
Did a fresh Arch Linux install on a new SSD today. It was easier than I remembered, even with LUKS and LVM set up.
Configuring wifi cards has got much easier: it's really important for the initial bootstrap these days.
I'm fascinated to learn that hard disk repair services will replace individual components in disks for you: https://www.youtube.com/watch?v=0iiEKZhDapo
Needing a clean room is a pretty major hurdle to doing the maintenance yourself.
# mount /dev/MyVolGroup/root /mnt
# mkdir /mnt/home
# mount /dev/MyVolGroup/home /mnt/home
Unix mounting conventions still feel strange to me. Creating a directory in one mount, only to mount something else at the same path. It feels weird to create a dir in the first mount.
Apparently some hardware manufacturers use FreeDOS for their hardware management tools!
I haven't used resumable exceptions much at all. I keep coming across scenarios where I wish the current language had them.
Most recent example: writing a tree-walking interpreter with a step counter. I'd love to throw ScriptExceededLimit with an option of resuming.
Abusing GitHub actions to keep the lights on when you're committing:
"[peerDependencies are] a commonly misunderstood gem of the npm model"
A neat subgenre of quines: invalid programs that print their own source code!
$ python https://reproducing.py/
File "https://t.co/z9z9h8CFOT"" target="_blank" rel="noopener noreferrer">https://t.co/z9z9h8CFOT", line 1
File "https://t.co/z9z9h8CFOT", line 1
^
IndentationError: unexpected indent
Showing 151-165 of 378 posts

