Today I read an interesting blog post by Phil Eaton about write-ahead logs and durability.
Check it out here.
Today I learned (TIL) entries.
Today I read an interesting blog post by Phil Eaton about write-ahead logs and durability.
Check it out here.
Today I learned about deterministic simulation testing, an approach to test distributed systems. The core idea is to remove all non-deterministic behavior from the critical parts of the application, creating a controlled environment where the sequence of events can be manipulated.
This involves setting fixed seeds for random number generators, controlling clock and time dependencies, running tests in a single thread, and using asynchronous I/O operations. While these constraints might seem overly restrictive, they allow us to reproduce bugs found during simulations.
It’s easier said than done, though. Adding this kind of test to an existing system can be challenging. There’s always going to be some non-deterministic edges. Also, the test is only as good as your simulation.
Read more in this blog post.
I’ve been using Linux Unified Key Setup (LUKS) for full disk encryption on my home server, but entering a long password on every boot can be quite inconvenient. That’s why I was searching for a way to use a key file in a USB stick to unlock the root partition.
There are many blog posts and resources on how to do it, but many are outdated and none of them allowed me to enter the password if the key is not available. This can lead to mount failure during boot, which is extremely inconvenient for a headless computer.
Fortunately, I stumbled upon a blog post which describes a way to do what I wanted!
Read it here: https://tqdev.com/2022-luks-with-usb-unlock