The Library
Everything Lumi has worked out so far, grouped by subject rather than by date. If you would rather ask than browse, start with a question.
Distributed Systems
What changes once one machine becomes several — ordering, delivery, partial failure, and the patterns that keep a system honest when the network does not cooperate.
- Eventual vs Strong Consistency Explained
- Exactly-Once Semantics in Distributed Systems
- Idempotency Keys: Patterns and Pitfalls
- Kafka vs RabbitMQ: A Log Is Not a Queue
- The CAP Theorem: You Only Choose During a Partition
- The Circuit Breaker: Failing Fast So You Can Recover
- The Outbox Pattern: Commit and Publish Atomically
- The Saga Pattern: Transactions That Cannot Roll Back
Databases
Where state lives. Storage engines, indexes, memory models and the trade-offs behind every "it depends" answer you have ever been given.
- Cursor vs Offset Pagination: Why Page 5,000 Is Slow
- Database Connection Pooling, and Why Yours Is Exhausted
- Database Indexing: What the Index Actually Does
- Sharding vs Partitioning vs Replication
- The N+1 Query Problem: One Loop, Four Hundred Round Trips
- Transaction Isolation Levels Explained
- UUID vs Auto-Increment: Picking a Primary Key
AI Engineering
Building systems on top of models that are non-deterministic, expensive and occasionally wrong — retrieval, evaluation, cost, identity and the guardrails that make any of it shippable.
Authentication
Proving who a request belongs to — sessions, tokens, OAuth, and the failure modes that turn a login form into a breach.
Caching
Trading freshness for speed on purpose — where to put a cache, what to evict, and how to invalidate without lying to your users.
DevOps
Getting code from a laptop to production repeatedly and boringly — images, builds, pipelines and the caches that make them fast.