Everything I've written down.

Ideas, things I'm figuring out, and the occasional rabbit hole worth keeping.

2026-07-29

Building a Thread-Safe Rate Limiter in Java

Two algorithms, one clean design, and the concurrency details that actually matter — from the token bucket all the way to a lock-free version with CAS.

Java Concurrency System Design Design Patterns
2026-08-15

Building a Thread-Safe LRU Cache

A fixed-size cache with O(1) get and put, built from a hash map and a doubly-linked list — then made thread-safe, with the one insight that makes LRU concurrency genuinely tricky: its reads write.

Java Data Structures Concurrency Interview Prep
2026-08-08

Building a Thread-Safe Job Scheduler

Jobs that run at a scheduled time, ordered by priority, pulled by a pool of workers. A priority queue, a lock, and one genuinely new primitive — the timed wait — with the theory to explain every line.

Java Concurrency Threads Interview Prep
2026-08-15

DDIA Chapter 5 — Replication

My Designing Data-Intensive Applications Chapter 5 notes: the three replication models, the three replication-lag guarantees, and the W + R > N quorum rule — the highest-value distributed-systems interview material, in my own words.

Distributed Systems Databases Replication DDIA Interview Prep
2026-08-01

The Bounded Blocking Queue

One of the most-asked concurrency problems, built two ways — from raw wait/notify to ReentrantLock with conditions — with the theory you need to explain every line in a round.

Java Concurrency Threads Interview Prep
2026-08-10

Binary Search Template

Algorithms Binary Search Interview Prep