browse/
37 results
computer-science/merge-sort-how-splitting-a-list-in-half-again-and-again-sorts-it-with.md
Merge sort: how splitting a list in half again and again sorts it with far less work
How do you sort 10,000 numbers without making millions of comparisons? Merge sort never sorts a big pile. It splits the list until every…
tools/gitignore-how-git-decides-which-files-to-skip-and-the-one-rule-that-su.md
Gitignore: how Git decides which files to skip, and the one rule that surprises everyone
Why does a file show up in git status when you wanted it hidden, and why does a file you ignored sometimes stay tracked anyway? Five short…
web/flexbox-how-a-row-of-boxes-decides-who-gets-the-leftover-space.md
Flexbox: how a row of boxes decides who gets the leftover space
Put three boxes in a row and the browser decides, by a short fixed recipe, who gets the extra room and who gives some up. Learn the three…
computer-science/hash-tables-how-a-computer-finds-one-name-among-thousands-without-chec.md
Hash tables: how a computer finds one name among thousands without checking them all
Your phone finds one contact among thousands without reading them all. The trick is a hash table: a row of numbered slots and a small…
databases/transactions-why-a-money-transfer-must-save-both-changes-or-neither.md
Transactions: why a money transfer must save both changes or neither
Sending £50 between two accounts takes two changes to a database. If the power fails between them, the money vanishes. A transaction groups…
web/css-specificity-why-your-style-is-ignored.md
CSS specificity: why your style is ignored
You write a style, reload the page, and the text is still the old colour. Nothing is broken: another rule is winning, and CSS decides with…
computer-science/stacks-and-queues-why-undo-takes-the-newest-item-and-a-printer-takes-t.md
Stacks and queues: why undo takes the newest item and a printer takes the oldest
Press undo and the last thing you typed disappears first. Send documents to a shared printer and the first one is printed first. Both are…
computers/floating-point-why-0-1-0-2-is-not-exactly-0-3.md
Floating point: why 0.1 + 0.2 is not exactly 0.3
Type `0.1 + 0.2` into JavaScript or Python and you get `0.30000000000000004`. It is not a bug, and it is not your mistake. Computers store…
mobile/offline-sync-what-happens-when-two-phones-edit-the-same-contact.md
Offline sync: what happens when two phones edit the same contact
You edit a contact's phone number on a plane. Your partner fixes the city on a tablet. Both devices are offline, then both reconnect. Which…
infrastructure/ci-pipelines-how-a-computer-decides-a-change-is-safe-to-merge.md
CI pipelines: how a computer decides a change is safe to merge
Push a change and a green tick or a red cross appears a minute later. How does a machine decide? It does not understand your code. It reads…
computer-science/breadth-first-search-how-a-maze-solver-finds-the-shortest-way-out.md
Breadth-first search: how a maze solver finds the shortest way out
How does a maze solver, or a map app, find the shortest route and not just any route? The answer is breadth-first search: explore every…
mobile/deep-links-why-one-link-opens-an-app-and-another-opens-a-web-page.md
Deep links: why one link opens an app and another opens a web page
Tap the same link on two phones and one opens an app while the other opens a web page. Who decides, and how? This article explains deep…