Saving Wisdom
There’s a kind of shift occurring beneath software development right now. It has now become almost trivial to spin up a project that I wouldn’t have had time for not so long ago. I wrote about the benefits of AI slop a couple weeks ago, and it turns out that I only really scratched the surface.
One of these is in support of the Save Wisdom Project championed by Brian Roemmele. Now, he misinterpreted a reply I made on X and blocked me a while ago, perhaps because he was having a bad day, but that doesn’t mean I don’t believe in work like this. We all have someone we love, and it would be a shame if their wisdom was lost to time with their passing. Why not save their voices, their words, and their wisdom for future generations? Not all things worth preserving are written.
To that end, I built another codebase with the assistance of a recently released LLM. This time it was to make the process of saving wisdom more accessible. Head on over to my save-wisdom tracker on GitHub if you’re interested in joining this noble cause. The project page has a full feature list, usage notes, and source.
A Seismic Shift
Alibaba recently published Qwen3.8-27B, the dense 27B variant of their Qwen model. Qwen 3.6 was already well established as the leader in all local model benchmarks. I’ve been using some Qwen 3.6 variant for everything since the release about four months ago, and so far, nothing else comes close.
Not Google’s Gemma 4, or the recent Muse Glimmer from Meta, or anything else. Nothing. Take that with as many caveats as you like, but my testing shows a consistent thread: Qwen is practically always better. Whatever Alibaba is doing, none of the big US tech giants can address its utter dominance for such low parameter counts.
So of course I had to download version 3.8 and compare for myself. What I found wasn’t just an incremental improvement, but a veritable obliteration of past iterations. The capabilities of this model are nothing less than astonishing. And I don’t just mean “especially for a mere 27-billion parameter model,” I mean in general.
One of the tests I usually run is to ask the model to build an in-browser Tetris clone. Qwen 3.8 nailed it on the first attempt, and you can play it here. It produced a single HTML file with the game logic, CSS styling, basic scoring, and keyboard controls. I played through a few rounds and only noticed minor layout issues. It did this without an agent harness, so there was no iterative write-run-debug loop.
Just one prompt:
Please write a fully functional HTML + JS Tetris clone playable in a browser.
Normally I’d explain game mechanics, expected graphics, sound effects, scoring, and minimal features I’d expect as part of the prompt. I’d spend a couple paragraphs going over the details until I was satisfied there was no remaining ambiguity for the model to screw things up. Not only was none of that necessary this time, but it added a bunch of stuff I never would have thought to ask for, like a 4-piece preview window and a 1-piece save slot. I noticed a couple visual bugs in the “Game Over” screen afterwards, but those would be easy to address later. The point is that it crushed the task into a fine powder in one attempt with a fairly meager prompt.
A model running on my local PC. Not the cloud. Not a frontier model from one of the big AI firms like Anthropic or OpenAI. Some have been making favorable comparisons to Opus 4.6, and while that may be an exaggeration, it’s not as wildly inaccurate as you’d expect. This thing is a beast.
So I figured I’d use it to build something useful.
A Monumental Task
I’ve known about the Save Wisdom project for a while. I even purchased a digital voice recorder specifically so Jen and I could participate. But you know how things go: life gets in the way, distractions pile up, and things just get put off.
I’m not even sure what reminded me that I still wanted to start answering that ponderously large series of 1000 questions. None of that really matters. Jen mentioned, almost offhand, that it would be nice to track which questions we’d answered and pick them at random, and I agreed. It was a perfect project for my new Qwen3.8 friend.
So I slapped Qwen 3.8 into llama.cpp, fired up my Pi agent to manage the project, and got to work. About an hour later, I had something that was perfectly functional, if not a little rough around the edges. It fetches the full 1000 question list from the Save Wisdom site and creates a JSON file for the questions and categories, which gets compiled into the binary for fully offline usage. It presents all 1000 questions with sorting by number or completion date. It filters by category or whether the question has been completed. It presents a random question from the list of pending questions. Status gets saved locally, not in the browser, so it persists no matter how you access it.
It wasn’t much, but it did exactly what we needed. Then I spent another hour or so polishing the look and feel so it was something that would be easy to use. It even has a progress bar. I went a bit further and created a Dockerfile to trivialize the build and execution process, and a docker-compose.yml so it’s easy to run as a service with a persistent volume for the memory. This wasn’t merely AI slop, but refined AI slop.
The end result is not a phone app, just a handy little browser utility for toggling question completion status. It exists purely to simplify the process of answering 1000 questions, which is actually kind of ridiculous if you really think about it. Answering one per day could take the better part of three years. A spreadsheet would be the next best option, but that’s still a daunting process. I like my method better.
Docker runs everywhere. You can run join us.
Of the Ages
I need to remind anyone reading this that Large Language Models are currently as bad as they’re ever going to be. I know how to write in Go, HTML, CSS, and JS—all of the languages used for this project. But I’m not fluent enough in all of them to produce a completed product like this in a couple of hours. Not one that looks this good. Not one with all of these features, including a REST interface in case you want to use Node or some other framework to provide a different front-end.
Is Qwen 3.8 as good as Opus 4.6 was when it was state of the art? No, but nobody really expected it to be. But it’s uncomfortably close. Thousands of companies paid handsomely for subscription and API access to Opus 4.6, and now something tantalizingly close runs on a single RTX 3090 GPU (with a Q4 quantization). It’s preposterous. It’s outlandish. It’s inevitable.
Thousands of the best minds in the world are working tirelessly to optimize how models store and retrieve vectors, the accuracy and reliability of the prediction mechanisms, memory and context size, and anything else they can. Models will continue to improve, sometimes in tiny increments, other times in shocking breakthroughs. Agentic harnesses that drive them will evolve in tandem. Soon enough, a model better than Qwen 3.8 will run on your phone. It will practically be the assistant from the movie Her.
I can’t even begin to speculate when that will happen. The interval between Qwen 3.6 and 3.8 was a mere four months. Four. Months. Models from last year, which we thought were amazing at the time, are now beneath consideration. Worthless garbage by comparison. How soon we forget. Four months… holy shit. How do you even respond to that? It’s no wonder every AI-focused firm is scrambling to produce the best model; the best you have is one innovation from irrelevance.
That’s the world we live in now. My endeavor to assist in the effort to save human wisdom for posterity may be like spitting into the ocean, but it’s something.
Until Tomorrow