RSSAmplifier

Blog

random::qmx

thoughts by Doug Campos

random.qmx.meRSS feed ↗10 posts

Latest posts

Radix Trees Are Everywhere

I had no clue what a radix tree was until I started digging into SGLang, an inference server everyone claimed was “memory-efficient.” I ran it, read the docs, saw them throwing around “chunks” and “cache chunks” — nothing clicked. Then I found mini-SGLang, the stripped-down version. And there, right in the code, was radix trees. You know that moment when you learn something new and suddenly spot…

The Second Opinion

BM25 matches keywords. Vector search matches meaning. Reciprocal Rank Fusion combines them. But all three share a limitation: they work from preprocessed representations, not the actual content. Re-ranking is different. It’s where a language model actually reads the results and judges whether they’re relevant. This is the piece that makes modern search feel almost magical. Retrieval finds…

One Brain, Multiple Eyes

Pi is a single-session agent. It doesn’t care where the conversation comes from — terminal, Slack, wherever. One session, one context. That’s the whole point of keeping it minimal. But what if you want the same brain answering you on Telegram while you’re commuting, on Slack while you’re working, and on iMessage when your laptop is closed? That’s the problem OpenClaw solves. One agent, multiplexed…

The Art of Combining Opinions

BM25 finds exact word matches. Vector search finds semantic similarity. Each has blind spots the other covers. The obvious next question: why not use both? Modern search systems do. They run BM25 and vector search in parallel, then combine the results. But combining ranked lists is harder than it sounds. The technique that makes it work - Reciprocal Rank Fusion - is elegant enough to be worth…

Sessions as Trees, Code as Clay

In my last post, I described mom — Mario’s self-managing Slack bot that installs its own tools and writes its own skills. But there’s a question I glossed over: what happens when a self-written skill breaks? If you’re extending an agent at runtime, mistakes are inevitable. A skill with a bug. A command that hangs. A change that corrupts state. Traditional agents either crash or carry corrupted…

How Computers Understand Meaning

BM25 is fast, reliable, and completely fails when you can’t remember the exact words you’re looking for. Search for “authentication” and BM25 won’t find documents that say “login.” To BM25, those are different strings. It has no concept that they mean related things. Vector search fixes this. It finds documents by meaning, not just by words.

Skills That Write Themselves

Last week I wrote about Pi’s four-tool constraint and Mario Zechner’s philosophy of radical minimalism. But here’s the obvious question: how do you do anything useful with just read, write, edit, and bash? The answer is mom — short for “Master Of Mischief.” It’s a Slack bot Mario built on Pi that does something I haven’t seen elsewhere: it manages itself.

How Computers Find Words

Every search engine you’ve ever used runs on an algorithm from 1994. Google, DuckDuckGo, the search bar in your email client - underneath all the machine learning, there’s a formula called BM25 doing the heavy lifting. BM25 is where search starts. Understanding it explains why some queries work beautifully and others return garbage.

Four Tools and a Lobster

You might have heard of OpenClaw — the open-source AI assistant running on everything from WhatsApp to a Raspberry Pi, mass adoption, mass controversy. What powers it is a tiny agent called Pi, built by Mario Zechner with a philosophy I haven’t seen elsewhere: “if I don’t need it, it won’t be built.” The result? Four tools. A system prompt under 1,000 tokens. No MCP. No plugin ecosystem. It’s…

The Closing Gates of Open Source

I tried to contribute a fix to beads_viewer recently. Found a real bug where a hardcoded path should have used a stored variable, wrote up a clean fix, and submitted the PR. The maintainer acknowledged the bug was legitimate, thanked me for finding it, and then hit me with something I’d never heard before: “we don’t accept outside code contributions for this project.” I was shocked. This wasn’t a…