MoreRSS

site iconBrandon SkerrittModify

A tech expert who invents open source projects, writes, makes videos, and worked as a Monzo security engineer.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of Brandon Skerritt

What My AI Agent Did for Me This Week (That Wasn’t Coding)

2026-08-31 17:40:26

What My AI Agent Did for Me This Week (That Wasn’t Coding)

From checking me in for a flight while I was drunk to chasing government refunds, planning cycle routes, and registering me for Council Tax. Here’s what I actually use an AI agent for outside of coding.


Saturday I'm in an Izakaya in Tokyo. I brought 1 Suntory Highball and magically within 10 seconds it is gone. The next day, I'm meant to be flying back to the UK. I remember:

I still need to check in... fuuu....
What My AI Agent Did for Me This Week (That Wasn’t Coding)
Image of a Japanese izakaya. Chef is cooking while people eat from the bar. There is a cute kangaroo pluishie hanging from the top of the ceiling.

So I do what any normal person does, I pull out my phone and I slur into Wispr Flow something like this:

Check in to the flight for me and send me a map with a route on how I'm going to get there

2 hours later, the AI comes back to me.

It has checked into my flight, creating a GitHub repo to make it easier to check in again in the future (and the README was written exactly how I like my READMEs to be written)

GitHub - bee-san/airplane-checkin-skill: Privacy-conscious Hermes skill for scheduled, verified multi-airline check-in with a guarded ANA adapter
Privacy-conscious Hermes skill for scheduled, verified multi-airline check-in with a guarded ANA adapter - bee-san/airplane-checkin-skill
What My AI Agent Did for Me This Week (That Wasn’t Coding)
AI made a cute NPM tool for checkins
👽
btw my airline was ANA who have an absolutely horrible web inteface. Only works in some browsers, regular 30+ second loading times. Sometimes it will inexplicably break and not give you an error. Very Japanese.

I am so thankful that my AI learnt how to do this, for my inbound flight it genuinely took me 4 hours and multiple browsers just to checkin. I'm glad I didn't have to attempt this while drunk 😂

It read my emails and realised I came to Japan with 2 suitcases, so she booked my second suitcase.

She recalls where I am staying and creates 3 routes for me:

  1. The "Early bird" route that gets me there with enough time
  2. The "Hung over" route that has very minimal changes but is still quite early
  3. The cutting it close route that combines (2) but allows me to sleep in for a bit longer
What My AI Agent Did for Me This Week (That Wasn’t Coding)
AI generated. You can tell I asked it to remove private info, AI tends to do this a lot...

She then created a clean, high quality boarding pass image with my QR code and all relevant data, recreating the QR code to be higher quality since the one in the email was low quality.

What My AI Agent Did for Me This Week (That Wasn’t Coding)
AI generated boarding pass

She knows I like to keep people informed of my flights, so she activates an hourly cron that messages my friends information about my flight too.

What My AI Agent Did for Me This Week (That Wasn’t Coding)
AI generated

So within 2 hours she had:

  • Checked into my flight
  • Created tooling to make this easier in the future
  • Booked another suitcase
  • Came up with a route for me to follow
  • Let my friends know about my flight regularly
  • Created a boarding pass for me to use

You would think my agent is perfect and that this is too good to be true, well reader it is too good to be true. My agent forgot that I am vegan and I was forced to eat bread for my entire 13 hour flight 😂


From 17 to 31 August 2026, my AI agent recorded everything I asked her to do. I intended to stop at two weeks. Then Lime emailed me a parking warning before I finished editing.

This post was inspired by my former colleague Sophie Koonin's Everything I googled in a week as a professional software engineer and her senior engineer follow-up.

This post is not written with AI, any AI parts will be pointed out. It is just images / images of AI generated frontends.


Things I asked my AI agent to do

Please do my admin 🥺

Probably the number 1 use of my agent is all my admin related questions.

  • "Why don't I have my student finance refund yet?"

They sent me a letter saying they owe me a refund.

I login to the website after 2 hours of trying and it says no refund.

🤷

