Layered diagram of memtable flushing into sorted SSTables being compacted.

Architecting Log-Structured Merge Trees for Write-Intensive Distributed Databases

LSM trees are the backbone of modern write-intensive databases like Cassandra, RocksDB, and ScyllaDB. This post walks through the architecture, compaction strategies, and tuning decisions that separate a healthy LSM deployment from a write stall.

September 1, 2026 · 11 min · 2198 words · martinuke0
Diagram of distributed task queues with workers, brokers, and a result backend.

Architecting Distributed Task Pipelines with Celery: A Deep Dive into Production Python Backends

How to design, scale, and debug Celery pipelines in production — covering broker choice, result backends, canvas workflows, and the failure modes that hit hardest.

September 1, 2026 · 11 min · 2211 words · martinuke0
Diagram of Linux namespaces and cgroups forming a container runtime.

Build a 300-Line Container Runtime in Go: A CV-Worthy Side Project

Build a working container runtime in roughly 300 lines of Go, using Linux namespaces and cgroups. A side project that signals real systems engineering chops on a CV.

September 1, 2026 · 13 min · 2746 words · martinuke0
Diagram of a pi-agent control loop with memory, tools, and a verifier.

Building a pi-agent for Long-Horizon Tasks: Patterns That Actually Work

Pi-agents for long-horizon tasks need more than a clever prompt. This post covers the architecture, memory patterns, and failure modes that decide whether the agent finishes the job or burns budget on a loop.

September 1, 2026 · 12 min · 2492 words · martinuke0
A stylized illustration of transformer blocks and a KV cache heatmap.

Build Your Own Inference Engine: From Scratch

Demystify how LLM inference works by building a tiny inference engine from scratch. Covers tokenization, the transformer forward pass, KV cache, and decoding.

September 1, 2026 · 10 min · 2116 words · martinuke0
Feedback