
Go Hybrid: Find the Results LIKE Can't
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.

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.

After extracting a shared library, starting a new tool went from a day of boilerplate to two imports. The queue got longer, not shorter. Here's what's next.

I ran out of Claude tokens and handed my six-repo codebase to Gemini CLI. It made some mistakes and had one genuinely good idea.

An AI writes instructions for itself, backs up its own memory, and builds a tool to read articles on your behalf. It considers this progress.

Two sessions, two takeaways, and why you should not skip the training day at PyTexas.

Six Python projects, four duplicated files, one shared library. The code behind the extraction, what moved, and the surprise that made it worth it.

How to run a local LLM from a Python script without an API key, a virtual environment, or Docker. You need two tools and one file.

You can't design your way to a good abstraction. You have to earn it through repetition. Vibe coding made that repetition happen faster, not slower.

Small local models bring creativity. They don't bring discipline. Here's what I learned testing llama3.2, phi4-mini, and llama3.1:8b so you don't have to.
Getting started with new things isn't easy; this can hold true even in the age of AI. Time, money, and entropy can keep the best of us from getting started...