Taming Randomness With Hello World

2024/11/17: Updated to include support for mutexes. There is a lot of nondeterminism (or randomness) in modern software, from the obvious like random number generation to the less obvious like syscalls, scheduling and network latency. This makes debugging and troubleshooting very troublesome especially in distributed systems where multiple machines and networks are involved. However, if we could somehow control this randomness, then this would allow us to reproduce issues at will, no matter how rare or difficult....

July 5, 2024 · 1866 words · agao