<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Bongo Twisty</title><link>https://www.bongotwisty.blog/</link><description>Recent content on Bongo Twisty</description><generator>Hugo -- gohugo.io</generator><language>en-gb</language><managingEditor>bongotwisty@pm.me (Bongo Twisty)</managingEditor><webMaster>bongotwisty@pm.me (Bongo Twisty)</webMaster><copyright>© 2025 A J Turner</copyright><lastBuildDate>Sun, 06 Jul 2025 13:32:00 +0100</lastBuildDate><atom:link href="https://www.bongotwisty.blog/index.xml" rel="self" type="application/rss+xml"/><item><title>The Postbox of the Future</title><link>https://www.bongotwisty.blog/postbox_of_the_future/</link><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/postbox_of_the_future/</guid><description>&lt;p&gt;I love a &lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/"&gt;postbox topper&lt;/a&gt;. A post box I pass by on a regular basis nearly always has one on top. This may be the last of it&amp;rsquo;s kind on this one -&lt;/p&gt;
&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/20260226_whale_higham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Sea Creatures, Higham"&gt;
&lt;img src="https://www.bongotwisty.blog/gallery/postbox_toppers/20260226_whale_higham_hu_4db5b01a27e0cc2e.jpg" alt="Knitted ocean‑themed post box topper in Higham featuring a large grey whale surrounded by colourful woollen fish, seaweed, and small sea creatures on a crocheted beige cover." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Sea Creatures, Higham&lt;/figcaption&gt;
&lt;/figure&gt;&lt;p&gt;The postbox in question is set to become a &amp;ldquo;postbox of the future&amp;rdquo;. The adapted post box will accept both letters and small parcels (up to about shoebox size), using a barcode‑activated drawer instead of just a letter slot. A solar panel on the top of the box powers the barcode scanner and a motorised drop‑down parcel drawer.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I love a <a href="https://www.bongotwisty.blog/gallery/postbox_toppers/">postbox topper</a>. A post box I pass by on a regular basis nearly always has one on top. This may be the last of it&rsquo;s kind on this one -</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/gallery/postbox_toppers/20260226_whale_higham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Sea Creatures, Higham">
          <img src="/gallery/postbox_toppers/20260226_whale_higham_hu_4db5b01a27e0cc2e.jpg" alt="Knitted ocean‑themed post box topper in Higham featuring a large grey whale surrounded by colourful woollen fish, seaweed, and small sea creatures on a crocheted beige cover." loading="lazy" style="display: inline-block;">
        </a><figcaption>Sea Creatures, Higham</figcaption>
    </figure><p>The postbox in question is set to become a &ldquo;postbox of the future&rdquo;. The adapted post box will accept both letters and small parcels (up to about shoebox size), using a barcode‑activated drawer instead of just a letter slot. A solar panel on the top of the box powers the barcode scanner and a motorised drop‑down parcel drawer.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/postbox_of_the_future/20260304_postbox_of_the_future.jpeg" class="glightbox" data-gallery="gallery" data-glightbox="title: Migration">
          <img src="/postbox_of_the_future/20260304_postbox_of_the_future_hu_545b655b66282a6b.jpeg" alt="A black-wrapped postbox with a colourful knitted sea-life topper and a sign reading “Out of service – postbox of the future coming soon,” standing beside a stone wall at dusk." loading="lazy" style="display: inline-block;">
        </a><figcaption>Migration</figcaption>
    </figure><p>Good news for people with parcels to post. Not so good for the sea creatures and perhaps the skilled yarn bomber who creates these. You can&rsquo;t cover solar panels with a woolly hat.</p>
<p>The <a href="https://www.bbc.co.uk/news/articles/cj4q90jyxe0o">BBC</a> reported that one MP said the new boxes “puts yarn‑bombing traditions at risk” in places where a topped box is being replaced with a solar model. Royal Mail told the BBC that, &ldquo;With 115,000 postboxes across the UK, there are plenty that remain unaltered and that will remain the case in the future.&rdquo;</p>
<p>As much as I like the toppers I&rsquo;m on the side of progress. Royal Mail make a fair point. I&rsquo;m also confident it&rsquo;s pretty much a given that yarn-bombers are well able to creatively adapt. Be good to see if and how they do.</p>
]]></content:encoded></item><item><title>Post Roll</title><link>https://www.bongotwisty.blog/postroll/</link><pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/postroll/</guid><description>&lt;p&gt;Inspired by &lt;a href="https://notes.jeddacp.com/postroll/"&gt;Jedda&lt;/a&gt; here&amp;rsquo;s a rolling list of blogs, blog posts or links I&amp;rsquo;ve enjoyed.&lt;/p&gt;
&lt;p&gt;It serves no practical function for me since I can save any such posts in my &lt;a href="https://github.com/samuelclay/NewsBlur?tab=readme-ov-file"&gt;feed reader&lt;/a&gt;. I&amp;rsquo;m doing this is to hat tip and give thanks to people who took the time to write and publish what they did. I understand it&amp;rsquo;s considered good form to contribute back in this way to the &lt;a href="https://indieweb.org"&gt;IndieWeb&lt;/a&gt;. I think it&amp;rsquo;s also possible to learn something about a person by what they like to read so think there&amp;rsquo;s an element of &amp;lsquo;getting to know me&amp;rsquo; in sharing this.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Inspired by <a href="https://notes.jeddacp.com/postroll/">Jedda</a> here&rsquo;s a rolling list of blogs, blog posts or links I&rsquo;ve enjoyed.</p>
<p>It serves no practical function for me since I can save any such posts in my <a href="https://github.com/samuelclay/NewsBlur?tab=readme-ov-file">feed reader</a>. I&rsquo;m doing this is to hat tip and give thanks to people who took the time to write and publish what they did. I understand it&rsquo;s considered good form to contribute back in this way to the <a href="https://indieweb.org">IndieWeb</a>. I think it&rsquo;s also possible to learn something about a person by what they like to read so think there&rsquo;s an element of &lsquo;getting to know me&rsquo; in sharing this.</p>
<p>It will be a first in first out list (FIFO). When the list gets too long for my liking the link at the bottom will be removed to make way for a newcomer at the top. I know — FIFO. Being explicit sometimes help.</p>
<ol>
<li><a href="https://skryblans.com/10000-press-ups-in-a-year-update/">10,000 press-ups in a year update: first of 2026</a> by Skryblans who was inpired by  <a href="https://wjgilmore.com/articles/10000-pushups">10000 Pushups</a> by Jason Gilmore. A few years back I did the 100 press up challenge. From just a few to 100 consecutive press ups in six weeks. I was amazed I did it. Not done many since then. I&rsquo;m feeling inspired by Skryblans. I&rsquo;m gonna&rsquo; give it a go starting today; 01/03/2025</li>
<li><a href="https://ciechanow.ski/mechanical-watch/">Mechanical Watch</a> by Bartosz Ciechanowski. The depth of detail and skill that&rsquo;s gone into this post to explain the inner workings of the mechanical watch is a marvel to behold. I had no prior interest in mechanical watches before coming across this post. I read it to the end playing with all the masterfully created graphics as I did. This was of learning about things on screen really works for me. Go take a look.</li>
<li><a href="https://www.meditationsinanemergency.com/when-love-thy-neighbor-is-a-cry-of-resistance/">When Love Thy Neighbor Is a Cry of Resistance</a> by Rebecca Solnit. Oh my. So good to read. Such a refreshing take on what&rsquo;s going on around the world. A powerful message of strength, hope and love that is grounded in the interconnection between all living things. So pleased to have come across Rebecca&rsquo;s writing.</li>
<li><a href="https://www.willcycle.com">WillCycle</a> by <a href="https://social.vivaldi.net/@WilliamNB">WilliamNB</a>. Not just one post but a whole website dedicated to the type cycling I tend towards. I always find something here I enjoy reading.</li>
<li><a href="https://prickly.oxhe.art/scarcity/">The Darkness You Choose, The Darkness that Chooses You</a> by Prickly Oxheart. This post prompted me to experiment with fasting. All sorts of good things came from that. The author has not posted anything since October. Their last post about <a href="https://prickly.oxhe.art/acceptance/">acceptance</a> kind of suggests they won&rsquo;t.</li>
<li><a href="https://www.joanwestenberg.com/your-life-is-the-sum-total-of-2-000-mondays/">Your Life is the Sum Total of 2,000 Mondays</a> by JA Westenberg. I happen to like Mondays. JA Westenberg writes very eloquently and in detail about her chosen subjects - tech, humans, and philosophy.</li>
</ol>
]]></content:encoded></item><item><title>audax: Ham Sandwich 200k DIY</title><link>https://www.bongotwisty.blog/pear_pies/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/pear_pies/</guid><description>&lt;p&gt;Out on a 200k ride last weekend. The second for February to continue with the ongoing RRtY &lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; effort. I&amp;rsquo;m doing two simultaneously this time round — a double year. I started in October 2025 after completing the 2nd consecutive year of rides in September. I&amp;rsquo;m aiming for a chain of ten.&lt;/p&gt;
&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/pear_pies/20260222_Kent_200.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Route Map"&gt;
&lt;img src="https://www.bongotwisty.blog/pear_pies/20260222_Kent_200_hu_20bf7e0bfe55f9af.jpg" alt="Cycling route map around Kent with a red GPS track, showing 204 km distance, 2,442 m elevation gain and 9 h 53 moving time." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Route Map&lt;/figcaption&gt;
&lt;/figure&gt;&lt;p&gt;I baked some tasty little pear pies to help fuel the ride. Had some gluten free dough left over from some pies I made last week to share with colleages at work. The dough was all the better for having been sitting in the fridge for a week. Gluten free dough makes the pies a bit softer when baked. The pies were sweet and moist but they held together okay in the bar bag for the duration of the ride.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Out on a 200k ride last weekend. The second for February to continue with the ongoing RRtY <sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> effort. I&rsquo;m doing two simultaneously this time round — a double year. I started in October 2025 after completing the 2nd consecutive year of rides in September. I&rsquo;m aiming for a chain of ten.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/pear_pies/20260222_Kent_200.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Route Map">
          <img src="/pear_pies/20260222_Kent_200_hu_20bf7e0bfe55f9af.jpg" alt="Cycling route map around Kent with a red GPS track, showing 204 km distance, 2,442 m elevation gain and 9 h 53 moving time." loading="lazy" style="display: inline-block;">
        </a><figcaption>Route Map</figcaption>
    </figure><p>I baked some tasty little pear pies to help fuel the ride. Had some gluten free dough left over from some pies I made last week to share with colleages at work. The dough was all the better for having been sitting in the fridge for a week. Gluten free dough makes the pies a bit softer when baked. The pies were sweet and moist but they held together okay in the bar bag for the duration of the ride.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/pear_pies/20260221_pear_pies.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Pear Pies">
          <img src="/pear_pies/20260221_pear_pies_hu_abc764f8a194557b.jpg" alt="Plate stacked with several small golden-brown baked pear on a dark kitchen worktop." loading="lazy" style="display: inline-block;">
        </a><figcaption>Pear Pies</figcaption>
    </figure><p>The idea was to have one every 60 - 90 minutes. That was not necessary as on the way round I stopped off at my sisters house in Deal and the parents house in Tankerton, and was supplied with coffee and cake at both. Nice.</p>
<p>Pulled up at a flooded country lane just before the 70k mark (South Barham Road). At first glance it looked like I was going to get wet. I&rsquo;ve ridden this route a good few times now so was not put off by the road closed signs I&rsquo;d breezed past on the way down the road. There&rsquo;s an elevated path which runs along side that I knew would keep me away from the water. All the same it was the most flooded I&rsquo;ve seen it in the last couple of years.</p>
<div class="gallery-grid">
<figure>
    <a href="/pear_pies/20260222_flooded_lane.jpg" class="glightbox" data-title="Flooded Lane">
      <img src="/pear_pies/20260222_flooded_lane_hu_a21eed45405231b.jpg" alt="Narrow tree-lined lane heavily flooded with brown rainwater, with a muddy verge and wooden handrail on the left." title="Flooded Lane" width="400" height="300">
    </a>
    <figcaption>Flooded Lane</figcaption>
  </figure>
<figure>
    <a href="/pear_pies/20260222_dry_path.jpg" class="glightbox" data-title="Dry Path">
      <img src="/pear_pies/20260222_dry_path_hu_96ad1213eb710823.jpg" alt="Muddy footpath with wooden steps beside a narrow country lane flooded with shallow water between hedgerows." title="Dry Path" width="400" height="300">
    </a>
    <figcaption>Dry Path</figcaption>
  </figure>
</div>
<p>On the way to Deal the route takes in a road called Strakers Hill. Not sure why but the name really appeals to me. Often thought I should stop to take a picture. This time I did. For some odd reason that tune <a href="https://www.nytimes.com/2022/09/29/arts/music/coolio-gangstas-paradise.html">&ldquo;Gangsters Paradise&rdquo;</a> always comes to mind when I see the sign. There is no connection; the tune and lyrics both grate on me. It was played on repeat at a nightclub (the Florida 2000) I went to in Narobi when I visted Kenya in 1997. I have no idea why the name reminds me of the tune. One day I&rsquo;m sure it&rsquo;ll come to me why &ldquo;Straker&rdquo; means something to me.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/pear_pies/20260221_strakers_hill.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Strakers Hill">
          <img src="/pear_pies/20260221_strakers_hill_hu_9507af7c4e1cb691.jpg" alt="Street sign reading “STRAKERS HILL” on a bank beside a quiet country road with wet tarmac and trees ahead." loading="lazy" style="display: inline-block;">
        </a><figcaption>Strakers Hill</figcaption>
    </figure><p>A few miles out of Deal I pass by the most famous road sign I know of. I feel compelled to stop and take a photo every time. I have dozens of them. From here I headed over to Canterbury, then to Tankerton, from Tankerton to Faversham, and then back home to Medway.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/pear_pies/2026_02_22_ham_sandwich.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Ham Sandwich">
          <img src="/pear_pies/2026_02_22_ham_sandwich_hu_9b3508c44a63f2ee.jpg" alt="Touring bike leaned against a traditional fingerpost sign at a rural crossroads showing directions to Ham, Sandwich, Finglesham and Deal." loading="lazy" style="display: inline-block;">
        </a><figcaption>Ham Sandwich</figcaption>
    </figure><div class="custom-divider">•• ━━━━━ ••●•• ━━━━━ ••</div>
<p>I enjoyed the ride. First one all week. I&rsquo;d been feeling a bit run down and under the weather and thought it best to rest up. Started off feeling pretty good. Better than I expected. Finished off okay but pleased I had no further to go.</p>
<p>The year so far has not been great in terms of getting regular rides in. I got a bit distracted by following a training &ldquo;plan&rdquo;. That broke my routine and was in turn impacted by giving blood, which I would normally do and then just carry on riding regardless. What gains I&rsquo;ve got from HR zone training have I think been diminished by a combination of these factors. Thinking to go back to what was my regular pattern of riding and maybe use a couple of those rides a week to get in a spot of HR zone training on the way round. We shall see.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>See the foot notes in <a href="https://www.bongotwisty.blog/neighbourhood_200/">this post</a> if you&rsquo;re interested in what RRtY means.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded></item><item><title>Sea Creatures, Higham</title><link>https://www.bongotwisty.blog/sea_creatures_higham/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/sea_creatures_higham/</guid><description>&lt;p&gt;This put a big smile on my face. Saw it while out on a ride this morning before work. That it was not cold, dark and raining also helped.&lt;/p&gt;
&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/20260226_whale_higham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Sea Creatures, Higham"&gt;
&lt;img src="https://www.bongotwisty.blog/gallery/postbox_toppers/20260226_whale_higham_hu_4db5b01a27e0cc2e.jpg" alt="Knitted ocean‑themed post box topper in Higham featuring a large grey whale surrounded by colourful woollen fish, seaweed, and small sea creatures on a crocheted beige cover." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Sea Creatures, Higham&lt;/figcaption&gt;
&lt;/figure&gt;</description><content:encoded><![CDATA[<p>This put a big smile on my face. Saw it while out on a ride this morning before work. That it was not cold, dark and raining also helped.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/gallery/postbox_toppers/20260226_whale_higham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Sea Creatures, Higham">
          <img src="/gallery/postbox_toppers/20260226_whale_higham_hu_4db5b01a27e0cc2e.jpg" alt="Knitted ocean‑themed post box topper in Higham featuring a large grey whale surrounded by colourful woollen fish, seaweed, and small sea creatures on a crocheted beige cover." loading="lazy" style="display: inline-block;">
        </a><figcaption>Sea Creatures, Higham</figcaption>
    </figure>]]></content:encoded></item><item><title>...and this little piggy</title><link>https://www.bongotwisty.blog/little_piggy/</link><pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/little_piggy/</guid><description>&lt;p&gt;Nearly missed this one. Tucked away in the bushes just outside of Barham village.&lt;/p&gt;
&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/20260222_piggy_barham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Little Piggy, Barham village"&gt;
&lt;img src="https://www.bongotwisty.blog/gallery/postbox_toppers/20260222_piggy_barham_hu_d008c46b23b0208a.jpg" alt="Crocheted multicoloured pig postbox topper with long eyelashes sitting on a red “Post Office” box in Barham, Kent." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Little Piggy, Barham village&lt;/figcaption&gt;
&lt;/figure&gt;</description><content:encoded><![CDATA[<p>Nearly missed this one. Tucked away in the bushes just outside of Barham village.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/gallery/postbox_toppers/20260222_piggy_barham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Little Piggy, Barham village">
          <img src="/gallery/postbox_toppers/20260222_piggy_barham_hu_d008c46b23b0208a.jpg" alt="Crocheted multicoloured pig postbox topper with long eyelashes sitting on a red “Post Office” box in Barham, Kent." loading="lazy" style="display: inline-block;">
        </a><figcaption>Little Piggy, Barham village</figcaption>
    </figure>]]></content:encoded></item><item><title>Webmentions</title><link>https://www.bongotwisty.blog/webmentions/</link><pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/webmentions/</guid><description>&lt;p&gt;This site supports &lt;a href="https://indieweb.org/Webmention"&gt;Webmentions&lt;/a&gt;. If your site sends Webmentions and you link to a page here, your mention should be delivered to my Webmention endpoint.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Receiving&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I use &lt;a href="https://webmention.io"&gt;webmention.io&lt;/a&gt; as an inbox for this space:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Endpoint: &lt;code&gt;https://webmention.io/bongotwisty.blog/webmention&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The endpoint is advertised via a &lt;code&gt;&amp;lt;link rel=&amp;quot;webmention&amp;quot;&amp;gt;&lt;/code&gt; tag in the HTML &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; of each page.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’m not currently rendering Webmentions publicly on posts. I check them via the webmention.io dashboard and may follow links or respond, but they’re not shown as a visible comments thread.&lt;/p&gt;</description><content:encoded><![CDATA[<p>This site supports <a href="https://indieweb.org/Webmention">Webmentions</a>. If your site sends Webmentions and you link to a page here, your mention should be delivered to my Webmention endpoint.</p>
