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

Visibility timeout and at-least-once

From: Message Queues: Work That Waits Its Turn →

A received message is hidden, not deleted, for a visibility timeout. If the worker crashes before acknowledging, the message reappears for another worker. Never lost, but it can run more than once, so keep workers idempotent.

What if a worker drops the ticket?interactive
queueorder 812worker Aidleworker Bidle

A message waits on the queue, visible for any worker to take.

A poison message that fails every time would redeliver forever and burn workers. After a set number of receives (the maxReceiveCount), it is moved to a dead-letter queue for inspection, and the main queue keeps flowing.

The ticket nobody can makeinteractive
main queueorder 999workerthrows errorreceive count: 1 / 5dead-letterqueue

Order 999 points at a deleted product, so the worker throws every time. Attempt 1 of 5: it fails and reappears on the queue.

Fan-out: one event, many listeners

From: Pub/Sub: One Event, Many Listeners →

A publisher posts one event to a topic, and every subscriber gets its own copy at the same moment: email, SMS, push, in-app. The publisher never knows who is listening, so adding a new channel is just one more subscriber.

One event, many listenersinteractive
publisherorder shippedtopicorder-eventsemailSMSmobile pushin-app

An event happens: an order ships.

Visualizers — Sachin Gupta