-
A tradeoff in defining database schemas
-
Reading notes: 'The Poisoned King'
-
Some data on the shape of the forgetting curve
-
Why is there so much bad code at big companies?
-
The case against LLM prose
-
Kirkby and Matuschak on making flashcards with LLMs
-
The case against worrying about your posts' analytics
-
Spaced repetition scheduling and categorization
-
Spaced repetition performance after long intervals
-
Some empirical spaced-repetition results
-
Consuming nonfiction audio
-
First impressions of Opus 4.7
-
Tacit knowledge follow-up
-
"Harness engineering" is not new
-
Are major AI tools diverging?
-
We're using more tacit knowledge than we think we are
-
Prompt maximalism
-
The Norton anthology lifestyle
-
Utilities I use
-
Catch-all post: April 8, 2026
-
Cognitive debt and optimism
-
Agentic coding and microservices
-
Notes on making small apps with AI
-
Not all of this is new
-
Justin Duke on film, writing, and consumption
-
My new basic stance
-
Another reason we can't measure our productivity with AI
-
(Why) do big-company engineers like AI less?
-
The Marco saga as a case for 10x engineering
-
Do managers really like generative AI more?
-
Notes on making 2,500 pancakes
-
The end of the beginning
-
Time estimates in software
-
Marco Arment did something awesome
-
The case for worrying about AI-specific cognitive debt
-
Why aren't we fine-tuning more?
-
A theory of LLM output and negativity
-
A catch-all post (and: why have catch-all posts?)
-
A straightforward AI optimization
-
On finding pure wins
-
Fix it how many times?
-
More on cognitive debt and AI
-
Reading notes: 'The Unexpected Professor'
-
Observability first
-
YAGNI in 2026
-
When the AI is usually good enough
-
Data modeling and organizational dynamics
-
Notes on blogging 100 days in a row
-
Get the data model right
-
What software knowledge will stay relevant?
-
Catch-all post
-
False alternatives and the economics of AI
-
A model of how simplicity gets rewarded
-
On rewarding simplicity
-
Codex, Poincare, and living through the early days
-
Terence Tao on doing math with AI
-
Amusing mistakes and what they teach us
-
A correction about bloated context
-
Generative AI tools really love fallbacks
-
A first guide to building APIs with AI
-
Reading notes: 'Open Socrates'
-
How many windows will we have open?
-
Migrations with AI, again
-
The delegation problem
-
The future of migrations
-
Reading notes: 'On the Calculation of Volume,' vol. 1
-
Accountability and AI
-
Catch-all post
-
Notes about this blog
-
On using Jules and making my own interface to it
-
How should less-technical people get started with agentic AI tools?
-
More experiments in monitoring Claude
-
On cognitive debt
-
On watching code fly by
-
What might an AI-first recipe site look like?
-
New technology in programming and poker
-
Link-checking with generative AI
-
Thinking about context
-
On making one's own environment
-
Coverage tooling for AI
-
Reflections on keeping a top-books list
-
Humane, adaptive AI bootstrapping
-
Beware fake code
-
Claude Code's /insights
-
Scripting, testing, and dry runs
-
Is coding getting much more empirical?
-
Initial reading notes: 'Agentic Design Patterns'
-
Human personality and generative AI
-
Glassman on hockey and process
-
The future of 10x engineering
-
Setting up a Claude-specific AWS profile
-
Notes on using generative AI securely
-
Learning math with generative AI
-
Generative AI and the texture of life
-
Don't sleep on Codex
-
The dissertation benchmark
-
Hofstadter's Law, but for generative AI
-
Notes on measuring child care time
-
Notes on burnout
-
More on MCP in 2026
-
Reading notes: 'Impossible Creatures'
-
The 'hey, this seems right' post
-
MCP? In 2026?
-
On vibecoding a reading-management webapp
-
On getting better every day
-
Reading notes: 'The Loneliness of Sonia and Sunny'
-
The new cost of coffee
-
The new intellectual athletes
-
Notes on integration testing
-
On the environmental costs of generative AI
-
You can just try harder
-
Making the Cate Hall Machine
-
On (not) using Django in 2026
-
Don't confuse total and marginal correctness rates
-
22 reasons I did 301,432 flashcard reviews in 2025
-
Matt Glassman is Bear-blogging
-
On messy jobs
-
Getting metrics by logging
-
Software I'm using and how I'm using it
-
I did 301,432 flashcard reviews in 2025
-
Jonathan Franzen on writing sequentially
-
On boiling water
-
Productivity systems and perverse incentives
-
On designing software you aren't working on
-
My favorite TV of 2025
-
Databases make good databases, again
-
Making a book queue
-
Helix, two months later
-
My Advent of blogging
-
On zero outputs
-
Against SemVer
-
Kitchen optimizations
-
Frequent corrections I make to LLM code
-
Why use a generative AI browser?
-
On improving at LearnedLeague
-
How much data do you really have?
-
Matthew Hawthorne on tradeoffs
-
Databases make good databases
-
What follows from Gall's Law?
-
What happened to Quantified Self?
-
Dutch fiction
-
Front-end maximalism: objections and replies
-
Scaling down
-
Software, philosophy, and skepticism
-
Error-handling and locality
-
Common errors in flashcard set composition
-
A conjecture about communication in software systems
-
Ingestion
-
Reading notes: 'Cruciverbalism'
-
Common errors in flashcard composition
-
The long run comes quickly
-
Reading notes: 'Making a Point'
-
Notes on optional booleans
-
On responding to email quickly
-
Beard's Law
-
On having a data object
-
Notes on buying a basic laptop
-
Front-end maximalism
-
The Helix text editor
-
TJ Fisher: good on the buzzer
-
Game theory and the willingness to look bad
-
Hello!
-
On naming variables
-
Notes on spaced repetition scheduling
-
Ancient philosophy and software
-
How to ramp up
-
Why use spaced repetition?
-
Reading notes: There's No Such Thing as Bad Weather
-
Andrew Brokos on a poker hypothetical
-
Bill Deresiewicz on art
-
Notes on Cole South's notes about software
-
Paul Graham, ambition, and creativity
-
Movie notes: 'The Help'
-
A note on 10x engineering
-
Testing decorated functions in Python web frameworks
-
A quick argument for naming all software prototypes after birds
-
Reading notes: Get Ready
-
Reading notes: My Losing Season
-
On middlebrow books
-
On improving data-adjacent code
-
On Anki's database
-
Reading notes: The Last Days of Roger Federer
-
On ranking things
-
Viewquake: making meaning after the fact
-
Reading notes: Crossroads
-
Notes on Tyler Cowen on relearning the Internet
-
Notes on being the Day One chipleader
-
Code correctly by conforming to the real world
-
An argument from Jimmy Koppel
-
What is America's epic?
-
Why events?
-
Reading notes: Of Boys and Men
-
On the scarcity of context
-
Code review reference
-
Why my priors about cheating at poker are so high
-
Reading notes: The Baseball 100
-
On stop-losses
-
Reading notes: The End of Solitude
-
A Shapley example
-
15 claims about software testing
-
Why don't people talk about the Shapley value more?
-
On poker's comparative advantage
-
On studying for your upcoming job: objections and replies
-
A common trap for people entering programming jobs
-
Reading notes: A Widow for One Year
-
On having philosophy in your life
-
Viewquake: interpreting obvious mistakes
-
On poker's comparative disadvantage
-
Listening notes: 'The Pragmatic Programmer'
-
Reading notes: Talent
-
Viewquake: Decisionmaking is overrated
-
On viewquakes
-
On winning auctions
-
On actually reading the book
-
The 100 books nearest to my heart
-
On preparing for coding interviews
-
Reading notes: 'The Manager's Path'
-
Books I like more than other people do
-
On quadratic complexity
-
Reading notes: The Score Takes Care of Itself
-
On scarcity and regionality
-
On distributing reading time
-
On parenting
-
On productivity
-
Reading notes: How to Fail at Almost Everything and Still Win Big
-
On talking to think better
-
12 rules for living
-
Reading notes: The Tim Tebow CFL Chronicles
-
On recovering
-
On Conversations with Tyler
-
Reading notes: A Philosophy of Software Design
-
Reading notes: How to Change
-
The ideal of the open mind
-
On reading The Diff
-
On dependencies
-
Reading notes: 'What You Do Is Who You Are'
-
In memoriam: Frances Alvin
-
On long books
-
Podcasting FAQ
-
How academics can find non-academic work
-
On solving the wrong problem
-
The lawnmower essay and the problems of philosophy