{
  "attachments": [
    "be01b27436af.jpg",
    "5a0a316d72d9.jpg",
    "73e807849486.jpg",
    "5eb6bf4ebb23.jpg"
  ],
  "title": "The tiger is out (Week 29)",
  "date": "2026-07-17T19:00:00.000Z",
  "thumbnail": "/2026/07/17/w29/5eb6bf4ebb23.jpg",
  "tags": [
    "weeknotes",
    "cats",
    "music",
    "selfhosting",
    "gamedev",
    "gaming"
  ],
  "layout": "post",
  "year": "2026",
  "month": "07",
  "day": "17",
  "isDir": true,
  "slug": "w29",
  "type": "entry",
  "postName": "2026-07-17-w29",
  "html": "<p>TL;DR: Last week I said Minnaloushe was inching toward parole from cat jail. This week he simply escaped — repeatedly, by jumping onto my office door and vaulting the five-foot gate — which earned him the household title of \"the tiger.\" Meanwhile the <code>byom</code>/mixtapes rabbit hole kept swallowing me whole (cover art, mosaic hero images, virtualizing an 8000-track playlist, npm releases, Navidrome and Plex playback), <code>starnet</code> sprouted a Quality-Based Narrative epic, and I fell down a gacha-game reorientation hole and an Oxford-comma nerdsnipe hole in the same week.</p>\n<!--more-->\n\n\n\n<nav role=\"navigation\" class=\"table-of-contents\"></nav>\n\n<h2 id=\"the-tiger-is-out\">The tiger is out</h2>\n<p>When I left off last week, Minnaloushe — a.k.a. \"the Hunk,\" so named because <a href=\"https://masto.hackers.town/@lmorchard/116913831805067815\">the adoption agency called him hunky</a> — was still doing his time behind the tall gate in my office while we reboot the cat introductions. He was, I said, inching toward parole.</p>\n<p>He decided not to wait.</p>\n<p>First he <a href=\"https://masto.hackers.town/@lmorchard/116919794043335799\">figured out how to breach cat jail</a>: jump on top of my office door, then from there jump through the gap above the five-foot pet gate in the doorway. He did it twice, and then I caught him doing the jump math and butt wiggles for a third go. Certainly not a dumb critter.</p>\n<p>By the weekend I had to concede the point entirely, with apologies to Nael, grade 1, whose <a href=\"https://826dc.org/student-writing/the-tiger/\">poem \"The Tiger\"</a> I have never been able to get out of my head:</p>\n<blockquote>\n<p>The tiger\nHe destroyed his cage\nYes\nYES\nThe tiger is out</p>\n</blockquote>\n<image-gallery>\n\n<p><img src=\"be01b27436af.jpg\" alt=\"My office doorway with the cat jail gate set aside\" width=\"\" height=\"\"></p>\n<p><img src=\"5a0a316d72d9.jpg\" alt=\"Minnaloushe roaming atop a speaker in the living room\" width=\"\" height=\"\"></p>\n<p><img src=\"73e807849486.jpg\" alt=\"Minnaloushe in the kitchen eating some cat food\" width=\"\" height=\"\"></p>\n</image-gallery>\n\n<p>Between jailbreaks, he kept himself busy being a menace to my desk specifically. I turned around one afternoon to find him <a href=\"https://masto.hackers.town/@lmorchard/116904309856365813\">going to town chewing on the joystick</a> of my little barcade cabinet like it was a jawbreaker:</p>\n<p><img src=\"5eb6bf4ebb23.jpg\" alt=\"A black cat plays with the joystick of a miniature arcade cabinet with a Mozilla sticker\" width=\"\" height=\"\"></p>\n<p>He also <a href=\"https://masto.hackers.town/@lmorchard/116920348585550769\">pried the rubber nubbins off my laptop shelf</a> (twice), buried his head in a foam pumpkin to <a href=\"https://masto.hackers.town/@lmorchard/116914128610384576\">fish out the electronics inside</a>, and generally <a href=\"https://masto.hackers.town/@lmorchard/116913802555033184\">made himself at home</a> stretched across the keyboards and monitors like he pays rent here.</p>\n<p>The freedom tour did not last. There was <a href=\"https://masto.hackers.town/@lmorchard/116925375967665891\">a bit of a scuffle</a> — I'm pretty sure Cosmo started it — so the tiger is back in his cage for a little while so we can have workday peace. Cage not entirely destroyed yet. Baby steps.</p>\n<h2 id=\"is-this-a-music-blog-now\">Is this a music blog now?</h2>\n<p>The mixtapes project I started last week refused to let go. What began as \"somewhere to stash my playlists off Spotify\" has, over the course of the week, <a href=\"https://masto.hackers.town/@lmorchard/116905850438782330\">maybe turned into a kind of music blog</a>? We'll see if I actually keep it up with new mixtapes. Either way, <a href=\"https://github.com/lmorchard/byom-sync\"><code>byom-sync</code></a> and <a href=\"https://github.com/lmorchard/byom-player\"><code>byom-player</code></a> both got a frankly absurd number of commits.</p>\n<p>The stuff I'm happiest about:</p>\n<ul>\n<li><p><strong>Virtualizing the tracklist.</strong> That Big Sonic Heaven playlist is past 8000 tracks, and rendering all of them into the DOM at once made the web component <a href=\"https://masto.hackers.town/@lmorchard/116905855453456651\">do completely stupid things</a>. <a href=\"https://github.com/lmorchard/byom-player/issues/39\">Windowing the list</a> so it only renders what's on screen fixed that, and I added <a href=\"https://github.com/lmorchard/byom-sync/issues/43\">viewport-priority pruning</a> to the availability prescan so it isn't frantically checking 8000 tracks you'll never scroll to.</p>\n</li>\n<li><p><strong>Cover art and mosaic heroes.</strong> <code>byom-sync</code> now <a href=\"https://github.com/lmorchard/byom-sync/pull/20\">resolves cover art via MusicBrainz and the Cover Art Archive</a>, and for playlists that don't have an explicit cover it <a href=\"https://github.com/lmorchard/byom-sync/issues/32\">generates a representative mosaic hero image</a> out of the album art it does have. The index and playlist pages look a lot less like a spreadsheet now.</p>\n</li>\n<li><p><strong>It plays my own music.</strong> Even though it defaults to pulling audio from YouTube, I got it <a href=\"https://masto.hackers.town/@lmorchard/116905865548891038\">working against my homelab Navidrome and Plex installs</a> — so it can play music from my personal collection (or yours) without uploading all the files somewhere first. That's the part that makes the whole \"gardener, not a tenant\" thing feel real.</p>\n</li>\n</ul>\n<p>The rest of the week was the unglamorous tail of shipping something: I <a href=\"https://github.com/lmorchard/byom-player/issues/4\">published <code>byom-player</code> to npm</a> and cut a few tagged releases, did a big mobile pass on the site and player chrome, and rebuilt the layout around a proper app shell. Not exciting to describe, but it's the difference between a demo and a thing.</p>\n<h2 id=\"back-on-my-gamedev-bullshit-quality-edition\">Back on my gamedev bullshit, quality edition</h2>\n<p><code>starnet</code>, the long-simmering cyberpunk netrunning RPG, got some attention too. Last week's exploit-barrage mini-game landed a follow-up (<a href=\"https://github.com/lmorchard/starnet/pull/314\">the <code>worktree-exploit-e2-gear</code> work merged</a>), but the bigger move was opening <a href=\"https://github.com/lmorchard/starnet/issues/315\">an epic for a Quality-Based Narrative meta-loop</a> — StoryNexus-style storylets, driven by facts accumulated over a run. If you've ever played Fallen London and wondered how the story keeps reshuffling itself around what you've done, that's the machinery I'm trying to build a version of. It's the connective tissue that could turn a pile of mini-games into an actual game. We'll see.</p>\n<h2 id=\"the-live-service-reorientation-problem\">The live-service reorientation problem</h2>\n<p>I spent a chunk of the week trying to climb back into a couple of gacha games and bouncing right back off. I fired up Zenless Zone Zero again after loving it last summer and thought: <a href=\"https://masto.hackers.town/@lmorchard/116922303901298762\">sweet merciful crap, what is any of this?</a> Same story with Honkai: Star Rail, which <a href=\"https://masto.hackers.town/@lmorchard/116922495124846596\">greeted me with a \"welcome back\" gift of currencies</a> when what I actually needed was a \"here's WTF you were doing last time\" reorientation.</p>\n<p>That's the recurring trap with these free-to-play things: they're <a href=\"https://masto.hackers.town/@lmorchard/116922310610168567\">a bewildering blizzard of currencies and limited-time offers and geegaws</a>, I enjoy them intensely for a limited window, and then my brain flushes all knowledge of their systems the moment I look away. The one exception is Warframe, which <a href=\"https://masto.hackers.town/@lmorchard/116922316688221387\">I somehow retain across months-long absences</a> — and which had a genuinely wild <a href=\"https://masto.hackers.town/@lmorchard/116903662094531617\">Tau expansion reveal at TennoCon</a> that manages to blend detective noir, swanky triphop, cyberpunk, deep-future stoner-rock sci-fi, and screaming cosmic horror. I love that creative team.</p>\n<p>On the hardware side, I've been leaning on <a href=\"https://masto.hackers.town/@lmorchard/116909762988442746\">GeForce NOW</a> rather than upgrade a six-year-old GPU — I know cloud gaming is \"how they get ya,\" but my internet is good and I'd rather make a few extra mortgage payments. Less happily, the Xbox controller I use has become <a href=\"https://masto.hackers.town/@lmorchard/116909805087691611\">a full Ship of Theseus</a>: the rubberized thumbstick texture is now sloughing off gloopily under my thumbs, and I'd already replaced the outer shell after the original crumbled. I don't think this thing is even a few years old.</p>\n<h2 id=\"miscellanea\">Miscellanea</h2>\n<div class=\"weeknote-miscellanea\">\n\n<ul>\n<li>Firefox in WebAssembly is real: the <a href=\"https://developer.puter.com/labs/firefox-wasm/\">Gecko engine compiled to WASM</a> (<a href=\"https://github.com/HeyPuter/firefox-wasm\">repo here</a>), rendering the real Firefox UI inside a browser tab. My favorite part is that it <a href=\"https://masto.hackers.town/@lmorchard/116927454534706451\">ironically didn't work <em>in Firefox</em></a> — until I <a href=\"https://masto.hackers.town/@lmorchard/116927462594096195\">flipped a config bit</a>, and then off it went.</li>\n<li>A cluster of AI-hype-reckoning reading piled up this week: Ford <a href=\"https://www.bbc.com/news/articles/cgrkd41n2v9o?ref=karlbode.com\">rehired human engineers after AI failed their quality checks</a> (\"mistakenly, we thought that by just introducing artificial intelligence… that would produce a high-quality product\"), Karl Bode on <a href=\"https://karlbode.com/the-ai-hype-reckoning-is-upon-us/\">the AI hype reckoning</a> and the chasm between useful automation and technofascist hucksterism, and geohot's counterpoint, <a href=\"https://geohot.github.io//blog/jekyll/update/2026/07/12/i-love-llms.html\">\"I love LLMs, I hate hype\"</a>. The most nuanced take was the <a href=\"https://htmx.org/essays/working-with-ai/\">htmx essay on working with AI</a> — an older developer describing how it patches the specific weaknesses of memory and stamina that age brings.</li>\n<li>Adjacent, and quietly worrying: Laura Michet on <a href=\"https://blog.lauramichet.com/world-historic-amounts-of-gamedev-talent-thrown-out-to-rot/\">world-historic amounts of gamedev talent being thrown out to rot</a>, and Xe Iaso arguing <a href=\"https://xeiaso.net/notes/2026/console-wars-lost/\">the console wars have already been lost</a> — Valve winning by doing nothing while everyone else shoots themselves in the head.</li>\n<li>The web-durability drumbeat continues: Zeldman on <a href=\"https://zeldman.com/2026/07/06/memories-cant-wait-or-how-i-learned-to-keep-worrying-about-the-web/\">keeping worrying about the web</a> (\"be gardeners, not just tenants\"), the Grumpy Welshman on how <a href=\"https://grumpywelshman.com/the-internet-doesnt-want-readers-it-wants-livestock/\">the internet wants livestock, not readers</a>, and a lovely bit of digital archaeology in Dan Q's <a href=\"https://danq.me/2026/07/10/rescuing-7234-gifs/\">rescue of 7,234 old GIFs</a> via a server-side imagemap.</li>\n<li>Also bookmarked: <a href=\"https://floooh.github.io/tiny8bit-preview/index.html\">Tiny Emulators</a>, a <a href=\"https://thega.me.uk/2026/07/dungeons-and-dryers/\">D&amp;D-group-repairs-a-tumble-dryer-mid-campaign</a> story, <a href=\"https://freek.dev/3156-leave-a-failing-test-before-you-go-on-vacation\">Freek Van der Herten on leaving a failing test before you go on vacation</a> (a genuinely good idea for easing back in), Ian Reppel's <a href=\"https://ianreppel.org/the-tragedy-of-the-engineering-commons/\">tragedy of the engineering commons</a>, and a <a href=\"https://endform.dev/blog/playwright-github-actions\">fast Playwright-on-GitHub-Actions setup</a>.</li>\n<li>I got nerdsniped into an Oxford-comma-and-AP-vs-APA thread so hard that I <a href=\"https://masto.hackers.town/@lmorchard/116920763345454852\">signed up for a free AP Stylebook trial to prove a point</a> so pedantic I wanted to self-defenestrate. Should I tell my therapist about this?</li>\n<li>In a related ADHD-brain event, a TikTok convinced me that <a href=\"https://masto.hackers.town/@lmorchard/116920802242736569\">baker's racks with trays are the perfect ADHD project-storage unit</a> — \"tray after tray of random access projects\" — and I spent an embarrassing amount of time shopping for aluminum sheet-pan racks for the workshop. Every hobby, as someone on Mastodon put it, ends with storage problems.</li>\n<li>Cleopatra Records — the goth/industrial label — apparently now <a href=\"https://cleopatrarecords.bandcamp.com/album/faithfully\">distributes Engelbert Humperdinck</a>, which sent me down a very confused rabbit hole about their catalog.</li>\n<li>Plex informed me that its <a href=\"https://masto.hackers.town/@lmorchard/116933857580069611\">\"Top Movies in Romance\"</a> are Bill &amp; Ted's Excellent Adventure, Corpse Bride, Hairspray, The Lost Boys, and Mallrats. I have no notes. The algorithm knows me.</li>\n<li>Podcast-wise it was a Vergecast-heavy week (<a href=\"https://pocketcasts.com/podcast/8b0b13e0-8c29-013e-2d25-0ee3c75e9209\">Netflix turning into YouTube</a>, the problem with Suno and AI music, \"were we too nice to the Steam Machine?\") plus the usual NPR <em>Up First</em> drip.</li>\n</ul>\n</div>\n\n\n\n<h2 id=\"wrapping-up\">Wrapping up</h2>\n<p>Not a bad week: a cat who has evidently decided that walls are a suggestion, a side project that keeps threatening to become a real thing, and enough good reading to keep my \"gardener, not tenant\" convictions well-watered. On the quieter side, my therapist <a href=\"https://masto.hackers.town/@lmorchard/116930827397645644\">flagged that my anxiety and grief scores were up</a> at this week's check-in, which tracks — so I'm trying to be gentle with myself about how much of the above is genuine play and how much is hyperfocus doing its thing. Probably some of both. The tiger and I have that in common.</p>\n",
  "body": "TL;DR: Last week I said Minnaloushe was inching toward parole from cat jail. This week he simply escaped — repeatedly, by jumping onto my office door and vaulting the five-foot gate — which earned him the household title of \"the tiger.\" Meanwhile the `byom`/mixtapes rabbit hole kept swallowing me whole (cover art, mosaic hero images, virtualizing an 8000-track playlist, npm releases, Navidrome and Plex playback), `starnet` sprouted a Quality-Based Narrative epic, and I fell down a gacha-game reorientation hole and an Oxford-comma nerdsnipe hole in the same week.\n\n<!--more-->\n\n<nav role=\"navigation\" class=\"table-of-contents\"></nav>\n\n## The tiger is out\n\nWhen I left off last week, Minnaloushe — a.k.a. \"the Hunk,\" so named because [the adoption agency called him hunky](https://masto.hackers.town/@lmorchard/116913831805067815) — was still doing his time behind the tall gate in my office while we reboot the cat introductions. He was, I said, inching toward parole.\n\nHe decided not to wait.\n\nFirst he [figured out how to breach cat jail](https://masto.hackers.town/@lmorchard/116919794043335799): jump on top of my office door, then from there jump through the gap above the five-foot pet gate in the doorway. He did it twice, and then I caught him doing the jump math and butt wiggles for a third go. Certainly not a dumb critter.\n\nBy the weekend I had to concede the point entirely, with apologies to Nael, grade 1, whose [poem \"The Tiger\"](https://826dc.org/student-writing/the-tiger/) I have never been able to get out of my head:\n\n> The tiger\n> He destroyed his cage\n> Yes\n> YES\n> The tiger is out\n\n<image-gallery>\n\n![My office doorway with the cat jail gate set aside](be01b27436af.jpg)\n\n![Minnaloushe roaming atop a speaker in the living room](5a0a316d72d9.jpg)\n\n![Minnaloushe in the kitchen eating some cat food](73e807849486.jpg)\n\n</image-gallery>\n\nBetween jailbreaks, he kept himself busy being a menace to my desk specifically. I turned around one afternoon to find him [going to town chewing on the joystick](https://masto.hackers.town/@lmorchard/116904309856365813) of my little barcade cabinet like it was a jawbreaker:\n\n![A black cat plays with the joystick of a miniature arcade cabinet with a Mozilla sticker](5eb6bf4ebb23.jpg)\n\nHe also [pried the rubber nubbins off my laptop shelf](https://masto.hackers.town/@lmorchard/116920348585550769) (twice), buried his head in a foam pumpkin to [fish out the electronics inside](https://masto.hackers.town/@lmorchard/116914128610384576), and generally [made himself at home](https://masto.hackers.town/@lmorchard/116913802555033184) stretched across the keyboards and monitors like he pays rent here.\n\nThe freedom tour did not last. There was [a bit of a scuffle](https://masto.hackers.town/@lmorchard/116925375967665891) — I'm pretty sure Cosmo started it — so the tiger is back in his cage for a little while so we can have workday peace. Cage not entirely destroyed yet. Baby steps.\n\n## Is this a music blog now?\n\nThe mixtapes project I started last week refused to let go. What began as \"somewhere to stash my playlists off Spotify\" has, over the course of the week, [maybe turned into a kind of music blog](https://masto.hackers.town/@lmorchard/116905850438782330)? We'll see if I actually keep it up with new mixtapes. Either way, [`byom-sync`](https://github.com/lmorchard/byom-sync) and [`byom-player`](https://github.com/lmorchard/byom-player) both got a frankly absurd number of commits.\n\nThe stuff I'm happiest about:\n\n- **Virtualizing the tracklist.** That Big Sonic Heaven playlist is past 8000 tracks, and rendering all of them into the DOM at once made the web component [do completely stupid things](https://masto.hackers.town/@lmorchard/116905855453456651). [Windowing the list](https://github.com/lmorchard/byom-player/issues/39) so it only renders what's on screen fixed that, and I added [viewport-priority pruning](https://github.com/lmorchard/byom-sync/issues/43) to the availability prescan so it isn't frantically checking 8000 tracks you'll never scroll to.\n\n- **Cover art and mosaic heroes.** `byom-sync` now [resolves cover art via MusicBrainz and the Cover Art Archive](https://github.com/lmorchard/byom-sync/pull/20), and for playlists that don't have an explicit cover it [generates a representative mosaic hero image](https://github.com/lmorchard/byom-sync/issues/32) out of the album art it does have. The index and playlist pages look a lot less like a spreadsheet now.\n\n- **It plays my own music.** Even though it defaults to pulling audio from YouTube, I got it [working against my homelab Navidrome and Plex installs](https://masto.hackers.town/@lmorchard/116905865548891038) — so it can play music from my personal collection (or yours) without uploading all the files somewhere first. That's the part that makes the whole \"gardener, not a tenant\" thing feel real.\n\nThe rest of the week was the unglamorous tail of shipping something: I [published `byom-player` to npm](https://github.com/lmorchard/byom-player/issues/4) and cut a few tagged releases, did a big mobile pass on the site and player chrome, and rebuilt the layout around a proper app shell. Not exciting to describe, but it's the difference between a demo and a thing.\n\n## Back on my gamedev bullshit, quality edition\n\n`starnet`, the long-simmering cyberpunk netrunning RPG, got some attention too. Last week's exploit-barrage mini-game landed a follow-up ([the `worktree-exploit-e2-gear` work merged](https://github.com/lmorchard/starnet/pull/314)), but the bigger move was opening [an epic for a Quality-Based Narrative meta-loop](https://github.com/lmorchard/starnet/issues/315) — StoryNexus-style storylets, driven by facts accumulated over a run. If you've ever played Fallen London and wondered how the story keeps reshuffling itself around what you've done, that's the machinery I'm trying to build a version of. It's the connective tissue that could turn a pile of mini-games into an actual game. We'll see.\n\n## The live-service reorientation problem\n\nI spent a chunk of the week trying to climb back into a couple of gacha games and bouncing right back off. I fired up Zenless Zone Zero again after loving it last summer and thought: [sweet merciful crap, what is any of this?](https://masto.hackers.town/@lmorchard/116922303901298762) Same story with Honkai: Star Rail, which [greeted me with a \"welcome back\" gift of currencies](https://masto.hackers.town/@lmorchard/116922495124846596) when what I actually needed was a \"here's WTF you were doing last time\" reorientation.\n\nThat's the recurring trap with these free-to-play things: they're [a bewildering blizzard of currencies and limited-time offers and geegaws](https://masto.hackers.town/@lmorchard/116922310610168567), I enjoy them intensely for a limited window, and then my brain flushes all knowledge of their systems the moment I look away. The one exception is Warframe, which [I somehow retain across months-long absences](https://masto.hackers.town/@lmorchard/116922316688221387) — and which had a genuinely wild [Tau expansion reveal at TennoCon](https://masto.hackers.town/@lmorchard/116903662094531617) that manages to blend detective noir, swanky triphop, cyberpunk, deep-future stoner-rock sci-fi, and screaming cosmic horror. I love that creative team.\n\nOn the hardware side, I've been leaning on [GeForce NOW](https://masto.hackers.town/@lmorchard/116909762988442746) rather than upgrade a six-year-old GPU — I know cloud gaming is \"how they get ya,\" but my internet is good and I'd rather make a few extra mortgage payments. Less happily, the Xbox controller I use has become [a full Ship of Theseus](https://masto.hackers.town/@lmorchard/116909805087691611): the rubberized thumbstick texture is now sloughing off gloopily under my thumbs, and I'd already replaced the outer shell after the original crumbled. I don't think this thing is even a few years old.\n\n## Miscellanea\n\n<div class=\"weeknote-miscellanea\">\n\n* Firefox in WebAssembly is real: the [Gecko engine compiled to WASM](https://developer.puter.com/labs/firefox-wasm/) ([repo here](https://github.com/HeyPuter/firefox-wasm)), rendering the real Firefox UI inside a browser tab. My favorite part is that it [ironically didn't work *in Firefox*](https://masto.hackers.town/@lmorchard/116927454534706451) — until I [flipped a config bit](https://masto.hackers.town/@lmorchard/116927462594096195), and then off it went.\n* A cluster of AI-hype-reckoning reading piled up this week: Ford [rehired human engineers after AI failed their quality checks](https://www.bbc.com/news/articles/cgrkd41n2v9o?ref=karlbode.com) (\"mistakenly, we thought that by just introducing artificial intelligence… that would produce a high-quality product\"), Karl Bode on [the AI hype reckoning](https://karlbode.com/the-ai-hype-reckoning-is-upon-us/) and the chasm between useful automation and technofascist hucksterism, and geohot's counterpoint, [\"I love LLMs, I hate hype\"](https://geohot.github.io//blog/jekyll/update/2026/07/12/i-love-llms.html). The most nuanced take was the [htmx essay on working with AI](https://htmx.org/essays/working-with-ai/) — an older developer describing how it patches the specific weaknesses of memory and stamina that age brings.\n* Adjacent, and quietly worrying: Laura Michet on [world-historic amounts of gamedev talent being thrown out to rot](https://blog.lauramichet.com/world-historic-amounts-of-gamedev-talent-thrown-out-to-rot/), and Xe Iaso arguing [the console wars have already been lost](https://xeiaso.net/notes/2026/console-wars-lost/) — Valve winning by doing nothing while everyone else shoots themselves in the head.\n* The web-durability drumbeat continues: Zeldman on [keeping worrying about the web](https://zeldman.com/2026/07/06/memories-cant-wait-or-how-i-learned-to-keep-worrying-about-the-web/) (\"be gardeners, not just tenants\"), the Grumpy Welshman on how [the internet wants livestock, not readers](https://grumpywelshman.com/the-internet-doesnt-want-readers-it-wants-livestock/), and a lovely bit of digital archaeology in Dan Q's [rescue of 7,234 old GIFs](https://danq.me/2026/07/10/rescuing-7234-gifs/) via a server-side imagemap.\n* Also bookmarked: [Tiny Emulators](https://floooh.github.io/tiny8bit-preview/index.html), a [D&D-group-repairs-a-tumble-dryer-mid-campaign](https://thega.me.uk/2026/07/dungeons-and-dryers/) story, [Freek Van der Herten on leaving a failing test before you go on vacation](https://freek.dev/3156-leave-a-failing-test-before-you-go-on-vacation) (a genuinely good idea for easing back in), Ian Reppel's [tragedy of the engineering commons](https://ianreppel.org/the-tragedy-of-the-engineering-commons/), and a [fast Playwright-on-GitHub-Actions setup](https://endform.dev/blog/playwright-github-actions).\n* I got nerdsniped into an Oxford-comma-and-AP-vs-APA thread so hard that I [signed up for a free AP Stylebook trial to prove a point](https://masto.hackers.town/@lmorchard/116920763345454852) so pedantic I wanted to self-defenestrate. Should I tell my therapist about this?\n* In a related ADHD-brain event, a TikTok convinced me that [baker's racks with trays are the perfect ADHD project-storage unit](https://masto.hackers.town/@lmorchard/116920802242736569) — \"tray after tray of random access projects\" — and I spent an embarrassing amount of time shopping for aluminum sheet-pan racks for the workshop. Every hobby, as someone on Mastodon put it, ends with storage problems.\n* Cleopatra Records — the goth/industrial label — apparently now [distributes Engelbert Humperdinck](https://cleopatrarecords.bandcamp.com/album/faithfully), which sent me down a very confused rabbit hole about their catalog.\n* Plex informed me that its [\"Top Movies in Romance\"](https://masto.hackers.town/@lmorchard/116933857580069611) are Bill & Ted's Excellent Adventure, Corpse Bride, Hairspray, The Lost Boys, and Mallrats. I have no notes. The algorithm knows me.\n* Podcast-wise it was a Vergecast-heavy week ([Netflix turning into YouTube](https://pocketcasts.com/podcast/8b0b13e0-8c29-013e-2d25-0ee3c75e9209), the problem with Suno and AI music, \"were we too nice to the Steam Machine?\") plus the usual NPR *Up First* drip.\n\n</div>\n\n## Wrapping up\n\nNot a bad week: a cat who has evidently decided that walls are a suggestion, a side project that keeps threatening to become a real thing, and enough good reading to keep my \"gardener, not tenant\" convictions well-watered. On the quieter side, my therapist [flagged that my anxiety and grief scores were up](https://masto.hackers.town/@lmorchard/116930827397645644) at this week's check-in, which tracks — so I'm trying to be gentle with myself about how much of the above is genuine play and how much is hyperfocus doing its thing. Probably some of both. The tiger and I have that in common.\n",
  "parentPath": "./content/posts/2026/2026-07-17-w29",
  "path": "2026/07/17/w29",
  "summary": "TL;DR: Last week I said Minnaloushe was inching toward parole from cat jail. This week he simply escaped — repeatedly, by jumping onto my office door and vaulting the five-foot gate — which earned him the household title of \"the tiger.\" Meanwhile the byom/mixtapes rabbit hole kept swallowing me whole (cover art, mosaic hero images, virtualizing an 8000-track playlist, npm releases, Navidrome and Plex playback), starnet sprouted a Quality-Based Narrative epic, and I fell down a gacha-game reorientation hole and an Oxford-comma nerdsnipe hole in the same week.",
  "needsBuild": true,
  "prevPostPath": "2026/07/10/w28",
  "prevPostTitle": "Somewhere to stash my mixtapes (Week 28)",
  "nextPostPath": "2026/07/31/w31",
  "nextPostTitle": "Cat Parole, Coding Sprints, and a Memorial Tattoo (Catching up: July 11 – July 31)"
}