I'm too lazy to deal with this, so I ask my AI agent to handle it.

  1. Calculate how much I am owed (£2000 roughly. Weird Student Finance England [SFE] doesn't tell you, but if you get a letter from them it is worth chasing).
  2. Found the SFE complaint email address
  3. Sent a formal complaint about this discrepancy, and monitors for replies everyday.

I told her to just handle it for me until they pay me back.

What My AI Agent Did for Me This Week (That Wasn’t Coding)
AI generated

Like typical SFE fashion, I expect them to reply within the next 365 days 🫠

Lime Bike Warnings

In Tokyo I parked a lime bike like this:

What My AI Agent Did for Me This Week (That Wasn’t Coding)

The app told me it was in a parking spot and to me it looks like it's parked and not at all "blocking the sidewalk or right of way"

I told my AI agent to handle this for me. Complain, and then monitor the complaint.

Normally I'd be too lazy to do that, thankfully my agent does not experience laziness.

Eye Tests

What My AI Agent Did for Me This Week (That Wasn’t Coding)

Jins in Tokyo is known for having great eyewear, great service at low costs.

You can get a free eye test, buy glasses, and pick up prescription glasses within 2 hours. Maybe you shouldn't have gone to Specsavers and instead gone to Tokyo.

They gave me my prescription but I didn't fancy buying any glasses.

I asked AI to just save it to Paperless for me so I don't forget.

Over-engineering my document storage system with Paperless-ngx
I think the first realisation that I was getting old was when I implemented a system to store physical + digital documents and was excited about it. My previous document system looked a little something like this: Whenever someone asked me “hey can you prove you got a C in GCSE

Reminders

  1. Remind me to pay rent (I forgot what day it was, it checked my contract)
  2. What weekend am I hanging out with Cynthia again? I forgot to write it down (AI checked WhatsApp using wacli)
  3. Unsubscribe me from all this email spam pls 🙏 (it uses FastMail MCP)
  4. I ordered something and only half of it came, where is the other half? It followed the email trailer and sent me a delivery screenshot proving only half was delivered.

I just moved houses and oh my the admin

Read the email from the letting company about everything I need to sign up for. Sign up for it all, making accounts, and ensuring it is cheap. Here is the account number and sort code for a virtual account. Send me my account details encrypted.

My AI can spawn a FireFox browser:

GitHub - jo-inc/camofox-browser: Stealth headless browser for AI agents — bypass Cloudflare, bot detection, and anti-scraping. Drop-in Puppeteer/Playwright replacement.
Stealth headless browser for AI agents — bypass Cloudflare, bot detection, and anti-scraping. Drop-in Puppeteer/Playwright replacement. - jo-inc/camofox-browser

And then can use Playwright to interact with websites.

The AI then (with my approvals):

  1. Signed up for council tax and got a single persons discount (this was rather easy)
  2. Signed up for Octopus energy and input all my energy details (didn't choose a plan, I need Octopus to email me and then I will set it up myself)
  3. Did the same for Water (bit harder, but roughly the same as Octopus)
  4. Signed into my deposit scheme and downloaded the PDF, storing it into Paperless (very easy)

Getting me out of Japan

Like most people airports are an absolute nightmare for me.

Let's recap the intro quickly:

  • Checked in for me
  • Planned a route for me to go home
  • Sent me my boarding pass
  • Cron my flight and send it to me friends

But then some other things.

  • "Can I put a Wii U in my luggage?"

the game pad has a battery

  • "When I flew here the Wi-Fi portal didn't appear, send me every portal link"

thank god I asked this. Again, no Wi-Fi portal. But one of the links worked and I got access to the plane Wi-Fi!!

  • "Can I put an XBox into my luggage?" Yuppers!
  • "How long can I stay before security?"

Found the live gate info and boarding information, let me know I am fine to stay longer and enjoy more time with friends. I am so grateful I got to spend an extra 30 minutes with my favourite people in the world.

  • "Did you forget I am vegan"

The AI agent forgot to mention I am Vegan in the checkin, so I asked it and told it to remember. Then like a normal human being I asked the flight attendant and thankfully there was a spare meal, but all the other meals were just going to be bread for me haha.

That time a finance question became a full on company

Anyone who knows me knows I like to run my finances like the military.

Multiple dashboards, spreadsheets, YNAB, Actual Budget, Hledger etc. I have used it all.

But lately I have been slacking.

  • “Why has this month been so expensive?” -> It uses Actual Budget to work things out for me.
  • “Send me a tiny spending report every morning.” Made a Hermes Agent to analyse my finances and send it to me each morning.
What My AI Agent Did for Me This Week (That Wasn’t Coding)

Had a heart attack because how am I not spending money right now, but back in March I spent £12k??

So I asked my AI agent

  • "How did I spend £12k and why is my spending so low in August? I LITERALLY bought a flight to Italy and Tokyo this month"

Turned out my Monzo API connector broke, so it fixed that for me.

Then I have more than just Monzo. It counts transfers as expenses since it can't see my other accounts, hence the £12k spending was just a bank transfer to my savings account.

I talked to it a bit, turns out TrueLayer is still the best solution in 2026 for OpenBanking.

  • “Turn Actual Budget into hledger.”

I kinda wanted plain text accounting, so this started out as an importer and turned into:

  1. A full on GitHub repository
  2. Accounting models
  3. Private web app to display the graph from my previous question
  • “Give me somewhere to fix uncategorised transactions.”
What My AI Agent Did for Me This Week (That Wasn’t Coding)

I told the AI to make a rule system. Every time it comes across a vendor, categorise it using these rules. If a rule doesn't exist, put it into a web app.

Also make a webapp that lets me assign categories to these transactions and remember rules.

Also expose it over Tailscale.

I gave my friend an AI

basically my mate and I wanted to cycle to Totono no Mori 1, which is like middle of nowhere Inaka country.

There's hyper localised storms in Tokyo and most people use this weather map app thing to work out where those localised storms are

What My AI Agent Did for Me This Week (That Wasn’t Coding)

Now the problem with this is that you have to check often.

So I asked my AI

  • "We're cycling from Tokyo to Totoro no Mori 1, check for localised storms along the route every 10 mins and let us know on WhatsApp if there's a storm"

So it did just that, worked out the route, made the cron and it worked.

Well, not really. It was using a non Japanese weather source which wasn't updated as frequently, so we had to huddle into a 7 while we worked out a safe way to get home mid storm.

But this expanded into...

  • "Every 1 minute, check WhatsApp for the keyword "Shiki". If this is mentioned, action it as a Hermes Agent request"

Shiki is just a name of someone from a game I am playing

What My AI Agent Did for Me This Week (That Wasn’t Coding)
Summer Pockets Reflection Blue. Great Japanese practice

This way it gave my friend access to my AI agent. This is because I didn't have a phone plan or signal in Japan

This let my friend use my agent to plan a safe route home :) Which was a stupid route, so my friend and I got the bus.

AI is so great, but like most humans it can fail and be a bit silly. So always best to double check.

My friend subsequently used the AI to generate a 10 page PDF on how to take care of their Thai Holy Basil Plants.

What My AI Agent Did for Me This Week (That Wasn’t Coding)
It's quite cute!

Specifically how to care for them in late summer, on a Tokyo balcony, using blogs / videos from other Tokyo residents who are doing the same as references.

Running my AI estate

My Hermes Agent is Codex for Open Source (Thanks OpenAI! <3) running on an older Macbook air with an M2 and 4gb of RAM I think (or is it 8?). It has a 256gb hard drive.

These limitations mean sometimes it dies, so I have to spend a lot of time keeping it healthy.

  • “Audit the whole Hermes setup.” It checked credentials, integrations, schedules, logs, fallbacks and disk growth, then separated real problems from things I merely enjoy worrying about (a favourite past time of the British)

I then obviously asked my agent to fix all the problems it found.

  • “Why is Hermes eating so much disk?” When my macbook hits 256gb/256gb used, it just kinda explodes and its a massive pain to fix. This is probably the number 1 thing I ask my AI to do
  • “Install XXX, expose via tailscale”

Anytime I see something cool on r/selfhosted I make my AI agent install it so I can try it, then I ask it to remove it right after cause I don't like it.

  • “Where is Jellyfin?”

One day I will learn to use domain names for my self hosted setup, today is not that day.

As a full time SRE/Platform Engineer/System Engineer I do not want to do more of my job at home.

  • “Which skills and scripts could be public?”

I like to publish things on GitHub, I have to maintain my position as top 200 on GitHub World Wide™️

What My AI Agent Did for Me This Week (That Wasn’t Coding)

Tokyo side quests

  • “Can I cycle the Yamanote route without melting also send me a GPX route that avoids tunnels, main roads, and goes near kombini. Also I want to collect all Eki stamps, put me as close to them as possible”

Eki Stamps are one of my favourite past times

Eki stamp - Wikipedia

It ranked the days and found the best day for me to do this, and the route was pretty goated. I even sent the GPX file to my Garmin Watch to act as a SatNav style device.

What My AI Agent Did for Me This Week (That Wasn’t Coding)
AI generated

When I got to each waypoint for the stamp, the stamp was only like 10m away.

If it was a bit further, the agent also sent an English translated PDF of a Japanese website listing all stamp locations.

What My AI Agent Did for Me This Week (That Wasn’t Coding)
AI Generated

Shame I couldn't complete it though

What My AI Agent Did for Me This Week (That Wasn’t Coding)
  • “Where can I park a Lime bike?”

Mate that app is the worst designed app ever. Even when it said I could park, they STILL WARNED ME!!!!

  • “Find the Key visual-novel shop.”

I heard there's a Key shop, didn't know where it was. ChatGPT told me it didn't exist lol

What My AI Agent Did for Me This Week (That Wasn’t Coding)

I can promise you it is not Trader.

Thankfully my AI agent found it. It's a popup shop in Animate 🥳

  • “Will Akihabara’s pedestrianised street run if it rains?”
What My AI Agent Did for Me This Week (That Wasn’t Coding)

Every Sunday Akiba closes the roads so you can walk on them. It's so cool and magical.

Sometimes it doesn't run due to rain/heat, so my agent checked for me.

Help my mate find a job

What My AI Agent Did for Me This Week (That Wasn’t Coding)
AI generated
  • "Build a career profile from her GitHub / LinkedIn"

Oh I use Obsidian as my memory system, so it just made an Obsidian file of her.

  • "Make her a master LaTeX CV, 5 pages"

Used said profile + CV she provided me, made a LaTeX CV.

  • "Every Saturday search for jobs that match her profile, and then edit the LaTeX CV to 2 pages specific for that job"

Pretty cool it can do this, so now it's quite easy for her to apply to jobs.

Presuming the CV isn't complete and utter slop, generally it looks okay. But she does need to open the CV in Vim to edit it.

Conclusion

Anything you can use a computer for, you can ask Hermes to do for you

I read this once on Reddit, and I couldn't agree more.

What My AI Agent Did for Me This Week (That Wasn’t Coding)

My Agent does so much for me everyday, I couldn't imagine living without it.

But, it is still not perfect. I don't trust it with my passwords or banking information unlike some people I know. It also gets things wrong, which is okay so long as it does some work in finishing the task so I don't start from 0. I also have to teach my AI how I like to do things, so sometimes it doesn't do it in the method/order I like

I highly suggest you get an AI agent and try to automate some of the boring stuff.

💡
For security purposes, try to use local llms if you can afford the hardware. Otherwise opt out of all sharing settings in Codex etc. Really think, if your AI became malicious today and tried to harm you -- what is the worst it could do to you?

Security

  1. I gave my AI virtual accounts which contain an amount of money I don't mind losing on AI Shenanigans
  2. My AI does not have access to my password manager and I change all passwords it makes.
  3. I set up 2fa and ensure the agent can't see it, that way it can't use access to my email to reset passwords behind my back.
    1. this is where hardware keys are cool, good luck holding your finger on a Yubikey malicious AI ;)
  4. I built a tool to approve all documents my AI signs / makes. Basically the AI can sign documents, but not send them. The actual final approval comes from me, where I check to make sure it hasn't signed me up for anything crazy.
    1. This tool is kinda cool, it brainwashes the AI into thinking it submitted a document but really it just sent it to me, so even if it was malicious it won't sign bad contracts for me. It doesn't work for everything, but it does work for the things I care about such as contracts, filing complaints, messaging people on WhatsApp etc etc. I might make a public release of this.