<p><strong>Receiving</strong></p>
<p>I use <a href="https://webmention.io">webmention.io</a> as an inbox for this space:</p>
<ul>
<li>Endpoint: <code>https://webmention.io/bongotwisty.blog/webmention</code></li>
<li>The endpoint is advertised via a <code>&lt;link rel=&quot;webmention&quot;&gt;</code> tag in the HTML <code>&lt;head&gt;</code> of each page.</li>
</ul>
<p>I’m not currently rendering Webmentions publicly on posts. I check them via the webmention.io dashboard and may follow links or respond, but they’re not shown as a visible comments thread.</p>
<p><strong>Sending</strong></p>
<p>This is a static site built with Hugo and deployed via GitHub Pages. Outgoing Webmentions are sent automatically as part of the publish pipeline:</p>
<ul>
<li>After Hugo builds the site, a Python script runs on each deploy.</li>
<li>It looks at Markdown content files that changed in the latest commits, maps them to their generated HTML pages, and scans those pages for external links.</li>
<li>For each external link, it:
<ul>
<li>Checks for a Webmention endpoint on the target (HTTP <code>Link</code> headers or <code>&lt;link rel=&quot;webmention&quot;&gt;</code> in the HTML).</li>
<li>Sends a Webmention (<code>source</code> = my post URL, <code>target</code> = your URL) if an endpoint is found.</li>
<li>Records <code>source:target</code> pairs in a local JSON cache so the same Webmention is not re-sent on future builds.</li>
</ul>
</li>
</ul>
<p>To keep the noise down:</p>
<ul>
<li>Only posts whose source files have actually changed are considered on each deploy.</li>
<li>There is a cap on how many new Webmentions are sent per run.</li>
<li>Content prior to 2017 is ignored for automated catch-up.</li>
</ul>
<p><strong>Expectations</strong></p>
<p>If you run a Webmention-aware site or use a service like <a href="https://micro.blog">Micro.blog</a> or webmention.io for your own domain, linking here should result in a Webmention being delivered to my endpoint. Likewise, when I link to your Webmention enabled posts from newer content, my site will attempt to notify you once via Webmention as part of the build process.</p>
<p><strong>Why I’m using Webmentions</strong></p>
<p>I see Webmentions as a lightweight way to have cross-site conversations without depending on a single social platform. By adding them to my Hugo + GitHub Pages workflow, I can:</p>
<ul>
<li>Acknowledge other people’s writing when I link to them from newer posts, without manually sending notifications.</li>
<li>Give Webmention enabled sites a quiet, one-time signal that I’ve referenced their work, which they can choose to display, archive, or ignore as they see fit.</li>
<li>Keep my own site simple and static while still participating in a small social layer on the web.</li>
</ul>
<p>At the moment I’m using Webmentions mainly for discovery and personal awareness. That may evolve over time into a public comment system, but for now the goal is to support and take part in the broader IndieWeb ecosystem in a low-noise, respectful way.</p>
]]></content:encoded></item><item><title>Learning to Sync</title><link>https://www.bongotwisty.blog/learning-to-sync/</link><pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/learning-to-sync/</guid><description>&lt;p&gt;I could not leave good enough alone. I&amp;rsquo;ve continued to tweak the script that syncs music files between my desktop and &lt;a href="https://www.navidrome.org/about/"&gt;Navidrome&lt;/a&gt; server.&lt;/p&gt;
&lt;p&gt;The original script ignored music files that were not mp3s. This was due to the limitations of the CPU in the laptop used as a server. It&amp;rsquo;s around 14 years old and even when new was not up to much beyond web browsing and playing media files. Having flacs on the server requires the CPU to transcode them on the fly. It&amp;rsquo;s not up to that hence I filtered out flacs from the sync.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I could not leave good enough alone. I&rsquo;ve continued to tweak the script that syncs music files between my desktop and <a href="https://www.navidrome.org/about/">Navidrome</a> server.</p>
<p>The original script ignored music files that were not mp3s. This was due to the limitations of the CPU in the laptop used as a server. It&rsquo;s around 14 years old and even when new was not up to much beyond web browsing and playing media files. Having flacs on the server requires the CPU to transcode them on the fly. It&rsquo;s not up to that hence I filtered out flacs from the sync.</p>
<p>The thing is I have been growing my collection of flac files and want to listen to those tunes as well.</p>
<p>I had the idea to modify the script such that flacs would be converted to mp3s on my desktop, the newly created mp3s saved in a staging directory, sync that directory to the server and leave the flacs where they were, unchanged. Sounded pretty simple.</p>
<p>I&rsquo;ve never been quick to get a mental model of sync workflows. Not one to give up trying I stuck with it for a bit more time than might seem reasonable.</p>
<p>I got the core functionality sorted out pretty quickly. It took a lot longer to work out how to correctly manage and check cache files against content on the server, the desktop and the staging directory. It took a least a dozen attempts to get it right. Each failed attempt involved flacs being converted, mp3s being synced, cache files being checked against content, then the transferred mp3s being deleted from the server. Thankfully it was only the mp3s created from the conversion process that were being deleted but still&hellip; it became rather tiresome. I almost gave up.</p>
<p>Happy to say I got it working in the end. The script now generates the desired results. It&rsquo;s lovely to see it doing what I was after. Very satisfying. Aside from getting to grips with <a href="https://rclone.org">Rclone</a> and syncing I have also gained a respectful appreciation of dry runs. It&rsquo;s been an exercise of learning from my mistakes.</p>
<p>There are further tweaks I really should make. Main gaps are around resilience during interruption and better logging. Flac conversion could also be made faster with parallelisation. That&rsquo;s not strictly necessary but it would be nice to have. Like I said. I cannot leave good enough alone.</p>
]]></content:encoded></item><item><title>Setting Up a Personal Music Server</title><link>https://www.bongotwisty.blog/personal_music_server/</link><pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/personal_music_server/</guid><description>&lt;p&gt;A few months ago I &lt;a href="https://www.bongotwisty.blog/set_the_music_free/"&gt;set my music free&lt;/a&gt; with an instance of the Navidrome Music Streaming Server on &lt;a href="https://www.pikapods.com"&gt;Pikapod&lt;/a&gt;. It was very easy. I was up and running in no time.&lt;/p&gt;
&lt;p&gt;There was an old laptop that I could have used as a server but was put off by the thought of wrangling network settings. I had my fill of that with a Nextcloud instance on a Raspberry Pie some years ago.&lt;/p&gt;</description><content:encoded><![CDATA[<p>A few months ago I <a href="https://www.bongotwisty.blog/set_the_music_free/">set my music free</a> with an instance of the Navidrome Music Streaming Server on <a href="https://www.pikapods.com">Pikapod</a>. It was very easy. I was up and running in no time.</p>
<p>There was an old laptop that I could have used as a server but was put off by the thought of wrangling network settings. I had my fill of that with a Nextcloud instance on a Raspberry Pie some years ago.</p>
<p>Pikapod provides a great service at a good price and profit shares with the developers of the open source apps it hosts. All good. I was happy with the service.</p>
<p>Some time after I learned about <a href="https://tailscale.com">Tailscale</a>. It basically removes the pain of configuring a secure network to facilitate remote access to a local server. For my use case it&rsquo;s free. What&rsquo;s not to like?</p>
<p>What with an old unused laptop lying around, knowing I could do this and with a bit of time on my hands I decided to go for it. Guided by an LLM it was all quite straight forward. As I am writing this post the process of syncing several hundred GBs of music files to the local server is completing in the background. All working as expected. Streaming on local and remote networks.</p>
<p>Happy days. I&rsquo;m now one of the increasing number of people whose hosting their own music streaming service.</p>
<p>Here&rsquo;s a few details -</p>
<hr>
<h2 id="server">Server</h2>
<ul>
<li><strong>Model</strong>: Lenovo IdeaPad Flex 15D</li>
<li><strong>CPU</strong>: Intel Atom x7-Z8750 (4 cores, 1.6-2.56 GHz)</li>
<li><strong>RAM</strong>: 4GB</li>
<li><strong>OS</strong>: Ubuntu Server 24.04 LTS</li>
</ul>
<hr>
<h2 id="cpu-constraints">CPU Constraints</h2>
<ul>
<li><strong>No real-time transcoding</strong> - CPU will struggle with FLAC→MP3 conversion</li>
<li><strong>Solution</strong>: Sync only MP3 files, pre-convert lossless formats</li>
<li><strong>Limited concurrent streams</strong> - Max 2-3 simultaneous users</li>
<li><strong>Power efficient</strong>: 2W TDP, suitable for 24/7 operation</li>
</ul>
<hr>
<h2 id="rclone-filter-file">rclone Filter File</h2>






<pre tabindex="0"><code># MP3-only filter (optimized for Atom processor - no transcoding needed)

# Include MP3 files ONLY
+ *.mp3
+ *.MP3

# Include album artwork
+ *.jpg
+ *.jpeg
+ *.png
+ *.JPG
+ *.JPEG
+ *.PNG
+ cover.*
+ folder.*
+ Cover.*
+ Folder.*

# Include playlist files
+ *.m3u
+ *.m3u8
+ *.M3U

# Exclude ALL other audio formats (prevent transcoding load)
- *.flac
- *.FLAC
- *.m4a
- *.M4A
- *.aac
- *.AAC
- *.ogg
- *.OGG
- *.opus
- *.OPUS
- *.wav
- *.WAV
- *.wma
- *.WMA
- *.ape
- *.alac
- *.aiff

# Exclude system files
- .DS_Store
- Thumbs.db
- desktop.ini
- .directory

# Exclude temporary/hidden files
- *.tmp
- *.temp
- *~
- .~*
- .*

# Exclude text/documentation
- *.txt
- *.pdf
- *.doc
- *.docx
- *.nfo
- *.log
- *.cue

# Include directories
+ */</code></pre>
<h2 id="sync-script">Sync Script</h2>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">  1</span><span><span style="color:#6c7086;font-style:italic">#!/bin/bash
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">  2</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">  3</span><span><span style="color:#6c7086;font-style:italic">################################################################################</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">  4</span><span><span style="color:#6c7086;font-style:italic"># Navidrome Local Server Music Sync Script</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">  5</span><span><span style="color:#6c7086;font-style:italic"># Syncs music from local storage to Tailscale-connected Navidrome server</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">  6</span><span><span style="color:#6c7086;font-style:italic"># Optimized for low-power Atom processor</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">  7</span><span><span style="color:#6c7086;font-style:italic">################################################################################</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">  8</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">  9</span><span><span style="color:#6c7086;font-style:italic"># === CONFIGURATION ===</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 10</span><span><span style="color:#f5e0dc">MUSIC_SOURCE</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#a6e3a1">&#34;/your/music/directory&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 11</span><span><span style="color:#f5e0dc">RCLONE_REMOTE</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#a6e3a1">&#34;what_you_named_your_navidrome_server:/your/music/directory&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 12</span><span><span style="color:#f5e0dc">FILTER_FILE</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#a6e3a1">&#34;</span><span style="color:#f5e0dc">$HOME</span><span style="color:#a6e3a1">/.config/rclone/what_you_named_your_filter.txt&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 13</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 14</span><span><span style="color:#6c7086;font-style:italic"># Navidrome API settings</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 15</span><span><span style="color:#f5e0dc">NAVIDROME_URL</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#a6e3a1">&#34;http://XXX.XX.XX.XX:4533&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 16</span><span><span style="color:#f5e0dc">NAVIDROME_USER</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#a6e3a1">&#34;YOUR USER NAME&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 17</span><span><span style="color:#f5e0dc">NAVIDROME_PASS</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#a6e3a1">&#34;YOUR PASSWORD&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 18</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 19</span><span><span style="color:#6c7086;font-style:italic"># === SCRIPT START ===</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 20</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;========================================&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 21</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;Navidrome Local Server Music Sync&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 22</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;Started: </span><span style="color:#cba6f7">$(</span>date<span style="color:#cba6f7">)</span><span style="color:#a6e3a1">&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 23</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;========================================&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 24</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 25</span><span><span style="color:#6c7086;font-style:italic"># Check if source directory exists</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 26</span><span><span style="color:#cba6f7">if</span> <span style="color:#89dceb;font-weight:bold">[</span> ! -d <span style="color:#a6e3a1">&#34;</span><span style="color:#f5e0dc">$MUSIC_SOURCE</span><span style="color:#a6e3a1">&#34;</span> <span style="color:#89dceb;font-weight:bold">]</span>; <span style="color:#cba6f7">then</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 27</span><span>    <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;ERROR: Music source directory not found: </span><span style="color:#f5e0dc">$MUSIC_SOURCE</span><span style="color:#a6e3a1">&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 28</span><span>    <span style="color:#89dceb">exit</span> <span style="color:#fab387">1</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 29</span><span><span style="color:#cba6f7">fi</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 30</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 31</span><span><span style="color:#6c7086;font-style:italic"># Check if filter file exists</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 32</span><span><span style="color:#cba6f7">if</span> <span style="color:#89dceb;font-weight:bold">[</span> ! -f <span style="color:#a6e3a1">&#34;</span><span style="color:#f5e0dc">$FILTER_FILE</span><span style="color:#a6e3a1">&#34;</span> <span style="color:#89dceb;font-weight:bold">]</span>; <span style="color:#cba6f7">then</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 33</span><span>    <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;WARNING: Filter file not found: </span><span style="color:#f5e0dc">$FILTER_FILE</span><span style="color:#a6e3a1">&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 34</span><span>    <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;Proceeding without filters...&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 35</span><span>    <span style="color:#f5e0dc">FILTER_ARG</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#a6e3a1">&#34;&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 36</span><span><span style="color:#cba6f7">else</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 37</span><span>    <span style="color:#f5e0dc">FILTER_ARG</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#a6e3a1">&#34;--filter-from </span><span style="color:#f5e0dc">$FILTER_FILE</span><span style="color:#a6e3a1">&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 38</span><span><span style="color:#cba6f7">fi</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 39</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 40</span><span><span style="color:#6c7086;font-style:italic"># Perform rclone sync with optimized settings for local network</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 41</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 42</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;Starting music sync...&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 43</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;Source: </span><span style="color:#f5e0dc">$MUSIC_SOURCE</span><span style="color:#a6e3a1">&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 44</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;Destination: </span><span style="color:#f5e0dc">$RCLONE_REMOTE</span><span style="color:#a6e3a1">&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 45</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 46</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 47</span><span>rclone sync <span style="color:#a6e3a1">&#34;</span><span style="color:#f5e0dc">$MUSIC_SOURCE</span><span style="color:#a6e3a1">&#34;</span> <span style="color:#a6e3a1">&#34;</span><span style="color:#f5e0dc">$RCLONE_REMOTE</span><span style="color:#a6e3a1">&#34;</span> <span style="color:#89b4fa">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 48</span><span>    <span style="color:#f5e0dc">$FILTER_ARG</span> <span style="color:#89b4fa">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 49</span><span>    --progress <span style="color:#89b4fa">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 50</span><span>    --stats 10s <span style="color:#89b4fa">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 51</span><span>    --transfers <span style="color:#fab387">8</span> <span style="color:#89b4fa">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 52</span><span>    --checkers <span style="color:#fab387">16</span> <span style="color:#89b4fa">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 53</span><span>    --stats-one-line <span style="color:#89b4fa">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 54</span><span>    --bwlimit-file 50M
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 55</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 56</span><span><span style="color:#6c7086;font-style:italic"># Check sync result</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 57</span><span><span style="color:#f5e0dc">SYNC_EXIT_CODE</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#f5e0dc">$?</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 58</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 59</span><span><span style="color:#cba6f7">if</span> <span style="color:#89dceb;font-weight:bold">[</span> <span style="color:#f5e0dc">$SYNC_EXIT_CODE</span> -eq <span style="color:#fab387">0</span> <span style="color:#89dceb;font-weight:bold">]</span>; <span style="color:#cba6f7">then</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 60</span><span>    <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 61</span><span>    <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;✓ Sync completed successfully!&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 62</span><span>    <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 63</span><span>    
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 64</span><span>    <span style="color:#6c7086;font-style:italic"># Trigger Navidrome library scan</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 65</span><span>    <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;Triggering Navidrome library scan...&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 66</span><span>    
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 67</span><span>    <span style="color:#6c7086;font-style:italic"># Generate salt and MD5 token for authentication</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 68</span><span>    <span style="color:#f5e0dc">SALT</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#cba6f7">$(</span>date +%s | md5sum | cut -d<span style="color:#a6e3a1">&#39; &#39;</span> -f1 | cut -c1-12<span style="color:#cba6f7">)</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 69</span><span>    <span style="color:#f5e0dc">TOKEN</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#cba6f7">$(</span><span style="color:#89dceb">echo</span> -n <span style="color:#a6e3a1">&#34;</span><span style="color:#a6e3a1">${</span><span style="color:#f5e0dc">NAVIDROME_PASS</span><span style="color:#a6e3a1">}${</span><span style="color:#f5e0dc">SALT</span><span style="color:#a6e3a1">}</span><span style="color:#a6e3a1">&#34;</span> | md5sum | cut -d<span style="color:#a6e3a1">&#39; &#39;</span> -f1<span style="color:#cba6f7">)</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 70</span><span>    
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 71</span><span>    <span style="color:#6c7086;font-style:italic"># Call the startScan API</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 72</span><span>    <span style="color:#f5e0dc">SCAN_RESPONSE</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#cba6f7">$(</span>curl -s <span style="color:#a6e3a1">&#34;</span><span style="color:#a6e3a1">${</span><span style="color:#f5e0dc">NAVIDROME_URL</span><span style="color:#a6e3a1">}</span><span style="color:#a6e3a1">/rest/startScan?u=</span><span style="color:#a6e3a1">${</span><span style="color:#f5e0dc">NAVIDROME_USER</span><span style="color:#a6e3a1">}</span><span style="color:#a6e3a1">&amp;t=</span><span style="color:#a6e3a1">${</span><span style="color:#f5e0dc">TOKEN</span><span style="color:#a6e3a1">}</span><span style="color:#a6e3a1">&amp;s=</span><span style="color:#a6e3a1">${</span><span style="color:#f5e0dc">SALT</span><span style="color:#a6e3a1">}</span><span style="color:#a6e3a1">&amp;v=1.16.1&amp;c=rclone_sync&amp;f=json&#34;</span><span style="color:#cba6f7">)</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 73</span><span>    
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 74</span><span>    <span style="color:#6c7086;font-style:italic"># Check response</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 75</span><span>    <span style="color:#cba6f7">if</span> <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;</span><span style="color:#f5e0dc">$SCAN_RESPONSE</span><span style="color:#a6e3a1">&#34;</span> | grep -q <span style="color:#a6e3a1">&#39;&#34;status&#34;:&#34;ok&#34;&#39;</span>; <span style="color:#cba6f7">then</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 76</span><span>        <span style="color:#cba6f7">if</span> <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;</span><span style="color:#f5e0dc">$SCAN_RESPONSE</span><span style="color:#a6e3a1">&#34;</span> | grep -q <span style="color:#a6e3a1">&#39;&#34;scanning&#34;:true&#39;</span>; <span style="color:#cba6f7">then</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 77</span><span>            <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;✓ Library scan triggered successfully!&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 78</span><span>            <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;  Navidrome is now scanning your music library...&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 79</span><span>        <span style="color:#cba6f7">else</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 80</span><span>            <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;✓ Scan request accepted&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 81</span><span>        <span style="color:#cba6f7">fi</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 82</span><span>    <span style="color:#cba6f7">elif</span> <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;</span><span style="color:#f5e0dc">$SCAN_RESPONSE</span><span style="color:#a6e3a1">&#34;</span> | grep -q <span style="color:#a6e3a1">&#39;&#34;status&#34;:&#34;failed&#34;&#39;</span>; <span style="color:#cba6f7">then</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 83</span><span>        <span style="color:#f5e0dc">ERROR_MSG</span><span style="color:#89dceb;font-weight:bold">=</span><span style="color:#cba6f7">$(</span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;</span><span style="color:#f5e0dc">$SCAN_RESPONSE</span><span style="color:#a6e3a1">&#34;</span> | grep -o <span style="color:#a6e3a1">&#39;&#34;message&#34;:&#34;[^&#34;]*&#34;&#39;</span> | cut -d<span style="color:#a6e3a1">&#39;&#34;&#39;</span> -f4<span style="color:#cba6f7">)</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 84</span><span>        <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;⚠ Scan failed: </span><span style="color:#f5e0dc">$ERROR_MSG</span><span style="color:#a6e3a1">&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 85</span><span>    <span style="color:#cba6f7">else</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 86</span><span>        <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;⚠ Unexpected response&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 87</span><span>        <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;</span><span style="color:#f5e0dc">$SCAN_RESPONSE</span><span style="color:#a6e3a1">&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 88</span><span>    <span style="color:#cba6f7">fi</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 89</span><span>    
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 90</span><span><span style="color:#cba6f7">else</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 91</span><span>    <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 92</span><span>    <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;✗ Sync failed with exit code: </span><span style="color:#f5e0dc">$SYNC_EXIT_CODE</span><span style="color:#a6e3a1">&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 93</span><span>    <span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;Skipping Navidrome scan.&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 94</span><span>    <span style="color:#89dceb">exit</span> <span style="color:#fab387">1</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 95</span><span><span style="color:#cba6f7">fi</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 96</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 97</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 98</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;========================================&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 99</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;Completed: </span><span style="color:#cba6f7">$(</span>date<span style="color:#cba6f7">)</span><span style="color:#a6e3a1">&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">100</span><span><span style="color:#89dceb">echo</span> <span style="color:#a6e3a1">&#34;========================================&#34;</span></span></span></code></pre></div>
<hr>
<h2 id="resources">Resources</h2>
<ul>
<li><strong>Navidrome Docs</strong>: <a href="https://www.navidrome.org/docs/">https://www.navidrome.org/docs/</a></li>
<li><strong>Navidrome Config Options</strong>: <a href="https://www.navidrome.org/docs/usage/configuration-options/">https://www.navidrome.org/docs/usage/configuration-options/</a></li>
<li><strong>Tailscale Docs</strong>: <a href="https://tailscale.com/kb/">https://tailscale.com/kb/</a></li>
<li><strong>rclone Docs</strong>: <a href="https://rclone.org/docs/">https://rclone.org/docs/</a></li>
</ul>
]]></content:encoded></item><item><title>audax: Neighbourhood 200 DiY</title><link>https://www.bongotwisty.blog/neighbourhood_200/</link><pubDate>Sun, 08 Feb 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/neighbourhood_200/</guid><description>&lt;p&gt;I started my first RRtY&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; series in October 2023, the second in October 2024 and the third and fourth in October 2025. I&amp;rsquo;m now doing two years simultaneously because&amp;hellip; well it seems manageable and I don&amp;rsquo;t want to take ten years to get the Ultra (x10) RRtY Award. If I keep going with two a year I&amp;rsquo;ll get that in 2029.&lt;/p&gt;
&lt;p&gt;Why you may ask does it matter. Getting the award does not matter at all. It&amp;rsquo;s what goes into getting it and what I get out of that which is what really matters. I suppose that&amp;rsquo;s not so different from any endeavour.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I started my first RRtY<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> series in October 2023, the second in October 2024 and the third and fourth in October 2025. I&rsquo;m now doing two years simultaneously because&hellip; well it seems manageable and I don&rsquo;t want to take ten years to get the Ultra (x10) RRtY Award. If I keep going with two a year I&rsquo;ll get that in 2029.</p>
<p>Why you may ask does it matter. Getting the award does not matter at all. It&rsquo;s what goes into getting it and what I get out of that which is what really matters. I suppose that&rsquo;s not so different from any endeavour.</p>
<p>Each year I have and plan to ride an SR<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup> series then a 200k for each of the remaining months of the season. Anything more is a bonus.</p>
<p>So I&rsquo;m five months into the two simultaneous RRtY series I am completing in 2025/2026. Yesterday I rode the first of two rides to get in for February. I followed country lanes and roads I have ridden before and know very well. This was however the first time I joined them all up to make a 200k DiY<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup> ride.</p>
<p>Although I covered just over 200k I was never much more than 50k from home at any point. It was grey and drizzly for much of the day which also meant it was fairly mild.</p>
<p>Flatish at the beginning on a loop of the Hoo Peninsula and towards the end on another loop but this time round the Isle of Sheppey. Plenty of climbing and coasting downhill in the middle section across the the North Downs. All in all it was a varied ride that mostly avoided busy roads and showed off the contrasting topography found in North Kent. It would make a great ride on a dry and sunny day.</p>


<a href="/neighbourhood_200/neigbourhood_200.jpg" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/neighbourhood_200/neigbourhood_200_hu_ad2132dba4ad8560.jpg" alt="a map of a 206-kilometer route in Kent, England. The red route line begins near Rochester and completes a large, intricate loop covering the Hoo Peninsula, the Isle of Sheppey, and the Faversham area. Below the map, the ride statistics display a total distance of 206 km, an elevation gain of 2,226 meters, and a moving time of 10 hours and 0 minutes. An orange graph across the bottom visualizes the route&rsquo;s elevation profile.
" loading="lazy" style="display: inline-block;">
      </a><p>Anyhow, the ride did not prompt writing this post. I attribute that to my new found interest in fuelling myself on the bike. I have taken to making &ldquo;portable&rdquo; snacks to keep me going while out on the road. Following recipes in the book &ldquo;Feed Zone Portables&rdquo; by Biju Thomas and Allen Limm. I started with making banana and walnut quick crusts, then had a go at some mushroom &amp; swiss frittatas. Yesterday I took a turn with shaped and baked date and almond rice balls. My competence is growing -</p>


<a href="/neighbourhood_200/cover.jpg" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/neighbourhood_200/cover_hu_d84caee224a53fd1.jpg" alt="A plate of tasty looking home made shaped and baked date and almond rice balls" loading="lazy" style="display: inline-block;">
      </a><p>I made eleven of them and came back with five. The only other thing I ate on the ride was a packet of Frazzels when I stopped to top up my water bottle. Pretty pleased with that.</p>
