Knowledge Town: A Math Monopoly I Made for My Daughter

On the morning of the 4th, she wanted a little town map where she could roll dice. By the afternoon, the first version was already live: a 20-tile board, math problems generated on the fly, thirty outfits, a cat, and a room. The code was written by DeepSeek, the art came from a local image-generation service, and the first version cost 12.87 yuan in total.

AI

After AI's 80 Points

AI only helps people race through the stretch from 0 to 80 points; the rest still comes down to human expertise and personalization. AI-flavored essay-writing classes, cash-burning gacha short dramas, the token capitalists' new card table, and that line from Phantom Blade Zero: "Nothing can replace flesh and blood."

Life Insights

TRAE committed code for me — why is it signed as Claude?

After I fixed a small bug, TRAE went ahead and added Co-Authored-By: Claude Sonnet 4.6 to the commit message on its own. That's ridiculous as hell — even when I commit with Claude Code, it doesn't add a Claude signature. Add the credit system, token rate limiting, and project file uploads on top of that — ever since TRAE went commercial, it's getting less and less reassuring.

Tools

PhotoCraft and REA: The software industry is starting to change

Right after National Day my feed was flooded with two open source projects: one rewrote Photoshop from scratch in pure Rust, the other lets an AI Agent read the binaries of any piece of software. Looked at calmly, neither is as all-powerful as the self-media make them out to be — but they do force you to rethink one thing: where does the software industry go next. My take: toward compliant SaaS, toward vertical niches, toward the long tail. And as for "anyone can build their own software" — I don't buy it. Every household has a kitchen, and restaurants still stay open.

AI

Laurel's Little Water Cup

Laurel's old water cup had a bit of a leak. I told her it was crying. I said we'd had this cup for a year — for you that's just one school year, but for it, that's a whole lifetime. She froze, clutching the cup, and later she actually wrote about it for an essay — the words didn't quite land, but what they landed on was real guilt. The AI voice I can't stand is the exact opposite: every word is right, and together they weigh nothing.

Life Insights

Jev isn't a new species: it's a classifier, so don't ride the self-media hype

TypeSafe's Jev has been hyped across China these past few days as a "new AGI species." But it's just a classifier: you give it 【options + a natural-language description】, it gives you 【a decision】. It doesn't generate options, and it doesn't generate explanations. Fast? Genuinely fast. And its weak spots are just as real. The tech isn't new — whether it becomes a product still comes down to the people.

AI

Feishu's official MCP causes a memory leak: tracking down orphan processes from lark-mcp

Mac memory mysteriously eaten up, and it turns out dozens of orphan node processes were left behind by Feishu's official lark-mcp. The root cause is that its stdio lifecycle only handles data inflow, not pipe closure, so the process doesn't kill itself after the host exits. Upstream issues and PRs were filed but have just sat there unmerged, and the repo hasn't been updated for over a year.

Tools

The strategic impact of large AI model capabilities on humanity

Several pretty stunning things happened in September: GPT6 Computer Use became more polished, embodied intelligence driven by fruit fly neural connections, and a math problem that had stumped humanity for 90 years was solved by a large model. They all point to the same question — do large AI models have a boundary? If they do, the optimal strategy is to shift toward cultivating the skills and competencies that lie beyond the AI boundary; if they don't, the optimal strategy is to find every possible way to get involved on the compute side.

Life Insights

It's Time to Make AI Put Files in the Trash Before Deleting Them

While working with WorkBuddy, I noticed that deleted temp files end up in the Trash, whereas my opencode reaches for rm at the drop of a hat. Digging into that detail led me to discover that macOS 15 already ships with a built-in trash command that can replace rm.

Tools

Configuring thinking-effort switching after hooking the GOAT plan up to opencode

The previous post on the goat setup missed one piece: models like deepseek-v4-flash couldn't pick a thinking depth in /models. Digging in, it turned out the GOAT plan does support it — the problem was that the hand-written models in the custom provider were missing a reasoning capability declaration, so opencode's variant generation logic stopped them at the door. In the end I added reasoning:true to every model under goat and goat-zdr, and testing showed no side effects.

Tools
123…5