27 Sep 2026 Vol. 02 · Software Architecture · Chapter #4 Monoliths, Microservices, and the Space In Between Microservices aren't a promotion. How to pick the shape of your system, and how to split it later without regret. 8 min · a cup software architecture · monolith · microservices · systems design 27 Sep 2026 Vol. 02 · Software Architecture · Chapter #5 Who Owns the Data? Splitting code is the easy part. Splitting data is where systems quietly fall apart, and how to keep yours together. 7 min · a cup software architecture · databases · distributed systems · sagas 27 Sep 2026 Vol. 02 · Software Architecture · Chapter #6 Designing for Failure Networks drop, payments arrive late, and the power goes. Build systems that expect it instead of apologising for it. 11 min · a cup software architecture · resilience · distributed systems · reliability 20 Sep 2026 Vol. 03 · Under the Hood · Chapter #4 What SQLite Is Actually Doing It's one file, a pile of 4 KB pages, and a few B-trees. Open it up and see how SQLite stores, finds, and safely writes your data. 10 min · a cup sqlite · databases · internals · b tree 15 Jun 2026 Vol. 02 · Software Architecture · Chapter #3 Event-Driven Systems Your services don't need to talk to each other. They just need to pay attention. 7 min · a cup architecture · event driven · messaging · systems design 15 Jun 2026 Vol. 03 · Under the Hood · Chapter #3 What Git Is Actually Doing You probably haven't bothered to understand git. You should. Probably. 8 min · a cup git · internals · version control · tools 8 Jun 2026 Vol. 02 · Software Architecture · Chapter #2 Component-Based Thinking How to slice a system into parts that actually make sense — and why most people get it wrong the first time. 13 min · a cup software architecture · components · design patterns · python