Visualizers

Learn by moving things

Interactive explainers for the ideas behind retrieval, embeddings, and agents. A formula tells you what is true; dragging a vector shows you why. Each one also appears inside the article it belongs to, and runs entirely in your browser, so drag, poke, and break it.

Portrait of Sachin Gupta rendered in binary

Each reader keeps its own bookmark

From: The Log: One Record Everyone Can Replay →

One log, three readers. A live dashboard sits at the newest offset, a recovering job catches up from where it stopped, and a brand-new service resets to offset 0 and replays the whole history. Every reader keeps its own offset.

Each reader keeps its own bookmarkinteractive
01234567oldestnewestlive @ 7catching up @ 7replay @ 7

One log, offsets 0 to 7. Three services will each read it at their own pace.

Split the log, keep each key in order

From: The Log: One Record Everyone Can Replay →

A topic is split into partitions so many can read and write at once. Records with the same key (a customer id) always land in the same partition, so that customer's events stay in order, though there is no single order across partitions.

Split the log, keep each key in orderinteractive
producerkey = idpartition 0order keptpartition 1order keptpartition 2order kept

Order events arrive, each with a customer id as its key.

Split the work, or each take it all

From: The Log: One Record Everyone Can Replay →

Within one consumer group each partition goes to exactly one consumer, so the group shares the load like a queue. A second, separate group reads every record for itself, like pub/sub. One log gives you both patterns.

One team splits the work, many teams each get it allinteractive
topic: 3 partitionsP0P1P2billing group (splits the work)consumer 1consumer 2consumer 3analytics group (reads them all)consumer

The topic has 3 partitions. The billing group has 3 consumers.

Visualizers — Sachin Gupta