Writing - Josh Brody Writing | Josh Brody
2026 8
No more asking ‘who are you’; we have all been reduced to a passphrase.
The moat was never the code
statement_timeout 0: Dirty plates, dead cooks, and kitchen fires
We made this hard: over-engineering the web
How Postgres works at scale
Your README is a landing page, you just don’t know it yet
Every company has two org charts. One of them is bullshit
Wide tables and query validation
2025 6
I got out of federal prison and couldn’t log into my GitHub
Interactive Rails playgrounds
How to get a job as a felon
When you don’t look autistic
Going to federal prison for piracy
Loud for selfish reasons
2024 1
HTTP 451
2023 2
Gem configuration patterns
Creating a conventional, Stripe-like API with Grape and Ruby on Rails
2022 3
A plea for administration
Database constraints first, validations second
REST-only controllers
2021 3
No service, still broken
How to create a Ruby HTTP API client gem
Invest in your seeds file
2020 3
Writing as conversation
Ruby blocks in a few minutes
I learned HTML from chickens
2019 2
Prefer size over count
How Ruby on Rails ActiveRecord chaining works

Stay in the loop

Occasional essays on design, tools, and the craft of building things. No spam, unsubscribe anytime.

Ambient weather

The background of this site reflects the current weather and time of day in Saint Paul. The orbs shift in color and behavior based on what's happening outside my window.

Learn more about how this works