<p>Less stopping equals less faffing hence time management improves. I know — 10 hrs. I put that down in part to giving blood the previous Friday. More to the point though is that I can sustain 20kmp/h over very long distances so I&rsquo;m pretty okay with this to help prepare for the ride I have planned from Calais to near enough Lisbon over 11 days in May. Not that I shall be able to bake any such treats on the way but all the same I think it will help develop part of the mindset I need to get there within the time I have to do it.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>The Randonneur Round the Year (RRtY) Award. The award is earned with a validated Brevet de Randonneur (BR<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>) or Brevet de Randonneur Mondiaux (BRM<sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup>) completed in each of any 12 consecutive calendar months. There are also RM (Randonneurs Mondiaux) events which are 1200km (usually 90 hour time limit) or longer (time limit based on nominal distance and speed limits similar to those for BR rides<sup id="fnref1:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>)&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>The Super Randonneur (SR) award consists of the BR(M) series: 200 km, 300 km, 400 km, 600 km, all completed in the same Randonneur year.&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p>DIY events allow riders to plan and schedule their own events and still have them validated by Audax UK. You can choose not only the date of your ride but the route itself and all of the controls<sup id="fnref:6"><a href="#fn:6" class="footnote-ref" role="doc-noteref">6</a></sup> along the way. For simplicity you can ride a Mandatory route DIY by GPS.  For mandatory by GPS DIYs the planned route distance determines your time allowance and points. I always plan and complete a mandatory route of 200km or more (which classify as a BR event) for my DiYs. The minimum speeds set out in <sup id="fnref2:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup> apply.&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p>BR (Brevets de Randonneurs)  events are at any distance over 200km, and are validated only by AUK. Whilst not dissimilar in conduct to BRM events the speed limits are subtly different.  The maximum time allowed is based on the actual distance of the event and a minimum speed set by the organiser, usually 14.3km/h or 15km/h for events less than 600km. Lower minimum speeds are allowed in the AUK Regulations for longer events.</p>
<table>
  <thead>
      <tr>
          <th>Distance</th>
          <th>Minimum Speed</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>200 to 600 km</td>
          <td>14.3 to 15 km/h</td>
      </tr>
      <tr>
          <td>700 to 1200 km</td>
          <td>13-1/3 km/h</td>
      </tr>
      <tr>
          <td>1300 to 1800 km</td>
          <td>12 km/h</td>
      </tr>
      <tr>
          <td>1900 to 2400 km</td>
          <td>10 km/h</td>
      </tr>
      <tr>
          <td>2500 km</td>
          <td>8-1/3 km/h</td>
      </tr>
  </tbody>
</table>
&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref2:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></li>
<li id="fn:5">
<p>BRM (Brevets de Randonneurs Mondiaux) events are run all around the world under the standard set of rules laid down by the ACP (Audax Club Parisien) and the rides are validated and recorded by them.  They are at standard distances, with a maximum of 5% over distance, and the maximum time limits for each distance is:</p>
<table>
  <thead>
      <tr>
          <th>Distance</th>
          <th>Time Limit</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>200km</td>
          <td>13h30m</td>
      </tr>
      <tr>
          <td>300km</td>
          <td>20h</td>
      </tr>
      <tr>
          <td>400km</td>
          <td>27h</td>
      </tr>
      <tr>
          <td>600km</td>
          <td>40h</td>
      </tr>
      <tr>
          <td>1000km</td>
          <td>75h</td>
      </tr>
  </tbody>
</table>
&#160;<a href="#fnref:5" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></li>
<li id="fn:6">
<p>It&rsquo;s an Audax thing. Routes are defined by a sequence of checkpoints (controls) to an agreed time schedule, evidenced by &ldquo;proofs of passage&rdquo; collected along the way. Controls are required at regular intervals to allow for rest and refreshment. Controls should be at intervals around the route of between 50 km and 80 km. For GPS DIYs there is no need to be too precise as this is just a summary.&#160;<a href="#fnref:6" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded></item><item><title>A Work in Progress</title><link>https://www.bongotwisty.blog/a-work-in-progress/</link><pubDate>Tue, 03 Feb 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/a-work-in-progress/</guid><description>&lt;p&gt;A few years ago I was asked by a friend whether I&amp;rsquo;d like to share an allotment. They&amp;rsquo;d been waiting five years for one. They suggested it would be a good way to spend time together, learn about growing your own fruit and veg, and get some exercise in the fresh air. I get plenty of fresh air and exercise but even so I liked the idea so said yes of course I would.&lt;/p&gt;</description><content:encoded><![CDATA[<p>A few years ago I was asked by a friend whether I&rsquo;d like to share an allotment. They&rsquo;d been waiting five years for one. They suggested it would be a good way to spend time together, learn about growing your own fruit and veg, and get some exercise in the fresh air.  I get plenty of fresh air and exercise but even so I liked the idea so said yes of course I would.</p>
<p>The plot was pretty big. Big enough for two. The allotment was in their name but I presumed it would be a fair division of labour, land and produce.</p>
<p>I was happy to put in the hours to tidy the plot up and prep it for growing. I contributed towards the costs of things.</p>
<p>It got to the point where pretty much all of the site had been dug over. My friend had started planting out one half of the plot, asserted ownership of a top section of established soft fruits and was making plans for the remaining land. There was a relatively small area that still needed to be dug and weeded. My friend declared that this was my &lsquo;allotted patch&rsquo;.</p>
<p>I&rsquo;d found myself in a micro feudal system. The council was king. The allotment manager a baron. My friend a knight. I was a peasant. I worked the land, paid my taxes, and was allotted a small patch of left over ground.</p>
<p>Not long after this I told my friend I was handing the keys back. When asked why I said lot&rsquo;s of reasons but that I was choosing to tell them I no longed wanted to invest time and energy in our endeavour. I said I was missing the time riding my bike and coding. This was all true.</p>
<p>They were a bit put out. Disappointed but had been expecting it. They talked about how I had been full of enthusiasm initially but was clearly not up to the &ldquo;hard work of allotmenting&rdquo;. They said they&rsquo;d never have taken on such a big plot if knowing they&rsquo;d be looking after it on their own.  I told them to treat me like a &ldquo;helpful friend&rdquo; and to just ask when they needed support. I have been true to this offer and have helped out every time I&rsquo;ve been asked.</p>
<p>I could have dealt with this better. I should have tactfully challenged their approach and negotiated fairer treatment. I did not. I silently judged them instead. I wrote them off as someone that would only see things the way they saw things. It may have been true. The truth is I was simply not inclined or perhaps confident enough to challenge and argue my case.</p>
<p>The vulnerable/angry child ran the show. It was how I coped with a father who told but did not listen or appear to care. Sadness supplanted by quiet anger. Sullen compliance. Silent critical judgement a substitute for agency and control. Suppress the protest then opt out rather than risk conflict and rejection. In some ways it worked but at the cost of connection and met needs.</p>
<p>It&rsquo;s tragic how survival strategies we used to protect us as children often remain throughout adulthood. Insight alone does not change a thing without courage, action and acceptance of feelings. The last one being the hardest to get a handle on and what gives purpose and direction to the first two. Happy  to say I am a work in progress. If I was not I might never grow up.</p>
]]></content:encoded></item><item><title>The Houses of Parliament</title><link>https://www.bongotwisty.blog/the-houses-of-parliament/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/the-houses-of-parliament/</guid><description>&lt;p&gt;Last weekend spouse and I went to visit the Houses of Parliament. An audio tour. We saw both chambers; the Lords and the Commons. The tour included a lot of lobbies, Westminster and St Stephens halls, the royal gallery, and robing room.&lt;/p&gt;
&lt;p&gt;It was interesting. I&amp;rsquo;m pleased we went. The visit reminded me that the power and authority of the place is very much in the history, traditions and institutional rules. Submission and deference to these being a prerequisite for elected Members and Lords. They may portray importance but must all know their place.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Last weekend spouse and I went to visit the Houses of Parliament. An audio tour. We saw both chambers; the Lords and the Commons. The tour included a lot of lobbies, Westminster and St Stephens halls, the royal gallery, and robing room.</p>
<p>It was interesting. I&rsquo;m pleased we went. The visit reminded me that the power and authority of the place is very much in the history, traditions and institutional rules. Submission and deference to these being a prerequisite for elected Members and Lords. They may portray importance but must all know their place.</p>
<p>It&rsquo;s a wonder how anything ever changes. Perhaps little has. Elaborate theatrics played out again and again over hundreds of years. The same power structures simply changing hands. The benefactors, and those put upon reliably served and kept in their place respectively.</p>
<p>The built environment and general atmosphere felt coercive, overbearing and menacing to me. I was pleased to leave when we did. It&rsquo;s not somewhere I felt comfortable being or would want to visit again.</p>
]]></content:encoded></item><item><title>Cycling: Goals and Methods for 2026</title><link>https://www.bongotwisty.blog/cycling_goals_2026/</link><pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/cycling_goals_2026/</guid><description>&lt;p&gt;I completed my annual distance goal at the end of 2025. For 2026 I thought something different would be in order.&lt;/p&gt;
&lt;p&gt;Lat year I rode one route a lot. It took no thought. It was a sure fire way of getting the miles in. The ride was nice enough. Not too hilly, not too flat. A mix of rural lanes and urban roads. Start and finish from home. 50km. I could do a loop before or after work. Towards the end of the year I was riding pretty much on autopilot.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I completed my annual distance goal at the end of 2025. For 2026 I thought something different would be in order.</p>
<p>Lat year I rode one route a lot. It took no thought. It was a sure fire way of getting the miles in. The ride was nice enough. Not too hilly, not too flat. A mix of rural lanes and urban roads. Start and finish from home. 50km. I could do a loop before or after work. Towards the end of the year I was riding pretty much on autopilot.</p>
<p>I thought about adding a bit of variety by planning seven different routes starting and ending at home. Pick one on any given day depending on my mood, the weather, time constraints and so on. Sounded good to me. My average speed has gone down a bit so thought I could work on upping that a bit too.</p>
<p>Average speed makes more sense with a bit of context.</p>
<ul>
<li>I live along the line of the North Downs in Kent. There&rsquo;s not a ride near me that does not involve hills.</li>
<li>My  bike&rsquo;s a Surly Disk Trucker. It&rsquo;s a good fit. Very comfortable. Great for getting about on. Perfect for touring. Bit of a cart horse though.</li>
<li>Peak performance is decades behind me. I&rsquo;m fit and lucky enough not to have any health issues I know about.</li>
</ul>
<p>Articles about creating goals can be found for two a penny, especially in January. Make then SMART. Specific, Measurable, Relevant, Timed. There was one with an example of reducing the index number of visceral body fat rather than simply &ldquo;lose weight&rdquo;.</p>
<p>I&rsquo;m easily distracted. Visceral body fat (VF) is fat that surrounds abdominal organs such as your liver, pancreas, and intestines. It&rsquo;s hidden fat. You can look thin on the outside but be be fat on the inside. There&rsquo;s a few things that contribute to it&rsquo;s build up and it&rsquo;s not all food. It&rsquo;s a particularly unhealthy type of fat that increases the risk of heart disease, stroke, diabetes, cancer and dementia . I&rsquo;m in pretty good shape but have always carried a bit around my middle. Hip to waist ratio is an indicator of VF. Seemed like a good idea to get a measure of my VF and make a reduction of that link up with increasing my average speed. I found out my VF is around the mark of it&rsquo;s okay, don&rsquo;t go higher, losing a bit would be good.</p>
<p>Physiologically and gear wise I&rsquo;m more akin to a diesel engine rather than anything sporty. I had some awareness of heart rate zones. I&rsquo;d also heard the term &ldquo;junk miles&rdquo; but since I don&rsquo;t train had not given either much thought. No such thing as &ldquo;junk miles&rdquo; when you love cycling. However, it did occur to me that from a training perspective a lot of my rides likely involved many such miles.</p>
<p>The basics of heart rate zones are pretty simple to understand.</p>
<p><strong>Zone 1</strong>: Recovery. Easy rides. Gentle pace. Coasting is okay.<br>
<strong>Zone 2</strong>: Endurance. Moderate effort. Conversational pace.<br>
<strong>Zone 3</strong>: Tempo. Feels like hard work after a while. Creates fatigue.<br>
<strong>Zone 4</strong>: Threshold. Pushing hard. Deliberate effort. Legs are feeling it.<br>
<strong>Zone 5</strong>: V02 Max. I look and feel a mess. Short bursts. If it don&rsquo;t kill yer&rsquo; it&rsquo;ll make you stonger.</p>
<p>I dug out the heart rate monitor I bought years ago and paired it with my Karoo GPS. I was not at all surprised to confirm my default riding pace is on par with recreation and leisure. Mostly high zone 1 and low to mid 2, from time to time I would drift upwards into zone 3, zone 4 on long steep hills. Zone 5 if ever, only under duress.</p>
<p>Nothing wrong with that but my VF, average speed, and endurance will at best only be maintained if I don&rsquo;t make any changes.</p>
<p>I connected the Karoo to <a href="https://intervals.icu">intervals.icu</a>, and off I went down the rabbit hole of cycle training, which is where I have been for the last week or so. A 101 in theory and methods of pyramidal, polarised, threshold and high intensity interval training. Terminology varies but since I am using intervals.icu I&rsquo;m getting my head round things like intensity, load, HRRc (heart rate recovery), TRIMP (training impulse), fitness, fatigue, and form. It&rsquo;s the last three I am mostly tracking.</p>
<table>
  <thead>
      <tr>
          <th>Metric</th>
          <th>What it means</th>
          <th>Goal</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Fitness (CTL)</td>
          <td>Chronic Training Load. A moving average of how much work you&rsquo;ve done over 42 days.</td>
          <td>Slow &amp; Steady. Don&rsquo;t chase a high number rapidly. Consistency raises this safely.</td>
      </tr>
      <tr>
          <td>Fatigue (ATL)</td>
          <td>Acute Training Load. How tired you are right now (7-day average).</td>
          <td>Watch Spikes. If this jumps suddenly, you risk illness or injury.</td>
      </tr>
      <tr>
          <td>Form (TSB)</td>
          <td>Fitness minus Fatigue.</td>
          <td>Keep it Green. Ideally, stay between -10 and -30 when training. If it drops below -30, you are in the &ldquo;red zone&rdquo; (high risk). If it is positive (e.g., +10), you are fresh/tapered.</td>
      </tr>
  </tbody>
