systems research · encrypted transmissions
◈ EXPERIMENT LOG
007 · 2026-05-25

Linting Cache Lines from Source

snarf: a static linter that finds false sharing in Rust structs before you ship.

006 · 2026-05-17

The Slowdown That Doesn't Show Up in Profiles

False sharing: your threads are fighting over cache lines and your profiler can't see it.

005 · 2026-05-13

Verified, Not Safe: XDP Programs the Kernel Trusts

The BPF verifier proves your XDP program won't crash the kernel. It doesn't prove it's not a wiretap.

004 · 2026-04-06

Evolving Side-Channel Attacks with Genetic Algorithms

Breeding neural networks to break keys from timing leaks. It matched the standard attack but couldn't beat it. The failure modes are the interesting part.

003 · 2026-03-30

When the Compiler Is the Side Channel

Your branchless code has a branch, your key-zeroing is gone, and your hardware register write never happened.

002 · 2026-03-23

Breaking QUIC to Understand It

Decrypting Initial packets, exploiting PATH_CHALLENGE memory exhaustion, and hitting the wall of AEAD.

001 · 2026-01-15

The Hidden Bottleneck: Blocking in Async Rust

Using eBPF to find blocking code in Tokio without instrumenting your code.