Napkin Math
Subscribe
Archive
Napkin Math #22: turbopuffer, fast search on object storage
July 9, 2024
A little more than a year ago, I started hacking on a new search engine on object storage, starting with vector search: turbopuffer. Today, we’re a full-...
Napkin Math #21: Index Merges vs Composite Indexes in Postgres and MySQ
November 27, 2022
While working with Readwise on optimizing their database, I found myself asking the question: How much faster is a composite index compared to letting the...
Napkin Math #20: Scaling Causal's Spreadsheet Engine from Thousands to Billions of Cells: From Maps to Arrays
July 6, 2022
Earlier this year, I spent a few weeks working with Causal on their core spreadsheet engine. Causal is a spreadsheet built for the 21st century to help...
Napkin Math #19: Metrics For Your Web Application's Dashboards
March 20, 2022
In the beginning of the year I was helping readwise.io get some of their observability up to snuff. A few weeks later "What should I monitor?" came up on...
Napkin Math #18: Neural Net from Scratch
January 3, 2022
Happy new year everyone! In this most recent post, we will establish a mental model for how a neural network works by building one from scratch! In a future...
Careful Trading Complexity for Improvement
November 30, 2021
Whenever you find yourself arguing for improving infrastructure by yanking up complexity, you need to be very careful. Published a new article this morning...
Napkin Problem 16: When To Write a Simulator
September 16, 2021
My rule for when to write a simulator: Simulate anything that involves more than one probability, probabilities over time, or queues. Anything involving...
Napkin Problem 15: Increase Performance by Fitting In the Initial TCP Slow Start Window
July 29, 2021
Did you know that if your site’s under ~12kb the first page will load significantly faster? Servers only send a few packets (typically 10) in the initial...
Napkin Problem 14: Using checksums to verify syncing 100M database records
January 2, 2021
A common problem you’ve almost certainly faced is to sync two datastores. This problem comes up in numerous shapes and forms: Receiving webhooks and writing...
Napkin Problem 13: Filtering with Inverted Indexes
November 8, 2020
Database queries are all about filtering. Whether you’re finding rows with a particular name, within a price-range, or those created within a time-window....
Napkin Problem 12: Recommendations
September 27, 2020
Since last, I sat down with Adam and Jerod from The Changelog podcast to discuss Napkin Math! This ended up yielding quite a few new subscribers, welcome...
Napkin Problem 11: Circuit Breakers
August 22, 2020
You may have heard of a “circuit breaker” in the context of building resilient systems: the art of building reliable systems from unreliable components. But...
Napkin Problem 10: MySQL transactions per second vs fsyncs per second
July 17, 2020
Napkin friends, from near and far, it’s time for another napkin problem! Since the beginning of this newsletter I’ve posed problems for you to try to answer....
Napkin Problem 9
June 7, 2020
Napkin friends, from near and far, it’s time for another napkin problem! As always, consult sirupsen/napkin-math to solve today’s problem, which has all the...
Napkin Problem 8
May 3, 2020
Napkin friends, from near and far, it’s time for another napkin problem! As always, consult sirupsen/napkin-math to solve today’s problem, which has all the...
Napkin Problem 7
April 11, 2020
Napkin friends, from near and far, it’s time for another napkin problem! As always, consult sirupsen/napkin-math to solve today's problem, which has all the...
Napkin Problem 6
March 7, 2020
Napkin friends, from near and far, it’s time for napkin problem number 6! As always, consult sirupsen/napkin-math to solve today’s problem, which has all the...
Napkin Problem 5
February 3, 2020
Napkin friends, from near and far, it’s time for napkin problem number 5! If you are wondering why you’re receiving this email, you likely watched my talk on...
Napkin Problem 4
January 7, 2020
Napkin friends, from near and far, it’s time for napkin problem number four! If you are wondering why you’re receiving this email, you likely watched my talk...
Napkin Problem 3
December 14, 2019
Napkin friends, from near and far, it's time for napkin problem number three! If you are wondering why you're receiving this email, you likely watched my...
Napkin Problem 2
November 1, 2019
Fellow computer-napkin-mathers, it's time for napkin problem #2. The last problem's solution you'll find at the end! I've updated sirupsen/napkin-math with...
Napkin Problem 1
October 18, 2019
Napkin friends around the world: it's time for your very first system' estimation problem! Confused why you're receiving this email? Likely you attended my...