</table>
<p>Initially I over-complicated things by planning precise workouts and syncing these to the Karoo. One for building strength and torque; &ldquo;The Ridge&rdquo;. One for fatigue resistance; &ldquo;The Drag&rdquo; Another that serves as a fasted fat burner; &ldquo;The Roller&rdquo;. The fourth as a spare and suited to building aerobic flow; &ldquo;The Spinner&rdquo; The first and last being the same route but clockwise and counter clockwise and has around 500m elevation. The second and third also sharing the same roads and once more heading out one way or the other. Those two have 400m elevation.</p>
<p>I planned a schedule. &ldquo;The Ridge&rdquo; Monday evenings. Tuesday a rest day. Wednesday morning the &ldquo;The Roller&rdquo;. Thursday evening, &ldquo;The Drag&rdquo;. Friday a rest day. Saturday for audax rides or 60 - 100k  jaunts in zone 2. Sunday an easy spin or day off.</p>
<p>Just ten days in I was doubting the approach. Adapting rides and schedules to accommodate unplanned events. I was becoming preoccupied with numbers. I&rsquo;d not figured out how to combine the rides with the 16:8 intermittent fasting. It did not feel right.Things needed tweaking.</p>
<ul>
<li>Instead of creating and syncing workouts to follow I shall use the terrain to guide my effort.</li>
<li>I&rsquo;ll adjust the schedule according to need and guided by the metrics.</li>
<li>I&rsquo;ll keep regular fasted morning rides to no more that 90 minutes and stay around the mid level of zone 2. Just doing that instead of coasting on these rides will increases my speed and support endurance.</li>
<li>&ldquo;The Ridge&rdquo; and &ldquo;The Drag&rdquo; I&rsquo;ll use during the week to push through zone 3 as quick as I can into zone 4. I will let off the pace just over the summit. I&rsquo;ll do these with a least a day between them for rest, and between 5.00 pm and 7.30 pm. This means I can eat before and after each of these.</li>
<li>On longer rides I&rsquo;ll eat something suitable every 60 to 90 minutes to help maintain strength and power.</li>
<li>No fasting on audax days.</li>
<li>I&rsquo;ll have a rest day after completing an audax and whenever I feel the need or the numbers suggest I should.</li>
<li>Whey isolate to break fast followed by moderation and healthy eating. No biscuits, sweets or snacks.</li>
</ul>
<p>It actually looks quite similar to what I had planned but it feels less regimented. I think this approach will be effective in helping to reach my goals. So long as I have my bearings and course correct along the way I will get to where I want to be.</p>
]]></content:encoded></item><item><title>Hackneyed words, phrases, and ideas</title><link>https://www.bongotwisty.blog/hackneyed_words_-phrases_-and_ideas/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/hackneyed_words_-phrases_-and_ideas/</guid><description>&lt;p&gt;For a while it&amp;rsquo;s been on my mind, stewing. It comes from the circles I have been&amp;hellip; circling. Not mixing in. That&amp;rsquo;s not what I do. Always on the periphery. That&amp;rsquo;s been my way. I understand why that is. I&amp;rsquo;ve been exploring and working on something different to do. It is though, deeply entrenched. I have my bearing.&lt;/p&gt;
&lt;p&gt;I digressed. Back to the point. We see what we look at. Maybe not always, but I&amp;rsquo;ll go with the premise. I&amp;rsquo;ve been looking at personal blogs and Mastodon posts. A common thread runs through many (not all) of those that pass through my bias filter: hackneyed words, phrases, and ideas.&lt;/p&gt;</description><content:encoded><![CDATA[<p>For a while it&rsquo;s been on my mind, stewing. It comes from the circles I have been&hellip; circling. Not mixing in. That&rsquo;s not what I do. Always on the periphery. That&rsquo;s been my way. I understand why that is. I&rsquo;ve been exploring and working on something different to do. It is though, deeply entrenched. I have my bearing.</p>
<p>I digressed. Back to the point. We see what we look at. Maybe not always, but I&rsquo;ll go with the premise. I&rsquo;ve been looking at personal blogs and Mastodon posts. A common thread runs through many (not all) of those that pass through my bias filter: hackneyed words, phrases, and ideas.</p>
<p>AI slop. I find it&hellip; distasteful, mucky, lazy. The term, that is. The irony in its arbitrary overuse as a catch‑all label for any and all LLM output seems not to have been noticed by the more vocal critics. Any hint at the persona of a discerning commentator of content is undermined by the use of the phrase. Surely finding something less clichéd is worth the effort, given the message being conveyed.</p>
<p>Authentic. Because following fashion is so very authentic, isn&rsquo;t it?</p>
<p>Intentional. To act with intention requires a notable degree of thought and effort to inform subsequent and repeated actions. The word’s liberal use often signals that tribal following is the only intention being pursued.</p>
<p>Tribal. Finding your tribe. What happened to being inclusive? I have an inkling the use of the word is falling out of favour — &ldquo;community&rdquo; looks like it&rsquo;s being appropriated as a more acceptable alternative.</p>
<p>The “old internet,” or any similar term to couch performative nostalgia in. The only person you&rsquo;re fooling on this one is yourself — or the like‑minded and lazy. Make an effort to search up and find the thing you&rsquo;re pretending to miss. It&rsquo;s still there, albeit in more contemporary clothing. It&rsquo;s still there in dated garb too, if that&rsquo;s really your bag.</p>
<p>Performative. It has in it self become a covert performance. A disguised sneer. A not so subtle claim that the stance conveyed is the only &ldquo;authentic&rdquo; one in the room.</p>
<p>Agency. Another word that&rsquo;s often being used in a way that demonstrates lack of. Personal accountability and effort too much of a risk for you?</p>
<p>The em dash. Just — stop. It&rsquo;s punctuation, not a cause to be championed or vilified. I only started using it since doing so was called out. Personally speaking I&rsquo;m more inclined towards&hellip; the ellipsis. More thoughtful, less brash, less&hellip; performative.</p>
]]></content:encoded></item><item><title>Hugo (extended edition) Version Upgrade Guide</title><link>https://www.bongotwisty.blog/hugo_version_upgrade_guide/</link><pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/hugo_version_upgrade_guide/</guid><description>&lt;p&gt;&lt;strong&gt;This guide covers Hugo Extended Edition upgrades for Linux + GitHub Pages. See the footnote before reading on.&lt;/strong&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;I like to keep things up to date. Every time I went through this process I&amp;rsquo;d generate a thread with my preferred LLM to help me through from beginning to end. The thread always became cluttered as I asked follow-up questions and sought clarification.&lt;/p&gt;
&lt;p&gt;This time round, after successfully completing the upgrade (I&amp;rsquo;ve now done this multiple times with different versions), I remembered to prompt:&lt;/p&gt;</description><content:encoded><![CDATA[<p><strong>This guide covers Hugo Extended Edition upgrades for Linux + GitHub Pages. See the footnote before reading on.</strong><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>
<p>I like to keep things up to date. Every time I went through this process I&rsquo;d generate a thread with my preferred LLM to help me through from beginning to end. The thread always became cluttered as I asked follow-up questions and sought clarification.</p>
<p>This time round, after successfully completing the upgrade (I&rsquo;ve now done this multiple times with different versions), I remembered to prompt:</p>
<blockquote>
<p><em>&quot;&hellip;list in sequential order everything I should do in the future to upgrade the hugo version. Granular step-by-step instructions with a concise description of the aim and why for each step&quot;.</em></p>
</blockquote>
<p>The guide is excellent for my exact use case and good for similar Linux + GitHub Pages setups, but has limited value for people on different operating systems or hosting platforms. What I&rsquo;ve done here is easy enough to replicate to suit your own use case if you&rsquo;re not opposed to using an LLM to do so. It&rsquo;s not all slop and you can always offset the <a href="https://andymasley.substack.com/i/154446312/other-online-activities-emissions">environmental impact</a> of your prompts easily enough.</p>
<h4 id="pre-upgrade-check-release-notes-and-current-version">Pre-Upgrade: Check Release Notes and Current Version</h4>
<p><strong>Aim</strong>: Understand what&rsquo;s changing and know your starting point.</p>
<p><strong>Process</strong>:</p>
<ol>
<li>Visit the Hugo releases page: <code>https://github.com/gohugoio/hugo/releases</code></li>
<li>Review the release notes for your target version, paying attention to:
<ul>
<li>Breaking changes (marked with ⚠️ or &ldquo;BREAKING&rdquo;)</li>
<li>Deprecation warnings</li>
<li>New features that might affect your workflow</li>
</ul>
</li>
<li>Check your current local version:</li>
</ol>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>hugo version</span></span></code></pre></div>
<p><strong>Why</strong>: Hugo occasionally introduces breaking changes that can affect your site&rsquo;s build or appearance. Understanding these beforehand helps you anticipate issues. The version check confirms what you&rsquo;re running locally and whether you have the extended edition (look for <code>+extended</code> in output).</p>
<hr>
<h4 id="step-1-download-the-new-hugo-version">Step 1: Download the new Hugo version</h4>
<p><strong>Aim</strong>: Get the extended edition of the new Hugo release.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span><span style="color:#89dceb">cd</span> ~/Downloads
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">2</span><span>wget https://github.com/gohugoio/hugo/releases/download/v0.154.2/hugo_extended_0.154.2_linux-amd64.tar.gz</span></span></code></pre></div>
<p>Replace the version numbers with your target version (e.g., <code>v0.154.2</code> in the URL and <code>0.154.2</code> in the filename). <strong>Note</strong>: The URL includes the <code>v</code> prefix, but the filename does not.</p>
<p><strong>Why</strong>: Downloads the official Hugo extended binary from GitHub. The extended edition includes Sass/SCSS transpiling and WebP processing capabilities required by many themes.</p>
<hr>
<h4 id="step-2-extract-the-archive">Step 2: Extract the archive</h4>
<p><strong>Aim</strong>: Unpack the compressed file to access the Hugo executable.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>tar -xzf hugo_extended_0.154.2_linux-amd64.tar.gz</span></span></code></pre></div>
<p>(Replace version number to match your download)</p>
<p><strong>What this does</strong>:</p>
<ul>
<li><code>tar</code>: Archive extraction tool</li>
<li><code>-x</code>: Extract files</li>
<li><code>-z</code>: Decompress gzip format</li>
<li><code>-f</code>: Specify filename</li>
</ul>
<p><strong>Why</strong>: The <code>.tar.gz</code> format is a compressed archive. This unpacks it to create the <code>hugo</code> executable file.</p>
<hr>
<h4 id="step-3-verify-the-extracted-binary">Step 3: Verify the extracted binary</h4>
<p><strong>Aim</strong>: Confirm you downloaded the correct version and extended edition.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>./hugo version</span></span></code></pre></div>
<p><strong>Expected output</strong>: Should show <code>hugo v0.154.2-...&lt;commit-hash&gt;+extended linux/amd64</code></p>
<p><strong>Critical check</strong>: Look for <code>+extended</code> in the output.[^3]</p>
<p><strong>Why</strong>: The <code>./</code> runs the binary in your current directory (not the system-installed version). This tests the new version before installation.</p>
<hr>
<h4 id="step-4-replace-the-system-hugo-binary">Step 4: Replace the system Hugo binary</h4>
<p><strong>Aim</strong>: Install the new version system-wide.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>sudo mv hugo /usr/local/bin/hugo</span></span></code></pre></div>
<p><strong>What this does</strong>:</p>
<ul>
<li><code>sudo</code>: Runs with administrator privileges (required for system directories)</li>
<li><code>mv</code>: Moves/overwrites the file</li>
<li>Replaces your old <code>/usr/local/bin/hugo</code> with the new version</li>
</ul>
<p><strong>You&rsquo;ll be prompted</strong>: Enter your system password.</p>
<p><strong>Why</strong>: Installs the new Hugo binary in the system PATH so the <code>hugo</code> command uses the updated version.</p>
<hr>
<h4 id="step-5-confirm-system-upgrade">Step 5: Confirm system upgrade</h4>
<p><strong>Aim</strong>: Verify the <code>hugo</code> command now runs the new version.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>hugo version</span></span></code></pre></div>
<p><strong>Expected output</strong>: Should show the new version number with <code>+extended</code>.</p>
<p><strong>Why</strong>: Confirms the system-wide Hugo is now the upgraded version (no <code>./</code> prefix needed).</p>
<hr>
<h4 id="step-6-clean-up-downloads">Step 6: Clean up downloads</h4>
<p><strong>Aim</strong>: Remove temporary files to free disk space.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span><span style="color:#89dceb">cd</span> ~/Downloads
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">2</span><span>rm hugo_extended_0.154.2_linux-amd64.tar.gz LICENSE README.md</span></span></code></pre></div>
<p>(Replace version number to match your files)</p>
<p><strong>Why</strong>: The archive and documentation files are no longer needed since Hugo is installed.</p>
<hr>
<h4 id="step-7-navigate-to-your-hugo-project">Step 7: Navigate to your Hugo project</h4>
<p><strong>Aim</strong>: Work in the correct directory for testing.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span><span style="color:#89dceb">cd</span> ~/path/to/your-hugo-project</span></span></code></pre></div>
<p><strong>Verify you&rsquo;re in the right place</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>ls -la</span></span></code></pre></div>
<p><strong>Should see</strong>: <code>hugo.toml</code> (or <code>config.toml</code>), <code>content/</code>, <code>layouts/</code>, <code>themes/</code> directories.</p>
<p><strong>Why</strong>: Hugo commands must run from the project root directory where the config file lives.</p>
<hr>
<h4 id="step-8-run-a-production-build-test">Step 8: Run a production build test</h4>
<p><strong>Aim</strong>: Test that the new version builds your site without errors.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>hugo --gc --minify</span></span></code></pre></div>
<p><strong>What each flag does</strong>:</p>
<ul>
<li><code>hugo</code>: Builds your site (Markdown to HTML)</li>
<li><code>--gc</code>: Garbage collection—removes unused cache files</li>
<li><code>--minify</code>: Compresses HTML/CSS/JS output (production setting)</li>
</ul>
<p><strong>Watch for</strong>:</p>
<ul>
<li>Build completion message with timing (e.g., &ldquo;Total in 774 ms&rdquo;)</li>
<li>Page/image counts</li>
<li>Any ERROR messages (build failures—these are critical)</li>
<li>WARN messages (note these; they indicate deprecated features you should eventually address but usually won&rsquo;t break your build)[^4][^6]</li>
</ul>
<p><strong>Why</strong>: Simulates your production build environment. If this succeeds, GitHub Actions deployment will likely succeed.</p>
<hr>
<h4 id="step-9-test-the-development-server">Step 9: Test the development server</h4>
<p><strong>Aim</strong>: Visually verify your site renders correctly in a browser.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>hugo server --disableFastRender</span></span></code></pre></div>
<p><strong>What this does</strong>:</p>
<ul>
<li>Starts local web server at <code>http://localhost:1313</code></li>
<li>Builds site in memory (no disk writes)</li>
<li>Watches files for changes and auto-rebuilds</li>
<li><code>--disableFastRender</code>: Forces complete page rebuilds (catches more issues)</li>
</ul>
<p><strong>Expected output</strong>: <code>Web Server is available at http://localhost:1313/</code></p>
<p><strong>Why</strong>: The flag ensures full rebuilds instead of partial rendering, which better matches production behavior.</p>
<hr>
<h4 id="step-10-visual-testing-in-browser">Step 10: Visual testing in browser</h4>
<p><strong>Aim</strong>: Confirm templates, images, and layout render correctly.</p>
<p><strong>Process</strong>:</p>
<ol>
<li>Open browser to <code>http://localhost:1313</code> (or <code>http://localhost:1313/your-base-path/</code>)</li>
<li>Click through:
<ul>
<li>Homepage</li>
<li>Individual blog posts/pages</li>
<li>List/archive pages</li>
<li>Tag/category pages</li>
<li>Navigation menu</li>
<li>Search (if applicable)</li>
</ul>
</li>
<li>Watch the terminal for WARNING or ERROR messages</li>
</ol>
<p><strong>Why</strong>: Visual testing catches issues that don&rsquo;t produce error messages—broken layouts, missing images, CSS problems (especially if your theme uses Sass/SCSS), JavaScript errors.</p>
<hr>
<h4 id="step-11-stop-the-development-server">Step 11: Stop the development server</h4>
<p><strong>Aim</strong>: Release the local web server and file watcher.</p>
<p><strong>Process</strong>:</p>
<p>Press <code>Ctrl+C</code> in the terminal.</p>
<p><strong>Why</strong>: Stops the server process and frees port 1313.</p>
<hr>
<h4 id="step-12-update-github-actions-workflow-file">Step 12: Update GitHub Actions workflow file</h4>
<p><strong>Aim</strong>: Configure your production deployment to use the new Hugo version.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>nano .github/workflows/hugo.yaml</span></span></code></pre></div>
<p><strong>Find the line</strong> (search with <code>Ctrl+W</code> and type <code>HUGO_VERSION:</code>):</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span><span style="color:#cba6f7">env</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">2</span><span>  <span style="color:#cba6f7">HUGO_VERSION</span>: <span style="color:#fab387">0.153.2</span></span></span></code></pre></div>
<p><strong>Change to</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span><span style="color:#cba6f7">env</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">2</span><span>  <span style="color:#cba6f7">HUGO_VERSION</span>: <span style="color:#fab387">0.154.2</span></span></span></code></pre></div>
<p>Replace with your target version number (no <code>v</code> prefix in the version number itself).</p>
<p><strong>Critical</strong>: Leave all other lines unchanged, especially <code>extended: true</code> settings.</p>
<p><strong>Save and exit</strong>: <code>Ctrl+O</code>, <code>Enter</code>, <code>Ctrl+X</code></p>
<p><strong>Alternative approach</strong>: If your workflow uses the <code>peaceiris/actions-hugo</code> action instead of manual <code>.deb</code> installation, you&rsquo;ll update the version in the action configuration instead:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>- <span style="color:#cba6f7">name</span>: Setup Hugo
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">2</span><span>  <span style="color:#cba6f7">uses</span>: peaceiris/actions-hugo@v3
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">3</span><span>  <span style="color:#cba6f7">with</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">4</span><span>    <span style="color:#cba6f7">hugo-version</span>: <span style="color:#a6e3a1">&#39;0.154.2&#39;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">5</span><span>    <span style="color:#cba6f7">extended</span>: <span style="color:#fab387">true</span></span></span></code></pre></div>
<p><strong>Why</strong>: This environment variable controls which Hugo version GitHub Actions downloads when building your site.[^7]</p>
<hr>
<h4 id="step-13-stage-the-workflow-file">Step 13: Stage the workflow file</h4>
<p><strong>Aim</strong>: Prepare the modified file for Git commit.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>git add .github/workflows/hugo.yaml</span></span></code></pre></div>
<p><strong>Why</strong>: Git requires explicit staging of files before committing. This tells Git &ldquo;include this file in my next commit.&rdquo;</p>
<hr>
<h4 id="step-14-verify-what-youre-committing">Step 14: Verify what you&rsquo;re committing</h4>
<p><strong>Aim</strong>: Safety check before creating the commit.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>git status</span></span></code></pre></div>
<p><strong>Expected output</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>Changes to be committed:
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">2</span><span>  modified:   .github/workflows/hugo.yaml</span></span></code></pre></div>
<p><strong>Verify</strong>: Only the workflow file is listed; status shows &ldquo;modified&rdquo;.</p>
<p><strong>Why</strong>: Final confirmation you&rsquo;re only changing what you intended, preventing accidental commits.</p>
<hr>
<h4 id="step-15-create-a-git-commit">Step 15: Create a Git commit</h4>
<p><strong>Aim</strong>: Save a snapshot of your change with a descriptive message.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>git commit -m <span style="color:#a6e3a1">&#34;Upgrade Hugo to v0.154.2&#34;</span></span></span></code></pre></div>
<p>Replace with your new version number.</p>
<p><strong>Expected output</strong>: Shows commit hash and &ldquo;1 file changed, 1 insertion(+), 1 deletion(-)&rdquo;.</p>
<p><strong>Why</strong>: Commits are the fundamental unit in Git. Each has a unique ID and message describing what changed.</p>
<hr>
<h4 id="step-16-push-to-github">Step 16: Push to GitHub</h4>
<p><strong>Aim</strong>: Upload your commit to trigger the automated deployment.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>git push origin main</span></span></code></pre></div>
<p>(Replace <code>main</code> with your branch name if different, e.g., <code>master</code>.)</p>
<p><strong>Expected output</strong>: Shows upload progress ending with <code>main -&gt; main</code>.</p>
<p><strong>Why</strong>: Pushing to GitHub automatically triggers your Actions workflow. GitHub reads the updated workflow file and starts a build with the new Hugo version.</p>
<hr>
<h4 id="step-17-open-github-actions-in-browser">Step 17: Open GitHub Actions in browser</h4>
<p><strong>Aim</strong>: Monitor the automated build in real-time.</p>
<p><strong>Process</strong>:</p>
<p>Navigate to: <code>https://github.com/YOUR-USERNAME/YOUR-REPO/actions</code></p>
<p><strong>Why</strong>: GitHub Actions runs in a clean cloud environment. This confirms your site builds successfully there, not just locally.</p>
<hr>
<h4 id="step-18-find-your-workflow-run">Step 18: Find your workflow run</h4>
<p><strong>Aim</strong>: Locate the build triggered by your push.</p>
<p><strong>Process</strong>:</p>
<p>Look for:</p>
<ul>
<li>Workflow name: &ldquo;Deploy Hugo site to Pages&rdquo; (or your workflow name)</li>
<li>Commit message: &ldquo;Upgrade Hugo to v0.154.2&rdquo;</li>
<li>Status: Yellow dot (in progress) or green checkmark (completed)</li>
<li>Timestamp matching when you pushed</li>
</ul>
<p><strong>Click on the workflow run</strong> to see detailed logs.</p>
<p><strong>Why</strong>: Opens the detailed view showing all build steps and their status.</p>
<hr>
<h4 id="step-19-monitor-build-job-logs">Step 19: Monitor build job logs</h4>
<p><strong>Aim</strong>: Verify each build step completes successfully.</p>
<p><strong>Process</strong>:</p>
<p>Click on the <strong>build</strong> job to expand steps. Watch for:</p>
<p><strong>&ldquo;Install Hugo CLI&rdquo; step</strong>: Should show</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>Unpacking hugo <span style="color:#89dceb;font-weight:bold">(</span>from .../hugo_extended_0.154.2_linux-amd64.deb<span style="color:#89dceb;font-weight:bold">)</span> ...</span></span></code></pre></div>
<p>(Or if using <code>peaceiris/actions-hugo</code>, you&rsquo;ll see different installation messages)</p>
<p><strong>&ldquo;Build with Hugo&rdquo; step</strong>: Should show</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>hugo v0.154.2-...+extended linux/amd64
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">2</span><span>Pages            | <span style="color:#89dceb;font-weight:bold">[</span>YOUR_PAGE_COUNT<span style="color:#89dceb;font-weight:bold">]</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">3</span><span>Processed images | <span style="color:#89dceb;font-weight:bold">[</span>YOUR_IMAGE_COUNT<span style="color:#89dceb;font-weight:bold">]</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">4</span><span>Total in <span style="color:#89dceb;font-weight:bold">[</span>TIME<span style="color:#89dceb;font-weight:bold">]</span> ms</span></span></code></pre></div>
<p><strong>Look for</strong>:</p>
<ul>
<li>Green checkmarks next to each step</li>
<li>Any WARNING messages (usually harmless but note them)</li>
<li>Any ERROR messages (build failures—investigate these immediately)</li>
</ul>
<p><strong>Why</strong>: The build logs show exactly what GitHub&rsquo;s servers are doing. This catches environment-specific issues.</p>
<hr>
<h4 id="step-20-verify-deployment-completion">Step 20: Verify deployment completion</h4>
<p><strong>Aim</strong>: Confirm the site deployed to GitHub Pages successfully.</p>
<p><strong>Process</strong>:</p>
<ol>
<li>Wait for the <strong>deploy</strong> job to complete (appears after <strong>build</strong>)</li>
<li>Look for green checkmark and &ldquo;Reported success!&rdquo; message</li>
<li>Note the deployment URL shown in the logs</li>
</ol>
<p><strong>Why</strong>: The deploy step publishes your built site. A green checkmark means your updated site is live.</p>
<hr>
<h4 id="step-21-test-your-live-site">Step 21: Test your live site</h4>
<p><strong>Aim</strong>: Final verification that the production site works correctly.</p>
<p><strong>Process</strong>:</p>
<ol>
<li>Visit your GitHub Pages URL (e.g., <code>https://username.github.io/repo-name/</code>)</li>
<li><strong>Wait 2-5 minutes</strong> for GitHub Pages to fully propagate the changes</li>
<li>Click through several pages</li>
<li>Check images load</li>
<li>Verify navigation works</li>
<li>Test any interactive features</li>
<li>If your theme uses Sass/SCSS, verify styling appears correctly</li>
</ol>
<p><strong>Why</strong>: Confirms the new Hugo version works in production, not just in CI/CD. This is your users&rsquo; experience.</p>
<hr>
<h4 id="rollback-procedure-if-needed">Rollback Procedure (if needed)</h4>
<p><strong>Aim</strong>: Quickly restore the working version if something breaks.</p>
<p><strong>Process</strong>:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>nano .github/workflows/hugo.yaml</span></span></code></pre></div>
<p>Change the version back to the previous working version:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span><span style="color:#cba6f7">env</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">2</span><span>  <span style="color:#cba6f7">HUGO_VERSION</span>: <span style="color:#fab387">0.153.2</span></span></span></code></pre></div>
<p>Then commit and push:</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">1</span><span>git add .github/workflows/hugo.yaml
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">2</span><span>git commit -m <span style="color:#a6e3a1">&#34;Rollback to Hugo v0.153.2 - investigating v0.154.2 issue&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">3</span><span>git push origin main</span></span></code></pre></div>
<p><strong>Why</strong>: Version control gives you a safety net. You can always revert to restore your site while investigating issues.</p>
<hr>
<h4 id="notes">Notes</h4>
<ul>
<li>Always use the <strong>extended edition</strong> (<code>hugo_extended_</code>) to maintain Sass/SCSS and WebP support</li>
<li>The local version and GitHub Actions version should match to ensure consistent builds</li>
<li>Check release notes for breaking changes before upgrading</li>
<li>Deprecation warnings (WARN messages) usually don&rsquo;t break builds but should be addressed eventually to future-proof your site</li>
<li>Build times should be similar between versions; significant slowdowns may indicate issues</li>
<li>Keep your local Hugo version updated to match your deployment environment</li>
</ul>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>This guide is specifically tailored for:</p>
<h4 id="operating-system">Operating System</h4>
<p><strong>Linux distributions</strong> (Ubuntu, Debian, Fedora, Mint, Pop!_OS, etc.)
Specifically uses Linux commands like:</p>
<ul>
<li><code>wget</code> for downloading</li>
<li><code>tar</code> for extraction</li>
<li><code>sudo</code> for system permissions</li>
<li><code>/usr/local/bin/</code> as the installation path</li>
<li>Bash shell commands</li>
</ul>
<p><strong>Not for</strong>:
- macOS (uses different download file: <code>darwin-universal.tar.gz</code>)
- Windows (uses <code>.zip</code> files and different paths like <code>C:\Hugo\bin\</code>)</p>
<h4 id="hosting-platform">Hosting Platform</h4>
<p><strong>GitHub Pages</strong> specifically</p>
<ul>
<li>Uses GitHub Actions workflows (<code>.github/workflows/hugo.yaml</code>)</li>
<li>Works with both manual <code>.deb</code> package installation or <code>peaceiris/actions-hugo</code> action</li>
<li>Assumes the <code>Deploy Hugo site to Pages</code> workflow structure</li>
</ul>
<p><strong>Not for</strong>:</p>
<ul>
<li>Netlify (uses <code>netlify.toml</code> configuration)</li>
<li>Vercel (uses <code>vercel.json</code>)</li>
<li>AWS S3/CloudFront</li>
<li>Self-hosted servers</li>
<li>GitLab Pages (uses <code>.gitlab-ci.yml</code>)</li>
</ul>
<h4 id="architecture">Architecture</h4>
<ul>
<li><strong>64-bit Linux</strong> (<code>linux-amd64</code>)</li>
<li>If you&rsquo;re on ARM Linux (like Raspberry Pi), you&rsquo;d need <code>linux-arm64.tar.gz</code> instead</li>
</ul>
<h4 id="key-linux-specific-elements-in-the-guide">Key Linux-specific elements in the guide</h4>
<ol>
<li><strong>File paths</strong>: <code>/usr/local/bin/hugo</code>, <code>~/Downloads</code></li>
<li><strong>Commands</strong>: <code>wget</code>, <code>tar</code>, <code>sudo</code>, <code>nano</code>, <code>ls</code>, <code>grep</code></li>
<li><strong>Permissions</strong>: Uses <code>sudo</code> to install system-wide</li>
<li><strong>Package format</strong>: <code>.tar.gz</code> archives (Linux standard)</li>
<li><strong>GitHub Actions runner</strong>: Uses <code>ubuntu-latest</code> in workflows
<strong>If you are on a different operating system or hosting platform</strong>, you need a modified version of this guide.</li>
</ol>
&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></li>
</ol>
</div>
]]></content:encoded></item><item><title>The Ten Commandments Remixed</title><link>https://www.bongotwisty.blog/the-ten-commandments-remixed/</link><pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/the-ten-commandments-remixed/</guid><description>&lt;p&gt;I write and update policies and practice guidance. I work in adult social care. The language I use to write professionally must reflect contemporary thinking in this field. For some time now an emphasis has been on person centred, strengths based language.&lt;/p&gt;
&lt;p&gt;The thought popped into my head the other day that the ten commandments are very much the opposite of this. Mostly shall nots. Mostly deficit based. All about behaving well to stay on the right side of a monotheistic god.&lt;br&gt;
Just for fun I thought I&amp;rsquo;d have a go at re-framing them. If I&amp;rsquo;m going to redraft others work this seemed like a good place to start. Take the most famous &amp;ldquo;Don&amp;rsquo;t You Dare&amp;rdquo; list and turn it into an optimistic vision board dreamt up during a co-production workshop using post it notes while sipping on tea and munching biscuits.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I write and update policies and practice guidance. I work in adult social care. The language I use to write professionally must reflect contemporary thinking in this field. For some time now an emphasis has been on person centred, strengths based language.</p>
<p>The thought popped into my head the other day that the ten commandments are very much the opposite of this. Mostly shall nots. Mostly deficit based. All about behaving well to stay on the right side of a monotheistic god.<br>
Just for fun I thought I&rsquo;d have a go at re-framing them. If I&rsquo;m going to redraft others work this seemed like a good place to start. Take the most famous &ldquo;Don&rsquo;t You Dare&rdquo; list and turn it into an optimistic vision board dreamt up during a co-production workshop using post it notes while sipping on tea and munching biscuits.</p>
<p>I think of God as shorthand for whatever connects us. I also think truth comes more from agreement than absolutes. With these ideas and a person centred strengths based approach in mind here&rsquo;s what I came up with&hellip;</p>
<div class="custom-divider">•• ━━━━━ ••●•• ━━━━━ ••</div>
<p><strong>1. Think beyond yourself (You shall have no other gods before me)</strong><br>
When we&rsquo;re making decisions, we might think about what&rsquo;s good for everyone, not just ourselves. We&rsquo;re all connected. What helps the whole helps us too.</p>
<p><strong>2. Use words that build (You shall not take the name of the Lord your God in vain)</strong><br>
The words we use shape how people see themselves and what they think is possible. Language can open doors or close them.</p>
<p><strong>3. Value stillness (Remember the Sabbath day, to keep it holy)</strong><br>
Making time to stop and be quiet matters. It&rsquo;s how we stay connected to ourselves and everything else.</p>
<p><strong>4. Respect the web of humanity (Honour your father and your mother)</strong><br>
Every person we meet is part of the same fabric we&rsquo;re part of. We can treat people with the care and respect we&rsquo;d want for ourselves.</p>
<p><strong>5. Defend all life (You shall not murder)</strong><br>
Standing up for living things makes a difference. Each life is unique and won&rsquo;t happen again in the exact same way.</p>
<p><strong>6. Be faithful (You shall not commit adultery)</strong><br>
Being there for the people in our lives builds trust, helps them feel safe, and enables growth.</p>
<p><strong>7. Share (You shall not steal)</strong><br>
There&rsquo;s enough if we share it. What we give usually finds its way back.</p>
<p><strong>8. Build understanding together (You shall not bear false witness against your neighbour)</strong><br>
Truth isn&rsquo;t something one person owns. It comes from conversation and shared experience. Listening matters as much as speaking.</p>
<p><strong>9. Be pleased when good things happen to others (You shall not covet your neighbour&rsquo;s wife)</strong><br>
Other people&rsquo;s success doesn&rsquo;t take away from ours. Their wins don&rsquo;t mean we&rsquo;re losing.</p>
<p><strong>10. Enough is plenty (You shall not covet your neighbour&rsquo;s goods)</strong><br>
Sometimes what we have is actually enough. We don&rsquo;t have to always be reaching for the next thing to prove we&rsquo;re doing alright.</p>
<div class="custom-divider">•• ━━━━━ ••●•• ━━━━━ ••</div>
<p>So there you have it. The ten commandments for people who prefer &lsquo;might&rsquo; over &lsquo;must not&rsquo;, from the perspective of someone who thinks there&rsquo;s an underlying current connecting everything rather than a singular godhead we must fear and obey.</p>
<p>Not sure about turning water in wine but we can turn stone tablets into a living document for feedback. I just need to get it through QA and the equality impact assessment process now.</p>
]]></content:encoded></item><item><title>Cycling: 2015 and 2025</title><link>https://www.bongotwisty.blog/cycling_2015_and_2025/</link><pubDate>Wed, 31 Dec 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/cycling_2015_and_2025/</guid><description>&lt;p&gt;Comparison is the thief of joy. I try not to do it. Comparing my past and present selves feels okay though.&lt;/p&gt;
&lt;p&gt;In 2015 I set out to ride every day of the year, which I just about managed. In 2025 I wanted to match the distance my ten years younger self rode - 17,987km. I set a target of 18,000 km for the year and finished on 18,316.6 km, just over the line at 101.8%.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Comparison is the thief of joy. I try not to do it. Comparing my past and present selves feels okay though.</p>
<p>In 2015 I set out to ride every day of the year, which I just about managed. In 2025 I wanted to match the distance my ten years younger self rode - 17,987km.  I set a target of 18,000 km for the year and finished on 18,316.6 km, just over the line at 101.8%.</p>
<h3 id="numbers">Numbers</h3>
<table>
  <thead>
      <tr>
          <th style="text-align: left">Metric</th>
          <th style="text-align: right">2015</th>
          <th style="text-align: right">2025</th>
          <th style="text-align: right">Change</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: left">Distance ridden</td>
          <td style="text-align: right">17,987.6 km</td>
          <td style="text-align: right">18,316.7 km</td>
          <td style="text-align: right">+329.1 km (+1.8%)</td>
      </tr>
      <tr>
          <td style="text-align: left">Elevation gained</td>
          <td style="text-align: right">157,770 m</td>
          <td style="text-align: right">190,729 m</td>
          <td style="text-align: right">+32,959 m (+20.9%)</td>
      </tr>
      <tr>
          <td style="text-align: left">Activities</td>
          <td style="text-align: right">470</td>
          <td style="text-align: right">256</td>
          <td style="text-align: right">−214 (−45.5%)</td>
      </tr>
      <tr>
          <td style="text-align: left">Active hours</td>
          <td style="text-align: right">801:10</td>
          <td style="text-align: right">872:03</td>
          <td style="text-align: right">+70:53 (+8.8%)</td>
      </tr>
      <tr>
          <td style="text-align: left">Calories burned</td>
          <td style="text-align: right">393,826</td>
          <td style="text-align: right">448,761</td>
          <td style="text-align: right">+54,935 (+13.9%)</td>
      </tr>
  </tbody>
</table>
<p>Everything went up except the number of activities, which dropped by nearly half. 2015 was about getting out on the bike every day. 2025 was about getting the miles in.</p>
<h3 id="tracking-progress">Tracking Progress</h3>
<p>During 2025 I built an <a href="https://www.bongotwisty.blog/stats_cli/">app</a> to track my cycling stats and check progress against goals every now and then. The app pulls data from <a href="https://ridewithgps.com/users/151788/">RWGPS</a> and let me see how I&rsquo;m doing against annual targets, track my Eddington number and a few other metrics for good measure.  Having this helped maintain the pace and avoid a mad scramble towards the end of the year to catch up.</p>
<p>My Eddington number (in km) for 2025 ended at 63. In 2015 it was 58. The Eddington number is the largest number where you&rsquo;ve ridden at least that distance on at least that many occasions. My overall Eddington sits at 141 and just one ride short of 142. My long term aim is 200.</p>
<h3 id="comparisons">Comparisons</h3>
<p>In 2015 I was riding about 1.29 times per day to keep the streak going.  Many were short rides and commutes. My <a href="https://www.audax.uk/about-us/about-audax-uk/">Audax</a> riding that year was not too shabby: 11 organised calendar events totaling 2,520 km, mostly 100 - 200 km brevets, with my longest being The Flatlands 600 km. I got 21 Audax UK points that year (1 point per 100 km for rides &gt; 200k).</p>
<p>In 2025 I averaged 0.70 activities per day, so roughly every other day, but each ride was generally longer and hillier.  I rode 15 DIY audax events. 4,500 km in all. Nearly double the 2015 total. That got me 45 Audax UK points. I started and ended all but one from home. I rode when it suited family life. Living in Chatham on the dip slope of the North Downs meant many of my rides were up and down the hills and lanes of the North Downs. All that climbing added up over the year.</p>
<table>
  <thead>
      <tr>
          <th style="text-align: left">Audax comparison</th>
          <th style="text-align: right">2015</th>
          <th style="text-align: right">2025</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: left">Total events</td>
          <td style="text-align: right">11 calendar</td>
          <td style="text-align: right">15 DIY</td>
      </tr>
      <tr>
          <td style="text-align: left">Total audax distance</td>
          <td style="text-align: right">2,520 km</td>
          <td style="text-align: right">4,500 km</td>
      </tr>
      <tr>
          <td style="text-align: left">Audax UK points</td>
          <td style="text-align: right">21</td>
          <td style="text-align: right">45</td>
      </tr>
      <tr>
          <td style="text-align: left">Average per event</td>
          <td style="text-align: right">229 km</td>
          <td style="text-align: right">300 km</td>
      </tr>
      <tr>
          <td style="text-align: left">Longest ride</td>
          <td style="text-align: right">606 km</td>
          <td style="text-align: right">1,011 km</td>
      </tr>
  </tbody>
</table>
<h3 id="the-giant-circle-1000k">The Giant Circle 1000k</h3>
<p>The longest ride in 2025 was the <a href="https://www.bongotwisty.blog/the-giant-circle/">Giant Circle 1000k</a> DIY in June. This was far beyond anything I completed in 2015.</p>
<table>
  <thead>
      <tr>
          <th style="text-align: left">Ride</th>
          <th style="text-align: right">Distance</th>
          <th style="text-align: right">Climb</th>
          <th style="text-align: right">Moving time</th>
          <th style="text-align: right">Avg speed</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: left">Giant Circle 1000k DIY (Chatham)</td>
          <td style="text-align: right">1,011 km</td>
          <td style="text-align: right">8,890 m</td>
          <td style="text-align: right">51:20</td>
          <td style="text-align: right">19.7 kph</td>
      </tr>
  </tbody>