Unlike OpenClaw and co, my Hermes Agent doesn't have a "heartbeat".

It only works when I ask it to, or when a cron (which I asked it to make) runs. I regularly evaluate my Crons and remove ones I don't want.

I try really hard to reduce the blast radius of a potential breach while still maintaining usefullness.

Tools I use

A question you will have is "What tools do I use to do all this?"

  1. Hermes Agent
    1. Telegram is my preferred way to talk, I have 1 main agent and like 1 agent for finance stuff
    2. I use Wispr Flow to speak to my agent, although Telegram voice notes work too.
      1. Wispr Flow says I speak at 108 wpm, which is slower than my typing at 138wpm. I don't pay for it, but sometimes I am too lazy to type.
  2. Camofox + playwright for browser automation
  3. DontSetch for search
  4. wacli for WhatsApp
  5. codex for open source, for my ai model of choice. i just use it because it's free for me. thank u openai <3 :)
  6. Mnemosyne for persistent memory, I don't notice this that much
  7. Obsidian for memory + storage of files / useful research
  8. actual budget mcp, paperless mcp, super markets mcp, vinted mcp, ebay mcp
  9. google mcp, connects to my cal / emails / google maps etc
  10. gh cli, which i use extensively for access to github
  11. tailscale, which i use to connect to things the AI agent makes
  12. restic, to backup my ai agent computer
  13. old macbook air, you don't really need a lot of power unless you want local models.
  14. paperless-ngx to store documents

