I’ve kept an engineering notebook since 2017, first in Evernote, then Notion. It’s where concepts go after I’ve read a paper, debugged something at work, or watched a good talk. In 2026 I cleaned it up and moved it here.

Fair warning: these are notes, not essays. They’re terse, they favor tables and lists, some entries are years old, and a few summarize other people’s writing (always linked). I tend to update them when reality corrects me. For long-form writing, see the blog; for interview-specific material, see the interview guides.

The notebook

Distributed systems CAP in practice, consistent hashing, distributed locking and fencing tokens, 2PC and sagas, the eight fallacies, and a worked example of sorting 1 TB across 1,000 nodes.

Databases How indexes actually work (B+Tree, hash, bitmap), LSM vs B-Tree engines, replication and multi-primary setups, sharding with Citus and Vitess, query optimization, and the data-warehouse-to-lakehouse evolution.

Networking & protocols OSI without the ceremony, TCP vs UDP, HTTP/1.1 through HTTP/3, the TLS handshake, gRPC and GraphQL trade-offs, and choosing between WebSockets, SSE, long polling, and WebTransport.

Building blocks DNS, CDNs, load balancers, reverse proxies, API gateways, service discovery, containers and Kubernetes, and deployment strategies.

Caching & performance The latency numbers ladder, the full cache hierarchy from CPU registers to CDNs, cache write patterns, rate limiting, thundering herds, and why Redis and Kafka are fast.

Security & identity Password hashing done right, sessions vs JWTs (and the hybrid everyone converges on), OAuth2 and SSO, mTLS in practice, and an InfoSec checklist earned in production.

Design patterns & principles SOLID, the GoF catalog with one-honest-paragraph summaries, and the microservices patterns that matter: sagas, event sourcing, CQRS.

Back of the envelope The estimation math I actually use: powers of ten, QPS and storage worked examples, availability nines, and a template for running a 45-minute design discussion.