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:
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:
A few features from Postgres 18 and a note on upcoming travel to Indonesia.
A visit to the STRAAT museum in Amsterdam Noord and thoughts on the iPhone Air.
A visit to Amsterdam for Rails World 2025, CI loops measured in days + why to make sure that CI can run locally, and a visit to the Ruby Embassy at Beurs van Berlage.