Robonaissance

Robonaissance

The Question the List Was Not Built For

The Vibe Coder’s Guide to the Machine - Episode 11

Hugo's avatar
Hugo
Nov 11, 2026
∙ Paid

This is Episode 11 of The Vibe Coder’s Guide to the Machine: computer science for a new generation.


The price of id 1103591, one record among a million, took 19.258 milliseconds to find in a list. A list keeps records one after another, in the order they were added. The same price took 0.000022 milliseconds to find in a dict, Python’s name for a table that pairs each id with its price. Both returned 202.44. The records were the same, the question was the same and the answer was the same. Only the way the million records were kept was different, and that was enough to make one answer roughly 877,000 times slower than the other.

The previous episode asked which copy of a fact to believe once two copies disagree. There is a plainer question on one machine, before any disagreement. Once a record is kept, how does a later program find it?

The answer sounds obvious. You stored it, so you look it up. But “look it up” hides work, and how much work depends on a decision that is easy never to see being made.

Say you ask an assistant to load a long collection of products, each with an id and a price, and to tell you the price when you type an id. It writes a few lines, you type an id, the right price comes back, and the feature works. Later you ask for a second feature: show every product priced between 100.00 and 100.50. That works too, and its answer is also right. Both features pass their tests. Beneath them sits a choice neither request mentioned: how the products were laid out in the process’s memory, the space where a running program keeps what it is working with. The assistant made that choice in a line or two of a reply about something else.

Keeping information is also arranging it. A record is never simply stored. It is stored in some order, beside some other records, and reachable by some route. An arrangement answers the question it was built for almost instantly, and it answers a question of a different shape only by looking at everything it holds. A list, for instance, is built to be read in order. It was never built to be searched for an id.

User's avatar

Continue reading this post for free, courtesy of Hugo.

Or purchase a paid subscription.
© 2026 Robonaissance · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for writing, podcasting, and media founders.