<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="/assets/feeds.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en" xml:base="https://flamedfury.com/">
  <title>fLaMEd fury</title>
  <subtitle>What&#39;s going on Internet?</subtitle>
  <link href="https://flamedfury.com/feed.xml" rel="self" />
  <link href="https://flamedfury.com/" />
  <updated>2026-04-05T01:38:01Z</updated>
  <id>https://flamedfury.com/</id>
  <author>
    <name>fLaMEd</name>
    <email>hello@flamedfury.com</email>
  </author>
  
  
    
    <entry>
      <title>Link Dump: March 2026</title>
      <link href="https://flamedfury.com/posts/link-dump-march-2026/"/>
      <updated>2026-04-05T01:38:01Z</updated>
      <id>https://flamedfury.com/posts/link-dump-march-2026/</id>
      <summary>Good stuff I read from around the web this March.</summary>
      <content xml:lang="en_EN" type="html"><![CDATA[<p>What’s going on, Internet? Trying something different. All the pages I bookmarked this month, no life updates in between.</p>
<ul class="list">
<li><a href="https://shellsharks.com/scrolls/scroll/2026-02-27" rel="noopener">Scroll trīgintā ūnus</a> by Shellsharks - Sharing the latest edition of scrolls, posting online without overthinking.</li>
<li><a href="https://www.abhinavomprakash.com/posts/i-am-happier-writing-code-by-hand/" rel="noopener">I Am Happier Writing Code by Hand</a> by Abhinav Omprakash - Letting AI write his code kills the satisfaction that made programming worth doing.</li>
<li><a href="https://keith.is/post/you-are-the-driver" rel="noopener">You Are The Driver (The AI Is Just Typing)</a> by Keith - AI coding tools are only useful once you already know what you’re doing. They automate typing, not thinking.</li>
<li><a href="https://zacharykai.net/lists/oceania" rel="noopener">Oceania Web Atlas</a> by Zachary Kai - Collects personal websites from across Oceania<br />
into one tidy, human-scaled directory.</li>
<li><a href="https://brennan.day/building-the-good-web/" rel="noopener">Building the Good Web</a> by Brennan - Building for users instead of against them is what separates the good web from everything else.</li>
<li><a href="https://joelchrono.xyz/blog/unpolished-human-websites" rel="noopener">Unpolished human websites</a> by Joel - Keep your website messy and human.</li>
<li><a href="https://backyardtinker.bearblog.dev/what-is-digital-garage/" rel="noopener">What is Digital Garage</a> - Digital Tinker’s website is a workshop built for joy, not productivity. Creation without pressure.</li>
<li><a href="https://journal.jatan.space/start-a-blog-and-get-a-domain/" rel="noopener">How to feel at home on the Internet</a> by Jatan Mehta - Is having your own domain really the only way to truly “own” your online space?</li>
<li><a href="https://www.anildash.com/2026/03/27/endgame-open-web/" rel="noopener">Endgame for the Open Web</a> by Anil Dash - Is 2026 the last year we have a chance to put a stop on the dismantling of the open web?</li>
</ul>
<p>Want more? Check out all my bookmarks at <a href="https://flamedfury.com/bookmarks/">/bookmarks/</a> and subscribe to the <a href="https://flamedfury.com/feeds/#bookmarks">bookmarks feed</a>.</p>

        <p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: Link Dump: March 2026">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/link-dump-march-2026/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
      ]]></content>
    </entry>
  
    
    <entry>
      <title>Bic Runga At Te Paepae Theatre</title>
      <link href="https://flamedfury.com/posts/bic-runga-at-te-paepae-theatre/"/>
      <updated>2026-03-31T06:34:28Z</updated>
      <id>https://flamedfury.com/posts/bic-runga-at-te-paepae-theatre/</id>
      <summary>Dinner and a concert. Going into new music blind.</summary>
      <content xml:lang="en_EN" type="html"><![CDATA[<p>What’s going on, Internet? Friday night my wife and I enjoyed a couple hours out in the evening to catch Bic Runga perform the second show on her Red Sunset tour at the recently opened Te Paepae Theatre.</p>
<p>We got into town 30 minutes before doors opened, but rather than stress about catching the warm up act we grabbed dinner at an old favourite, Depot.</p>
<p>We enjoyed clams, snapper slides, skirt steak and potato skins. Comforting knowing this is the same food we’d get here when we last visited a decade ago.</p>
<p>We arrived at Te Paepae around 8 pm, headed up stairs and found our seats. The warm up band which turned out to be Bic’s husband’s band were just finishing up. We had to double check, but yes that was Bic on the drums.</p>
<p>After a short 15-20 minute interval the show was back on with Bic taking the mic, and her husband returning the favour on drums.</p>
<p>Bic wove in old favourites among new songs from the latest album Red Sunset. Red Sunset is her first album in 15 years (if we don’t include 2016’s cover album). I hadn’t managed to listen to <a href="https://flamedfury.com/recordshelf/records/red-sunset-red-vinyl/">Red Sunset</a> yet, so the new songs were a first listen live. Pretty sure she opened with Drive. The new songs sounded great and I can’t wait to dive into the album on an upcoming roadtrip. As the show drew to an end Bic let us know that the show was wrapping up and rather than piss around with leaving the stage and coming back for the encore she got straight into her biggest and favourite track, Sway. What a tune to end the show with.</p>
<p>After the show Bic headed straight to the merch tent and was signing vinyls and CDs and posing for selfies with fans. I grabbed a copy of her 1997 album <a href="https://flamedfury.com/recordshelf/records/drive/">Drive</a> and got it signed by her. The vinyl itself wasn’t anything special. A single cardboard sleeve with a standard black vinyl. Sony obviously didn’t put a lot of effort into the production of this classic kiwi album.</p>
<p>Drive will always be a favourite of mine, it is one of my earliest memories of really getting into kiwi music. During third form (Year 9) for a music class project we had to find a local artist to do a report on, I wasn’t clued up on local music back then like I am now. Dad shared a newspaper or magazine article on this new album from a 17 year old, Bic Runga. And that I would say was my awakening to local music. It wasn’t too long until the third labour government under Helen Clark would invest heavily into the arts and we’d all be exposed to kiwi music for a solid few years.</p>
<p>Leaving the venue with my wife and the signed copy of Drive in my hand was a nice way to wrap up the evening and a good reminder of why I love kiwi music.</p>
<p>Laters 🤙</p>

        <p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: Bic Runga At Te Paepae Theatre">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/bic-runga-at-te-paepae-theatre/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
      ]]></content>
    </entry>
  
    
    <entry>
      <title>Moving My Bookmarks To Linkding</title>
      <link href="https://flamedfury.com/posts/moving-my-bookmarks-to-linkding/"/>
      <updated>2026-03-23T23:24:20Z</updated>
      <id>https://flamedfury.com/posts/moving-my-bookmarks-to-linkding/</id>
      <summary>Improving my bookmarking workflow</summary>
      <content xml:lang="en_EN" type="html"><![CDATA[<p>What’s going on, Internet? My bookmarks workflow has been working pretty well for the past couple of years. The <a href="https://github.com/library-pals/" rel="noopener">Library Pals</a> <a href="https://github.com/library-pals/bookmark-action" rel="noopener">Bookmark Action</a> by <a href="https://katydecorah.com/" rel="noopener">Katy Decorah</a> was doing the heavy lifting and worked great 99% of the time. The biggest friction for me was getting the bookmark data into the Github action. Every time I wanted to save a link to the <a href="https://flamedfury.com/bookmarks">bookmarks page</a> I was triggering an iOS Shortcut, which kicked off a GitHub Action, which committed a JSON file to my metadata-library repo, which 11ty-awesome fetched at build time.</p>
<p>It worked, but the action sometimes failed depending on the state of the page I was trying to bookmark’s meta data. The action would fail if something was missing or not quite right. 11ty-awesome also failed to build whenever I submitted a link that I had previously bookmarked. It couldn’t handle duplicates gracefully.</p>
<p>So the team over at the <a href="https://32bit.cafe/" rel="noopener">32-bit Cafe</a> recently setup an instance of <a href="https://github.com/sissbruecker/linkding" rel="noopener">Linkding</a>, and by team I mean <a href="https://yequari.com/" rel="noopener">yequari</a> did the heavy lifting and I swooped in to test it out.</p>
<p>Linkding is a self-hosted bookmark manager. Clean and fast, with an API, say no more. The 32-Bit Cafe hosts and runs a shared instance that all members can access with their SSO account, so I didn’t even need to spin up my own server. I imported my existing 478 bookmarks and was up and running pretty quickly. The import was straightforward, imported from the JSON file in the metadata library repo using the API. All 478 bookmarks made it across including the original bookmarked date. I did screw up one part though — my personal notes were imported to the description field, rather than the original metadata description from the saved page.</p>
<p>One of the problems I had with the previous workflow was how I used <a href="https://www.11ty.dev/docs/plugins/fetch/" rel="noopener">eleventy-fetch</a> to get the bookmarks from the metadata library repo during every build. The same bookmarks, each build, and the file that the <a href="https://flamedfury.com/bookmarks/">bookmarks page</a> was built from was in the <code>.cache</code> folder. So, with building out the new workflow using Linkding, rather than hitting the API on every build, I wanted a permanent file in the project that gets updated incrementally. The idea being: only fetch what’s new since the last sync, append it to a local JSON store, and have the build just read from that file.</p>
<p>This small script <code>fetchBookmarks.js</code> does exactly this. It reads <code>src/_data/bookmarks-store.json</code>, finds the most recent bookmark date, hits the Linkding API, and only pulls down anything newer. New bookmarks get prepended to the store (newest first) and that’s it. Build time doesn’t touch the network at all.</p>
<pre class="language-bash"><code class="language-bash"><span class="token function">npm</span> run fetch-bookmarks</code></pre>
<p>There’s also a <code>--full</code> flag for when I go back and update notes or descriptions on older bookmarks:</p>
<pre class="language-bash"><code class="language-bash"><span class="token function">npm</span> run fetch-bookmarks -- <span class="token parameter variable">--full</span></code></pre>
<p>That re-fetches everything from Linkding and rebuilds the store from scratch. Useful after a batch editing session.</p>
<p>The script is also chained into <code>npm run build</code> so it runs automatically before every build so I don’t forget to pull in the latest bookmarks (now that I’ll be bookmarking more often, right?)</p>
<p>So, have I reduced the friction of saving a bookmark? Am I more likely to add a bookmark in an effort to keep open tabs to a minimum (lol, I doubt it). Saving a bookmark now is pretty straightforward. I hit the bookmarklet, Linkding pulls the page title, and description. I tag it using my bookmark tagging system, and add my personal notes. From there I run the build and it’s there. No iOS shortcut, no Github action, just quickly done in the browser and then the command line, where I spend most of my site building time anyway.</p>
<p>Laters 🤙</p>

        <p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: Moving My Bookmarks To Linkding">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/moving-my-bookmarks-to-linkding/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
      ]]></content>
    </entry>
  
    
    <entry>
      <title>MF DOOM: Long Island to Leeds</title>
      <link href="https://flamedfury.com/posts/mf-doom-long-island-to-leeds/"/>
      <updated>2026-03-23T12:03:53Z</updated>
      <id>https://flamedfury.com/posts/mf-doom-long-island-to-leeds/</id>
      <summary>A five-part podcast tracing MF DOOM from Long Island to Leeds. I reckon it&amp;apos;s worth a listen, even if you&amp;apos;re not a hip hop head.</summary>
      <content xml:lang="en_EN" type="html"><![CDATA[<p>What’s going on, Internet? A quick post to share some thoughts on a great little podcast I just listened to, <a href="https://www.bbc.co.uk/programmes/m002rkh9/episodes/downloads" rel="noopener">MF DOOM: Long Island to Leeds</a>.</p>
<p>Even if you’re not a fan of underground hip-hop, or even hip-hop in general you may have heard of MF Doom. MF Doom is your favourite rapper’s favourite rapper.</p>
<p>The podcast, hosted by AFRODEUTSCHE and Adam Batty takes us through the story of how the reclusive underground MC from Long Island, New York came up in the underground Hip Hop scene and wound up in Leeds, England where he passed away in 2020.</p>
<p>It’s crazy to me how many American based Hip Hop artists were born outside of the USA but are still able to make it big in American hip-hop. His particular circumstances when it came to leaving and coming back to the States after touring were quite unfortunate but highlights the stance the United States takes on immigration. I’d hate to think how this would have come down if he was going through this today with the current immigration climate over there.</p>
<p>I’ve always been aware of MF Doom and listen to his music, but not a mega fan. What this podcast has done for me is bump up some of his albums to the top of my vinyl wish list.</p>
<p>The podcast is made of five 30 minute episodes. Even if you’re not a big Hip Hop head, give it a listen 🤙</p>

        <p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: MF DOOM: Long Island to Leeds">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/mf-doom-long-island-to-leeds/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
      ]]></content>
    </entry>
  
    
    <entry>
      <title>Damn, I Can Still Read</title>
      <link href="https://flamedfury.com/posts/damn-i-can-still-read/"/>
      <updated>2026-03-17T16:11:59Z</updated>
      <id>https://flamedfury.com/posts/damn-i-can-still-read/</id>
      <summary>Turns out my brain still works without someone narrating to it.</summary>
      <content xml:lang="en_EN" type="html"><![CDATA[<p>What’s going on, Internet? Last December I finally got off my ass and committed to reading Jared Savages books, <a href="https://flamedfury.com/bookshelf/gangland/">Gangland</a>, <a href="https://flamedfury.com/bookshelf/gangsters-paradise/">Gangster’s Paradise</a>, and the recently released <a href="https://flamedfury.com/bookshelf/underworld/">Underworld</a>.</p>
<p>These books had been on my radar since the release of Gangland, but I was waiting on an ebook version. Then I went all in on <a href="https://flamedfury.com/posts/how-have-your-listening-habits-changed/">audiobooks</a> and decided to wait until they were available in audio format.</p>
<p>So, back to December. It was my birthday. My wife sorted me some kid-free time so I dug out my Kobo Libra, charged it up a bit, reconnected to libby, borrowed Gangland and got stuck in.</p>
<p>After hundreds of audiobooks and not much ebook reading outside of comics I thought I was in for a bad time. Much to my amazement I found out rather quickly that I could still read books with words, not sound.</p>
<p>I also went through a period where I’d get into bed and snuggle in with a book only to find myself asleep after maybe getting through a single page. This made finishing books an audacious task. When I did switch to audiobooks, they became almost the only way I read. Night time reading defaulted to comic books, which I enjoyed but these have taken a back seat so far this year. I’ve got three months of X-Men to catch up on.</p>
<p>I’ve read 10 books so far this year, four audiobooks and six books on the Kobo, a big change from previous years since I started my audiobook journey. I’ve got at least three more books lined up after the one I’ve just finished.</p>
<p>After finishing the amazing <a href="https://flamedfury.com/bookshelf/1985/">1985</a> I started another audiobook that just didn’t click so I quickly abandoned it before falling into sunk cost territory. I’ve picked up a few more podcasts to listen to during the day and have been listening to more music recently.</p>
<p>I’m not worried though, I’m sure I’ll pick up the audiobooks again, just waiting for the right ones to make their way into my orbit.</p>
<p>The question is, will the backlog of X-Men comics continue to grow or will I be able to find some balance in my physical reading? I just need some more of that kid-free time, right?</p>
<p>Laters 🤙</p>

        <p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: Damn, I Can Still Read">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/damn-i-can-still-read/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
      ]]></content>
    </entry>
  
    
    <entry>
      <title>I&amp;apos;ll Name This Post Later</title>
      <link href="https://flamedfury.com/posts/ill-name-this-post-later/"/>
      <updated>2026-03-13T15:34:00Z</updated>
      <id>https://flamedfury.com/posts/ill-name-this-post-later/</id>
      <summary>What I&amp;apos;ve been up to this month. Reading, watching, listening, collecting, and exploring interesting links across the web.</summary>
      <content xml:lang="en_EN" type="html"><![CDATA[<p>What’s going on, Internet? February came and went fast, late summer in full swing, which I’m not mad about. The main highlight of the month was <a href="https://flamedfury.com/posts/carl-cox-on-waiheke/">Carl Cox on Waiheke</a>, a Saturday afternoon ferry ride, cold beers, and a few hundred people cutting loose on the dance floor under an overcast sky to a couple of world class DJs. Exactly what the doctor ordered.</p>
<p>On the site front it was a productive month. I built a <a href="https://flamedfury.com/posts/making-flamed-fury-glow-everywhere-with-an-eleventy-transform/">glow-up Eleventy transform</a> that automatically wraps every instance of fLaMEd fury across the site in the flame gradient. No manual markup needed anymore, which means there will be consistency across the site, rather than just times where I remembered. I’ve also brought the <a href="https://flamedfury.com/posts/the-guestbook-is-back/">guestbook back</a>, which has been on the to-do list forever, and knocked out a <a href="https://flamedfury.com/posts/fresh-88x31-buttons/">fresh set of 88x31 buttons</a> using Ritual’s Button Creator.</p>
<p>My phone has been having trouble recently, but a <a href="https://flamedfury.com/posts/four-more-years/">$90 battery replacement</a> means the iPhone 13 Pro gets another couple of years out of it. Feels good to not have to drop $2500 on a new phone. I still have to do the clean install. Maybe tomorrow?</p>
<p>Weekends have been full of kids activities as usual. The kids are now doing dance classes on Friday after school and Saturday mornings alongside swimming on Sunday mornings. Mr 4 is doing Athletics after school on Wednesdays but that’s about to wrap up for the winter season.</p>
<p>Speaking of Mr 5, it’s almost his birthday so we’ll be getting ready for the party, smaller than previous years as we haven’t got the same sized community up here yet but it will be a fun afternoon regardless. After his birthday we’re planning a trip back down to Martinborough for Easter and then it will be a week or two before he starts primary school.</p>
<p>I still can’t believe we’re getting to this stage of his life. Exciting and emotional times.</p>
<h2 id="reading"><a class="heading-anchor" href="https://flamedfury.com/posts/ill-name-this-post-later/#reading">Reading</a></h2>
<p>Three books done this month. Still working through the Vega Jane series on the Kobo. Baldacci writes these things to be read fast, which suits me. They’re an easy read and have been great during kids bed times. I picked up a hard copy of <a href="https://flamedfury.com/bookshelf/1985/">1985</a> by Dominic Hoey, a local author, mid-last year from our local book store and have been putting off reading it. It finally popped up at my library on Libby as an audiobook so I demolished it over a couple of days. Such a good read. I love local stories like this.</p>
<ul class="list">
<li><a href="https://flamedfury.com/bookshelf/the-finisher/">The Finisher</a> by David Baldacci</li>
<li><a href="https://flamedfury.com/bookshelf/vega-jane-and-the-maze-of-monsters/">Vega Jane and the Maze of Monsters</a> by David Baldacci</li>
<li><a href="https://flamedfury.com/bookshelf/1985/">1985</a> by Dominic Hoey</li>
</ul>
<p>The interesting thing here is that since December I’ve dusted off my Kobo Libra and have been reading ebooks again. After three years of almost exclusive <a href="https://flamedfury.com/tags/audiobooks/">audiobook</a> listening I’m back into it. I’ll post about this soon.</p>
<h2 id="on-the-shelf"><a class="heading-anchor" href="https://flamedfury.com/posts/ill-name-this-post-later/#on-the-shelf">On The Shelf</a></h2>
<p>I didn’t pick up any new records this month. I had the latest Interscope Vinyl Club release in the post, but it didn’t arrive until March. We’ll check back at the end of the month for all the new record additions.</p>
<h2 id="in-rotation"><a class="heading-anchor" href="https://flamedfury.com/posts/ill-name-this-post-later/#in-rotation">In Rotation</a></h2>
<p>February was a bit of a genre shuffle. 5 Seconds of Summer somehow ended up as my most played artist of the month with 95 listens across three albums — EVERYONE’S A STAR!, 5SOS5, and Youngblood. Did a bit of a deep dive after reading a post about them and how their music changed from their first release. Youngblood remains a favourite track.</p>
<p>Alongside that, a heavy rotation of NZ drum &amp; bass — Concord Dawn, Shapeshifter, and Sub Focus all got solid play — mixed in with ScHoolboy Q’s Oxymoron, MF DOOM’s Operation: Doomsday, and Bone Thugs-n-Harmony’s BTNHResurrection. J. Cole dropped a new album, The Fall-Off so I gave that a couple listens.</p>
<p>Most played track of Feb (thanks kids) was jxdn’s cover of “drivers license”. I really want to take singing lessons so I can nail this song.</p>
<h2 id="on-screen"><a class="heading-anchor" href="https://flamedfury.com/posts/ill-name-this-post-later/#on-screen">On Screen</a></h2>
<h3 id="tv-shows"><a class="heading-anchor" href="https://flamedfury.com/posts/ill-name-this-post-later/#tv-shows">TV Shows</a></h3>
<p>Finished <a href="https://trakt.tv/episodes/13454859" rel="noopener">Robin Hood</a> — wrote up <a href="https://flamedfury.com/posts/robin-hood-2025/">some thoughts on it</a>. Also wrapped up <a href="https://trakt.tv/shows/a-knight-of-the-seven-kingdoms" rel="noopener">A Knight of the Seven Kingdoms</a> which delivered a solid ending to a short season. <a href="https://trakt.tv/episodes/12268696" rel="noopener">I Love LA</a> was a pleasant surprise — watched all of S01 without meaning to.</p>
<p>Carried on with <a href="https://trakt.tv/shows/industry" rel="noopener">Industry</a> and <a href="https://trakt.tv/shows/shrinking" rel="noopener">Shrinking</a>. Industry is still a bit wtf, and I’m still loving Shrinking. Also dipped into a few new things: <a href="https://trakt.tv/episodes/12103025" rel="noopener">English Teacher</a>, and <a href="https://trakt.tv/episodes/11819038" rel="noopener">The Girlfriend</a>, and am watching episodes of <a href="https://trakt.tv/episodes/12519239" rel="noopener">Georgie &amp; Mandy’s First Marriage</a> when I need something on in the background.</p>
<h3 id="movies"><a class="heading-anchor" href="https://flamedfury.com/posts/ill-name-this-post-later/#movies">Movies</a></h3>
<p>I watched <a href="https://trakt.tv/movies/nobody-2021" rel="noopener">Nobody</a> and <a href="https://trakt.tv/movies/nobody-2-2025" rel="noopener">Nobody 2</a> back to back, which is exactly the right way to watch them and then carry on with life. <a href="https://trakt.tv/movies/the-housemaid-2025" rel="noopener">The Housemaid</a> was tense and worth it. Rounded things out with a run of easier watches — <a href="https://trakt.tv/movies/which-brings-me-to-you-2023-12-08" rel="noopener">Which Brings Me to You</a>, <a href="https://trakt.tv/movies/the-threesome-2025" rel="noopener">The Threesome</a>, <a href="https://trakt.tv/movies/splitsville-2025" rel="noopener">Splitsville</a>, and <a href="https://trakt.tv/movies/people-we-meet-on-vacation-2026" rel="noopener">People We Meet on Vacation</a>. Easy to watch and didn’t require me to think.</p>
<h2 id="bookmarks"><a class="heading-anchor" href="https://flamedfury.com/posts/ill-name-this-post-later/#bookmarks">Bookmarks</a></h2>
<p>A solid link dump this month. Lots of thinking about personal websites, the open web, and what we’re all doing here in 2026.</p>
<ul class="list">
<li><a href="https://tracydurnell.com/2023/01/15/understanding-blogs/" rel="noopener">Understanding blogs – Tracy Durnell’s Mind Garden</a> Tracey Durnell breaks down what personal blogs are.</li>
<li><a href="https://borretti.me/article/i-wish-people-were-more-public" rel="noopener">I Wish People Were More Public</a> Borretti wants you to be more public online, share more things that you enjoy.</li>
<li><a href="https://nekoweb.org/ssi" rel="noopener">SSI (Server-Side Includes) - nekoweb.org</a> Nekoweb introduces SSI for static sites on their platform. Huge news for static site lovers. I could drop in a version of <a href="http://flamedfury.com/" rel="noopener">flamedfury.com</a> from 1999 and it would render on Nekoweb. What a time to be alive.</li>
<li><a href="https://jotternook.bearblog.dev/the-lines-that-draw-us-together/" rel="noopener">The lines that draw us together</a> Reflections on the invisible lines that connect us through writing, linking and sharing ideas across personal websites.</li>
<li><a href="https://www.mnot.net/blog/2026/01/20/open_web" rel="noopener">Some Thoughts on the Open Web</a> Reflections on what the open web actually means today.</li>
<li><a href="https://patrickbrosset.com/articles/2026-01-06-fun-with-the-web/" rel="noopener">Patrick - Fun with the web</a> Small playful experiments built in a blog post.</li>
<li><a href="https://arun.is/blog/desk-setup/" rel="noopener">The art of the desk setup</a> Arun shares his desk setup. How small choices shape daily work.</li>
<li><a href="https://matthiasott.com/articles/webspace-invaders" rel="noopener">Webspace Invaders · Matthias Ott</a> Matthias Ott discovers the web is being attacked by invasive patterns and dark designs from AI crawlers. How can we build services that respect users instead of extracting every last pixel from them?</li>
<li><a href="https://blog.jim-nielsen.com/2026/in-the-beginning-slop/" rel="noopener">In The Beginning There Was Slop</a> Reflections on the flood of AI generated “slop”. Is it the AI or the Humans that create the slop?</li>
<li><a href="https://blog.jim-nielsen.com/2024/golden-era-blogging/" rel="noopener">A Golden Era of Blogging</a> Jim Nielsen questions the idea of a “golden era” of blogging.</li>
<li><a href="https://quinnmaclay.com/posts/early-blogs" rel="noopener">Blogging Before Blogs</a> Taking a look back at early “blogs” and how they shaped a new kind of web culture.</li>
<li><a href="https://christiano.dev/post/indieweb_smallweb/" rel="noopener">The IndieWeb and Small web</a> What’s the overlap between the IndieWeb and the small web?</li>
<li><a href="https://louplummer.lol/why-i-don-t-think-ai-is-the-devil/" rel="noopener">Why I Don’t Think AI is the Devil</a> Lou pushes back on the idea that AI is inherently evil. I agree that it’s mostly about how it’s used.</li>
<li><a href="https://blog.stephaniestimac.com/posts/2025/08/the-loss-of-curating/" rel="noopener">The Death of Curating, the Rise of Curation - Stephanie Stimac’s Blog</a> Reflections on how we’ve lost the habit of curating what we read and share, and why intentional curation made the web feel more personal. I hope my bookmarks help make the web feel more personal 😃</li>
<li><a href="https://shellsharks.com/notes/2026/02/17/citations-css" rel="noopener">citations.css</a> Shellsharks experiments with styling citations in CSS, showing how small tweaks can make references to authors clearer and more readable.</li>
<li><a href="https://thatshubham.com/blog/2026" rel="noopener">Phoenix’s Web Corner! - The Rise of Sanityware</a> Shubham talks about where they stand with the web in 2026, writing about independence, ownership, and what he wants his site to be moving forward.</li>
</ul>
<p>Check out the <a href="https://flamedfury.com/bookmarks/">bookmarks page</a> for even more.</p>
<h2 id="this-website"><a class="heading-anchor" href="https://flamedfury.com/posts/ill-name-this-post-later/#this-website">This Website</a></h2>
<ul class="list">
<li>Added the <a href="https://flamedfury.com/posts/making-flamed-fury-glow-everywhere-with-an-eleventy-transform/">glow-up</a> Eleventy transform — automatically wraps every mention of fLaMEd and fLaMEd fury in rendered HTML with the flame gradient effect, with a CSS hover fire animation.</li>
<li>Added <a href="https://flamedfury.com/indieweb.txt">indieweb.txt</a> after seeing shellshark’s <a href="https://shellsharks.com/extending-indieweb-txt-reference" rel="noopener">Extending indieweb.txt With Reference Information</a> post.</li>
<li>New <a href="https://flamedfury.com/colophon/">Colophon</a> page detailing how the site is built and how a post is made.</li>
<li>Updated the <a href="https://flamedfury.com/about/">About</a> page.</li>
<li>Added a new <a href="https://flamedfury.com/guestbook/">Guestbook</a> powered by <a href="https://webweav.ing/" rel="noopener">webweav.ing</a>.</li>
</ul>
<hr />
<p>Sweeet, laters 🤙</p>

        <p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: I&#39;ll Name This Post Later">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/ill-name-this-post-later/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
      ]]></content>
    </entry>
  
    
    <entry>
      <title>Making fLaMEd fury Glow Everywhere With an Eleventy Transform</title>
      <link href="https://flamedfury.com/posts/making-flamed-fury-glow-everywhere-with-an-eleventy-transform/"/>
      <updated>2026-02-26T12:00:00Z</updated>
      <id>https://flamedfury.com/posts/making-flamed-fury-glow-everywhere-with-an-eleventy-transform/</id>
      <summary>Giving fLaMEd fury a glowup with an elevnty transform.</summary>
      <content xml:lang="en_EN" type="html"><![CDATA[<p>What’s going on, Internet? I originally added a <code>.gradient-text</code> CSS class as a fun way to make my name (fLaMEd) and site name (fLaMEd fury) pop on the homepage. <a href="https://shellsharks.com/notes/2026/02/17/citations-css" rel="noopener">shellsharks</a> gave me a shoutout for it, which inspired me to take it further and apply the effect site-wide. Site wide was the original intent and the problem was it was only being applied manually in a handful of places, and I kept forgetting to add it whenever I wrote a new post or created a new page. Classic.</p>
<p>Instead of hunting through templates and markdown files, I’ve added an Eleventy HTML transform that automatically applies the glow up.</p>
<aside class="aside flow note">
    <p class="aside__content">I had Claude Code help me figure out the regex and the transform config. This allowed me to get this done before the kids came home. Don't @ me.</p>
  </aside>
<p>The effect itself is a simple utility class using <code>background-clip: text</code>:</p>
<pre class="language-css"><code class="language-css"><span class="token selector">.gradient-text</span> <span class="token punctuation">{</span>
  <span class="token property">color</span><span class="token punctuation">:</span> transparent<span class="token punctuation">;</span>
  <span class="token property">background-image</span><span class="token punctuation">:</span> <span class="token function">var</span><span class="token punctuation">(</span>--gradient-flames<span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token property">padding</span><span class="token punctuation">:</span> 0.6rem 0<span class="token punctuation">;</span>
  <span class="token property">background-size</span><span class="token punctuation">:</span> 50%<span class="token punctuation">;</span>
  <span class="token property">background-clip</span><span class="token punctuation">:</span> text<span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre>
<p>Swap <code>--gradient-flames</code> for whatever gradient custom property you have defined. The <code>background-size: 50%</code> repeats the gradient across the text for a more dynamic flame effect.</p>
<p>The transform lives in its own plugin file and gets registered in <code>eleventy.config.js</code>. It runs after Eleventy has rendered each <code>.html</code> page, tokenises the HTML by splitting on tags, tracks a skip-tag stack, and only replaces text in text nodes.</p>
<pre class="language-js"><code class="language-js"><span class="token keyword">export</span> <span class="token keyword">const</span> <span class="token function-variable function">glowUp</span> <span class="token operator">=</span> <span class="token parameter">eleventyConfig</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
  eleventyConfig<span class="token punctuation">.</span><span class="token function">addTransform</span><span class="token punctuation">(</span><span class="token string">'glow-up'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token parameter">content<span class="token punctuation">,</span> outputPath</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
    <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>outputPath<span class="token operator">?.</span><span class="token function">endsWith</span><span class="token punctuation">(</span><span class="token string">'.html'</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token keyword">return</span> content<span class="token punctuation">;</span>

    <span class="token keyword">const</span> skipTags <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Set</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token string">'a'</span><span class="token punctuation">,</span> <span class="token string">'code'</span><span class="token punctuation">,</span> <span class="token string">'h1'</span><span class="token punctuation">,</span> <span class="token string">'h2'</span><span class="token punctuation">,</span> <span class="token string">'h3'</span><span class="token punctuation">,</span> <span class="token string">'pre'</span><span class="token punctuation">,</span> <span class="token string">'script'</span><span class="token punctuation">,</span> <span class="token string">'style'</span><span class="token punctuation">,</span> <span class="token string">'textarea'</span><span class="token punctuation">,</span> <span class="token string">'title'</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> skipStack <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
    <span class="token keyword">let</span> result <span class="token operator">=</span> <span class="token string">''</span><span class="token punctuation">;</span>

    <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">const</span> token <span class="token keyword">of</span> content<span class="token punctuation">.</span><span class="token function">split</span><span class="token punctuation">(</span><span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">(&lt;[^>]*>)</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
      <span class="token keyword">if</span> <span class="token punctuation">(</span>token<span class="token punctuation">.</span><span class="token function">startsWith</span><span class="token punctuation">(</span><span class="token string">'&lt;'</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
        <span class="token keyword">const</span> isClosing <span class="token operator">=</span> token<span class="token punctuation">.</span><span class="token function">startsWith</span><span class="token punctuation">(</span><span class="token string">'&lt;/'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token keyword">const</span> isSelfClosing <span class="token operator">=</span> token<span class="token punctuation">.</span><span class="token function">endsWith</span><span class="token punctuation">(</span><span class="token string">'/>'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
        <span class="token keyword">const</span> tagMatch <span class="token operator">=</span> token<span class="token punctuation">.</span><span class="token function">match</span><span class="token punctuation">(</span><span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">^&lt;\/?([a-zA-Z][a-zA-Z0-9-]*)</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">)</span><span class="token punctuation">;</span>

        <span class="token keyword">if</span> <span class="token punctuation">(</span>tagMatch <span class="token operator">&amp;&amp;</span> <span class="token operator">!</span>isSelfClosing<span class="token punctuation">)</span> <span class="token punctuation">{</span>
          <span class="token keyword">const</span> tag <span class="token operator">=</span> tagMatch<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">toLowerCase</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
          <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>isClosing<span class="token punctuation">)</span> <span class="token punctuation">{</span>
            <span class="token keyword">if</span> <span class="token punctuation">(</span>skipTags<span class="token punctuation">.</span><span class="token function">has</span><span class="token punctuation">(</span>tag<span class="token punctuation">)</span><span class="token punctuation">)</span> skipStack<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>tag<span class="token punctuation">)</span><span class="token punctuation">;</span>
            <span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>tag <span class="token operator">===</span> <span class="token string">'span'</span> <span class="token operator">&amp;&amp;</span> token<span class="token punctuation">.</span><span class="token function">includes</span><span class="token punctuation">(</span><span class="token string">'gradient-text'</span><span class="token punctuation">)</span><span class="token punctuation">)</span> skipStack<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span><span class="token string">'gradient-text-span'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
          <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
            <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">let</span> i <span class="token operator">=</span> skipStack<span class="token punctuation">.</span>length <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">;</span> i <span class="token operator">>=</span> <span class="token number">0</span><span class="token punctuation">;</span> i<span class="token operator">--</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
              <span class="token keyword">if</span> <span class="token punctuation">(</span>skipStack<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">===</span> tag <span class="token operator">||</span> <span class="token punctuation">(</span>tag <span class="token operator">===</span> <span class="token string">'span'</span> <span class="token operator">&amp;&amp;</span> skipStack<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">===</span> <span class="token string">'gradient-text-span'</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
                skipStack<span class="token punctuation">.</span><span class="token function">splice</span><span class="token punctuation">(</span>i<span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
                <span class="token keyword">break</span><span class="token punctuation">;</span>
              <span class="token punctuation">}</span>
            <span class="token punctuation">}</span>
          <span class="token punctuation">}</span>
        <span class="token punctuation">}</span>
        result <span class="token operator">+=</span> token<span class="token punctuation">;</span>
      <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token keyword">if</span> <span class="token punctuation">(</span>skipStack<span class="token punctuation">.</span>length <span class="token operator">===</span> <span class="token number">0</span> <span class="token operator">&amp;&amp;</span> token<span class="token punctuation">)</span> <span class="token punctuation">{</span>
        result <span class="token operator">+=</span> token<span class="token punctuation">.</span><span class="token function">replace</span><span class="token punctuation">(</span><span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">flamed( ?fury)?</span><span class="token regex-delimiter">/</span><span class="token regex-flags">gi</span></span><span class="token punctuation">,</span> <span class="token parameter">match</span> <span class="token operator">=></span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">&lt;span class="gradient-text"></span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>match<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">&lt;/span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">)</span><span class="token punctuation">;</span>
      <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
        result <span class="token operator">+=</span> token<span class="token punctuation">;</span>
      <span class="token punctuation">}</span>
    <span class="token punctuation">}</span>
    <span class="token keyword">return</span> result<span class="token punctuation">;</span>
  <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span></code></pre>
<p>Tags in the <code>skipTags</code> set, along with any span already carrying the <code>gradient-text</code> class, push onto the stack. No replacement happens while the stack is non-empty, so link text, code examples, the page <code>&lt;title&gt;</code>, and already-wrapped instances are all left alone. HTML attributes like <code>alt</code> and <code>href</code> are never touched because they sit inside tag tokens, not text nodes.</p>
<p>A single regex <code>/flamed( ?fury)?/gi</code> handles everything in one pass. The optional group matches &quot; fury&quot; (with space) or “fury” (without), so “flamed fury” and “flamedfury” (as it appears in the domain name) are both wrapped as a unit. The <code>i</code> flag covers every capitalisation variant (“fLaMEd fury”, “Flamed Fury”, “FLAMED FURY”) with the original casing preserved in the output. This helps because I can be inconsistent with the styling at times.</p>
<p>Export the plugin from wherever you manage your Eleventy plugins:</p>
<pre class="language-js"><code class="language-js"><span class="token keyword">import</span> <span class="token punctuation">{</span> glowUp <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'./plugins/glow-up.js'</span><span class="token punctuation">;</span>

<span class="token keyword">export</span> <span class="token keyword">default</span> <span class="token punctuation">{</span>
  <span class="token comment">// ...other plugins</span>
  glowUp<span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span></code></pre>
<p>Then register it in <code>eleventy.config.js</code>. Register it before any HTML prettify transform so the spans are in place before reformatting runs:</p>
<pre class="language-js"><code class="language-js">eleventyConfig<span class="token punctuation">.</span><span class="token function">addPlugin</span><span class="token punctuation">(</span>plugins<span class="token punctuation">.</span>glowUp<span class="token punctuation">)</span><span class="token punctuation">;</span>
eleventyConfig<span class="token punctuation">.</span><span class="token function">addPlugin</span><span class="token punctuation">(</span>plugins<span class="token punctuation">.</span>htmlConfig<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// html prettify</span></code></pre>
<p>That’s it. Any mention of the site name (fLaMEd fury) in body text gets the gradient automatically, in posts, templates, data-driven content, wherever.</p>
<p>Look out for the easter egg I’ve dropped in. Later.</p>

        <p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: Making fLaMEd fury Glow Everywhere With an Eleventy Transform">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/making-flamed-fury-glow-everywhere-with-an-eleventy-transform/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
      ]]></content>
    </entry>
  
    
    <entry>
      <title>Four More Years</title>
      <link href="https://flamedfury.com/posts/four-more-years/"/>
      <updated>2026-02-26T11:21:43Z</updated>
      <id>https://flamedfury.com/posts/four-more-years/</id>
      <summary>A $90 battery replacement and a clean install. My iPhone 13 Pro gets another couple of years.</summary>
      <content xml:lang="en_EN" type="html"><![CDATA[<p>What’s going on, Internet? I’ve been using my iPhone 13 Pro for a little over four years now, since September 2021 and I want to keep using it for a couple more.</p>
<p>Keyboard lag. Apps taking a second to think before opening. Battery health sitting at 80%.</p>
<p>I had a quick look at the iPhone 17 and couldn’t justify it when everything else about this phone is still good. Storage is only half full. Camera is fine. It’s fast when it wants to be.</p>
<p>So I tried the logical fix first: a $90 battery replacement from a local repair shop.</p>
<img src="https://flamedfury.com/assets/images/posts/2026/2026-02-18-extending-the-life-of-my-iphone-01.jpeg" alt="iPhone battery health screen showing 80% maximum capacity" style="max-inline-size: 280px; display: block; margin-inline: auto" />
<p>This is where it had been sitting for a while. Still usable, but clearly the reason iOS had started throttling performance.</p>
<p>Straight after the swap I got a warning about the battery not being genuine which I was only made aware of right before pulling the trigger on this after reading a comment on the <a href="https://www.ifixit.com/products/iphone-13-pro-battery" rel="noopener">iPhone 13 Battery page on iFixit</a>.</p>
<img src="https://flamedfury.com/assets/images/posts/2026/2026-02-18-extending-the-life-of-my-iphone-02.jpeg" alt="iOS Important Battery Message warning after fitting a third-party battery" style="max-inline-size: 280px; display: block; margin-inline: auto" />
<p>I made peace with myself and I was prepared to live with it. For $90 and being done in 30 minutes without having to schedule with an authorised repair dealer and being without the phone for up to four days. I just wanted the speed back.</p>
<p>But apparently because I’m on a newer version of iOS, I had the option to run Apple’s verification process. So I did… and it passed.</p>
<img src="https://flamedfury.com/assets/images/posts/2026/2026-02-18-extending-the-life-of-my-iphone-03.jpeg" alt="iPhone battery health screen restored to 100% maximum capacity after Apple verification" style="max-inline-size: 280px; display: block; margin-inline: auto" />
<p>Battery health back to 100%, full stats restored, and the warning moved to Parts &amp; Service History where it belongs.</p>
<img src="https://flamedfury.com/assets/images/posts/2026/2026-02-18-extending-the-life-of-my-iphone-04.jpeg" alt="Parts and Service History screen showing the third-party battery listed as a note rather than a warning" style="max-inline-size: 280px; display: block; margin-inline: auto" />
<p>That’s basically the authorised-repair end result for third-party-repair money.</p>
<p>I followed the usual calibration cycle: charge to 100%, leave it on the charger for a couple more hours, run it down until it turns off, charge back to 100%. Mostly to give iOS a clean read on the new battery.</p>
<p>The battery fixes the hardware bottleneck. The other half is software. Years of installed apps, background processes, cached junk. So I’m preparing for a full wipe and setting the phone up as new. No restoring from backup, sign into iCloud and let the data sync back, reinstall apps one at a time. Only the things I actually use get to come back. It’s the closest you get to a new phone without buying one.</p>
<p>This whole reset cost less than a case for a new phone. If the lag disappears, that’s another couple of years out of a device that’s still more than good enough. If it doesn’t, then I look at upgrading. But it makes more sense to solve the worn-out-battery problem before spending thousands to avoid it.</p>
<p>I’ll report back once the clean install is done and I’ve lived with it for a few days.</p>

        <p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: Four More Years">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/four-more-years/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
      ]]></content>
    </entry>
  
    
    <entry>
      <title>Carl Cox On Waiheke</title>
      <link href="https://flamedfury.com/posts/carl-cox-on-waiheke/"/>
      <updated>2026-02-15T21:59:57Z</updated>
      <id>https://flamedfury.com/posts/carl-cox-on-waiheke/</id>
      <summary>A Saturday afternoon on Waiheke for Carl Cox. Ferry rides, steak and beer, new friends on the dance floor.</summary>
      <content xml:lang="en_EN" type="html"><![CDATA[<p>What’s going on, Internet? Ferry ride over, no kids. Bus to Onetangi.</p>
<p><a href="https://alibibrewing.co.nz/" rel="noopener">Alibi</a> for a late lunch. Picanha steak with seasonal vegetables. Unfortunately, they had some type of beer shortage, so their usual selection was limited to four tap beers. I enjoyed the Ruru Hazy, even though it was a hazy. Hopefully, they have the full range available next time I’m there.</p>
<p>The gig was a minute walk up the road at the <a href="https://wildestate.co.nz/" rel="noopener">Wild Estate</a>. I was wondering how they would do the setup, and once I saw the fences and tents set up on the front lawns, it made sense.</p>
<p>We got through check-in sweet as. The drinks were supplied by Pals. We grabbed a drink, my wife a Purple Pals and a Frankie’s Cola for myself. We took a short walk around the venue to get a lay of the land and found a table to sit down at.</p>
<p>There was one person there enjoying a pizza. We said hello and sat down. Shortly after, a couple approached and asked if the seats were free.</p>
<p>Of course, come sit down. Let’s chat. Want another drink? Sure, let’s go. Friends were made.</p>
<p>Another couple, two friends, sat down in the remaining seats. Hi, how are you? More friends.</p>
<p>Time to dance. We met up on the dance floor. A group of new friends dancing amongst the crowd to Nichole Moudaber before Carl Cox came on.</p>
<p>Both sets were amazing and just what I wanted to hear on a Saturday afternoon. It’s pretty cool that Carl can play something like <a href="https://www.youtube.com/watch?v=eFSEriPYeV0" rel="noopener">Awakenings Festival</a> to hundreds of thousands of people, and then a month later play a small venue on Waiheke to a crowd of a thousand.</p>
<p>The gig started at 3pm and went until 9pm. Perfect timing for us. We decided to skip staying to the end of Carl’s set and grabbed the 8:11pm bus back to the ferry terminal. I think we made the right call, as the next boat back to the city was at 9:30pm. Sure, we had to wait at the ferry terminal, but we were at the front of the line and got a seat right away as the boat turned up. There were hundreds of people left waiting at the terminal for the next boat.</p>
<p>We managed to get home and into bed by 11pm. Perfect timing for a good enough sleep before kids’ activities in the morning.</p>
<is-land on:visible="">
  <div class="gallery | grid mt-l-xl gutter-xs" role="list"><dialog class="flow gallery-dialog modal1">
        <div class="cluster justify-end gutter-s">
          <button data-close="" class="button" autofocus="">Close</button>
        </div>
        <div class="flow text-center"><picture slot="image">  <source type="image/webp" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-480w.webp 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-800w.webp 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-1200w.webp 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" />
  <source type="image/jpeg" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-480w.jpeg 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-800w.jpeg 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-1200w.jpeg 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" /><img src="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-1200w.jpeg" width="1200" height="1600" alt="A pint glass holds a frothy, orange-yellow beverage, likely beer, sitting on a weathered wooden surface with a blurred, green outdoor background." loading="lazy" decoding="async" eleventy:ignore="" /></picture></div>
        <div class="cluster justify-between gutter-s">
          <button data-nav="prev" class="button" aria-label="Previous image">
            <span aria-hidden="true">←</span> Previous
          </button>
          <span class="text-step-min-1" aria-live="polite">
            1 / 4
          </span>
          <button data-nav="next" class="button" aria-label="Next image">
            Next <span aria-hidden="true">→</span>
          </button>
        </div>
      </dialog>
      <button class="gallery-thumb" data-index="1"><picture slot="image">  <source type="image/webp" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-480w.webp 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-800w.webp 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-1200w.webp 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" />
  <source type="image/jpeg" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-480w.jpeg 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-800w.jpeg 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-1200w.jpeg 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" /><img src="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-01-1200w.jpeg" width="1200" height="1600" alt="A pint glass holds a frothy, orange-yellow beverage, likely beer, sitting on a weathered wooden surface with a blurred, green outdoor background." loading="lazy" decoding="async" eleventy:ignore="" /></picture></button><dialog class="flow gallery-dialog modal2">
        <div class="cluster justify-end gutter-s">
          <button data-close="" class="button" autofocus="">Close</button>
        </div>
        <div class="flow text-center"><picture slot="image">  <source type="image/webp" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-480w.webp 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-800w.webp 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-1200w.webp 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" />
  <source type="image/jpeg" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-480w.jpeg 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-800w.jpeg 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-1200w.jpeg 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" /><img src="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-1200w.jpeg" width="1200" height="899" alt="A grilled steak sits on a plate with fries and roasted vegetables, accompanied by a small cup of green sauce. The setting is a dark, textured tabletop." loading="lazy" decoding="async" eleventy:ignore="" /></picture></div>
        <div class="cluster justify-between gutter-s">
          <button data-nav="prev" class="button" aria-label="Previous image">
            <span aria-hidden="true">←</span> Previous
          </button>
          <span class="text-step-min-1" aria-live="polite">
            2 / 4
          </span>
          <button data-nav="next" class="button" aria-label="Next image">
            Next <span aria-hidden="true">→</span>
          </button>
        </div>
      </dialog>
      <button class="gallery-thumb" data-index="2"><picture slot="image">  <source type="image/webp" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-480w.webp 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-800w.webp 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-1200w.webp 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" />
  <source type="image/jpeg" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-480w.jpeg 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-800w.jpeg 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-1200w.jpeg 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" /><img src="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-02-1200w.jpeg" width="1200" height="899" alt="A grilled steak sits on a plate with fries and roasted vegetables, accompanied by a small cup of green sauce. The setting is a dark, textured tabletop." loading="lazy" decoding="async" eleventy:ignore="" /></picture></button><dialog class="flow gallery-dialog modal3">
        <div class="cluster justify-end gutter-s">
          <button data-close="" class="button" autofocus="">Close</button>
        </div>
        <div class="flow text-center"><picture slot="image">  <source type="image/webp" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-480w.webp 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-800w.webp 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-1200w.webp 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" />
  <source type="image/jpeg" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-480w.jpeg 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-800w.jpeg 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-1200w.jpeg 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" /><img src="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-1200w.jpeg" width="1200" height="900" alt="Nichole Moudaber performs energetically at a soundboard, surrounded by electronic equipment. A vivid, abstract visual display and audience create a lively concert atmosphere. Nearby, another person observes intently." loading="lazy" decoding="async" eleventy:ignore="" /></picture></div>
        <div class="cluster justify-between gutter-s">
          <button data-nav="prev" class="button" aria-label="Previous image">
            <span aria-hidden="true">←</span> Previous
          </button>
          <span class="text-step-min-1" aria-live="polite">
            3 / 4
          </span>
          <button data-nav="next" class="button" aria-label="Next image">
            Next <span aria-hidden="true">→</span>
          </button>
        </div>
      </dialog>
      <button class="gallery-thumb" data-index="3"><picture slot="image">  <source type="image/webp" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-480w.webp 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-800w.webp 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-1200w.webp 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" />
  <source type="image/jpeg" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-480w.jpeg 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-800w.jpeg 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-1200w.jpeg 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" /><img src="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-03-1200w.jpeg" width="1200" height="900" alt="Nichole Moudaber performs energetically at a soundboard, surrounded by electronic equipment. A vivid, abstract visual display and audience create a lively concert atmosphere. Nearby, another person observes intently." loading="lazy" decoding="async" eleventy:ignore="" /></picture></button><dialog class="flow gallery-dialog modal4">
        <div class="cluster justify-end gutter-s">
          <button data-close="" class="button" autofocus="">Close</button>
        </div>
        <div class="flow text-center"><picture slot="image">  <source type="image/webp" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-480w.webp 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-800w.webp 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-1200w.webp 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" />
  <source type="image/jpeg" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-480w.jpeg 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-800w.jpeg 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-1200w.jpeg 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" /><img src="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-1200w.jpeg" width="1200" height="900" alt="Carl Cox performing on stage, surrounded by sound equipment, with " Carl="" Cox"="" and="" a="" logo="" displayed="" on="" two="" large="" screens,="" under="" tent="" roof.="" A="" crowd="" watches="" in="" the="" foreground."="" loading="lazy" decoding="async" eleventy:ignore="" /></picture></div>
        <div class="cluster justify-between gutter-s">
          <button data-nav="prev" class="button" aria-label="Previous image">
            <span aria-hidden="true">←</span> Previous
          </button>
          <span class="text-step-min-1" aria-live="polite">
            4 / 4
          </span>
          <button data-nav="next" class="button" aria-label="Next image">
            Next <span aria-hidden="true">→</span>
          </button>
        </div>
      </dialog>
      <button class="gallery-thumb" data-index="4"><picture slot="image">  <source type="image/webp" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-480w.webp 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-800w.webp 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-1200w.webp 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" />
  <source type="image/jpeg" srcset="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-480w.jpeg 480w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-800w.jpeg 800w, https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-1200w.jpeg 1200w" sizes="(max-width: 480px) 100vw, (max-width: 800px) 80vw, 1200px" /><img src="https://flamedfury.com/assets/images/2026-carl-cox-on-waiheke-04-1200w.jpeg" width="1200" height="900" alt="Carl Cox performing on stage, surrounded by sound equipment, with " Carl="" Cox"="" and="" a="" logo="" displayed="" on="" two="" large="" screens,="" under="" tent="" roof.="" A="" crowd="" watches="" in="" the="" foreground."="" loading="lazy" decoding="async" eleventy:ignore="" /></picture></button></div>
</is-land>
<p>I miss nights out like these.</p>

        <p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: Carl Cox On Waiheke">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/carl-cox-on-waiheke/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
      ]]></content>
    </entry>
  
    
    <entry>
      <title>The Guestbook Is Back</title>
      <link href="https://flamedfury.com/posts/the-guestbook-is-back/"/>
      <updated>2026-02-13T21:53:00Z</updated>
      <id>https://flamedfury.com/posts/the-guestbook-is-back/</id>
      <summary>The guestbook is back, powered by webweav.ing and the 32-Bit Cafe.</summary>
      <content xml:lang="en_EN" type="html"><![CDATA[<p>What’s going on, Internet? Guestbooks are one of my favourite relics of the old web.</p>
<p>My old guestbook stopped working after the database behind it shut down, and I’ve been meaning to bring it back ever since. Well, it’s finally here.</p>
<p>The new <a href="https://flamedfury.com/guestbook/">guestbook</a> is powered by <a href="https://webweav.ing/" rel="noopener">webweav.ing</a>, built by <a href="https://yequari.com/" rel="noopener">yequari</a> and available to <a href="https://32bit.cafe/" rel="noopener">32-Bit Cafe</a> members. It provides web components that handle the form and comments, making it easy to drop into any site. If you’re a member, I’d recommend checking it out.</p>
<p>Go ahead and <a href="https://flamedfury.com/guestbook/">sign the guestbook</a>. Say what’s up.</p>

        <p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: The Guestbook Is Back">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/the-guestbook-is-back/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
      ]]></content>
    </entry>
  
</feed>