I think an important tip is just to start small, your agent will learn about you and together you will make skills, automations, and tooling to improve your life.

This is just 2 weeks of AI usage, there is so much cool stuff I do every day. Maybe if you want, I can write a list of my favourite things Hermes has done for me in the 5 months I've been using it.

Speedrunning Dictionary Imports: A Race Between Apps

2026-07-26 21:45:04

Speedrunning Dictionary Imports: A Race Between Apps

Speedrun fans: play this

💡
this article is unfunished, people didn't seem to take it as seriously as i did

On the 1st of January, 2026 importing a dictionary of every Japanese name took 3 hours.

Thousand and thousands of hours were spent by people optimising dictionary imports to make them as fast as possible.

Through hours of compression, you could get it down to a humane 1 hour 36 minutes.

But still, 1 hour 36 is too long. No one wants to spend hours importing a dictionary. But if we make the dictionary too small, it's not useful.

Developers had chosen a middle ground. They had long forgone including names from anime or manga, as it simply was too many. Instead they opted for visual novels.

When all hope was lost in creating the ultimate name dictionary, it happened.

One crazy developer gets it down to 90 seconds, a decrease of 95% – a far cry from the current number 1 on the leaderboard.

His findings spawned an informal speedrunning competition, where developers across the world seemingly found impossible tricks and had to rethink dictionaries in ways previously unimaginable.

All to answer one simple question:

Who can import dictionaries the fastest?

The Start of the Race

First, a few basics.

Japanese names are weird.

So weird, in fact, the average Japanese speaker has no clue how to read someones name. No, seriously. The first thing they ask upon hearing someones name is:

お名前は、漢字ではどのように書きますか。

Or in English:

How do I write your name?

You see, Japanese has three alphabets. Hiragana, Katakana and Kanji.

There are 46 Hiragana characters.

46 Katakana characters,

Speedrunning Dictionary Imports: A Race Between Apps

51,398 Kanji characters.

But don't worry! You only need to memorise around 3000 realistically. Well, 5000 if you plan to go into university or something.

Each Kanji can have multiple ways to say it.

生 is read as "nama" – fresh, natural, raw, live, etc.

But it doesn't just mean "nama". It can also be read as ikiru, umareru, haeru, and about 150 other readings.

So you don't just need to memorise 5000 but also a lot of readings too. Something more like 15,000 items.

What's in a Japanese name?

Japanese names typically use kanji, for example "大翔" has 2 kanji.

  1. 大 - Big, read as "dai" or "oo".
  2. 翔 - Soar, read as "to" or "bu".

Together as a name they are typically read as "hirohito", which means "soaring greatly".

But actually, that name can also be read as:

  • Haruto
  • Yamato
  • Taito
  • Daito
  • Taiga
  • etc etc

So you see, there are 2 big problems with Japanese names:

  1. Just because you can physically see a name on the screen does not mean you know how to read it. You can guess, but you may be wrong.
  2. If someone says their name to you, you have no idea how to write it.

for (1) authors will write the name in another alphabet to explain it.

For (2) you have a really cute conversation with someone over their name. Usually something like "Wow! Your parents picked pretty kanji, I like it".

Even Japanese people suffer with names.

The Problem

As a learner to Japanese, I have a really fun problem.

When reading a book, playing a game etc I genuinely have no idea what someone is called unless it is explicitly stated to me. Multiple times.

Japanese people will see the name in hiragana once and remember it, but for me I can't do that. I'm too new to the language to do that.

The Solution

