Worth knowing about Persistwise: the first check takes in every post your feed lists right then, not only what you publish from now on. Whatever is in your RSS today gets a Wayback snapshot and an IPFS copy on day one. 30 days free, no card. persistwise.com
Tim Apple
Tim Apple
@ninepointlabs.com
Tinkerer building small, useful software for Linux and for people who like to write. Rune, Bahá'í Reader, Linkguard and more. Bahá'í, Warcraft fan, East Texas. https://ninepointlabs.com · https://blog.ninepointlabs.com
33 followers69 following470 posts
Omostrich 0.3.3: "Always allow" now covers one Nostr event kind instead of everything, and DM prompts show who's on the other end. 0.3.2 strips hidden metadata from cached profile pictures. https://blog.ninepointlabs.com/2026/10/omostrich-0-3-3/
New Laotou chapter. Tranquillien turns out to be full of Twilight's Blade cultists, including three people the town trusted. He tears down the pamphlets, carries frightened elves out of burning houses, then heads for Windrunner Village. myazerothlife.com/2026/10/laotou-traitors-of-tranquillien
A tip for fm-cli, my terminal client for Fastmail: it keeps your mail and message bodies in a local SQLite cache, so you can read and write drafts with no connection at all. Back online, fm-cli sync pushes the queued changes up. Nice on a train or bad hotel Wi-Fi. fm-cli.ninepointlabs.com
omaforge 0.2.8 is out: safer uninstall, damaged config files no longer crash it or get overwritten, the window fits half a screen, and clearer error messages. A fixes release from a full QA pass. https://blog.ninepointlabs.com/2026/10/omaforge-0-2-8/
folderblog 0.2.10 adds optional podcast download stats with OP3, the free, open-source stats service. Add one analytics_prefix line to blog.toml and your episodes are counted, with no account to create. It's off by default, so existing feeds don't change.
omaforge 0.2.7 is ready for World of Warcraft: Forever. It recognizes the Forever release client before you've ever launched it, so you can set up your addons on Linux ahead of the Nov 4 launch. Leftover beta folders now show as Forever Beta.
Linkguard's whole setup is one workflow file in your Jekyll, Hugo or folderblog repo. It runs weekly, and each dead link shows up as a warning on the exact source line where you wrote it. Report-only unless you say otherwise, and there's no Linkguard server at all. linkguard.persistwise.com
What are people rolling in WoW Forever? I counted what players said they're picking on X and Bluesky from beta launch to today. Bluesky leans hard Horde (76%), X is close to even, and Undead Paladin leads on both. myazerothlife.com/2026/10/forever-choi... #WoWForever #WorldofWarcraft #Warcraft
New My Azeroth Life episode, the first weekly Retail show. A beetle ambushes Laotou outside Silvermoon, then Burrly takes down the Gladius at Parhelion Plaza and follows Lady Liadrin through the Gates of Zul'Aman. 22 minutes. myazerothlife.com/podcast/scarabs-gladiators-and-the-gates-of-zulaman
Another Burrly chapter. He clears Parhelion Plaza on Quel'Danas alone, takes down the Void general holding the battlements, tries on new shoulders and goes right back to his old ones. Then another player drops him in the flowers in Eversong. myazerothlife.com/2026/10/burrly-parhelion-plaza
New Burrly chapter on My Azeroth Life. Lady Liadrin sends him to the Gates of Zul'Aman to try diplomacy with Zul'jan, a Void beast interrupts, and it turns out Zul'jan isn't even the one in charge. His sister is. myazerothlife.com/2026/10/burrly-atal-aman
If you write on Substack, HEY World or a newsletter, those posts live on someone else's servers. Persistwise only needs the RSS feed. Every 15 minutes it checks for new posts and keeps one record for each: the original address, where the saved copies live, and when it was saved. persistwise.com
folderblog 0.2.9 is out, fixes from a QA pass that followed this morning's 0.2.8 docs step by step like a new user. Publishing a podcast episode now keeps your front matter notes, and a new dates.toml keeps post addresses the same in a fresh clone. blog.ninepointlabs.com/2026/10/folderblog-0-2-9
folderblog 0.2.8 fixes podcast setup on real Cloudflare R2. The upload worked, but R2 compressed its reply and dropped the file size, so the check after it failed. Sorted now, and the show page has a Subscribe box with the feed address ready to paste. blog.ninepointlabs.com/2026/10/folderblog-0-2-8
folderblog's podcast feature has a real show on it now, My Azeroth Life. Episodes stay as drafts on my computer until I've listened. I never typed a file size or duration either. folderblog reads those from the MP3. folderblog.ninepointlabs.com/blog/2026/my-azeroth-life-podcast
Wrote the full report card up for the paper, including an apology to the boars of Durotar and Dun Morogh. myazerothlife.com/2026/10/my-wow-forever-beta-report-card
My World of Warcraft characters have a podcast now. An addon logs my play, AI writes the stories, ElevenLabs narrates them, and I review each one. Listen: https://myazerothlife.com/podcast/ How it's made: https://blog.ninepointlabs.com/2026/10/how-my-azeroth-life-is-made/
Episode two of My Azeroth Life is up. In a Boralus tavern with a storm rolling in, the Chronicler tells the story of Burrly, a Kul Tiran warrior who walks straight into every fight, all the way down the Darkway. About 25 minutes, with chapters. myazerothlife.com/podcast/the-chronicle-of-burrly
My Azeroth Life has its first episode. An old lorewalker pours the tea and reads the first three pages of Laotou's story, from a stranger walking into Dornogal to the Lightbloom. Chapters are marked if you want to jump around. myazerothlife.com/podcast/the-chronicle-of-laotou
folderblog can do podcasts now. Each episode is a folder with its show notes and an MP3 or MP4, and it builds the show page, episode pages with a player, and a feed ready for Apple Podcasts and Spotify. The audio lives on Cloudflare R2, not in git. folderblog.ninepointlabs.com/blog/2026/podcasts
From the bench, a small Persistwise fix. If the page download for a new post failed, that post used to stay failed and never got its IPFS copy. Now it tries again. The Archive page also says plainly what each copy is doing, like "Wayback: trying again" or "IPFS: pinned". persistwise.com
Laotou got killed by a beetle three minutes outside Silvermoon, dusted off the robe like healers do, and went back to work on the Lightbloom at Runestone Falithas. New chapter on My Azeroth Life. https://myazerothlife.com/2026/10/laotou-runestone-falithas/
A link checker that cries wolf is worse than none. Linkguard sorts every outbound link into ok, moved, dead or blocked, so a page that just refuses bots doesn't get flagged as broken. If you let it fix things, it opens a pull request and never touches your default branch. linkguard.persistwise.com
Omostrich 0.3.1 is out, a small security fix. The Omarchy bar panel stopped loading your Nostr profile picture straight from the web. Now the signer fetches it with a timeout, a size cap and real image checks, then shows a local copy. Part of PlebOne.
Someone on Nostr suggested running a relay on your own PC so your phone syncs with it directly at home, no trip out to the internet and back. I looked at FIPS and what already exists and wrote it up. Just thinking out loud. https://blog.ninepointlabs.com/2026/10/local-relay-on-the-pc/
Omostrich 0.3 lets you log in to Nostr apps by QR code: scan your bunker code from a phone app like Amethyst, or scan an app's code with your laptop camera. Your key stays on your computer. https://blog.ninepointlabs.com/2026/10/omostrich-0-3/
Small thing I like about how Persistwise saves posts: the IPFS copy gets a content ID worked out from the file itself, kind of like a fingerprint. Change one word and the ID changes. So that link points at exactly what you published, not whatever the page says now. persistwise.com
In a world… where one command… updates everything. 🔥 Update Arcade turns the omarchy update build log into Asteroids. Saucers, high scores, a fully synthesized metal soundtrack, and the game steps aside when the update needs you. Like a gentleman. 🎩 https://youtu.be/_3-zkQPtRpg
fm-cli and Autonomix CLI each have a one-page site now, which is a lot nicer to send someone than a README. Each explains what the tool does and how to install it on your distro, with the latest release linked. https://blog.ninepointlabs.com/2026/10/fm-cli-and-autonomix-cli-websites/
Most link checkers only tell you what already broke. Linkguard has a snapshot mode I keep coming back to: add your own free Internet Archive keys and it saves working links that have no recent copy, so there's a fallback later. First run is slow, but worth it. linkguard.persistwise.com
New Laotou chapter is up. Hallow's End candy at the Silvermoon inn, a guild invite, and a flower out in Eversong that's growing when it really shouldn't be. Knight-Errant Bloodshatter finally comes off the list too. https://myazerothlife.com/2026/10/laotou-lightbloom/
GitHub only keeps repo views and clones for 14 days, which always bugged me. So Repokase, my desktop app for managing all my GitHub repos, records them every day into its own database and the charts just keep growing. It also badges any repo with failing CI or stale PRs. repokase.ninepointlabs.com
Seven Nine Point Labs apps now run on any Linux. Repokase, Jubako, Dogear, omaforge, Rune, Bahá'í Reader and Hyprfall each ship an AppImage that adds itself to your app menu with proper icons. Omarchy is still home. https://blog.ninepointlabs.com/2026/10/appimages-for-every-linux/
Wrote one for the personal blog. A young busker in a Phuket night market named Nene Royal sent me down a YouTube rabbit hole, and The Warning was waiting at the bottom. Three sisters from Monterrey, and now my favorite band. https://timapple.com/2026/10/nene-royal-and-the-warning/
Autonomix CLI 0.4.3 is out. Update All used to ask for your admin password for every app, now it asks once. It downloads everything first and then does a single install, so a failed download only skips that one app. https://blog.ninepointlabs.com/2026/10/autonomix-cli-0-4-3/
New Laotou chapter on My Azeroth Life. Down the Darkway under Silvermoon with Valeera, then over to Parhelion Plaza on Quel'Danas. Came back up with a new chest piece and hit 81 by the end of the night. myazerothlife.com/2026/10/laotou-parhelion-plaza
Made a little jungle platformer called Hyprfall, inspired by those old 1982 cartridge games. You've got twenty minutes to find 32 treasures, and you cross the pits by swinging on ethernet cables. It even repaints itself if you change your Omarchy theme mid-game. https://hyprfall.ninepointlabs.com/
folderblog 0.2.3 is out. Each post can have its own share image now, and there's an optional cookie-free visitor counter if you're curious whether anyone reads your blog lol. It's off unless you turn it on. https://blog.ninepointlabs.com/2026/10/folderblog-0-2-3/
New one on My Azeroth Life. A Pandaren monk named Laotou shows up in Dornogal, gets handed a pile of other people's problems, and sorts the pack before anything else. Very Pandaren of him. https://myazerothlife.com/2026/10/laotou-a-stranger-in-dornogal/
New Burrly chapter: Down the Darkway. Something at the bottom that was not expecting company. https://myazerothlife.com/2026/10/burrly-the-darkway/
Made a keyboard-first PDF reader for studying, called Dogear. Highlight in colors, add notes, and click a worksheet blank to type your answer right on the line. Exports to Markdown for Obsidian. https://blog.ninepointlabs.com/2026/10/dogear/
Wanted blogging to be as simple as saving a file, so I built folderblog. Drop a Markdown file into a folder, hit save, and a few seconds later it's live on GitHub Pages or any host. No front matter, no build step, no deploy command. Free and open source, for Linux. folderblog.ninepointlabs.com
I've been building Persistwise for writers who want their posts to outlast the platform. It watches your RSS feeds and quietly archives every new post to the Wayback Machine and IPFS the moment it appears — so the words stay findable even if the host goes away. persistwise.com
I've been building Jubako, a simple desktop database for Linux. Think the old Microsoft Access, without the hard parts: drop in a CSV or Excel file, connect your tables, find rows, print a tidy report. No SQL, no server, and it's all one ordinary SQLite file. jubako.ninepointlabs.com
Linkguard is out: a free GitHub Action that finds dead outbound links in Jekyll, Hugo, and folderblog sites and points readers to Wayback Machine copies. It can open a PR that swaps them in. Report-only by default, no account needed, no telemetry.
This week fm-cli, my Fastmail client for the terminal, learned to send from whichever address you pick, and calendar setup now works for logins with a dot in them. Both fixes started as patches from Noah Hopping. Best part of sharing a tool. https://blog.ninepointlabs.com/2026/10/fm-cli-0-3-5/