Nolan Lawson
-
Using AI to write better code more slowly
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…
Published
-
The diminished art of coding
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…
Published
-
You had a story
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 […]
Published
-
Days of miracle and wonder
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 […]
Published
-
We mourn our craft
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 […]
Published
-
15 years of blogging
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 …
Published
-
Building a browser API in one shot
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…
Published
-
AI tribalism
“Heartbreaking: The Worst Person You Know Just Made a Great Point” – ClickHole “When the facts change, I change my mind. What do you do, sir?” – John Maynard Keynes, paraphrased 2025 was a weird year for me. If you had asked me exactly a year ago, I would have said I thought LLMs were […]
Published
-
2025 book review
My reading appetite has been weak again this year, which I blame on two things: 1) Slay the Spire being way too good of a video game, and 2) starting a new job, and thus having more of my mental energy focused on that. But I did manage to read some stuff! So without further […]
Published
-
An experiment in vibe coding
For the holidays, I gave myself a little experiment: build a small web app for my wife to manage her travel itineraries. I challenged myself to avoid editing the code myself and just do it “vibe” style, to see how far I could get. In the end, the app was built with a $20 Claude […]
Published