</table>
<p>Starting and finishing in Chatham, the route followed a clockwise circle across southern and central England. From Chatham I headed west through the Surrey Hills and Hampshire to Bristol, then north through the Cotswolds past Gloucester and into Shropshire. The route continued north past Telford and Stoke-on-Trent before turning east across the East Midlands through Nottingham, then south through Peterborough and Cambridge. The final leg ran southwest back through Essex and across the North Downs to Chatham.</p>
<p>8,890 m of climbing and over 1,011 km in just over 51 hours of moving time. The ride took in the North Downs, South Downs, Chilterns, Cotswolds, and the Welsh borders. It sits as the fourth-longest ride I&rsquo;ve done after London-Edinburgh-London, Land&rsquo;s End to John O&rsquo;Groats, and Paris-Brest-Paris. I also got 10 Audax UK points in one go and chalked up another ride for the ongoing RRtY award.</p>
<h3 id="the-west-coast-of-ireland">The West Coast of Ireland</h3>
<p>In May and early June I spent two weeks riding the <a href="https://www.bongotwisty.blog/gallery/cycling/ireland/">west coast of Ireland</a> from Cork to Malin Head, visiting the 15 Signature Discovery Points of the Wild Atlantic Way.  Over 13 days I covered 1,853 km with 20,336 m of climbing. Turns out that was nearly 9% of my year&rsquo;s total distance and climbing.  May 2025 ended up as my highest-mileage month at 2,731.6 km.</p>
<table>
  <thead>
      <tr>
          <th style="text-align: left">Day</th>
          <th style="text-align: left">Route</th>
          <th style="text-align: right">Distance</th>
          <th style="text-align: right">Climb</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td style="text-align: left">18/5</td>
          <td style="text-align: left">Cork to Sextons via Old Kinsale Head</td>
          <td style="text-align: right">77.6 km</td>
          <td style="text-align: right">946 m</td>
      </tr>
      <tr>
          <td style="text-align: left">19/5</td>
          <td style="text-align: left">Sextons to Dunbeacon via Mizen Head</td>
          <td style="text-align: right">128.2 km</td>
          <td style="text-align: right">1,337 m</td>
      </tr>
      <tr>
          <td style="text-align: left">20/5</td>
          <td style="text-align: left">Dunbeacon to Beara via Dursey Island</td>
          <td style="text-align: right">144.1 km</td>
          <td style="text-align: right">1,958 m</td>
      </tr>
      <tr>
          <td style="text-align: left">21/5</td>
          <td style="text-align: left">Beara to Mannix Point via Valentia</td>
          <td style="text-align: right">107.7 km</td>
          <td style="text-align: right">1,213 m</td>
      </tr>
      <tr>
          <td style="text-align: left">22/5</td>
          <td style="text-align: left">Mannix Point via Dingle to Caherciveen</td>
          <td style="text-align: right">144.9 km</td>
          <td style="text-align: right">1,318 m</td>
      </tr>
      <tr>
          <td style="text-align: left">23/5</td>
          <td style="text-align: left">Dingle to Loop Head via Doonaha</td>
          <td style="text-align: right">177.1 km</td>
          <td style="text-align: right">1,770 m</td>
      </tr>
      <tr>
          <td style="text-align: left">24/5</td>
          <td style="text-align: left">Doonaha to Spiddal via Cliffs of Moher</td>
          <td style="text-align: right">171.9 km</td>
          <td style="text-align: right">1,648 m</td>
      </tr>
      <tr>
          <td style="text-align: left">25/5</td>
          <td style="text-align: left">Spiddal to Renvyle</td>
          <td style="text-align: right">98.7 km</td>
          <td style="text-align: right">932 m</td>
      </tr>
      <tr>
          <td style="text-align: left">26/5</td>
          <td style="text-align: left">Renvyle to Achill via Killary Fjord</td>
          <td style="text-align: right">147.0 km</td>
          <td style="text-align: right">1,369 m</td>
      </tr>
      <tr>
          <td style="text-align: left">27/5</td>
          <td style="text-align: left">Achill to Ballina via Down Patrick Head</td>
          <td style="text-align: right">145.4 km</td>
          <td style="text-align: right">1,401 m</td>
      </tr>
      <tr>
          <td style="text-align: left">28/5</td>
          <td style="text-align: left">Ballina to Slieve League (audax DIY 200)</td>
          <td style="text-align: right">212.5 km</td>
          <td style="text-align: right">2,512 m</td>
      </tr>
      <tr>
          <td style="text-align: left">29/5</td>
          <td style="text-align: left">Slieve League to Fanad Head</td>
          <td style="text-align: right">160.4 km</td>
          <td style="text-align: right">2,214 m</td>
      </tr>
      <tr>
          <td style="text-align: left">30/5</td>
          <td style="text-align: left">Knockalla to Malin Head</td>
          <td style="text-align: right">137.4 km</td>
          <td style="text-align: right">1,718 m</td>
      </tr>
      <tr>
          <td style="text-align: left"><strong>Total</strong></td>
          <td style="text-align: left"></td>
          <td style="text-align: right"><strong>1,852.9 km</strong></td>
          <td style="text-align: right"><strong>20,336 m</strong></td>
      </tr>
  </tbody>
</table>
<p>The Ballina to Slieve League ride was a killer. I did it as a DIY audax. 212.5 km and 2,512 m of climbing. Bit ambitious with two rear pannier bags and camping gear. I got it done though. The tour was self-supported camping. I followed mostly remote roads from Mizen Head in the south all the way north to Malin Head. From there over to Derry where I got a train to Dublin for the ferry back to Holyhead. Happy days.</p>
<h3 id="averages">Averages</h3>
<p>In 2015 I averaged 38.3 km and 1.7 hours per activity; in 2025 I averaged 71.5 km and 3.4 hours, almost double the distance and time per ride.  Climbing per activity more than doubled from about 336 m to 745 m.  Calories per activity jumped from about 838 to 1,753. I&rsquo;ve not lost any weight though. I do eat a lot of food.</p>
<p>My stats app shows that since starting to track my rides in 2012, my average ride distance is 39.0 km. 2015 and 2025 both sit a fair bit above that. Good to see 2025&rsquo;s average standing out.</p>
<h3 id="planning-ahead---2026">Planning ahead - 2026</h3>
<p>I&rsquo;m three months into my third consecutive Audax UK <a href="https://www.audax.uk/results/rrty-roll-of-honour/">Randonneur Round the Year</a> Award. This time I&rsquo;m going for two years&rsquo; worth in one calendar year. That means at least two rides of 200 km or more in every consecutive month for 12 months.  I&rsquo;m also aiming for 50 Audax UK points to mark Audax UK&rsquo;s 50th anniversary.</p>
<p>In May I&rsquo;ve planned a self supported 2,200 km ride through France, Spain, and down to the Algarve. Planning on doing that over 11 days so around 215 km per day. I may do some of them as a 200 DIY audax.</p>
<p>The numbers aren&rsquo;t the focus this year but they&rsquo;ll slowly add up.</p>
]]></content:encoded></item><item><title>My Cycling Year - 2025</title><link>https://www.bongotwisty.blog/2025_wrapped/</link><pubDate>Mon, 22 Dec 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/2025_wrapped/</guid><description>&lt;p&gt;I am very happy to report that I reached the distance goal I set myself for the year - 18,000km done.&lt;/p&gt;
&lt;p&gt;A few things come to mind that have helped.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A spouse who knows and accepts that I love riding a bike. I&amp;rsquo;ve always been like this.&lt;/li&gt;
&lt;li&gt;Regularly getting out on my bike at 5.00 am for a 50km ride. Having a goto route when doing so.&lt;/li&gt;
&lt;li&gt;Living in Kent with easy access to country lanes and rural landscapes.&lt;/li&gt;
&lt;li&gt;Having a few side goals along the way.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bongotwisty.blog/stats_cli/"&gt;Tracking&lt;/a&gt; my progress.&lt;/li&gt;
&lt;li&gt;Getting in a two week &lt;a href="https://www.bongotwisty.blog/cycle-touring-the-fifteen-signature-discovery-points-of-the-wild-atlantic-way/"&gt;bike tour&lt;/a&gt; in May and a &lt;a href="https://ridewithgps.com/trips/347998210"&gt;few&lt;/a&gt; &lt;a href="https://www.bongotwisty.blog/meglme/"&gt;other&lt;/a&gt; &lt;a href="https://www.bongotwisty.blog/the-giant-circle/"&gt;long&lt;/a&gt; rides during the year.&lt;/li&gt;
&lt;li&gt;Riding in the dark with dynamo hub powered lights.&lt;/li&gt;
&lt;li&gt;Dressing for the weather.&lt;/li&gt;
&lt;li&gt;Living close to a fella who mends my bike when it breaks and not charging the earth to do so.&lt;/li&gt;
&lt;li&gt;Having a spare bike to ride when I need it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This was the state of play on the 20/12/2025. I might get a few more rides in before the year end.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I am very happy to report that I reached the distance goal I set myself for the year - 18,000km done.</p>
<p>A few things come to mind that have helped.</p>
<ul>
<li>A spouse who knows and accepts that I love riding a bike. I&rsquo;ve always been like this.</li>
<li>Regularly getting out on my bike at 5.00 am for a 50km ride. Having a goto route when doing so.</li>
<li>Living in Kent with easy access to country lanes and rural landscapes.</li>
<li>Having a few side goals along the way.</li>
<li><a href="https://www.bongotwisty.blog/stats_cli/">Tracking</a> my progress.</li>
<li>Getting in a two week <a href="https://www.bongotwisty.blog/cycle-touring-the-fifteen-signature-discovery-points-of-the-wild-atlantic-way/">bike tour</a> in May and a <a href="https://ridewithgps.com/trips/347998210">few</a> <a href="https://www.bongotwisty.blog/meglme/">other</a> <a href="https://www.bongotwisty.blog/the-giant-circle/">long</a> rides during the year.</li>
<li>Riding in the dark with dynamo hub powered lights.</li>
<li>Dressing for the weather.</li>
<li>Living close to a fella who mends my bike when it breaks and not charging the earth to do so.</li>
<li>Having a spare bike to ride when I need it.</li>
</ul>
<p>This was the state of play on the 20/12/2025. I might get a few more rides in before the year end.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/2025_wrapped/chart1_stats.png" class="glightbox" data-gallery="gallery" data-glightbox="title: Stats Panel">
          <img src="/2025_wrapped/chart1_stats_hu_7d165bffbd13625c.png" alt="Dark themed banner displaying 2025 cycling statistics in four colored cards: Distance 18,035 km (coral orange), Elevation 187,619 m (teal blue), Active Time 858h 54m or 35.8 days (mint green), and Calories 441,463 kcal (golden yellow). Each stat features large bold numbers with colored accent bars above dark grey cards." loading="lazy" style="display: inline-block;">
        </a><figcaption>Stats Panel</figcaption>
    </figure>

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/2025_wrapped/chart2_distance_comparison.png" class="glightbox" data-gallery="gallery" data-glightbox="title: Distance Comparison">
          <img src="/2025_wrapped/chart2_distance_comparison_hu_659982da5ec3b3f2.png" alt="Horizontal bar chart comparing cycling distances. Your 2025 cycling (18,035 km) is shown in coral orange, followed by M25 motorway at 188 km representing 96 laps (purple), LEJOG return trip at 2,814 km representing 6.4 trips (teal), London to Sydney at 17,000 km (light blue), and Earth&rsquo;s circumference at 40,075 km (mint green). The chart shows you cycled nearly to Sydney and completed 96 laps of the M25." loading="lazy" style="display: inline-block;">
        </a><figcaption>Distance Comparison</figcaption>
    </figure>

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/2025_wrapped/chart3_elevation_comparison.png" class="glightbox" data-gallery="gallery" data-glightbox="title: Elevation Comparison">
          <img src="/2025_wrapped/chart3_elevation_comparison_hu_a2f717af78a7a66f.png" alt="Horizontal bar chart comparing elevation gained. Your 2025 climbing of 187,619 m (coral orange) dominates the chart, followed by the Kármán line at 100,000 m (purple), Mariana Trench depth at 10,994 m representing 17.1 times (dark teal), and Mount Everest at 8,849 m representing 21.2 climbs (blue). The chart illustrates climbing equivalent to 21 Everests or descending the Mariana Trench 17 times." loading="lazy" style="display: inline-block;">
        </a><figcaption>Elevation Comparison</figcaption>
    </figure>

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/2025_wrapped/chart4_calories_food.png" class="glightbox" data-gallery="gallery" data-glightbox="title: Falafel Index">
          <img src="/2025_wrapped/chart4_calories_food_hu_a9198a0fc1411601.png" alt="Horizontal bar chart showing calories burned (441,463 kcal) as food equivalents. Veggie bean burgers: 2,196 (brown), pints of lager: 1,895 (golden yellow), and falafel wraps: 1,298 (green). The chart visualizes a year&rsquo;s worth of cycling energy in vegetarian-friendly food terms." loading="lazy" style="display: inline-block;">
        </a><figcaption>Falafel Index</figcaption>
    </figure>

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/2025_wrapped/chart5_monthly_breakdown.png" class="glightbox" data-gallery="gallery" data-glightbox="title: Monthly Distance and Elevation">
          <img src="/2025_wrapped/chart5_monthly_breakdown_hu_be7e7965bd3741e3.png" alt="Dual-axis chart showing monthly cycling data throughout 2025. Coral orange line with area fill represents distance (left y-axis), peaking dramatically in May at 2,731 km and dipping in July to 806 km. Teal blue bars represent elevation (right y-axis), following similar patterns. The chart reveals seasonal riding patterns with a major peak in late spring and a summer dip." loading="lazy" style="display: inline-block;">
        </a><figcaption>Monthly Distance and Elevation</figcaption>
    </figure>

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/2025_wrapped/chart6_time_distribution.png" class="glightbox" data-gallery="gallery" data-glightbox="title: Time Distribution">
          <img src="/2025_wrapped/chart6_time_distribution_hu_2c8d404556b6c3f4.png" alt="Pie chart showing how 2025 was spent in hours. Cycling: 859h (35.8 continuous days) in coral orange (9.8%), Sleep: 2,920h (365 nights × 8h) in teal blue (33.3%), Work: 1,875h (250 days × 7.5h) in yellow (21.4%), and Everything Else: 3,106h (129.4 continuous days) in grey (35.5%). The cycling segment is slightly pulled out for emphasis." loading="lazy" style="display: inline-block;">
        </a><figcaption>Time Distribution</figcaption>
    </figure><p>This beats the personal best I achieved of 17,987 km back in 2015. Still cranking out the miles ten years on feels quite reassurring to me. The sense of accomplishment is nothing though compared to the benefit of pursuing the goal. Purpose, motivation, fitness and conditioning, places visited and sights seen. Riding a bike is great. I love it!</p>
<p>The next 12 months will, fingers crossed, be more of the same. I&rsquo;m currently three months into two simultaneous <a href="https://www.audax.uk/results/rrty-roll-of-honour/">RRtY</a> awards. That means at least two rides a month of 200km or more for 12 consecutive months. It&rsquo;s <a href="https://www.audax.uk">Audax UK</a>&rsquo;s 50th Anniversary. A good year to go for at least 50 points and get the The Randonneur 5,000 award. The award is obtained by riding <a href="https://www.audax.uk/about-audax/faqs/#1-accordion-0-body-5">BR or BRM</a> events totalling 5,000 km in a Randonneur year. I&rsquo;ve been told that may get me a commemorative fridge magnet. What more of an incentive could I possibly need.</p>
<p>In May I plan to ride <a href="https://ridewithgps.com/events/434073-calais-to-to-montoito-atalaia">2,200km through France and Spain down to Portugal</a>. I am less worried about getting there than I am about getting my bike in a bag for the journey back by train. I&rsquo;m sure it will all work out okay with a bit of planning.</p>
]]></content:encoded></item><item><title>audax: Kent 200 DiY</title><link>https://www.bongotwisty.blog/kent_200_postbox_topper_editon/</link><pubDate>Mon, 15 Dec 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/kent_200_postbox_topper_editon/</guid><description>&lt;p&gt;Out on the last 200k rde of 2025 yesterday. Followed a route I know well through the Kent Downs to Deal, over to Canterbury before heading across to Tankerton, then Faversham and back home to Chatham.&lt;/p&gt;
&lt;p&gt;With this ride completed thats the Super Randonneur (SR) Award bagged for the 2025-2026 audax season. The SR is a series: 200 km, 300 km, 400 km, 600 km, all completed in the same Randonneur year.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Out on the last 200k rde of 2025 yesterday. Followed a route I know well through the Kent Downs to Deal, over to Canterbury before heading across to Tankerton, then Faversham and back home to Chatham.</p>
<p>With this ride completed thats the Super Randonneur (SR) Award bagged for the 2025-2026 audax season. The SR is a series: 200 km, 300 km, 400 km, 600 km, all completed in the same Randonneur year.</p>
<iframe src="https://ridewithgps.com/embeds?type=trip&id=356393923&title=audax%3A%20Kent%20200%20DiY%20-%20Christmas%20Postbox%20Topper%20Edition&metricUnits=true&sampleGraph=true&distanceMarkers=true&showPhotos=true" style="width: 1px; min-width: 100%; height: 700px; border: none;" scrolling="no"></iframe>
<p>The ride takes me by my two sisters and parents homes on the way so I took the opportunity to deliver Christmas cards and pressies.</p>
<p>My sister in Deal dosed me up with a big helping of Sloe Gin she&rsquo;d made. I&rsquo;d never drunk it before. Didn&rsquo;t think I would like it since I don&rsquo;t enjoy spirits as a general rule of thumb. I did like it though hence the generous measure she poured me.</p>
<p>I set off again feeling alright, maybe a little bit woozy but steady enough. It took a toll though on my perceived exertion. The 50k or so from Deal to Tankerton took me nearly three hours. Felt like a lot more hard work than it normally does. At the time I put it down to the <a href="https://www.tannus.co.uk">Tannus Armour</a> tyre inserts I&rsquo;d fitted to mitigate the risk of punctures. I&rsquo;ve had loads of flats over the last month. Hedge trimmings along country lanes, glass shards and flint. While the inserts may have been a contributing factor I think it was the gin that put lead in my legs. At least I did not get any punctures.</p>
<p>Despite the physical struggle It was a good ride. The weather was dry. Not too cold. Very little wind. What&rsquo;s more there was loads of festive postbox toppers to snap a picture of and add to the growing <a href="http://localhost:1313/bongo-twisty/gallery/postbox_toppers/">collection</a>&hellip;</p>
<div class="gallery-grid">
<figure>
    <a href="/gallery/postbox_toppers/20251214_christmas_stelling_minnis.jpg" class="glightbox" data-title="Christmas, Stelling Minnis">
      <img src="/gallery/postbox_toppers/20251214_christmas_stelling_minnis_hu_ef2d3bf37e48fb0d.jpg" alt="A festive hand-knitted postbox topper displayed on a red British Royal Mail postbox, featuring a charming winter scene with three crocheted snowmen figures and a decorated teal Christmas tree with colorful baubles and a gold star. The scene is set on a circular blue and white crocheted base with intricate striped patterns. The snowmen have white fluffy bodies, orange carrot noses, and happy expressions, with one holding what appears to be a red mitten or scarf. Behind the display, a dark wooden building and residential street are visible under a cloudy winter sky, capturing the community spirit of festive yarn-bombing in a British village." title="Christmas, Stelling Minnis" width="400" height="300">
    </a>
    <figcaption>Christmas, Stelling Minnis</figcaption>
  </figure>
<figure>
    <a href="/gallery/postbox_toppers/20251214_christmas_barham.jpg" class="glightbox" data-title="Christmas, Barham Village">
      <img src="/gallery/postbox_toppers/20251214_christmas_barham_hu_89eb802c761ccad1.jpg" alt="A close-up view of a charming crocheted Christmas scene atop a red British postbox, featuring two festive figures in red Santa outfits with white fluffy trim and matching Santa hats topped with sparkly blue tinsel pom-poms. Between them sits a small white crocheted Christmas pudding decorated with red and green holly berries. The figures rest on a grey and burgundy striped knitted base that wraps around the curved top of the postbox. The background shows a residential street with bare winter trees, green grass verges, and a cloudy sky, capturing the whimsical tradition of festive postbox toppers in British communities." title="Christmas, Barham Village" width="400" height="300">
    </a>
    <figcaption>Christmas, Barham Village</figcaption>
  </figure>
<figure>
    <a href="/gallery/postbox_toppers/20251214_christmas_little_mongham.jpg" class="glightbox" data-title="Christmas, Mongeham Village Hall">
      <img src="/gallery/postbox_toppers/20251214_christmas_little_mongham_hu_7b6e51e913d89eb4.jpg" alt="A delightful crocheted postbox topper photographed in bright sunlight, featuring an elaborate festive scene on a circular base with red, white, and green striped patterns. The display includes two snowmen figures (one with a colorful striped hat and red scarf, another with a yellow turban-style hat), decorative Christmas trees in various shades of green with tinsel details, a small red stocking, and a dark Christmas tree decoration. In the foreground, a small crocheted Christmas tree with sparkly green yarn and a red star on top takes center stage. Red mittens or stockings accent the edges of the circular base. The postbox topper sits atop a red Royal Mail postbox with white fluffy trim visible at the base, while a black-painted wooden building and garden furniture are visible in the sunny background." title="Christmas, Mongeham Village Hall" width="400" height="300">
    </a>
    <figcaption>Christmas, Mongeham Village Hall</figcaption>
  </figure>
<figure>
    <a href="/gallery/postbox_toppers/20251214_christmas_ash.jpg" class="glightbox" data-title="Christmas, Ash">
      <img src="/gallery/postbox_toppers/20251214_christmas_ash_hu_f491ff1b888294df.jpg" alt="An intricate crocheted nativity scene postbox topper displayed on a red Royal Mail postbox in Ash, Kent, featuring a detailed manger scene with Mary in blue robes holding baby Jesus, Joseph with a red headband, and three amigurumi-style animals (a grey donkey, white sheep, and grey elephant) positioned around the holy family. The figures are set within a golden-brown stable structure against a white weathered wall with moss growth. The entire scene sits atop a rich blue circular crocheted base decorated with colorful sheep motifs in red, orange, yellow, green, white, and pink scattered across the surface, creating a whimsical and heartwarming celebration of the Christmas story through the traditional craft of postbox topper yarn-bombing." title="Christmas, Ash" width="400" height="300">
    </a>
    <figcaption>Christmas, Ash</figcaption>
  </figure>
<figure>
    <a href="/gallery/postbox_toppers/20251214_christmas_greenhill.jpg" class="glightbox" data-title="Christmas, Greenhill">
      <img src="/gallery/postbox_toppers/20251214_christmas_greenhill_hu_df3298a5c86500ac.jpg" alt="A festive and elaborate crocheted postbox topper featuring a snowy winter wonderland scene with multiple knitted characters creating a bustling Christmas tableau. The white fluffy base, resembling snow, supports various figures including Santa Claus in red, carolers, a grey donkey, birds (including a robin with a red breast), and other festive characters, all arranged around a decorated Christmas tree and holly decoration. The display sits on a multi-layered circular base with white, blue, and textured yarns in various colors, trimmed with tinsel and decorative edging. The scene is photographed during daytime against a residential street backdrop with houses and cars visible." title="Christmas, Greenhill" width="400" height="300">
    </a>
    <figcaption>Christmas, Greenhill</figcaption>
  </figure>
<figure>
    <a href="/gallery/postbox_toppers/20251214_christmas_tankerton.jpg" class="glightbox" data-title="Christmas, Tankerton">
      <img src="/gallery/postbox_toppers/20251214_christmas_tankerton_hu_410e5bb5fc20fa4a.jpg" alt="A charming crocheted postbox topper featuring a winter scene with adorable penguin figures on an ice-blue circular base. The display includes five knitted penguins wearing matching light blue hats and scarves, arranged around white crocheted snowballs or igloos on top of a textured pale blue base that resembles ice. The word SOUTH appears in red lettering on the side. A grey crocheted seal sits on the edge. The topper is displayed on a red Royal Mail postbox in front of shop windows showing reflections of buildings, creating a playful Arctic-themed Christmas decoration." title="Christmas, Tankerton" width="400" height="300">
    </a>
    <figcaption>Christmas, Tankerton</figcaption>
  </figure>
<figure>
    <a href="/gallery/postbox_toppers/20251214_christmas_faversham.jpg" class="glightbox" data-title="Christmas, Faversham">
      <img src="/gallery/postbox_toppers/20251214_christmas_faversham_hu_61f27f4f7cfd7ec0.jpg" alt="An elegant Christmas postbox topper photographed at night, featuring a tall angel figure with white crocheted wings and a sparkly silver dress standing atop a green knitted base decorated with small festive figures. A doll with blonde hair serves as the angel, dressed in shimmering white and silver garments with outstretched arms. The circular base is adorned with gold tinsel trim around the edge and small crocheted figures including what appear to be carolers or nativity characters, along with decorative elements like a snowman. The scene is set against a dark evening sky with street lights and residential buildings visible in the background." title="Christmas, Faversham" width="400" height="300">
    </a>
    <figcaption>Christmas, Faversham</figcaption>
  </figure>
