I'm @brandur, a software engineer, and dabbler in writing and photography.
This site is where I publish words and photos. The section that's most updated most often is atoms, small multimedia particles reminiscent of a Twitter feed. I update my now page monthly according to what I'm working on and thinking about. I publish a newsletter as often as I can.
Once in a while, I write longer form articles on technical subjects like APIs, Go, or Postgres:
APIs were meant to make the web programmable and interoperable. A combination of revenue chasing, security concern, and abuse reversed the trend for a decade as walls went up instead of down. Today, LLMs are changing the equation. People want agents that act on their behalf, and the services that ship APIs will have a decisive edge over those that don’t.
Using a two-phase data load and render pattern to prevent N+1 queries in a generalized way. Especially useful in Go, but applicable in any language.
Maximizing Postgres connection economy by using a single connection per program to receive and distribute all listen/notify notifications.
I put short stream of consciousness thoughts into tiny posts called fragments:
I don’t like this app.
Using a coalescable parameter to stub time as necessary in tests, but otherwise use the shared database clock across all operations.
Using built-in net/http facilities to make sure that canceled requests are abandoned immediately to save time and resources.
I write a newsletter about the philosophy of software called Nanoglyph:
One more quick thought on LLMs, the end of Heroku (?), things we should’ve done, and a glimpse of paradise in Raja Ampat.
Mixed thoughts on LLMs, including the highs and lows (will I have a job in two years?), Ambon, and psychedelic frogfish.
On joining Stainless, six months at Snowflake, and Komodo dragons.