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:
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.
Using Go’s DisallowUnknownFields
option to improve an API’s integration experience by making paramter naming mistakes faster to resolve.
I put short stream of consciousness thoughts into tiny posts called fragments:
Taking five minutes to write a benchmark so I know which of these I should be reaching for first.
How Postgres’ v7 UUIDs are made monotonic, and why that’s a great feature.
Stripe’s API got a new major version, and no one noticed.
I write a newsletter about the philosophy of software called Nanoglyph:
Upgrading to Postgres 16, NULLS NOT DISTINCT
, the iPhone 15 + its new battery option, and San Francisco under the shadow of APEC.
Attending Rails World in Amsterdam (finally a conference to get excited about). Solid Cache and Solid Queue. CTEs in Rails 7.1.