Scala, Java, Rust, distributed systems, and functional programming
Four ways to keep report aggregates over a stream of receipts in ClickHouse, why three of them failed, and the one that survived: cells that are recomputed from their documents instead of added up.
AI writes code faster than any developer. But who sets the task, reviews the result, and owns the architecture? On why foundational knowledge matters more now, not less.
Three concepts from compiler design that transformed how I think about code generation — and why they matter beyond compilers.
How I transformed a minimalist but dry blog into something that actually feels alive — one CSS tweak at a time.
A tool born from frustration with multi-version protobuf schemas. How to handle protocol evolution without losing your mind.
Maven/Gradle plugin that generates version-agnostic Java wrappers from multiple protobuf schema versions
Personal website and blog engine built with Rust, Axum, and HTMX