<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><id>https://burgeonlab.com/notes/</id><title>BurgeonLab: Notes</title><subtitle>Full-text Atom feed of BurgeonLab's notes (microblogs)</subtitle><icon>https://burgeonlab.com/android-chrome-192x192.png</icon><updated>2026-09-10T00:21:10+08:00</updated><generator uri="https://gohugo.io/" version="0.166.0">Hugo</generator><link rel="self" href="https://burgeonlab.com/notes/feed.xml"/><link rel="alternate" href="https://burgeonlab.com/notes/"/><link rel="related" href="https://burgeonlab.com/subscribe" title="Subscribe to other feeds by BurgeonLab"/><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><rights>Copyright © 2023-2026 Naty S.</rights><entry><id>https://burgeonlab.com/notes/2026/0910-0021/</id><title type="html">Writing Break and WP Migration</title><link href="https://burgeonlab.com/notes/2026/0910-0021/"/><published>2026-09-10T00:21:10+08:00</published><updated>2026-09-10T00:28:16+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">I’m still mentally recovering from Blaugust. 😅 During this writing break, instead of writing words, I’m writing HTML, CSS, JS and even some TypeScript/React Components (that’s for Quartz, which is confusing as hell TBH!)
Site UpdatesOn this site,...</summary><content type="html"><![CDATA[<h1 id="writing-break-and-wp-migration"><a href="#writing-break-and-wp-migration" class="h-anchor" title="Permalink to #Writing Break and WP Migration"><span class="inline-svg"></span></a>Writing Break and WP Migration</h1><p>I&rsquo;m still mentally recovering from Blaugust. 😅 During this writing break, instead of writing words, I&rsquo;m writing HTML, CSS, JS and even some TypeScript/React Components (that&rsquo;s for <a href="https://burgeonlab.com/tags/quartz/"><span class="ext-text">Quartz</span></a>, which is <a href="https://stackoverflow.com/questions/56871384/what-is-the-difference-between-ts-and-tsx-extensions-both-are-used-as-extensi" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">confusing as hell</span></a> TBH!)</p>
<h2 id="site-updates"><a href="#site-updates" class="h-anchor" title="Permalink to #Site Updates"><span class="inline-svg"></span></a>Site Updates</h2><p>On this site, last week I fixed:</p>
<ul>
<li>Word count calculation mistake on the <a href="https://burgeonlab.com/stats/"><span class="ext-text">statistics page</span></a></li>
<li>Dreaded <a href="https://en.wikipedia.org/wiki/Flash_of_unstyled_content" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">FOUC</span></a> issue (not the first time)
<ul>
<li>Fixed by removing the <code>media=&quot;print&quot; onload=&quot;this.media='all'&quot;</code> trick</li>
</ul>
</li>
<li>New SVG image shortcode (used to add the two SVGs in my <a href="https://burgeonlab.com/blog/blaugust-2026-recap/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Blaugust 2026 recap post</span></a>)
<ul>
<li>This SVG image highlighted a XML bug I had which cut my full-text content short—which is fixed now!</li>
<li>And another XML bug (thanks <a href="https://chrisburnell.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Chris</span></a> for reporting) fixed for full-content disappearing after <code>&lt;figure&gt;</code> code blocks.</li>
</ul>
</li>
<li>Refreshed the RSS/Atom feeds table on <a href="/pages/subscribe"><span class="ext-text">/⁠subscribe</span></a>
<ul>
<li>Found out that my preferred feed reader, FluentReader on macOS has been <a href="https://github.com/yang991178/fluent-reader" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">revived after almost a 3 year hiatus</span></a>!</li>
</ul>
</li>
<li>Saved the <a href="https://keepandroidopen.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">KeepAndroidOpen</span></a> banner script (trimmed unused styles) locally, so it doesn&rsquo;t require third party access.</li>
<li>Fixed date parsing error in <a href="https://schema.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">JSON-LD schema</span></a></li>
<li>Updated my beloved heatmap calendar rather significantly:
<ul>
<li>Instead of just including content over 300 words, it now include <em>all activity</em></li>
<li>Days with multiple entries are depicted with a circle</li>
<li>Moved the calendar to the homepage</li>
<li>New group for very short content (under 100 words)</li>
</ul>
</li>
</ul>
<h3 id="heatmap-calendar"><a href="#heatmap-calendar" class="h-anchor" title="Permalink to #Heatmap Calendar"><span class="inline-svg"></span></a>Heatmap Calendar</h3><p>The calendar feature is one of my absolute favorite things on <em>BurgeonLab</em>. ⁂ I actually need to update my <a href="/blog/github-style-heatmap-calendar-widget-visualizing-hugo/"><span class="ext-text">guide</span></a> and share the docs + source code which got abandoned part way. Definitely something I want to accomplish but I have too many things I want to do! 😅</p>
<h2 id="quartz-digital-garden-updates"><a href="#quartz-digital-garden-updates" class="h-anchor" title="Permalink to #Quartz Digital Garden Updates"><span class="inline-svg"></span></a>Quartz Digital Garden Updates</h2><p>A big task I&rsquo;m working on in the last few days is to deploy my Quartz digital garden secondary site, as my <a href="/support/#hostinger"><span class="ext-text">Hostinger WordPress plan</span></a> has expired yesterday. I have to admit I left it a bit late; I was ironing out the final kinks.</p>
<p>It is taking longer than expected with my complete lack of experience with TS overrides and custom <code>.TS</code> and <code>.TSX</code> files to <a href="https://quartz.jzhao.xyz/plugins/customogimages" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">automate OG images</span></a>, for example. I don&rsquo;t really like how heavy the backend is with Quartz and as <a href="https://lesleylai.info/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Lesley</span></a> (a fellow Indieweb blogger who also uses Quartz) pointed out, it is not as customizable compared to other static site generators and can lead to repeated headaches from Git merge conflicts every time updates are fetched upstream.</p>
<h3 id="possible-downsides-of-quartz"><a href="#possible-downsides-of-quartz" class="h-anchor" title="Permalink to #Possible Downsides of Quartz"><span class="inline-svg"></span></a>Possible Downsides of Quartz</h3><p>This is indeed wise advice as I find both statements very true—I already had one of those Git merge nightmares having not updated for two months&hellip; But alas, I am going to push on because I already changed my mind three times (!?) after <a href="https://burgeonlab.com/notes/2026/0524-175213/"><span class="ext-text">deciding to leave WordPress</span></a>; I was set on <a href="/weeknotes/2026/w13/#wordpress-playground"><span class="ext-text">ClassicPress (with SemPress theme)</span></a> at first, then went to <a href="/weeknotes/2026/w24/#wordpress-to-zensical-project"><span class="ext-text">Zensical</span></a>, and now <a href="https://burgeonlab.com/notes/2026/0709-52431/"><span class="ext-text">Quartz</span></a>.</p>
<h3 id="obsidian-prep"><a href="#obsidian-prep" class="h-anchor" title="Permalink to #Obsidian Prep"><span class="inline-svg"></span></a>Obsidian Prep</h3><p>I proceeded to creating a fresh new Obsidian vault for my public digital garden site. Starting from scratch was very refreshing, with no plugins and default settings for everything! It wasn&rsquo;t long before I reinstalled <a href="https://github.com/SilentVoid13/Templater" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Templater</span></a> though as I find the &lsquo;Create note from template&rsquo; hotkey indispensable. I made two new templates with Quartz in mind, where I am trying to create a path of least resistance so that publishing to it will be as simple as possible.</p>
<h3 id="deploying-quartz"><a href="#deploying-quartz" class="h-anchor" title="Permalink to #Deploying Quartz"><span class="inline-svg"></span></a>Deploying Quartz</h3><p>What remains is how the site will be deployed. I might rely on <a href="https://builds.sr.ht/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">SourceHut Builds</span></a> like how I deploy this site (on <code>git push</code>) or on some sort of <code>crontab</code> so that it is automated. The Obsidian vault (Markdown content) will likely be synced to my Android mobile device via <a href="https://syncthing.net/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Syncthing</span></a> so that I can access the notes and write anywhere.</p>
<p>But Deployment and CI/CD is not yet the main issue as I&rsquo;m facing some <a href="https://burgeonlab.com/notes/2026/0909-2358/"><span class="ext-text">hosting/routing issues</span></a> which I shared in yesterday&rsquo;s note after migrating the &ldquo;live&rdquo; domain to <a href="/support/#bunnynet"><span class="ext-text">Bunny.net Storage</span></a>.</p>
<p>Anyhow, I hope I can sort it out soon and get into writing mode, as I really look forward to making notes for my new digital garden!</p>
<figure>
  <div class="img-container">
    <a href="/images/notes/quartz-about.webp" target="_blank" rel="noopener noreferrer"
       class="clickable-image">
      <img src="/images/notes/quartz-about.webp"
           alt="Screenshot of the about page at Naty&#39;s Eclectic Passions. Left sidebar shows directory, center shows About page title with dithered image of the author, right sidebar shows table of contents. The page has a general Quartz layout, with dark mode turned on (with a green/orange/yellow theme)." width="1324" height="703">
    </a>
  </div>


    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0909-2358/</id><title type="html">Bunny Edge Rules for Quartz and New Supporter</title><link href="https://burgeonlab.com/notes/2026/0909-2358/"/><published>2026-09-09T23:58:07+08:00</published><updated>2026-09-10T00:21:29+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Thank you, kind stranger, who used my Bunny.net referral code on August 30, 2026! You’re my second successful referral to one of my favourite web services. Appreciate you supporting my web hosting fees.
Hope you like it as much as I do! 🥰🙏 Quartz SSG...</summary><content type="html"><![CDATA[<h1 id="bunny-edge-rules-for-quartz-and-new-supporter"><a href="#bunny-edge-rules-for-quartz-and-new-supporter" class="h-anchor" title="Permalink to #Bunny Edge Rules for Quartz and New Supporter"><span class="inline-svg"></span></a>Bunny Edge Rules for Quartz and New Supporter</h1><p>Thank you, kind stranger, who used my <a href="https://bunny.net/?ref=k4vc3x5108" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Bunny.net referral code</span></a> on August 30, 2026! You&rsquo;re my second successful referral to one of my favourite web services. Appreciate you supporting my web hosting fees.</p>
<figure>
  <div class="img-container">
    <a href="/images/notes/bunny-referral-aug26.webp" target="_blank" rel="noopener noreferrer"
       class="clickable-image">
      <img src="/images/notes/bunny-referral-aug26.webp"
           alt="Screenshot of a line graph showing 1 conversion on August 30 2026" width="391" height="226">
    </a>
  </div>

<h2 id="quartz-ssg-with-bunny-storage"><a href="#quartz-ssg-with-bunny-storage" class="h-anchor" title="Permalink to #Quartz SSG with Bunny Storage"><span class="inline-svg"></span></a>Quartz SSG with Bunny Storage</h2><p>I actually just migrated my secondary WordPress site from <a href="/support/#hostinger"><span class="ext-text">Hostinger</span></a> to Bunny Storage and working on getting the routing working because <a href="https://quartz.jzhao.xyz/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Quartz</span></a> outputs its HTML files a particular way which I am not used to (it is in two different formats):</p>
<ol>
<li>Flat <code>.html</code> files for everything e.g. <code>public/about.html</code></li>
<li>Directory <code>index.html</code> for all folder pages e.g. <code>public/blog/index.html</code></li>
</ol>
<p>Since I&rsquo;m not hosting the site on a <a href="https://quartz.jzhao.xyz/hosting#self-hosting" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">web server</span></a> with Nginx or Caddy, this means that I have to rely on Bunny Edge Rules to add some functionality. <a href="https://bunny.net/docs/cdn/edge-rules" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Edge Rules</span></a> was always (and still is to be honest) a bit confusing to me, but they&rsquo;re super useful as they can do things like Override Origin URL (an action) that is triggered by different filters (aka condition).</p>
<p>For example, an Edge rule I have is to add <code>.html</code> suffix to the Origin URL <code>&lt;origin-url&gt;{{path}}.html</code> when it&rsquo;s any page that doesn&rsquo;t have a file extension AND NOT the homepage.</p>
<p>This works for everything except folder directory pages. In the case of the link to the blog archive, going to <code>.com/blog</code> with the above Edge Rule, it will apply the override origin URL and it becomes <code>.com/blog.html</code> which leads to a 404 page not found. The page is actually at <code>.com/blog/index.html</code>.</p>
<p>At the moment, I have only two folder directory pages: <code>/notes</code> and <code>/blog</code>, which is easy enough to add as a Edge Rule first (priority matters) before the &ldquo;Add .html suffix rule&rdquo;. It does the same Action of &ldquo;Override Origin URL&rdquo; but adds <code>/index.html</code> suffix instead of just <code>.html</code>, <code>&lt;origin-url&gt;{{path}}/index.html</code> when the Request URL is either <code>&lt;hostname&gt;/blog</code> or <code>&lt;hostname&gt;/notes</code>.</p>
<p>The problem is that if I eventually develop the digital garden, I will have more than just two directory / folder pages. I wouldn&rsquo;t want to keep modifying the rule just to make sure the directory pages don&rsquo;t 404.</p>
<p>I actually sent a support ticket to see what the Bunny team suggests. Perhaps they will say <a href="https://bunny.net/docs/scripting/middleware/overview" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Middleware scripts</span></a> (which I have zero experience in) or some wildcard directory filter? I certainly hope it can be worked around somehow!</p>

<blockquote class="alert alert-update">
  <p class="alert-heading">
    <span class="alert-icon">
      
      <span class="inline-svg"></span>
    </span>
    
      Update
    
  </p>
  <p>I&rsquo;ve <a href="/blog/how-to-use-bunnycdn-for-quartz-ssg/"><span class="ext-text">written a guide</span></a> on how to fix this issue, with indeed a Middleware Edge script, in the end. Hope it&rsquo;s helpful for future Quartz users.</p>
</blockquote>


    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0907-2330/</id><title type="html">D2 Diagrams Lives On</title><link href="https://burgeonlab.com/notes/2026/0907-2330/"/><published>2026-09-07T23:30:01+08:00</published><updated>2026-09-08T00:51:24+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">One of my favorite open source tools, D2: Declarative Diagramming, is now under Hack Club! This makes D2 a fully open source and non-profit project. Thank you Alex for making this awesome tool available for everyone in the long run.
I’m really...</summary><content type="html"><![CDATA[<h1 id="d2-diagrams-lives-on"><a href="#d2-diagrams-lives-on" class="h-anchor" title="Permalink to #D2 Diagrams Lives On"><span class="inline-svg"></span></a>D2 Diagrams Lives On</h1><p>One of my favorite open source tools, <a href="https://d2lang.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">D2: Declarative Diagramming</span></a>, is now under Hack Club! This makes D2 a fully open source and non-profit project. Thank you <a href="https://github.com/alixander" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Alex</span></a> for making this awesome tool available for everyone in the long run.</p>
<p>I&rsquo;m really thrilled because there was some concern about whether or not this amazing project is still alive over at <a href="https://github.com/d2lang/d2/discussions/2720" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">GitHub discussions</span></a> (similarly on Discord). Sometime last month(?), I remember seeing Alex respond on Discord that he&rsquo;s in the final stages of getting D2 into Hack Club&hellip; and it&rsquo;s finally complete! I appreciate Alex&rsquo;s take on AI in relation to D2 too that he mentions in the announcement (link below). Hope the codebase stays a &ldquo;healthy dose of human&rdquo;.</p>
<p>Personally, I was a tad bit concerned about the future of this project that I have become dependent on. I would have hated if I had to change tools because I&rsquo;ve invested time to learning how D2 works and got my workflow all set up. That&rsquo;s the underlying risk I guess for relying too heavily on any single tool&hellip;</p>
<p>In case you didn&rsquo;t know, there is a <a href="https://d2lang.com/tour/vscode/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">VSCodium / VSCode extension</span></a> and also an <a href="https://github.com/d2lang/d2-obsidian" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Obsidian plugin</span></a> that is handy when testing different styles and working on <code>.D2</code> files as it generates the image in real-time. Coming from <a href="https://mermaid.js.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Mermaid JS</span></a> which is perhaps the more popular diagramming language, I was grateful that both apps I use daily (Obsidian and VSCodium) both have official D2 plugins.</p>
<p>All my <a href="/blog/generate-dynamic-og-images-diagram-with-code-scripts/"><span class="ext-text">Open Graph images</span></a> on this site are created with D2 and I&rsquo;ve started using it instead of Mermaid for flow chart <a href="https://burgeonlab.com/tags/diagrams/"><span class="ext-text">diagrams</span></a> in posts that benefit from a visual representation (⁂ will convert existing diagrams when I have time). I think it is a better tool than Mermaid (especially when Mermaid is pushing AI straight in your face). Not to mention the syntax is easier to grasp! Highly recommend <a href="https://play.d2lang.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">playing</span></a> around with it if you&rsquo;re looking for a diagramming language.</p>
<h2 id="related-links"><a href="#related-links" class="h-anchor" title="Permalink to #Related Links"><span class="inline-svg"></span></a>Related Links</h2><ul>
<li><a href="https://d2lang.com/blog/d2-non-profit/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Official D2 Announcement</span></a></li>
<li>Another project, <a href="https://mitchellh.com/writing/ghostty-non-profit" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Ghostty</span></a>, which also got fiscally sponsored by Hack Club</li>
<li><a href="https://hackclub.com/opensource" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Open Source at Hack Club</span></a></li>
<li><a href="https://text-to-diagram.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Comparing diagramming languages</span></a></li>
<li><a href="https://www.idontlikeai.dev/d2-in-action-building-professional-architecture-diagrams-step-by-step/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">D2 in action: Building professional architecture diagrams step-by-step | Gijs Reijn</span></a></li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0831-2356/</id><title type="html">Blaugust 2026: Final Word</title><link href="https://burgeonlab.com/notes/2026/0831-2356/"/><published>2026-08-31T23:56:42+08:00</published><updated>2026-08-31T23:56:42+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">James, a fellow blogger and friend, kindly offered me a chance to guest post on his blog: with words, wonder, so that I could tick off one more task in the Community Builder award list. This means I achieved the goal! I will try to contribute more to...</summary><content type="html"><![CDATA[<h1 id="blaugust-2026-final-word"><a href="#blaugust-2026-final-word" class="h-anchor" title="Permalink to #Blaugust 2026: Final Word"><span class="inline-svg"></span></a>Blaugust 2026: Final Word</h1><p>James, a fellow blogger and friend, kindly offered me a chance to guest post on his blog: <a href="https://jamesg.blog/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">with words, wonder</span></a>, so that I could tick off one more task in the <a href="/notes/2026/joining-blaugust-2026/#community-builder-award"><span class="ext-text">Community Builder award</span></a> list. This means I achieved the goal! I will try to contribute more to the Blaugust community next year for sure. Thank you, James for the opportunity!</p>
<p>If you want to read my guest post, it&rsquo;s on James&rsquo;s site now: <a href="https://jamesg.blog/2026/08/31/chinese-idioms-guest-post" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Chinese Idioms (Guest post by Naty)</span></a>. Do check out all the great writing on his blog while you&rsquo;re there!</p>
<p>This note is definitely the last post of Blaugust2026! Good night y&rsquo;all.</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0831-1939/</id><title type="html">Some Thoughts on Advice</title><link href="https://burgeonlab.com/notes/2026/0831-1939/"/><published>2026-08-31T19:39:05+08:00</published><updated>2026-08-31T21:18:23+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">This post is in response to Blaugust2026 Week 5’s Group Project:
What is the best piece of advice you’ve ever been given? What is the best advice you’ve ever given to someone else?
Best Advice ReceivedIt’s hard to think of a single piece of advice...</summary><content type="html"><![CDATA[<h1 id="some-thoughts-on-advice"><a href="#some-thoughts-on-advice" class="h-anchor" title="Permalink to #Some Thoughts on Advice"><span class="inline-svg"></span></a>Some Thoughts on Advice</h1><p><em>This post is in response to Blaugust2026 Week 5&rsquo;s <a href="/notes/2026/joining-blaugust-2026/#group-projects"><span class="ext-text">Group Project</span></a>:</em></p>

<blockquote>
  <p>What is the best piece of advice you&rsquo;ve ever been given? What is the best advice you&rsquo;ve ever given to someone else?</p>

</blockquote>

<h3 id="best-advice-received"><a href="#best-advice-received" class="h-anchor" title="Permalink to #Best Advice Received"><span class="inline-svg"></span></a>Best Advice Received</h3><p>It&rsquo;s hard to think of a single piece of advice that overrules all the rest, but here are some that I follow:</p>
<ul>
<li><strong>&ldquo;This too shall pass.&rdquo;</strong>
<ul>
<li>Try to zoom out and look at the big picture once in a while.</li>
</ul>
</li>
<li><strong>&ldquo;You can&rsquo;t rush life; everyone is running on their own individual timeline.&rdquo;</strong>
<ul>
<li>Also, try not to compare yourself to others.</li>
</ul>
</li>
<li><strong>&ldquo;The most trustworthy and reliable friend is yourself.&rdquo;</strong>
<ul>
<li>If you need to vent about someone or something; try writing it down in a journal and reviewing it once you&rsquo;ve calmed down. You never know if one day your &ldquo;best friend&rdquo; might no longer be a friend and now they know all your &ldquo;secrets&rdquo;.</li>
</ul>
</li>
<li><strong>&ldquo;Don&rsquo;t be dependent on others.&rdquo;</strong>
<ul>
<li>Learn to be happy being alone, stay independent, and try to solve your own problems (but ask for guidance when you genuinely need it).</li>
</ul>
</li>
<li><strong>&ldquo;Great achievements come in tiny steps.&rdquo;</strong>
<ul>
<li>Break down big tasks into bite-sized ones and make completing tasks a habit to achieve your goals.</li>
</ul>
</li>
</ul>
<h3 id="best-advice-given"><a href="#best-advice-given" class="h-anchor" title="Permalink to #Best Advice Given"><span class="inline-svg"></span></a>Best Advice Given</h3><p>I wouldn&rsquo;t call my advice the &ldquo;best&rdquo; by any means, but I&rsquo;ve given it to more than one person, so I&rsquo;ll share it here:</p>
<ul>
<li><strong>&ldquo;Instead of putting things you want to do in a bucket list, time block them into your calendar.&rdquo;</strong>
<ul>
<li>Seeing the task in your calendar can help motivate you to complete the task.</li>
</ul>
</li>
<li><strong>&ldquo;Make everything important a habit.&rdquo;</strong>
<ul>
<li>Humans are creatures of habit. If you want to accomplish something long term, make it a routine. Use a habit tracker to help you get started with reminders; after about a month, it should become ingrained in your daily routine.</li>
</ul>
</li>
<li><strong>&ldquo;Listen and think before you speak.&rdquo;</strong>
<ul>
<li>Personally, I am more of a listener and I believe the act of listening and thinking is more important than the actual expression.</li>
</ul>
</li>
<li><strong>&ldquo;Step out of your comfort zone often.&rdquo;</strong>
<ul>
<li>It gives us a chance to grow, toughen up, challenges us to problem-solve, and improve as a person.</li>
</ul>
</li>
<li><strong>&ldquo;Remember to love yourself.&rdquo;</strong>
<ul>
<li>Some people (especially carers) forget to look after themselves after giving all their energy loving others.</li>
</ul>
</li>
<li><strong>&ldquo;Check what free resources are available at your local library.&rdquo;</strong>
<ul>
<li>In HK, the public library is free for all citizens and I find the e-resources to be super useful. It is perfect for self-improvement and learning, or even just casual reading. Taking all those short moments in the day, where nothing too productive can be done like queuing or commuting, to read is a great use of time in my opinion! Never stop learning. 📚</li>
</ul>
</li>
</ul>
<h3 id="thoughts-on-advice-in-general"><a href="#thoughts-on-advice-in-general" class="h-anchor" title="Permalink to #Thoughts on Advice in General"><span class="inline-svg"></span></a>Thoughts on Advice in General</h3><p>Both giving and taking advice is an art in itself. A giver of advice needs to be mindful of the situation of the receiver, not being forceful, ensuring the advice isn&rsquo;t bad which might make matters worse. A receiver of advice needs to know how to adapt it to their own circumstances, understand that not every piece of advice applies to them, and not to follow advice blindly.</p>
<p>Sometimes though, when a friend comes to you for &ldquo;advice&rdquo;; they might just need a safe space for you to listen empathetically and can work it out themselves. At the end of the day, advice is a very subjective thing, and the quality can be extremely variable based on the amount of life experiences one has had—which is why I tend to err on the conservative side of giving advice: give it only when explicitly asked.</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0828-2129/</id><title type="html">Starting Over With the Pi</title><link href="https://burgeonlab.com/notes/2026/0828-2129/"/><published>2026-08-28T21:29:44+08:00</published><updated>2026-08-28T21:29:44+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Since Oct of last year, I haven’t had time to reinstate my self-hosted apps like Calibre, Miniflux, Navidrome, etc on my little Pi homelab. During this time, I missed using Navidrome the most (I resorted to listening only on my Mac); with the only...</summary><content type="html"><![CDATA[<h1 id="starting-over-with-the-pi"><a href="#starting-over-with-the-pi" class="h-anchor" title="Permalink to #Starting Over With the Pi"><span class="inline-svg"></span></a>Starting Over With the Pi</h1><p>Since <a href="/weeknotes/2026/w15/#refreshing-my-pi"><span class="ext-text">Oct of last year</span></a>, I haven&rsquo;t had time to reinstate my self-hosted apps like <a href="https://calibre-ebook.com/download" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Calibre</span></a>, <a href="https://miniflux.app/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Miniflux</span></a>, <a href="https://www.navidrome.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Navidrome</span></a>, etc on my little Pi homelab. During this time, I missed using Navidrome the most (I resorted to listening only on my Mac); with the only thing running on it being <a href="https://getindiekit.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Indiekit</span></a> with Docker.</p>
<h2 id="neater-installs"><a href="#neater-installs" class="h-anchor" title="Permalink to #Neater Installs"><span class="inline-svg"></span></a>Neater Installs</h2><p>But that changed yesterday! After chatting with a new sysadmin friend online, I got a huge surge of motivation to fix my home server to at least what I had before. My previous setup was pretty horrendous to be honest, I didn&rsquo;t know any better, and the whole Pi was in a disarray of software installed either by:</p>
<ul>
<li>direct / bare metal</li>
<li>via <a href="https://dietpi.com/docs/software/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">dietpi-software</span></a></li>
<li>via Docker (using Portainer)</li>
</ul>
<h3 id="docker-management"><a href="#docker-management" class="h-anchor" title="Permalink to #Docker Management"><span class="inline-svg"></span></a>Docker Management</h3><p>This time, I am setting up everything in containers with <a href="https://docs.docker.com/compose/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">compose files</span></a>. I am also dropping Portainer for just <a href="https://github.com/jesseduffield/lazydocker" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Lazydocker</span></a> in the meantime. Portainer felt too heavy for me. TBH, I want to try using <a href="https://docs.dokploy.com/docs/core/installation" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Dokploy</span></a> but not sure if it&rsquo;s an overkill doing beginner homelab things on my 8GB Pi (it only requires 2GB RAM and 30GB storage which my Pi meets). <a href="https://github.com/getarcaneapp/arcane" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Arcane</span></a> is also on my radar.</p>
<p>I can&rsquo;t find much on people using Dokploy with Raspberry Pis except for this post by <a href="https://mzunino.com.uy/til/2025/03/dokploy-a-simple-docker-deployment-solution/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Mariano</span></a> (but they didn&rsquo;t specify what spec Pi they have). They also run DietPi so that&rsquo;s nice to know!</p>
<h3 id="homelab-start-page"><a href="#homelab-start-page" class="h-anchor" title="Permalink to #Homelab Start Page"><span class="inline-svg"></span></a>Homelab Start Page</h3><p>My choice of dashboard will remain with <a href="https://github.com/bastienwirtz/homer" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Homer</span></a> as I already had the config set and don&rsquo;t want to waste time customizing. I still have about four more services I have to restore—but everything is going well so far. I now know how to use Caddy to manage the services with ports mapping to the individual containers and everything will be available within my Tailnet.</p>
<p>When I tried working on this headless Pi project the first time, I didn&rsquo;t know how to access the server outside from home. With <a href="https://tailscale.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Tailscale</span></a> and <a href="https://caddyserver.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Caddy</span></a> this time round, I&rsquo;m very happy to get access when I&rsquo;m not home!</p>
<h2 id="restoring-files-on-the-pi"><a href="#restoring-files-on-the-pi" class="h-anchor" title="Permalink to #Restoring Files on the Pi"><span class="inline-svg"></span></a>Restoring Files on the Pi</h2><p>Back in the day, when I first started messing with the Pi 4B, I was hoping to transfer files directly via USB onto the USB SATA SSD boot drive from my Mac (my primary computer). But super newbie me didn&rsquo;t realize that ext4 is not compatible on Macs. <a href="https://download.samba.org/pub/rsync/rsync.1" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Rsync</span></a> saves the day! With my much better Internet connection now (<a href="/blog/fix-ssh-lag-over-wifi-with-ethernet/"><span class="ext-text">LAN directly from my Mac Mini to the Pi</span></a>), I can very easily copy directories over with no hassle. For example, my top-level music folder was copied over from my Mac to the Pi using: <code>rsync -avz --progress -e &quot;ssh -p &lt;custom_port_num&gt;&quot; &quot;/mac/path/to/music/&quot; username@&lt;pi_IP_address&gt;:/mnt/dietpi_userdata/music/</code>.</p>
<p>Remember to always add an <code>-n</code> (dry run) flag to double-check before running such tasks. Last night, I let it run overnight, and it copied around 200GB of music over—no problem! I was too excited and forgot to check when it finish / how long it took in total though. :P</p>
<p>Other than using <code>rsync</code> I also like using <a href="https://syncthing.net/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Syncthing</span></a>. So I got the Pi and folders setup again so that I have a &ldquo;dropbox&rdquo; folder on my Mac that can quickly share files to the Pi and vice versa.</p>
<h2 id="closing"><a href="#closing" class="h-anchor" title="Permalink to #Closing"><span class="inline-svg"></span></a>Closing</h2><p>Self-hosting is a great way to learn and I personally find it extremely rewarding. Being able to run things on hardware you own (or a subscription to a VPS) and having full access and control of where your data lives is incredible. That&rsquo;s the reason I got into it in the first place.</p>
<p>Nowadays, with the <a href="https://en.wikipedia.org/wiki/2025%e2%80%93present_global_memory_supply_shortage" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">RAMpocalypse</span></a>, it doesn&rsquo;t really make sense though to buy a Pi to tinker with since everything is so expensive now. But if you have existing hardware though, I highly recommend you playing with some Docker containers, or even Kubernetes / Ansible if you like that kinda stack more (I don&rsquo;t know much about those, but one day I want to try!) My favourite place to discover services to self-host is this <a href="https://github.com/awesome-selfhosted/awesome-selfhosted" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">awesome-list</span></a>.</p>
<p>If you want to read about my beginnings with homelabbing, see my first post in the <a href="https://burgeonlab.com/series/homelab-beginner/"><span class="ext-text">Homelab Beginner</span></a> series: <a href="/blog/booting-dietpi-from-ssd-on-a-raspberry-pi-4b-8gb/"><span class="ext-text">Booting a Pi with SSD</span></a>.</p>
<p>That&rsquo;s all the updates I have on my homelab situation. I will finish setting up the rest of the services soon and the next thing will probably to try either Arcane or Dokploy to see if the Pi can cope with the extra burden. A nice monitoring app would be nice too, but there are so many to choose from (Grafana, Prometheus, Uptime Kuma)? What is your favourite monitoring dashboard?</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0824-0100/</id><title type="html">Mac Mini 2018 i7 Hand-me-down</title><link href="https://burgeonlab.com/notes/2026/0824-0100/"/><published>2026-08-24T01:00:38+08:00</published><updated>2026-08-24T01:00:38+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">I’m really excited because a mutual friend said they’re willing to give me their retired 2018 Mac Mini (which was originally used for music production). What’s extremely exciting is the fact it’s a maxed out model with 64GB DDR4 RAM (I’ve never owned...</summary><content type="html"><![CDATA[<h1 id="mac-mini-2018-i7-hand-me-down"><a href="#mac-mini-2018-i7-hand-me-down" class="h-anchor" title="Permalink to #Mac Mini 2018 i7 Hand-me-down"><span class="inline-svg"></span></a>Mac Mini 2018 i7 Hand-me-down</h1><p>I&rsquo;m really excited because a mutual friend said they&rsquo;re willing to give me their retired 2018 Mac Mini (which was originally used for music production). What&rsquo;s extremely exciting is the fact it&rsquo;s a maxed out model with 64GB DDR4 RAM (I&rsquo;ve never owned a computer with over 16GB of RAM!) with 2TB SSD. Feeling extremely grateful for his generosity. 🥰</p>
<p>Did a quick search to see some issues about the <a href="https://wiki.t2linux.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">T2 security chip</span></a> maybe affecting the installation of Linux though so I need to research a lot more. It won&rsquo;t be in my hands until October, so I have some time. I installed Linux Mint on my old 2012 Macbook Air 13&quot; (maxed out spec) with no issues but that one doesn&rsquo;t have the T2 chip.</p>
<p>Running Linux on Mac hardware has been a wonderful experience on the MBA; although the battery is dead (need to use it plugged in at all times), there&rsquo;s no bulging physically and the system runs super smoothly. Sure there&rsquo;s some fan noise and it gets a bit warm, but if I&rsquo;m just doing some basic web dev stuff like IDE + browser + <code>hugo server</code>, I don&rsquo;t feel any throttling whatsoever with the 8GB RAM.</p>
<p>The Mac Mini M1 2020 I&rsquo;m using for the last few years with 16GB RAM is often hitting yellow memory limits. Perhaps it is the way Apple Silicon works, but I feel 16GB is not enough for me to do photo editing and sometimes my many tabs (hundreds) causes it to hit memory swap. This &ldquo;new&rdquo; 2018 Mac Mini should feel extra powerful with 64GB RAM!</p>
<p>This gift is a dream come true for a person interested in <a href="https://burgeonlab.com/series/homelab-beginner/"><span class="ext-text">self-hosting</span></a>; I can&rsquo;t wait to learn and do much more than the little Raspberry Pi 4B 8GB since the journey started (TBH it&rsquo;s been very good for me and I&rsquo;ve never hit limits). I really like reviving and using old tech hardware because it makes me feel like I&rsquo;m pushing the boundaries of what it is designed to do and reducing e-waste is always a good thing!</p>
<p>Of course, when it arrives, I&rsquo;ll be blogging about it! I&rsquo;m thinking what <a href="https://wiki.t2linux.org/guides/preinstall/#selecting-an-iso" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">distro</span></a> to install/dual-boot&hellip; I am most familiar with <a href="https://www.linuxmint.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Linux Mint</span></a> (Ubuntu-based) and <a href="https://dietpi.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">DietPi OS</span></a> (Debian-based). Is it worth trying a new distro like <a href="https://archlinux.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Arch</span></a>/<a href="https://cachyos.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">CachyOS</span></a> or completely different like <a href="https://nixos.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">NixOS</span></a>?</p>
<p>Just a few weeks ago I was tempted to subscribe to my first VPS (again), but I think with this little powerhouse coming; I will refrain. Do you use any of these or have a preference of distros for running a home server? If you had such hardware, what would you want to self host? I&rsquo;m all ears! 🙏</p>
<h2 id="resources"><a href="#resources" class="h-anchor" title="Permalink to #Resources"><span class="inline-svg"></span></a>Resources</h2><ul>
<li><a href="https://github.com/t2linux" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Linux for T2 | GitHub</span></a></li>
<li><a href="https://linhpham.org/blog/2026/installing-using-fedora-apple-macbooks-with-t2/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Installing and Using Fedora on Apple MacBooks with T2 Security Chips</span></a></li>
<li><a href="https://debconf24.debconf.org/talks/107-t2linux-linux-on-20172020-intel-macs-with-t2-security-chip/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">T2Linux: Linux on 2017~2020 Intel Macs with T2 Security Chip </span></a></li>
<li><a href="https://www.sqlpassion.at/archive/2025/07/02/switching-my-2019-macbook-pro-to-linux-the-t2-ubuntu-journey/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Switching My 2019 MacBook Pro to Linux: The T2-Ubuntu Journey</span></a></li>
<li><a href="https://vhs.codeberg.page/post/dual-boot-archlinux-mbp-t2/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Arch Linux on MacBook Pro with T2</span></a></li>
<li><a href="https://youtu.be/PmvMqiVrCow" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">How to install Linux Mint on a T2 Mac Mini 2018 | Youtube</span></a></li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0822-2012/</id><title type="html">About the Revamp</title><link href="https://burgeonlab.com/notes/2026/0822-2012/"/><published>2026-08-22T20:12:05+08:00</published><updated>2026-08-22T20:12:05+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">If you’ve been to my site before—you may have noticed a bit of a change since yesterday.
Last night, I pushed a lot of features and stylistic changes to my site (over 100 commits?!) It was long overdue and I’m feeling happy I got it done (but not too...</summary><content type="html"><![CDATA[<h1 id="about-the-revamp"><a href="#about-the-revamp" class="h-anchor" title="Permalink to #About the Revamp"><span class="inline-svg"></span></a>About the Revamp</h1><p>If you&rsquo;ve been to my site before—you may have noticed a bit of a change since yesterday.</p>
<p>Last night, I pushed a lot of features and stylistic changes to my site (over 100 commits?!) It was long overdue and I&rsquo;m feeling happy I got it done <em>(but not too happy it was done in the month of August when I should have been focused more on writing for <a href="https://burgeonlab.com/tags/blaugust2026/"><span class="ext-text">Blaugust</span></a>)</em>. The style choices takes from some of the <a href="/weeknotes/2026/w12/#redesigning-a-forked-hugo-theme"><span class="ext-text">decisions</span></a> made at the beginning of the year. I want to remain true to the current theme because I&rsquo;ve grown to love it.</p>
<p>Even though I didn&rsquo;t get to work the 100% CSS rewrite I keep meaning to do (it&rsquo;s horribly messy &amp; override hell due to previously not forking the Hugo theme), I did manage to cut out a lot of wrong use of selectors, simplify rules, and also worked on repeating myself less in the HTML <a href="https://gohugo.io/templates/embedded/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">partials</span></a> used around the site.</p>
<p><em>I think everything should be working but if anything is broken, I&rsquo;ll be super thankful if you&rsquo;d let me know!</em></p>
<h2 id="features-and-style-changes"><a href="#features-and-style-changes" class="h-anchor" title="Permalink to #Features and Style Changes"><span class="inline-svg"></span></a>Features and Style Changes</h2><p>The <a href="/changelog/"><span class="ext-text">changelog</span></a> will be updated soon with before / after screenshots. In the mean time, here are most of the changes, in no particular order:</p>
<ul>
<li>Completely revamp the top section of pages: link to return to previous section, H1, and metadata. Date, tags, word count and read time is now hidden in a details element (with the table of content also in there if the page has TOC turned on)</li>
<li>New arrow icons with pixelated design by <a href="https://pinhead.ink/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Pinhead</span></a></li>
<li>Remove JS dependency for light/dark mode! This was a big change. Now using <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@media/prefers-color-scheme" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">prefers-color-theme</span></a></li>
<li>Remove drop down menu on top navigation; use an anchor link instead, that opens a details element on the home page which acts like a quick menu</li>
<li>Improve look of <a href="https://burgeonlab.com/stats/#sparklines"><span class="ext-text">sparklines on the stats page</span></a></li>
<li>New <a href="https://burgeonlab.com/404/"><span class="ext-text">404</span></a> page</li>
<li>New layout (2x2 grid) for <a href="https://burgeonlab.com/#latest-weeknotes"><span class="ext-text">latest weeknotes and blog section</span></a> on homepage</li>
<li>New &lsquo;Cite this page&rsquo; link popover instead of distracting share buttons inside the page metadata details element or at the start of the footer (if the page doesn&rsquo;t have have a metadata section)</li>
<li>New simplified <a href="/style-guide/#admonitions"><span class="ext-text">admonition styles</span></a> (reduced a lot of redundant CSS!)</li>
<li>Improve a11y by reducing the colour contrast overall on the site (both themes), from 12 to ~7 <a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility/Guides/Understanding_WCAG/Perceivable/Color_contrast" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">contrast ratio</span></a></li>
<li>Simplify &lsquo;Responses&rsquo; and &lsquo;Support&rsquo; sections</li>
<li>Use page template for single notes (<a href="/notes/2026/joining-blaugust-2026/"><span class="ext-text">example</span></a>)</li>
</ul>
<h2 id="bug-fixes"><a href="#bug-fixes" class="h-anchor" title="Permalink to #Bug Fixes"><span class="inline-svg"></span></a>Bug Fixes</h2><ul>
<li>Bullet point now shows at the first row of multi-line list items</li>
<li>&lsquo;Phantom&rsquo; hover styles on mobile fixed with <code>@media (hover: hover) and (pointer: fine)</code></li>
<li><a href="https://web.dev/articles/cls" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Content layout shift (CLS)</span></a> reduced for <a href="/blog/add-appreciation-buttons-to-hugo-with-iine/"><span class="ext-text">iine upvote button</span></a> partial by setting height explicitly</li>
</ul>
<h2 id="pending"><a href="#pending" class="h-anchor" title="Permalink to #Pending"><span class="inline-svg"></span></a>Pending</h2><ul>
<li>After removing the JS light/dark mode, I noticed a bit of <a href="https://en.wikipedia.org/wiki/Flash_of_unstyled_content" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">FOUC</span></a>; which will take me some time to figure out the cause</li>
</ul>
<h2 id="closing"><a href="#closing" class="h-anchor" title="Permalink to #Closing"><span class="inline-svg"></span></a>Closing</h2><p>What triggered me do do this much change? I gather it was mainly because 1) the drop down menu getting overly long and 2) the great eye opening page <a href="https://burgeonlab.com/likes/2026/0809-1204/"><span class="ext-text">Chris created</span></a> about HTML. I think the 404 page is my favourite change and the second being the minimal metadata + table of contents. What do you like or dislike? <a href="/contact/"><span class="ext-text">Let me know</span></a>! 😉</p>
<p>Now that this is done and dusted, I better get back to Blaugust and catch up before the end of the month!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0811-1008/</id><title type="html">Hot Weather Effects</title><link href="https://burgeonlab.com/notes/2026/0811-1008/"/><published>2026-08-11T18:08:55+08:00</published><updated>2026-08-11T18:08:55+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">The temperatures are stifling, with an ongoing record-breaking heatwave due to the effect of nearby typhoons with temperatures reaching 38°C in some areas of HK. Indoor temperature when the AC is off reached 39°C in my room despite cross airflow from...</summary><content type="html"><![CDATA[<h1 id="hot-weather-effects"><a href="#hot-weather-effects" class="h-anchor" title="Permalink to #Hot Weather Effects"><span class="inline-svg"></span></a>Hot Weather Effects</h1><p>The temperatures are stifling, with an ongoing <a href="https://www.theguardian.com/world/2026/aug/10/hong-kong-heat-record-hottest-day-ever-typhoon-dolphin" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">record-breaking</span></a> heatwave due to the effect of nearby typhoons with temperatures reaching 38°C in <a href="https://www.hko.gov.hk/en/wxinfo/dailywx/dailywx.htm" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">some areas of HK</span></a>. Indoor temperature when the AC is off reached 39°C in my room despite cross airflow from fans and opened windows.</p>
<h2 id="air-conditioning"><a href="#air-conditioning" class="h-anchor" title="Permalink to #Air Conditioning"><span class="inline-svg"></span></a>Air Conditioning</h2><p>I&rsquo;ve always been a person who tries to reduce air-con use when I can, inspired by the infamous HK meteorologist and environmentalist, the ex-Hong Kong Observatory Director Lam Chiu Ying, who uses only fans to keep his home cool.</p>
<p>Because I tend to get cold easily, being in an air conditioned place for long periods doesn&rsquo;t exactly feel good to me. Fans, windows, and the dehumidifier are my friends. If only <a href="https://time.com/7358285/open-windows-german-luften-house-burping/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">lüften</span></a> would bring in some cooler fresh air in the mornings&hellip; because it doesn&rsquo;t in this kind of weather; the temperatures overnight remain high.</p>
<p>There are huge, undeniable consequences of global warming and climate change. Persistent, unrelenting high temperatures cause damage to the wel-being and health of everyone—both physically and mentally. I hope everyone stays cool, hydrated, and aware of the dangers of the scorching heat!</p>
<h2 id="general-tips"><a href="#general-tips" class="h-anchor" title="Permalink to #General Tips"><span class="inline-svg"></span></a>General Tips</h2><ul>
<li>Make use of evaporation to cool down by misting</li>
<li>Try to get some crosswind air flow going</li>
<li>If possible, use a dehumidifier to dry the environment as it helps with evaporation of sweat, cooling the body</li>
<li>Get some reusable ice packs to help the body cool down initially when going to sleep, around the neck, forehead, or under armpits</li>
<li>A fan near the end of the bed that oscillates can help cool the feet/lower extremities</li>
<li>Consider getting some window films that help block heat from entering the home and close the blinds/curtains</li>
<li>Turn off unused electrical appliances as they generate heat</li>
<li>Have a few more cold water showers during the day</li>
<li>Get some isotonic sport drinks or oral rehydration salts for when sweating becomes excessive to replenish salts lost</li>
<li>If you start to have symptoms of heat stroke, please get help immediately—it can be life threatening.</li>
</ul>
<h2 id="further-reading"><a href="#further-reading" class="h-anchor" title="Permalink to #Further Reading"><span class="inline-svg"></span></a>Further Reading</h2><ul>
<li><a href="https://www.americanbrainfoundation.org/summer-heat-and-its-effect-on-the-brain/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Summer Heat and Its Effect on the Brain</span></a></li>
<li><a href="https://www.commonwealthfund.org/publications/explainer/2023/mar/how-climate-change-affects-mental-health" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">How Climate Change Affects Our Mental Health, and What We Can Do About It | Commonwealth Fund</span></a></li>
<li><a href="https://oceanservice.noaa.gov/facts/ninonina.html" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">What are El Niño and La Niña? | National Ocean Service</span></a></li>
<li><a href="https://www.who.int/health-topics/heatwaves/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Heatwaves | WHO</span></a></li>
<li><a href="https://www.nhs.uk/conditions/heat-exhaustion-heatstroke/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Heatstroke and Heat Exhaustion | NHS</span></a></li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/joining-blaugust-2026/</id><title type="html">Last Minute Decision: Blaugust 2026</title><link href="https://burgeonlab.com/notes/2026/joining-blaugust-2026/"/><published>2026-08-01T23:51:59+08:00</published><updated>2026-08-28T23:34:34+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><link rel="enclosure" type="image/png" href="https://burgeonlab.com/images/wn-cover/notes_2026_0801-1551.png"/><summary type="text">Less than 30 minutes before August 1st ends (I better write this note quickly!) I have decided to participate in this rather infamous annual blogging event called Blaugust, created by, sadly the late, @belghast (Mark Temple).
I’m aiming to get at...</summary><content type="html"><![CDATA[
        <p><i>[Note: This page contains regularly updated or dynamic content (e.g., guestbook, changelog). Feed readers may show stale versions. Please <a href="https://burgeonlab.com/notes/2026/joining-blaugust-2026/">view</a> in your browser for the latest version.]</i></p><hr>
        <h1 id="last-minute-decision-blaugust-2026"><a href="#last-minute-decision-blaugust-2026" class="h-anchor" title="Permalink to #Last Minute Decision: Blaugust 2026"><span class="inline-svg"></span></a>Last Minute Decision: Blaugust 2026</h1><p><em>Less than 30 minutes before August 1st ends (I better write this note quickly!)</em> I have decided to participate in this rather infamous annual blogging event called Blaugust, created by, sadly the late, <a href="https://aggronaut.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">@belghast (Mark Temple)</span></a>.</p>
<p>I&rsquo;m aiming to get at least the Bronze and Community Builder award (see below for a list of awards).</p>
<h2 id="what"><a href="#what" class="h-anchor" title="Permalink to #What?"><span class="inline-svg"></span></a>What?</h2><p>During Blaugust, in August, try to write on your blog, every day for all 31 days, or with some sort of regularity, or randomly! This event is about creation and writing, so any post is better than none!</p>
<p>Don&rsquo;t feel too stressed about it; the rules have become more lenient over the years so more people can participate without needing to churn out 1000+ words every day. There&rsquo;s no word limit per se, but for me personally, I&rsquo;ll be aiming for a minimum of 300 words before I count a piece of writing to be part of Blaugust 2026.</p>
<p>If you have no clue where to start, there is actually an official schedule <em>you could use (optionally!)</em> as a guide:</p>
<figure>
  <div class="img-container">
    <a href="/images/notes/blaugust2026-schedule.webp" target="_blank" rel="noopener noreferrer"
       class="clickable-image">
      <img src="/images/notes/blaugust2026-schedule.webp"
           alt="Schedule for Blaugust 2026." width="720" height="900">
    </a>
  </div>

<p>And if that isn&rsquo;t enough, there are also <a href="https://nerdgirlthoughts.game.blog/2026/07/23/blaugust-2026-calendar-weekly-prompts-group-projects/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">themes/group projects and prompts</span></a> (again optional) provided by Krikket if you&rsquo;re feeling stuck.</p>
<h2 id="why"><a href="#why" class="h-anchor" title="Permalink to #Why?"><span class="inline-svg"></span></a>Why?</h2><p>If you want to build up some motivation to start writing on your blog, this is definitely a fun way to get started and to meet fellow bloggers! I am in another year-long challenge called <a href="https://burgeonlab.com/tags/100daystooffload/"><span class="ext-text">100DaysToOffload</span></a>, and that has really given me the excitement and encouragement to just write and forget about the insecurities I have. I think Blaugust will have similar effects and it is a nice way to keep Mark&rsquo;s creation living on despite his absence (RIP @belghast).</p>
<h2 id="how"><a href="#how" class="h-anchor" title="Permalink to #How?"><span class="inline-svg"></span></a>How?</h2><p>Sign up with <a href="https://forms.gle/SfUWUMpFQxBFbF9N9" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">this form</span></a> and I&rsquo;ll see you in the Blaugust-sphere! Check out social media tags like <a href="https://fosstodon.org/tags/blaugust2026" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">#blaugust2026</span></a> or <a href="https://fosstodon.org/tags/blaugust" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">#blaugust</span></a> on Mastodon (or Bluesky).</p>
<p>To learn more about the details about this event, check out <a href="https://nerdgirlthoughts.game.blog/2026/07/15/blaugust-2026-is-coming/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Krikket&rsquo;s official post about Blaugust 2026</span></a>.</p>
<h2 id="who"><a href="#who" class="h-anchor" title="Permalink to #Who?"><span class="inline-svg"></span></a>Who?</h2><p>Everyone who blogs or writes is invited! Wilhelm / @tagn has a <a href="https://tagn.wordpress.com/2026/08/01/blaugust-2026-beings-do-i-remember-how-to-blaugust/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">list of all the participants</span></a> this year at the bottom of their Welcome to Blaugust entry if you want to check out what others are writing this month. Giving likes, leaving a comment or sharing posts you enjoy is appreciated! Everyone can participate; readers and writers alike.</p>
<h2 id="note-about-ai"><a href="#note-about-ai" class="h-anchor" title="Permalink to #Note About AI"><span class="inline-svg"></span></a>Note About AI</h2><p>This blogging event is about writing, creating, and sharing. Using AI for purely content generation is not allowed. Please see <a href="https://nerdgirlthoughts.game.blog/2026/07/15/blaugust-2026-is-coming/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Krikket&rsquo;s &ldquo;Use of AI as a Blaugust Participant&rdquo; section</span></a>.</p>
<h2 id="resources"><a href="#resources" class="h-anchor" title="Permalink to #Resources"><span class="inline-svg"></span></a>Resources</h2><p>Some extra links if you want to learn more:</p>
<ul>
<li><a href="https://indiecator.org/blaugust-media-kit/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Media kit for Blaugust 2026</span></a></li>
<li>Another <a href="https://indiecator.org/2026/07/20/blaugust-2026-is-coming/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">informational / welcome post</span></a> by MagiWasTaken</li>
<li>If you use Discord, there&rsquo;s a <a href="https://discord.gg/PApPtzcsQx" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Blaugust Discord</span></a></li>
<li>One of the <a href="https://aggronaut.com/blaugust-prompt-list/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">OG prompt list</span></a> by the creator of Blaugust</li>
<li><a href="https://gamepad.club/@blaugust" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Blaugust Mastodon account</span></a></li>
</ul>
<h2 id="checklist-for-awards"><a href="#checklist-for-awards" class="h-anchor" title="Permalink to #Checklist for Awards"><span class="inline-svg"></span></a>Checklist for Awards</h2><p>This is mainly for myself, but feel free to check out what you can achieve and set a goal for yourself! 💪</p>
<h3 id="core-challenge-awards"><a href="#core-challenge-awards" class="h-anchor" title="Permalink to #Core Challenge Awards"><span class="inline-svg"></span></a>Core Challenge Awards</h3><ul>
<li><input checked="" disabled="" type="checkbox"> Newbie Blogger Award: Join Blaugust for the very first time by <a href="https://forms.gle/SfUWUMpFQxBFbF9N9" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">signing up</span></a>.</li>
<li><input checked="" disabled="" type="checkbox"> Bronze Award: Publish &gt; 5 blog entries during August 2026.</li>
<li><input checked="" disabled="" type="checkbox"> Silver Award: Publish &gt; 15 blog entries during August 2026.</li>
<li><input disabled="" type="checkbox"> Gold Award: Publish &gt; 25 blog entries during August 2026.</li>
<li><input disabled="" type="checkbox"> Rainbow Diamond Award: Beat the original challenge (publishing 31 blog entries daily during August 2026) or more!</li>
</ul>
<h3 id="community-builder-award"><a href="#community-builder-award" class="h-anchor" title="Permalink to #Community Builder Award"><span class="inline-svg"></span></a>Community Builder Award</h3><p>Complete at least 3 to get the Community Build Award:</p>
<ul>
<li><input checked="" disabled="" type="checkbox"> Make a post on your blog on or before August 1st, 2026 inviting other bloggers to participate in Blaugust. Make sure you link the signup form.</li>
<li><input disabled="" type="checkbox"> Make at least 5 posts directly inspired by a post by another Blaugust participant. Each of these posts should link back to the post in question.</li>
<li><input disabled="" type="checkbox"> Engage with other Blaugust participants at least once per week.  Read posts, leave comments, join discussions in the Blaugust Discord and share posts written by others on social media.</li>
<li><input checked="" disabled="" type="checkbox"> Be a guest blogger on another Blaugust participant’s blog – or have someone else guest post on yours! (James invited me to write about <a href="https://jamesg.blog/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Chinese idioms on his blog</span></a> on the last day of Blaugust2026—allowing me to complete the Community Builder Award! 🥰)</li>
<li><input checked="" disabled="" type="checkbox"> At least once in the month of August, join an existing &ldquo;<a href="https://nerdgirlthoughts.game.blog/2026/07/23/blaugust-2026-calendar-weekly-prompts-group-projects/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Group Project</span></a>&rdquo;. Or you can create your own by choosing a topic, find other bloggers, and each post your own take on that topic on the same day. <em>(Note: The Community Builder&rsquo;s group projects are the questions in the weekly hero image/graphic, of which I have transcribed below.)</em></li>
</ul>
<h3 id="group-projects"><a href="#group-projects" class="h-anchor" title="Permalink to #Group Projects"><span class="inline-svg"></span></a>Group Projects</h3><ul>
<li><input disabled="" type="checkbox"> Week 1: Tell us all about your very first blog! (Not written in week 1, but the <a href="https://burgeonlab.com/blog/augustory/"><span class="ext-text">AuguStory post</span></a> has a similar theme.)</li>
<li><input disabled="" type="checkbox"> Week 2: If you could have one magical or superpower, what would you choose and use it for?</li>
<li><input disabled="" type="checkbox"> Week 3: What creative endeavour have you always wanted to try, and who do you admire in that field?</li>
<li><input disabled="" type="checkbox"> Week 4: What non-blog related achievement are you particularly proud of, and how did you stay motivated to complete it?</li>
<li><input checked="" disabled="" type="checkbox"> Week 5: What is the best piece of advice you&rsquo;ve ever been given? What is the best advice you&rsquo;ve ever given to someone else? (<a href="https://burgeonlab.com/notes/2026/0831-1939/"><span class="ext-text">Read the entry</span></a>.)</li>
</ul>
<div class="flourish">
<hr class="separator">

</div>
<h2 id="log"><a href="#log" class="h-anchor" title="Permalink to #Log"><span class="inline-svg"></span></a>Log</h2><p>I will manually update this chronological list of all the posts I&rsquo;ve written during Blaugust 2026 (list may not be up to date). For the latest Blaugust content, visit the automated <a href="https://burgeonlab.com/tags/blaugust2026/"><span class="ext-text">#blaugust2026 tag page</span></a> or see how Blaugust will affect my <a href="https://burgeonlab.com/stats/#calendar-heatmap"><span class="ext-text">calendar heatmap</span></a>!</p>
<ol>
<li>Aug 1: <a href="https://burgeonlab.com/notes/2026/joining-blaugust-2026/"><span class="ext-text">Last Minute Decision: Blaugust 2026</span></a></li>
<li>Aug 2: <a href="/blog/date-objects-hugo-javascript-node"><span class="ext-text">A Dating Matter: Hugo, Indiekit, and Node</span></a></li>
<li>Aug 3: <a href="/weeknotes/2026/w31/"><span class="ext-text">Weeknote 2026-W31: Blaugust 2026, 32-Bit Café &amp; New Bloggers</span></a></li>
<li>Aug 4: <a href="/costs"><span class="ext-text">Costs: Price of a Personal Site on the Smallweb</span></a></li>
<li>Aug 6: <a href="/html-day/"><span class="ext-text">HTML Day: How to Join the Annual HTML Energy Event</span></a></li>
<li>Aug 8: <a href="https://burgeonlab.com/experiments/html-day-2026/"><span class="ext-text">Two Poems From Yonder</span></a></li>
<li>Aug 11: <a href="https://burgeonlab.com/notes/2026/0811-1008/"><span class="ext-text">Hot Weather Effects</span></a></li>
<li>Aug 15: <a href="https://burgeonlab.com/replies/2026/0815-1438/"><span class="ext-text">Re: The Loss of Links Continues</span></a></li>
<li>Aug 16: <a href="https://burgeonlab.com/rsvps/2026/0816-1609/"><span class="ext-text">RSVP to HWC Asia Pacific: Round 2</span></a></li>
<li>Aug 18: <a href="/blog/inaugural-hwc-ap-recap/"><span class="ext-text">IndieWeb Homebrew Website Club Asia Pacific: Reflections</span></a></li>
<li>Aug 22: <a href="https://burgeonlab.com/notes/2026/0822-2012/"><span class="ext-text">About the Revamp</span></a></li>
<li>Aug 24: <a href="https://burgeonlab.com/notes/2026/0824-0100/"><span class="ext-text">Mac Mini 2018 i7 Hand-me-down</span></a></li>
<li>Aug 25: <a href="https://burgeonlab.com/blog/augustory/"><span class="ext-text">AuguStory: The Story About BurgeonLab</span></a></li>
<li>Aug 27: <a href="https://burgeonlab.com/rsvps/2026/0827-1618/"><span class="ext-text">HWC Asia Pacific: Round 3</span></a></li>
<li>Aug 28: <a href="https://burgeonlab.com/notes/2026/0828-2129/"><span class="ext-text">Starting Over With the Pi</span></a></li>
<li>Aug 31: <a href="https://burgeonlab.com/notes/2026/0831-1939/"><span class="ext-text">Some Thoughts on Advice</span></a></li>
<li>Aug 31: <a href="https://burgeonlab.com/blog/blaugust-2026-recap/"><span class="ext-text">Blaugust 2026 Recap</span></a></li>
<li>Aug 31: <a href="https://burgeonlab.com/notes/2026/0831-2356/"><span class="ext-text">Blaugust 2026: Final Word</span></a></li>
</ol>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0731-0440/</id><title type="html">One Take Pass</title><link href="https://burgeonlab.com/notes/2026/0731-0440/"/><published>2026-07-31T12:40:36+08:00</published><updated>2026-07-31T13:12:45+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">The phrase “one take pass” is probably not proper English. It’s a common phrase you’ll hear in Hong Kong for taking any sort of exam or test; meaning to pass the exam on your first try.
If you’ve followed my weeknotes (W24, W30), you could work out...</summary><content type="html"><![CDATA[<h1 id="one-take-pass"><a href="#one-take-pass" class="h-anchor" title="Permalink to #One Take Pass"><span class="inline-svg"></span></a>One Take Pass</h1><p>The phrase &ldquo;one take pass&rdquo; is probably not proper English. It&rsquo;s a common phrase you&rsquo;ll hear in Hong Kong for taking any sort of exam or test; meaning to pass the exam on your first try.</p>
<p>If you&rsquo;ve followed my weeknotes (<a href="/weeknotes/2026/w24/#first-driving-lesson"><span class="ext-text">W24</span></a>, <a href="/weeknotes/2026/w30/#driving-update"><span class="ext-text">W30</span></a>), you could work out I&rsquo;ve been having lessons for about 2 months, once per week. Yesterday, I had my last 1.5h lesson and took the driving exam immediately afterwards (properly warmed up). The weather was actually dreadful, squally showers and it got really dark. But I&rsquo;m happy to report that I passed, in the rainy weather! Luckily at the time of the exam, the rain eased off slightly.</p>
<p>I had a few, non-repeated minor mistakes and no major mistake. The rules are: repeating the same minor mistake 3+, or one major mistake is considered as a fail. The examiner was polite and professional which really put me at ease. I also got to drive in silence!</p>
<p>There&rsquo;s always room for improvement though, and I hope to increase my experience while under the probationary year and have signed up for a few top-up lessons in a different area of Hong Kong to add to my bank of experience. Really looking forward to those!</p>
<p>I&rsquo;m relieved to also say I&rsquo;ve switched to another campus for the extra lessons; so <em>adios</em> to my substandard instructor! 👋 He actually continued with his mobile device usage, constant ringing and dinging of notifications, leaving voice messages, and replying calls despite my written request&hellip; ugh. I will be writing a letter of complaint to the HK School of Motoring.</p>
<h2 id="about-the-probationary-year"><a href="#about-the-probationary-year" class="h-anchor" title="Permalink to #About the Probationary Year"><span class="inline-svg"></span></a>About the Probationary Year</h2><p>Some random facts about the HK probationary (P) driving licence and general driving in HK:</p>
<ul>
<li>P drivers cannot go over 70 km/h on any road</li>
<li>P drivers cannot drive on the offside lane of expressways/highways (HK drives on the left side of the road, so offside is the right-most lane)</li>
<li>Any minor mistakes caught will lead to an extension of the probationary period by 6 months</li>
<li>A second minor mistake or one major mistake will lead to cancellation of the P licence and retaking the exam</li>
<li>The full driving licence can be issued on the spot at the Traffic Department offices; they are valid for 10 years and cost $900 HKD (~ $115 USD / €100 EUR)</li>
</ul>
<h2 id="treats"><a href="#treats" class="h-anchor" title="Permalink to #Treats"><span class="inline-svg"></span></a>Treats</h2><p>To celebrate, I treated myself to a coconut mango drink from <a href="https://www.heytea.com/products" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Heytea</span></a> and a Japanese-style beef hamburger patty lunch (they have free refills of fruit-infused water, soup, rice, and broccoli) at <a href="https://www.timeout.com/hong-kong/restaurants/niku-niku-oh-kome" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">NikuNiku Oh!! Kome</span></a>.</p>
<p>This morning, I celebrated by brewing a special coffee from KAWA (now known as <a href="https://tanat.coffee/en/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">TANAT</span></a>)—El Paraíso #1 Colombia by Diego Samuel Bermudez, a double anaerobic fermentation Castilo from my <a href="https://burgeonlab.com/notes/2026/0720-0452/"><span class="ext-text">freezer</span></a> from 2023! It was just as I remembered; peachy notes and super aromatic (can&rsquo;t go wrong with Finca El Paraíso and Bermudez&rsquo;s coffees). Lastly, my Mom gifted me a new Longchamp backpack too, as a celebratory present for getting my driving licence (thanks Mom!) 🥰</p>
<h2 id="two-sided-driving"><a href="#two-sided-driving" class="h-anchor" title="Permalink to #Two-sided Driving?"><span class="inline-svg"></span></a>Two-sided Driving?</h2><p>Here&rsquo;s a rant about a <a href="https://www.td.gov.hk/en/public_services/licences_and_permits/southboundtravel/stfgveiua/index.html" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">new policy</span></a> announced in mid-2025, where the HK government decided to allow China Mainland cars (which drive on the opposite side of the road!) to enter HK urban areas for up to three days.</p>
<p>Personally I find that baffling as HK roads are vastly different to the roads in the Mainland, the driving laws and rules are completely different (HK driving laws and design are similar to UK as it was under British colonial rule for over 150 years). Road signs are all in Traditional Chinese and English (but Mainland uses Simplified Chinese). Roads are significantly tighter and cramped in HK (it&rsquo;s a very compact/dense city compared to the much bigger Chinese cities).</p>
<p>There&rsquo;s reports and videos of Southbound drivers breaking the rules (perhaps unknowingly, but it&rsquo;s still dangerous and wrong); like driving on the wrong side of the road, entering the roundabout anti-clockwise or getting onto a one-way bridge and they&rsquo;re facing the wrong way.</p>
<p>There&rsquo;s also no immediate distinctive plate on these Southbound cars that allows local HK drivers to identify them, so extra care can be taken when around them. No special colour, shape or syntax. They just have a normal looking licence plate, with the except of starting with two letters (<code>FT</code>) + four digits. But this is not obvious at all as HK has default plates that are usually in the same syntax, e.g. two letters + three or four digits. (There are custom licence plates, i.e., <a href="https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Hong_Kong#Personalised_Vehicle_Registration_Marks_Scheme" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Personalized Vehicle Registration Marks Scheme</span></a>, but I digress.)</p>
<p>Another issue is EV charging; most of the Southbound Mainland cars are EVs and their charging plug is not the one used in HK charging stations (I think they&rsquo;re trying to fix this by adding support for the Mainland style plugs and building specific charging stations for these Southbound cars.)</p>
<p>HK is a small place and if they continue increasing the daily limit of Mainland cars driving into HK, it will put strain on the local system (lack of parking, charging spots, traffic jams). There was a limit of 100 vehicles per day since the start of this new policy, but <a href="https://news.rthk.hk/rthk/en/component/k2/1827734-20251018.htm" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">just this week</span></a>, the government is pushing for up to 200/day.</p>
<p>Another big issue is autonomous driving, allowed in the Mainland, but not in HK. There has been at least one video captured by locals that one of these Southbound vehicles were on a highway with no hands on the steering wheel.</p>
<p><code>// end rant</code></p>
<h2 id="links"><a href="#links" class="h-anchor" title="Permalink to #Links"><span class="inline-svg"></span></a>Links</h2><ul>
<li><a href="https://www.drivingking.hk/tipsfront/detail?id=25" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Tips for the road test (with scoresheet) | Driving King</span></a></li>
<li><a href="https://www.td.gov.hk/filemanager/en/publication/guide%20to%20private%20car%20and%20light%20goods%20vehicle%20driving%20test_eng_202511.pdf" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Guide to the driving test | Traffic Department of Hong Kong (pdf)</span></a></li>
<li><a href="https://www.gov.hk/en/theme/guidebook/transport/driver/drivinglicence/privatecar.htm" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">How to obtain a driving licence (Private Car and Light Goods Vehicle) in HK</span></a></li>
<li><a href="https://sc.mp/5umpe" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Mainland Chinese drivers need to be aware of and respect Hong Kong laws | SCMP</span></a></li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0723-1310/</id><title type="html">Another Backend Heavy Day</title><link href="https://burgeonlab.com/notes/2026/0723-1310/"/><published>2026-07-23T21:10:04+08:00</published><updated>2026-07-23T21:40:49+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">I updated almost all the Apache ECharts and Hugo code that generates my favourite page on BurgeonLab: the /⁠stats page. With the new post types I’ve added recently: books, replies (separated out from notes), and RSVPs; I noticed some of the data on...</summary><content type="html"><![CDATA[<h1 id="another-backend-heavy-day"><a href="#another-backend-heavy-day" class="h-anchor" title="Permalink to #Another Backend Heavy Day"><span class="inline-svg"></span></a>Another Backend Heavy Day</h1><p>I updated almost all the <a href="https://echarts.apache.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Apache ECharts</span></a> and Hugo code that generates my favourite page on <em>BurgeonLab</em>: the <a href="https://burgeonlab.com/stats/"><span class="ext-text">/⁠stats</span></a> page. With the new post types I&rsquo;ve added recently: books, replies (separated out from notes), and RSVPs; I noticed some of the data on the graphs being incorrect.</p>
<h2 id="new-features-and-fixes"><a href="#new-features-and-fixes" class="h-anchor" title="Permalink to #New Features and Fixes"><span class="inline-svg"></span></a>New Features and Fixes</h2><ul>
<li>When I post more than one thing per day, the counts and data breaks.</li>
<li>The heatmap calendar was not able to show multiple posts per day—but now it can! I made a little simple JS popup (similar to the one when you get when you click on a Mastodon link on my site) that lets you choose which post to read when you click on a day that contains multiple entries.</li>
<li>In the past, the heatmap used to only indicate three post types: pages, weeknotes, posts; but now, I&rsquo;ve included other post types as long as they&rsquo;re over 300 words long (which is a threshold I can manually set). I feel they can belong in the heatmap calendar at that length.</li>
<li>Excluding fenced code blocks from word count on the whole site by creating a custom word count partial. The <a href="https://gohugo.io/methods/page/wordcount/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">default Hugo word count</span></a> includes everything and I feel it&rsquo;s not accurate.</li>
<li>Increased the colour range for the heatmap calendar and updated the word count divisions/groups so it is more obvious visually.</li>
<li>Lots of new stats are added to the <a href="https://burgeonlab.com/stats/#overall-figures"><span class="ext-text">Overall Figures</span></a> section, including:
<ul>
<li>Longest &amp; shortest post</li>
<li>Count all internal and external links</li>
<li>Average links per page (that has more than one link)</li>
<li>Count all image assets</li>
<li>Count pages with images/figures</li>
</ul>
</li>
</ul>
<h2 id="to-do"><a href="#to-do" class="h-anchor" title="Permalink to #To-Do"><span class="inline-svg"></span></a>To-Do</h2><ul>
<li>Count all pages with flow diagrams: D2 + Mermaid (I still have to migrate over to D2 fully)</li>
<li>Add another graph (pie chart) that shows the spread of different post types perhaps</li>
<li>Open to suggestions or ideas!</li>
</ul>
<p>Lastly, I got to use <code>git rebase -i HEAD~n</code> (<a href="https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#_changing_multiple" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">interactive rebase</span></a>) for the first time with no drama! I edited multiple commit messages with ease. I really do enjoy learning and using Git!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0722-0400/</id><title type="html">DRY Principle: Hugo Layout Templates</title><link href="https://burgeonlab.com/notes/2026/0722-0400/"/><published>2026-07-22T12:00:45+08:00</published><updated>2026-07-22T12:29:42+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">DRY stands for Don’t Repeat Yourself.
Although what I did last night doesn’t affect the frontend / look-and-feel of my site, I am pleased to have done something I have been meaning to do for a long time: clean up the multiple repeated layout...</summary><content type="html"><![CDATA[<h1 id="dry-principle-hugo-layout-templates"><a href="#dry-principle-hugo-layout-templates" class="h-anchor" title="Permalink to #DRY Principle: Hugo Layout Templates"><span class="inline-svg"></span></a>DRY Principle: Hugo Layout Templates</h1><p>DRY stands for Don&rsquo;t Repeat Yourself.</p>
<p>Although what I did last night doesn&rsquo;t affect the frontend / look-and-feel of my site, I am pleased to have done something I have been meaning to do for a long time: clean up the multiple repeated layout templates and Hugo conditional code that generates all my <strong>microblog-style content</strong>:</p>
<ul>
<li>likes</li>
<li>replies</li>
<li>notes</li>
<li>RSVPs</li>
<li>and the latest one I added: books</li>
</ul>
<p>This is opposed to <strong>long-form content</strong>:</p>
<ul>
<li>slash pages</li>
<li>weeknotes</li>
<li>blog post/articles</li>
</ul>
<p>And on its own are photos which is managed separately.</p>
<h2 id="templates-and-partials"><a href="#templates-and-partials" class="h-anchor" title="Permalink to #Templates and Partials"><span class="inline-svg"></span></a>Templates and Partials</h2><p>Using Hugo&rsquo;s <a href="https://gohugo.io/templates/lookup-order/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">template lookup order</span></a>, I&rsquo;ve switched from section-specific <code>single.html</code> and <code>list.html</code> templates to a default one in the root <code>layouts</code> folder (note: as of <a href="https://gohugo.io/templates/new-templatesystem-overview/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Hugo v0.146.0</span></a>, there is no longer a <code>_default</code> template folder).</p>
<p>This saved a lot of <a href="https://www.geeksforgeeks.org/software-engineering/dont-repeat-yourselfdry-in-software-development/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">repeated code</span></a>; not to mention using a single <a href="https://gohugo.io/templates/embedded/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">partial</span></a> to generate all the entries; along with a smaller shared style sheet for it as well!</p>
<p>I deleted about six or so files, which means I can edit one single file to have changes reflected in all the microblog-style content. Much better than what I was doing of doing mass search and replace. The CSS also uses universal class names instead of post type specific ones, meaning editing styles will be easier too going forward.</p>
<h2 id="new-book-post-type"><a href="#new-book-post-type" class="h-anchor" title="Permalink to #New Book Post Type"><span class="inline-svg"></span></a>New Book Post Type</h2><p>In my previous weeknote (<a href="/weeknotes/2026/w29/#data-loss-on-bookwyrm"><span class="ext-text">2026-W29</span></a>), I mentioned working on posting reading / book tracking information on my own site and using a <a href="https://indieweb.org/POSSE" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">POSSE workflow</span></a> instead of relying on a third-party site like Bookwyrm.</p>
<p>I think I got a decent looking version 1 of the book post type! What do you think? What would you want to see when you see a book being tracked?</p>
<figure>
  <div class="img-container">
    <a href="/images/notes/book-entry-v1.webp" target="_blank" rel="noopener noreferrer"
       class="clickable-image">
      <img src="/images/notes/book-entry-v1.webp"
           alt="Screenshot of a page titled Book Shelf, with an entry that says Naty wants to read Apple in China by Patrick McGee. There&#39;s a photo of the book cover below, and a synopsis. The date is linked (permalink) and a syndicated to (also on:) Bookwyrm is linked." width="784" height="535">
    </a>
  </div>

<p>What&rsquo;s left now is for me to work out the backend with <a href="https://indiebookclub.biz/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">indiebookclub</span></a> and <a href="https://getindiekit.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Indiekit</span></a>!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0720-0452/</id><title type="html">Brewed a Coffee From 2022</title><link href="https://burgeonlab.com/notes/2026/0720-0452/"/><published>2026-07-20T12:52:46+08:00</published><updated>2026-07-21T00:53:12+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Today I brewed this special coffee with the Tsubame Kalita Wave 155 (flat bottom dripper) + 1Zpresso ZP6 Special hand grinder (4.8 clicks):
Roaster: Manhattan Coffee Roasters (NL) Name: Sweet Valley Producer: Cafe Granja La Esperanza (CGLE) Farm:...</summary><content type="html"><![CDATA[<h1 id="brewed-a-coffee-from-2022"><a href="#brewed-a-coffee-from-2022" class="h-anchor" title="Permalink to #Brewed a Coffee From 2022"><span class="inline-svg"></span></a>Brewed a Coffee From 2022</h1><p>Today I brewed this special coffee with the Tsubame Kalita Wave 155 (flat bottom dripper) + 1Zpresso
ZP6 Special hand grinder (4.8 clicks):</p>
<ul>
<li>Roaster: Manhattan Coffee Roasters (NL)</li>
<li>Name: Sweet Valley</li>
<li>Producer: Cafe Granja La Esperanza (CGLE)</li>
<li>Farm: Potosi</li>
<li>Varietal: Colombia (Caturra and Hybrido de Timor hybrid)</li>
<li>Process: Natural (15 hr fermentation + 72 hr dehumidify)</li>
<li>Roast: Filter</li>
<li>Origin: Colombia</li>
<li>Region: Valle del Cauca</li>
<li>Altitude: 1800 masl</li>
<li>Tasting Notes: red apple, grape, bubblegum</li>
</ul>
<h2 id="can-coffee-be-kept-that-long"><a href="#can-coffee-be-kept-that-long" class="h-anchor" title="Permalink to #Can Coffee Be Kept That Long?"><span class="inline-svg"></span></a>Can Coffee Be Kept That Long?</h2><p>Yes! I have the habit of vacuum packing and freezing the coffee I buy in either single doses (if it&rsquo;s a nicer coffee) or roughly five days worth (which I bring back to temperature before opening and storing in a partial vacuum container). I&rsquo;ve been doing this for years, which is why I have a &ldquo;freezer coffee stash&rdquo;.</p>
<p>You can check out what is in my stash via this <a href="https://datastudio.google.com/reporting/2abad762-c3f9-4ee8-9346-ddfd7ef8ae61/page/qgASD" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Data Studio dashboard</span></a> I created a while back. (Note: the remaining coffee value is not accurate as I&rsquo;ve not updated the remaining coffee in the freezer for a while.)</p>

<blockquote class="alert alert-tip">
  <p class="alert-heading">
    <span class="alert-icon">
      
      <span class="inline-svg"></span>
    </span>
    
      Tip
    
  </p>
  <p>Throwing a bag of coffee in the freezer and opening it every day is not a good idea; 1) if the bag has a valve, the freezer can impart flavours into the bag and 2) the repeated opening and closing from a cold environment to room temperature will lead to condensation inside the bag.</p>
<p>Instead, you could split the bag up into reusable containers like glass mason jars or food safe plastic test tubes, reducing the headroom as much as possible, and brewing those by pre-measured doses, or bringing the whole container (sealed) back to room temp before opening.</p>
</blockquote>

<h2 id="one-of-my-favourites-cgle-potosi"><a href="#one-of-my-favourites-cgle-potosi" class="h-anchor" title="Permalink to #One of My Favourites: CGLE Potosi"><span class="inline-svg"></span></a>One of My Favourites: CGLE Potosi</h2><p>This particular morning, I decided to dig a bit deeper than usual in my freezer coffee stash and took out the second last dose of Sweet Valley. Colombian coffee is on my personal top 5 origins, and CGLE Potosi coffees are one of the best in my opinion. They&rsquo;re always incredibly juicy and bursting with aroma and fragrance.</p>
<h2 id="coffee-content"><a href="#coffee-content" class="h-anchor" title="Permalink to #Coffee Content"><span class="inline-svg"></span></a>Coffee Content</h2><p>Before I started my IndieWeb / personal site journey with <em>BurgeonLab.com</em>; I built up a small following on IG sharing my &ldquo;home barista&rdquo; experiences and speciality coffee discovery.</p>
<p>In my ever-growing to-do list for this site, I want to import all my coffee content from IG, restart my coffee sharing habit on this site under a new slash page like <code>/coffee</code>. Any coffee fans here? If so, give this note <a href="https://burgeonlab.com/notes/2026/0720-0452/"><span class="ext-text">an upvote</span></a> and one rainy afternoon I will tackle this big IG import project&hellip;</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0718-0243/</id><title type="html">Thank you so much, kind stranger, for being my first…</title><link href="https://burgeonlab.com/notes/2026/0718-0243/"/><published>2026-07-18T10:43:19+08:00</published><updated>2026-07-18T23:20:02+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Thank you so much, kind stranger, for being my first secret patron on Liberapay! I am speechless and so grateful for your generosity and support.
If I had to guess what it is for, I’d put it down to the new Homebrew Website Club event I’m initiating...</summary><content type="html"><![CDATA[<p>Thank you so much, kind stranger, for being my first secret patron on <a href="https://liberapay.com/Naty_S/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Liberapay</span></a>! I am speechless and so grateful for your generosity and support.</p>
<p>If I had to guess what it is for, I&rsquo;d put it down to the new <a href="https://burgeonlab.com/tags/homebrew-website-club/"><span class="ext-text">Homebrew Website Club</span></a> event I&rsquo;m initiating in early August 2026 for the Asia/Pacific/Oceania time zone. I will try my absolute best to make it a worthwhile addition to the existing virtual HWCs and make it a safe and fun place for everyone interested to discuss all things IndieWeb.</p>
<p>If it is for the other general content I make, thank you for showing your support! I will continue to write about my experience on the small web and tinkering experiences with tech I come across. Hope it will be interesting and/or useful for someone going through similar paths.</p>
<p>Thanks again! 🥰</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0712-152352/</id><title type="html">Writers and bloggers, does this happen to you?
You sit…</title><link href="https://burgeonlab.com/notes/2026/0712-152352/"/><published>2026-07-12T15:23:52Z</published><updated>2026-07-13T13:58:54Z</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Writers and bloggers, does this happen to you?
You sit down to write a weeknote or some journal entry, but suddenly, one of the topics becomes really long and you decide to split that off into its own separate post. You continue with your original...</summary><content type="html"><![CDATA[<p>Writers and bloggers, does this happen to you?</p>
<p>You sit down to write a weeknote or some journal entry, but suddenly, one of the topics becomes really long and you decide to split that off into its own separate post. You continue with your original piece (back to square one); but it happens again.</p>
<p>I&rsquo;m just trying to write about what happened during my week! Why do I have to go on such long, ranting tangents that it becomes a +1000 word separate entity. 😱 I just don&rsquo;t feel like it fits in and deserves its own post. I probably have less than ten draft posts that came from &ldquo;weeknote spin-offs&rdquo;&hellip; Maybe my soon-to-be digital garden will be a nice place for those personal rambles.</p>
<p>My W28 weeknote after a two-week break is pretty bare now because two long sections become drafts for two separate posts. 😑 It&rsquo;s late, I will finish my three-week missing weeknote tomorrow.</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0710-0120/</id><title type="html">As an Indiekit supporter and user, I’m really…</title><link href="https://burgeonlab.com/notes/2026/0710-0120/"/><published>2026-07-10T08:12:00+08:00</published><updated>2026-07-10T13:56:00+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">As an Indiekit supporter and user, I’m really appreciative of Paul for maintaining this open source project. After a short hiatus, he’s back to review pull requests and issues!
I made a PR for some Markdown quality-of-life features and I’m so happy...</summary><content type="html"><![CDATA[<p>As an <a href="https://getindiekit.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Indiekit</span></a> supporter and user, I&rsquo;m really appreciative of <a href="https://paulrobertlloyd.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Paul</span></a> for maintaining this open source project. After a short hiatus, he&rsquo;s back to review pull requests and issues!</p>
<p>I made a <a href="https://github.com/getindiekit/indiekit/pull/845" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">PR</span></a> for some Markdown quality-of-life features and I&rsquo;m so happy they&rsquo;re merged and available in the latest <a href="https://github.com/getindiekit/indiekit/releases" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">v1.0.0 Beta 28</span></a>. Hope other users find it more convenient now when using the built-in editor to add Markdown links, as it is now more like how it works for on Obsidian or GitHub.</p>
<p><a href="https://getindiekit.com/contributing" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Contributing</span></a> to open source is really a fun activity for me. Even if you don&rsquo;t have any technical background, there are things one can help with on any project (if coding is not your thing). For example, documentation or just spreading the word! Participating in open source is rewarding and always a learning opportunity. I plan to continue to look for things I can help out with in projects I use.</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0709-52431/</id><title type="html">June has flown by it seems, and that means Junited-2026…</title><link href="https://burgeonlab.com/notes/2026/0709-52431/"/><published>2026-07-09T13:24:31+08:00</published><updated>2026-07-10T00:55:02+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">June has flown by it seems, and that means Junited-2026 has come to an end. This initiative by Robert has got me reading a lot more blogs this month (and I actually missed two weeknotes…) I’d thoroughly enjoyed discovering new bloggers and was in a...</summary><content type="html"><![CDATA[<p>June has flown by it seems, and that means <a href="/junited-2026"><span class="ext-text">Junited-2026</span></a> has come to an end. This initiative by <a href="https://www.robertbirming.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Robert</span></a> has got me reading a lot more blogs this month (and I actually missed two weeknotes&hellip;) I&rsquo;d thoroughly enjoyed discovering new bloggers and was in a &ldquo;consuming mode&rdquo; for most the month. Fellow readers who discovered posts from my list and original authors of posts I shared approached me too; which was very cool!</p>
<p>Last month, I&rsquo;ve been trying to get my old site, <em>EclecticPassions.net</em>, revamped with a new static generator. Originally I was set on using <a href="https://zensical.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Zensical</span></a>, but after doing multiple &ldquo;hacky&rdquo; workarounds for features not available or not planned; I decided to switch to <a href="https://quartz.jzhao.xyz/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Quartz</span></a> instead, which is more &ldquo;built for the job&rdquo; of managing a digital garden.</p>
<p>But it was a much bigger challenge than using Zensical. It uses Node/npx/npm and the backend is lingo I have zero experience in, like React type components, TypeScript, etc. I&rsquo;m one for challenges, but it was almost a bit too much! The only good thing about LLMs was I managed to use tools like DeepWiki to help me figure out how to write custom TS overrides to get what I wanted.</p>
<p>I even created two custom Quartz plugins during the process and I&rsquo;m quite happy to get it working the way I want.</p>
<ul>
<li><a href="https://github.com/eclecticpassions/metadata-row" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Custom metadata and property display</span></a></li>
<li><a href="https://github.com/eclecticpassions/image-to-figure-caption" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Support Markdown image and caption as figure and fig caption</span></a></li>
</ul>
<p>Hopefully I&rsquo;ll wrap my head around imports, exports, components, and TypeScript a bit more as I continue to build on my secondary site/digital garden with this new tool.</p>
<p>Lastly, I&rsquo;m trying to explore more examples of public digital gardens before I decide how to organize my files, like using tags and bidirectional linking instead of relying on a more traditional folder structure.</p>
<p>Here are some examples of digital gardens I&rsquo;ve come across so far in my research:</p>
<ul>
<li><a href="https://notes.hamatti.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://notes.hamatti.org/</span></a></li>
<li><a href="https://www.andrewscaife.com/p/home.html" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://www.andrewscaife.com/p/home.html</span></a></li>
<li><a href="https://p1xelgarden.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://p1xelgarden.com/</span></a></li>
<li><a href="https://joshuarodrigues.dev/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://joshuarodrigues.dev/</span></a></li>
<li><a href="https://garden.patsitive.co.nz/start-here/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://garden.patsitive.co.nz/start-here/</span></a></li>
<li><a href="https://hermitage.utsob.me/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://hermitage.utsob.me/</span></a></li>
<li><a href="https://be-far.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://be-far.com/</span></a></li>
<li><a href="https://notes.lesleylai.info/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://notes.lesleylai.info/</span></a></li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0622-145421/</id><title type="html">Troubleshooting Technical Errors</title><link href="https://burgeonlab.com/notes/2026/0622-145421/"/><published>2026-06-22T22:54:21+08:00</published><updated>2026-06-23T23:17:52+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Yesterday, my Indiekit docker failed to start on my Pi. I also couldn’t run npm audit fix despite reviewing and accepting npm approve-scripts --all.
As a beginner Node.js user, I am still very inexperienced. I tried removing the package.lock,...</summary><content type="html"><![CDATA[<h1 id="troubleshooting-technical-errors"><a href="#troubleshooting-technical-errors" class="h-anchor" title="Permalink to #Troubleshooting Technical Errors"><span class="inline-svg"></span></a>Troubleshooting Technical Errors</h1><p>Yesterday, my Indiekit docker failed to start on my Pi. I also couldn&rsquo;t run <code>npm audit fix</code> despite reviewing and accepting <code>npm approve-scripts --all</code>.</p>
<p>As a beginner Node.js user, I am still very inexperienced. I tried removing the <code>package.lock</code>,  <code>node_modules/</code> and <code>npm install</code> from scratch but that didn&rsquo;t fix it.</p>
<p>Maybe it is due to the Node version being pinned to version 22? Or was it the installation of <code>sharp</code> in the Dockerfile that caused it to break after updating the npm packages? I now have <code>RUN npm ci --omit=optional --no-audit</code> instead of <code>RUN npm ci --include=optional --no-audit &amp;&amp; npm install --platform=linux --arch=arm64 sharp</code>.</p>
<p>In the end, I managed to fix it with the help of duck.ai (Claude Haiku 4.5) as I couldn&rsquo;t work it out myself&hellip; but I am not sure what caused it.</p>
<p>Then, another failure came to my attention: a cron script that backs up all the content associated with Indiekit had been failing:</p>
<figure class="code-block"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-txt"><span class="line"><span class="ln">1</span><span class="cl">git@codeberg.org: Permission denied (publickey).
</span></span><span class="line"><span class="ln">2</span><span class="cl">fatal: Could not read from remote repository.
</span></span><span class="line"><span class="ln">3</span><span class="cl">Please make sure you have the correct access rights
</span></span><span class="line"><span class="ln">4</span><span class="cl">and the repository exists.</span></span></code></pre></div><p>It backs up the content store (Codeberg Git repo), media store (S3 bucket), and MongoDB database. I fixed the cron clone/fetch by forcing the mirror to use the HTTPS repo URL with an access token (and non-interactive Git). I updated the mirror’s origin to the HTTPS token URL, then ran git fetch from cron without SSH.</p>
<figure class="code-block"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># Force mirror to use HTTPS and not SSH</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="k">if</span> <span class="o">[</span> -d <span class="s2">&#34;</span><span class="nv">$REPO_MIRROR</span><span class="s2">/.git&#34;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl"> git -C <span class="s2">&#34;</span><span class="nv">$REPO_MIRROR</span><span class="s2">&#34;</span> remote set-url origin <span class="s2">&#34;</span><span class="nv">$REPO_URL</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="k">fi</span>
</span></span><span class="line"><span class="ln">5</span><span class="cl">
</span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="c1"># Non-interactive fetch</span>
</span></span><span class="line"><span class="ln">7</span><span class="cl">git -C <span class="s2">&#34;</span><span class="nv">$REPO_MIRROR</span><span class="s2">&#34;</span> fetch origin</span></span></code></pre></div><p>Oh, and a handy tool that helped me set the time for the cronjob was <a href="https://crontab.guru/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">crontab.guru</span></a>.</p>
<p>As much as I hate generative AI for all the slop; LLMs has aided me in solving technical backend difficulties such as these and I usually learn a thing or two during troubleshooting this way.</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0620-5328/</id><title type="html">Homebrew Website Club: Eastern June 17 2026</title><link href="https://burgeonlab.com/notes/2026/0620-5328/"/><published>2026-06-20T13:03:28+08:00</published><updated>2026-06-20T20:07:28+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Last Thursday, David (an IndieWeb regular) couldn’t make it due to an emergency. Luckily James, another regular, caught me before I went to bed the night before to tell me the technical details on how to host the remote Zoom meeting. It was a...</summary><content type="html"><![CDATA[<h1 id="homebrew-website-club-eastern-june-17-2026"><a href="#homebrew-website-club-eastern-june-17-2026" class="h-anchor" title="Permalink to #Homebrew Website Club: Eastern June 17 2026"><span class="inline-svg"></span></a>Homebrew Website Club: Eastern June 17 2026</h1><p>Last Thursday, <a href="https://david.shanske.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">David</span></a> (an <a href="https://indieweb.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">IndieWeb</span></a> regular) couldn&rsquo;t make it due to an emergency. Luckily <a href="https://jamesg.blog/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">James</span></a>, another regular, caught me before I went to bed the night before to tell me the technical details on how to host the remote Zoom meeting. It was a success; luckily no technical difficulties, and we had a good turnout with a good old chat about all things websites! (Thanks too, to <a href="https://vanderwal.net/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Thomas</span></a>, for being co-host!)</p>
<p>Some of the topics we went through:</p>
<ul>
<li>Blog data analytics and visualization tools</li>
<li>Data capture workflows</li>
<li>Webmention server for static sites</li>
<li>WordPress classic vs block editor</li>
</ul>
<p>If you want more details about what we chatted about, check the notes/minutes link at <a href="https://events.indieweb.org/2026/06/homebrew-website-club-eastern-C4Wqn2UksQbJ" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">HWC: Eastern June 17 2026</span></a>.</p>
<h2 id="what-is-homebrew-website-club"><a href="#what-is-homebrew-website-club" class="h-anchor" title="Permalink to #What Is Homebrew Website Club?"><span class="inline-svg"></span></a>What Is Homebrew Website Club?</h2><p><a href="https://indieweb.org/Homebrew_Website_Club" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Homebrew Website Club (HWC)</span></a> welcomes anyone who has even an inkling of curiosity about the IndieWeb or anything related to building a personal site. HWC events are every week, alternating between the Pacific and Eastern time zones on a Wednesday (or Thursday depending on time zone).</p>
<p>To see the upcoming events, check out the <a href="https://events.indieweb.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">IndieWeb events</span></a> page. I invite you to join, we welcome newcomers! There will be a zoom link on the event page around 15 minutes before the event starts.</p>
<h2 id="my-indieweb-experiences"><a href="#my-indieweb-experiences" class="h-anchor" title="Permalink to #My IndieWeb Experiences"><span class="inline-svg"></span></a>My IndieWeb Experiences</h2><p>I&rsquo;ve been attending these remote IndieWeb meetups for nearly half a year and I&rsquo;m really grateful for the volunteers who keep it going.  Which is why I&rsquo;m trying to step up and give back to the community whenever I can. I am trying to improve my moderating skills—thanks for putting up with me!</p>
<p>Everyone is really approachable and friendly, talented in their own way, and inspirational. If you&rsquo;re reading this, curious, or have any questions about this community; please feel free to <a href="/contact/"><span class="ext-text">reach out to me</span></a> or say hi on the main <code>#indieweb</code> <a href="https://chat.indieweb.org" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">chat channel</span></a>—someone will reply! Read <a href="https://indieweb.org/discuss" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Join #indieweb Discussions</span></a> to learn more about how discussions work.</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0615-16251/</id><title type="html">A feature I didn’t know existed in VS Codium saved my…</title><link href="https://burgeonlab.com/notes/2026/0615-16251/"/><published>2026-06-16T00:02:51+08:00</published><updated>2026-06-16T00:07:03+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">A feature I didn’t know existed in VS Codium saved my day! I was working on a untracked Git file (the zensical.toml configuration file) and accidentally, the whole file was overwritten and ctrl+z didn’t work. I thought my config was lost for good!...</summary><content type="html"><![CDATA[<p>A feature I didn&rsquo;t know existed in <a href="https://vscodium.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">VS Codium</span></a> saved my day! I was working on a untracked Git file (the <code>zensical.toml</code> configuration file) and accidentally, the whole file was overwritten and ctrl+z didn&rsquo;t work. I thought my config was lost for good!</p>
<p>Luckily there&rsquo;s a thing called &ldquo;Local History&rdquo;:</p>
<ul>
<li>Open command palette</li>
<li>Choose <code>Local History: Find Entry to Restore</code></li>
<li>Choose the file you want to recover</li>
<li>Choose the latest entry to recover from</li>
<li>Copy contents back to active file</li>
</ul>
<p>I believe this is also accessible under <code>Timeline View</code>.</p>
<p>See the <a href="https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_66.md#local-history" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Release Notes</span></a> for more information on this feature when it was first released.</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0612-104232/</id><title type="html">digiKam MySQL Database Upgrade Woes</title><link href="https://burgeonlab.com/notes/2026/0612-104232/"/><published>2026-06-12T18:42:32+08:00</published><updated>2026-06-12T20:11:18+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Ever since I left Adobe Lightroom in mid-2025, I’ve been using digiKam from KDE for digital asset management (DAM). I quite like using it to manage my extensive library of photographs (+100k images). But almost every time there’s a version upgrade,...</summary><content type="html"><![CDATA[<h1 id="digikam-mysql-database-upgrade-woes"><a href="#digikam-mysql-database-upgrade-woes" class="h-anchor" title="Permalink to #digiKam MySQL Database Upgrade Woes"><span class="inline-svg"></span></a>digiKam MySQL Database Upgrade Woes</h1><p>Ever since I left Adobe Lightroom in mid-2025, I&rsquo;ve been using <a href="https://www.digikam.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">digiKam</span></a> from KDE for digital asset management (DAM). I quite like using it to manage my extensive library of photographs (+100k images). But almost every time there&rsquo;s a version upgrade, the <a href="https://docs.digikam.org/en/setup_application/database_settings.html#the-mysql-internal-server" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">internal MySQL database</span></a> breaks.</p>
<h2 id="database-options"><a href="#database-options" class="h-anchor" title="Permalink to #Database Options"><span class="inline-svg"></span></a>Database Options</h2><p>There are three database options for digiKam: SQLite, Internal MySQL, Remote MySQL. I have always chosen internal MySQL as apparently SQLite doesn&rsquo;t do well for libraries over 100k photos. But I can never get MySQL to work seamlessly on the get-go and it breaks <em>every single time</em> when it&rsquo;s time to upgrade either the database or digiKam itself.</p>
<h2 id="not-again"><a href="#not-again" class="h-anchor" title="Permalink to #Not Again"><span class="inline-svg"></span></a>Not Again</h2><p>I upgraded to digiKam v9.2.0 yesterday, lo and behold, the database broke again. I tried everything I could (with limited database knowledge) but could not get it fixed like the previous three or four times. I made notes each time when I troubleshoot, but the fixes I wrote down didn&rsquo;t work this time. Previous issues include UNIX socket problems and <code>mariadb</code> from Homebrew was conflicting; but I checked it all this time and could not get the database to upgrade successfully.</p>
<figure>
  <div class="img-container">
    <a href="/images/notes/digikam-db-error.webp" target="_blank" rel="noopener noreferrer"
       class="clickable-image">
      <img src="/images/notes/digikam-db-error.webp"
           alt="Screenshot of error when upgrading MySQL database of digikam." width="441" height="244">
    </a>
  </div>

<h2 id="trying-sqlite"><a href="#trying-sqlite" class="h-anchor" title="Permalink to #Trying SQLite"><span class="inline-svg"></span></a>Trying SQLite</h2><p>I have decided to give SQLite a try despite being over the <a href="https://docs.digikam.org/en/setup_application/database_settings.html#database-type-criteria" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">100k suggested limit</span></a>. <a href="https://www.sqlite.org/wal.html" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Write-ahead logging (WAL mode)</span></a> is turned on and I&rsquo;m now waiting for the new database to be built. It&rsquo;s over two hours by now and it&rsquo;s past the 50% mark.</p>
<p>Fingers crossed that this will be last time I waste time on the digiKam database.</p>
<h2 id="additional-links"><a href="#additional-links" class="h-anchor" title="Permalink to #Additional Links"><span class="inline-svg"></span></a>Additional Links</h2><ul>
<li><a href="https://mail.kde.org/pipermail/digikam-users/2025-March/037085.html" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://mail.kde.org/pipermail/digikam-users/2025-March/037085.html</span></a></li>
<li><a href="https://mail.kde.org/pipermail/digikam-users/2021-July/032479.html" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://mail.kde.org/pipermail/digikam-users/2021-July/032479.html</span></a></li>
<li><a href="https://linuxvox.com/blog/what-is-the-correct-location-of-mysql-sock-file-on-linux/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://linuxvox.com/blog/what-is-the-correct-location-of-mysql-sock-file-on-linux/</span></a></li>
<li><a href="https://rt-wiki.bestpractical.com/wiki/MysqlSocketConfiguration" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://rt-wiki.bestpractical.com/wiki/MysqlSocketConfiguration</span></a></li>
<li><a href="https://discuss.pixls.us/t/uninstalled-and-re-installed-mariadb-digikam-cant-connect-to-re-installation/38813" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://discuss.pixls.us/t/uninstalled-and-re-installed-mariadb-digikam-cant-connect-to-re-installation/38813</span></a></li>
<li><a href="https://stackoverflow.com/questions/27918764/cannot-load-from-mysql-proc-the-table-is-probably-corrupted/30224954#30224954" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://stackoverflow.com/questions/27918764/cannot-load-from-mysql-proc-the-table-is-probably-corrupted/30224954#30224954</span></a></li>
<li><a href="https://stackoverflow.com/questions/5376427/cant-connect-to-local-mysql-server-through-socket-var-mysql-mysql-sock-38" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://stackoverflow.com/questions/5376427/cant-connect-to-local-mysql-server-through-socket-var-mysql-mysql-sock-38</span></a></li>
<li><a href="https://dev.mysql.com/doc/mysql-shell/9.7/en/mysql-shell-connection-socket.html" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://dev.mysql.com/doc/mysql-shell/9.7/en/mysql-shell-connection-socket.html</span></a></li>
<li><a href="https://www.supertechcrew.com/improving-speed-digikam-using-mysql/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://www.supertechcrew.com/improving-speed-digikam-using-mysql/</span></a></li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0612-52940/</id><title type="html">Regular expression (Regex) is a skill I wish I have a…</title><link href="https://burgeonlab.com/notes/2026/0612-52940/"/><published>2026-06-12T13:29:40+08:00</published><updated>2026-06-12T20:12:33+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Regular expression (Regex) is a skill I wish I have a better grasp on; but I’m slowly learning! For example, I often find myself searching for a particular string pattern to replace it with something else. Today, I learnt how to search for this...</summary><content type="html"><![CDATA[<p>Regular expression (Regex) is a skill I wish I have a better grasp on; but I&rsquo;m slowly learning! For example, I often find myself searching for a particular string pattern to replace it with something else. Today, I learnt how to search for this pattern (Markdown bullet points):</p>
<ol>
<li>The start of a new line (<code>^</code>)</li>
<li>Dash (<code>-</code>)</li>
<li>Space (<code>\s</code>)</li>
<li>Alphabet following the space (<code>[a-zA-Z]</code>)</li>
</ol>
<p>Which makes the search string:</p>
<figure class="code-block"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-txt"><span class="line"><span class="ln">1</span><span class="cl">^-\s([a-zA-Z])</span></span></code></pre></div><p>The <code>( )</code> bracket around <code>[a-zA-Z]</code> is to capture the matching section and using it later as <code>$1</code> for the first group, <code>$2</code> for the second, etc.</p>
<figure>
  <div class="img-container">
    <a href="/images/notes/regex-before.webp" target="_blank" rel="noopener noreferrer"
       class="clickable-image">
      <img src="/images/notes/regex-before.webp"
           alt="Screenshot of VS Codium&#39;s search and replace fields highlighting the search pattern." width="602" height="196">
    </a>
  </div>

<p>My aim is to change the bullet points into Markdown checkboxes. The string to do that is:</p>
<figure class="code-block"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-txt"><span class="line"><span class="ln">1</span><span class="cl">- [ ] $1</span></span></code></pre></div><p>This changes the bullet to a checkbox and the captured group in the <code>( )</code> is replaced by the original.</p>
<figure>
  <div class="img-container">
    <a href="/images/notes/regex-after.webp" target="_blank" rel="noopener noreferrer"
       class="clickable-image">
      <img src="/images/notes/regex-after.webp"
           alt="Screenshot of VS Codium&#39;s search and replace fields highlighting the replaced pattern." width="604" height="207">
    </a>
  </div>

<p>Maybe there&rsquo;s some plugin to do this in a click, but I enjoy learning things in real life scenarios.</p>
<h2 id="resources"><a href="#resources" class="h-anchor" title="Permalink to #Resources"><span class="inline-svg"></span></a>Resources</h2><ul>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions</span></a></li>
<li><a href="https://www.rexegg.com/regex-quickstart.php" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">https://www.rexegg.com/regex-quickstart.php</span></a></li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0610-15234/</id><title type="html">Maintaining My Own Brew Tap</title><link href="https://burgeonlab.com/notes/2026/0610-15234/"/><published>2026-06-10T23:23:04+08:00</published><updated>2026-06-11T10:41:12+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">No, not beer; but for Homebrew, the package manager which I have used for over five years…? I don’t know how I lived without it before!
I have decided to maintain my own tap for the first time because of the deprecations that will come into action...</summary><content type="html"><![CDATA[<h1 id="maintaining-my-own-brew-tap"><a href="#maintaining-my-own-brew-tap" class="h-anchor" title="Permalink to #Maintaining My Own Brew Tap"><span class="inline-svg"></span></a>Maintaining My Own Brew Tap</h1><p>No, not beer; but for <a href="https://brew.sh/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Homebrew</span></a>, the package manager which I have used for over five years&hellip;? I don&rsquo;t know how I lived without it before!</p>
<p>I have decided to maintain my own tap for the first time because of the deprecations that will come into action later this year in around September 2026. These deprecations are for macOS software that has not signed or notarized (i.e. paid Apple) to meet the macOS Gatekeeper requirements. <a href="https://github.com/orgs/Homebrew/discussions/6482" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Issue #6482</span></a> gives more background information.</p>

<blockquote>
  <p>I&rsquo;m not entirely sure if this is the right way to do this, so treat this as a personal tinkering log, not a guide per se.</p>

</blockquote>

<h2 id="steps-ive-taken"><a href="#steps-ive-taken" class="h-anchor" title="Permalink to #Steps I&amp;rsquo;ve Taken"><span class="inline-svg"></span></a>Steps I&rsquo;ve Taken</h2><ol>
<li>Since brew taps are just Git repos, I created one on <a href="https://codeberg.org/burgeonlab/homebrew-gatekeeper-bypass" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Codeberg</span></a> and copied all the ruby cask files that have the deprecation warning from the official Homebrew Cask, and removed the line <code># disable! date: &quot;2026-09-01&quot;, because: :fails_gatekeeper_check</code>.</li>
<li>Initialize the repo with the files in step 1, <code>Casks/*.rb</code>, and push to remote.</li>
<li>Since I&rsquo;m not using GitHub, the following command is used to add a custom tap in the terminal: <code>brew tap git-username/homebrew-name-of-your-tap https://codeberg.org/git-username/homebrew-name-of-your-tap.git</code></li>
<li>Brew will warn that this tap is not trusted. To trust a tap, run <code>brew trust git-username/homebrew-name-of-your-tap</code>.</li>
<li>Tell Homebrew to use the new tap as the source of the soon-to-be deprecated casks, e.g. run <code>brew reinstall --cask git-username/homebrew-name-of-your-tap/cask-name</code>. This will explicitly tell Homebrew to install the cask using the new tap instead of the official cask tap. Repeat for all casks with deprecated warning.</li>
<li>Once the cask is officially deprecated, running <code>brew install --cask cask-name</code> should pull the <code>.rb</code> file from your custom maintained tap without the explicit custom tap path.</li>
<li>Run <code>brew tap</code> to see a list of all installed taps and run <code>brew doctor</code> to check if the warning, <code>Some installed casks are deprecated or disabled. You should find replacements for the following casks</code>, is resolved after switching to the custom tap.</li>
</ol>
<h2 id="manually-keeping-casks-updated"><a href="#manually-keeping-casks-updated" class="h-anchor" title="Permalink to #Manually Keeping Casks Updated"><span class="inline-svg"></span></a>Manually Keeping Casks Updated</h2><p>It&rsquo;s now up to me to update the <code>.rb</code> files, so I&rsquo;ve gathered the XML feeds of the release pages and turned on notifications in my feed reader. This will remind me to update the <code>version</code> number and <code>sha256</code> manually, which will in turn update the tap with the latest cask details ready for tapping.</p>
<p>I&rsquo;m using <a href="https://www.rssrssrssrss.com" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">rssrssrssrss</span></a> to combine the feeds into <a href="https://www.rssrssrssrss.com/api/merge?feeds=NoIgFgLhAODOBcB6RBjA9gEwKYCMsCcBzAOjSMQBsBLHfLAdzQoDNEdYBPWANkToqwBDWFljF8sWCAA04KHCSJ6y4hiqEqAa0EBbUuSoA7bAA9iJnRRlyYCZBohgArjmLodiDIPyaIgnAIAtGSEnt6&#43;-gJ8WALCosSCEGg61pC2ig7Oru6IAPL4uoKBAJKGEASCKBBUAG5YiAAKVCYxZIXRsSJiicmp8naImS5uyYgAjjqa45MA&#43;klMOGgmHUJdCUkpsmkK9lSOwzk1VIIUgZo4iEcngYROVCtx3RsgALpAA" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">one</span></a>:</p>
<figure class="code-block"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-txt"><span class="line"><span class="ln">1</span><span class="cl">https://codeberg.org/librewolf/bsys6/releases.rss
</span></span><span class="line"><span class="ln">2</span><span class="cl">https://www.digikam.org/index.xml
</span></span><span class="line"><span class="ln">3</span><span class="cl">https://github.com/darktable-org/darktable/releases.atom
</span></span><span class="line"><span class="ln">4</span><span class="cl">https://github.com/Orama-Interactive/Pixelorama/releases.atom
</span></span><span class="line"><span class="ln">5</span><span class="cl">https://github.com/qmk/qmk_toolbox/releases.atom
</span></span><span class="line"><span class="ln">6</span><span class="cl">https://github.com/vial-kb/vial-gui/releases.atom</span></span></code></pre></div><p>To update the <code>sha256</code> value, either check directly in the release if it has been provided there, if not, use <code>shasum -a 256 /path-to-dmg</code>.</p>
<p>Lastly, run the usual <code>xattr -dr com.apple.quarantine /Applications/software.app</code> command to bypass macOS&rsquo;s Gatekeeper. (A step can probably be added to the <code>.rb</code> file to do this automatically—but I am used to running this manually after upgrades so it doesn&rsquo;t bother me too much.)</p>
<h2 id="resources"><a href="#resources" class="h-anchor" title="Permalink to #Resources"><span class="inline-svg"></span></a>Resources</h2><ul>
<li><a href="https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Homebrew: How to Create and Maintain a Tap</span></a></li>
<li><a href="https://docs.brew.sh/Deprecating-Disabling-and-Removing" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Homebrew: Deprecating, Disabling and Removing</span></a></li>
<li><a href="https://kristoffer.dev/blog/guide-to-creating-your-first-homebrew-tap/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Creating Your First Homebrew Tap: A Complete Guide | Kristoffer</span></a></li>
<li><a href="https://jonathanchang.org/blog/maintain-your-own-homebrew-repository-with-binary-bottles/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Maintain your own Homebrew repository, with binary bottles | Jonathan Chang</span></a></li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0604-111432/</id><title type="html">Hong Kong Open Source Conference 2026</title><link href="https://burgeonlab.com/notes/2026/0604-111432/"/><published>2026-06-04T19:14:32+08:00</published><updated>2026-06-04T19:22:05+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">I’m attending an in-person event this weekend related to my one of my passions for the very first time; open source! Came across the HKOSCon on Mastodon via @sammyfung, the founder of Open Source Hong Kong.
I’m not sure what to expect but I’m...</summary><content type="html"><![CDATA[<h1 id="hong-kong-open-source-conference-2026"><a href="#hong-kong-open-source-conference-2026" class="h-anchor" title="Permalink to #Hong Kong Open Source Conference 2026"><span class="inline-svg"></span></a>Hong Kong Open Source Conference 2026</h1><p>I&rsquo;m attending an in-person event this weekend related to my one of my passions for the very first time; open source! Came across the HKOSCon on Mastodon via <a href="https://fosstodon.org/@sammyfung" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">@sammyfung</span></a>, the founder of <a href="https://opensource.hk/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Open Source Hong Kong</span></a>.</p>
<p>I&rsquo;m not sure what to expect but I&rsquo;m excited! It&rsquo;s held in an area of HK I&rsquo;m not familiar with (which is always nice as I like to visit new areas).</p>
<p>Looking forward to the <a href="https://hkoscon.org/2026/timetable/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">talks</span></a> lined up; especially the one titled, <a href="https://hkoscon.org/2026/topic/wordpress-hugo-and-astro-pick-the-best-open-source-cms/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">WordPress, Hugo and Astro - pick the best open-source CMS</span></a>, by Tony Tsui. It&rsquo;s held in Cantonese so I have no clue if I can catch on because I don&rsquo;t think I know any web dev terms in Cantonese! 😆 Should be a fun and eye-opening experience nonetheless.</p>
<p>Maybe I&rsquo;ll get to meet some general tech enthusiasts like myself!</p>
<p>Tickets are free (on <a href="https://www.eventbrite.hk/e/hong-kong-open-source-conference-2026-tickets-1987799450667" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Eventbrite</span></a>) but it&rsquo;s this Saturday!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0530-141235/</id><title type="html">My WordPress Replacement: Zensical</title><link href="https://burgeonlab.com/notes/2026/0530-141235/"/><published>2026-05-30T22:12:35+08:00</published><updated>2026-05-31T16:56:28+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">In the last few days, I’ve been experimenting with a new SSG (Zensical) as a replacement for my secondary site that’s still running WordPress—the CMS I learnt to create my first website. Once the migration is over, I won’t have to manage a dynamic...</summary><content type="html"><![CDATA[<h1 id="my-wordpress-replacement-zensical"><a href="#my-wordpress-replacement-zensical" class="h-anchor" title="Permalink to #My WordPress Replacement: Zensical"><span class="inline-svg"></span></a>My WordPress Replacement: Zensical</h1><p>In the last few days, I&rsquo;ve been experimenting with a new SSG (<a href="https://zensical.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Zensical</span></a>) as a replacement for my <a href="https://eclecticpassions.net" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">secondary site</span></a> that&rsquo;s still running WordPress—the CMS I learnt to create my first website. Once the migration is over, I won&rsquo;t have to manage a dynamic website any more. Hurray, static sites for the win!</p>
<p>Ever since I created <em>BurgeonLab</em>, I considered multiple times if previous blog content should be merged into this one—I still haven&rsquo;t. Those posts were written long before I knew about the IndieWeb, when I was still discovering the world of blogging (and constantly pestered by SEO plugins while writing in the WP editor 🤮).</p>
<p>This migration is long-overdue as just seeing the WP admin dashboard is a burden to me, not to mention actually managing a dynamic website. By switching to Zensical, the barrier to actually write something is much lower; plus I get to be comfortable in my IDE and Markdown.</p>
<h2 id="justifying-another-site"><a href="#justifying-another-site" class="h-anchor" title="Permalink to #Justifying Another Site"><span class="inline-svg"></span></a>Justifying Another Site</h2><p>In recent months, two friends asked if I wrote anything &ldquo;understandable for the layman&rdquo; and is less technical after I sent them to this site. I wish I could have pointed them somewhere that is well maintained and user-friendly to non-techies.</p>
<p>Despite the difference in mindset and the stage I&rsquo;m in as a blogger while developing <em>EclecticPassions</em>; I think it deserves a revival and refresh for the purpose of using it as a general-audience site that shall not be littered with tech jargon! And also try out <a href="https://maggieappleton.com/garden-history" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">digital gardening</span></a>.</p>
<p>Having only a single website identity feels somewhat limiting to me. I guess it&rsquo;s just the way I am—there are many sides to me and I like to be able to express that via websites! Having a second site is also my excuse to use learn another CMS while keeping Hugo my main CMS of choice.</p>
<p>I look forward to sharing the live site soon!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0524-175213/</id><title type="html">I thought my secondary blog (with WordPress backend)…</title><link href="https://burgeonlab.com/notes/2026/0524-175213/"/><published>2026-05-25T01:52:13+08:00</published><updated>2026-05-25T01:57:25+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">I thought my secondary blog (with WordPress backend) wouldn’t auto-update, but I think I missed the setting on Hostinger. So sadly my site is now running the new 7.0 with AI features 🤮. I immediately added the disable AI features line to config.php....</summary><content type="html"><![CDATA[<p>I thought my secondary blog (with WordPress backend) wouldn&rsquo;t auto-update, but I think I missed the setting on Hostinger. So sadly my site is now running the new <a href="https://wordpress.org/news/2026/05/armstrong/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">7.0 with AI features</span></a> 🤮. I immediately added the <a href="https://manualdousuario.net/en/disable-ia-wordpress-7-0/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">disable AI features</span></a> line to <code>config.php</code>.</p>
<figure>
  <div class="img-container">
    <a href="/images/notes/disable-wp-ai.webp" target="_blank" rel="noopener noreferrer"
       class="clickable-image">
      <img src="/images/notes/disable-wp-ai.webp"
           alt="Screenshot of config.php from wordpress to disable ai features from version 7.0 update" width="675" height="101">
    </a>
  </div>

<p>I&rsquo;ll be switching to a WordPress alternative later this year when my plan expires in a few months time; so it won&rsquo;t be too long before I say goodbye to WP for good.</p>
<p>Some non-Hugo alternatives I am considering:</p>
<ul>
<li><a href="https://www.classicpress.net/get-classicpress/#switch-to-classicpress" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">ClassicPress</span></a> with <a href="https://notiz.blog/projects/sempress/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">SemPress theme</span></a></li>
<li><a href="https://docs.astro.build/en/concepts/why-astro/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Astro</span></a></li>
<li><a href="https://docs.getpelican.com/en/latest/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Pelican</span></a></li>
<li>A docs generator?</li>
<li>A personal wiki?</li>
<li>Or something completely different?!</li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0523-105727/</id><title type="html">Signing Git Commits</title><link href="https://burgeonlab.com/notes/2026/0523-105727/"/><published>2026-05-23T18:57:27+08:00</published><updated>2026-05-24T10:14:34+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Getting a verified lock icon for my signed Git commits took longer than expected! It’s all set up now in the end via SSH keys (and not GPG keys).
Happy to learn how to start using signed Git commits GPG Didn’t WorkDuring my email migration from Tuta...</summary><content type="html"><![CDATA[<h1 id="signing-git-commits"><a href="#signing-git-commits" class="h-anchor" title="Permalink to #Signing Git Commits"><span class="inline-svg"></span></a>Signing Git Commits</h1><p>Getting a verified lock icon for my <a href="https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">signed Git commits</span></a> took longer than expected! It&rsquo;s all set up now in the end via SSH keys (and not GPG keys).</p>
<figure>
  <div class="img-container">
    <a href="/images/notes/ssh-git-commit-sign.webp" target="_blank" rel="noopener noreferrer"
       class="clickable-image">
      <img src="/images/notes/ssh-git-commit-sign.webp"
           alt="Screenshot of some commits in a repo on Codeberg called burgeonlab/gists with a green lock depicting the Git commit is verified" width="481" height="557">
    </a>
  </div>

<h2 id="gpg-didnt-work"><a href="#gpg-didnt-work" class="h-anchor" title="Permalink to #GPG Didn&amp;rsquo;t Work"><span class="inline-svg"></span></a>GPG Didn&rsquo;t Work</h2><p>During my email migration from Tuta to Mailbox.org, I started getting the hang of the idea of GPG keys. So I tried to start using it to sign my Git commits but it didn&rsquo;t work out in the end because I think these have to match:</p>
<ul>
<li>The GPG key&rsquo;s UID</li>
<li>The email on the hosted Git repository account (e.g. GitHub, Codeberg)</li>
<li>The local <code>git config --global user.email</code></li>
</ul>
<p>As I&rsquo;m using a different email for privacy purposes (spam prevention) in Git commits, it failed to verify on the new Codeberg repo. Creating a new SSH key pair just for signing commits worked in the end!</p>
<h2 id="new-gist-repository"><a href="#new-gist-repository" class="h-anchor" title="Permalink to #New Gist Repository"><span class="inline-svg"></span></a>New Gist Repository</h2><p>My new <a href="https://codeberg.org/burgeonlab/gists" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Gist repo</span></a> is now up on Codeberg!</p>
<p>I&rsquo;ve been meaning to get something like this started for a while. It&rsquo;s where I will store and keep code snippets I share up-to-date, especially useful as a resource for code-heavy, how-to posts. Decided to use this in the meantime instead of a paste bin service like OpenGist.</p>
<p>⁂ I will be updating my blog posts in due course to include a link to this repo.</p>
<h2 id="resources"><a href="#resources" class="h-anchor" title="Permalink to #Resources"><span class="inline-svg"></span></a>Resources</h2><ul>
<li><a href="https://opengist.io/docs/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">OpenGist</span></a></li>
<li><a href="https://dev.to/bad-logic/git-keeping-your-email-safe-in-public-repositories-16cg" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Git: Keeping your email safe in public repositories | Dev.to</span></a></li>
<li><a href="https://tobywf.com/2026/01/ditch-gnupg-signing-commits-with-ssh/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Ditching GPG/GnuPG by signing commits with SSH keys | Toby</span></a> — This post is useful, recommend it if you&rsquo;re also looking to use SSH instead of GPG keys for signing Git commits.</li>
<li><a href="https://oscarchou.com/posts/troubleshoot/gpg-signing-failed-inappropriate-ioctl-for-device/#root-cause-simple-explanation" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">[Git/GPG] Fix the &ldquo;Inappropriate ioctl for device&rdquo; Error when Signing GPG Keys | Oscar Chou</span></a> — While trying to set up GPG for signing, this error came up <code>gpg: signing failed: Inappropriate ioctl for device</code>. This post provided the fix.</li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0513-41843/</id><title type="html">Hantavirus and Andes virus 101</title><link href="https://burgeonlab.com/notes/2026/0513-41843/"/><published>2026-05-13T12:18:43+08:00</published><updated>2026-05-13T12:25:47+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">As a trained medical professional, I feel the need to inform and raise awareness of the latest MV Hondius (cruise ship) hantavirus outbreak in early May 2026.
Here is a quick rundown of facts about hantavirus in general, and the specific...</summary><content type="html"><![CDATA[<h1 id="hantavirus-and-andes-virus-101"><a href="#hantavirus-and-andes-virus-101" class="h-anchor" title="Permalink to #Hantavirus and Andes virus 101"><span class="inline-svg"></span></a>Hantavirus and Andes virus 101</h1><p>As a trained medical professional, I feel the need to inform and raise awareness of the latest MV Hondius (cruise ship) hantavirus outbreak in early May 2026.</p>
<p>Here is a quick rundown of facts about hantavirus in general, and the specific human-to-human transmissible strain called Andes virus involved in the current outbreak.</p>
<h2 id="general-facts-about-hantavirus"><a href="#general-facts-about-hantavirus" class="h-anchor" title="Permalink to #General facts about hantavirus"><span class="inline-svg"></span></a>General facts about hantavirus</h2><ul>
<li>
<p>Hantavirus comes primarily from rodents (but also seen, less commonly, in moles, shrews, and bats)</p>
</li>
<li>
<p>It is a <em>group</em> of viruses that cause disease in humans transmitted by:</p>
<ul>
<li>Contact with infected rodent secretions (urine, faeces, saliva)</li>
<li>Consuming food/water contaminated with said secretions</li>
<li>Bitten/scratched by an infected rodent</li>
</ul>
</li>
<li>
<p>There are two &ldquo;typical&rdquo; hantavirus clinical presentations:</p>
<ol>
<li>
<p>Hantavirus Cardiopulmonary Syndrome (HCPS) affects the heart and lungs and is the strain seen in North, Central and South America (which is the one currently involved in the May 2026 outbreak)</p>
</li>
<li>
<p>Haemorrhagic Fever with Renal Syndrome (HFRS) affects the kidneys mainly, and is seen in Europe and Asia (there&rsquo;s a higher incidence rate, i.e. more people get infected per year, but it has a lower fatality rate of around 12%)</p>
</li>
</ol>
</li>
</ul>
<h2 id="andes-virus"><a href="#andes-virus" class="h-anchor" title="Permalink to #Andes virus"><span class="inline-svg"></span></a>Andes virus</h2><ul>
<li>
<p>Most hantaviruses are not person-to-person transmissible (that we know of), except for a family called <strong>Andes virus</strong> which is found in South America, and is known to be transmissible between humans causing the more severe disease form, HCPS</p>
</li>
<li>
<p>Fatality rate of Andes virus is around 35-50% (so it&rsquo;s quite severe)</p>
</li>
<li>
<p>There is no targeted antiviral treatment or vaccine available for Andes virus, only supportive care</p>
</li>
</ul>
<h3 id="transmission"><a href="#transmission" class="h-anchor" title="Permalink to #Transmission"><span class="inline-svg"></span></a>Transmission</h3><ul>
<li>
<p>Person-to-person transmission of Andes virus is primarily by:</p>
<ul>
<li>Close contact / family clusters</li>
<li>Saliva and bodily fluids (e.g. via kissing, sharing utensils/drinks/vapes/shisha aka hookah/cigarettes, handling contaminated bedding)</li>
<li>Airborne droplets (coughing and sneezing)</li>
<li>Breast milk</li>
<li>Via the placenta from mother to fetus</li>
<li>Sexual partners (higher chance of transmission compared to non-sexual partners)</li>
<li>Touching a surface contaminated by virus (e.g. an infected person&rsquo;s saliva from a sneeze) and then touching your mouth, nose or eyes</li>
</ul>
</li>
<li>
<p>Incubation period (the time between exposure to an infection and the start of symptoms, in which the infection could be transmissible to others) of Andes virus is long; up to 42 days</p>
</li>
<li>
<p>Hantavirus can last on surfaces for up to 10 days in room temperature and more than 18 days in low temperatures (e.g. 4 °C)</p>
</li>
</ul>
<h3 id="prevention"><a href="#prevention" class="h-anchor" title="Permalink to #Prevention"><span class="inline-svg"></span></a>Prevention</h3><ul>
<li>
<p>Hantavirus can be inactivated by proper cleaning using:</p>
<ul>
<li>Heat (sustained 30 min at 60°C)</li>
<li>Detergents</li>
<li>UV radiation</li>
<li>Organic solvents (i.e. 70% ethanol)</li>
<li>Hypochlorite solutions (i.e. bleach)</li>
</ul>
</li>
<li>
<p>Other measures to reduce chance of infection:</p>
<ul>
<li>Wash your hands with soap <strong>thoroughly (minimum 20 seconds) and frequently!</strong></li>
<li>Wear a mask in crowded or in areas with poor air circulation/enclosed spaces (e.g. public transport) or when you are sick</li>
<li>If you work in areas where there are are rodent infestations, wear protective equipment like face coverings and respirators</li>
<li>Stay at home if you are sick, visit the doctor if you are having trouble breathing or have prolonged fever</li>
<li>Cover your mouth when sneezing or coughing when possible with a tissue and dispose of properly</li>
<li>Avoid touching your eyes, nose or mouth without washing your hands first</li>
<li>Follow rodent control protocols: store food properly and cut off water sources, maintain a clean environment, remove possible shelter or nesting areas, seal rodent entry points to buildings</li>
<li>Be extra cautious when dealing with rodent excretions by first wetting the area with a bleach solution before wiping it up to prevent the virus from becoming airborne (i.e. do not sweep or vacuum rodent droppings)</li>
</ul>
</li>
</ul>
<h2 id="sources"><a href="#sources" class="h-anchor" title="Permalink to #Sources"><span class="inline-svg"></span></a>Sources</h2><ul>
<li><a href="https://www.who.int/news-room/fact-sheets/detail/hantavirus" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Hantavirus | WHO</span></a></li>
<li><a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC7426369/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Biodefense Implications of New-World Hantaviruses | PubMed Central</span></a></li>
<li><a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC7101103/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Person-to-Person Transmission of Andes Virus in Hantavirus Pulmonary Syndrome, Argentina, 2014 | PubMed Central</span></a></li>
<li><a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC10459939/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Zoonotic Hantaviridae with Global Public Health Significance | PubMed Central</span></a></li>
<li><a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC5794350/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Outbreak of Seoul Virus Among Rats and Rat Owners — United States and Canada, 2017 | PubMed Central</span></a></li>
<li><a href="https://www.sciencedirect.com/science/article/abs/pii/S016817021400029X?via%3Dihub" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Hantaviruses and cardiopulmonary syndrome in South America | ScienceDirect</span></a></li>
<li><a href="https://www.clinicalmicrobiologyandinfection.org/article/S1198-743X%2815%2900536-4/fulltext" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Hantavirus infections | Clinical Microbiology and Infection</span></a></li>
<li><a href="https://en.wikipedia.org/wiki/Orthohantavirus" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Orthohantavirus | Wikipedia</span></a></li>
<li><a href="https://en.wikipedia.org/wiki/Hantavirus_infection" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Hantavirus infection | Wikipedia</span></a></li>
<li><a href="https://en.wikipedia.org/wiki/Andes_virus" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Andes virus | Wikipedia</span></a></li>
<li><a href="https://www.msdmanuals.com/home/infections/arboviruses-arenaviruses-filoviruses/hantavirus-infection" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Hantavirus Infection | MSD Manual</span></a></li>
<li><a href="https://www.cdc.gov/healthy-pets/rodent-control/index.html" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Controlling Wild Rodent Infestations | CDC</span></a></li>
<li><a href="https://www.cdc.gov/hygiene/about/cleaning-and-disinfecting-with-bleach.html" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Cleaning and Disinfecting with Bleach | CDC</span></a></li>
<li><a href="https://dph.illinois.gov/topics-services/diseases-and-conditions/diseases-a-z-list/diseases/hantavirus.html" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Hantaviruses | DPH Illinois</span></a></li>
<li><a href="https://www.myhsn.co.uk/top-tip/what-is-the-andes-strain-of-hantavirus-and-can-it-pass-human-to-human/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">What is the Andes Strain of Hantavirus | My HSN UK</span></a></li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0512-1385/</id><title type="html">Fixed Mac Mini M1 (2020) Disk Corruption</title><link href="https://burgeonlab.com/notes/2026/0512-1385/"/><published>2026-05-12T21:08:05+08:00</published><updated>2026-05-13T09:38:51+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Hurray!
Before The drive corruption warning is fixed after first turning off FileVault and repairing the Macintosh-HD volume via the terminal in Recovery Mode.
Find the name of the disk to fix, mine is disk3.
Bash 1diskutil list 2diskutil unmountDisk...</summary><content type="html"><![CDATA[<h1 id="fixed-mac-mini-m1-2020-disk-corruption"><a href="#fixed-mac-mini-m1-2020-disk-corruption" class="h-anchor" title="Permalink to #Fixed Mac Mini M1 (2020) Disk Corruption"><span class="inline-svg"></span></a>Fixed Mac Mini M1 (2020) Disk Corruption</h1><p>Hurray!</p>
<figure>
  <div class="img-container">
    <a href="/images/notes/diskutil-corrupt.webp" target="_blank" rel="noopener noreferrer"
       class="clickable-image">
      <img src="/images/notes/diskutil-corrupt.webp"
           alt="Screenshot of the logs in First Aid Disk Utility on Mac showing a corruption in disk3s1 volume and needs to be repaired." width="455" height="430">
    </a>
  </div>

<p>The drive corruption warning is fixed after first turning off FileVault and repairing the Macintosh-HD volume via the terminal in Recovery Mode.</p>
<ol>
<li>
<p>Find the name of the disk to fix, mine is <code>disk3</code>.</p>
<figure class="code-block"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash"><span class="line"><span class="ln">1</span><span class="cl">diskutil list
</span></span><span class="line"><span class="ln">2</span><span class="cl">diskutil unmountDisk /dev/disk3</span></span></code></pre></div></li>
<li>
<p>Run repairs with flags: <code>-T</code> for tree node repair, <code>-o</code> for repair over allocations, and <code>-W</code> for treating warnings as errors.</p>
<figure class="code-block"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash"><span class="line"><span class="ln">1</span><span class="cl">fsck_apfs -ToW /dev/disk3s3</span></span></code></pre></div></li>
<li>
<p>Restart, run the First Aid again on the AFPS Data volume and the errors should be gone. xattr messages related to snapshots will be gone when the snapshots are removed. (To <a href="https://eclecticlight.co/2022/02/10/managing-snapshots-how-to-stop-them-eating-free-space/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">remove snapshots</span></a>, go to View in Disk Utility &gt; Show AFPS Snapshots and delete the old ones if you have a lot.)</p>
</li>
<li>
<p>Turn FileVault back on.</p>
</li>
</ol>
<figure>
  <div class="img-container">
    <a href="/images/notes/diskutil-fixed.webp" target="_blank" rel="noopener noreferrer"
       class="clickable-image">
      <img src="/images/notes/diskutil-fixed.webp"
           alt="Screenshot of the logs in First Aid Disk Utility on Mac showing the corruption is fixed." width="464" height="433">
    </a>
  </div>

<p>Kinda happy I don&rsquo;t need to reinstall the system. And thanks again to <a href="https://fosstodon.org/@adamsdesk/116547139085937273" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Adam</span></a> who kindly helped out!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0507-91551/</id><title type="html">Skipped Weeknote and Mac Disk Corruption</title><link href="https://burgeonlab.com/notes/2026/0507-91551/"/><published>2026-05-07T17:15:51+08:00</published><updated>2026-05-08T00:15:07+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">I’m feeling poorly myself for the past week (have an appointment tomorrow with the doctor), so unfortunately my weeknote for 2026-W18 will be cancelled. Not only am I not feeling well, my Mac Mini is also acting up, reporting that the primary data...</summary><content type="html"><![CDATA[<h1 id="skipped-weeknote-and-mac-disk-corruption"><a href="#skipped-weeknote-and-mac-disk-corruption" class="h-anchor" title="Permalink to #Skipped Weeknote and Mac Disk Corruption"><span class="inline-svg"></span></a>Skipped Weeknote and Mac Disk Corruption</h1><p>I&rsquo;m feeling poorly myself for the past week (have an appointment tomorrow with the doctor), so unfortunately my weeknote for 2026-W18 will be cancelled. Not only am I not feeling well, my Mac Mini is also acting up, reporting that the primary data volume is corrupt and needs to be repaired.</p>
<p>What triggered me to do a scan in Disk Utility was Dictionary kept crashing. Disk Utility&rsquo;s <a href="https://support.apple.com/en-gb/102611" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">First Aid</span></a> claims there&rsquo;s corruption and will try to fix it, and that it is OK (fixed); but repeating the scan results in the same three messages.</p>
<p>Relevant logs:</p>
<figure class="code-block"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-txt"><span class="line"><span class="ln">1</span><span class="cl">The volume Macintosh HD - Data was formatted by newfs_apfs (2235.0.13) and last modified by apfs_kext (2332.140.13).
</span></span><span class="line"><span class="ln">2</span><span class="cl">warning: inode (id 57148693): Resource Fork xattr is missing or empty for compressed file
</span></span><span class="line"><span class="ln">3</span><span class="cl">The volume /dev/rdisk3s1 was found to be corrupt and needs to be repaired.
</span></span><span class="line"><span class="ln">4</span><span class="cl">Performing deferred repairs.
</span></span><span class="line"><span class="ln">5</span><span class="cl">The volume /dev/rdisk3s1 appears to be OK.
</span></span><span class="line"><span class="ln">6</span><span class="cl">File system check exit code is 0.</span></span></code></pre></div><p>I&rsquo;ve already tried running the relevant <code>fsck_apfs</code> commands in Recovery Mode, but that results in another error: <code>failed to enable crypto I/O mode for container /dev/rdisk3: invalid argument</code>. So my next step will be to try again after turning off FireVault. If that also fails, I will inevitably have to <a href="https://support.apple.com/en-gb/102664" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">&ldquo;Erase All Content and Settings&rdquo;</span></a>.</p>
<p>Oh and I already ran a hardware <a href="https://support.apple.com/en-us/102550" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">diagnostic scan</span></a> and it doesn&rsquo;t report any hardware issues—so at least that&rsquo;s a good sign. My conspiracy theory is Apple wants me to upgrade to Tahoe so it&rsquo;s giving me these issues. 🤣</p>
<p>Here&rsquo;s a few relevant links if you are have similar issues:</p>
<ul>
<li><a href="https://forums.macrumors.com/threads/disk-utility-errors-first-aid.2395199/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Disk Utility Errors - First Aid | MacRumors</span></a></li>
<li>The Eclectic Light Co. is a site by Dr. Howard Oakley and there&rsquo;s often lots of good articles about Macs, like this one that goes through how to <a href="https://eclecticlight.co/2025/06/17/when-and-how-should-you-run-first-aid-in-disk-utility/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">use Disk Utility correctly</span></a> and useful apps like <a href="https://eclecticlight.co/mints-a-multifunction-utility/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Mints</span></a>, which can help you check inode IDs. Highly recommend this blog for Mac users.</li>
</ul>
<p>Hope it doesn&rsquo;t require a repair&hellip; 🤞</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0430-104551/</id><title type="html">Adding Features to Open Source Projects</title><link href="https://burgeonlab.com/notes/2026/0430-104551/"/><published>2026-04-30T18:45:51+08:00</published><updated>2026-05-01T10:30:03+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Ever since setting up Indiekit for adding Micropub capabilities to my Hugo blog, I have only used its web UI to post notes, photos, and likes (haven’t tried other clients yet). The interface is not bad, but one thing that that bugs me is how links...</summary><content type="html"><![CDATA[<h1 id="adding-features-to-open-source-projects"><a href="#adding-features-to-open-source-projects" class="h-anchor" title="Permalink to #Adding Features to Open Source Projects"><span class="inline-svg"></span></a>Adding Features to Open Source Projects</h1><p>Ever since setting up <a href="https://getindiekit.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Indiekit</span></a> for adding <a href="https://indieweb.org/Micropub" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Micropub</span></a> capabilities to my Hugo blog, I have only used its web UI to post notes, photos, and likes (haven&rsquo;t tried other <a href="https://indieweb.org/Micropub/Clients" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">clients</span></a> yet). The interface is not bad, but one thing that that bugs me is how links are handled in the text field. I am so used to directly pasting in URLs into highlighted text and have it automatically become a Markdown link (like in Obsidian / VS Codium / GitHub).</p>
<h2 id="improving-indiekits-markdown-links"><a href="#improving-indiekits-markdown-links" class="h-anchor" title="Permalink to #Improving Indiekit&amp;rsquo;s Markdown Links"><span class="inline-svg"></span></a>Improving Indiekit&rsquo;s Markdown Links</h2><p>Not only is this not a feature on Indiekit; it was quite clunky. Here&rsquo;s how it goes now: (1) select the link text, (2) click on the editor toolbar &lsquo;Create link&rsquo; button or <code>ctrl+k</code> keyboard shortcut, (3) the selected text will remain selected and a <code>[ ]</code> will be appended to the beginning and end with <code>(https://)</code> attached, (4) now move the cursor to the bracket, (5) delete the <code>https://</code>, and lastly (6) paste the link from the clipboard. This will generate a <code>[selected text](https://link-i-want-to-share.com)</code>.</p>
<p>For me that was too much. I want to be able to: (1) select the text and (2) <code>ctrl+v</code>. Finished. Or if I want to use the button, (1) select text, (2) press create link button, and (3) <code>ctrl+v</code> (cursor is already inside the empty <code>()</code> so it just pastes correctly in one go). Done.</p>
<p>And that&rsquo;s what I did! I created a <a href="https://github.com/getindiekit/indiekit/pull/845/changes" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">PR</span></a> that was relatively simple (I did require some guidance from <code>qwen2.5-coder</code> in Ollama) and didn&rsquo;t take that many lines of code. I hope <a href="https://paulrobertlloyd.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Paul</span></a> will merge it so the feature can be used by others. Or else, I will need to learn how to &ldquo;install&rdquo; (? I don&rsquo;t know the right term for this) the feature so I can have it in my Indiekit server.</p>
<p>I&rsquo;m still quite new to contributing to FOSS projects, but I will try my best to learn and contribute back to projects I use and love! (Which reminds me I need to update / revamp my <a href="/contributions/"><span class="ext-text">/⁠contributions</span></a> page&hellip;)</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0430-6241/</id><title type="html">Improvements for Code Blocks and Snippets Demos</title><link href="https://burgeonlab.com/notes/2026/0430-6241/"/><published>2026-04-30T14:24:01+08:00</published><updated>2026-05-01T18:50:17+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">I’m currently writing a post on how to use a Bash script with Termux. In the past, when I have code snippets / code blocks present in the post, I will make comments inside the code. This results in an utter mess of code + comments mixed together (I...</summary><content type="html"><![CDATA[<h1 id="improvements-for-code-blocks-and-snippets-demos"><a href="#improvements-for-code-blocks-and-snippets-demos" class="h-anchor" title="Permalink to #Improvements for Code Blocks and Snippets Demos"><span class="inline-svg"></span></a>Improvements for Code Blocks and Snippets Demos</h1><p>I&rsquo;m currently writing a post on how to use a Bash script with Termux. In the past, when I have code snippets / code blocks present in the post, I will make comments <strong>inside</strong> the code. This results in an utter mess of code + comments mixed together (I can&rsquo;t unsee it now).</p>
<p>A few weeks ago at a Homebrew Website Club, <a href="https://rossabaker.com/configs/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Ross</span></a> mentioned a term I&rsquo;ve not heard before called <a href="https://en.wikipedia.org/wiki/Literate_programming" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">literate programming</span></a>, which got me thinking on how to improve my code-heavy posts/guides. <em>(Thanks Ross for introducing it to me.)</em></p>
<p>I will eventually go back to all the posts that have comments in the code, clean it up for a &ldquo;ready-to-run&rdquo; version, and offer explanations separately if required.</p>
<h2 id="paste-bins"><a href="#paste-bins" class="h-anchor" title="Permalink to #Paste Bins"><span class="inline-svg"></span></a>Paste Bins</h2><p>Another thing I&rsquo;m thinking of implementing is improved ways for sharing code. I think a Pastebin service (similar to GitHub Gists) would be a good option (although originally I was thinking of creating a Git repo to store all my code examples). <a href="https://chrisburnell.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Chris</span></a> told me about <a href="https://github.com/thomiceli/opengist" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">OpenGist</span></a>, which is an open source version of GitHub Gist and it is the way to go as I am not happy to rely on GitHub. This means it will be easier to manage the shared snippets and keep them updated than being in code blocks within Markdown posts.</p>
<p>I&rsquo;ll be grateful if anyone has any feedback or experience regarding this topic, thanks!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0425-45036/</id><title type="html">Unfortunately I have my first driving lesson today (in…</title><link href="https://burgeonlab.com/notes/2026/0425-45036/"/><published>2026-04-25T12:50:36+08:00</published><updated>2026-07-10T18:28:22+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Unfortunately I have my first driving lesson today (in the simulator) clashing with my first ever IndieWebCamp event. The 2-day event is an in-person event, with remote participation available. It’s held at Düsseldorf.
I’m really excited to see the...</summary><content type="html"><![CDATA[<p>Unfortunately I have my first driving lesson today (in the simulator) clashing with my first ever IndieWebCamp event. The 2-day event is an in-person event, with remote participation available. It&rsquo;s held at Düsseldorf.</p>
<p>I&rsquo;m really excited to see the presentations and demos from the talented and cool humans part of this community! I hope to get some tasks done myself during the camp probably on Day 2; namely starting the Instagram import I&rsquo;ve been meaning to work on since the start of the year.</p>
<p>Relevant Links:</p>
<ul>
<li><a href="https://time.is/D%c3%bcsseldorf" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Local Time</span></a></li>
<li><a href="https://events.indieweb.org/2026/04/-indiewebcamp-d%c3%bcsseldorf-ewHCZehNA3gg" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Event Page</span></a></li>
<li><a href="https://indieweb.org/2026/D%c3%bcsseldorf" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Event Wiki Page</span></a></li>
<li><a href="https://etherpad.indieweb.org/2026-04-25-iwc-dus" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Day 1 Etherpad (collaborative notes)</span></a></li>
<li><a href="https://etherpad.indieweb.org/2025-04-26-iwc-dus" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Day 2 Etherpad</span></a></li>
<li><a href="https://chat.indieweb.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">IRC Chat</span></a></li>
<li><a href="https://feed.city/c/dan/l/IWC&#43;DUS&#43;2026" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Feed of Participants by Dan</span></a></li>
</ul>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0422-9555/</id><title type="html">This is the first time I’m using my new Pi Docker…</title><link href="https://burgeonlab.com/notes/2026/0422-9555/"/><published>2026-04-22T17:55:05+08:00</published><updated>2026-04-22T21:31:33+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">This is the first time I’m using my new Pi Docker version of the Indiekit Micropub server while I’m out! Wrote about my journey in the latest weeknote if you’re interested.
And tomorrow is another IndieWeb Homebrew Website Club; where I’ll be a...</summary><content type="html"><![CDATA[<p>This is the first time I&rsquo;m using my new Pi Docker version of the <a href="https://github.com/getindiekit/indiekit" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Indiekit Micropub</span></a> server while I&rsquo;m out! Wrote about my journey in the latest <a href="/weknotes/2026/w16/"><span class="ext-text">weeknote</span></a> if you&rsquo;re interested.</p>
<p>And tomorrow is another <a href="https://events.indieweb.org/2026/04/homebrew-website-club-eastern-onNTNillQ5qA" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">IndieWeb Homebrew Website Club</span></a>; where I&rsquo;ll be a stand-in moderator for the first time. 😊 The more, the merrier—I&rsquo;d love to see new faces!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0417-214636/</id><title type="html">Came across a site called DI.Day. It’s currently only…</title><link href="https://burgeonlab.com/notes/2026/0417-214636/"/><published>2026-04-17T21:46:36+08:00</published><updated>2026-04-17T21:46:52+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Came across a site called DI.Day. It’s currently only available in Deutsch, with English possibly coming soon. It purposes that every first Sunday of the month is “Digital Independence Day”, where people are encouraged to break free from Big Tech....</summary><content type="html"><![CDATA[<p>Came across a site called <a href="https://di.day/de" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">DI.Day</span></a>. It&rsquo;s currently only available in Deutsch, with English possibly coming soon. It purposes that every first Sunday of the month is “Digital Independence Day”, where people are encouraged to break free from Big Tech.</p>
<p>The artwork and designs are bold and welcoming, and of course, I’m very appreciative of the information and educational nature of the site. I came across it on Mastodon when <a href="https://mastodon.social/@bearly_creative/116404295603024546" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">@bearina</span></a> shared she did some de-googling!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0411-103833/</id><title type="html">Despite the disruption message still on status.sr.ht,…</title><link href="https://burgeonlab.com/notes/2026/0411-103833/"/><published>2026-04-11T18:38:33+08:00</published><updated>2026-05-24T10:21:50+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Despite the disruption message still on status.sr.ht, SourceHut has been back up for me today. So I took the chance to implement what I worked on in the local bin/bash script a few days ago, into a version that works on the alpine/latest CI runner...</summary><content type="html"><![CDATA[<p>Despite the disruption message still on <a href="https://status.sr.ht/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">status.sr.ht</span></a>, SourceHut has been back up for me today. So I took the chance to implement what I <a href="https://burgeonlab.com/notes/2026/0408-3421/"><span class="ext-text">worked on</span></a> in the local <code>bin/bash</code> script a few days ago, into a version that works on the <code>alpine/latest</code> CI runner which uses <code>bin/sh</code>. I didn&rsquo;t know this before—there&rsquo;s two different <a href="https://www.geeksforgeeks.org/computer-networks/difference-between-sh-and-bash/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">command-line shells</span></a>, <code>sh</code> is the original using POSIX and <code>bash</code> which is the one with more features (which I use on the Mac).</p>
<p>I&rsquo;m really chuffed to have implemented a much leaner <a href="https://man.sr.ht/builds.sr.ht/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">build manifest</span></a> for my continuous integration (CI) workflow. I reduced the build log verbosity significantly with <code>-quiet</code> or <code>-silent</code> flags, continued to use <code>set +x</code> to disable command logging and <a href="https://man.sr.ht/builds.sr.ht/#keeping-your-secrets-a-secret" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">protect secrets</span></a> from being exposed, and used a Makefile successfully for the first time!</p>
<p>Will try to make a post on it in the future—I&rsquo;m behind in terms of my finishing a few draft posts lately&hellip; Anyway, happy to learn about sh shell and Makefiles!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0409-85755/</id><title type="html">I use Mermaid diagrams occasionally on my Hugo blog. It…</title><link href="https://burgeonlab.com/notes/2026/0409-85755/"/><published>2026-04-09T08:57:55+08:00</published><updated>2026-04-14T11:36:03+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">I use Mermaid diagrams occasionally on my Hugo blog. It came with the theme I had so I learnt to use it. Just now as I was working on a draft post, I decided to make a diagram, and found out nothing was rendering at all for the whole site. I am not...</summary><content type="html"><![CDATA[<p>I use <a href="https://mermaid.js.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Mermaid diagrams</span></a> occasionally on my Hugo blog. It came with the <a href="https://github.com/hugo-theme-anubis2/hugo-theme-anubis2" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">theme I had</span></a> so I learnt to use it. Just now as I was working on a draft post, I decided to make a diagram, and found out nothing was rendering at all for the whole site. I am not sure when/what caused it, but I couldn&rsquo;t fix it quickly last night, so I resorted to using their latest ESM JS via CDN for now.</p>
<p>There&rsquo;s a new release about a week ago, <a href="https://github.com/mermaid-js/mermaid/releases/tag/mermaid@11.14.0" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">version 11</span></a>.</p>
<p>I always try to serve resources locally, but I don&rsquo;t think saving just the <code>mermaid.esm.min.mjs</code> is working for me; there are lots of chunk files? 🤔 I&rsquo;m not familiar with #Javascript and #ESM. I guess I have to use <a href="https://www.jsdelivr.com/package/npm/mermaid" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">cdn.sdelivr.net</span></a> version for now only on pages with the <code>mermaid = true</code> parameter&hellip;</p>
<p>Maybe I need to look into using <a href="https://d2lang.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">D2</span></a> as an alternative. I already use it for <a href="https://burgeonlab.com/blog/generate-dynamic-og-images-diagram-with-code-scripts/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">generating OG images</span></a>. I wonder what it requires to run on the front-end or maybe I should just use the .SVG or .PNG output.</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0408-3421/</id><title type="html">My blog relies on SourceHut (aka sr.ht) Git repo and…</title><link href="https://burgeonlab.com/notes/2026/0408-3421/"/><published>2026-04-08T11:42:01+08:00</published><updated>2026-05-24T10:16:40+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">My blog relies on SourceHut (aka sr.ht) Git repo and Builds (their continuous integration/CI, like GitHub Actions). They’ve been down for around two days and I couldn’t deploy my site to my static host, Bunny Storage (this is my affiliate link, I...</summary><content type="html"><![CDATA[<p>My <a href="https://burgeonlab.com" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">blog</span></a> relies on <a href="https://sourcehut.org/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">SourceHut</span></a> (aka sr.ht) Git repo and Builds (their continuous integration/CI, like GitHub Actions). They&rsquo;ve been <a href="https://status.sr.ht/issues/2026-04-06-ddos-attack/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">down</span></a> for around two days and I couldn&rsquo;t deploy my site to my static host, <a href="https://bunny.net/?ref=k4vc3x5108" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Bunny Storage</span></a> (this is my affiliate link, I really like them, thanks for your support!)</p>
<p>This triggered me to create a local script that runs all the fetch and build steps as an alternative pathway to uploading my <code>/public</code> folder to Bunny.net directly from my Mac. It works! I took the chance to upgrade the upload method from SFTP to HTTP API too, which is more secure.</p>
<p>Once SourceHut is back up, I will also update my <code>build.yml</code> to use a Makefile, which will be a first for me—it should make the YAML a lot cleaner and the CI logs much shorter.</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0325-165827/</id><title type="html">After discovering TiddlyWiki from @jbaty, I went ahead…</title><link href="https://burgeonlab.com/notes/2026/0325-165827/"/><published>2026-03-26T00:58:27+08:00</published><updated>2026-05-24T10:16:04+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">After discovering TiddlyWiki from @jbaty, I went ahead to give FeatherWiki (a lightweight version of TW) a spin as a personal brain-dump bin. I really like how it’s just a lightweight, 58kb HTML file!
I used it on Android but failed to get it working...</summary><content type="html"><![CDATA[<p>After discovering <a href="https://tiddlywiki.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">TiddlyWiki</span></a> from <a href="https://baty.net/posts/2026/03/four-blogs-and-a-wiki/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">@jbaty</span></a>, I went ahead to give <a href="https://feather.wiki/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">FeatherWiki</span></a> (a lightweight version of TW) a spin as a personal brain-dump bin. I really like how it&rsquo;s just a lightweight, 58kb HTML file!</p>
<p>I used it on Android but failed to get it working due to Android Storage Access Framework (SAF) limitations. I ended using the amazing <a href="https://wiki.termux.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Termux</span></a> (<a href="/blog/hugo-on-android-with-termux/"><span class="ext-text">once again</span></a>) to run <a href="https://frippery.org/busybox/httpd.html" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Busybox&rsquo;s httpd</span></a>, automate the whole process of opening, serving, and saving back to my <a href="https://syncthing.net/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Syncthing</span></a> directory with a Bash script (security hardened browsers don&rsquo;t allow selecting download destination easily). It&rsquo;s running surprisingly smooth.</p>
<p>One downside I thought of immediately is that all the entries will be in one single file, not individual notes/entries. But there&rsquo;s a <a href="https://feather.wiki/?page=extensions_import-export" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">plugin</span></a> for that!</p>
<p><strong>Update:</strong> The post on <a href="/blog/feather-wiki-brain-dump-app/"><span class="ext-text">how I use Feather Wiki</span></a> is up!</p>
<p>It was really satisfying to get it working. Do you use a Wiki software for blogging or other uses? Let me know!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0314-9523/</id><title type="html">I haven’t used Indiekit to post anything recently!…</title><link href="https://burgeonlab.com/notes/2026/0314-9523/"/><published>2026-03-14T17:52:03+08:00</published><updated>2026-03-18T00:10:12+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">I haven’t used Indiekit to post anything recently! Quick update on the blog: I’ve been busy working on my new Hugo theme redesign—learnt to use Git branches, forked the Anubis2 theme code so I could squash unused/overriding CSS rules, trying to...</summary><content type="html"><![CDATA[<p>I haven&rsquo;t used Indiekit to post anything recently! Quick update on the blog: I&rsquo;ve been busy working on my new Hugo theme redesign—learnt to use Git branches, forked the Anubis2 theme code so I could squash unused/overriding CSS rules, trying to redesign the theme to make it more a11y-friendly, etc. I think I&rsquo;ll miss my current theme; but I will still push on with the redesign.</p>
<p>On an unrelated note, it&rsquo;s the second F1 race this weekend (China) and I decided to create a <a href="https://cryptpad.disroot.org/sheet/#/2/sheet/view/cbWglbv&#43;ITBuh-7vioazteFjfrMb8EmoxJKXzJwJSlQ/embed/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">spreadsheet</span></a> to track my F1 Fantasy progress for the first time! I recommended some <a href="/weeknotes/2026/w10/#formula-1-2026"><span class="ext-text">leagues</span></a> to join if you&rsquo;re interested.</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0219-42828/</id><title type="html">At today’s IndieWeb Homebrew Website Club: Pacific…</title><link href="https://burgeonlab.com/notes/2026/0219-42828/"/><published>2026-02-19T12:28:28+08:00</published><updated>2026-02-19T12:28:28+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">At today’s IndieWeb Homebrew Website Club: Pacific event, we covered lots of different topics—RSS, ATProto, poll platforms, CMSes, databases, upvotes, YAML, etc . During the event, something @fractalkitty and @joelchrono said alerted me to two...</summary><content type="html"><![CDATA[<p>At today&rsquo;s IndieWeb <a href="https://events.indieweb.org/2026/02/homebrew-website-club-pacific-Bj9jWBNYSpTG" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Homebrew Website Club: Pacific</span></a> event, we covered lots of different topics—RSS, ATProto, poll platforms, CMSes, databases, upvotes, YAML, etc . During the event, something <a href="https://banjomagpi.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">@fractalkitty</span></a> and <a href="https://joelchrono.xyz/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">@joelchrono</span></a> said alerted me to two relatively &ldquo;serious&rdquo; bugs on my site (thanks you two!)</p>
<ol>
<li>Pagefind search was broke because of a new BunnyCDN edge rule I added for appending trailing slash to all URLs (forgot to exclude <code>/pagefind/*</code>)</li>
<li>My <a href="https://burgeonlab.com/posts/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">blog archive</span></a> list hid my <a href="https://burgeonlab.com/#top-ten" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Top 10 posts</span></a> which uses Hugo&rsquo;s front matter <code>weight = 1</code> parameter.</li>
</ol>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2026/0117-4110/</id><title type="html">Halfway during my Indiekit setup, I decided to use this…</title><link href="https://burgeonlab.com/notes/2026/0117-4110/"/><published>2026-01-17T12:11:00+08:00</published><updated>2026-01-26T00:30:46+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">Halfway during my Indiekit setup, I decided to use this opportunity to start using Codeberg with Gitea plugin as my content store instead of staying on GitHub. Although I had already moved all my personal repos (like my blogs’ source code and CI to...</summary><content type="html"><![CDATA[<p>Halfway during my <a href="https://getindiekit.com/" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Indiekit</span></a> setup, I decided to use this opportunity to start using Codeberg with <a href="https://getindiekit.com/plugins/stores/gitea" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">Gitea plugin</span></a> as my content store instead of staying on GitHub. Although I had already moved all my personal repos (like my blogs&rsquo; source code and CI to SourceHut already in 2025), I want to start using Codeberg as my main Git host (Gitea/Forgejo has a lot more integration support than SourceHut).</p>
<p>Using Codeberg for the first time was painless compared to learning SourceHut; it looks and feels similar to GitHub. I did unfortunately experienced, two nights in a row, of Codeberg server downtime, but both lasted less than 30m I&rsquo;d say. I think it will only get better as Codeberg gets more popular from <a href="https://fosstodon.org/tags/giveupgithub" target="_blank" class="ext-link" rel="noopener noreferrer"><span class="ext-text">#GiveupGithub</span></a> movement.</p>
<p>Getting back to Indiekit—having the content store (the place where Indiekit Markdown files are stored) separate from my Hugo source code meant I had to figure out a way to get the .md files from Codeberg &gt; SourceHut.</p>
<p>I worked out a relatively simple way of doing it in both CI and local without using Git Submodules or Git Subtree (which was a bit confusing). This note will test if it is working in SourceHut Builds CI&hellip; Sorting this last hurdle means I will be able to start writing my guide!</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry><entry><id>https://burgeonlab.com/notes/2025/1225-3150/</id><title type="html">This is a test note published using Indiekit. It…</title><link href="https://burgeonlab.com/notes/2025/1225-3150/"/><published>2025-12-25T11:15:00+08:00</published><updated>2026-02-16T23:12:22+08:00</updated><author><name>Naty S</name><email>naty@eclecticpassions.net</email></author><summary type="text">This is a test note published using Indiekit. It includes tags.</summary><content type="html"><![CDATA[<p>This is a test note published using Indiekit. It includes tags.</p>

    <hr><p><i>[For up-to-date content, visit <a href="https://burgeonlab.com/">BurgeonLab</a> directly (XML feeds don't fetch updates in real-time). For topic-specific feeds, visit <a href="https://burgeonlab.com/subscribe/">/subscribe</a>. Thanks for reading my blog using a RSS reader!]</i></p>
    ]]></content></entry></feed>