Honestly, I can’t keep up with how fast AI models are turning over lately. A new one shows up every few days, and whatever was “the best” a moment ago is already last-gen. The incident I mentioned in an earlier post — a model that got cut off just three days after launch — is part of the same story.
In the middle of all that, I noticed something about my own plan: Claude Fable 5 only counts toward my free weekly usage cap until July 7, 2026. After that date it doesn’t stop working — it just switches to pay-per-use. So the question became: what do I spend the free allowance on while it lasts?
I searched “best language for AI.” What came up was Python, R, Julia — one of the rewritten articles even still had a leftover “as of May 2019” buried in the text that nobody bothered to delete.
I read through it and thought: wait, this isn’t the answer I was looking for.
What articles like this actually answer is “if you’re building AI, which language should you use?” Python with its deep ML library ecosystem, R for statistics. The arrow points from language to AI. Call this axis 1.
For a while now, I’ve been syncing my Obsidian vault between my Mac and Android phone with Syncthing. It’s an OSS tool that copies files directly between devices on the same Wi-Fi network, no cloud in between. Thanks to that, the external brain’s vault has already been sitting on my phone for a while.
Right after publishing my previous post, a question popped into my head. If everything’s synced that thoroughly, couldn’t I use the external brain from the Claude app on my phone too?
Last week, a new model got cut off just three days after its public release, and the news framed it as “the blind spot of depending on foreign AI.” I won’t get into the details here, but the headline alone stopped me in my tracks. Right now, I’ve put my entire second brain and workflow on Claude Code. If Claude became unusable tomorrow, would my “brain” go down with it?
We’re already halfway through 2026, so I went back through everything I bought on Amazon this year. 75 orders total. Lined up like that, most of it turned out to be recurring supplement subscriptions, cat food, and ingredients for cooking at home — 10kg of soybeans, koji, kombu, dried shiitake, natto spores. Even I have to admit it’s a pretty plain lineup.
Once I set aside all the consumables and kept only the things I can genuinely say I’m glad I bought, it came down to four. The prices and categories are all over the place, but each one actually changed something about how I live. Here they are, in order.
This continues the story of switching my external brain’s search to semantic search. Last time, I noticed that keyword search on my vault was missing things, so I added local embeddings via Ollama for semantic search. Now even a vague query like “how did I set up gitleaks again” pulls up the right daily log.
That made pulling specifics much better. But as I kept using it, I noticed a different gap. There was no entry point for grasping the whole picture broadly.
I’d known for a long time that I needed to deal with duplicate and leaked passwords. It was just too tedious, so I kept looking away. When I finally braced myself and opened Chrome’s password checkup, this is what came back:
Compromised passwords: 40
Reused passwords: 132
Weak passwords: 109
329 in total. A number that makes you dizzy just looking at it. For a second I thought, I should’ve just left it alone. And going through the list, some of these were for services I’d already stopped using, or accounts I’d closed ages ago. So what’s the efficient, safe way to handle this? Here’s a record of the day I spent cleaning this up, and what I thought about along the way.
A while back I wrote about turning Obsidian into an external brain for Claude Code. The idea: Claude Code loses its memory across sessions, so I have it read and write a Markdown vault to carry knowledge forward. It’s still running fine.
But the more I used it, the more one weak spot stood out: recall was keyword search, full stop.
Step two of the read procedure I described in that post was “search the vault for keywords related to the question.” That step misses more than I expected. Daily logs, for instance, are named like メモ/2026-06-23.md — the date is the filename — so if I don’t remember when something happened, I can’t find it. “What did I do that one time” is exactly the query I most want to work, and it doesn’t, unless I remember the date. It’s also fragile to word choice. Search for “don’t grant too much permission” and it won’t match a note that says “許可” (permission) and “射程” (scope) instead — even though they’re saying the same thing.
Last time, I wrote about how I let Claude Code back up my dotfiles and it leaked a GCP key to GitHub. I closed that post by saying: assume mistakes will happen, put the safety net at the git layer, and carve the lesson into an external memory called mistakes.md so it gets ahead of the next one. Cheap tuition, I said.
The very next day, it pulled the same stunt again. Not the key leak this time — the unconfirmed push.
I built and use a tool that automatically turns YouTube videos, web articles, and local voice memos into Obsidian notes. It’s called obsidian-import, and what it does is simple: you hand it a URL or an audio file, it transcribes or extracts the body text, has claude -p (Claude Code’s one-shot execution mode) summarize and tag it, and writes the result out as a Markdown note.
I’d been using it happily, until one day it hit me: this tool ingests external content, feeds it to an AI, and writes files to disk. From entry to exit, untrusted input runs straight through the whole pipeline. As an attack surface, that’s about as exposed as it gets — not a great design. I decided to sit down and put it through a proper security review.