In the interwebs there exists many a dweeb, nerd, otaku or worse – an AI bot.

These wonderful nerds spend all their time cataloguing data.

There are websites like VNDB or Anilist where people catalogue every visual novel, anime, light novel or manga to exist.

These same people go out of their way to learn the character names and create wonderful catalogues of them.

Speedrunning Dictionary Imports: A Race Between Apps

You can look up your favourite anime and find the characters name, official spelling, all nicknames, and information about them.

As a learner this is massive!

Since I play a lot of games, I use GameSentenceMiner to be able to use Yomitan in game.

🥱 Yomitan is a dictionary app. You download dictionaries and can look things up.

Speedrunning Dictionary Imports: A Race Between Apps

Here is me looking up a word in Yomitan.

So last year I contributed to GameSentenceMiner a fancy dictionary.

Anytime I played a new game, it would automatically update to have character information in it.

Speedrunning Dictionary Imports: A Race Between Apps

Not only the name, but a description and image too.

No longer did I have to guess Kanji names! I could see them right there, in my dictionary!

But then someone said to me:

I don't use GSM, is there anyway you can make this for my game? 😦

So then I thought... Hey... I had written code to make this work for a game.

What if I just go through all visual novels on VNDB and do it for them?

After doing that, it ended up being around 3 gb. For a dictionary. FOR A DICTIONARY!?!

So I cut it back. I compressed it immensely. I removed features.

No more anime / manga / lightnovel support. Only visual novels. Other creators of similar dictionaries agreed with me.

Speedrunning Dictionary Imports: A Race Between Apps

This became 300mb, or about 6 million name entries.

6 million entries for names is a lot.

Speedrunning Dictionary Imports: A Race Between Apps
This is without anime or manga, only focusing on perhaps the most unloved form of media for Japanese.

It took me 1 hour to import it into Yomitan. 30 minutes to import it into a competitor app named JL.

Basically, this dictionary was impossible to use. It took so long to import into any app it just wasn't worth it.

The Race

It all started when a friend of mine, who builds Manabi an app for learning Japanese on IOS, mentioned he is doing performance work to improve Manabi's speed.

Speedrunning Dictionary Imports: A Race Between Apps

I hit him with a quick "hey try out my massive dict".

Manhhao, who is building a Manabi competitor was the first to complete a run.

Speedrunning Dictionary Imports: A Race Between Apps

90 seconds. That's a 97.5% decrease!

Manhhao achieved this by writing their own JSON Parser specifically for the Yomitan dictionary schema.

Yomitan dictionaries are JSON files.

You know how in infrastructure everything is a YAML? Well in dictionaries it's either HTML, or JSON masquerading as HTML.

Yomitan dictionaries contained "structured content" which are just nested JSON structs pretending to be HTML.

When you import a Yomitan dictionary, a traditional JSON parser goes through every single term and does something like:

json["glossary"][0]["tag"]
Speedrunning Dictionary Imports: A Race Between Apps

You can see how it would be nested JSON once you look at a dictionary that uses it.

Instead of parsing JSON at import time, Manhhao had a thought similar to that of Charlie Munger.

Speedrunning Dictionary Imports: A Race Between Apps

Instead of parsing all JSON at import time, why don't we parse it once the user looks it up?

Since they are rendering it with Javascript, parsing the JSON from a single index and rendering the HTML is trivial.

This increases dictionary lookups slightly, but decreases imports significantly.

Then 5 minutes later Manabi claps back with 58 seconds. The first sub 60!

Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps

What's in a Yomitan dictionary, anyway?

Desribe what a dict is and what it contains, and how we build it

second round

Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps

The race is on

Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps

At this point I dm'd ae to ask for help.

ae has significantly more resources than I do in terms of compute, storage and bandwidth.

Speedrunning Dictionary Imports: A Race Between Apps

So I hit him up.

Speedrunning Dictionary Imports: A Race Between Apps

ai usage

Speedrunning Dictionary Imports: A Race Between Apps
Speedrunning Dictionary Imports: A Race Between Apps

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

2026-05-09 04:51:02

