Archive
2026
- Monomorphisation is why your binary is bigZero-cost at runtime is not zero-cost at build time, and the bill arrives in bytes.5 July 2026 · rust
- What Pin actually guaranteesLess than people assume, and precisely enough to make self-referential futures sound.27 April 2026 · rust
- Rust's ? is not exception handlingIt looks like a throw. It is a return.11 February 2026 · rust
2025
- Who ends up in TIME_WAITNot whoever you think. It is decided by who closes first, and that decides whose problem it is.3 December 2025 · networking
- False sharing costs more than you thinkTwo counters that have nothing to do with each other, sharing 64 bytes, can cost you an order of magnitude.14 October 2025 · performance
- epoll: edge-triggered is a contract, not an optimisationEPOLLET does not make epoll faster by itself. It moves an obligation onto you.9 August 2025 · networking
- Slow start is not slowThe name describes where it begins, not how fast it moves.21 June 2025 · networking
- SO_REUSEADDR is not SO_REUSEPORTTwo socket options, one letter apart in conversation, solving completely different problems.2 May 2025 · networking
- Why a binary says GLIBC_2.34 not foundThe first time you copy a working binary to an older server and it refuses to start, the error looks like a broken build. It is not.18 March 2025 · toolchain