<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>The Quantum Garden</title>
      <link>https://quantumgardener.info</link>
      <description>A digital garden cultivating the possibilities of life.</description>
      <copyright>© David C. Buchan 2002–2026</copyright>
      <generator>Quartz -- quartz.jzhao.xyz</generator>
      <managingEditor>qg.info@mail.buchan.org (David Buchan)</managingEditor>
      <webMaster>qg.info@mail.buchan.org (David Buchan)</webMaster>
      <atom:link href="https://quantumgardener.info/index.xml" rel="self" type="application/rss+xml" />
      <lastBuildDate>Sun, 12 Jul 2026 00:45:49 GMT</lastBuildDate>
      <docs>https://www.rssboard.org/rss-specification</docs>
      <image>
        <url>https://quantumgardener.info/static/qg-image-500.jpg</url>
        <title>The Quantum Garden</title>
        <link>https://quantumgardener.info</link>
      </image>
      <item>
      <title>A short pause in blogging</title>
      <link>https://quantumgardener.info/notes/a-short-pause-in-blogging</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/a-short-pause-in-blogging</guid>
      <description><![CDATA[ <p>My efforts to <a href="../notes/migrating-from-quartz-4-to-quartz-5" class="internal internal-link alias" data-slug="notes/migrating-from-quartz-4-to-quartz-5">Migrating from Quartz 4 to Quartz 5</a> are almost complete with only a couple of must-do items remaining. However, I’ve reached an inflection point where design decisions in the new system rely on several note structure changes for index pages (<a href="../blog" class="internal internal-link" data-slug="blog">Blog</a>, <a href="../now" class="internal internal-link" data-slug="now">Now</a>) and I don’t want to be changing back and forth to get a post out. I’m better off pushing for completion and making hard decisions for that to occur.</p>
<p>My hope is to have it all ready to go by the end of this upcoming weekend.</p>
<p>Before cutting over I need to:</p>
<ul class="contains-task-list">
<li class="task-list-item is-checked" data-task="x"><input type="checkbox" checked class="checkbox-toggle"> Resolve some index page formatting and linking issues</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Replace the site menu</li>
<li class="task-list-item is-checked" data-task="x"><input type="checkbox" checked class="checkbox-toggle"> Add callout styling</li>
<li class="task-list-item is-checked" data-task="x"><input type="checkbox" checked class="checkbox-toggle"> If needed, create redirects for blog, cmdrs-log, now at the root level</li>
</ul><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22A%20short%20pause%20in%20blogging%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Thu, 09 Jul 2026 00:46:00 GMT</pubDate>
    </item><item>
      <title>Now, 5 July 2026</title>
      <link>https://quantumgardener.info/notes/now,-5-july-2026</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/now,-5-july-2026</guid>
      <description><![CDATA[ <p>I’m working to get a <a href="../now" class="internal internal-link" data-slug="now">Now</a> post out each Sunday evening. This is my third in a row, and it almost didn’t happen. After making remaking the bed and putting my clothes away I just want to sit down and chill out in front of whatever rubbish is on TV. I didn’t get any other post out this week either.</p>
<p>Last week at work was a struggle. A combination of not being able to push projects forward and I think some bouncing back after the full-on week before. All I can do when it’s like this is push forward one step at a time: one conversation at a time.</p>
<h2 id="reading">Reading<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#reading" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>I’ve finished <em>Bakker (2004), The Warrior Prophet</em> and am looking forward to the third and final book in the series. Replacing that on my <a href="../notes/kobo" class="internal internal-link" data-slug="notes/kobo">Kobo</a> reading list is <em>Wang (2019), The Sword of Kaigen</em> and on my walk today I started <em>King (2004), The Song of Susannah</em>, the penultimate book of <a href="../notes/the-dark-tower" class="internal internal-link alias" data-slug="notes/the-dark-tower">The Dark Tower</a>.</p>
<h2 id="gaming">Gaming<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#gaming" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>My <a href="../notes/cities-skylines-ii" class="internal internal-link alias" data-slug="notes/cities-skylines-ii">Cities Skylines II</a> city is in trouble. I’ve lost $40m due to be being overbudget and because I don’t understand why, I can’t recover it. Thankfully, it’s not real life and I can start another city. A limitation of this one has been suitable flat ground for industry.</p>
<p><a href="../notes/ghost-of-yotei" class="internal internal-link alias" data-slug="notes/ghost-of-yotei">Ghost of Yotei</a> didn’t get a look in this week at all. Instead I spent time this afternoon with my new exploration vehicle, the Nomad, in <a href="../notes/elite---dangerous" class="internal internal-link alias" data-slug="notes/elite---dangerous">Elite: Dangerous</a>. I enjoy tripping around space on my own.</p>
<h2 id="website-development">Website development<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#website-development" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>A couple of major advances in <a href="../notes/migrating-from-quartz-4-to-quartz-5" class="internal internal-link alias" data-slug="notes/migrating-from-quartz-4-to-quartz-5">Migrating from Quartz 4 to Quartz 5</a>. Today I sorted out lists of posts. They still look crap, but the content is there and that’s what matters. I can fix the formatting.</p><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Now%2C%205%20July%202026%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Sun, 05 Jul 2026 09:43:00 GMT</pubDate>
    </item><item>
      <title>Now, 28 June 2026</title>
      <link>https://quantumgardener.info/notes/now,-28-june-2026</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/now,-28-june-2026</guid>
      <description><![CDATA[ <p>I’d like to get a <a href="../now" class="internal internal-link" data-slug="now">Now</a> post out every Sunday evening. Today’s will be shorter than <a href="../notes/now,-21-june-2026" class="internal internal-link alias" data-slug="notes/now,-21-june-2026">Now, 21 June 2026</a>.</p>
<p>It was a week of <a href="../notes/good-work" class="internal internal-link alias" data-slug="notes/good-work">Good work</a>, with a lot completed and very little sense of time passing. By the end I was weary-tired and content/proud of what I’d managed to complete. Even three days later, that feels like it was the totality of my week.</p>
<p>I put my learning from <em>Flores (2013), Conversations For Action and Collected Essays</em> into practice and spent a lot of time observing the types of conversations I was participating in, and the quality of commitments being made.</p>
<p>I elected to skip my weekly gym session on Friday morning and got my quarterly haircut instead. Though gym is my choice, the regularity of it made me feel like it was something I had to do, and after the week at work, I didn’t want any more “had to do.” After my haircut and walking the dog, I spent a lot of the day <a href="../notes/migrating-from-quartz-4-to-quartz-5" class="internal internal-link alias" data-slug="notes/migrating-from-quartz-4-to-quartz-5">Migrating from Quartz 4 to Quartz 5</a> with some good progress made. That was wrapped up with some more progress just before this post. I feel like I’ve broken the back of it in my understanding, even if not practically near the finish line.</p>
<p>This morning, my wife and I toured around the local Sunday market and the headed to Bunnings for a sprayer and some more rat poison. Our lawn has too much grass in it and I sprayed for what I now know to be “Winter grass”. It’s too prevalent and will stop the buffalo from returning to full strength. What can get through is the best growth I’ve seen after fertilising in the last couple of months.</p>
<h2 id="reading">Reading<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#reading" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>I’m currently reading:</p>
<ul>
<li><em>Flores (2013), Conversations For Action and Collected Essays</em></li>
<li><em><a href="../notes/proust-(1913),-swann’s-way" class="internal internal-link alias" data-slug="notes/proust-(1913),-swann’s-way">Proust (1913), Swann’s Way</a></em>: more than half way</li>
<li><em>Pratchett (1996), Feet of Clay</em> (audiobook):[^3] continuing my way through the <a href="../notes/discworld" class="internal internal-link" data-slug="notes/discworld">Discworld</a> series</li>
<li><em>Bakker (2004), The Warrior Prophet</em>: continuing strongly from the first book in <em>The Prince of Nothing</em> series with a group of complex characters and antagonists.</li>
</ul>
<p>Recently finished</p>
<ul>
<li><em>Pratchett (1996), Feet of Clay</em> (audiobook)</li>
</ul>
<p>I need to select a new audiobook. Might continue The Mistborn Saga.</p>
<h2 id="gaming">Gaming<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#gaming" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>More hours into <a href="../notes/cities-skylines-ii" class="internal internal-link alias" data-slug="notes/cities-skylines-ii">Cities Skylines II</a> and <a href="../notes/ghost-of-yotei" class="internal internal-link alias" data-slug="notes/ghost-of-yotei">Ghost of Yotei</a>, at least until the new exploration ship in <a href="../notes/elite---dangerous" class="internal internal-link alias" data-slug="notes/elite---dangerous">Elite: Dangerous</a> comes out on Tuesday.</p><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Now%2C%2028%20June%202026%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Sun, 28 Jun 2026 09:09:00 GMT</pubDate>
    </item><item>
      <title>Unsustainable shame</title>
      <link>https://quantumgardener.info/notes/unsustainable-shame</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/unsustainable-shame</guid>
      <description><![CDATA[ <p><a href="https://jmac.org" class="external external-link">Jason McIntosh’s<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> article, <a href="https://fogknife.com/2026-06-21-being-kind-to-my-dumbass-self.html" class="external external-link">Being kinder to my dumbass past self<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> resonated with me strongly as I too, have a dumbass self that likes to periodically remind me of things I’m ashamed of. Like Jason, these are situations where I said something I shouldn’t have, or feel like I’ve done something I shouldn’t. The thoughts in my head are full of blame and fear. If someone turned up wanting to hold me to account then I might not be surprised. No crimes or anything like that; simply situations where I’ve stepped outside my values.</p>
<p>I’m holding an assessment that a standard has been violated and I should be punished. The emotion that manifests is Shame and <em>Sieler (2007), Coaching to the Human Soul, Volume II</em> provides a way to look at these linguistically.</p>
<p>Shame lives in the place of violating community standards and that’s important to remember when the situation being replayed is from the past. I have seen many community standards change over my life, almost always for the better, and I can certainly recognise times where I acted in alignment with what my culture taught me was expected. The linguistic breakdown of shame is:</p>
<ul>
<li>I assert that I did (or did not do) x.</li>
<li>I assess that I should not have (or should have) done x.</li>
<li>I assess that doing (or not doing) x breaks the standards of the community that I live in.</li>
<li>I assess that this negatively affects my public identity.</li>
<li>I declare my willingness to face the community’s judgement to repair any damage to my identity.</li>
</ul>
<p>That second line is the one I want to look at further. It’s an <a href="../notes/assessment" class="internal internal-link" data-slug="notes/assessment">Assessment</a> that I’ve broken a standard. This is a judgement made by me and therefore it’s my responsibility to make sure it’s grounded. The Grounding Assessments process requires I answer 5 questions, with detailed responses to at least the first 4.</p>
<ol>
<li>For the sake of what future action?</li>
<li>In which particular domain of action?</li>
<li>According to what standards?</li>
<li>What true assertions support the assessment?</li>
<li>What true assertions are there against the assessment?</li>
</ol>
<p>Recently my wife and I were travelling. We were one of several busses transferring people from the hotel to the airport checkin, and were aware from the driver of more busses arriving at the same time for a flight later than ours. Normally I’m happy to wait my turn and after all, the plane wasn’t going to leave without us. This day was different. Many people meant fewer available seats in the terminal and it was important I take care of my wife and get her a seat “at all costs”. She was unable to stand for any length of time. In short, I pretty much pushed us to the front of the queue. And I feel guilt about it because I violated my standards. At the time, if I’d been challenged I would have apologised and redressed the situation. I wasn’t asked to and in some ways, there is a loop unclosed.</p>
<p>Coming back to grounding the assessment that I’ve broken a standard, the answer is yes. I don’t dispute that as a fact. When asked to ground the <a href="../notes/assessment" class="internal internal-link" data-slug="notes/assessment">Assessment</a> about shame that is making me feel so bad long after the event, I can’t answer the first question. The response to “For the sake of what future action?” is difficult to answer because there is no valid future action at all. Like Jason said, it’s not possible to apologise to the people hurt or seek atonement. It’s certain nobody in the queue that day is going to come up to me now and demand an apology.</p>
<p>The standard I broke was mine. I’m the person that feels bad about it. The only person I can say sorry to is me and as I finish this exploration of those moments when my mind decides I need to be judged, I feel that saying sorry and moving towards <a href="../notes/acceptance" class="internal internal-link" data-slug="notes/acceptance">Acceptance</a> is the only way to let go.</p><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Unsustainable%20shame%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Tue, 23 Jun 2026 09:06:00 GMT</pubDate>
    </item><item>
      <title>Now, 21 June 2026</title>
      <link>https://quantumgardener.info/notes/now,-21-june-2026</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/now,-21-june-2026</guid>
      <description><![CDATA[ <p>This update has been two weeks or more in the making. I’ve spent a couple of weekends “intending” to write and never getting there. Last Sunday I got as far as jotting down reminders in a journal entry. Of course, another week has passed and more has happened.</p>
<h2 id="a-destination-reached">A destination reached<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#a-destination-reached" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>I first thought of “Bringing humanity to the workplace” in January 2012 after it surfaced in my mind from some quiet listening. I’d been reading <a href="../notes/sources/levoy-(1997),-callings" class="internal internal-link alias" data-slug="notes/sources/levoy-(1997),-callings">Callings</a>, and was in a place (often visited) of trying to determine the meaning in my life. Early last year I made some public statements at work that this was important to me, and I intended to focus on it. What quickly became clear was, though I know the concept/sentiment is right for me, I couldn’t actually explain what it meant. I had the vision but not the understanding.</p>
<p>That all changed recently as a series of conversations triggered connections, which triggered more conversations and more connections. It’s happened so fast and so deeply that I can’t even be sure I’m remembering correctly.</p>
<p>I recognise there is a difference between practical and conceptual learning. I believe strongly that today’s technology has passed many people by because the conceptual learning necessary to adapt has been missed. I see people suffer because they don’t know what I know and are hampered by <a href="../notes/allies-and-enemies-of-learning" class="internal internal-link alias" data-slug="notes/allies-and-enemies-of-learning">Allies and enemies of learning</a> invisible to them.</p>
<p>My first connection was realising I could write about technology through the lens of <a href="../notes/allies-and-enemies-of-learning" class="internal internal-link alias" data-slug="notes/allies-and-enemies-of-learning">Allies and enemies of learning</a>; over time listing out the large set with examples and strategies to overcome them. Since all the ways we learn are tied into our <a href="../notes/way-of-being" class="internal internal-link alias" data-slug="notes/way-of-being">Way of Being</a>, I will be able to add considered depth to each.</p>
<pre><button class="expand-button" aria-label="Expand mermaid diagram" data-view-component><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor"><path d="M3.72 3.72a.75.75 0 011.06 1.06L2.56 7h10.88l-2.22-2.22a.75.75 0 011.06-1.06l3.5 3.5a.75.75 0 010 1.06l-3.5 3.5a.75.75 0 11-1.06-1.06l2.22-2.22H2.56l2.22 2.22a.75.75 0 11-1.06 1.06l-3.5-3.5a.75.75 0 010-1.06l3.5-3.5z"></path></svg></button><code class="mermaid" data-clipboard="&#x22;flowchart TD\n\tA[Way of Being] --> B[Allies and Enemies of Learning]\n\tB --> C[Increased Digital Competency]&#x22;">flowchart TD
	A[Way of Being] --> B[Allies and Enemies of Learning]
	B --> C[Increased Digital Competency]
</code><div id="mermaid-container" role="dialog"><div id="mermaid-space"><div class="mermaid-content"></div></div></div></pre>
<p>When I first made this connection, arguably years after I should have, I was close to tears with relief. After all this time I had a way forward. Then a couple of weeks later, I was thinking about training for a client and remembered the <a href="../notes/13-recurrent-domains-of-human-concern" class="internal internal-link alias" data-slug="notes/13-recurrent-domains-of-human-concern">13 Recurrent Domains of Human Concern</a>. Yep, “Literacy” was one of the concerns so I could draw upon that. Except my memory was wrong. It’s not literacy but Education, which is broader. A little research took me from the initial paper I read when doing my Graduate Diploma of Ontological Coaching course back to the source material of <a href="../notes/fernando-flores" class="internal internal-link alias" data-slug="notes/fernando-flores">Fernando Flores</a> and Flores (2013), Conversations For Action and Collected Essays.<sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">1</a></sup> My memory of the domains was that competence in each was necessary to be an adult in today’s world. Locking onto this one phrase, meant I’d created a checklist of competencies to develop and that’s why my thoughts returned to that regarding digital literacy. Check it off, and you’re good to go. I’m grateful to now be looking at the domains through fresh eyes.</p>
<p>Now, broadly speaking, I can define <a href="../notes/humanity-in-the-workplace" class="internal internal-link alias" data-slug="notes/humanity-in-the-workplace">Humanity in the workplace</a><sup><a href="#user-content-fn-2" id="user-content-fnref-2" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">2</a></sup> as a combination of <a href="../notes/legitimate-other" class="internal internal-link alias" data-slug="notes/legitimate-other">Legitimate other</a>, <a href="../notes/core-concern" class="internal internal-link alias" data-slug="notes/core-concern">Core concerns</a> and <a href="../notes/way-of-being" class="internal internal-link alias" data-slug="notes/way-of-being">Way of Being</a>.</p>
<pre><button class="expand-button" aria-label="Expand mermaid diagram" data-view-component><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor"><path d="M3.72 3.72a.75.75 0 011.06 1.06L2.56 7h10.88l-2.22-2.22a.75.75 0 011.06-1.06l3.5 3.5a.75.75 0 010 1.06l-3.5 3.5a.75.75 0 11-1.06-1.06l2.22-2.22H2.56l2.22 2.22a.75.75 0 11-1.06 1.06l-3.5-3.5a.75.75 0 010-1.06l3.5-3.5z"></path></svg></button><code class="mermaid" data-clipboard="&#x22;flowchart TD\n\tA[Way of Being] --> B[Allies and Enemies of Learning]\n\tB --> C[Increased Digital Competency]\n\tD[Legitimate Other] --> A\n\tE[Domains of Concern] -->A&#x22;">flowchart TD
	A[Way of Being] --> B[Allies and Enemies of Learning]
	B --> C[Increased Digital Competency]
	D[Legitimate Other] --> A
	E[Domains of Concern] -->A
</code><div id="mermaid-container" role="dialog"><div id="mermaid-space"><div class="mermaid-content"></div></div></div></pre>
<p>The title of this section is <a href="#a-destination-reached" class="internal internal-link alias">A destination reached</a>. It’s the first, not the last of my journey.</p>
<h2 id="reading">Reading<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#reading" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>I’m currently reading:</p>
<ul>
<li><em>Flores (2013), Conversations For Action and Collected Essays</em></li>
<li><em><a href="../notes/proust-(1913),-swann’s-way" class="internal internal-link alias" data-slug="notes/proust-(1913),-swann’s-way">Proust (1913), Swann’s Way</a></em>: more than half way</li>
<li><em>Pratchett (1996), Feet of Clay</em> (audiobook):<sup><a href="#user-content-fn-3" id="user-content-fnref-3" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">3</a></sup> continuing my way through the <a href="../notes/discworld" class="internal internal-link" data-slug="notes/discworld">Discworld</a> series</li>
<li><em>Bakker (2004), The Warrior Prophet</em>: continuing strongly from the first book in <em>The Prince of Nothing</em> series with a group of complex characters and antoganists.</li>
</ul>
<p>Recently finished</p>
<ul>
<li><em>Sanderson (2016), Mistborn: Secret History</em>: listened to the audiobook as I’m doing with the whole of The Mistborn Saga. I recommend this close to finishing book 3.</li>
<li><em><a href="../notes/le-cunff-(2025),-tiny-experiments" class="internal internal-link alias" data-slug="notes/le-cunff-(2025),-tiny-experiments">Le Cunff (2025), Tiny Experiments</a></em>: the most important idea from this book is the benefit in conducting small learning experimental projects. It’s very close to <a href="../notes/second-order-learning" class="internal internal-link alias" data-slug="notes/second-order-learning">Second-order learning</a> in that success or failure isn’t the goal, but what’s learned about the goal and yourself along the way.</li>
<li><em>Tchaikovsky (2019), Children of Ruin</em>: too long a journey for the destination reached.</li>
<li><em>Clarke (2004), Jonathan Strange &#x26; Mr Norrell</em> (audiobook): second reading and I enjoyed it enough but I’m unlikely to revisit this title again.</li>
</ul>
<h2 id="gaming">Gaming<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#gaming" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>With a bit of <a href="../notes/elite---dangerous" class="internal internal-link alias" data-slug="notes/elite---dangerous">Elite: Dangerous</a>, most of my time has been put into <a href="../notes/cities-skylines-ii" class="internal internal-link alias" data-slug="notes/cities-skylines-ii">Cities Skylines II</a> and <a href="../notes/ghost-of-yotei" class="internal internal-link alias" data-slug="notes/ghost-of-yotei">Ghost of Yotei</a>. I’m enjoying both and each has a different way to relax me. Cities is creative and Yotei is violent!</p>
<h2 id="writing">Writing<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#writing" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>Two articles I’m very happy with as they reflect the new connections I’ve made above.</p>
<ul>
<li><a href="../notes/the-human-side-of-digital-literacy" class="internal internal-link alias" data-slug="notes/the-human-side-of-digital-literacy">The human side of digital literacy</a></li>
<li><a href="../notes/the-cost-of-saying-no,-then-doing-it-anyway" class="internal internal-link alias" data-slug="notes/the-cost-of-saying-no,-then-doing-it-anyway">The cost of saying no, then doing it anyway</a></li>
</ul>
<h2 id="hobby">Hobby<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#hobby" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>It’s winter and cool enough for me to work on my <a href="../notes/danish-ships-cross-stitch" class="internal internal-link alias" data-slug="notes/danish-ships-cross-stitch">Danish ships cross-stitch</a>. I’d like to be doing some every night, but have found on the days I work I can’t be bothered to in the evening.</p>
<h2 id="music">Music<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#music" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ul>
<li>Natalie Imbruglia</li>
<li>Andreas Vollenweider</li>
<li><a href="https://music.apple.com/au/album/comfortably-numb-re-imagined-single/6777279108" class="external external-link">Comfortably Numb Re-Imagined by Roger Waters and Mona Miari<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> - simply amazing</li>
</ul>
<h2 id="miscellanous">Miscellanous<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#miscellanous" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>Too much time is being spent <a href="../notes/migrating-from-quartz-4-to-quartz-5" class="internal internal-link alias" data-slug="notes/migrating-from-quartz-4-to-quartz-5">Migrating from Quartz 4 to Quartz 5</a>.</p>
<p>We’ve ordered a new reclining sofa and chair for the house, and replacing some old blinds.</p>
<section data-footnotes="" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#footnote-label" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ol>
<li id="user-content-fn-1">
<p>My course pre-dates this collection. Nevertheless, it’s source material. <a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
<li id="user-content-fn-2">
<p>I need to revisit this but on a first reading, what I wrote in early 2025 was pretty close. Trust yourself more David! <a href="#user-content-fnref-2" data-footnote-backref="" aria-label="Back to reference 2" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
<li id="user-content-fn-3">
<p>I’m unsure yet about linking to books without a page, or if I should be linking to author (year) for fiction over non-fiction. Creating the link means I have it should I ever create the page, but I end up with missing links. Without the link, I may have missing references. <a href="#user-content-fnref-3" data-footnote-backref="" aria-label="Back to reference 3" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
</ol>
</section><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Now%2C%2021%20June%202026%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Sun, 21 Jun 2026 03:11:00 GMT</pubDate>
    </item><item>
      <title>The cost of saying no, then doing it anyway</title>
      <link>https://quantumgardener.info/notes/the-cost-of-saying-no,-then-doing-it-anyway</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/the-cost-of-saying-no,-then-doing-it-anyway</guid>
      <description><![CDATA[ <p>When a Request is declined, or withdrawn, and a person goes ahead and does the work anyway, relationships are impacted in hidden ways.</p>
<p>I often rely on my colleagues for technical information. Obtaining it means making a Request of someone, detailing what I need, why and by when. Since others are busy with their own workloads they will sometimes decline, unable to meet my needs. Alternatively, I may assess they cannot, even if they have not said so explicitly.<sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">1</a></sup> In the latter case I’ll clearly say, “That’s ok. I’ll chase it up with someone else.”</p>
<p>Too frequently the first person I make the request of comes back 10–30 minutes later with an answer. Even with a clearly withdrawn request, people can continue working on gathering information because they genuinely want to help. Positive intention, disruptive impact. I find that frustrating because:</p>
<ul>
<li>They found the time. Were they insincere when they said the couldn’t help? Can I trust what they say next time? (I don’t believe this is the case because people genuinely want to help)</li>
<li>I’ve lost time chasing a second person to assist.</li>
<li>That second person is creating work I no longer need, requiring me to go back to them and manage a potentially negative impact on their sincerity assessment of my actions for asking them to do something another was working on. Did I really need them to help?</li>
<li>My assessment of the first person’s reliability may fall, because the do not do what they say (or in this case do what we agreed they wouldn’t)</li>
</ul>
<p>Whatever help is provided, is negated by the cost of extra Work.</p>
<p>I have a role to play in resolving this pattern to my satisfaction and for the proper care of others. Firstly, I need to be more certain the person has heard me withdraw my Request and that I expect nothing from them. In fact, I require nothing from them. I need to help them understand that’s ok. It’s not a failure of them that they cannot help. Running in the background for me is concern for their welfare as well.</p>
<p>Secondly, I want to acknowledge that my initial mood may impact how people hear “That’s ok. I’ll chase it up with someone else.” If I’m asking from a background mood of frustration (I can’t do my work that I need to do now because I don’t have the information I need), then it’s possible what they hear is resentment-laden assertiveness where my frustration is clearly communicated. It can happen and isn’t directed at the person but the situation. I have to be more careful of that in the future as it’s not my intention to come across that way and when my mood colours what I say, it can create an emotional burden for the other person. And, even if I do that successfully, it may not fully resolve things because people respond emotionally out of their own concerns as well as logically.</p>
<section data-footnotes="" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#footnote-label" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ol>
<li id="user-content-fn-1">
<p>Culturally, saying “No” is not impossible, but it is difficult. <a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
</ol>
</section><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22The%20cost%20of%20saying%20no%2C%20then%20doing%20it%20anyway%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Fri, 12 Jun 2026 00:42:00 GMT</pubDate>
    </item><item>
      <title>The human side of digital literacy</title>
      <link>https://quantumgardener.info/notes/the-human-side-of-digital-literacy</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/the-human-side-of-digital-literacy</guid>
      <description><![CDATA[ <p>I am profoundly sad to live in a world where computers specifically, and technology more broadly, are only understood by a few, yet relied upon by so many. I’m an educator at heart, and usually describe my job as being “to make your job easier,” so I’ve been <a href="../notes/sitting-in-the-question" class="internal internal-link alias" data-slug="notes/sitting-in-the-question">Sitting in the question</a> for quite some time about improving digital literacy.</p>
<p>Digital literacy is fundamental to a person’s Dignity, and their ability to participate with value in today’s society. Skills training is not the answer. Education that covers the concepts, backed by skills training is.</p>
<p>I’ll first deal with my assessment that learning conceptual knowledge (digital literacy) is more important than learning just technical skills alone (digital competency) and for that I’ll use the <em><a href="https://digital-skills-jobs.europa.eu/en/initiatives/european-initiatives/digital-competence-framework-digcomp" class="external external-link">EU Digital Competence Framework (DigComp)<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a></em><sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">1</a></sup> and files, because it’s a fundamental concept many people have difficulty with. I agree with the intention and categories in <em>DigComp</em>, but believe it assumes knowledge people don’t have. For that I’ll use a couple of related <em>DigComp</em> standards to highlight how easy it is to overlook concepts in favour of technical skills.</p>
<ul>
<li><strong>CS1.3.03 (Basic level)</strong>: “Download, save, retrieve, move and delete digital files”</li>
<li><strong>CS1.3.07 (Advanced level)</strong>: “Apply naming convention to digital files and hierarchies to digital folders”</li>
</ul>
<p>What’s a digital file?</p>
<p>Today’s file based technologies have not yet reached Asimov’s definition of magic, unless we mean they are so difficult to understand they may as well be magic. The two standards above assume you understand what a file actually is because each of the actions apart from “save” which initially creates a file, need you to conceptually understand that a file is a named object that stores information for later retrieval, has a location and can exist as multiple versions over time.<sup><a href="#user-content-fn-2" id="user-content-fnref-2" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">2</a></sup> Naming conventions have nothing to do with files. A file called “shopping list” can also be called “asdfp897”. Naming conventions are about search and retrieval by your <a href="../notes/future-self" class="internal internal-link alias" data-slug="notes/future-self">Future self</a> and to be fair, <em>DigComp</em> does have this in a section on “Information search, evaluation and management”.</p>
<p>With this concept in place, I contend that it’s easier to understand:</p>
<ul>
<li>Different file types</li>
<li>Why coping a file to a USB can be a security problem</li>
<li>Why malicious actors want access to files that store personal information</li>
</ul>
<p>Technology continues to outpace education and when we fail as a society to impart conceptual knowledge people lose agency. In a digital world, the loss of agency translates into a loss of Dignity and becomes a barrier to taking care of other fundamental human concerns.<sup><a href="#user-content-fn-3" id="user-content-fnref-3" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">3</a></sup> What we see as a technology problem is actually a human problem. A person who incapable of using the technology in front of them may be unable to take care of the following domains of human concern.</p>
<ul>
<li>Dignity: Assess they are worthless because “<a href="../notes/i&#x27;m-no-good-at-computers" class="internal internal-link alias" data-slug="notes/i&#x27;m-no-good-at-computers">I’m no good at computers</a>” when they’ve never been educated in what they need to be functional.</li>
<li>Sociability: Lacking the ability to coordinate action alongside those who are more digitally literate than themselves, risking exclusion through an inability to participate (at all, or at comparable speed). They may be held to an unfair assessment of competency and if I don’t think you are competent to address my concerns, I won’t involve you.</li>
<li>Work: Unable to do the work required of their job in a way that meets expected standards.</li>
<li>Career: Feel purposeless and unable to set a direction in life</li>
<li>Money: Unable to earn enough money to survive</li>
<li>Education: Build upon what they know and increase their ability to take care of other concerns because basic principles are missing</li>
</ul>
<p>In other words, a person lacking the training they need will have difficulty working with others, face unnecessary financial pressure (or be seen as a “cost”), underestimate their value and generally have such a shit time they leave.</p>
<p>Ironically we’ve been “trained” to think training is the right answer and missed the human concern concept that underpins its necessity. Never have we been taught to see the humanity we all share. It matters to me that I do what I can to help people recover their missing dignity and make their lives easier.</p>
<section data-footnotes="" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#footnote-label" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ol>
<li id="user-content-fn-1">
<p>I’m referring to <em>DigComp 3.0</em>. <a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
<li id="user-content-fn-2">
<p>One of the hardest concepts for people to understand is versioning and version control because they miss these fundamentals. <a href="#user-content-fnref-2" data-footnote-backref="" aria-label="Back to reference 2" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
<li id="user-content-fn-3">
<p>See <a href="../notes/13-recurrent-domains-of-human-concern" class="internal internal-link alias" data-slug="notes/13-recurrent-domains-of-human-concern">13 Recurrent Domains of Human Concern</a>. <a href="#user-content-fnref-3" data-footnote-backref="" aria-label="Back to reference 3" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
</ol>
</section><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22The%20human%20side%20of%20digital%20literacy%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Thu, 04 Jun 2026 23:41:00 GMT</pubDate>
    </item><item>
      <title>Migrating from Quartz 4 to Quartz 5</title>
      <link>https://quantumgardener.info/notes/migrating-from-quartz-4-to-quartz-5</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/migrating-from-quartz-4-to-quartz-5</guid>
      <description><![CDATA[ <p><a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> 5 has been released and with it a formidable plugin structure. I use Quartz to generate a static HTML website from <a href="../notes/the-quantum-garden-vault" class="internal internal-link alias" data-slug="notes/the-quantum-garden-vault">The Quantum Garden Vault</a> and since I began using it in September 2023 have made many tweaks to align it with my vision. I’m now in a position where I have to make many of those tweaks once again.</p>
<blockquote class="callout note" data-callout="note">
<div class="callout-title">
                  <div class="callout-icon"></div>
                  <div class="callout-title-inner"><p>Progress below </p></div>
                  
                </div>
<div class="callout-content">
<p>I’m adding <a href="#progress" class="internal internal-link alias">Progress</a> notes below.<sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">1</a></sup> It’s slow going.</p>
</div>
</blockquote>
<h2 id="what-did-i-change">What did I change?<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#what-did-i-change" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>The most important change I made was to eliminate links to pages that do not exist. Links between pages are created automatically. However, if a page links to another page that is not published, the link is still created and readers do not know any different until they are shown “Page not found.” In my mind, this is inexcusable and lazy. The system is capable of identifying pages that do not exist, so any internal links should be removed. Within <a href="../notes/obsidian" class="internal internal-link" data-slug="notes/obsidian">Obsidian</a> such links are valid. Clicking them creates the new page, yet the published website does not offer that functionality.</p>
<p>I (and others) modified the code to remove links that don’t exist and I extended it further to remove all sign of the link having ever existed in the first place. This lets me write public notes referring to people and places of importance to me, with no privacy leak. If my friend’s name is Mary Smith, then I write <code>[[Mary Smith|my friend]]</code>, and all readers see, even if they look at the source code of the HTML page is <code>my friend</code>. But for me, in <a href="../notes/obsidian" class="internal internal-link" data-slug="notes/obsidian">Obsidian</a> the link is still relevant and active.</p>
<p>The next major change was to gain greater control over which pages were included and which were filtered out. I discuss that at length in <a href="../notes/merging-public-and-private-notes---three-lines-of-defence-in-quartz-4" class="internal internal-link alias" data-slug="notes/merging-public-and-private-notes---three-lines-of-defence-in-quartz-4">Merging Public and Private Notes: Three Lines of Defence in Quartz 4</a>.</p>
<p>Following that, the remainder of customisations were navigation or formatting in nature. I added previous and next page links, modified tags on the fly, made headings and fonts consistent across modules, and replaced the explorer tree navigation with a custom crafted list of page links.</p>
<h2 id="choosing-to-upgrade">Choosing to upgrade<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#choosing-to-upgrade" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p><a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> 5 fundamentally breaks everything I’ve built; in a good way. Thankfully, I don’t need to upgrade all at once and hold off on any website changes until I’ve translated over my code so I can take it slowly.<sup><a href="#user-content-fn-2" id="user-content-fnref-2" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">2</a></sup></p>
<p>The first reason for upgrading to <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> 5 is to keep up with security. Though my website is static and has very little running code, it’s always good to be on the latest version for security reasons. If I stay on the old version, underlying technologies may change and I’ll be forced to make more changes than I care to understand for the sake of currency. Site creation may even break, as occurred recently when an underlying library change broke some of my filtering. Running the current version reduces this risk greatly.</p>
<p>Secondly, <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> 5 has some very clever plugins that convert Obsidian Canvas and Obsidian Base formats for web display. As of today I only have one canvas and I can’t convert it so the image is not linked, but I have many bases and displaying them natively cuts directly across several of my customisations making them irrelevant and creating a better experience for me and my readers.</p>
<p>Finally, <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> 5 introduces a very strong plugin architecture. It allows me to make my changes independently from the core code, lets me easily disable functions I don’t want, and makes it easier for me to tweak code from other developers easily. Disabling some features in the past meant commenting out code I didn’t want to run, at the risk of an update putting it back. That risk has gone.</p>
<h2 id="a-staged-upgrade">A staged upgrade<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#a-staged-upgrade" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>I’ve learned a lot in the last couple of days since the <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> 5 release; about the architecture of the new version and how I need to best manage it for the way I think. So far,</p>
<ol>
<li>I’ve configured a local clone rather than a fork. With the plugin architecture there is less value in me sharing my changes. I have no intention of pushing changes upstream to the main codebase.</li>
<li>I’ve created my first plugin. It replicates what was covered in <a href="../notes/merging-public-and-private-notes---three-lines-of-defence-in-quartz-4" class="internal internal-link alias" data-slug="notes/merging-public-and-private-notes---three-lines-of-defence-in-quartz-4">Merging Public and Private Notes: Three Lines of Defence in Quartz 4</a>. Filtering is critical to my note organisation so this was the obvious first case. The next will be removing links with a transformer plugin. My plugins will be hosted locally meaning I don’t have to worry about any private information leaking out should I need to include it. I’ve yet to decide if changes to public plugins will be a clone or a fork.</li>
<li>I added an <code>en-AU</code> localisation in preparation for formatting dates and currency to Australian locales. This is the only change to the base code so far.</li>
</ol>
<p>Today will be removing links and understanding how styles work. I’ll test bases and decided how best to use the <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> concept of folder notes, and where bases can replace them. One thing I’m looking forward to is removing the need for the <a href="../notes/obsidian-dataview-serializer-plugin" class="internal internal-link alias" data-slug="notes/obsidian-dataview-serializer-plugin">Obsidian Dataview Serializer plugin</a>. It’s been great and solved a very particular <a href="../notes/obsidian" class="internal internal-link" data-slug="notes/obsidian">Obsidian</a> → website display problem but with the ability to display bases directly from the original file, I won’t need it anymore. I will also likely get dates sorted as I have custom date fields that I may no longer need.</p>
<h2 id="what-have-i-learned">What have I learned<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#what-have-i-learned" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>The plugin template has a test harness built in. It was the first time I have ever used one and took great comfort building and running tests for my filter plugin. I am confident it’s working as planned and it greatly reduced the code → build → test cycle.</p>
<p>The <code>content</code> folder is symlinked and indirectly caused my a round of 7+ rebuilds of the whole environment until I understood why my files were disappearing. Eventually I realised that when I added <code>content</code> to <code>.gitignore</code> the files went. It happens that <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> uses <em>fastglob</em> for generating the list of files and it honours <code>.gitignore</code> so when I added it, the folder’s contents were ignored. The trick was to specify <code>!content</code> instead.</p>
<h2 id="progress">Progress<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#progress" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<h3 id="outstanding-items">Outstanding items<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#outstanding-items" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<ul>
<li>
<p>Must do before new site rollout</p>
<ul class="contains-task-list">
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Replace Explorer</li>
</ul>
</li>
<li>
<p>Can do after new site rollout</p>
<ul class="contains-task-list">
<li>RSS feeds
<ul class="contains-task-list">
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Transcludes <span class="text-highlight">May be tricky to do without duplicating a lot of code</span></li>
</ul>
</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Add <a href="../notes/webmentions" class="internal internal-link" data-slug="notes/webmentions">Webmentions</a></li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Add <a href="../notes/tinylytics" class="internal internal-link" data-slug="notes/tinylytics">tinylytics</a> heart icon</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Test table formatting cssclasses</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Change the return to footnote source icon away from the ugly arrow.</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Site tagline</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Buy me a coffee</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Inter page navigation not filtered by blog</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Randomise front page images from my flickr library?</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> TOC needs to be longer when only a couple of items, e.g. <a href="../notes/now,-5-july-2026" class="internal internal-link alias" data-slug="notes/now,-5-july-2026">Now, 5 July 2026</a></li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Design a better 404 page</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Test Obsidian Base</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Filter future dated notes</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Date shown on virtual index pages</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Replace /notes/index.md with Notes</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Test dark mode</li>
<li class="task-list-item" data-task=" "><input type="checkbox" class="checkbox-toggle"> Images not previewing properly from index pages</li>
</ul>
</li>
</ul>
<h3 id="30-may-2026">30 May 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#30-may-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<blockquote class="callout warning" data-callout="warning">
<div class="callout-title">
                  <div class="callout-icon"></div>
                  <div class="callout-title-inner"><p>Backup, backup, backup </p></div>
                  
                </div>
<div class="callout-content">
<p>At one point I accidentally replaced 2,000 markdown files with HTML. It took a matter of seconds. Thankfully I had last night’s backup. Well, I say “thankfully” but that’s why I backup every night. The <a href="../notes/obsidian-sync" class="internal internal-link alias" data-slug="notes/obsidian-sync">Obsidian Sync</a> was already underway. Had I been relying on that for my “backup” I would have been in very big trouble.</p>
</div>
</blockquote>
<p>Fixing the date error was easily. I conformed my system to <code>created/modifed</code> instead of <code>datetime/updated</code>. It meant a few template changes were required, yet very easy using the excellent <a href="../notes/notebook-navigator-plugin" class="internal internal-link alias" data-slug="notes/notebook-navigator-plugin">Notebook Navigator plugin</a>.</p>
<p>I am pleased to say I have all filtering and link removal working as required. I’m not pleased that link removal has taken 8 hours. I started with a Transformer, then an Emitter and finally a PageType emitter. I thought plugins ran in the order given, but they are first grouped by transform → filter → emit, so my transformer could not remove links for pages that were filtered out afterwards. My first go at an emitter worked, but no styling, just HTML, and the final PageType version looked great, but also failed with pages that had been filtered. Strangely, when <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> filters out pages, it does not update the main list of pages it’s generating.</p>
<p>From here on in, the changes are structural and cosmetic.</p>
<h3 id="31-may-2026">31 May 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#31-may-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>Again, what should have been easy wasn’t.</p>
<p>Out of the box the site looked horrible. I changed the fonts as per the previous version, and the current instructions without effect. It transpires there was a theme plugin also added that was overriding my expected changes. I’m not the only one to have suffered this and it may just be those coming from <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> 4.</p>
<p>I thought I’d start with the footer next. Three hours later… it is up and running. Admittedly I’ve made some copy and layout changes but most of the time was trying to work out what was required. Multiple web pages open comparing code that worked, to my code that didn’t. At least an hour lost because I’d typed “footer” instead of “afterBody”, then a bit more time because defaults were not being picked up.</p>
<p>As a whole the system is not as modular as I’d like. I use <a href="../notes/tinylytics" class="internal internal-link" data-slug="notes/tinylytics">tinylytics</a> and there is a way to have it registered automatically. What’s not there is any mechanism to add a couple of other flags. That requires direct modification of the site-generation backend. Although I expect such changes to be fewer now with the new plugin system, I’ve already had to make a couple and so will resurrect tracking <a href="../notes/customisations-of-quartz-for-the-quantum-garden" class="internal internal-link alias" data-slug="notes/customisations-of-quartz-for-the-quantum-garden">Customisations of Quartz for The Quantum Garden</a>.</p>
<h3 id="8-june-2026">8 June 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#8-june-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>I’m learning. <a href="../notes/backlink" class="internal internal-link alias" data-slug="notes/backlink">Backlinks</a> were easy to get working. Although I only changed a title and added a sort. <em>Recent notes</em> took longer, mostly getting the formatting right. At least I’m not fighting the system now and making each change knowing what I’m after. Recent notes are ordering by modified, and not creation date but that’s for another day. I want to make a change so that † indicator for an updated note is shown, just like it is in the notes listings anyway.</p>
<h3 id="10-june-2026">10 June 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#10-june-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>In the past I the display and ordering date of a note was created, with an indicator if it had been modified. <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> defaults to modified and I’ve decided to stay with that. My rationale is my most recent thinking will float to the top.</p>
<p>I’ve added a † marker against the date for recent notes to indicate when a note has been changed from the original creation date (like this one has). If modified, hovering over the date will show the original, and if any of the displayed note titles are modified, instructions to do this are added; if none are modified the instructions are withheld.</p>
<p>I spent too much time hunting down two spurious warnings that are don’t halt site creation. One appears to come from using <code>---</code> for a horizontal rule instead of <code>***</code>. To fix it I have to find/replace all occurrences, but since it’s also a YAML marker, tricky. The second is from my use of <em>KaTex</em> for math and it mis-interpreting dollar amounts as math. I resolved that warning by changing the rendering engine to <em>mathjax</em>.</p>
<p>RSS, via the <code>context-index</code> plugin is another example of poor design. The one plugin emits both a sitemap and RSS feed. It should be two separate plugins. Having options to enable/disable one or the other is insufficient with this new plugin model.</p>
<p>The RSS header information for the base blog RSS feed is complete. Still need to add filtering, and the feed for <a href="../commander&#x27;s-log" class="internal internal-link alias" data-slug="commander&#x27;s-log">Commander’s Log</a>.</p>
<h3 id="12-june-2026">12 June 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#12-june-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>Pages and RSS feeds share the same link sanitising so there are not escaping private links. I created a test.xml feed for testing just pages with <code>#class/test-page</code> just pages with <code>#class/test-page</code> and a better <a href="../notes/test-page" class="internal internal-link alias" data-slug="notes/test-page">Test page</a> to feed into it.</p>
<h3 id="13-june-2026">13 June 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#13-june-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>I have added a <code>transform-tags</code> transformer that takes <a href="../notes/obsidian" class="internal internal-link" data-slug="notes/obsidian">Obsidian</a> tags of the form <code>class/*</code> and strips the <code>class/</code> from the front as I don’t need that on the site. Only class tags are ever used. The <code>class/blog-post</code> and <code>class/now-post</code> tags are rewritten as <code>blog</code> and <code>now</code> respectively. I have the list of tags to rewrite as an option so I don’t need to modify code for any future additions.</p>
<pre><code>options:
  remap:
    "blog-post": "blog"
    "now-post": "now"
</code></pre>
<p>Based on what I learned about options for <code>transform-tags</code>, I’ve extended the options for <code>content-index</code> so that whole RSS definitions can be passed through from options as well. I don’t imagine much will change here but it’s a development mode I prefer and I learned some new tricks along the way.</p>
<h3 id="20-june-2026">20 June 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#20-june-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>I’m some way towards the metadata display at the top of each page. I have the date, ratings and series links working properly.</p>
<h3 id="26-june-2026">26 June 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#26-june-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>The RSS is now emitting the Commander’s Log and an invite to email comments at the bottom of each feed. I looked at transcludes but until I get my head around the environment more it will have to wait. I’ll need to rebuild quite a bit to get past replacing the current link with the actual content.</p>
<p>Big progress today on building my own emitter for modifying <code>&#x3C;head></code> outside of the baseline code. Tags control which additional scripts or other information to add so that code is only added where needed. It’s become very easy to add information here. So much so, that I’ve moved other code into it for easier future management.</p>
<pre><code>if (pageData.frontmatter?.tags?.includes("slider")) {
  head.push( 
	  &#x3C;script defer src="https://cdn.jsdelivr.net/npm/img-comparison-slider@8/dist/index.js" >&#x3C;/script>, 
	  &#x3C;link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/img-comparison-slider@8/dist/styles.css"/> 
  )
}
</code></pre>
<h3 id="28-june-2026">28 June 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#28-june-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>Each page’s meta data is now complete and matches what I had on <a href="../notes/quartz" class="internal internal-link alias" data-slug="notes/quartz">Quartz 4</a>. I have also built a set of 10 tests that I can run to check nothing is broken inadvertently. That took most of my late Sunday afternoon programming and was worth it. I learned a lot out of it and can add more tests to my other code.</p>
<p>Got myself into a bind somehow where the <code>&#x3C;head></code> changes I made on <a href="#26-june-2026" class="internal internal-link alias">Friday</a> were being duplicated and causing all sorts of problems. I had duplicate code that wasn’t running then, but decided to run today.</p>
<p>Still a lot to go but it does feel like I’ve broken the back of it all, especially skill wise.</p>
<h3 id="29-june-2026">29 June 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#29-june-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>I’ve extracted the <a href="../notes/tinylytics" class="internal internal-link" data-slug="notes/tinylytics">tinylytics</a> code into my <code>additionalHead</code> plugin so that I have full control and no longer need to modify the upstream source code to add options it doesn’t allow for. I’ve also updated each page’s meta for <code>cmdrs-log</code> entries to show the times in Universal Galactic Time, matching the true date in <a href="../notes/elite---dangerous" class="internal internal-link alias" data-slug="notes/elite---dangerous">Elite: Dangerous</a>. That’s each page’s meta done.</p>
<h3 id="30-june-2026">30 June 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#30-june-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>A simple change to add all the site icons for browser bars, etc. Less simple was bypassing scss → css conversion outside of the main code. And I’ve added the <code>media_cover</code> style for covers like this.</p>
<p><img src="../assets/covers/vg_middle_earth_shadow_of_mordor.webp" alt="media_cover" width="auto" height="auto"></p>
<p><em><a href="../notes/middle-earth---shadow-of-mordor" class="internal internal-link alias" data-slug="notes/middle-earth---shadow-of-mordor">Middle Earth - Shadow of Mordor</a> video game cover showing on the left with a border and shadow.</em></p>
<h3 id="1-july-2026">1 July 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#1-july-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>A big step forward with inter-page navigation added for <a href="../blog" class="internal internal-link" data-slug="blog">Blog</a> and <a href="../commander&#x27;s-log" class="internal internal-link alias" data-slug="commander&#x27;s-log">Commander’s Log</a> posts. They each have their own prev/next structure.</p>
<p>I was planning to upload my code to GitHub so that later on I can reference it on my laptop but a little too tired to try that.</p>
<h3 id="2-july-2026">2 July 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#2-july-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>Cleaning up code. For example date formatting is consistent across everything. Will make things easier going forward. I spent too much of the afternoon setting up a better flow of <code>scss</code> to <code>css</code> conversion. It started with simply wanting to reduce the height of the footer heading on a page. Now complete I have much better control over the code and even expanded some additions to tell me when my documentation is not up to scratch.</p>
<h3 id="5-july-2026">5 July 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#5-july-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>Lists of pages, called folder-pages, are working properly and I have then fully controlled from <a href="../notes/obsidian" class="internal internal-link" data-slug="notes/obsidian">Obsidian</a> properties instead of code. The formatting is horrible and needs attention. Getting the content right in the first place is the important step.</p>
<h3 id="10-july-2026">10 July 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#10-july-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>The Notes, <a href="../blog" class="internal internal-link" data-slug="blog">Blog</a>, <a href="../now" class="internal internal-link" data-slug="now">Now</a> and <a href="../commander&#x27;s-log" class="internal internal-link alias" data-slug="commander&#x27;s-log">Commander’s Log</a> pages are complete and behaving properly now. At one point they were generating fine, with duplicate content! Took quite some digging to work my way through the bowels of <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> to understand why. Not a bug, but a design decision I didn’t fully understand.</p>
<p>I completed consolidation of date calculation and formatting functions to keep everything consistent. Small changes like this make overall development easier because a change can be made once. I’ve always appreciated that about functions and object-oriented coding; the ability to reuse with style.</p>
<p>And, I didn’t mentioned it earlier but I do have my plugins uploaded to GitHub as private repositories, with all the baggage notes from the upstream history removed.</p>
<h3 id="11-july-2026">11 July 2026<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#11-july-2026" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>Custom callouts have been styled. Earlier work in getting a good structure in place for additional CSS changes reduced this to a copy/paste from the old system. It took longer to test.</p>
<section data-footnotes="" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#footnote-label" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ol>
<li id="user-content-fn-1">
<p>This page was to link <code>[[#Progress|below]]</code> and it showed “Progress” instead of “below”. Something to check in the new version via my <a href="../notes/test-page" class="internal internal-link alias" data-slug="notes/test-page">Test page</a>. <a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
<li id="user-content-fn-2">
<p>There is a strong pull to get it done as fast as possible for no other reason than the migration representing a series of problems to solve that my mind won’t let go of. <a href="#user-content-fnref-2" data-footnote-backref="" aria-label="Back to reference 2" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
</ol>
</section><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Migrating%20from%20Quartz%204%20to%20Quartz%205%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Fri, 29 May 2026 00:11:00 GMT</pubDate>
    </item><item>
      <title>Conversation for clarity</title>
      <link>https://quantumgardener.info/notes/conversation-for-clarity</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/conversation-for-clarity</guid>
      <description><![CDATA[ <p>A <a href="../notes/conversation-for-clarity" class="internal internal-link alias" data-slug="notes/conversation-for-clarity">Conversation for clarity</a> in its rawest form occurs between two people seeking to understand each other better with an interplay of questions and responses driving towards a mutual truth.</p>
<p><a href="../notes/conversation-for-clarity" class="internal internal-link alias" data-slug="notes/conversation-for-clarity">Conversations for clarity</a> can be difficult. I frequently find people shy away and feel uncomfortable being asked for clarity because:</p>
<ul>
<li>The very act of asking can feel like a challenge to their <a href="../notes/sincerity" class="internal internal-link" data-slug="notes/sincerity">Sincerity</a> or knowledge</li>
<li>They are unused to being asked for it</li>
<li>They don’t know the answer and sitting in the grey is uncomfortable for them or they are afraid of me knowing they don’t. At the moment of answering what is thought to be known is shown to be unknown.<sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">1</a></sup> It takes Courage to acknowledge this in the moment and I am the person that doesn’t know I am comfortable saying so because I understand the importance of acknowledging the fact so missing knowledge can be sought.</li>
<li>They feel the clarity I may need is unnecessary
<ul>
<li>Because they don’t have clarity themselves they cannot understand why it’s needed</li>
<li>They think enough clarity has been provided but I know from experience critical detail is still missing</li>
</ul>
</li>
<li>They don’t have the time (“a stitch in time saves nine”)</li>
</ul>
<p>They same reasons are used by myself from time-to-time.</p>
<p>Sitting in a <a href="../notes/conversation-for-clarity" class="internal internal-link alias" data-slug="notes/conversation-for-clarity">Conversation for clarity</a> requires <a href="../notes/trust" class="internal internal-link" data-slug="notes/trust">Trust</a>, particularly alignment in my assessment of <a href="../notes/involvement" class="internal internal-link" data-slug="notes/involvement">Involvement</a>; that the other is attuned to my concerns. When the clarity is paralleled with a <a href="../notes/conversation-for-coordination-of-action" class="internal internal-link alias" data-slug="notes/conversation-for-coordination-of-action">Conversation for coordination of action</a>, my assessment of the other’s <a href="../notes/sincerity" class="internal internal-link" data-slug="notes/sincerity">Sincerity</a>; that they will do what they say they will do, is also crucial.</p>
<section data-footnotes="" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#footnote-label" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ol>
<li id="user-content-fn-1">
<p>There is a lot we don’t know because we rely on shallow mental models, confuse familiarity with understanding or outsource knowledge to the environment (Le Cunff (2026), The Illusion of Clarity). <a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
</ol>
</section><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Conversation%20for%20clarity%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Thu, 21 May 2026 22:25:00 GMT</pubDate>
    </item><item>
      <title>Finding my ontology tribe</title>
      <link>https://quantumgardener.info/notes/finding-my-ontology-tribe</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/finding-my-ontology-tribe</guid>
      <description><![CDATA[ <p>I’m looking to expand my connections and engage in conversations with others who are interested in what I am. <a href="../notes/mastodon" class="internal internal-link" data-slug="notes/mastodon">Mastodon</a> allows me to follow hashtags as well as people. Not knowing which would be the most suitable I asked <a href="../notes/microsoft-copilot" class="internal internal-link alias" data-slug="notes/microsoft-copilot">Microsoft Copilot</a> for some help.</p>
<blockquote>
<p>I’m going to make a public request for people to converse with about the ontology of the human observer and learning. I crave conversations for speculation and learning with people that have similar interests. My post will be on Mastodon. Please suggest hashtags that might help me narrow down an audience. They are likely also going to be hashtags I subscribe to later on.</p>
</blockquote>
<p>My prompt does not provide any indication of subject matter beyond ” ontology of the human observer and learning” and is typical of a prompt when I don’t yet know exactly what it is I’m asking for and I’m relying on a generative AI assistant to help. I was surprised by completeness of the answer.</p>
<p>What follows is Copilot’s response pretty much verbatim with some formatting changes only. I believe it’s more useful that way than me sanitising it to a list only.</p>
<p>I have followed most of the tags and am in the process of getting a feel for the content that is showing up. Those which tend towards meditation and self-reflection are so far showing up as platitudes. I have two options to clean these out. Either unfollow the tag, block the individual, or find some other keyword that can be hidden using Ivory. If it takes more time to manage than I’m getting value, I am better off unfollowing the tag.</p>
<p>I’m just at the start of this process. 20+ years ago, I met people by following their blogs. They are harder to find organically these days and I trust this hashtag approach will close the gap.</p>
<hr>
<p>Here’s the short, clear takeaway: You’ll reach the right people on Mastodon by combining <strong>ontology‑of‑learning hashtags</strong>, <strong>philosophy‑of-mind hashtags</strong>, and <strong>small‑community academic hashtags</strong> that already have active conversationalists rather than just broadcasters.</p>
<p>Below is a curated set grouped by <em>audience type</em>.</p>
<h2 id="-philosophical--ontological-inquiry">🎓 Philosophical &#x26; Ontological Inquiry<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#-philosophical--ontological-inquiry" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>These hashtags tend to attract people who enjoy deep conceptual exploration, systems thinking, and reflective dialogue.</p>
<ul>
<li><code>#philosophy</code>— Broad but active; good for visibility among reflective thinkers.</li>
<li><code>#phenomenology</code>— Strong overlap with observer‑dependent interpretation.</li>
<li><code>#ontology</code>— General ontology discussions; includes both academic and applied.</li>
<li><code>#epistemology</code>— People interested in how observers know what they know.</li>
<li><code>#philosophyOfMind</code>— Good for conversations about interpretation, perception, and being an observer.</li>
</ul>
<h2 id="-learning-sensemaking--cognitive-development">🧠 Learning, Sense‑Making &#x26; Cognitive Development<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#-learning-sensemaking--cognitive-development" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>These hashtags help you find people who think about learning as a transformation of the observer, not just skill acquisition.</p>
<ul>
<li><code>#learning</code>— Broad but includes reflective educators and autodidacts.</li>
<li><code>#metacognition</code>— People who think about thinking.</li>
<li><code>#selfreflection</code>— Often includes practitioners of embodied and linguistic self‑observation.</li>
<li><code>#lifelonglearning</code>— Good for people who enjoy speculative, exploratory conversations.</li>
<li><code>#transformativeLearning</code>— Smaller but highly aligned with ontological shifts.</li>
</ul>
<h2 id="-systems-complexity--observerdependent-worlds">🧩 Systems, Complexity &#x26; Observer‑Dependent Worlds<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#-systems-complexity--observerdependent-worlds" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>These hashtags attract people who naturally resonate with the Ontology of the Human Observer because they already think in relational, systemic, or interpretive terms.</p>
<ul>
<li><code>#systemsthinking</code>— Very active; great for conversations about observers in systems.</li>
<li><code>#complexity</code>— People who enjoy speculative, emergent, multi‑perspective inquiry.</li>
<li><code>#cybernetics</code>— Strong overlap with second‑order observation and interpretation.</li>
<li><code>#constructivism</code>— Directly aligned with “observer creates world of meaning.”</li>
</ul>
<h2 id="-embodied-linguistic--moodoriented-practices">🧘 Embodied, Linguistic &#x26; Mood‑Oriented Practices<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#-embodied-linguistic--moodoriented-practices" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>These hashtags help you find people who think about learning as shifts in mood, body, and language — very close to the ontology you’re working with.</p>
<ul>
<li><code>#embodiment</code>— People exploring body‑based learning and somatic awareness.</li>
<li><code>#mindfulness</code>— Broad but includes reflective practitioners.</li>
<li><code>#somatics</code>— Useful for conversations about embodied practices.</li>
<li><code>#linguistics</code>— For the language-as-action crowd.</li>
<li><code>#moods</code>— Small but surprisingly aligned with ontological moods.</li>
</ul>
<h2 id="-smaller-niche-hashtags-that-may-be-perfect-for-your-topic">🧵 Smaller, niche hashtags that may be perfect for your topic<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#-smaller-niche-hashtags-that-may-be-perfect-for-your-topic" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>These are less populated but more likely to attract exactly the kind of people who want to <em>talk</em>, not just post.</p>
<ul>
<li><code>#philosophyDiscussion</code></li>
<li><code>#deepthinking</code></li>
<li><code>#reflectivePractice</code></li>
<li><code>#sensemaking</code></li>
<li><code>#meaningmaking</code></li>
<li><code>#innerwork</code></li>
<li><code>#selfinquiry</code></li>
</ul>
<p>These tend to have slower streams but higher‑quality engagement.</p><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Finding%20my%20ontology%20tribe%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Fri, 15 May 2026 00:37:00 GMT</pubDate>
    </item><item>
      <title>Books are banned for power or fear</title>
      <link>https://quantumgardener.info/notes/books-are-banned-for-power-or-fear</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/books-are-banned-for-power-or-fear</guid>
      <description><![CDATA[ <p>Watching <a href="../notes/sources/de-explainerr-(2025),-every-banned-book-explained-in-14-minutes" class="internal internal-link alias" data-slug="notes/sources/de-explainerr-(2025),-every-banned-book-explained-in-14-minutes">De Explainerr (2025), Every Banned Book Explained in 14 Minutes</a>, has me thinking why are books (or movies…) banned.</p>
<p>In all but the most extreme cases books and movies are banned either because:</p>
<ul>
<li>one group wants to retain power over another, or</li>
<li>one group is fearful of another.</li>
</ul>
<p>The challenging of social, moral, political or religious norms are the usual “reasons” given to hide the true reasons of power and fear.</p>
<p>Those seeking a ban are acting superior to others, i.e., “they know best” and others are incapable of coming to their own conclusions. Or it’s an acknowledgement they are capable, and the conclusions reached will challenge those who benefit most from the status quo.</p><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Books%20are%20banned%20for%20power%20or%20fear%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Tue, 05 May 2026 08:04:00 GMT</pubDate>
    </item><item>
      <title>Now, 3 May 2026</title>
      <link>https://quantumgardener.info/notes/now,-3-may-2026</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/now,-3-may-2026</guid>
      <description><![CDATA[ <p>The rain that fell most of the night has stopped. It’s a dull, quiet, much more typical May temperature day, which makes a change from the 27℃ and 25℃ of the last two. I’ve been on leave all week. It was front-ended by my wife and I visiting Uluṟu for our anniversary and back-ended by doing stuff around the house and gaming.</p>
<p>I’ve been doing very little thinking at all and that’s nice. What thoughts have crossed my mind have been natural and not demanded by work or <a href="../notes/personal-knowledge-management" class="internal internal-link alias" data-slug="notes/personal-knowledge-management">Personal knowledge management</a> goals. I haven’t even catalogued our holiday photos beyond organising them by date and time.</p>
<p>I did however spend time sorting out <a href="../notes/quantum-os-source-naming-rules" class="internal internal-link alias" data-slug="notes/quantum-os-source-naming-rules">Quantum OS Source Naming Rules</a> and finally removed all the historical note tags that were clogging up my systems. <a href="../notes/tags-are-not-knowledge" class="internal internal-link alias" data-slug="notes/tags-are-not-knowledge">Tags are not knowledge</a> and now all tags are just <a href="../notes/quantum-os-class-tags" class="internal internal-link alias" data-slug="notes/quantum-os-class-tags">Quantum OS Class Tags</a> or <a href="../notes/quantum-os-journal-tags" class="internal internal-link alias" data-slug="notes/quantum-os-journal-tags">Quantum OS Journal Tags</a>. Everything is nice and neat (just don’t peek under the carpet).</p>
<p>I though I might get around to a <a href="../notes/map-of-content" class="internal internal-link alias" data-slug="notes/map-of-content">Map of Content</a> for the <a href="../notes/expand-my-way-of-being" class="internal internal-link alias" data-slug="notes/expand-my-way-of-being">Expand my Way of Being</a> landscape. I did a small experiment over the previous two weeks of spending 30 mins a day working on maps. It showed me I don’t quite have the concept down, and my high-level maps need work. I did get <a href="../notes/productive-laziness" class="internal internal-link alias" data-slug="notes/productive-laziness">Productive Laziness</a> sorted to a much better standard. Anyway, <a href="../notes/expand-my-way-of-being" class="internal internal-link alias" data-slug="notes/expand-my-way-of-being">Expand my Way of Being</a>, in my relaxed holiday state, hasn’t had a look in beyond me recognising the most likely place to start is a mind map or concept map; visual, not text.</p>
<p>I read the new <a href="../notes/mark-lawrence" class="internal internal-link alias" data-slug="notes/mark-lawrence">Mark Lawrence</a> book <em>Daughter of Crows</em> while I was away and it’s up to his usual standard. I’m looking forward to see how the story resolves over the next two books; all his stories are trilogies. <a href="../notes/swann’s-way" class="internal internal-link alias" data-slug="notes/swann’s-way">Swann’s Way</a> has been put aside for the moment. I’m enjoying it by need a break from 19th Century France. Currently reading <em>Children of Ruin</em> and listening to <em>Jonathan Strange &#x26; Mr Norrell</em>. Alongside my reading I determined that <a href="../notes/koreader-to-iphone-sync-is-not-for-me" class="internal internal-link alias" data-slug="notes/koreader-to-iphone-sync-is-not-for-me">KOReader to iPhone sync is not for me</a>.</p>
<p>My daughter gifted me a Darth Vader LEGO set for Christmas which I saved until now. I build a bag a day to draw out the enjoyment. Not a lot to this one with only 5 bags, nevertheless there is a record of my <a href="../notes/building-the-darth-vader-helmet-in-lego" class="internal internal-link alias" data-slug="notes/building-the-darth-vader-helmet-in-lego">Building the Darth Vader Helmet in LEGO</a>.</p>
<p>I put the base coat down on the head and arms of <a href="../notes/manfred-von-carstein" class="internal internal-link alias" data-slug="notes/manfred-von-carstein">Manfred von Carstein</a>. Today’s plans to paint most likely scuppered by the dull light and the draw of <a href="../notes/elite---dangerous" class="internal internal-link alias" data-slug="notes/elite---dangerous">Elite: Dangerous</a> as that’s had my attention the last couple of days.</p>
<p>I posted on Monday that: In Bendigo the trees have just woken up to the fact they are 2/3 through Autumn. Perhaps it’s the balmy 26℃ today on 1 May that’s confusing them. It feels like those cartoons where a tree dumps all its leaves in a moment. We’re going to need to blower vac (sue me!) the leaves from the shade sail tomorrow before it rains. Have never had them collect there before.</p>
<p>A walk the next day had dried, crunched leaves all over the footpaths which is itself unusual. The leaves normally stay wetter for a while.</p><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Now%2C%203%20May%202026%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Sun, 03 May 2026 03:15:00 GMT</pubDate>
    </item><item>
      <title>KOReader to iPhone sync is not for me</title>
      <link>https://quantumgardener.info/notes/koreader-to-iphone-sync-is-not-for-me</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/koreader-to-iphone-sync-is-not-for-me</guid>
      <description><![CDATA[ <p>Yesterday I watched <a href="https://youtu.be/WfP-qLMhMso?si=uwHrUMJGAAagOX4O" class="external external-link">How to sync Readest with KOReader - finally you can sync your iPhone reading progress with KOReader!<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> and it took me down a rabbit hole. As it turns out, one of my own making.</p>
<p>In brief, <a href="https://koreader.rocks/" class="external external-link">KOReader<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> is an alternative e-ink device reader that can be loaded onto a <a href="../notes/kobo" class="internal internal-link" data-slug="notes/kobo">Kobo</a> (native) or <a href="../notes/amazon-kindle" class="internal internal-link alias" data-slug="notes/amazon-kindle">Kindle</a> (jailbroken). There is no iOS version however which lessens the usefulness for reading on one device and then switching to another. There is now a plugin that will sync between <a href="https://readest.com/" class="external external-link">Readest<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a>, which does run on all platforms, and KOReader. In theory I could begin reading a book on my Kobo, switch to my iPhone and then even pick up where I left off on Windows.</p>
<p>As I traversed my rabbit hole I also came across <a href="https://pgaskin.net/NickelMenu/" class="external external-link">NickelMenu<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> for the <a href="../notes/kobo" class="internal internal-link" data-slug="notes/kobo">Kobo</a> and that is staying. It was introduced as a way to start KOReader but also makes accessing dark mode easier, among other things. NickelMenu came out of my subterranean travels and will stay.</p>
<h2 id="installation-troubles">Installation troubles<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#installation-troubles" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>I installed NickelMenu and then KOReader. I then spent time wondering why all the files on my <a href="../notes/kobo" class="internal internal-link" data-slug="notes/kobo">Kobo</a> were being treated as books. In fixing that I broke KOReader and had to reinstall it. I then connected to the sync service in <a href="../notes/calibre-web" class="internal internal-link" data-slug="notes/calibre-web">calibre-web</a>; after I realised my firewall rules were blocking access from the Kobo to the server hosting it. Nothing much seemed to be happening or of value over what I already have with the <a href="https://github.com/janlarres/kobo-utilities" class="external external-link">Kobo Utilities plugin<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> in <a href="../notes/calibre" class="internal internal-link" data-slug="notes/calibre">Calibre</a> itself so I canned that. In doing so I somehow broke NickelMenu and had to resintall that again.<sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">1</a></sup> I then moved to the loungeroom and set up Readest and the plugin. It mostly(?) seemed to work ok. I’m unsure if the position from the Kobo was correct.</p>
<h2 id="the-duplicate-book-problem">The duplicate book problem<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#the-duplicate-book-problem" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>When I purchase a <a href="../notes/kobo" class="internal internal-link" data-slug="notes/kobo">Kobo</a> book I can download to my Kobo Clara, and the app on my iPhone. When the book is on both devices, I can read on one, then pick up where I left off on another. It’s useful when waiting for takeaway to pull out my phone and be better engaged. On the <a href="../notes/amazon-kindle" class="internal internal-link alias" data-slug="notes/amazon-kindle">Kindle</a> it worked perfectly (which was it’s only redeeming feature<sup><a href="#user-content-fn-2" id="user-content-fnref-2" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">2</a></sup>) but I’ve had problems with timing on the Kobo because I’m expecting it to sync quicker than it does.<sup><a href="#user-content-fn-3" id="user-content-fnref-3" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">3</a></sup> The upshot is that most of my book reading on the Kobo has been with sideloaded books.</p>
<p>I remove the DRM from all books that I purchase. I don’t want books removed or altered with out my consent. For the most part <a href="../notes/calibre" class="internal internal-link" data-slug="notes/calibre">Calibre</a> does this easily with <a href="../notes/kobo" class="internal internal-link" data-slug="notes/kobo">Kobo</a> formatted kepub books, and if that fails Adobe Digital Editions covers the rest. I make corrections in Calibre (mostly to series naming and numbering, and set the cover I like) and then use the Kobo Utilities plugin to help sync metadata and books out, and reading positions/read status, in. It means plugging the Kobo in via a cable, but at most that’s every couple of weeks as I transition books.</p>
<p>I didn’t sideload books on the <a href="../notes/amazon-kindle" class="internal internal-link alias" data-slug="notes/amazon-kindle">Kindle</a> and I’m wondering exactly what the chain of events was to do so on the <a href="../notes/kobo" class="internal internal-link" data-slug="notes/kobo">Kobo</a>. When I’m reading a sideloaded book, it’s not the same book on the Kobo or iPhone and so syncing doesn’t occur.</p>
<p>Anyway, the problem with KOReader and Readest means I have to bypass the native Kobo system and load the book in both places. It’s messy and KOReader doesn’t even organise natively on series metadata. I also didn’t like KOReader’s display of text. I couldn’t get the line spacing correct and that’s an important reading consideration.</p>
<h2 id="not-worth-it">Not worth it<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#not-worth-it" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>In the end I dropped everything except for NickelMenu and have gone back to the way things are. I’ll spend some more time this morning identifying differences between native Kobo sync and sideloaded books. Will report back if I find anything useful.</p>
<section data-footnotes="" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#footnote-label" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ol>
<li id="user-content-fn-1">
<p>The reinstalls are no more than extract files from a zip archive and copy to the Kobo. <a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
<li id="user-content-fn-2">
<p><a href="../notes/from-kindle-to-kobo" class="internal internal-link alias" data-slug="notes/from-kindle-to-kobo">From Kindle to Kobo</a> describes why I made the jump. <a href="#user-content-fnref-2" data-footnote-backref="" aria-label="Back to reference 2" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
<li id="user-content-fn-3">
<p>Sabrina says, ”…I’ve learned patience is key—sometimes it takes a few minutes to update. If stuck, closing and reopening the book usually fixes it. Keeping devices online ensures smooth syncing, and I rarely lose my place anymore”, <a href="https://www.goodnovel.com/qa/sync-reading-progress-across-devices-app-kobo" class="external external-link">How To Sync Reading Progress Across Devices On App Kobo? - GoodNovel<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> <a href="#user-content-fnref-3" data-footnote-backref="" aria-label="Back to reference 3" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
</ol>
</section><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22KOReader%20to%20iPhone%20sync%20is%20not%20for%20me%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Tue, 28 Apr 2026 22:21:00 GMT</pubDate>
    </item><item>
      <title>The ascendence of the bowl</title>
      <link>https://quantumgardener.info/notes/the-ascendence-of-the-bowl</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/the-ascendence-of-the-bowl</guid>
      <description><![CDATA[ <p>I sat my breakfast bowl on the table this morning and a thought crossed my mind. When I was young bowls were for breakfast and dessert. We never ate a lunch or dinner off anything but a dinner plate.</p>
<p>Anecdotally, I would say more than half of our evening meals are eaten out of a bowl. The change is culturally driven as we’ve incorporated foods from other countries into our daily menu. Whether it be Mexican, Indian, Chinese, or Thai, and despite the fact that many dishes are Australianised and not what people eat in their own country, this is a good change. In a simple way it shows that learning from other cultures can enrich our lives without needing anything more drastic than changing out a plate and replacing it with a bowl.</p><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22The%20ascendence%20of%20the%20bowl%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Mon, 20 Apr 2026 21:29:00 GMT</pubDate>
    </item><item>
      <title>Too much work, too little return</title>
      <link>https://quantumgardener.info/notes/too-much-work,-too-little-return</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/too-much-work,-too-little-return</guid>
      <description><![CDATA[ <p>I’ve got things into a bit of a mess and I need to complete a big cleanout. The root cause, as I was thinking about it at 4 am this morning, is <a href="../notes/the-quantum-garden-website" class="internal internal-link alias" data-slug="notes/the-quantum-garden-website">The Quantum Garden Website</a>. Right now, there are notes for books, movies, tv shows and video games that are little more than a cover/poster, the plot and a rating; and for those part of a series, the series as well.</p>
<p>There is a pressure within me to record everything I do, and to create. The recording takes a disproportionate amount of time, and an absurd amount of time compared to the utility. With a website on top, where everything can be easily shared, the problem gets worse.</p>
<h2 id="the-state-of-play">The state of play<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#the-state-of-play" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p><img src="../assets/2026-04-18---website-book-list.webp" alt="" width="auto" height="auto"></p>
<p><em>Screen shot of the books index page</em></p>
<p>Above is the books index page. It looks great, is created automatically from the list of book pages, and auto-sizes covers as needed. When I start reading a new book, I need to:</p>
<ol>
<li>Find the Goodreads page for the book</li>
<li>Capture information using the <a href="../notes/obsidian-web-clipper" class="internal internal-link alias" data-slug="notes/obsidian-web-clipper">Obsidian Web Clipper</a> (title, author, published, cover, etc.)</li>
<li>Use one plugin to convert the cover image URL to a local file</li>
<li>Use another plugin to convert the local file to WEBP format</li>
<li>Rename to image to match my standard format</li>
<li>Replace the <code>image</code> property URL with the local link</li>
<li>Move the image to the <code>assets\covers</code></li>
<li>And, if the book is part of a series, set the <code>series</code> and <code>sequence</code> values, optionally creating the book series if needed.</li>
</ol>
<p>Add to all of this a complex backend for generating the public index page above and you can start to see the utility falls. Who really cares what I rate a book. I don’t in as much as I know which are my ⭐️⭐️⭐️⭐️ and ⭐️⭐️⭐️⭐️⭐️ rated items already. A ⭐️⭐️⭐️ item doesn’t need to be tracked.</p>
<h2 id="poor-quality-information">Poor quality information<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#poor-quality-information" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>Further, I am violating <a href="../notes/don&#x27;t-duplicate-public-knowledge" class="internal internal-link alias" data-slug="notes/don&#x27;t-duplicate-public-knowledge">Don’t duplicate public knowledge</a> on everything that is no my rating or my short review. I’m not great at reviews. Even for the higher ratings my review boils down to “because I liked it.” Most of the 88 books hinted to above do not have any commentary at all.</p>
<h2 id="obsidian-isnt-helping">Obsidian isn’t helping<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#obsidian-isnt-helping" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p><a href="../notes/obsidian" class="internal internal-link" data-slug="notes/obsidian">Obsidian</a> compounds the problem by being too damn powerful. It’s super easy to add a new property and build a database of something. There are tools for that. I’m already using <a href="../notes/calibre" class="internal internal-link" data-slug="notes/calibre">Calibre</a>, <a href="../notes/calibre-web" class="internal internal-link" data-slug="notes/calibre-web">calibre-web</a>, <a href="../notes/plex" class="internal internal-link" data-slug="notes/plex">Plex</a>, and Audiobookshelf as my point of truth databases. Why duplicate information even in my own systems?!</p>
<p>And let’s not even mention Obsidian bases. The newly introduced database tools that can slice and dice pages any way I like. Here is the equivalent book index view native within <a href="../notes/obsidian" class="internal internal-link" data-slug="notes/obsidian">Obsidian</a>.</p>
<p><img src="../assets/2026-04-18---books-view.webp" alt="" width="auto" height="auto"></p>
<p><em>Book index in bases “card” view.</em></p>
<p>I can’t display bases on the website. Instead, for something like a book series page, I have a base (which doesn’t display) and use <a href="../notes/obsidian-dataview-serializer-plugin" class="internal internal-link alias" data-slug="notes/obsidian-dataview-serializer-plugin">Obsidian Dataview Serializer plugin</a> to create public version for the website. This means I have the same information displayed in two separate was on a single note, and it’s dubious if I even need it in the first place.</p>
<p>The initial trigger for this whole piece was the noise created by my internal index bases matching external indexes. I had to think of which I was looking at Obsidian’s quick switcher.</p>
<h2 id="coding-effort">Coding effort<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#coding-effort" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p><a href="../notes/the-quantum-garden-website" class="internal internal-link alias" data-slug="notes/the-quantum-garden-website">The Quantum Garden Website</a> is generated using a substantially modified version of <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a>. I estimate 95% of the time and 80% of the code changes I’ve made have been to present books, movies, etc., on the site so they look pretty. It’s time that I could have spent elsewhere.</p>
<h2 id="the-cleanup">The cleanup<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#the-cleanup" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>Everything is a journey and it’s been a series of small decision steps over the last fortnight which have led me to the conclusion I need a big clean out of media-related pages.<sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">1</a></sup></p>
<ul>
<li>Unless I have a substantial review or notes, the media page and associated cover will go</li>
<li>Public index pages will be deleted from the vault and the website. My internal Obsidian base copies are more powerful.</li>
<li>It is nice to have the covers, even in <a href="../notes/the-quantum-garden-vault" class="internal internal-link alias" data-slug="notes/the-quantum-garden-vault">The Quantum Garden Vault</a> so I will likely keep that process described above. I will wait to see what the impact is after deleting the superfluous copies.</li>
<li>⭐️⭐️⭐️⭐️ and ⭐️⭐️⭐️⭐️⭐️ items of all types will be listed on a series of <a href="../notes/my-favourites" class="internal internal-link alias" data-slug="notes/my-favourites">My favourites</a> pages where I list the item and describe in a paragraph why it is important to me. It achieves the same level of meaning with far less work.</li>
</ul>
<p>At the end of this note I’m happy with that approach. It feels cleaner and I have a sense of my important notes being seen through the trees.</p>
<section data-footnotes="" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#footnote-label" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ol>
<li id="user-content-fn-1">
<p>Though the pattern repeats with <a href="../notes/obsidian" class="internal internal-link" data-slug="notes/obsidian">Obsidian</a> plugins as well. <a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
</ol>
</section><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Too%20much%20work%2C%20too%20little%20return%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Fri, 17 Apr 2026 22:23:00 GMT</pubDate>
    </item><item>
      <title>Now, 12 April 2026</title>
      <link>https://quantumgardener.info/notes/now,-12-april-2026</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/now,-12-april-2026</guid>
      <description><![CDATA[ <p>I’ve only 30-minutes ago finished watching <a href="../notes/good-luck,-have-fun,-don&#x27;t-die" class="internal internal-link alias" data-slug="notes/good-luck,-have-fun,-don&#x27;t-die">Good Luck, Have Fun, Don’t Die</a>. I enjoyed it and will enjoy watching it again. I’ve also taken note of a couple of YouTube videos covering the true story behind the battles in <a href="../notes/band-of-brothers" class="internal internal-link alias" data-slug="notes/band-of-brothers">Band of Brothers</a>.</p>
<p>On Friday night, my wife and I saw Joanne McNally perform <em>Pinotphile</em> at The Melbourne Comedy Festival. It was the first festival show we’d ever seen. We thoroughly enjoyed ourselves but have resolved that any late shows in the future mean a city stay-over. Getting home at 1am was too much and a little too risky.</p>
<p>Burgers for tea pre-comedy show were magnificently surpassed by dinner last night at <em>Ms. Batterhams</em>. As always, amazing food, good wine and welcoming service.</p>
<p>I’m reading <a href="../notes/le-cunff-(2025),-tiny-experiments" class="internal internal-link alias" data-slug="notes/le-cunff-(2025),-tiny-experiments">Le Cunff (2025), Tiny Experiments</a> and have set myself a small PACT to work on the <a href="../notes/map-of-content" class="internal internal-link alias" data-slug="notes/map-of-content">Map of Content</a> notes in <a href="../notes/the-quantum-garden-vault" class="internal internal-link alias" data-slug="notes/the-quantum-garden-vault">The Quantum Garden Vault</a>. I did a bit of research yesterday and concluded I’ve too many notes that are just lists or indexes and not true maps. My <a href="../notes/landscapes" class="internal internal-link" data-slug="notes/landscapes">Landscapes</a> are close and will form the basis. They just need more attention. To that end, I’m going to work on improving my maps for 30 minutes each evening for the next fortnight. I want time to explore and see the benefits to me, rather than force something out for a website.</p>
<p>During the week I listened to <a href="https://www.dialectic.fm/celine-nguyen" class="external external-link">Dialetic, ep. 42: Celine Nguyen - Nurturing Your Mind in Public<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> , followed up reading no one told me about proust<sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">1</a></sup> and as a result am now enjoying <a href="../notes/swann’s-way" class="internal internal-link alias" data-slug="notes/swann’s-way">Swann’s Way</a>.<sup><a href="#user-content-fn-2" id="user-content-fnref-2" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">2</a></sup> The way Marcel Proust seems to slow emotional thought to the speed of being capable of capturing it on paper is mesmerising.</p>
<p><a href="../notes/merging-public-and-private-notes---three-lines-of-defence-in-quartz-4" class="internal internal-link alias" data-slug="notes/merging-public-and-private-notes---three-lines-of-defence-in-quartz-4">Merging Public and Private Notes: Three Lines of Defence in Quartz 4</a> describes my weekend’s work of combining public and private notes for less friction in <a href="../notes/the-quantum-garden-vault" class="internal internal-link alias" data-slug="notes/the-quantum-garden-vault">The Quantum Garden Vault</a>. So far it’s working well and has allowed me to begin introducing some automation. I’ve also begun using <a href="../notes/obsidian-web-clipper" class="internal internal-link alias" data-slug="notes/obsidian-web-clipper">Obsidian Web Clipper</a> extensively and that benefits from having a combined note structure. I’ve linked frequently to <a href="../notes/the-optimisation-procrastination-trap" class="internal internal-link alias" data-slug="notes/the-optimisation-procrastination-trap">The optimisation-procrastination trap</a> yet this is different. I’m pulling down and recreating a structure that is already working for me. When the trap is at play it feels like I’m making changes to chase something. This time around it’s been a natural change.</p>
<section data-footnotes="" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#footnote-label" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ol>
<li id="user-content-fn-1">
<p><a href="https://www.personalcanon.com/p/no-one-told-me-about-proust" class="external external-link">https://www.personalcanon.com/p/no-one-told-me-about-proust<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> <a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
<li id="user-content-fn-2">
<p>In Search of Lost Time, vol. 1. <a href="#user-content-fnref-2" data-footnote-backref="" aria-label="Back to reference 2" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
</ol>
</section><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Now%2C%2012%20April%202026%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Sun, 12 Apr 2026 07:35:00 GMT</pubDate>
    </item><item>
      <title>Merging Public and Private Notes: Three Lines of Defence in Quartz 4</title>
      <link>https://quantumgardener.info/notes/merging-public-and-private-notes---three-lines-of-defence-in-quartz-4</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/merging-public-and-private-notes---three-lines-of-defence-in-quartz-4</guid>
      <description><![CDATA[ <p>Until a little bit in the future from now, <a href="../notes/the-quantum-garden-vault" class="internal internal-link alias" data-slug="notes/the-quantum-garden-vault">The Quantum Garden Vault</a> has been split into two distinct sections. One section follows the <a href="../notes/ace-framework" class="internal internal-link alias" data-slug="notes/ace-framework">ACE Framework</a> and holds my personal notes, journal entries and private projects. The second section has everything that appears on <a href="../notes/the-quantum-garden-website" class="internal internal-link alias" data-slug="notes/the-quantum-garden-website">The Quantum Garden Website</a> under a top-level folder called <code>public</code>. This folder used by <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> to generate the static website pages for <a href="https://quantumgardener.info" class="external external-link">https://quantumgardener.info<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a>.</p>
<p>I’m combining public and private notes into the same folder because it reduces a complexity problem I’m facing by having them split. This post outlines the thinking I’ve done from a software developer point of view in the hope it helps others understand a little better what needs to be considered when documents are public facing.</p>
<p>All weekend I’ve been working on moving all my notes to a single folder. I was likely leaning towards this from last weekend’s investigation into how I can provide my notes to AI for identification of patterns and themes (not to generate content, see my <a href="../notes/ai-policy" class="internal internal-link alias" data-slug="notes/ai-policy">AI policy</a>). At the same time fighting with how best to store sources and my notes on them. Then, during the week the Universe delivered and I came across. <a href="../notes/steph-ango" class="internal internal-link alias" data-slug="notes/steph-ango">Steph Ango</a>’s <a href="https://github.com/kepano/kepano-obsidian" class="external external-link">Obsidian Vault Template<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> where they have a very flat structure of notes and references (items not created by them). My decision made, its no longer <code>atlas/notes</code> and <code>public/notes</code> but just <code>atlas/notes</code>.</p>
<h2 id="privacy-first">Privacy first<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#privacy-first" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>For some background on the way I did this in the past see <a href="../notes/protecting-what&#x27;s-published" class="internal internal-link alias" data-slug="notes/protecting-what&#x27;s-published">Protecting what’s published</a>.</p>
<p>The separate of private and public notes provided a degree of privacy by default. Notes that were in the <code>public</code> folder would be displayed on <a href="../notes/the-quantum-garden-website" class="internal internal-link alias" data-slug="notes/the-quantum-garden-website">The Quantum Garden Website</a> and those outside the <code>public</code> folder would never be candidates. I added an extra level of protection by employing the <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> <a href="https://quartz.jzhao.xyz/plugins/ExplicitPublish" class="external external-link">ExplicitPublish plugin<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> to only publish pages where the <code>publish</code> property was set to <code>true</code>.</p>
<p>For a page to appear online, it must be in both the <code>public</code> folder and have <code>publish: true</code>.</p>
<p>Even if I were to accidentally move my whole journal folder into <code>public</code> my most private thinking wouldn’t leak because <code>publish</code> was either undefined or <code>false</code>.</p>
<blockquote class="callout question" data-callout="question">
<div class="callout-title">
                  <div class="callout-icon"></div>
                  <div class="callout-title-inner"><p>Why not two vaults? </p></div>
                  
                </div>
<div class="callout-content">
<p>If you’re asking why not have two separate vaults and keep everything separate, it’s because I often link from private notes to public notes and vice-versa. I’ve modified the back end of <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> in such a way that a link from a public to a private note is completely hidden. The default <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> doesn’t do this which I find poor design.</p>
</div>
</blockquote>
<h3 id="improving-the-publish-property">Improving the publish property<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#improving-the-publish-property" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>The <code>publish</code> property as a checkbox is a little too simple and prone to error because there is no state representing, “I’ve not made a conscious decision”. I replaced the two-state checkbox it with a three-state text field where the choices are:</p>
<ul>
<li><code>deny</code>: under no circumstances publish this page</li>
<li><code>undecided</code>: default state for new pages, forcing me to make a decision to publish or not</li>
<li><code>allow</code>: publish this page</li>
</ul>
<p>There is a hidden fourth-state that occurs when a note does not have the <code>publish</code> property at all, or it is blank. I treat this as an error and abort the site generation process until I’ve fixed it.</p>
<blockquote class="callout code" data-callout="code">
<div class="callout-title">
                  <div class="callout-icon"></div>
                  <div class="callout-title-inner"><p>The filter rule (take 1) </p></div>
                  
                </div>
<div class="callout-content">
<p>Every note in <code>atlas</code> will be made public if <code>publish = true</code>. All other notes will remain private.</p>
</div>
</blockquote>
<h3 id="class-tags-a-second-line-of-defence">Class tags: a second line of defence<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#class-tags-a-second-line-of-defence" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>What happens if I accidentally move a private journal entry to the <code>atlas</code> folder? If a second accident has set <code>publish = true</code> it will be published. It is a case that is unlikely but may have high impact. I accept some level of risk by co-hosting private and public notes in the same vault so what can I do to minimise the likelihood. Software development is more about handling possible exceptions than anything else, so let’s use a second piece of important information I have attached to my notes.</p>
<p>Many of my notes have <a href="../notes/quantum-os-class-tags" class="internal internal-link alias" data-slug="notes/quantum-os-class-tags">Quantum OS Class Tags</a> for structural organisation. Just like this is. So I can employ them to double-down on privacy by filtering out those classes which should never be published.</p>
<p>My privacy filter has a list of classes which, not matter what the state of the <code>publish</code> property is, will never be published. It’s effectively saying, “I don’t care that your parents have given you permission to ride this roller-coaster, your head is not above the line so you’re out”.</p>
<p><a href="../notes/quantum-os-restricted-tags" class="internal internal-link alias" data-slug="notes/quantum-os-restricted-tags">Quantum OS Restricted Tags</a> lists the tags that are filtered in this way.</p>
<blockquote class="callout code" data-callout="code">
<div class="callout-title">
                  <div class="callout-icon"></div>
                  <div class="callout-title-inner"><p>The filter rule (take 2) </p></div>
                  
                </div>
<div class="callout-content">
<p>Every note in <code>atlas</code> will be made public if <code>publish = true</code> <strong>AND</strong> it is not in a prohibited tag class. All other notes will remain private.</p>
</div>
</blockquote>
<h3 id="folder-filtering-a-third-line-of-defence">Folder filtering: a third line of defence<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#folder-filtering-a-third-line-of-defence" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>To structure <a href="../notes/the-quantum-garden-website" class="internal internal-link alias" data-slug="notes/the-quantum-garden-website">The Quantum Garden Website</a> properly under the hood, I need to have not just an <code>atlas/notes</code> folder but other supporting folders like <code>atlas/assets</code> which contains all images, etc. By inference, any folder under <code>atlas</code> might be copied to the web, even if it has nothing to do with the website. That’s the way <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> operates by default and it makes sense, though is risky if you’re not accustomed to thinking about risks. Someone would have to type the path to get to the files, they are otherwise hidden, but it’s much better to not have them there.</p>
<p>For this we can use the <code>ignorePatterns</code> <a href="https://quartz.jzhao.xyz/configuration" class="external external-link">Configuration<svg aria-hidden="true" class="external-icon" style="max-width:0.8em;max-height:0.8em" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a>. Files and folders which should be ignored are not copied, and anything not ignored is.</p>
<blockquote class="callout note" data-callout="note">
<div class="callout-title">
                  <div class="callout-icon"></div>
                  <div class="callout-title-inner"><p>deny, allow </p></div>
                  
                </div>
<div class="callout-content">
<p>There are 2 ways we can go with security. Allow everything and deny exceptions, or deny everything and allow exceptions. Of the two, deny first is the most secure. It requires you to make a decision about what is allowed. In the case of the <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> <code>ignorePatterns</code> filter, the default is allow, deny which is not great. All it solves is the problem of the developer being hounded by new people not understanding why there are no files showing.</p>
</div>
</blockquote>
<p>The relevant part of my <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> <code>quartz.config.ts</code> file looks like this.</p>
<figure data-rehype-pretty-code-figure=""><pre tabindex="0" data-language="javascript" data-theme="github-light github-dark"><code data-language="javascript" data-theme="github-light github-dark" style="display: grid;"><span data-line=""><span style="--shiki-light:#D73A49;--shiki-dark:#F97583" data-token-type="keyword">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF" data-token-type="value"> config</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583" data-token-type="operator">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0" data-token-type="property"> QuartzConfig</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583" data-token-type="operator"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="punctuation"> {</span></span>
<span data-line=""><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="punctuation">  configuration: {</span></span>
<span data-line=""><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="punctuation">    ignorePatterns: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF" data-token-type="string">"atlas-unchecked"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="punctuation">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF" data-token-type="string">"Home Life Index"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="punctuation">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF" data-token-type="string">"JDEX"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="punctuation">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF" data-token-type="string">"maps"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="punctuation">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF" data-token-type="string">"notes/source</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic" data-token-type="error">s</span></span>
<span data-line=""><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="normal">  plugins: {</span></span>
<span data-line=""><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="punctuation">    filters: [</span></span>
<span data-line=""><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="normal">      Plugin.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0" data-token-type="function">Portcullis</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">()</span></span>
<span data-line=""><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="punctuation">    ],</span></span>
<span data-line=""><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8" data-token-type="punctuation">}</span></span></code></pre></figure>
<blockquote class="callout code" data-callout="code">
<div class="callout-title">
                  <div class="callout-icon"></div>
                  <div class="callout-title-inner"><p>The filter rule (final take) </p></div>
                  
                </div>
<div class="callout-content">
<p>Every note in <code>atlas</code> will be made public if <code>publish = true</code> <strong>AND</strong> it is not in a prohibited tag class <strong>AND</strong> it is not in an ignored folder. All other notes will remain private.</p>
</div>
</blockquote>
<h2 id="the-code">The code<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#the-code" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>Here is the code for my filter function. I called it <em>Portcullis</em> to represent the serious nature of the filter. The image reminds me nothing gets through without permission.</p>
<script src="https://gist.github.com/quantumgardener/ecec00d5ff38784ef2a484cbd01a0986.js"></script>
<ul>
<li>Lines 1–2: Hook the filter into the <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> system and include <code>chalk</code> for coloured log output</li>
<li>Lines 4–10: Create the list of <a href="../notes/quantum-os-restricted-tags" class="internal internal-link alias" data-slug="notes/quantum-os-restricted-tags">Quantum OS Restricted Tags</a> to be check against later</li>
<li>Lines 12 onwards are the main function. Each file is checked in turn, and if it should be published return <code>true</code> otherwise return <code>false</code>.
<ul>
<li>Lines 16–21: Check for the existence of the <code>publish</code> property. If it is missing or not set, abort site generation with an error message.</li>
<li>Lines 24–26: Return false if the value of <code>publish</code> is <code>deny</code>. This version of the code outputs a notification to help debugging. Over more than a few deny files this should be removed because it’s too much noise. I’m using it for testing. Proceed to the next note.</li>
<li>Lines 27–29: Return false if the value of <code>publish</code> is <code>undecided</code>. Here we are defaulting to a deny behaviour if no decision has been made. Proceed to the next note.</li>
<li>Lines 30–50: Handle an <code>allow</code>. Further checks are required.
<ul>
<li>Lines 31–41: Check for the presence of illegal tags. If even one is found, deny publishing.</li>
<li>Lines 43-49: I sometimes write blog posts with a future date. If a post is future dated, don’t publish it yet.</li>
<li>Line 50: All checks are passed, this file is ok to publish. Proceed to the next note.</li>
</ul>
</li>
<li>Lines 51–54: Remember I said that software development was dealing with exceptions. Since the value of <code>publish</code> has to be typed it could be something other than “deny”, “undecided”, or “allow”. These lines capture that occurrence and abort with an error.</li>
</ul>
</li>
</ul>
<h2 id="one-final-caution">One final caution<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#one-final-caution" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>My code is an extension of the base <a href="../notes/quartz" class="internal internal-link" data-slug="notes/quartz">Quartz</a> code. Upstream changes automatically incorporated into my own could overwrite or bypass my changes, thereby creating a security leak I wasn’t ready for.</p>
<p>This dependence. is problem with the software development industry as a whole and means I have to check each change before accepting it. That’s the price I pay for modifying code to do what I want where that differs from the original developer’s needs or intentions.</p><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Merging%20Public%20and%20Private%20Notes%3A%20Three%20Lines%20of%20Defence%20in%20Quartz%204%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Sun, 12 Apr 2026 02:29:00 GMT</pubDate>
    </item><item>
      <title>Notes without an agenda: an unexpected happy place</title>
      <link>https://quantumgardener.info/notes/notes-without-an-agenda---an-unexpected-happy-place</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/notes-without-an-agenda---an-unexpected-happy-place</guid>
      <description><![CDATA[ <p>I was having an up-and-down day on Sunday. One of those were I wanted to do something and at the same time wanted to do nothing, vacillating between relaxed and frustrated. Then, at one point I sat at the computer, opened <a href="../notes/the-quantum-garden-vault" class="internal internal-link alias" data-slug="notes/the-quantum-garden-vault">The Quantum Garden Vault</a> and did a modicum  of <a href="../notes/digital-gardening" class="internal internal-link alias" data-slug="notes/digital-gardening">Digital gardening</a>. All it took was the creation of a couple of small notes to make me feel better. There is a lesson in that. Creating notes without any agenda is a happy place I haven’t previously recognised. When it’s not “work” it’s good for my soul.</p>
<p>I love being reminded of how important it is to listen to my emotions and they change during the day based on the activities I undertake. The small moments can be enlightening.</p><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Notes%20without%20an%20agenda%3A%20an%20unexpected%20happy%20place%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Tue, 07 Apr 2026 08:45:00 GMT</pubDate>
    </item><item>
      <title>Now, 6 April 2026</title>
      <link>https://quantumgardener.info/notes/now,-6-april-2026</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/now,-6-april-2026</guid>
      <description><![CDATA[ <p>There has been an awful lot going on. Or at least it feels that way.</p>
<p>At work I’m redefining my role to move away from the drudgery of certain types of project work to more engaging conversations with my clients where we can create something instead of just going through the corporate motions.</p>
<p>I spent too much time over the past week and a half learning about <a href="../notes/retrieval-augmented-generation" class="internal internal-link alias" data-slug="notes/retrieval-augmented-generation">Retrieval Augmented Generation</a> and how I can apply it privately to my own notes. Not to create content, but to assist me in finding hidden patterns across my public and private writing.</p>
<p>I’m reading <a href="../notes/le-cunff-(2025),-tiny-experiments" class="internal internal-link alias" data-slug="notes/le-cunff-(2025),-tiny-experiments">Le Cunff (2025), Tiny Experiments</a> by Anne-Laure Le Cunff and am trying a new note-taking method. There has always been a friction between taking notes, matching them to a source and sharing them online. I want to keep certain articles I read for reference, yet it’s inappropriate for me to reshare that article. Sharing my notes is fine. Until now notes and sources have been in the same document. I’m now running with “Source” and “Source (notes)”.</p>
<p>My memory of Project Hail Mary the book wasn’t great. I remember listening to the audiobook and enjoying it, but time has ranked it behind The Martian. Today, after seeing the movie in the cinema with my daughter has reset that. It’s an uplifting and humorous story about working together for the benefit of all. Something the world needs. My other reading is a return to Jonathan Strange &#x26; Mr Norrell. Book and tv-show in the past, now the audiobook. I will recommend to you During the Dance by <a href="../notes/mark-lawrence" class="internal internal-link alias" data-slug="notes/mark-lawrence">Mark Lawrence</a> as a sweet very short story.<sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref="" aria-describedby="footnote-label" class="internal internal-link alias">1</a></sup></p>
<section data-footnotes="" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes<a role="anchor" aria-hidden tabindex="-1" data-no-popover href="#footnote-label" class="internal internal-link"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ol>
<li id="user-content-fn-1">
<p>It was free on the <a href="../notes/kobo" class="internal internal-link" data-slug="notes/kobo">Kobo</a> website. <a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref internal internal-link alias">↩</a></p>
</li>
</ol>
</section><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Now%2C%206%20April%202026%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Mon, 06 Apr 2026 09:27:00 GMT</pubDate>
    </item><item>
      <title>Recommendations must have a why</title>
      <link>https://quantumgardener.info/notes/recommendations-must-have-a-why</link>
      <guid isPermaLink="false">https://quantumgardener.info/notes/recommendations-must-have-a-why</guid>
      <description><![CDATA[ <p>If I tell someone I listen to podcasts they will immediately bombard me with a list of shows that I should listen to. Each title is clearly unrelentingly great, interesting and funny. Often all three.</p>
<p>The problem with this assault of titles is a lack of connection. The recommender is pushing their preferences on the assumption mine are identical. I try to keep to an approach of:</p>
<ul>
<li>Asking what podcasts they like and why</li>
<li>Asking if they would like any similar recommendations</li>
<li>Offering something different <strong>with a <em>why</em></strong> I think they would like it</li>
</ul>
<p>The same goes for books, movies, music, tv shows and video-games. Always make recommendations with a contextual why.</p>
<p>On the flip-side people are often swamped with indiscriminate recommendations because their request is too broad. Reddit and other forums are filled with people asking “What game should I play?”, “What computer should I buy?” etc. Most people take the podcast path above, try to be helpful, and give a direct answer. A few will ask what type of games they like, what is the computer for, and make a more useful recommendation from there. It’s not always the fault of the person asking. Sometimes they don’t know where to start so their question has to be high-level.</p>
<p>On a related note, remember that <a href="../notes/should-is-a-very-dangerous-word" class="internal internal-link alias" data-slug="notes/should-is-a-very-dangerous-word">Should is a very dangerous word</a>. I know someone who makes every suggestion a commitment. “You should listen to …” is answered with, “Yes, I must listen to that”. Don’t let your lack of seeking a why for your answer burden someone who can’t say no.</p><p><a href="mailto:qg.info@mail.buchan.org?subject=Comment%20on%20%22Recommendations%20must%20have%20a%20why%22&body=Hi.%20Thanks%20for%20your%20comment%20on%20my%20content.%20David.">Email a comment</a></p> ]]></description>
      <pubDate>Tue, 24 Mar 2026 08:22:00 GMT</pubDate>
    </item>
    </channel>
  </rss>