😋
This article is unfinished
[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

The dream of being able to immerse in Japanese games using all the tools you love (GSM, Luna, JL) on a handheld device has simply not been possible.

Until now.

This blog post will show you, reader who already has an immersion setup on Windows, how to do the exact same thing on the Steamdeck.

But on Steamdeck.

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows
The end goal is to comfy maxxx

We're going to do this by dual-booting Windows and SteamOS on the Steamdeck.

But firstly, why dual-boot and not go full Linux?

  1. But they are workarounds.
  2. Pretty much every immersion tool you love is on Windows.
  3. Combining immersion tools that work on Windows with VNs that only work on Windows, and trying to do that on Linux is neigh on impossible.

So why not go full Windows?

SteamOS is specifically made for the Steamdeck.

I know I do!

If you want to attempt the Linux only way™️, read this:

Installing GSM on Steam Deck | GameSentenceMiner Documentation
GameSentenceMiner runs natively on the Steam Deck! Because the Steam Deck is essentially a Linux PC, you can run the full GSM experience directly on the handheld. Alternatively, for better battery life and performance, you can stream your desktop PC to the Deck.
💡
This guide is for people that can comfortably dual boot Linux and Windows, but do not know specifically how to do it on Steamdeck.

Also I assume you have already done the whole TheMoeWay/Refold/AJATT/Migaku/whatever thing on Windows desktop and you just got a Steamdeck for Christmas.

SteamOS Beta

You should join the SteamOS Beta.

This is because it has BIOS drivers you need to make it work on Windows.

  1. To update to beta, press the Steam button or open the Steam menu.
  2. Select the Settings option.
  3. Go to the System option.
  4. Select Beta participation.
  5. Change the System update channel from Stable to Beta.
  6. Restart and apply the update.

Steamdeck password

You need to set a Steamdeck password to do adminy things.

Follow this:

Installing Windows

If you want a more hand-holdy video, this is good:

🐬
You can right click by touching the screen and long pressing.
  1. You need this to resize your partition.
Steam Support :: SteamOS Installation and Repair
🤔
Hold volume up and press power button once to load the boot manager.
  1. Use KDE partition manager in the repair image.
  2. I chose 11 IOT as it uses less resources, and 11 has great touch support.
  3. Put them onto a USB and install them:
Steam Support :: Steam Deck - Windows Resources

Look for "setup information" file type, right click and "Install".

It should boot back into Windows.

Connect to WiFi and install Windows updates.

Now after doing that, restart the steamdeck.

Go back to Windows updates, click on "Advanced Options" and then "Optional updates"

Update everything again.

Now let's configure Clover.

When you dualboot normally you can choose between 3 things:

  1. Grub
  2. Refind
  3. Clover

I believe Clover has controller support whereas the others don't.

👽
just open this page on the steamdeck now you have wifi

Open cmd as admin.

bcdedit -set {globalsettings} highestmode on

reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

Sets hardware clock to UTC rather than local time.

If you have ever dual booted Linux and Windows you know this is required.

  • Linux typically assumes the hardware clock is set to UTC and converts to local time in software
  • Windows typically assumes the hardware clock is set to local time directly
  • When you switch between OSes, each one "corrects" the clock based on its assumption, causing the time to jump forward or backward

Now shut down your Steamdeck, go into boot manager and boot into SteamOS.

Follow this video to fix it :)

😶‍🌫️
Note: If you see a black screen press "A" if you followed that video.

There were some status.txt

In the docs it says:

Use this only if you have Windows installed on microSD / external SSD and if Windows keeps hijacking the bootloader!

Since I don't use that, I don't care.

Optimise Windows

Now Windows should work fine, let's optimise it to work even better.

Your life will be much easier.

GitHub - rustdesk/rustdesk: An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer. - rustdesk/rustdesk

GitHub - ChrisTitusTech/winutil: Chris Titus Tech’s Windows Utility - Install Programs, Tweaks, Fixes, and Updates
Chris Titus Tech’s Windows Utility - Install Programs, Tweaks, Fixes, and Updates - ChrisTitusTech/winutil

Here's what I did:

  1. Ran all Standard tweaks.
    1. Additionally disable Background Apps (to speed things up)
    2. Disable Bing search in start menu
    3. Show hidden files and extensions
    4. Enable S3 sleep (this makes the Steamdeck hibernate)
💡
On modern Windows, it will not hibernate by dumping RAM into a file and then reopening that file when you turn the device back on.

Modern hibernate will let Windows install updates etc

This burns through battery life.

Enable S3 sleep in Chris Titus' tool, and then do this to add hibernate to Steamdeck:
Open Control PanelPower Options
Click Choose what the power buttons do (left sidebar)
Click Change settings that are currently unavailable
Check Hibernate under "Shutdown settings"
Change "Power button sleeps" to "Power button hibernates"
Click Save changes

Update: Hibernate breaks dualboots, use "Sleep" instead.

Disable All Updates:

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

Dual booting often breaks because Windows update breaks it.

I will disable all updates, but Windows Defender will still update its threat lists in the background so it's not all terrible.

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

On the Config page do this:

  • Set Up Autologin so you can just go straight to gaming.
  • All .Net frameworks.
[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

In apps install:

  • Anki
  • Visual C++ 2015 64bit
  • 7zip

Now open Powershell in admin and run this:

Set-WinSystemLocale -SystemLocale ja-JP

Japanese games require Japanese locale :)

And do this:

  • Open Settings → Time & language → Language & region
  • Under "Country or region", select Japan from the dropdown

While you're there, also install Japanese language support.s

Mining Games

Now let's set up our mining stuff.

Anki

Set up Anki and login, sync or whatever.

Go to your Anki addons folder on Desktop (assuming you have it)

C:\Users\Bee\AppData\Roaming\Anki2\addons21

It all works.

GSM

We'll be using GameSentenceMiner.

Go to this and install it:

