[ SECURITYLAB_—_BLOGS ]

Long-form writing on runtime, distributed systems, kernel internals, Go concurrency, memory models, eBPF, and assembly walkthroughs.

Blog
Go Generics, One Year In: Which Promises Held, Which Didn't

Go Generics, One Year In: Which Promises Held, Which Didn't

Go 1.18 shipped generics in March 2022. Four years later, the honest picture: they're useful for a narrower set of problems than the community hoped, they fit naturally in a few places, and overuse them and your code gets worse. A production retrospective.

2026-03-18 8 min read
Blog
Go Profiling in Anger: pprof, Escape Analysis, and Inlining Without Magic

Go Profiling in Anger: pprof, Escape Analysis, and Inlining Without Magic

Most performance advice for Go is ritual — 'use sync.Pool,' 'avoid interface boxing,' 'preallocate slices.' Useful sometimes, hollow often. A production engineer's guide to profiling Go systems with pprof, reading escape analysis output, and understanding when the compiler actually inlines.

2026-03-12 8 min read
Blog
NATS vs Kafka vs MQTT: Same Category, Very Different Jobs

NATS vs Kafka vs MQTT: Same Category, Very Different Jobs

All three are 'messaging systems.' None of them is interchangeable with the others. A practical breakdown of NATS, Kafka, and MQTT — by the actual design axes that determine which one breaks when you misuse it.

2026-02-24 9 min read