I'm Radim Marek. Twenty years ago I was a Hibernate trainer, helping developers keep databases at arm's length. Databases were a necessary evil, a dumb storage layer you tolerated, not something you learned on purpose.

Then I actually learned SQL. And PostgreSQL. And everything I thought I knew about where to put logic, how to model data, what "scales" really means, turned out to be wrong. Not slightly off. Fundamentally wrong.

Turns out the technology I was running away from is the one part of the stack that survived every framework migration, every rewrite, every paradigm shift. Java to Rails to Python to Go. REST to GraphQL. Monoliths to microservices and back. The database outlasted all of it.

boringSQL is the site I wish existed when I started taking databases seriously. Practical, hands-on, no fluff. The kind of content that helps you understand what actually happens when you DELETE a row, why VACUUM lies to you about your indexes, or what lives inside an 8KB page.

I also build tools: SQL Labs for hands-on practice, RegreSQL for regression testing SQL queries, and Fixturize for lightweight test database snapshots.

If any of this sounds useful, subscribe to the newsletter or drop me an email at radim@boringsql.com.