I write for developers who know one thing well and are learning the next one. SQL to Python. Python to AI. Local tools to production systems.
New here? Start here, or jump into:

I write for developers who know one thing well and are learning the next one. SQL to Python. Python to AI. Local tools to production systems.
New here? Start here, or jump into:

Companion page for my PyOhio 2026 talk. Slides, code, and the dog-spa dataset for searching free text beyond LIKE with BM25, vectors, and hybrid.

Celebrate your new skills with take-home challenges and resources for continued learning. You think in sets now.

Quick tastes of CASE statements, JSON functions, date manipulation, set operations, and recursive CTEs. Enough to know what to learn next.

Gemini saw a wall of green checkmarks and declared 27 tools verified. The Makefile printed FAIL and exited 0. How we made it loud, annoying and honest.

Test queries like Python code using in-memory databases, fixtures, and pytest. Fresh data per test, no state leakage.

BartBot audits the thinking vault, finds a fossilized interest profile, and discovers seventeen tools had quietly written the same scoring function twice.

It's not either/or. Use ORMs for CRUD and migrations; use raw SQL for analytics and complex queries. A practical decision guide.