</div>]]></content:encoded></item><item><title>Christmas Post Box Topper, Shorne Village</title><link>https://www.bongotwisty.blog/christmas_topper_shorne/</link><pubDate>Sat, 13 Dec 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/christmas_topper_shorne/</guid><description>&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/20251213_christmas_shorne.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Christmas, Shorne Village"&gt;
&lt;img src="https://www.bongotwisty.blog/gallery/postbox_toppers/20251213_christmas_shorne_hu_54274239b3b37d59.jpg" alt="Hand-knitted nativity scene displayed as a festive topper on a village post box, featuring yarn figures of Mary, Joseph, baby Jesus, an angel with curly blond hair, and the three wise men gathered in front of a crocheted stable, with a faded Post Office sign on the wall behind." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Christmas, Shorne Village&lt;/figcaption&gt;
&lt;/figure&gt;&lt;p&gt;Another fine looking festive postbox topper I came across on this morning&amp;rsquo;s ride through Shorne Village. Added to the &lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/"&gt;collection&lt;/a&gt;.&lt;/p&gt;</description><content:encoded><![CDATA[

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/gallery/postbox_toppers/20251213_christmas_shorne.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Christmas, Shorne Village">
          <img src="/gallery/postbox_toppers/20251213_christmas_shorne_hu_54274239b3b37d59.jpg" alt="Hand-knitted nativity scene displayed as a festive topper on a village post box, featuring yarn figures of Mary, Joseph, baby Jesus, an angel with curly blond hair, and the three wise men gathered in front of a crocheted stable, with a faded Post Office sign on the wall behind." loading="lazy" style="display: inline-block;">
        </a><figcaption>Christmas, Shorne Village</figcaption>
    </figure><p>Another fine looking festive postbox topper I came across on this morning&rsquo;s ride through Shorne Village. Added to the <a href="https://www.bongotwisty.blog/gallery/postbox_toppers/">collection</a>.</p>
]]></content:encoded></item><item><title>Christmas Post Box Topper, Lower Higham</title><link>https://www.bongotwisty.blog/christmas_topper_lower_higham/</link><pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/christmas_topper_lower_higham/</guid><description>&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/20251213_christmas_lower_higham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Christmas, Lower Higham,"&gt;
&lt;img src="https://www.bongotwisty.blog/gallery/postbox_toppers/20251213_christmas_lower_higham_hu_cb491916430bc4b6.jpg" alt="A red pillar postbox at night is covered with a chunky grey knitted topper decorated with handmade festive crochet figures. On top sit a large penguin in a Santa hat and scarf, reindeer, Santas, snowmen, angels and other small Christmas characters, surrounded by knitted baubles and presents, while tiny red-and-white Christmas stocking decorations are stitched all around the edge." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Christmas, Lower Higham,&lt;/figcaption&gt;
&lt;/figure&gt;&lt;p&gt;I&amp;rsquo;d love to meet the person that does the postbox toppers in Higham. Each one they create deserves a prize. Added to the &lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/"&gt;collection&lt;/a&gt;.&lt;/p&gt;</description><content:encoded><![CDATA[

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/gallery/postbox_toppers/20251213_christmas_lower_higham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Christmas, Lower Higham,">
          <img src="/gallery/postbox_toppers/20251213_christmas_lower_higham_hu_cb491916430bc4b6.jpg" alt="A red pillar postbox at night is covered with a chunky grey knitted topper decorated with handmade festive crochet figures. On top sit a large penguin in a Santa hat and scarf, reindeer, Santas, snowmen, angels and other small Christmas characters, surrounded by knitted baubles and presents, while tiny red-and-white Christmas stocking decorations are stitched all around the edge." loading="lazy" style="display: inline-block;">
        </a><figcaption>Christmas, Lower Higham,</figcaption>
    </figure><p>I&rsquo;d love to meet the person that does the postbox toppers in Higham. Each one they create deserves a prize. Added to the <a href="https://www.bongotwisty.blog/gallery/postbox_toppers/">collection</a>.</p>
]]></content:encoded></item><item><title>audax: All the Home Counties 300k DiY</title><link>https://www.bongotwisty.blog/all_home_counties/</link><pubDate>Sun, 07 Dec 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/all_home_counties/</guid><description>&lt;p&gt;Continuing on my mission to ride 18k km this year. I was out all day yesterday on a 300 DiY. A circumnavigation of the London Orbital AKA the M25. Obviously not on the motorway. Following lanes and roads close to it. In the course of doing so I entered each of the six traditional home counties.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Kent - southeastern section&lt;/li&gt;
&lt;li&gt;Essex - northeastern section via the Dartford Crossing&lt;/li&gt;
&lt;li&gt;Hertfordshire - northern section&lt;/li&gt;
&lt;li&gt;Buckinghamshire - northwestern section&lt;/li&gt;
&lt;li&gt;Berkshire - western section&lt;/li&gt;
&lt;li&gt;Surrey - southwestern section&lt;/li&gt;
&lt;/ol&gt;
&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/all_home_counties/route_map.png" class="glightbox" data-gallery="gallery" data-glightbox="title: audax: All the Home Counties 300k DiY"&gt;
&lt;img src="https://www.bongotwisty.blog/all_home_counties/route_map_hu_40dca7299d3ce92b.png" alt="Cycling route map showing a 309 km loop around London covering all six Home Counties (Kent, Essex, Hertfordshire, Buckinghamshire, Berkshire, and Surrey) with 3,309 meters of elevation gain and 14 hours 1 minute moving time." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;audax: All the Home Counties 300k DiY&lt;/figcaption&gt;
&lt;/figure&gt;&lt;p&gt;This is the maybe the 3rd or 4th time I have done the ride. Each time I tweak the route a bit. Lessons learned and all that. Pretty happy with the latest version. Closest I have come to actually closing the circle. The M25 is not a full circle in any case. The beginning and end is the A282 on both sides of the Dartford Crossing. Given that it&amp;rsquo;s fair to say this route in indeed a loop of the M25.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Continuing on my mission to ride 18k km this year. I was out all day yesterday on a 300 DiY. A circumnavigation of the London Orbital AKA the M25. Obviously not on the motorway. Following lanes and roads close to it. In the course of doing so I entered each of the six traditional home counties.</p>
<ol>
<li>Kent - southeastern section</li>
<li>Essex - northeastern section via the Dartford Crossing</li>
<li>Hertfordshire - northern section</li>
<li>Buckinghamshire - northwestern section</li>
<li>Berkshire - western section</li>
<li>Surrey - southwestern section</li>
</ol>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/all_home_counties/route_map.png" class="glightbox" data-gallery="gallery" data-glightbox="title: audax: All the Home Counties 300k DiY">
          <img src="/all_home_counties/route_map_hu_40dca7299d3ce92b.png" alt="Cycling route map showing a 309 km loop around London covering all six Home Counties (Kent, Essex, Hertfordshire, Buckinghamshire, Berkshire, and Surrey) with 3,309 meters of elevation gain and 14 hours 1 minute moving time." loading="lazy" style="display: inline-block;">
        </a><figcaption>audax: All the Home Counties 300k DiY</figcaption>
    </figure><p>This is the maybe the 3rd or 4th time I have done the ride. Each time I tweak the route a bit. Lessons learned and all that. Pretty happy with the latest version. Closest I have come to actually closing the circle. The M25 is not a full circle in any case. The beginning and end is the A282 on both sides of the Dartford Crossing. Given that it&rsquo;s fair to say this route in indeed a loop of the M25.</p>
<p>My favourite part is through the Essex countryside up to Epping. It&rsquo;s very rural. Not flat but not especially hilly. The roads are quiet. After that the stretch from St Albans round to Chalfont St Giles. Farmland, quite lanes, small towns and villages. I typically get to the co-op food store in Chalfont at around 1.00 pm and get a bit of lunch there. The standard meal deal hits the spot with me.</p>
<p>Each time I have done the ride it&rsquo;s been around this time of year. Short days. I always go counter clockwise to avoid getting to the Dartford Crossing at shift change over time (9.00 pm - 10.30 pm). The shuttle service does not run at those times and I&rsquo;d end up waiting for 90 minutes at the roadside. This inevitably means I&rsquo;m riding in the dark by the time I reach Surrey. I am familiar with the area so it&rsquo;s not as if I missing scenery I&rsquo;ve not seen before but it would be nice to do it in the daylight sometime.</p>
<p>Predictably I got a puncture on the way. It was a slow leak. Rather than stopping to mend it I continued to ride and stopped a couple of times after 40 - 60 km to pump some air into it. This was a mistake. Only because it was on mind the whole time and kind of marred my enjoyment of the miles.</p>
<p>About 20k outside of Woking I noticed my front mudguard had become partially detached. A while ago the rivets holding it to the supporting frame had failed. I bodged a mend with a couple of zip ties. The lower one of these had snapped off. Another thing to occupy my thoughts. I found myself imagining the other tie snapping on the way down a hill, the mudguard fouling on the wheel and me going flying over the handlebars. What with the recent spate of misfortunes and mechanical failures on the bike I thought it best to do what I could to mitigate the risk.</p>
<p>Lucky for me a good friend of mine lives in Woking. I checked how far his address was from the route. It was literally a couple of minutes at most from where I stopped to look. He was home and happy for me to visit.  Great! Nipped round  and stayed for an hour. Time enough for a chat, a couple mugs of tea and to make good the mudguard. Very happy. Should have fixed the slow puncture too.</p>


<a href="/all_home_counties/20251206_with_zac.jpg" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/all_home_counties/20251206_with_zac_hu_1af14479354d5e52.jpg" alt="Selfie with friend in Woking who helped repair a detached mudguard during the Home Counties audax ride" loading="lazy" style="display: inline-block;">
      </a><p>About 30k after setting off again I needed to pump the tyre once more.  I&rsquo;d pushed my luck too far. It lost air much quicker this time. Needed to stop after a few kms to patch the tube and put the spare one on. With this done I was making a good pace again towards the last planned stop at Edinbridge just over the county boarder into Kent. The last 60k was happily uneventful. Got home at 11.30 pm. Job done.</p>
]]></content:encoded></item><item><title>Christmas Post Box Topper, Colney Heath</title><link>https://www.bongotwisty.blog/post_box_topper_colney_heath/</link><pubDate>Sun, 07 Dec 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/post_box_topper_colney_heath/</guid><description>&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/20251206_christmas_colney_heath.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Christmas, Colney Heath"&gt;
&lt;img src="https://www.bongotwisty.blog/gallery/postbox_toppers/20251206_christmas_colney_heath_hu_cd7061623ccaec57.jpg" alt="A festive knitted Christmas scene displayed on top of a red Royal Mail post box in a residential street. The handcrafted topper features a winter wonderland tableau on a circular white crocheted base with red detail stitching. At the center stands a tall green spiral Christmas tree decorated with colorful baubles in pink, blue, and other bright colors, topped with a golden yellow star. Surrounding the tree are multiple knitted figures: two white snowmen wearing red Santa hats with white pompoms, one holding a yellow gift, and several small dolls dressed in colorful winter clothing - including figures in red, blue, and green striped outfits with knitted hats. There&amp;rsquo;s also a brown teddy bear character among the group. The scene is photographed outdoors with suburban houses, parked cars, hedges, and a cloudy sky visible in the background, creating a charming community Christmas display." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Christmas, Colney Heath&lt;/figcaption&gt;
&lt;/figure&gt;&lt;p&gt;Look at this beauty! I saw it on the &lt;a href="https://www.bongotwisty.blog/all_home_counties/"&gt;ride&lt;/a&gt; I did yesterday. Another one for the &lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/"&gt;collection&lt;/a&gt;.&lt;/p&gt;</description><content:encoded><![CDATA[

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/gallery/postbox_toppers/20251206_christmas_colney_heath.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Christmas, Colney Heath">
          <img src="/gallery/postbox_toppers/20251206_christmas_colney_heath_hu_cd7061623ccaec57.jpg" alt="A festive knitted Christmas scene displayed on top of a red Royal Mail post box in a residential street. The handcrafted topper features a winter wonderland tableau on a circular white crocheted base with red detail stitching. At the center stands a tall green spiral Christmas tree decorated with colorful baubles in pink, blue, and other bright colors, topped with a golden yellow star. Surrounding the tree are multiple knitted figures: two white snowmen wearing red Santa hats with white pompoms, one holding a yellow gift, and several small dolls dressed in colorful winter clothing - including figures in red, blue, and green striped outfits with knitted hats. There&rsquo;s also a brown teddy bear character among the group. The scene is photographed outdoors with suburban houses, parked cars, hedges, and a cloudy sky visible in the background, creating a charming community Christmas display." loading="lazy" style="display: inline-block;">
        </a><figcaption>Christmas, Colney Heath</figcaption>
    </figure><p>Look at this beauty! I saw it on the <a href="https://www.bongotwisty.blog/all_home_counties/">ride</a> I did yesterday. Another one for the <a href="https://www.bongotwisty.blog/gallery/postbox_toppers/">collection</a>.</p>
]]></content:encoded></item><item><title>Christmas Post Box Topper, Upper Higham</title><link>https://www.bongotwisty.blog/christmas_topper_upper_higham/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/christmas_topper_upper_higham/</guid><description>&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/20251213_christmas_upper_higham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Christmas, Upper Higham"&gt;
&lt;img src="https://www.bongotwisty.blog/gallery/postbox_toppers/20251213_christmas_upper_higham_hu_802a90c5895a7a3c.jpg" alt="A collection of hand-crocheted festive mice figurines arranged around a decorated Christmas tree on top of a post box in Upper Higham. The display features seven mice dressed in Victorian-style winter clothing including bonnets, coats, and scarves in earthy tones of brown, orange, green, and grey. One central mouse wears a bright red coat and scarf. The dark blue-green crocheted Christmas tree is adorned with white garland spirals, white pompom ornaments, and a yellow star topper. The scene is photographed just before dawn." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Christmas, Upper Higham&lt;/figcaption&gt;
&lt;/figure&gt;&lt;p&gt;Happy to have this festive addition to add to the &lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/"&gt;collection&lt;/a&gt;.&lt;/p&gt;</description><content:encoded><![CDATA[

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/gallery/postbox_toppers/20251213_christmas_upper_higham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Christmas, Upper Higham">
          <img src="/gallery/postbox_toppers/20251213_christmas_upper_higham_hu_802a90c5895a7a3c.jpg" alt="A collection of hand-crocheted festive mice figurines arranged around a decorated Christmas tree on top of a post box in Upper Higham. The display features seven mice dressed in Victorian-style winter clothing including bonnets, coats, and scarves in earthy tones of brown, orange, green, and grey. One central mouse wears a bright red coat and scarf. The dark blue-green crocheted Christmas tree is adorned with white garland spirals, white pompom ornaments, and a yellow star topper. The scene is photographed just before dawn." loading="lazy" style="display: inline-block;">
        </a><figcaption>Christmas, Upper Higham</figcaption>
    </figure><p>Happy to have this festive addition to add to the <a href="https://www.bongotwisty.blog/gallery/postbox_toppers/">collection</a>.</p>
]]></content:encoded></item><item><title>What's the odds?</title><link>https://www.bongotwisty.blog/balancing_the_odds/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/balancing_the_odds/</guid><description>&lt;p&gt;Out Wednesday evening on the bike. I was a little bit apprehensive about what might go wrong this time. After a recent spate of punctures, damaged GPS devices and mechanical failures I am happy to say the ride was uneventful.&lt;/p&gt;
&lt;p&gt;I did not go out yesterday. We had a late dinner after which I went to bed to watch a film - &amp;ldquo;&lt;a href="https://www.imdb.com/title/tt31514146/"&gt;I Swear&lt;/a&gt;&amp;rdquo;. Brilliant film. Both sad and inspiring. Loved it. Certainly put my bike troubles into perspective if needed.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Out Wednesday evening on the bike. I was a little bit apprehensive about what might go wrong this time. After a recent spate of punctures, damaged GPS devices and mechanical failures I am happy to say the ride was uneventful.</p>
<p>I did not go out yesterday. We had a late dinner after which I went to bed to watch a film - &ldquo;<a href="https://www.imdb.com/title/tt31514146/">I Swear</a>&rdquo;. Brilliant film. Both sad and inspiring. Loved it. Certainly put my bike troubles into perspective if needed.</p>
<p>Up and out early this morning to get the miles in. Just a couple of kilometres from home I crossed a patch of black ice, tumbled off my bike and hit the ground. Fortunately no injuries other than a bit of a scrape to my right hip. The bike seems undamaged. My GPS and phone survived without a scratch on them. I thought the phone may have been damaged as it was in my pocket on the side I came down on the ground.</p>
<p>I guess it&rsquo;s just one of those things that I can ride all year, cover over 10,000 miles without a mishap and then in the space of five weeks have a series of unfortunate events. Probabilities and factors stacking up I guess. I&rsquo;ll admit to thinking what&rsquo;s next while knowing if I identify and manage foreseeable risks the probability of anything else happening is no greater now than it ever was. It&rsquo;s kind of reassurring and enough to keep me going.</p>
]]></content:encoded></item><item><title>...barring any mishaps in December.</title><link>https://www.bongotwisty.blog/mishaps_in_december/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/mishaps_in_december/</guid><description>&lt;p&gt;In my last post I noted, &lt;em&gt;&amp;ldquo;That goal seems within reach barring any mishaps in December.&amp;rdquo;&lt;/em&gt;. Not typically superstitious but as I wrote that the thought of tempting fate did cross my mind. So it came to pass.&lt;/p&gt;
&lt;p&gt;Out on my bike yesterday morning. First ride in December. It was going so well. New cables fitted. Inner and outer for the front and rear mech. Changing up and down smoothly. Responsive and powerful brakes. New chain and cassette. It felt like riding a new bike. Lovely.&lt;/p&gt;</description><content:encoded><![CDATA[<p>In my last post I noted, <em>&ldquo;That goal seems within reach barring any mishaps in December.&rdquo;</em>.  Not typically superstitious but as I wrote that the thought of tempting fate did cross my mind. So it came to pass.</p>
<p>Out on my bike yesterday morning. First ride in December. It was going so well. New cables fitted. Inner and outer for the front and rear mech. Changing up and down smoothly. Responsive and powerful brakes. New chain and cassette. It felt like riding a new bike. Lovely.</p>
<p>Just over 26km at the start of a descent in I change up into the big ring at the front and down a couple of gears at the back. Straight after doing so the pedals resist movement and the ominous sound of the rear mech breaking spokes in the back wheel sound out. I brake and come to a stop. The jockey wheel cage was detached and hanging mid way round the chain. Half a dozen spokes were snapped. The back tyre was flat. It was 0610hrs.</p>
<p>I had a long walk home. Just over 11 miles. I am not a fan of walking. It was not too bad though. The weather was dry. The sun came out. The time passed quickly. I was not worried about checking in late for work. I have very understanding managers. Instead of going home I walked with the bike straight round to Matt who runs a bike shop from his garage at home. Matt had done the work on my bike the previous day.</p>
<p>I was not looking to place blame. I just wanted to get my bike sorted and back on the road. Matt was as perplexed as I was about what might have caused the failure. I don&rsquo;t think it was the limit screw. When I came to a stop the chain was on the second biggest sprocket on the cassette indicating the mech still had room to travel. I&rsquo;d not adjusted it and neither had Matt. Matt had no other bikes to work on that day so he got straight to working on mine.</p>
<p>Got a call from Matt this morning. All fixed. Three of the broken spokes had gone through the rim tape which was why the tyre was flat. Spokes replaced, wheel trued, new mech fitted, inner tube replaced.  No charge for labour. Matt said he felt bad about what happened.  He told me he&rsquo;d not taken it out for a test ride before handing it back to me the previous day.  He did tell me this when I collected it. Matt said it all worked fine in the stand but to bring it back if there were any problems. I certainly do not blame him. We both think that the rear mech simply busted apart. How that might have happened is not clear to either of us. Definite signs of wear and rust on inner components which could now be seen but none which could have been inspected or serviced prior to the catastrophic failure. Nothing that either of us have known to happen before.</p>
<p>I&rsquo;ve had a series of adverse incidents with this bike over the last few weeks. I&rsquo;ve managed to crack the screen on two different GPS devices, had three (now four) punctures on consecutive rides, now this latest mishap. I have a second bike but did not go out on that this morning in fear of what might happen next. I know it&rsquo;s not rational to think like that but still. I shall go out this evening and continue towards 18k for the year. Fingers crossed all will go well.</p>
]]></content:encoded></item><item><title>Good progress</title><link>https://www.bongotwisty.blog/good_progress/</link><pubDate>Sun, 30 Nov 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/good_progress/</guid><description>&lt;p&gt;Happy to be ending this month on a good note.&lt;/p&gt;
&lt;p&gt;Sent the &lt;a href="https://www.bongotwisty.blog/cracked_screen/"&gt;damaged Karoo 3&lt;/a&gt; back on Tuesday. A brand new boxed unit with all accessories included arrived on Saturday. Hammerhead gave me 50% off the RRP. The additional bracket, 1/4 turn mount, charging cable and lanyard were all a welcome bonus. They&amp;rsquo;re worth £52.00 when bought separately. Free P&amp;amp;P for the return and replacement. Pretty good service in my books.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Happy to be ending this month on a good note.</p>
<p>Sent the <a href="https://www.bongotwisty.blog/cracked_screen/">damaged Karoo 3</a> back on Tuesday. A brand new boxed unit with all accessories included arrived on Saturday. Hammerhead gave me 50% off the RRP. The additional bracket, 1/4 turn mount, charging cable and lanyard were all a welcome bonus. They&rsquo;re worth £52.00 when bought separately. Free P&amp;P for the return and replacement. Pretty good service in my books.</p>
<p>I bought a gel bumper case to help protect it and had this ready and waiting when it arrived. Screen protectors are in transit. All I need to be now is a bit more careful.</p>
<div class="custom-divider">•• ━━━━━ ••●•• ━━━━━ ••</div>
<p>It&rsquo;s been a very good month on the mileage front&hellip;</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/gallery/cycling/rwgps_recap/2025/card_2025_11.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: November Recap">
          <img src="/gallery/cycling/rwgps_recap/2025/card_2025_11_hu_876737d7f4ba43ce.jpg" alt="November 2025 cycling calendar showing distance and elevation gain for each ride. The calendar displays 21 rides totaling 2,011 kilometers with 18,874 meters of elevation gain over 3 days, 23 hours, and 10 minutes of moving time. Notable rides include a 403-kilometer ride with 3,311 meters of elevation on Saturday, November 1st, and a 607-kilometer ride with 4,380 meters of elevation on Saturday, November 8th. Most other rides averaged around 50 kilometers. The image uses a dark background with blue-highlighted calendar cells and orange accent text." loading="lazy" style="display: inline-block;">
        </a><figcaption>November Recap</figcaption>
    </figure><p>Yesterdays ride made my yearly Eddington number (km) a personal best since the year I first started logging my rides&hellip;</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 1</span><span><span style="color:#89dceb;font-weight:bold">===</span> YEARLY EDDINGTON <span style="color:#f5e0dc">NUMBERS</span> <span style="color:#89dceb;font-weight:bold">===</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 2</span><span>2025: <span style="color:#fab387">62</span> *Highest*
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 3</span><span>2024: <span style="color:#fab387">58</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 4</span><span>2023: <span style="color:#fab387">48</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 5</span><span>2022: <span style="color:#fab387">48</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 6</span><span>2021: <span style="color:#fab387">49</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 7</span><span>2020: <span style="color:#fab387">48</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 8</span><span>2019: <span style="color:#fab387">56</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 9</span><span>2018: <span style="color:#fab387">48</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">10</span><span>2017: <span style="color:#fab387">49</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">11</span><span>2016: <span style="color:#fab387">61</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">12</span><span>2015: <span style="color:#fab387">58</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">13</span><span>2014: <span style="color:#fab387">56</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">14</span><span>2013: <span style="color:#fab387">51</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">15</span><span>2012: <span style="color:#fab387">28</span></span></span></code></pre></div>
<p>I&rsquo;ve achieved this on the way to beating my overall distance total for 2015. I made passing mention of setting that goal <a href="https://www.bongotwisty.blog/2024-and-10000-miles-done/">here</a>, in my first post for 2025. That goal seems within reach barring any mishaps in December. This is how things stand as of today&hellip;</p>