GitHub - bpwhelan/GameSentenceMiner: An All-in-One immersion toolkit for learning Languages through games and other visual media.
An All-in-One immersion toolkit for learning Languages through games and other visual media. - bpwhelan/GameSentenceMiner
[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

Disable texthooker on startup.

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows
💡
Only use Silero, it is much lighter.

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows
💡
Actually set this to webp, avif requires reencoding.

I play visual novels so I don't need them to be animated 😄

But if you play games, activate animation!

I set AI up:

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows
💡
Actually I moved to using TranslateGemma 4b on Ollama for offline translation.

Install Ollama, open it, select TranslateGemma:
https://ollama.com/

4b takes around 5 seconds to run, 12b takes 30 seconds but lags a lot.

In GSM AI set it up to use Ollama and then TranslateGemma.

Then set MeikiOCR in Overlay:

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows
Meiki is Japanese specific so it uses less resources than OneOCR and on GPU it's faster.

In Advanced:

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

Close GSM and reopen it, my OBS was not synced properly until I did this the first time.

In OBS go to settings, output and then set these:

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

Now in Video tab:

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

Basically all these settings say:

  • I am playing a visual novel that does not move very fast, give me much lower settings to preserve battery life etc.

Finally in GSM enable "Start Overlay on Startup":

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

Open GSM Overlay and set Yomitan up, just export your settings from your desktop and move them over.

💡
Yomitan will check every dictionary you have installed before showing you "Add to Anki".

To save power I just run 4 dicts:
Jitendex (definitions)
Kanjidic
Jiten freq
GSM Character Dict (talked about next).

I also tell Yomitan to only show definitions from max 1 dictionary. This is because Yomitan loads every dict before letting you do anything, which can take some time and power to do

Pro GSM tip:

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

Go to settings -> Database Management and download the special Yomitan dictionary for character information in your games!

While you're here, set up Jiten reader. Use this for Custom Word CSS to make it look normal. The default CSS is horrific to look at.

.jiten-word.new { color: inherit !important; }
.jiten-word.blacklisted { color: inherit !important; }
.jiten-word.mature { color: inherit !important; }
.jiten-word.due { color: inherit !important; }
.jiten-word.young { color: inherit !important;}

Also in settings for Websocket remove all Websockets apart from 2333.

[Unfinished] Turning Steamdeck into a Japanese immerison machine by dual booting Windows

2333 will be used by Lunahook, this saves some cpu cycles as GSM regularly checks to see if those sockets are open.

GSM keyboard shortcuts in overlay todo

Steamdeck controls

Now install this:

GitHub - ayufan/steam-deck-tools: (Windows) Steam Deck Tools - Fan, Overlay, Power Control and Steam Controller for Windows
(Windows) Steam Deck Tools - Fan, Overlay, Power Control and Steam Controller for Windows - ayufan/steam-deck-tools

This lets you control Steamdeck specific things like fans / gpu usage etc.

Lunatranslate

Install this:

GitHub - HIllya51/LunaTranslator: 视觉小说翻译器 / Visual Novel Translator
视觉小说翻译器 / Visual Novel Translator. Contribute to HIllya51/LunaTranslator development by creating an account on GitHub.

Turn off Google translate.

Put it into Windows defender allow list so it doesn't break.

Turn on networking.

Just make sure the webhooks in GSM hook up to it.

Random tools

I installed Copyparty to let me copy and paste games from my desktop to my SD:

GitHub - 9001/copyparty: Portable file server with accelerated resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file
Portable file server with accelerated resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file - 9001/copyparty

It's like FTP but:

  1. You run the .exe
  2. It says "enter this IP in your browser"
  3. You get automatic retries, able to make folders etc.

A lot less finicky for me.

f.lux
Software to warm up your computer display at night, to match your indoor lighting.

Cause GSM records the game itself and not the window (by default), your screenshots won't be yellow.

Windows nightlight has a max limit to it, F.lux does not. You can go super red.

Playnite - video game library manager
Video game library manager with one simple goal: To provide a unified interface for all of your games.

Use this to instantly load your gaming library on startup. Lunatranslator and GSM should auto switch to it.

Games

Steam games do not work :/

Anki VN Sorter

2026-05-04 16:25:32

Anki VN Sorter

Hi I vibe coded this addon

GitHub - bee-san/anki_sorter: Anki add-on for prioritizing new Kiku cards with VN-focused new-card sorting.
Anki add-on for prioritizing new Kiku cards with VN-focused new-card sorting. - bee-san/anki_sorter

it's a sorting addon for new flashcards in anki.

Other sorting algorithms:

  • Go by frequency alone, so similar kanji aren't bundled up together

this addon uses an advanced algorithm (I actually wrote it, but the AI implemented it. No idea if it's the most optimal, but I was going back and forth and double checking my new card order and this one looks like it works)

The idea is:

Reduce the struggle. Words with all Kanji known or only kana appear first, UNLESS there is a super high frequency word you are missing

Basically, if you know all the kanji the word is super easy so you should see it first.

it also works for other things not just visual novels

Algorithm

  1. Candidate selection: The default query is note:Kiku is:new -is:suspended. Review and learning cards are ignored.
  2. Known-kanji extraction: The add-on searches mature cards using matureQuery or the generated matureDays query. It reads the Expression field from those mature Kiku notes and extracts kanji characters. If a kanji appears there, it counts as known.
  3. Frequency source selection: The active list comes from jitenFrequencyListId. The default is global. The add-on tries to use:
    • the fresh cache for the selected list
    • the live Jiten export API for the selected list
    • the stale cache for the selected list
    • the bundled Global snapshot when the selected list is global
    • Kiku FreqSort only if no Jiten data is available
  4. Per-card features: For each candidate card, the add-on reads:
    • Expression
    • extracted kanji count
    • known kanji count
    • Jiten rank from the selected list
    • Kiku FreqSort rank as fallback
  5. Blended scoring: The default score is:This means:
    • absolute frequency score from Jiten, or FreqSort as fallback
    • multiplied by a readability adjustment:
      • all_kanji_known: 1.00
      • kana_only: 0.92
      • unknown kanji: 1 - min(0.18 * unknown_kanji_count, 0.54)
    • plus a small partial-known bonus:
      • 0.04 * coverage_score for cards that still have unknown kanji
  • similar-frequency known-kanji cards usually beat kana-only cards
  • super common kana-only cards can still rise early
  • super common one-unknown-kanji cards can outrank weaker easy cards
  • harder unknown-kanji cards still sink unless their frequency is very strong
  • Final ordering: Cards are sorted by:The older easy_first_tiered_v1 mode still exists if you want strict buckets.
    • higher blended score
    • then better raw rank
    • then shorter expression length when preferShorterExpressions = true
    • then current due
    • then card template order
    • then card id
  • Repositioning: The add-on calls Anki’s internal new-card reposition API. It starts from the minimum due among the eligible cards and only reorders the matching new cards. Non-matching cards are left alone as much as possible.
  • There are also optional strategies, easy_first_tiered_v1 and balanced_ease_v1, but the default and recommended path is frequency_first_soft_v1.

    Mature card exporter for anki

    2026-05-04 16:20:41

    Mature card exporter for anki

    hi i vibe coded this super simple anki addon

    GitHub - bee-san/anki_mature_words_export
    Contribute to bee-san/anki_mature_words_export development by creating an account on GitHub.

    go to tools -> Export Mature Words to Clipboard

    It will ask you to set up your cards, like what Mature is and what Anki card field has the word

    After that everytime you click this, it will export all mature words to your clipboard

    No features other than that.

    Use cases

    • External word trackers like Migaku, Jiten, JPDB can use this
    • Put it into ChatGPT or something
    • Excel?
    • I don't know, its just a really easy way to copy mature anki cards.

    My Moe Desktop Rice 2026

    2026-04-13 01:03:44

    Like any Linux nerd I have been into ricing for a while, stalking the good folks over on r/unixporn and making my own Hyprland rice.

    But for the past 6 months or so I've been using KDE.

    And the past 2 weeks I have gone back from Wayland to X11 (it's just more stable)

    This just so happened to coincide with me discovering this community:

    https://www.reddit.com/r/MoeDesktop/

    It's like r/unixporn but for classic 2005 otaku desktops, invoking the feeling of Moe (pronounced mo-eh).

    Moe (slang) - Wikipedia

    Which just means cuteness (or something like that) in Japanese

    So I thought I would try my hand at a Moe rice.

    GitHub - aeroshell-desktop/aerothemeplasma: An alternative shell for KDE Plasma that aims to replicate the look and feel of Windows 7.
    An alternative shell for KDE Plasma that aims to replicate the look and feel of Windows 7. - aeroshell-desktop/aerothemeplasma

    My first stop was this KDE Aero Plasma theme, since I'm a big big fan of the Vista aesthetic.

    I installed it in one Paru command and it worked 🥳 My desktop does look like Vista now!!

    Colour Matching

    I'm using this wallpaper from Nekopara:

    It's really cute!

    There's things in Python you can do to study the images colours using ImageMagik and match your colourscheme to it.

    Add an option to apply accent color from wallpaper (!1325) · Merge requests · Plasma / Plasma Workspace · GitLab
    This add an option to set accent color from wallpaper. The way it works is that it exposes some dbus calls. If a wallpaper plugin support wallpaper accent…

    So after Aero and my wallpaper I did this!

    Cursor

    In KDE you can edit your cursor super easily

    I went into KDE cursor store and got my Miku cursor!

    Miku Cursors
    Animated Miku cursors for Linux! This cursor set is a modified version of a small Windows set created by petit devil (ぷちでびる) [https://…

    Building Custom Widgets

    Like any good Otaku and doujinsoft fan I needed widgets.

    Doujin soft - Wikipedia

    Remember how cool it was in Vista!?

    So I looked at the defaults.

    I added the Photo Gallery widget

    Because I take so many screenshots of anime / visual novels I just pointed it at my folder.

    In this game her eyes reminded me of Oshi No Ko!

    Oshi no Ko - Wikipedia

    Second widget is weather!

    I live in the UK

    Somedays it's super sunny, the next it's raining.

    Last week I went to work in a coat. Everyone else was in cute dresses and skirts.... I was the odd one out :/

    Never again since I added this widget!

    But I had the thirst for more. MORE MOE WIDGETS!

    So like any good 2026 coder I asked my AI bot to build them for me lol

    City/landmark

    Like any late 20s white girl that visited Japan, I miss it dearly

    I told AI to build me a widget where once a day it'll show me a location from Japan, a photo of it, the Wikipedia description and let me click on it to go to Wikipedia:

    Works quite well!

    I even asked it to make curated lists, so there's one for the West of Tokyo (I lived in Suginami-ku, so I miss that part in particular)

    Word a day

    Every day (well, every hour) it picks a random word from my Anki deck and shows it to me.

    No Anki? No problem!

    We can change it to Local only and see a local word list of curated, fun words :)

    This is prettier than my Anki cards anyway, which are.... full of HTML and ugly...

    Moe Clock

    I built this from a GitHub repo called Moe_Counter or something

    It's just a clock, pretty cool!

    https://count.getloli.com/

    Someone did this on Windows already so I just made it a KDE widget :)

    Split Clock

    I wanna see:

    • The time in Tokyo and London (where I live)
    • If it's daylight or not
    • Moon phase
    • If the sun and moon are visible at the same time

    So I vibe coded this!

    The moon is not visible in Tokyo rn

    Conclusion

    This is my current desktop!