System Design
12 engineering logs on System Design. Newest first.
- Implementing LFU Cache in O(1) Time: A Hands-on Breakdown
LFU evicts the least popular key, not the oldest. The O(1) version needs two hash maps and linked lists per frequency bucket.
- Boredom is a Signal to Find a Harder Problem: When Your CRUD API Stops Teaching You
Every backend engineer builds the same todo API. Boredom hits when CRUD stops surprising you. That is the signal to move up the stack.
- I Rebuilt a Minimal BitTorrent Client in Go to Understand Peer-to-Peer Choking Algorithms
BitTorrent choking is bandwidth scheduling disguised as game theory. Rebuilding a minimal client in Go makes the TCP, buffer, and fairness costs visible.
- Promotions are Proactive: The 3P Framework for Pitching Your Next Level
Promotion is not a reward for busy sprints. It is recognition that you already operate at the next level's blast radius. The 3P framework turns that into a pitch.
- Glue Work is the New System Design: Why Alignment is the Premium Skill in the Age of AI
AI makes code cheap. The expensive part is getting five teams, three regions, and two data stores to agree on what actually ships.
- The AI code review bottleneck: When writing code is 5x faster, but reviewing is 2x slower
Why AI speeds up code production while reviewers pay the latency tax of architecture and network validation.
- The RUM Conjecture: You Cannot Optimize Reads, Updates, and Memory at Once
How the RUM Conjecture explains real-world database trade-offs between read latency, write throughput, and memory overhead across B-Trees, LSM-Trees, and hash indexes.
- Why UUID Primary Keys Quietly Destroy Database Performance
How random UUID primary keys break clustered indexes, cause page splits and buffer pool churn, and what to use instead for mechanically sympathetic database design.
- Microservices Deep Dive: Architecting for Scalability and Resilience
How to design, operate, and scale microservices: core principles, when to use them, key patterns, and how to manage complexity in distributed systems.
- Transitioning from REST to gRPC: System Design and Tradeoffs
How gRPC changes API design versus REST: protocol model, protobuf schemas, service interfaces, streaming patterns, and when gRPC or REST is the right architectural choice.
- Shazam finds songs by voting on time offsets, not by comparing audio
How Shazam's fingerprinting works according to the published Wang 2003 paper: constellation maps, combinatorial peak pairing into 32-bit hashes, and the offset histogram that turns song matching into counting.
- System Design: Principles for Maintainability, Scalability, and Reliability
Data building blocks, fault tolerance, latency vs response time, scaling strategies, and the operability-simplicity-evolvability triad for durable systems.