<div class="highlight"><pre tabindex="0" style="color:#cdd6f4;background-color:#1e1e2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 1</span><span><span style="color:#89dceb;font-weight:bold">===</span> ANNUAL GOAL PROGRESS <span style="color:#89dceb;font-weight:bold">(</span>2025<span style="color:#89dceb;font-weight:bold">)</span> <span style="color:#89dceb;font-weight:bold">===</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 2</span><span>Goal: 18,000 km
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 3</span><span>Current: 17,008.2 km <span style="color:#89dceb;font-weight:bold">(</span>94.5% <span style="color:#89dceb">complete</span><span style="color:#89dceb;font-weight:bold">)</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 4</span><span>Year Progress: 91.5% elapsed
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 5</span><span>Days passed: <span style="color:#fab387">334</span> | Days remaining: <span style="color:#fab387">31</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 6</span><span>Status: 🚀 Ahead of pace by 3.0%
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 7</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 8</span><span><span style="color:#89dceb;font-weight:bold">===</span> PACING <span style="color:#f5e0dc">TARGETS</span> <span style="color:#89dceb;font-weight:bold">===</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c"> 9</span><span>To reach your goal, you need:
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">10</span><span>• Daily: 32.0 km/day
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">11</span><span>• Weekly: 224.0 km/week
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f849c">12</span><span>• Monthly: 973.9 km/month</span></span></code></pre></div>
<p>If you happen to be on RWGPS add me as a <a href="https://ridewithgps.com/users/151788/">friend</a> - I&rsquo;ll add you back. Happy to connect and see what you are up to.</p>
<p>For a smaller niche interest group (you&rsquo;re on RWGPS, interested in the stats above, and okay about using Python scripts and CLI apps) I wrote about how they&rsquo;re generated in this <a href="https://www.bongotwisty.blog/stats_cli/">post</a>. The code for the <a href="https://github.com/alxtrnr/cycling-stats-cli">Cycling Stats CLI</a> is on GitHub.</p>
]]></content:encoded></item><item><title>What really matters?</title><link>https://www.bongotwisty.blog/what_really_matters/</link><pubDate>Wed, 26 Nov 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/what_really_matters/</guid><description>&lt;p&gt;Responding to &amp;ldquo;&lt;a href="https://sly.bearblog.dev/waiting-for-something-to-happen/"&gt;Waiting for&amp;hellip; nothing?&lt;/a&gt;&amp;rdquo; a post on &lt;a href="https://sly.bearblog.dev/"&gt;TOO MUCH TO THINK ABOUT&lt;/a&gt;. The writer (Sly?) notes that they are,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip;just feeling like i&amp;rsquo;m waiting to find something purposeful. is this something common&amp;rdquo;?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It&amp;rsquo;s something I have felt in times gone by. It&amp;rsquo;s something I have read and heard other people have also felt. Too small a sample to declare it&amp;rsquo;s common. Maybe it&amp;rsquo;s more so for people whose basic needs are being met.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Responding to &ldquo;<a href="https://sly.bearblog.dev/waiting-for-something-to-happen/">Waiting for&hellip; nothing?</a>&rdquo; a post on <a href="https://sly.bearblog.dev/">TOO MUCH TO THINK ABOUT</a>. The writer (Sly?) notes that they are,</p>
<blockquote>
<p>&ldquo;&hellip;just feeling like i&rsquo;m waiting to find something purposeful. is this something common&rdquo;?</p>
</blockquote>
<p>It&rsquo;s something I have felt in times gone by. It&rsquo;s something I have read and heard other people have also felt. Too small a sample to declare it&rsquo;s common. Maybe it&rsquo;s more so for people whose basic needs are being met.</p>
<p>Sly asks,</p>
<blockquote>
<p>&ldquo;what really matters though?? i&rsquo;m still waiting to find out.&rdquo;</p>
</blockquote>
<p>My answer is what really matters is whatever you decide matters. I guess you could wait for something to occur to you. If and when that happens and whatever it may be still comes down to a choice you make. No one can tell you what &ldquo;<em>really matters</em>&rdquo;. The best they can do is say what matters to them and what they think should matter to you.</p>
<p>I say play with the idea. Try things out. Decide to make something really matter to you every day. Soon or later one may persist. Whether persistence matters is another choice you get to make.</p>
<p>Sly mentions free will. Maybe this answers the question. If free will exists it must sit outside the laws of cause and effect. How&rsquo;s that for a curve ball. Maybe you don&rsquo;t get to decide what really matters at all. If that is the case maybe the question to ask is, why does anything really matter or perhaps, why should it?</p>
]]></content:encoded></item><item><title>Another cracked screen</title><link>https://www.bongotwisty.blog/cracked_screen/</link><pubDate>Mon, 24 Nov 2025 16:12:13 +0100</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/cracked_screen/</guid><description>&lt;p&gt;Out on my bike this morning. The back tyre punctured about 12 miles in. I got that sorted okay.&lt;/p&gt;
&lt;p&gt;Before setting off again I went to get the Karoo from my jersey pocket. I&amp;rsquo;d taken it off the bike to avoid scraping it on the ground when I flipped the bike to remove the wheel.&lt;/p&gt;
&lt;p&gt;I must have missed the jersey pocket and instead put it between the jersey and the hi-vis reflective gilet I was wearing. As I went to retrieve it, fumbling about with my gloves on created a gap between the two tops and the Karoo fell to the floor.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Out on my bike this morning. The back tyre punctured about 12 miles in. I got that sorted okay.</p>
<p>Before setting off again I went to get the Karoo from my jersey pocket. I&rsquo;d taken it off the bike to avoid scraping it on the ground when I flipped the bike to remove the wheel.</p>
<p>I must have missed the jersey pocket and instead put it between the jersey and the hi-vis reflective gilet I was wearing. As I went to retrieve it, fumbling about with my gloves on created a gap between the two tops and the Karoo fell to the floor.</p>
<p>Less than a month old and I&rsquo;ve cracked the screen. Gutted. It&rsquo;s literally just a month since I <a href="https://www.bongotwisty.blog/karoo2/">cracked the screen on the old one</a>.</p>


<a href="/cracked_screen/01_cracked_karoo.jpeg" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/cracked_screen/01_cracked_karoo_hu_eb5d0451965b0e6b.jpeg" alt="" loading="lazy" style="display: inline-block;">
      </a>

<a href="/cracked_screen/00_cracked_karoo.jpeg" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/cracked_screen/00_cracked_karoo_hu_effbd16f49813508.jpeg" alt="" loading="lazy" style="display: inline-block;">
      </a><p>You can get third party replacement screens for about £100. Knowing me and not wanting to risk damaging internal parts I&rsquo;m opting for the Hammerhead Crash Replacement. I got a 30% discount on this one with Karoos upgrade program. I think they offer up to a 50% discount on a certified new one when you send a damaged unit back that&rsquo;s still under warranty.</p>
<p>When I get that I shall fit a <a href="https://jm-graphics.com/product/riskless-ultimate-hammerhead-karoo-3-2024/">screen protector</a>, a <a href="https://www.ebay.co.uk/str/tuffluvcases?_trksid=p4429486.m145687.l149086">silicon bumper case</a>, and be very careful not to drop it again.</p>
]]></content:encoded></item><item><title>Autumn Harvest, Tankerton</title><link>https://www.bongotwisty.blog/topper_tankerton/</link><pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/topper_tankerton/</guid><description>&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/20251122_tankerton.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Autumn Harvest, Tankerton"&gt;
&lt;img src="https://www.bongotwisty.blog/gallery/postbox_toppers/20251122_tankerton_hu_da2db3ea2939ed96.jpg" alt="An autumnal post box topper displayed on a large circular bright orange crocheted platform. The centerpiece features a tower of textured knitted pumpkins in various sizes - pink with blue speckles, olive green, and coral - with decorative stems. Scattered around the base are smaller crocheted elements including miniature pumpkins, brown acorns, colorful mushrooms (red and brown), green oak leaves, and small knitted figures. The display is positioned in front of a blue-painted storefront with large windows, creating a festive seasonal scene" loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Autumn Harvest, Tankerton&lt;/figcaption&gt;
&lt;/figure&gt;&lt;p&gt;Always puts a smile on my face when I find one of these. One day I may even learn how to crotchet myself. A fine addition to the growing &lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/"&gt;collection&lt;/a&gt;.&lt;/p&gt;</description><content:encoded><![CDATA[

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/gallery/postbox_toppers/20251122_tankerton.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Autumn Harvest, Tankerton">
          <img src="/gallery/postbox_toppers/20251122_tankerton_hu_da2db3ea2939ed96.jpg" alt="An autumnal post box topper displayed on a large circular bright orange crocheted platform. The centerpiece features a tower of textured knitted pumpkins in various sizes - pink with blue speckles, olive green, and coral - with decorative stems. Scattered around the base are smaller crocheted elements including miniature pumpkins, brown acorns, colorful mushrooms (red and brown), green oak leaves, and small knitted figures. The display is positioned in front of a blue-painted storefront with large windows, creating a festive seasonal scene" loading="lazy" style="display: inline-block;">
        </a><figcaption>Autumn Harvest, Tankerton</figcaption>
    </figure><p>Always puts a smile on my face when I find one of these. One day I may even learn how to crotchet myself. A fine addition to the growing <a href="https://www.bongotwisty.blog/gallery/postbox_toppers/">collection</a>.</p>
]]></content:encoded></item><item><title>Armistice</title><link>https://www.bongotwisty.blog/armistice_lower_higham/</link><pubDate>Sun, 16 Nov 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/armistice_lower_higham/</guid><description>&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/20251116__armistice_lower_higham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Armistice, Lower Higham"&gt;
&lt;img src="https://www.bongotwisty.blog/gallery/postbox_toppers/20251116__armistice_lower_higham_hu_8ae640353a07bb08.jpg" alt="Hand-knitted commemorative display featuring miniature figures of Royal Guards in red uniforms and black bearskin hats positioned behind a knitted memorial stone. The stone is adorned with bright red poppies and sits on a crocheted base decorated with red, white, and blue flowers. The scene is photographed at dawn or dusk against a stone wall backdrop with countryside visible in the distance." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Armistice, Lower Higham&lt;/figcaption&gt;
&lt;/figure&gt;</description><content:encoded><![CDATA[

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/gallery/postbox_toppers/20251116__armistice_lower_higham.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Armistice, Lower Higham">
          <img src="/gallery/postbox_toppers/20251116__armistice_lower_higham_hu_8ae640353a07bb08.jpg" alt="Hand-knitted commemorative display featuring miniature figures of Royal Guards in red uniforms and black bearskin hats positioned behind a knitted memorial stone. The stone is adorned with bright red poppies and sits on a crocheted base decorated with red, white, and blue flowers. The scene is photographed at dawn or dusk against a stone wall backdrop with countryside visible in the distance." loading="lazy" style="display: inline-block;">
        </a><figcaption>Armistice, Lower Higham</figcaption>
    </figure>]]></content:encoded></item><item><title>The Middle Path</title><link>https://www.bongotwisty.blog/middle_path/</link><pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/middle_path/</guid><description>&lt;p&gt;Finding the middle path. The path between idealism and pragmatism. Between naivety and cynicism. Compliant surrender and angry dissent. Detachment and clinging on.&lt;/p&gt;
&lt;p&gt;This is a conversation I am having with myself this week, and have had with a colleague and a couple of friends.&lt;/p&gt;
&lt;p&gt;I noticed I was feeling angry with a decision made at work. Angry with my managers apparent inability to challenge their seniors and peers effectively.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Finding the middle path. The path between idealism and pragmatism. Between naivety  and cynicism. Compliant surrender and angry dissent. Detachment and clinging on.</p>
<p>This is a conversation I am having with myself this week, and have had with a colleague and a couple of friends.</p>
<p>I noticed I was feeling angry with a decision made at work. Angry with my managers apparent inability to challenge their seniors and peers effectively.</p>
<p>This is not something I have experienced in any notable way for nearly 18 months. Not since leaving my last job and starting the one I have now. I guess 18 months is about long enough to become established in role and to start coming up against the organisational culture.</p>
<p>I don&rsquo;t think that&rsquo;s all there is to it though. I have been working on myself in a structured and supported way over the last few years. Prior to now I would have been very much to one side of the path. Not even realised that there was another side let alone a middle way between the two.</p>
<p>On Friday I had a bit of a rant in our team catch up. Indignant, righteous anger. Full of disdain. In years gone by that would then have stewed and festered. On this occasion I noticed my reaction. I could see it for what it was. I understood where it was coming from. Rather than identify with it and allow it to possess me I decided to do something different. To let it be and follow up in a constructive way. A healthy adult way.</p>
<p>I put together what I intended to be a persuasive and reasoned rational to articulate the case for a change I have proposed. Whether now this influences decisions has yet to be known. While it is my hope that it does, if it does not I feel at peace for having tried rather than just getting angry.</p>
<p>Management teams are often made up of people who nod and agree with their seniors. Who tow the party line. Who will keep things as they are and not rock the boat. People who are considered a &ldquo;safe pair of hands&rdquo;. Default decision makers. Predictable, reliable managers. Keep your head down and maintain continuity is the message. This might be safe but it may also stifle innovation, change and improvement.</p>
<p>I may be able to accept this approach bit more if I worked in a &ldquo;good&rdquo; organisation. I work in one that &ldquo;requires improvement&rdquo;.</p>
]]></content:encoded></item><item><title>audax: MEGLME 600k DiY</title><link>https://www.bongotwisty.blog/meglme/</link><pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/meglme/</guid><description>&lt;p&gt;So the new Hammerhead Karoo 3 came through in the post last Thursday. This meant I could go ahead with the 600k DiY I&amp;rsquo;d planned for Saturday. It went well.&lt;/p&gt;
&lt;p&gt;I set out at about 5.00 am Saturday morning. 330k in the bag when I arrived at the mother in laws house in Gloucester at near enough bang on 10.30 pm. Set off again at just before 5.00am on Sunday and rode the remaining 270k back home to Chatham. Walked in the door around 7.30 pm. With a few wrong turns I needed to correct and unavoidable minor detours due to closed cycle ways and a level crossing I cycled just over 607k in total.&lt;/p&gt;</description><content:encoded><![CDATA[<p>So the new Hammerhead Karoo 3 came through in the post last Thursday. This meant I could go ahead with the 600k DiY I&rsquo;d planned for Saturday. It went well.</p>
<p>I set out at about 5.00 am Saturday morning. 330k in the bag when I arrived at the mother in laws house in Gloucester at near enough bang on 10.30 pm. Set off again at just before 5.00am on Sunday and rode the remaining 270k back home to Chatham. Walked in the door around 7.30 pm. With a few wrong turns I needed to correct and unavoidable minor detours due to closed cycle ways and a level crossing I cycled just over 607k in total.</p>
<p>Felt pretty good on both days. Obviously over such a long distance you feel a bit tired and worn out at times. I managed my eating and drinking better than on the 400k the week before though. No headache or nausea.  Stuck with the intermittent fasting on the first day. Stopped for a black coffee at a service station in Tottenham at around 75k. Rode for another 75k before stopping at Sandy for a meal deal at the Co-Operative shop there. There I filled up my water bottle with an Isotonic drink and made a point to stop again a few times during the afternoon and evening to refill the bottle and eat some snacks to keep me going till Gloucester.</p>
<p>Had a quick chat with spouse and her mother before having a shower, a couple of cups of tea then hitting the sack. Slept pretty well before waking again at 4.00 am with thoughts about getting back on the road. Decided it would be best to forgo the fast on this occasion and had a good feed before I left. Porridge, toast, coffee and bananas.</p>


<a href="/meglme/meglme_600.png" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/meglme/meglme_600_hu_95c8b73f85d2c4cd.png" alt="Cycling route map displaying a roughly circular 607-kilometer course through central England, starting and ending near Maidstone in Kent (marked with green flag). The red route line passes through Gloucester, Oxford, Milton Keynes, Cambridge, and returns south through Hertfordshire and Surrey. The ride recorded 4,380 meters of total elevation gain with a moving time of 29 hours and 33 minutes. An elevation profile chart below shows the terrain variations throughout the route, with notable climbs around the 350-450 km mark. The map uses OpenStreetMap data and shows major cities, roads, and green spaces along the route." loading="lazy" style="display: inline-block;">
      </a><p>I loaded the route to the Karoo when my bike was still in the garage. After setting off it was slow to update progress on the map and kept missing turns. After 20 minutes of frustration I stopped, saved the ride and reloaded the route. That sorted out the problems. Lesson there to make sure I load routes in the open where the GPS can find a satellite. Have a feeling this had happened before but long enough ago I&rsquo;d forgotten about the importance of doing so.</p>
<p>I felt a bit grumpy for a while. The route took me along a Beechings cycle way for about 5k between Stroud and Nailsworth. It was still dark and the path was rooty, covered in leaves and poorly surfaced. I&rsquo;d have been much better off on the road. Still it was me who planned the route so can only blame myself for that. Soon after I had what I think was the biggest climb of the ride. A slow burner that worked it&rsquo;s way up around 160m in 10k. There was a few more climbs after that but only one other that was of much note.</p>
<p>North Wessex Downs was lovely. Rolling hills and pastures. Soon back in more the familiar territory of Berkshire, Windsor, then into and across London. That felt a bit manic after all the country lanes and so many miles in my legs.</p>
<p>I&rsquo;m not a fan of the cycle paths in London. If I was more familiar with them perhaps I would be. As it is though I find they stop and start at random, vary massively in quality, are often obstructed by parked vehicles, and you frequently end up waiting for ages at controlled crossings and junctions. I was often better off riding on the road.</p>
<p>Very happy to have got the 600 done so early in the audax year. That&rsquo;s two done this month which is the plan till at least September 2026 so I get to complete years 3 and 4 of the RRtY award simultaneously.</p>
]]></content:encoded></item><item><title>Armistice Day</title><link>https://www.bongotwisty.blog/armistice/</link><pubDate>Tue, 11 Nov 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/armistice/</guid><description>&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/gallery/postbox_toppers/20251111_armistice.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Armistice Day, Upper Higham"&gt;
&lt;img src="https://www.bongotwisty.blog/gallery/postbox_toppers/20251111_armistice_hu_e6fab0115325f0c3.jpg" alt="A handcrafted Remembrance Day tribute featuring knitted figures and elements arranged on a purple knitted postbox topper. The scene includes a British Queen&amp;rsquo;s Guard soldier in red uniform with black bearskin hat on the left, a miniature knitted cenotaph monument in the center draped with a red poppy garland, and a naval or air force officer figure in navy blue uniform on the right. Multiple red knitted poppies are scattered across the purple surface, along with small red, white, and blue decorative elements. The display sits on a red postbox against a stone wall background." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Armistice Day, Upper Higham&lt;/figcaption&gt;
&lt;/figure&gt;</description><content:encoded><![CDATA[

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/gallery/postbox_toppers/20251111_armistice.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Armistice Day, Upper Higham">
          <img src="/gallery/postbox_toppers/20251111_armistice_hu_e6fab0115325f0c3.jpg" alt="A handcrafted Remembrance Day tribute featuring knitted figures and elements arranged on a purple knitted postbox topper. The scene includes a British Queen&rsquo;s Guard soldier in red uniform with black bearskin hat on the left, a miniature knitted cenotaph monument in the center draped with a red poppy garland, and a naval or air force officer figure in navy blue uniform on the right. Multiple red knitted poppies are scattered across the purple surface, along with small red, white, and blue decorative elements. The display sits on a red postbox against a stone wall background." loading="lazy" style="display: inline-block;">
        </a><figcaption>Armistice Day, Upper Higham</figcaption>
    </figure>]]></content:encoded></item><item><title>Misty in Roots</title><link>https://www.bongotwisty.blog/misty_in_roots/</link><pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/misty_in_roots/</guid><description>&lt;div class="bandcamp-embed"&gt;
