Update for the week ending on Friday, Jul 31, 2026
Refactoring English
- Worked with a reader on blog article feedback
- Bumped book version to 0.9.10
Book
- Started working on chapter on titles
- Improved my invoice generator to support customers in Europe
- Made a dedicated chapter for headings
- Polished the chapters on emails, release announcements, and tutorials
Website
- Updated guidance on discounted editing page
- Answered a frequently asked question on the website about a print version
Feedback app
- Let the author mark an emoji reaction as seen so it doesn’t show up as unreviewed feedback.
Scraper bot attack
- Gave information to Netlify support, who have been useless so far.
- The response was like a 2023-era LLM that told me to change settings that don’t exist and couldn’t be bothered to look up any details specific to my account
- Improved my Bunny IPs -> Netlify block script slightly
Little Moments
Little Moments is an open-source web app I’m working on to replace the current family photo sharing app (TinyBeans) I used (which I strongly dislike).
mtlynch/little-moments
- Create a writable temporary directory in the production image
- Point .env.example’s Litestream config at Backblaze B2
- Redirect signed-in users from replayed magic links
- Scoped down a bunch of Nix build targets
- Simplified the docker-entrypoint script
- Dropped implicit fields from Litestream configuration
Mikeville
This is a game I tried vibe coding a few weeks ago. It worked well when it was single-player 100% JavaScript, but the LLMs failed to make progress when I switched it to multiplayer with Phoenix. I kinda gave up but a friend suggested I try again with the latest frontier models turned up to xhigh, and it worked! The main bottleneck was figuring out a way for the LLMs to run e2e tests themselves to verify behavior. Before, they kept giving me incorrect results, but now it’s mostly always correct.
- Added support for password protection
- And made it so you can send links with the password embedded in the link
- Made it possible for players to choose their names
- Added in-game help screen
- Added a NixOS module for the game
- Added support for in-game chat
- Added full cow support
HN Observer
HN Observer is a tool I’m working on to predict the outcome of submissions to Hacker News based on historical data.
- Kind of fixed a bug in rendering the front page
- I hadn’t touched it in about 6 months, so I let the latest frontier models take a crack at it.
- Moved the repo from GitHub to my private Gitea Cloud instance
- Backported a bunch of repo-level improvements from other projects
NixOS config
- Fixed the NixOS config on my laptop
- WiFi and USB devices weren’t working on the latest NixOS rebuild, but it’s a laptop I don’t use often.
- I eventually realized it was the kernel module lock I added to my common Nix folder, which was blocking the OS from loading the kernel module for WiFi and my USB device.
- This kernel module locking thing keeps biting me
Misc
- Co-hosted Indie Founders Western Mass meetup
- Tried messing with Gitea Cloud
- So far, kind of unimpressed
- Monitoring is bad. Just point in time snapshots of CPU/RAM. Where are my Grafana dashboards?
- CI/CD doesn’t seem to auto-scale at all. My builds consistently completed in about 2m, but when I ran 6 in parallel, they ballooned to 30m+ each, so I was billed for like 3 hours of CI build time when it seems like they would have completed in 12 minutes had they run serially.
- I reached out to support, and we’re going on two business days of no response.
- It is fast, but when I have multiple Gitea Actions jobs running, it slows down, which makes me suspect that they’re using my Gitea instance to run Actions jobs.
- I’m so fed up with Codeberg and desperate to move elsewhere
- Emailed StaticHost to ask about moving there
- Never heard back