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:

I built a tool to generate writing prompts from my vault, and none of them got me writing. What worked was a prompt built from my own morning pages.

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.