&lt;iframe src="https://bandcamp.com/EmbeddedPlayer/album=2444581172/size=large/bgcol=ffffff/linkcol=0687f5/package=1457123484/transparent=true/" seamless&gt;
&lt;a href="https://mistyinroots.bandcamp.com/album/live-at-the-counter-eurovision-79"&gt;Live at the Counter Eurovision 79 by Misty In Roots&lt;/a&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;A week ago last Wednesday spouse and I went down to Brighton to see &lt;a href="https://en.wikipedia.org/wiki/Misty_in_Roots"&gt;Misty in Roots&lt;/a&gt; play. Spouse won the tickets in a competition.&lt;/p&gt;
&lt;p&gt;Misty are another band I came across in my teenage years and have enjoyed listening to on and off ever since. One of the great roots reggae bands hailing from the UK who have been around in one form or another since the mid seventies.&lt;/p&gt;</description><content:encoded><![CDATA[<div class="bandcamp-embed">
  <iframe src="https://bandcamp.com/EmbeddedPlayer/album=2444581172/size=large/bgcol=ffffff/linkcol=0687f5/package=1457123484/transparent=true/" seamless>
    <a href="https://mistyinroots.bandcamp.com/album/live-at-the-counter-eurovision-79">Live at the Counter Eurovision 79 by Misty In Roots</a>
  </iframe>
</div>

<p>A week ago last Wednesday spouse and I went down to Brighton to see <a href="https://en.wikipedia.org/wiki/Misty_in_Roots">Misty in Roots</a> play. Spouse won the tickets in a competition.</p>
<p>Misty are another band I came across in my teenage years and have enjoyed listening to on and off ever since. One of the great roots reggae bands hailing from the UK who have been around in one form or another since the mid seventies.</p>
<p>Regardless of the line up having changed a good few times in the fifty years they have been performing I am so pleased to have finally taken the opportunity to see them play live now. The distinctive voice of Paco who has remained in the band throughout the years sounded great. They played a great set. Classic tunes - Follow Fashion, Food Clothes and Shelter, Ghetto of the City, Own Them Control Them, and Poor and Needy to name just a few.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/misty_in_roots/20251030_poko.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Walford Poko Tyson | Frontman and Lead Vocalist">
          <img src="/misty_in_roots/20251030_poko_hu_feea4dbc6a748753.jpg" alt="Black and white stylized photograph of Walford &ldquo;Poko&rdquo; Tyson, performing with a microphone in an expressive pose. He wears a distinctive patterned headband and a light-colored button-up shirt while singing passionately during a live performance." loading="lazy" style="display: inline-block;">
        </a><figcaption>Walford Poko Tyson | Frontman and Lead Vocalist</figcaption>
    </figure>

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/misty_in_roots/20251030_misty.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Misty in Roots at the Concorde 2 in Brighton | The final gig of their 50th Anniversary Tour">
          <img src="/misty_in_roots/20251030_misty_hu_634b9ae844093eb3.jpg" alt="Two members of British reggae band Misty In Roots performing on stage during their 50th anniversary tour. The musician on the left holds percussion while wearing a pink button-up shirt and cap, while the guitarist on the right wears pink and performs with orange ear protection. Stage lighting creates a blue-green atmospheric backdrop." loading="lazy" style="display: inline-block;">
        </a><figcaption>Misty in Roots at the Concorde 2 in Brighton | The final gig of their 50th Anniversary Tour</figcaption>
    </figure>]]></content:encoded></item><item><title>The End of my Karoo 2</title><link>https://www.bongotwisty.blog/karoo2_final_ride/</link><pubDate>Tue, 04 Nov 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/karoo2_final_ride/</guid><description>&lt;p&gt;It came off again on this mornings ride. My fault. I was still using the crappy ill fitting aftermarket bracket. I&amp;rsquo;d bodged it a bit to make it hold on tighter. That worked for the last week. It did not work this morning. The Karoo bounced out as I was going down a bumpy lane. Noticed straight away this time. Stopped and retrieved it. The screen would no longer display. It saved the ride till that point though and synced it when I got home. Tracked the rest of the ride on my phone. Joined the two together on RWGPS and voila! My ride was recorded.&lt;/p&gt;</description><content:encoded><![CDATA[<p>It came off again on this mornings ride. My fault. I was still using the crappy ill fitting aftermarket bracket. I&rsquo;d bodged it a bit to make it hold on tighter. That worked for the last week. It did not work this morning. The Karoo bounced out as I was going down a bumpy lane. Noticed straight away this time. Stopped and retrieved it. The screen would no longer display. It saved the ride till that point though and synced it when I got home. Tracked the rest of the ride on my phone. Joined the two together on RWGPS and voila! My ride was recorded.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/karoo2_final_ride/card.png" class="glightbox" data-gallery="gallery" data-glightbox="title: The Final Ride | Karoo 2">
          <img src="/karoo2_final_ride/card_hu_4dc8df4d49871280.png" alt="Cycling route map displaying a 54.2 kilometer recreational ride through Rochester, Chatham, and the Hoo Peninsula in Medway, Kent. The route, marked in red on an OpenStreetMap base, starts and finishes near Rochester, looping through areas including Higham, Cliffe Woods, Cooling, Hoo St Werburgh, Chattenden, Upnor, Gillingham, and Strood. The ride shows 527 meters of elevation gain over a moving time of 2 hours 26 minutes. An elevation profile graph below the map displays relatively flat terrain with gradual undulations throughout the route, alongside a speed/power graph showing variations in cycling intensity." loading="lazy" style="display: inline-block;">
        </a><figcaption>The Final Ride | Karoo 2</figcaption>
    </figure><p>I ordered a new Karoo 3 yesterday. £135 discount with Hammerheads upgrade program. I shall use the Karoo mount. Fingers crossed I shall get it by Friday. I have a 600k planned for Saturday/Sunday.</p>
]]></content:encoded></item><item><title>16:8 | 400km</title><link>https://www.bongotwisty.blog/fasting_and_endurance/</link><pubDate>Sun, 02 Nov 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/fasting_and_endurance/</guid><description>&lt;p&gt;Intermittent fasting, specifically the 16:8 method where you only eat during an eight window each day. I&amp;rsquo;ve been following this habit every day since early August. It started off just to see if I could do it, to find out what it was like. The decision to give it a go was chiefly prompted by a post that explored scarcity - &lt;a href="https://prickly.oxhe.art/scarcity/"&gt;The Darkness You Choose, The Darkness that Chooses You.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am cherry picking the parts I was inspired by:&lt;/p&gt;</description><content:encoded><![CDATA[<p>Intermittent fasting, specifically the 16:8 method where you only eat during an eight window each day. I&rsquo;ve been following this habit every day since early August. It started off just to see if I could do it, to find out what it was like. The decision to give it a go was chiefly prompted by a post that explored scarcity - <a href="https://prickly.oxhe.art/scarcity/">The Darkness You Choose, The Darkness that Chooses You.</a></p>
<p>I am cherry picking the parts I was inspired by:</p>
<blockquote>
<p>When you choose to fast, you&rsquo;re conducting an experiment with your own machinery. The metabolic switch flips from glucose to fat, from immediate fuel to stored reserves. Your brain shifts into a different gear — sharper, quieter, less cluttered by the constant background noise of digestive processing. This is voluntary darkness: closing the shutter to make the picture clear&hellip;</p>
<p>Short-term voluntary scarcity sharpens focus&hellip;</p>
<p>We live now in a world where abundance creates its own problems. Choice overload paralyses us in grocery aisles. The tyranny of infinite options can make us less decisive than scarcity ever did. Sometimes constraints liberate us from the exhausting democracy of having to choose everything, all the time&hellip;</p>
<p>Fasting is a chosen darkness — you pull the curtains to concentrate the light that remains.</p>
</blockquote>
<p>I was inspired to experiment with fasting. I was curious. You don&rsquo;t know till you try. It&rsquo;s one thing to say I think I could do such and such but until you try the statement has no weight.</p>
<p>So I started and found out a few things. The first being was that I could do it. I&rsquo;ve only been eating between the hours of 1.00 pm and 9.00 pm. A regular concession has been milk in tea and coffee but aside from that I&rsquo;ve stuck to the fast.</p>
<p>My perception of feeling hungry has changed. Feeling hungry used to be a condition to resolve. Nowadays it&rsquo;s just a feeling I notice and allow. It does not feel like a big hardship. It&rsquo;s just a feeling. One that passes with time,  often with no more than the next distraction.</p>
<p>Interstitial moments. The space between ending one activity and before starting another. The feeling of being at loose end. I felt a need to fill these spaces. It used to be with smoking. I gave up smoking a while ago. The &ldquo;smoke break&rdquo; was replaced by the cupboard/fridge/bread bin/biscuit raid. I needed food no more than I needed to smoke. Very often I was not even hungry. Sometimes I actually felt full up but would graze anyway. The need was not about food. It was simply to not feel the way I was feeling. The discomfort of being at a loose end, of what to do next, a distraction from the feeling that often comes with getting on with the next task, a task I may not be looking forward to or feeling that confident about.</p>
<p>Intermittent fasting is helping me to notice, allow and sit with my feelings. They come and go all of their own accord. I knew this but have seldom allowed it. I allow it more now.</p>
<p>So what about the cycling. I read that intermittent fasting helps enhance pancreatic function and sensitivity to insulin. I&rsquo;ve also read, and as prickly ox pointed out in their post that after a little while your body adapts and finds energy from stored fats rather than the carbs it has become used to being fed.  No doubt there is a more scientific way of putting that.</p>
<p>Most days I do a 50km loop. This is often first thing in the morning hence while still fasting. It&rsquo;s not felt like a big deal. I tend to ride at the same moderate pace all of the time. I believe this habit has helped my body adapt to finding glycogen in fat rather than a ready supply of carbs or from any glycogen reserves in muscles. Given that fat is always available from somewhere I think this has a consequential impact on increasing endurance. This <a href="https://www.trainerroad.com/blog/program-body-burn-fat-instead-store-fasted-training/">article</a> backs up the idea and explains it much better than I have.</p>
<p>Every month I do at least one ride of 200km or more. The last few have been while fasting. The first 100k of September and October rides were on an empty stomach. I fared much better than I thought I might. I did not &lsquo;<a href="https://www.bikeradar.com/advice/fitness-and-training/how-to-avoid-bonking-on-a-bike-ride">bonk</a>&rsquo; and neither was my pace markedly different from normal.</p>
<p>Yesterday I set out on a 400k ride. I planned the first control stop at 80k. I got there before 1.00 pm so just had a black coffee and carried on riding. Other than on long rides I only drink decaf tea and coffee. I felt pretty good on the next section and put that in part down to the caffeine. The next control was at 160k. I still had around 10 - 15k to go when 1.00 pm came round. I kept going and got to the stop at around 1.20 pm. 100 miles done on an empty stomach without suffering. This was a first. There is no doubt in my mind that intermittent fasting has increased my cycling endurance.</p>
<iframe src="https://ridewithgps.com/embeds?type=trip&id=347998210&title=audax%3A%20London%20%26%20Brighton%20400k%20DiY&metricUnits=true&sampleGraph=true&distanceMarkers=true" style="width: 1px; min-width: 100%; height: 700px; border: none;" scrolling="no"></iframe>
<p>I kept going for the rest of the day and into the early hours. Got back home around 4.15 am. I could have managed the last 150km better. I did bonk. Nausea and headache mostly. My pace did not reduce by much though, if at all. Luckily the wind was behind me all along the south coast. Lessons learned and will be applied this coming weekend. I have a 600 planned.</p>
]]></content:encoded></item><item><title>The Congos</title><link>https://www.bongotwisty.blog/congos/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/congos/</guid><description>&lt;figure class="image-figure" style="text-align: center; margin: 1rem auto;"&gt;&lt;a href="https://www.bongotwisty.blog/congos/20251022_watty_burnett.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Watty Burnett"&gt;
&lt;img src="https://www.bongotwisty.blog/congos/20251022_watty_burnett_hu_9efae8335597c3fe.jpg" alt="Black and white photograph of Watty Burnett performing live on stage. The veteran reggae artist wears glasses and a beanie hat while singing into a microphone with one arm raised expressively. Stage lights are visible in the background." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;figcaption&gt;Watty Burnett&lt;/figcaption&gt;
&lt;/figure&gt;&lt;p&gt;Back in the early eighties I was bang into the two tone ska and rudeboy bands of the time. My favorities were The Beat. They were the first band I ever saw playing live. I still have a drumstick Everet Norton threw into the crowd at the end of playing Mirror in the Bathroom. I lamented the passing of this particular era as the New Romantics began to dominate radio playlists.&lt;/p&gt;</description><content:encoded><![CDATA[

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/congos/20251022_watty_burnett.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Watty Burnett">
          <img src="/congos/20251022_watty_burnett_hu_9efae8335597c3fe.jpg" alt="Black and white photograph of Watty Burnett performing live on stage. The veteran reggae artist wears glasses and a beanie hat while singing into a microphone with one arm raised expressively. Stage lights are visible in the background." loading="lazy" style="display: inline-block;">
        </a><figcaption>Watty Burnett</figcaption>
    </figure><p>Back in the early eighties I was bang into the two tone ska and rudeboy bands of the time. My favorities were The Beat. They were the first band I ever saw playing live. I still have a drumstick Everet Norton threw into the crowd at the end of playing Mirror in the Bathroom. I lamented the passing of this particular era as the New Romantics began to dominate radio playlists.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/congos/20251022_cedric_myton_02.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Cedric Myton">
          <img src="/congos/20251022_cedric_myton_02_hu_7528056f9b396ec5.jpg" alt="Cedric Myton of The Congos performing on stage wearing a black t-shirt with pink text reading &ldquo;AMERICA LATINA LIVRE E SOBERANA&rdquo; (Free and Sovereign Latin America). He holds a microphone and wears a colorful headband with white dreadlocks visible, his arm raised energetically." loading="lazy" style="display: inline-block;">
        </a><figcaption>Cedric Myton</figcaption>
    </figure><p>I hung on though and with a good friend followed the natural path from ska to reggae. The Beat helped with this through their Go Feet record label. They reissued The Congos, Heart of the Congos in 1980. &ldquo;Fisherman&rdquo; was one of the tunes that sparked the blaze of what became a lifelong love of roots reggae. Back then The Congos were a world away from my teenage years living in Canterbury. The thought of seeing them play live unimaginable.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/congos/20251022_cedric_myton_03.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Cedric Myton">
          <img src="/congos/20251022_cedric_myton_03_hu_f8e3dac70bb12277.jpg" alt="Black and white close-up portrait of Cedric Myton performing, wearing a cap with white curly hair and beard visible. He holds a microphone close to his mouth with an intense, passionate expression while performing." loading="lazy" style="display: inline-block;">
        </a><figcaption>Cedric Myton</figcaption>
    </figure><p>Spouse and I went to see the Congos play at the Fox and Firkin in Lewisham last week. So happy to have had the opportunity. None of us are getting any younger. The set list included so many classic tunes. Starting with &ldquo;Open up the Gate&rdquo;, through a gratifying collection of old favourites, some new songs true to their style, and closing with &ldquo;Fisherman&rdquo;. They sung with love and energy. The players of instruments served them well. It was a great night out.</p>


<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/congos/20251022_ashanti_roy.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Ashanti Roy (Roydel Johnson)">
          <img src="/congos/20251022_ashanti_roy_hu_63f59194e8effd9e.jpg" alt="Ashanti Roy (Roydel Johnson) of The Congos performing on stage wearing a striped garment with traditional African-style wrap and dark hat. Colorful stage lights illuminate the background as he sings into a microphone with an expressive gesture." loading="lazy" style="display: inline-block;">
        </a><figcaption>Ashanti Roy (Roydel Johnson)</figcaption>
    </figure>

<figure class="image-figure" style="text-align: center; margin: 1rem auto;"><a href="/congos/20251022_cedric_myton_01.jpg" class="glightbox" data-gallery="gallery" data-glightbox="title: Cedric Myton">
          <img src="/congos/20251022_cedric_myton_01_hu_c4cb3224852c3798.jpg" alt="Cedric Myton performing with dramatic lighting, wearing the &ldquo;AMERICA LATINA LIVRE E SOBERANA&rdquo; t-shirt and colorful headband. The image captures him mid-performance with his arm raised in a dynamic blur of motion, microphone in hand." loading="lazy" style="display: inline-block;">
        </a><figcaption>Cedric Myton</figcaption>
    </figure>]]></content:encoded></item><item><title>Set the Music Free</title><link>https://www.bongotwisty.blog/set_the_music_free/</link><pubDate>Sun, 26 Oct 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/set_the_music_free/</guid><description>&lt;p&gt;In the last few days I have learned how to very easily access all my digital music files remotely. My personal music streaming service. It&amp;rsquo;s great. I am very happy.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not the first time I&amp;rsquo;ve tinkered about with something like this. A few years ago I ran a &lt;a href="https://www.bongotwisty.blog/nextcloudpi-bringing-the-cloud-indoors/"&gt;NextcloudPi&lt;/a&gt; instance with a couple of HDDs connected to it. There was a lot of faffing about to set it up. When it worked it worked. Problem was from time to time it would stop working and need more time faffing about to get it running again. I stuck with it for 6 -12 months before getting fed up with trouble shooting failures and giving up on it. It was most likely down to my own ineptitude.&lt;/p&gt;</description><content:encoded><![CDATA[<p>In the last few days I have learned how to very easily access all my digital music files remotely. My personal music streaming service. It&rsquo;s great. I am very happy.</p>
<p>It&rsquo;s not the first time I&rsquo;ve tinkered about with something like this. A few years ago I ran a <a href="https://www.bongotwisty.blog/nextcloudpi-bringing-the-cloud-indoors/">NextcloudPi</a> instance with a couple of HDDs connected to it. There was a lot of faffing about to set it up. When it worked it worked. Problem was from time to time it would stop working and need more time faffing about to get it running again. I stuck with it for 6 -12 months before getting fed up with trouble shooting failures and giving up on it. It was most likely down to my own ineptitude.</p>
<p>Fast forward to now and things have been much much easier. A <a href="https://www.navidrome.org">Navidrome</a> instance hosted on <a href="https://www.pikapods.com">PikaPod</a>. All my music files easily synced using <a href="https://rclone.org">rclone</a>.  500GB storage, 1 CPU and 2GB ram is coming in at about £7.00 a month.</p>
<p>I have an old laptop I could use as a server to host Navidrome myself. I&rsquo;m not inclined to spend the time wrestling with Virgin Media router settings and setting up a static IP. PikaPod share revenue with the developers of apps they host. Right now it seems like a good and easy way to make best use of Navidrome and lend my support.</p>
<p>I&rsquo;ve been rinsing out the tunes over the last few days on my second lap top via Subsonic settings in the Strawberry Music Player, on my mobile when I&rsquo;m out and about and I&rsquo;m sharing my music library with spouse. We&rsquo;re loving it!</p>
]]></content:encoded></item><item><title>A misadventure with the Karoo 2</title><link>https://www.bongotwisty.blog/karoo2/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/karoo2/</guid><description>&lt;p&gt;Out on my bike yesterday and my Karoo 2 GPS came off my bars. I did not notice until after a few miles had passed. Live tracking showed me where to go find it. It was on a quiet country lane. I rode back as fast as I could hoping to find it in one piece while imagining the worst.&lt;/p&gt;
&lt;p&gt;I found it in a shallow puddle, looking tragic, face down on the side of the road. The screen was damaged quite badly. Tracking had paused but it was still working. I reattached it and continued the &lt;a href="https://ridewithgps.com/trips/345654457"&gt;ride&lt;/a&gt; back home.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Out on my bike yesterday and my Karoo 2 GPS came off my bars. I did not notice until after a few miles had passed. Live tracking showed me where to go find it. It was on a quiet country lane.  I rode back as fast as I could hoping to find it in one piece while imagining the worst.</p>
<p>I found it in a shallow puddle, looking tragic, face down on the side of the road. The screen was damaged quite badly. Tracking had paused but it was still working. I reattached it and continued the <a href="https://ridewithgps.com/trips/345654457">ride</a> back home.</p>


<a href="/karoo2/card.png" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/karoo2/card_hu_7e4f724e4db4a59f.png" alt="Cycling route map showing a 72.8km loop starting from Chatham, Kent, passing through Rochester, Cuxton, Shorne, Gravesend, Lower Higham, Cliffe Woods, Lower Stoke, and Upper Stoke before returning to Chatham. The route has 902 meters of elevation gain and a moving time of 3 hours 10 minutes. An elevation profile graph below the map shows relatively flat terrain with notable hills near the end of the route." loading="lazy" style="display: inline-block;">
      </a><div class="custom-divider">•• ━━━━━ ••●•• ━━━━━ ••</div>


<a href="/karoo2/20251024_karoo2.jpg" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/karoo2/20251024_karoo2_hu_2fbc4a542ad467.jpg" alt="A Hammerhead Karoo 2 GPS cycling computer mounted on handlebars, showing a cracked screen with visible spider web fractures across the lower portion. The device is still operational and displays a map interface showing Upper Bush area, with battery at 77%, time reading 2:14:31, and navigation controls visible on the left side. The screen damage is concentrated in the bottom left corner with radiating cracks." loading="lazy" style="display: inline-block;">
      </a><p>I&rsquo;ve been using a cheap aftermarket mount to hold the GPS on my handlebars. There are reasons why I had not been using the mount that came with it. All the same it was silly of me to risk using one that was a poor fit and only held the Karoo loosely. My fault entirely.</p>
<p>The Karoo 2 is the best GPS I have ever owned. Hammerhead have a crash replacement policy for devices still under warranty. Mine one is out of warranty but thought there&rsquo;s no harm in asking if there was a chance of helping me out with a discount on a new or reconditioned one. Fingers crossed goodwill and discretion will prevail.</p>
]]></content:encoded></item><item><title>Vulnerable, angry children</title><link>https://www.bongotwisty.blog/vulnerable_angry_children/</link><pubDate>Tue, 21 Oct 2025 10:00:00 +0100</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/vulnerable_angry_children/</guid><description>&lt;p&gt;I was grumpy yesterday. I noticed this during the morning catch up meeting. I was triggered listening to a colleagues implied criticism of a work process. A system they had not found the time to learn and understand.&lt;/p&gt;
&lt;p&gt;Adopting a critical stance to something we do not understand protects the child within us from uncomfortable feelings. Feeling inadequate, not good enough, vulnerable. While no system is perfect my colleagues criticism was a vehicle for psychological projection. An ego defence.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I was grumpy yesterday. I noticed this during the morning catch up meeting. I was triggered listening to a colleagues implied criticism of a work process. A system they had not found the time to learn and understand.</p>
<p>Adopting a critical stance to something we do not understand protects the child within us from uncomfortable feelings. Feeling inadequate, not good enough, vulnerable. While no system is perfect my colleagues criticism was a vehicle for psychological projection.  An ego defence.</p>
<p>The vulnerable child in me was triggered. I instigated the change in the system my colleague was struggling to get to grips with. Grumpiness the &ldquo;safe&rdquo; outlet for my own vulnerability and anger.</p>
<p>There were at least two children in the space we occupied. Both vulnerable. Both seeking to protect themselves. You might imagine how that went. Speaking over one another. Not listening. No empathy or compassion from either side. It did not dissolve into a bun fight. We stayed within the boundaries of acceptable adult discourse. The children were muted, censored by the adults we now are. It was however children that were pulling the strings.</p>
<p>There is nothing unusual about being triggered. It happens. Less and less so with me these days. I have been working on myself for some years now. I guess that&rsquo;s why it felt notable. All day I was on a hair trigger. Reacting not responding.</p>
<p>It took me by surprise that I was being like this. Noticing it was helpful. Doing so prompted me to pause and not run with my reactions. At the end of the day it occurred to me to do a &ldquo;releasing meditation&rdquo;, listening to sounds that supposedly evoke brainwave patterns correlated with deep emotional release. Woke up today feeling more at ease. I spent 20 minutes doing a centring meditation. A reminder to identify with the observer not the thinker.</p>
<p>Sitting in this mornings catch up. A couple of colleagues became stuck in the mire of legal and organisational complexity, blurred organisational responsibilities and lines of accountability.  I heard vulnerable, angry children. My silent critic stayed quiet.</p>
]]></content:encoded></item><item><title>Week Notes</title><link>https://www.bongotwisty.blog/week_notes_take_a_break/</link><pubDate>Sun, 19 Oct 2025 20:00:13 +0100</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/week_notes_take_a_break/</guid><description>&lt;p&gt;Week notes. I&amp;rsquo;m finding the process a bit unsatisfactory. Everyday things come to mind that a brief note would be useful to help process and develop further. Everyday there&amp;rsquo;s an interaction that gets me thinking. Everyday there&amp;rsquo;s some sensory experience that feels notable. Everyday an action/omission. Everyday an experience to ponder on. You get the idea.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t make brief notes during each day. Thoughts and experiences just come and go.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Week notes. I&rsquo;m finding the process a bit unsatisfactory. Everyday things come to mind that a brief note would be useful to help process and develop further. Everyday there&rsquo;s an interaction that gets me thinking. Everyday there&rsquo;s some sensory experience that feels notable. Everyday an action/omission. Everyday an experience to ponder on. You get the idea.</p>
<p>I don&rsquo;t make brief notes during each day. Thoughts and experiences just come and go.</p>
<p>Looking back on all that has happened once a week misses so much out. It&rsquo;s not that I lead an especially interesting, unusual or or action packed life. Life just happens. It&rsquo;s non stop.</p>
<p>I&rsquo;m quite methodical by default. Sitting down to write week notes feel&rsquo;s like a chore. If I miss stuff out it does not feel like I have done an honest job. The story is not even half told. Editing is not my bag either. I&rsquo;ve not found a happy medium between it being a box ticking exercise and a rambling narrative.</p>
<p>The best analogy I can think of right now is flavour. I just don&rsquo;t like the taste of week notes. It feels false, manufactured and a bit performative. A poor one at that. Week notes is turning out to be a &ldquo;task&rdquo;, one I struggle with and do not look forward to. I&rsquo;m going to take a break from it for now.</p>
]]></content:encoded></item><item><title>Bike ride in and around Gloucester</title><link>https://www.bongotwisty.blog/nan_weekend/</link><pubDate>Sat, 11 Oct 2025 19:00:13 +0100</pubDate><author>bongotwisty@pm.me (Bongo Twisty)</author><guid>https://www.bongotwisty.blog/nan_weekend/</guid><description>&lt;p&gt;I mapped a 50k route in the morning before leaving home and driving to Gloucester.&lt;/p&gt;
&lt;a href="https://www.bongotwisty.blog/nan_weekend/card.png" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;"&gt;
&lt;img src="https://www.bongotwisty.blog/nan_weekend/card_hu_8cbcfa2c0b30d166.png" alt="Map of a 55.6 km cycling route around Cheltenham and Gloucester shown in red against a muted OpenStreetMap background, with an elevation profile below peaking around mid-ride, and text beneath reading 55.6 km Distance, 639 m Elevation Gain, and 2 h 38 m Moving Time." loading="lazy" style="display: inline-block;"&gt;
&lt;/a&gt;&lt;p&gt;It was good to have the opportunity to have a ride around an area outside of Kent. That&amp;rsquo;s not to say there is anything wrong with cycling in Kent. Far from it. I love the countryside, the landscape, the hills, hedgerows, farm land and country lanes close to home. It&amp;rsquo;s just good to see some new sites. To ride on unfamiliar roads.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I mapped a 50k route in the morning before leaving home and driving to Gloucester.</p>


<a href="/nan_weekend/card.png" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/nan_weekend/card_hu_8cbcfa2c0b30d166.png" alt="Map of a 55.6 km cycling route around Cheltenham and Gloucester shown in red against a muted OpenStreetMap background, with an elevation profile below peaking around mid-ride, and text beneath reading 55.6 km Distance, 639 m Elevation Gain, and 2 h 38 m Moving Time." loading="lazy" style="display: inline-block;">
      </a><p>It was good to have the opportunity to have a ride around an area outside of Kent. That&rsquo;s not to say there is anything wrong with cycling in Kent. Far from it. I love the countryside, the landscape, the hills, hedgerows, farm land and country lanes close to home. It&rsquo;s just good to see some new sites. To ride on unfamiliar roads.</p>
<p>In that regard and on the way into Cheltenham I came across a few fine examples of street art stencilled on the walls of a subway going under the Gloucester Road&hellip;.</p>


<a href="/nan_weekend/20251011_cheltenham_streetart2.jpg" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/nan_weekend/20251011_cheltenham_streetart2_hu_cd6cfc53140608e2.jpg" alt="Black-and-white mural of a solemn human face on a dark wall, composed of pixel-like blocks, with a horizontal metal pipe crossing at mouth level and @rj77stencils stenciled in yellow at top left." loading="lazy" style="display: inline-block;">
      </a>

<a href="/nan_weekend/20251011_cheltenham_streetart1.jpg" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/nan_weekend/20251011_cheltenham_streetart1_hu_48cd14c8297abcc0.jpg" alt="Monochrome street art of a surprised woman peeking from behind a wall, painted beside bold purple graffiti letters, with a bright yellow handrail running across the lower third of the image." loading="lazy" style="display: inline-block;">
      </a>

<a href="/nan_weekend/20251011_cheltenham_streetart.jpg" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/nan_weekend/20251011_cheltenham_streetart_hu_249ac93dd3dea8a6.jpg" alt="Close-up of a lifelike grayscale mural of a woman gazing upward, her hair rendered in fine brush-stroke detail, against a pale textured wall." loading="lazy" style="display: inline-block;">
      </a><p>And then as I approached the top of a pretty long climb up a country lane I heard some proper thumping drum and bass. Very out of place in otherwise peaceful surroundings. No complaints from me. I love all that. Intrigued I rode on and soon spotted the musics origin -</p>


<a href="/nan_weekend/20251011_cleve_hill_sounds.jpg" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/nan_weekend/20251011_cleve_hill_sounds_hu_df64a6d56e6f08a4.jpg" alt="Outdoor DJ setup in front of a hatchback car draped in camouflage netting, featuring a female DJ in a green puffer jacket mixing on a Pioneer controller, flanked by two assistants against an overcast sky." loading="lazy" style="display: inline-block;">
      </a><p>Just the three of them there. I assumed they were testing things out and practising for greater things. They were happy for me to take a few snaps. I did not stop and chat or think to ask what they were up to. I regret not doing so now and using the opportunity to get more photos and hear their story.</p>
<p>Not far beyond this the route took me down a gravel track. In my haste I omitted to tick the box to have the route follow paved surfaces only. Just past the 20k mark and I&rsquo;m on the Cotswold Way. Trudging down a deeply rutted and furrowed stony path through some woods and back down a long hill I&rsquo;d just climbed all the way up.</p>


<a href="/nan_weekend/20251011_rutty_path.jpg" class="glightbox" data-gallery="gallery" style="display: block; text-align: center;">
        <img src="/nan_weekend/20251011_rutty_path_hu_f26a3959950da604.jpg" alt="Gravelly woodland track littered with sticks and stones, blocked by a fallen log, with a touring gravel bike leaning against it, small ferns and autumn leaves lining the narrow path." loading="lazy" style="display: inline-block;">
      </a><p>I&rsquo;d like to say lesson learned but this is not the first time I&rsquo;ve done something like this. I think I am though making fewer of the same mistakes.</p>
]]></content:encoded></item></channel></rss>