Site history

Changelog

A running log of what's changed on this site.

    • Home: the featured Vidoumo banner now shows the demo’s browser window, with its YouTube and Netflix tabs and a caption over a film still, in place of the caption alone. It scales as one rectangle at every width and sits vertically centred.
    • Projects: the Vidoumo image now shows the two-tab demo, with the Netflix controls, the caption and the popup.
    • Vidoumo: the demo on /vidoumo is now a browser window with two tabs, YouTube and Netflix. Switching tabs puts the same clip in YouTube’s controls or Netflix’s, and the active tab shows whether the sound is on. The clip now starts muted.
    • Vidoumo 1.4.0: it now works on Netflix. The Japanese subtitle you pick in the player gets furigana, English underneath and the dictionary card, saved words link back to the moment, and the level pill sits in front of the title. New release notes, and Netflix added to /vidoumo, the privacy policy, /vidoumo/levels, the note and the home banner.
    • Projects: the mrfrisby.com slideshow now also shows the guestbook, the Nakasendo photo essay and the tools page.
    • Projects: replaced the V Clarke Therapy screenshot, which was a crop of about half the page width, with a full-width capture like the others.
    • Vidoumo: removed the folded "Install from the zip instead" steps from /vidoumo. The zip is still one link away in the intro, for anyone who wants it.
    • Vidoumo: the release notes on /vidoumo now say how to update. Installs from the Chrome Web Store update themselves; installs from the zip are replaced by hand.
    • Vidoumo: removed the three-step install row from /vidoumo, since adding it from the Chrome Web Store explains itself. The "Install from the zip instead" steps stay, folded away, for browsers that will not use the store.
    • Vidoumo: the /vidoumo page now has a section for the JLPT level estimate, "How hard is this video?", with the pill and its tooltip (word levels, kanji, speed of speech) and a switch between a slow cooking lesson and a news report. The other feature sections are renumbered, and the intro mentions the level. The demo player's control bar also carries the pill, before the play button, with the same tooltip on hover.
    • Vidoumo 1.2.4: a JLPT level estimate now sits in front of the video title on YouTube, such as "JLPT N3–N4". It is worked out in the browser from the words, the kanji and the speed of speech in the Japanese captions, and hovering it shows the breakdown. Also: automatic-caption lines with no timing of their own stay up for as long as their words suggest, and a stray one-word tail of English no longer flashes up. New release notes, credits and a line in the privacy policy on /vidoumo.
    • Vidoumo is on the Chrome Web Store. The /vidoumo page now leads with "Add to your browser", which says "Not available for Safari" (or Firefox, or "Open on a desktop browser" on a phone) where it cannot be installed. The install steps are the store's, and the zip is a secondary option with its own steps for a browser that will not use the store. The homepage banner now says "Get Vidoumo", and /now and the Vidoumo note say it is on the store.
    • Vidoumo 1.2.2: removed the unused end-of-video quiz code from the extension and added a licences file covering kuromoji, its IPADIC dictionary and the other bundled code. Nothing changes on screen. New release notes on /vidoumo.
    • Vidoumo: added a privacy policy at /vidoumo/privacy, linked quietly from the page's "What leaves your browser" notes. It sets out what the extension stores on your device, what it sends to Jisho and, only as a last resort, Google Translate, and what it never collects. The page itself is kept out of search results and the sitemap.
    • Trimmed the AI paragraph in /now's "what I'm thinking about" down to the actual point — the long-term viability of a career in tech — without the specifics.
    • Turned the /now wallpaper up a bit — opacity from 0.6 to 0.8, so the sunset reads more clearly behind the windows.
    • Switched the /now saved-video embed to youtube-nocookie.com — same player, but it skips YouTube's regular tracking cookies and cuts down on the ad/analytics beacon noise a content blocker would otherwise flag in the console.
    • New note: "The Kitchen Project" — the six-month renovation diary I posted as a Bluesky thread in 2025, from the first demolition day to the finishing touches, now up as a proper note with all 82 photos. Backdated to when it actually happened. Also added a couple of new figure layouts for notes generally — a full-bleed single image and a 2-up row, for photo-heavy posts like this one.
    • Music: the currently-playing track is now marked inside an album's tracklist, not just on the album itself — a pulsing dot and highlighted name on the matching track, wherever the tracklist appears (the Now Playing panel, or opening the same album from the grid). Matches on a normalised track name, since Last.fm's "now playing" name and its own tracklist for the same album aren't always byte-identical.
    • Fixed a real data bug in the music library: two entirely unrelated real bands are both named Placebo (UK alt-rock, and a 70s Belgian jazz-fusion group), each with a self-titled album — the original library build matched the wrong one, showing the jazz record's cover, year and genre for what is actually a Placebo (rock) album. Corrected against the right MusicBrainz release. Last.fm's own album page for this exact title pair has the same two-bands-conflated bug baked in on their side (right bio, wrong tracklist) with no query parameter to work around it, so the tracklist for this one album is now sourced from MusicBrainz directly rather than Last.fm — every other album is unaffected.
    • Updated /now — what I'm working on and what I'm thinking about, both a bit stale.
    • New /now wallpaper — a Devon sunset. Dropped the grayscale filter that every previous wallpaper photo had run through, and swapped the dot-matrix overlay for a plain vignette; this one's all about the colour, so it stays punchy and mostly full-brightness, just darkened toward the edges to stay out of the windows' way.
    • Homepage: added Come to Art Club (cometoartclub.com) to the Projects section, and turned the non-featured projects into a 2×2 grid instead of a single-column list, so the section doesn't keep growing taller as more sites get added below the featured banner.
    • Homepage: Projects can now feature more than one banner at once — added a second, password-gated entry (an OS-map-styled card with a password field and a View button in place of the usual link) for a private research project I'm sharing with specific people rather than publishing openly.
    • Added a small Netlify Edge Function that password-gates a page ahead of the static file itself, so a direct hit on the URL with no referrer still shows a password prompt, not the content — reusable for other pages down the line, not just this one.
    • Homepage: rebuilt the Projects section into a mini-portfolio — COSTA is now the featured project, shown as a full-bleed branded banner, with the other sites I've designed and built listed below it as plain colour-coded type (title over one-line description, each set in its own project's accent colour). Replaces the old full-width "Featured Project" band that pulled a random shop title from Etsy on every page load. Dropped morning.video from the list; added Outpost and a client therapy-practice site.
    • Homepage: pulled the changelog activity widget out of the Updates block into its own component and moved it under Writing in the left column, so the two columns stay roughly balanced now that the Projects column is shorter. The recent-updates list stays on the right.
    • Homepage: the changelog widget now grows to fill the left column, so its hover highlight reaches the column edge instead of stopping short; removed a doubled hairline under the projects list.
    • Homepage: fixed the Featured Project random pick flashing the static fallback title/photo before the real pick replaced it — the section now stays hidden until the script has actually populated it, whether with the random pick or (on fetch failure) the static fallback.
    • Homepage: fixed the Featured Project block's black background/border only appearing once content loaded — the card itself now renders immediately, and only the image/text fades in once populated. Also added "Satirical Notebooks for the Politically Resentful" to the block so the joke reads clearly rather than as genuine political nonfiction.
    • Homepage: fixed the Featured Project block occasionally taking seconds to appear — it was calling the same endpoint /shop uses, which fetches Etsy data for every live title (~25, with 429 retries) to serve a full catalog the homepage never needed; now a random pick is made first and only that one title's data is fetched. Also added a pulsing skeleton placeholder so the wait (however short now) doesn't read as broken, crossfading into the real content once it's ready.
    • Homepage: added a skeleton CTA button to the Featured Project loading state — without it, the button popping in on top of the already-settled skeleton text read as a jarring second flash.
    • /now page redesigned as a BIOS-style desktop with draggable windows. Seven panels covering what I'm working on, thinking about, where I am, and live feeds from Bluesky, Last.fm, Hardcover, and Trakt.
    • Homepage: work history expanded with earlier career entries. Writing section moved to a full-width strip at the bottom.
    • Site rebuilt from scratch in Astro. New editorial design with the pistachio palette, dark and light modes, self-hosted fonts, and the MRFRISBY hero letterform that fills the full page width.
    • Halftone photo treatment on the profile portrait — blended into the page background using mix-blend-mode.
    • /now page draws live data at build time from Last.fm, Hardcover, and Trakt.