Read the Tea Leaves
Nolan Lawson
I'm Nolan, a programmer from Seattle working at Socket.
August 2026
September 2026
October 2026
All posts (16)
For years, advocates for web standards, performance, and accessibility have implored web developers to “use the platform”. I’ve often been one of those advocates. The argument is simple: why build something yourself, in JavaScript, when the browser can do it for you? Whatever you build, it’s likely to have poorer...
This blog has moved from WordPress.com to self-hosting. If you were following it via WordPress, you should use an RSS reader pointed at nolanlawson.com/feed instead. WordPress has served me faithfully for 15 years, but I think it’s time to move on. A few things have nudged me in that direction: The recent drama...
I was a voracious reader as a kid, and I noticed a funny phenomenon: whatever writer I had most recently read, my next paper for English class would sound like them. If I read a bunch of Stephen King, I’d sound like Stephen King. If I read the Narnia series, I’d sound like C.S. Lewis (complete with British spellings...
A lot of the educators I admire in the frontend web space seem to be either bowing out or dialing back their efforts: Axel Rauschmayer, Salma Alam-Naylor, Josh W. Comeau, to name a few. Other well-known luminaries like Kent C. Dodds, Addy Osmani, Rachel Nabors, and Lydia Hallie have pivoted from talking about...
There’s a bizarre aspect of AI coding that I’ve been trying to put my finger on, and I think it’s this: you can basically just decide how many bugs you want your software to have now. We discovered this first with security, because of course security bugs are the most non-negotiable ones. But I think once the...
A lot of people seem convinced that the point of AI coding is to write low-quality code as fast as possible. Spew out barely-passable slop, open massive PRs, and merge them unvetted. Ship it! But the thing is, LLMs are very flexible. And you can use them just as effectively to write high-quality code more slowly....
Programming is an art. It’s less like fine art or music and closer to architecture or carpentry – combining form and function – but it is an art. If you don’t believe me, consider code reviews. I’ve definitely done code reviews where I admired the mastery on display, where the elegance of the solution shone out like...
You had a story you used to tell yourself about how you got here in life. You’d share the story with others. Maybe you’d be at a party, and someone would ask what you do, and you’d say, “I’m a programmer.” And their eyes would perk up and their mind would fill with images of ball pits and propeller beanies and that...
Oprah Winfrey and I have something in common, which is that our favorite album is Paul Simon’s Graceland. I’ve been thinking a lot recently about the opening track, “The Boy in the Bubble”. The song can be read a few different ways, but I read it as an aging man amazed by modernity but also kind of frightened by it,...
I didn’t ask for this and neither did you. I didn’t ask for a robot to consume every blog post and piece of code I ever wrote and parrot it back so that some hack could make money off of it. I didn’t ask for the role of a programmer to be reduced to that of a glorified TSA agent, reviewing code to make sure the AI...
My first blog post was published just under 15 years ago in March of 2011. Since then, I’ve published 151 posts, including this one. (If I was a numerologist, I’d think it had something to do with Pokémon.) This blog has covered a wide variety of topics, including Pokémon in fact (I wrote the first Pokédex app for...
TL;DR: With one prompt, I built an implementation of IndexedDB using Claude Code and a Ralph loop, passing 95% of a targeted subset of the Web Platform Tests, and 77.4% of a more rigorous subset of tests. When I learned that two simple browser engines had been vibe-coded, I was not particularly surprised. A browser...
Page 1 of 2