Opinion
Thoughts on systems, data, and decision-making
- 2026-07-11Measuring New York: Feared, and DeadlyChapter 6 of Measuring New York. 'Safety' averages together three harms that could not be more different in permanence — a life ended, a body injured, a thing stolen — and calls the sum 'the crime rate.' Pull death out and look at it alone, and the fear map breaks: murder and the road kill comparable numbers of New Yorkers, but murder concentrates on young men in a few networks while traffic kills the old and the unlucky, everywhere — and hardest in the neighborhoods that feel safest.
- 2026-06-14Measuring New York: Pay to BelongChapter 5 of Measuring New York. The public realm splits in two: the social life you pay for — restaurants, cafés, bars, galleries — and the kind that's free — parks and plazas. Measured per resident, the two barely track each other: a neighborhood thick with places to spend money tells you almost nothing about whether it has room to simply be. And the free kind is the one that's hedged — libraries close at six, parks curfew at one, 'public' plazas are built to move you along. The question under it all: where can you be in the city without buying your way in?
- 2026-06-06Measuring New York: Close Enough?Chapter 4 of Measuring New York. The geography of getting groceries, medicine, a doctor, a school, a childcare seat — without a car. Proximity turns out to be the easy part: in most of New York you can walk to almost everything in ten minutes, and the three access dimensions correlate so tightly they're really one signal — built density. The hard question is whether what's nearby is enough. On childcare it isn't: New York has licensed slots for about half its under-5 children, and being close to a day care barely predicts having a seat in one. The chapter is about the gap between within reach and enough.
- 2026-05-30Measuring New York: Breathing RoomChapter 3 of Measuring New York. PM 2.5, green-space access, and the volume of environmental 311 complaints split into three semi-independent dimensions — no pair of them co-ranks tightly enough to collapse into a single 'environmental quality' score. The chapter is about what that independence means, and about a metric trap on the third dimension: one zip code in the Bronx accounts for 11% of NYC's noise complaints, almost all of it from a small number of addresses. Counting blocks instead of calls makes the burden ranking change.
- 2026-05-24Measuring New York: The price of standing stillChapter 2 of Measuring New York. Median rent points away from housing stress, not toward it. The community districts with the highest rents are the ones with the lowest rent burdens; the CDs with the highest burdens are also where eviction filings and housing-code violations stack up — three signals that point the same way, and a fourth (the headline-rent number) that points the opposite way.
- 2026-05-23Measuring New York: Methodology & LimitsA living reference companion to the Measuring New York series. Per-chapter algorithms, scoring frameworks, and the caveats that don't fit inline. Updated whenever a new chapter ships.
- 2026-05-23Measuring New York: The size of your worldChapter 1 of Measuring New York. The 45-minute AM-peak transit isochrone, computed for all 2,303 NYC census tracts. From Midtown East the median resident reaches 3.06 million jobs — 68% of all jobs in the city. From Tottenville, 13 thousand. The variance between CDs is 229×; the variance inside some CDs is 5×. A neighborhood's true size is measured in minutes, not blocks.
- 2026-05-23Measuring New York: What does "livable" even mean?Opening the Measuring New York series. Why 'livability' is a slippery word, why NYC is one of the most measurable cities anywhere, and a first look at where the daily friction concentrates — across 296,426 311 calls in a single month.
- 2026-04-13What Building a Baby Monitor Taught Me About ML and Coding AgentsPart 2 of a series on BILBO, a home-built baby monitor. Six opinions about privacy architecture and shipping ML under real constraints, the bugs that cost me a morning each, and the new failure modes coding agents introduce that nobody is talking about yet.
- 2025-11-30Failure Probability Modeling: A Practical Framework for Distributed ReliabilityA practical guide (with examples) to using statistical modeling to understand, predict, and prevent mysterious failures in modern distributed systems.
- 2025-11-23Eight Short Stories About Engineers Who Quietly Save the Day With StatisticsMost software engineers spend years sharpening their coding skills but go surprisingly far without understanding the statistical forces shaping their systems. Here are eight stories of engineers solving real problems with stats.