All posts
11 notes, newest first.
-
Context engineering for AI agents that edit a codebase
How to choose the goals, files, tool results, and notes a coding agent sees, and how stale or untrusted context makes it fail.
-
Spanner: TrueTime, commit wait and external consistency, explained
How Google Spanner orders transactions worldwide: TrueTime intervals, commit wait, Paxos groups, two-phase commit over Paxos, safe time and lock-free reads.
-
Raft: how a few servers agree on one log, explained
How Raft keeps a replicated log consistent: terms, randomized elections, log matching, the Figure 8 commit rule, joint consensus, snapshots, linearizable reads.
-
10 backend design patterns senior engineers use, in Java 21 and Spring Boot
Repository, Factory, Singleton, Strategy, Observer, Builder, Adapter, Decorator, CQRS and Circuit Breaker in tested Java 21 and Spring Boot code, with pitfalls.
-
Dynamo: Amazon’s always-writeable key-value store, explained
How Amazon's 2007 Dynamo kept carts writable: consistent hashing, sloppy quorums, hinted handoff, vector clocks, Merkle anti-entropy, and gossip (SOSP '07).
-
TAO: Facebook’s social graph store — objects, associations, and refill
How Facebook's TAO served a billion graph reads/sec: objects & associations, leader/follower caches, refill messages, and master/slave regions (ATC '13).
-
Caching in Spring Boot with Redis and RedisTemplate
How to integrate Redis as a caching layer in a Spring Boot application using RedisTemplate to reduce database load and response times, step by step with code.
-
Scaling Memcache at Facebook: leases, Gutter, and commit-log invalidation
How Facebook scaled memcached to billions of requests per second: leases against thundering herds, Gutter pools, mcsqueal invalidation, and remote markers.
-
Scaling Slack’s job queue: Kafka in front of Redis
Slack put Kafka in front of Redis so enqueue stays up when workers stall: durable buffering, Kafkagate, JQRelay rate limits, and incremental migration.
-
How Discord stores trillions of messages: from MongoDB to Cassandra to ScyllaDB
How Discord moved chat history from MongoDB to Cassandra to ScyllaDB: time-bucketed partitions, tombstone traps, hot partitions, and Rust request coalescing.
-
Idempotency keys: how payment APIs make retries safe
Notes on how APIs like Stripe use idempotency keys so clients can retry failed requests without charging a customer twice, plus a minimal implementation.