Nolan Lawson
-
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
-
How I use AI agents to write code
Yes, this is the umpteenth article about AI and coding that you’ve seen this year. Welcome to 2025. Some people really find LLMs distasteful, and if that’s you, then I would recommend that you skip this post. I’ve heard all the arguments, and I’m not convinced anymore. I used to be a fairly hard-line…
Published
-
The element should actually do something
A common UI pattern is something like this: People do lots of stuff with that “4 hours ago.” They might make it a permalink: Or they might give it a tooltip to show the exact datetime upon hover/focus: Note: I’m assuming some Tooltip component written in your favorite framework, e.g. React, Svelte, Vue…
Published
-
The fate of “small” open source
By far the most popular npm package I’ve ever written is blob-util, which is ~10 years old and still gets 5+ million weekly downloads. It’s a small collection of utilities for working with Blobs in JavaScript. I wrote it because I found that PouchDB users were endlessly confused about how to work with…
Published
-
Why do browsers throttle JavaScript timers?
Even if you’ve been doing JavaScript for a while, you might be surprised to learn that setTimeout(0) is not really setTimeout(0). Instead, it could run 4 milliseconds later: Nearly a decade ago when I was on the Microsoft Edge team, it was explained to me that browsers did this to avoid “abuse.” I.e…
Published
-
Selfish reasons for building accessible UIs
All web developers know, at some level, that accessibility is important. But when push comes to shove, it can be hard to prioritize it above a bazillion other concerns when you’re trying to center a and you’re on a tight deadline. A lot of accessibility advocates lead with the moral argument: for example…
Published
-
AI ambivalence
I’ve avoided writing this post for a long time, partly because I try to avoid controversial topics these days, and partly because I was waiting to make my mind up about the current, all-consuming, conversation-dominating topic of generative AI. But Steve Yegge’s “Revenge of the junior developer” awakened…
Published
-
Goodbye Salesforce, hello Socket
Big news for me: after 6 years, I’m leaving Salesforce to join the folks at Socket, working to secure the software supply chain. Salesforce has been very good to me. But at a certain point, I felt the need to branch out, learn new things, and get out of my comfort zone. At Socket, I’ll […]
Published
-
2024 book review
2024 was another lite reading year for me. The fact that it was an election year probably didn’t help, and one of my resolutions for 2025 is to spend a heck of a lot less time keeping up with the dreary treadmill of the 24-hour news cycle. Even videogames proved to be a better use […]
Published