I'm @brandur, an occasional writer, and engineer on Crunchy Bridge, previously Stripe and Heroku.

I most often talk about web APIs, Postgres, Rust, software safety and resilience, efficient human interfaces, and running.


  • On Using Go's `t.Parallel()`

    How and why we started annotating all our Go tests with t.Parallel(), and why you might want to consider doing so too. August 26, 2023

  • Soft Deletion Probably Isn't Worth It

    The traditional soft deletion pattern using deleted_at columns leaks into code, curbs the usefulness of foreign keys, and makes data removal difficult. Luckily, there’s an alternative. July 19, 2022

  • Postgres: Boundless `text` and Back Again

    The text type in Postgres, why it’s awesome, and why you might want to use varchar anyway. Also, a story about trying to get string parameters bounded at Stripe. September 10, 2021

Older articles available here.


Older fragments available here.