Clio
Discovery, documentation and foundation. Notes on how things actually work, written so that they are quick to pick up again after a long time away.
Subjects
Android Kotlin · Compose
The platform from the inside: process model and process death, app startup, IPC and Binder, coroutines, and the Jetpack Compose runtime.
4 articles
System design Series
Eight articles on the concepts — the edge, compute, storage, consensus, observability, messaging, analytics — then twelve worked designs from a URL shortener to an LLM serving system.
20 articles
Networking Protocols
How bytes move on the wire: the journey of a packet, then TCP, UDP, QUIC, HTTP, FTP and ICMP.
7 articles
Linux systems Series
The kernel and system calls, processes and memory, filesystems, sockets and IPC, and the namespaces, cgroups and tracing tools containers are built from.
5 articles
AWS AI Practitioner AIF-C01
AI and ML fundamentals, generative AI and Bedrock, building on foundation models with RAG and prompts, responsible AI, and security, compliance and governance, in exam-guide order.
12 articles
Algorithms Data structures
One idea per article, explained in plain words with diagrams and worked examples: graph traversal, dependency ordering, disjoint sets and weighted shortest paths.
5 articles
CCNA 200-301 Series
Network fundamentals and addressing, switching, VLANs and spanning tree, routing and OSPF, IP services, security, wireless and automation.
16 articles
Latest
-
Dijkstra's algorithm
Why BFS stops working once edges have weights, what relaxing an edge means, the priority queue and lazy deletion, why one negative edge silently breaks everything, and how A star relates.
-
Union-find
Sets as trees named by their root, why the naive version degenerates into a chain, path compression and union by size, and why the two together are effectively constant time.
-
Topological sort
Flattening a dependency graph into a line: Kahn's algorithm with in-degrees, the DFS version and its one classic bug, free cycle detection, and the levels that give you parallel work.
-
Depth-first search
One path to the end before trying the next, entry and exit times and what they unlock, why cycle detection needs three states, backtracking, and when recursion overflows the stack.
-
Breadth-first search
Searching in rings and why that alone finds the shortest path, BFS on a grid, the one-line change that gives you multi-source BFS, plus 0-1 BFS, bidirectional BFS and when DFS is the better tool.
-
Designing ChatGPT
The streaming request path, why a conversation's cost grows with its square, context budgeting, memory and retrieval, the tool loop, layered safety, and how you tell whether a model upgrade made things worse.
-
Designing an LLM serving system
Why decode is memory bound and prefill is not, the KV cache that caps concurrency, continuous batching, paged attention, tensor against pipeline parallelism, and why autoscaling barely works.
-
Designing a search engine
Crawling politely, canonicalisation and near-duplicates, index compression and tiering, document against term sharding, the fan-out tree and its tail latency, ranking, and vector retrieval at a billion documents.