<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>voices in my head</title>
    <link>https://cpbotha.net/</link>
    <description>Recent content on voices in my head</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 07 Feb 2026 17:34:33 +0200</lastBuildDate>
    <atom:link href="https://cpbotha.net/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>The 2025 to 2026 transition post</title>
      <link>https://cpbotha.net/2026/02/07/the-2025-to-2026-transition-post/</link>
      <pubDate>Sat, 07 Feb 2026 17:34:33 +0200</pubDate>
      <guid>https://cpbotha.net/2026/02/07/the-2025-to-2026-transition-post/</guid>
      <description>Welcome everyone to 2026 and also welcome to this, the traditional yearly transition blog post, in which I ramble a bit about what happened in the past year and what I would like to happen in the coming year.&#xA;Betty&amp;rsquo;s Bay sunset on the first day of 2026. Do note the HDR on display systems that support it. Thanks AVIF!&#xA;</description>
      <content:encoded><![CDATA[ <p>Welcome everyone to 2026 and also welcome to this, the traditional <a href="/tags/transition">yearly transition blog post</a>, in which I ramble a bit about what happened in the past year and what I would like to happen in the coming year.</p>

<figure><a href="https://cpbotha.net/2026/02/07/the-2025-to-2026-transition-post/bettys_sunset_20260101.avif"><img src="https://cpbotha.net/2026/02/07/the-2025-to-2026-transition-post/bettys_sunset_20260101_1280.avif"
    alt="Betty&rsquo;s Bay sunset on the first day of 2026. Do note the HDR on display systems that support it. Thanks AVIF!"></a><figcaption>
      <p>Betty&rsquo;s Bay sunset on the first day of 2026. Do note the HDR on display systems that support it. Thanks AVIF!</p>
    </figcaption>
</figure>

<p>I am still pretending that the main audience for this post is me, a framing that helps tremendously with just publishing the damn thing, but of course it would make me super happy if anyone else finds anything of value or entertainment. That being said, please be warned that this post is one of the most discontinuous ones I&rsquo;ve written in a while. All of <em>that</em> being said, everything you see here is 100% human-generated.</p>
<h2 id="writing">Writing</h2>
<p>I spent most of 2025 stuck in a writing rut.</p>
<p>During the few un-rutted periods, one (1) transition post and five (5) regular WHV posts saw the light of the day, each one after an embarrassingly substantial amount of groaning and teeth gnashing.</p>
<p>What was quite consistent during the year, was my <em>will</em> to write blog-worthy (not a high bar, trust me) things. What was also consistent, and a saving grace, was my habit of jotting something down in my daily journal almost every day of the year.</p>
<p>Looking back at <a href="/2025/01/19/the-2024-to-2025-transition-post/#writing">last year&rsquo;s transition post&rsquo;s writing section</a>, it looks like the current situation is about equally dire.</p>
<p>However, just like every breath is a new beginning, this new year is a new opportunity to try again. It feels like it has only become more important that we humans find, and keep, our voices, in order to connect with other humans through a sea of AI-generated writing.</p>
<h2 id="reading">Reading</h2>
<p>In stark but happy contrast to my writing habits, and as <a href="/2025/03/11/weekly-head-voices-259-backbone/#reading">hinted to in March of this year</a>, my &ldquo;reading&rdquo; did quite OK in 2025.</p>
<p>I have those quotes there, because the bulk of my non-fiction reading was in fact listening to audiobooks.</p>
<p>My favourite audiobooks were:</p>
<ul>
<li><em>Behave: The Biology of Humans at Our Best and Worst</em>, by Robert M. Sapolsky</li>
<li><em>Lights On</em> by Annaka Harris, an audio production consisting of a number of interviews and discussions she conducted as research for her book <a href="https://www.goodreads.com/book/show/41571759-conscious"><em>Conscious: A Brief Guide to the Fundamental Mystery of the Mind</em></a>.</li>
<li><em>Being You</em> by Anil Seth, which I insta-bought based on his appearance in <em>Lights On</em>, and which I wrote about in <a href="/2025/10/12/weekly-head-voices-262-beast-machine/#consciousness-and-the-controlled-hallucination">WHV 262 Beast Machine</a></li>
<li><em>The Demon-Haunted World</em> by <a href="https://en.wikipedia.org/wiki/Carl_Sagan">Carl Sagan</a>. Like many other (older) nerds, I am happy that Carl Sagan has been living rent-free in my head since I can remember, but I had not read this important book of his before. It&rsquo;s a great if somewhat depressing read, because many of the bad things Sagan said would happen when we don&rsquo;t teach our kids to live the scientific method, are in fact happening at full force as we speak.</li>
</ul>
<blockquote>
<p>We are like butterflies who flutter for a day and think it is forever.</p>
<p>&ndash; Carl Sagan</p>
</blockquote>
<p>In terms of fiction, 2025 for me was resoundingly the year of Adrian Tchaikovsky.</p>
<p>I&rsquo;m slightly embarrassed that I&rsquo;ve only discovered him so late, but actually extremely fortunate, because now I have a whole bunch of his work to enjoy for the first time.</p>
<p>Each of the three editions of the Children of Time trilogy was a fantastic romp that blew my mind in different and wildly inventive ways. (Spider consciousness seemed positively prosaic by the time we arrived at Octopus consciousness&hellip;)</p>
<p>I felt Alien Clay particularly acutely, and thanks to the wondrous times that we find ourselves in, I was able to <a href="https://bsky.app/profile/charlbotha.com/post/3lvaiw2swek2q">direct my admiration directly at the author on BlueSky</a> and have him acknowledge. At the time of this writing, I&rsquo;m enjoying <a href="https://www.goodreads.com/book/show/195790861-service-model">Service Model</a> and looking forward to more.</p>
<p>(I case you missed it, after a number of years on various Kindle e-readers, I&rsquo;m now doing my reading on a <a href="/2025/12/25/weekly-head-voices-263-high-dynamic-life/#boox-go-6-e-ink-reader-micro-review">Boox Go 6 android e-ink reader</a>.</p>
<h2 id="running-and-exercise">Running and exercise</h2>
<p>My goals for 2025 were the same as for 2024: Go for an average 25km per week, but be really happy if you make 1200km over the year, an average of 100km per month.</p>
<p>I failed again, but I came somewhat closer to success this year than last year, in spite of both my Achilles tendons almost coming to a standstill in October. (They are almost but not quite back to normal as I sit here writing this.)</p>
<p>In 2025, I logged 1176.2km (23.8km short) of running spread out over 131 runs, spanning in total 110 hours and 20 minutes.</p>
<p>Adding up the few (mini) hikes I joined, that comes to a total of 1246.9km over 151 activities taking up 126 hours.</p>








    


<figure><a href="20260103-strava-training-calendar">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2026/02/07/the-2025-to-2026-transition-post/20260103-strava-training-calendar_hu_7a6def71bc0954f1.webp 480w,
            
                
                https://cpbotha.net/2026/02/07/the-2025-to-2026-transition-post/20260103-strava-training-calendar_hu_819f583398c16c2.webp 800w,
            
                
                https://cpbotha.net/2026/02/07/the-2025-to-2026-transition-post/20260103-strava-training-calendar_hu_d858f651b5f3c726.webp 1200w,
            
                
                https://cpbotha.net/2026/02/07/the-2025-to-2026-transition-post/20260103-strava-training-calendar_hu_f885c446f5ce4fd5.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2026/02/07/the-2025-to-2026-transition-post/20260103-strava-training-calendar_hu_819f583398c16c2.webp"
            

        /> </a>
</figure>

<p>In the training calendar, you can see the impact of the winter months, the October Achilles struggles, and the December last ditch effort to get the numbers back up a bit.</p>
<p>THIS YEAR WE DO IT ALL AGAIN!</p>
<p>In May of 2025, my <a href="/2025/06/16/weekly-head-voices-261-fathers-day/#vo-max-redux">VO<sub>2</sub> Max briefly hit the 50 goal</a> due to happy accident (a bunch of really good runs in a row I guess, almost like One Punch Man&rsquo;s &ldquo;Consecutive Normal Punches&rdquo;) before, slightly depressingly but not surprisingly, settling back down to 48 again, where I&rsquo;ve been hanging out since then.</p>
<p><em>This year</em> I hope to actually put some more concerted effort into that VO<sub>2</sub> Max, not just &ldquo;consecutive normal runs&rdquo; as I&rsquo;ve been doing up to now.</p>
<p>I said something similar last year, but <em>this year</em> I have a better plan and a new toy to help with that plan and maybe a bit more.</p>
<p>Ladies and gentlemen, I think I&rsquo;m only just getting the hang of the <em>snatch</em>, but I&rsquo;m cautiously quite excited about my newly acquired, and extremely affordable thanks to Mr Price Sports, 16 kg cast iron kettlebell.</p>
<p>You see, I&rsquo;ve also been wondering how to better counter (and maybe partially reverse) my <a href="https://my.clevelandclinic.org/health/diseases/23167-sarcopenia">age-related strength decline</a>. Besides the surprising discovery (to me) that HIIT with kettlebell snatches is a VO<sub>2</sub> Max thing, this heavy chunk of cast iron is obviously much better than any stone when having to deal with two, or oven more birds, at once.</p>
<p>(I just learned that &ldquo;two flies with one slap&rdquo; seems to be culturally more widespread than the English &ldquo;two birds with one stone&rdquo;.)</p>
<p>P.S. It&rsquo;s now more than a month after I wrote the above. My left Achilles has been acting up to such an extent that I have to take a slightly longer break from running, and so I have been getting to know the kettlebell a bit better. It is truly a fun piece of equipment, an often-underestimated success factor of sustainable exercise. It also doesn&rsquo;t hurt that the exercises have fun names like &ldquo;thrusters&rdquo;, &ldquo;snatches&rdquo; and &ldquo;uppercuts&rdquo;! (FATALITYYYYYYYY!)</p>
<h2 id="you-are-what-you-repeatedly-do">You are what you repeatedly do</h2>
<p>I&rsquo;ve spent a considerable number of mental cycles on the interesting problem of coming up with a good analogy for what I&rsquo;m planning to say here, all to no avail.</p>
<p>Perhaps if I practised more often coming up with good analogies, things would be different.</p>
<p>To be honest however, although I respect their clear power and influence, I don&rsquo;t really like analogies all that much, because they tend to give people a false perception that they understand the often more complicated issue that they attempt to proxy for.</p>
<p>During research for this section, I learned about <a href="https://en.wikipedia.org/wiki/Athletic_heart_syndrome">Athletic Heart Syndrome, or AHS</a>.</p>
<p>AHS sounds like it could be serious, but fortunately it&rsquo;s an extremely benign condition, namely the <em>normal, physiological adaptation of the body to the stresses of physical conditioning and aerobic exercise</em>, which includes bradycardia (slower than normal resting heart rate, i.e. less than 60), cardiomegaly (enlarged heart) and cardiac hyperthrophy (thickening of the muscular wall of the heart).</p>
<p>In other words, your physiology adapts to your habits, in this case a pretty significant upgrade of your heart in order to pump more blood more efficiently to fuel for example a few hours of running every week. Because your heart adapts to this higher than sedentary (note I did not use the word &ldquo;normal&rdquo; here&hellip;) requirement, it is now able to cover the more relaxed parts of your life with far fewer beats per minute.</p>
<p>Diving into some recent(ish) literature, one also learns that:</p>
<blockquote>
<p>exercise is not simply a way to generate a calorie deficit as an add-on to restrictive diets but exerts powerful additional biological effects via its impact on mitochondrial function, the release of chemical messengers induced by muscular activity, and its ability to reverse <a href="/2010/04/07/weekly-head-voices-20-a-lamarckian-knot/">epigenetic alterations</a> (Brun 2022)</p>
</blockquote>
<p>More reading in the references mentioned here and elsewhere teaches us that being regularly active in actual fact upgrades one&rsquo;s whole metabolism, down to the cellular level.</p>
<p>For example, both during exercise and <em>even at rest</em>, regularly active humans preferentially and more easily burn fat for energy, while sedentary metabolisms prefer glucose, practically ignoring the fat stores that are available (San-Millan 2024).</p>
<p>The list of exercise-induced physiological changes goes on.</p>
<p>I found the following observation quite poignant:</p>
<blockquote>
<p>in modern societies, the  normalization of the lack of physical activity has led to the perception that physical activity is an  intervention even though it remains as the <em>modus vivendi</em> engrained in our genes; the reality is  that becoming sedentary has been the real intervention and collateral effect of modern societies (San-Millan 2024)</p>
</blockquote>
<p>All of this seems like a painfully mechanistic implementation of the principle of the usually more philosophical <em>you are what you repeatedly do</em>, while the quote at the end of <a href="/2025/12/25/weekly-head-voices-263-high-dynamic-life/#significant-life-events">the previous WHV</a> feels like an ever-so-slightly shifted view of the same truth.</p>
<p>Traditionally closer to biology, and often invoked in neuroscience, there&rsquo;s another version, namely our old friend <a href="/2020/12/23/weekly-head-voices-212-use-it-or-lose-it/#use-it-or-lose-it"><em>use it or lose it</em></a>. I don&rsquo;t want to rehash too much of that story, but the plot is similar (quoting from <a href="/2020/12/23/weekly-head-voices-212-use-it-or-lose-it/#use-it-or-lose-it">WHV #212</a>):</p>
<blockquote>
<p>The moment you stop practising a certain (brain) function, like math, or absorbing technical documents, or programming, or driving, or running, or being kind, your system will start to try to repurpose as much as possible of the required subsystems for other functions that you are actively deploying.</p>
</blockquote>
<p>Extremely fortunately, it turns out that it&rsquo;s never too late to start (again), <a href="https://www.theguardian.com/wellness/2025/mar/11/older-adults-strength-training">even when you&rsquo;re pushing 90</a>, as Dr Maria Fiatarone showed in the late 80s when she put a cohort of 90 year olds through a few weeks of strength training, resulting in walking speed gains of 50% on average, and literally stunning strength gains of 174% on average.</p>
<p>P.S. Back in <a href="/2010/04/07/weekly-head-voices-20-a-lamarckian-knot/">WHV #20</a> (2010) I learned about epigenetics, another mechanism whereby what we do doesn&rsquo;t only change us, it even changes our offspring. In <a href="/2014/05/07/weekly-head-voices-70-patterns-in-the-sand/">WHV #70: Patterns in the sand</a>, I tried to explain my changing perspective that, contrary to our subjective experience, we are just ripples in the fabric of reality.</p>
<h3 id="references">References</h3>
<ul>
<li>Brun, J.-F. et al. (2022) “Beyond the Calorie Paradigm: Taking into Account in Practice the Balance of Fat and Carbohydrate Oxidation during Exercise?,” Nutrients, 14(8). Available at: <a href="https://doi.org/10.3390/nu14081605">https://doi.org/10.3390/nu14081605</a>.</li>
<li>San-Millan, I. et al. (2024) “Metabolic and Cellular Differences Between Sedentary and Active Individuals at Rest and During Exercise.” bioRxiv, p. 2024.08.19.608601. Available at: <a href="https://doi.org/10.1101/2024.08.19.608601">https://doi.org/10.1101/2024.08.19.608601</a>.</li>
</ul>
<h2 id="life">Life</h2>
<p>I would like to preface this section, and hopefully not completely jinx myself, with the following:</p>
<blockquote>
<p>Life is an unending series of complications, so it doesn&rsquo;t make any sense to be surprised by the arrival of the next one.</p>
<p>Sam Harris</p>
</blockquote>
<p>The year 2025 had its fair share of problems and challenges. During each of them, when I could remember the advice above, it helped to accept the apparently default state of having to resolve some new complication, or just having to survive the ordeal with as much grace as possible.</p>
<p>That same advice in fact also exhorts us to enjoy <a href="/2025/06/16/weekly-head-voices-261-fathers-day/#bliss">any moments of bliss</a> as much as we possibly can. We were blessed with a number of those, many of them due to our amazing offspring units, the rest thanks to our family and friends. (Conclusion: your people are everything.)</p>
<p>ANYWAYS</p>
<p>This is the part where I also usually try and write something about my Life Systems (guiding principles, personal values, tips and so on). This time, I have nothing to add, as <a href="/2025/01/19/the-2024-to-2025-transition-post/#life-systems-2025">last year&rsquo;s edition, creatively titled &ldquo;Life Systems 2025&rdquo;</a> is still quite accurate for me.</p>
<p>If you don&rsquo;t have time to read that, or your attention span is not spanning, I would summarize extremely lossily with: Love abundantly, apply science, work hard, party hard, rest hard, and&hellip; pay attention.</p>
<p>I wish you much love, reliable science, meaningful work, the best parties, serene rest, and many blissful moments in which to be maximally present.</p>
<blockquote>
<p>The greatest obstacle to living is expectancy, which hangs upon tomorrow and loses today.</p>
<p>&ndash; Seneca</p>
</blockquote>
 ]]></content:encoded>
    </item>
    <item>
      <title>Weekly Head Voices #263: High Dynamic Life</title>
      <link>https://cpbotha.net/2025/12/25/weekly-head-voices-263-high-dynamic-life/</link>
      <pubDate>Thu, 25 Dec 2025 14:41:00 +0200</pubDate>
      <guid>https://cpbotha.net/2025/12/25/weekly-head-voices-263-high-dynamic-life/</guid>
      <description>Well will you look at that date&amp;hellip; Merry Christmas everyone!&#xA;I would also like to welcome you to the 263d edition of the Weekly Head Voices, a surprise even to me that it managed to get this far!&#xA;26th wedding anniversary hike, this time a forbidden route starting from Rooi Els&#xA;I was partially inspired by Martin Fowler&amp;rsquo;s &amp;ldquo;writing fragments&amp;rdquo; to just get this post out there. In his post, he makes the case that social media comes and goes, something I&amp;rsquo;ve seen happen more than once during the 25 year existence of this blog, and so he just plonks together a bunch of things that he found interesting and publishes that as a blog post.&#xA;</description>
      <content:encoded><![CDATA[ <p>Well will you look at that date&hellip; Merry Christmas everyone!</p>
<p>I would also like to welcome you to the 263d edition of the Weekly Head Voices, a surprise even to me that it managed to get this far!</p>

<figure><a href="https://cpbotha.net/2025/12/25/weekly-head-voices-263-high-dynamic-life/rooi_els_anniversary_hike_5996.jpg"><img src="https://cpbotha.net/2025/12/25/weekly-head-voices-263-high-dynamic-life/rooi_els_anniversary_hike_5996_1280.jpg"
    alt="26th wedding anniversary hike, this time a forbidden route starting from Rooi Els"></a><figcaption>
      <p>26th wedding anniversary hike, this time a forbidden route starting from Rooi Els</p>
    </figcaption>
</figure>

<p>I was partially inspired by Martin Fowler&rsquo;s <a href="https://martinfowler.com/articles/writing-fragments.html">&ldquo;writing fragments&rdquo;</a> to just get this post out there. In his post, he makes the case that social media comes and goes, something I&rsquo;ve seen happen more than once during the 25 year existence of this blog, and so he just plonks together a bunch of things that he found interesting and publishes that as a blog post.</p>
<p>Plonking together a bunch of things and calling it a post sounds like a robust approach to me, and so I&rsquo;m adopting it as of now.</p>
<p>I also thought that it would feel good publishing one more normal WHV for 2025 before the <a href="/tags/transition/">traditional year transition post</a> which will hopefully also happen on time(ish).</p>
<h2 id="boox-go-6-e-ink-reader-micro-review">Boox Go 6 e-ink reader micro review</h2>
<p>My fourth Kindle e-reader, a 2018 Paperwhite, has this irritating issue where it will hard crash after some amount of reading, at which point one has to hard reboot, a process that takes some number of minutes.</p>
<p>This is of course not great when you&rsquo;re reading in bed, in the dark, before going to sleep. I tried all of the recommended remedies, including the factor reset, all to no avail. (see <a href="https://www.amazon.com/review/RRA4LVNPHE0TE/ref=cm_cr_srp_d_rdp_perm?ie=UTF8">my Amazon review</a>)</p>
<p>It&rsquo;s too late to return this unit, and so I decided to invest in the Boox Go 6 e-ink reader, a more generic Android device that is able to run the official Android apps of all the retailers, including Kindle, Kobo and more.</p>
<p>I&rsquo;ve now been using this for about four months (it arrived on August 21) and I can say that it&rsquo;s a keeper.</p>
<p>Here are some observations, but please let me know in the comments if you would like to know anything else:</p>
<ul>
<li>I bought my unit through <a href="https://www.dynamiccom.co.za/products/boox-go-6-e-ink-reader/1123586000024646701">DynamicCom</a>, the local distributor, who were super helpful and send regular emails to inform me of shipment progress. Down here the unit is slightly more expensive than the equivalent Kindle. I also bought the Boox magnetic cover, highly recommended!</li>
<li>By default, the power setting on this device does a full shutdown after 15 minutes! This was super irritating, because I had to wait for it to boot up every time. Fortunately, by changing <code>settings -&gt; power -&gt; power-off timeout</code> from 15 minutes to 2 days, I now have instant on, returning to the page I was reading.</li>
<li>It is indeed great that I can now buy and read books from Kobo as well. I&rsquo;m currently binging <a href="https://adriantchaikovsky.com/">Adrian Tchaikovsy</a>, and the two most recent books I bought were substantially cheaper on Kobo than on Amazon.</li>
<li>The Kobo app&rsquo;s maximum font size is not big enough so that I can read without my spectacles at night. This is only an issue if you are &gt;50 (welcome to the club!) or have other vision challenges. I have submitted a support request with Kobo. In the meantime, I am reading the DRM-free epubs that Kobo supplied with my purchase in the Boox&rsquo;s built-in e-reader.</li>
<li>Battery life, even with my 2 day power off timeout, is practically a week or more. The unit charges with USB-C which is great.</li>
<li>As far as I can see, the Boox uses the Carta 1300 e-ink screen. It is a pleasure to read from. The backlight brightness and colour temperature can be adjusted to your liking.</li>
</ul>
<h2 id="hugo-0153-with-libwebp-via-wasm">Hugo 0.153 with libwebp via wasm</h2>
<p>You might remember from <a href="/2024/12/08/weekly-head-voices-257-untitled49-ipynb/#webp-ftw">WHV #257</a> about the long-standing Golang bug that darkens webp images, which I worked around by using an auxiliary non-webp image as the source.</p>
<p>Thanks to github notifications on <a href="https://github.com/gohugoio/hugo/issues/8879">the relevant Hugo bug</a>, I saw that bep (Bjørn Erik Pedersen, the amazing creator of Hugo) had just merged a <a href="https://github.com/gohugoio/hugo/pull/14234">PR switching to libwebp via WASM</a> (!!) instead of the built-in Go libraries.</p>
<p>This update uses libwebp, a C-library, compiled to wasm via the wazero.io pure-go runtime.</p>
<p>Based on what I read, in the <a href="https://github.com/gohugoio/hugo/issues/12843">relevant github issue</a> and elsewhere, this is a really neat trick for Hugo to have pure Go builds that can use native libraries because they&rsquo;ve been compiled to wasm! In this specific case, it means that in hugo 0.153, I can webp all the things without the work-around I am using at the moment.</p>
<p>I was really excited by this update, and thus also reloading the <a href="https://github.com/gohugoio/hugo/milestone/349">hugo 0.153 release milestone</a> multiple times per day, until the release of 0.153 and 0.153.1 shortly after on December 20.</p>
<p>The Hugo release was the additional fuel needed to get this post off the ground, but alas, my enthusiasm for WebP was just about snuffed out when I discovered that it has 0 (zero) support for HDR&hellip;</p>
<h2 id="the-surprising-trickiness-of-hdr-photos-on-this-blog">The surprising trickiness of HDR photos on this blog</h2>
<p>As I was putting this post together, I selected a number of candidate photos, as I usually do.</p>
<p>However, this time I could not help but notice the HDR (high dynamic range) adding some extra brightness to the highlights: In this particular case, brighter parts in sunny photos, and night lights in night photos.</p>
<p>As is often the case with my brain, multiple multi-hour research sessions ensued, some of the notes of which you can see <a href="https://charlbotha.com/til/Convert-iPhone-HDR-.heic-photos-to-web-compatible-HDR-images">at my TiL site</a>.</p>
<p>Long story short, many iPhones and Androids can add HDR information to their photos when the scene requires it. Apple does it in their .HEIC images (mostly extra HDR gainmap, but could also be in a single image), and Google adds the HDR gainmap as part of the JPG metadata, a format dubbed <a href="https://github.com/google/libultrahdr">Ultra HDR</a>.</p>
<p>You can see some <a href="https://gregbenzphotography.com/hdr-gain-map-gallery/">examples of web-compatible HDR photos</a> at Greg Benz&rsquo;s site. (If you dig into this, you&rsquo;ll run into Greg Benz in many places &ndash; he has been working hard campaigning for web-compatible gainmap-based HDR image support in various places.)</p>
<p>Currently most of the main browsers support <em>subsets of</em> Ultra HDR (you have to know which subset!), and hopefully in the slightly further future, we&rsquo;ll be able to use <a href="https://caniuse.com/?search=avif">AVIF</a> for HDR and also all other web-facing images.</p>
<p><em>Note: WebP has no support for HDR. My new hope for the future is AVIF.</em></p>
<p>In my case, I had to figure out how to convert my iPhone&rsquo;s .HEIC images into UltraHDR JPGs. After more hours of failed experiments (no, none of Gimp, ImageMagick, libvips, Affinity Photo, GraphicConverter 12 do this correctly), I landed on a rather obscure bit of macOS / Swift open-source called <a href="https://github.com/chemharuka/toGainMapHDR">toGainMapHDR</a> which is able to convert HDR .HEIC files to Ultra HDR with the particular Apple gainmap format (<code>-g</code>) currently supported by Edge and Chrome on macOS.</p>
<p>Alernatively, Graphic Converter 12 can convert from HDR .HEIC images to single image HDR AVIF, which are substantially smaller than the corresponding Ultra HDR JPG files. The problem is that these AVIFs have no built-in fallback to standard SDR like Ultra HDR has by design. Soon there will be more support for HDR AVIF via included gainmap, which will have similar fallback behaviour to Ultra HDR.</p>
<p>So after all that, the Ultra HDR photos in this post should show up with HDR highlights if your display system and browser (Chrome, Edge, Safari do, Firefox not yet) support it, and gracefully fall back to the non HDR versions if they do not!</p>
<p>Because neither Hugo or Golang support processing the HDR metadata in these images correctly, I have to manually resize them, instead of using <a href="/2020/05/02/drop-in-replacement-for-hugo-figure-shortcode-with-responsive-img-srcset/">my otherwise convenient srcsets figure shortcode</a> that automatically creates all the scaled versions.</p>
<h3 id="ps-a-taste-of-the-avif-future">P.S. A taste of the AVIF future</h3>
<p>Below I have embedded the same photo as the Ultra HDR (JPG) shown in the next section, but here as a high(er)-bitdepth single image HDR AVIF.</p>

<figure><a href="https://cpbotha.net/2025/12/25/weekly-head-voices-263-high-dynamic-life/cape_town_from_overseers_5775.avif"><img src="https://cpbotha.net/2025/12/25/weekly-head-voices-263-high-dynamic-life/cape_town_from_overseers_5775_640.avif"></a>
</figure>

<p>You should see the AVIF image above these words, and your browser should show the full resolution version if you click on the image. If you don&rsquo;t, please let me know in the comments below, or via any other means, along with details of your web-browser.</p>
<p>For interest&rsquo;s sake, here are the file sizes:</p>
<ul>
<li>original .heic 4032x2268: 1 MB</li>
<li>Ultra HDR JPG 85% quality: 2 MB</li>
<li>HDR AVIF 12-bit depth 85% quality: 422 kB</li>
</ul>
<h3 id="pps-graphicconverter-12-beta-can-now-output-ultrahdr-with-the-legacy-apple-gainmap-format">P.P.S. GraphicConverter 12 beta can now output UltraHDR with the legacy Apple gainmap format</h3>
<p>Within four days of my reporting this issue, Thorsten Lemke, creator of the GraphicConverter tool, added an &ldquo;Apple gain map (legacy)&rdquo; setting to his software.</p>
<p>With this new setting, I can generate Edge / Chrome 143 compatible UltraHDR JPGs using GraphicConverter, which is fantastic!</p>
<h2 id="significant-life-events">Significant life events</h2>
<p>My SO completed a significant but undisclosed number of orbits around the sun. We celebrated with friends by spending the night at the Overseers Cottage on top of Table Mountain, which felt like a pretty spectacular way to celebrate this special birthday. The party fully lived up to this standard (and then some).</p>

<figure><a href="https://cpbotha.net/2025/12/25/weekly-head-voices-263-high-dynamic-life/cape_town_from_overseers_5775.jpg"><img src="https://cpbotha.net/2025/12/25/weekly-head-voices-263-high-dynamic-life/cape_town_from_overseers_5775_1280.jpg"
    alt="Cape Town at night as seen from the overseers cottage on top of Table Mountain"></a><figcaption>
      <p>Cape Town at night as seen from the overseers cottage on top of Table Mountain</p>
    </figcaption>
</figure>

<p>Somewhat later, we celebrated my mom&rsquo;s 80th at home, with a great group of her close friends. It was such a beautiful day to celebrate such a beautiful human&rsquo;s vitality. In addition to being in great shape in spite of her limits and to being mentally sharp (did your 80 year old figure out Apple Pay by herself?!), my mom is an example to us all of how to celebrate life, and how to celebrate one&rsquo;s people.</p>
<p>(Hi Mom!)</p>
<p>Somewhat later than that, above-mentioned SO and I celebrated our 26th year of marriage with our traditional anniversary hike, this time on a forbidden route (no jokes) starting from Rooi Els.</p>
<p>The hike was absolutely brilliant, even although we both had more than one near-faceplant coming back down the mountain on loose rocks. This is what happens when you get a bit tired, and you need to work extra hard to focus on the footwork. In Rooi Els, there were some ice-cold Stellas waiting, after which we had an early celebratory dinner with the family.</p>
<p>There&rsquo;s a lot more that I&rsquo;m not going to talk about here, but I do need to mention that these past few weeks I&rsquo;ve really been experiencing those moments of <a href="/2022/12/06/weekly-head-voices-250-durable-blissful-contentment/#happiness-is-a-joke">durable, blissful contentment</a> with my family and my friends, and it&rsquo;s brilliant.</p>
<p>Thank you for reading this fellow human! I hope to see you soon, either here, or on the road somewhere&hellip;</p>
<blockquote>
<p>There is no way to happiness, happiness is the way. There is no way to peace, peace is the way. There is no way to enlightenment, enlightenment is the way.</p>
<p>&ndash; Thich Nhat Hanh</p>
</blockquote>
 ]]></content:encoded>
    </item>
    <item>
      <title>Weekly Head Voices #262: Beast machine</title>
      <link>https://cpbotha.net/2025/10/12/weekly-head-voices-262-beast-machine/</link>
      <pubDate>Sun, 12 Oct 2025 13:45:00 +0200</pubDate>
      <guid>https://cpbotha.net/2025/10/12/weekly-head-voices-262-beast-machine/</guid>
      <description>This edition of the Weekly Head Voices, which proudly started coming at you from the Southern bank of the Crocodile river, looking over the water into Kruger National Park, right before being ignominiously ignored for an extended period of time and then finally being revived on the road (literally, I&amp;rsquo;m sitting in the passenger seat with my laptop on my&amp;hellip; err.. .lap, thanks driver-spouse!) back from St Francis, covers the period of time up to when it eventually, hopefully, finally gets published.&#xA;</description>
      <content:encoded><![CDATA[ <p>This edition of the Weekly Head Voices, which proudly started coming at you from the Southern bank of the Crocodile river, looking over the water into Kruger National Park, right before being ignominiously ignored for an extended period of time and then finally being revived on the road (literally, I&rsquo;m sitting in the passenger seat with my laptop on my&hellip; err.. .lap, thanks driver-spouse!) back from St Francis, covers the period of time up to when it eventually, hopefully, finally gets published.</p>








    


<figure><a href="elefriend92.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2025/10/12/weekly-head-voices-262-beast-machine/elefriend92_hu_f87aa94e87f185d4.webp 480w,
            
                
                https://cpbotha.net/2025/10/12/weekly-head-voices-262-beast-machine/elefriend92_hu_2cd229878339741.webp 800w,
            
                
                https://cpbotha.net/2025/10/12/weekly-head-voices-262-beast-machine/elefriend92_hu_36b108ea0b5c3bd2.webp 1200w,
            
                
                https://cpbotha.net/2025/10/12/weekly-head-voices-262-beast-machine/elefriend92_hu_c28b4a09a41c4191.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2025/10/12/weekly-head-voices-262-beast-machine/elefriend92_hu_2cd229878339741.webp"
            

        /> </a>
</figure>

<blockquote>
<p>Never be so focused on what you&rsquo;re looking for that you overlook the thing you actually find.</p>
<p>&ndash; Ann Patchett</p>
</blockquote>
<h2 id="first-rule-of-blogging">First rule of blogging</h2>
<p>Some of my blogging friends often joked: <em>The first rule of blogging is you don&rsquo;t blog about blogging</em>. I really love that, but today we really can&rsquo;t ignore the elephant in the room right here.</p>
<p>Friends, I still find myself in the midst of a pretty serious case of writer&rsquo;s block.</p>
<p>I am back here writing this (months later on the road, not on the river bank anymore), because I am unable to suppress the almost continuous desire to write something on this thing that is interesting or entertaining enough for you to read. However, actually producing something that to my mind satisfies those requirements feels like it has become difficult almost to the point of impossibility.</p>
<p>After spending a great number of mental cycles on the tools and techniques part of a possible solution, I have so far come up with <em>(&hellip;checks notes&hellip;)</em> exactly zero solutions.</p>
<p>The currently best candidate for the psychological part of the solution is to reframe this as <em>really</em> writing for an audience of one, namely future me. Although I&rsquo;ve often alluded to that idea on here, in practice I am thinking specifically about various of you, the readers who I personally know and love, a focus which ironically might be contributing to my predicament.</p>
<p>I hope that I can succeed in convincing myself at exactly the right moments that my audience is really only future me, so that I might be able to produce more regularly.</p>
<h2 id="rays-of-light">Rays of light</h2>
<p>Kind reader NS left <a href="/2025/06/16/weekly-head-voices-261-fathers-day/#isso-2860">the sweetest comment on the previous WHV</a> (yes, I think you should go read it now). We have never met in person, but they landed on my blog via a Stack Overflow answer of mine some years ago, and have been reading the Weekly Head Voices occasionally since then.</p>
<p>This also caused a little musical connection: Back in 2016, friend and colleague (and music connoisseur) FvdL introduced me te Jamie XX&rsquo;s album In Colour (I found the guilty party in my notes), an introduction that <a href="/2016/02/02/weekly-head-voices-103-chips/#music">landed in WHV #103</a> by way of which it became one of reader NS&rsquo;s favourite albums.</p>
<p>In a great twist of coincidence, I got to see Jamie XX doing <a href="https://youtu.be/P0GpUQpMBZY?si=cyaeO6_-PJ7YIrUW">his latest set</a> at <a href="/tags/lowlands/">Lowlands</a> in August with a bunch of besties.</p>
<p>NS&rsquo;s comment was a beautiful and quite timely reminder of why this here blog writing endeavour is worth every drop of blood, sweat and tears. (Even although I&rsquo;ll be &ldquo;writing it for future me&rdquo;&hellip;)</p>
<p>Maybe the universe wanted to make doubly sure, because around the same time I received an emailed blog comment from afar, from old friend CS. Thank you universe, thank you friend CS.</p>
<h2 id="consciousness-and-the-controlled-hallucination">Consciousness and the controlled hallucination</h2>
<p>Previously on this blog I wondered about the strangeness of going through life essentially as a brain locked up in a dark skull (<a href="/2019/07/25/weekly-head-voices-174-i-row-row-row-your-boat/#life-is-but-a-dream">WHV #174</a>), all the while slowly, incrementally building up a fantastic high-definition simulation (hallucination&hellip;) of the real-world outside based on the thin streams of photons entering one&rsquo;s eyes, and sound waves one&rsquo;s ears.</p>
<p>Somewhat later (<a href="/2019/10/07/weekly-head-voices-180-ensembleyou-and-the-describers/#the-describers">WHV #180</a>) I learned from the book <em>Stumbling on Happiness</em> by Daniel Gilbert that this idea was introduced by Immanuel Kant as <em>transcendental idealism</em>.</p>
<p>In her book <em>Seven and a Half Lessons About the Brain</em>, Lisa Feldman Barrett explains that indeed your brain predicts almost <em>everything</em> you do (read <a href="/2021/06/05/book-notes-seven-and-a-half-lessons-about-the-brain/#your-brain-predicts--almost--everything-you-do">the summary right here on this blog</a>). In fact, &ldquo;If your brain has predicted well, then your neurons are already firing in a pattern that matches the incoming sense data&rdquo;!</p>
<p>In his book <a href="https://en.wikipedia.org/wiki/Being_You:_A_New_Science_of_Consciousness">Being You</a>, the neuroscientist and professor of cognitive and computational neuroscience at the university of sussex <a href="https://en.wikipedia.org/wiki/Anil_Seth">Anil Seth</a> expands on this idea at length, also calling the way we experience reality through our perception a <em>controlled hallucination</em>.</p>
<p>Where this idea might be strange at first glance, the more one reads and thinks about it, the more it makes complete sense that our complete high-definition experience of everything around us, and even inside us, is our brain using the exact same mechanism for simulating reality that it uses during less controlled hallucinations such as dreams.</p>
<p>In other words, our subjective experience by definition is produced by, and runs entirely inside, the brain. Mostly we are unable to distinguish our dreams from reality. Many aspects of hallucinations brought on by certain psychedelics can&rsquo;t be distinguished from reality either.</p>
<p>At a higher level, we go through life with a frankly quite limited set of senses, but we are treated with an incredibly detailed subjective experience. This can only work because we are in fact continuously and incrementally enriching an incredibly detailed model of reality with the limited sense inputs at our disposal.</p>
<p>From a slightly higher level, the simulation is enormous and complex in space and time, based on years of accumulated and integrated sense data.</p>
<p>There are folks like <a href="https://en.wikipedia.org/wiki/Donald_D._Hoffman">Donald D. Hoffman</a>, cognitive psychologist and author of the book <a href="https://www.goodreads.com/book/show/41817484-the-case-against-reality">The Case Against Reality: How Evolution Hid the Truth from Our Eyes</a>, who argue that what we experience could even be quite far removed from objective reality.</p>
<p>Moving on to the <a href="https://en.wikipedia.org/wiki/Hard_problem_of_consciousness">&ldquo;hard problem of consciousness&rdquo;</a> and back to professor Seth, I really liked to read about what he calls &ldquo;the beast machine&rdquo;.</p>
<p>Consciousness and selfhood arises from the body&rsquo;s need to interpret and control a fantastically complex plethora of inputs and outputs: Energy, temperature, danger and then, probably the <em>raison d&rsquo;etre</em> for our large brains, relationships now and in the future with a complex and changing network of fellow humans.</p>
<p>We <em>experience</em> all of this as feelings, as <a href="https://en.wikipedia.org/wiki/Qualia">qualia</a>, which encourage us to take the action that will help ensure our continued survival.</p>
<p>You know you&rsquo;re going to feel hungry in a few hours, so you&rsquo;re already starting to think about what you can rustle up to eat. You think that such and so would be really happy if did this or that, and so you factor that into your plans. Generally, your subjective experience as a conscious being is what enables you to navigate the incredibly complex and changing information landscape with success.</p>
<p>Based on Seth&rsquo;s work, consciousness is emergent from and tied to being a living, self-regulating organism.</p>
<p>Now, as physicalists, we merely have to figure out the actual physiological mechanism of <em>how</em> consciousness is brought about exactly.</p>
<h3 id="ps-orchestrated-objective-reduction-orch-or-hypothesis">P.S. Orchestrated Objective Reduction (Orch OR) hypothesis</h3>
<p>I was really surprised (and a bit scared to be honest) to hear how many hardcore physicists were focusing on different aspects of consciousness.</p>
<p>For example, Roger Penrose (!) together with Stuart Hameroff proposed that <a href="https://en.wikipedia.org/wiki/Orchestrated_objective_reduction">consciousness originates from quantum processes within microtubules inside neurons</a>.</p>
<p>While the hypothesis is controversial, there is ample substance for discussion.</p>
<h3 id="ps-what-is-it-like-to-be-a-bat">P.S. What is it like to be a bat?</h3>
<p>In any consciousness readings, you&rsquo;re bound to run into the paper <a href="https://en.wikipedia.org/wiki/What_Is_It_Like_to_Be_a_Bat%3F">&ldquo;What Is It Like to Be a Bat?&rdquo; by Thomas Nagel</a>.</p>
<p>Nagel describes consciousness as:</p>
<blockquote>
<p>an organism has conscious mental states if and only if there is something that it is like to be that organism &ndash; something it is like <em>for</em> the organism</p>
</blockquote>
<h2 id="the-end">The end</h2>
<p>Dear reader(s), I wish that your consciousness hallucination is as pleasant as possible, and that it keeps you in the greenest of pastures.</p>
<blockquote>
<p>We must always change, renew, rejuvenate ourselves; otherwise, we harden.</p>
<p>&ndash; Johann Wolfgang von Goethe</p>
</blockquote>
 ]]></content:encoded>
    </item>
    <item>
      <title>Weekly Head Voices #261: Father&#39;s day</title>
      <link>https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/</link>
      <pubDate>Mon, 16 Jun 2025 13:45:00 +0200</pubDate>
      <guid>https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/</guid>
      <description>This edition of the Weekly Head Voices covers the period from Tuesday, April 22 to Sunday, June 15, 2025.&#xA;Another beautiful view from Clarence Drive&#xA;The real voyage of discovery consists not in seeking new landscapes, but in having new eyes.&#xA;&amp;ndash; Marcel Proust&#xA;Bliss It&amp;rsquo;s father&amp;rsquo;s day today.&#xA;When I woke up and went to say good morning to Genetic Offspring Unit (GOU) #3, she gave me the card she made, with a rainbow and a red heart and a sweet hand-written message in 9-year-old Afrikaans.&#xA;</description>
      <content:encoded><![CDATA[ <p>This edition of the Weekly Head Voices covers the period from Tuesday, April 22 to Sunday, June 15, 2025.</p>








    


<figure><a href="20250428_clarence_pano.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/20250428_clarence_pano_hu_9407df7811cef8cf.webp 480w,
            
                
                https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/20250428_clarence_pano_hu_bdfc48c092e2df2.webp 800w,
            
                
                https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/20250428_clarence_pano_hu_4f5b997776ce1c56.webp 1200w,
            
                
                https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/20250428_clarence_pano_hu_72fa3b251facc47.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/20250428_clarence_pano_hu_bdfc48c092e2df2.webp"
            

        
            alt="Another beautiful view from Clarence Drive"/> </a><figcaption>
            <p>Another beautiful view from Clarence Drive</p>
        </figcaption>
</figure>

<blockquote>
<p>The real voyage of discovery consists not in seeking new landscapes, but in having new eyes.</p>
<p>&ndash; Marcel Proust</p>
</blockquote>
<h2 id="bliss">Bliss</h2>
<p>It&rsquo;s father&rsquo;s day today.</p>
<p>When I woke up and went to say good morning to Genetic Offspring Unit (GOU) #3, she gave me the card she made, with a rainbow and a red heart and a sweet hand-written message in 9-year-old Afrikaans.</p>
<p>Hearing that we were up, GOU #2 came out of her room, with a beautiful illustration she had made for (and of!) me. (GOU #2 has found her passion in drawing. She practises on most days, and her skill and talent are very obvious.)</p>
<p>Soon after, GOU #1 arrived home with flat whites (my favourite), fresh ciabatta and croissants from the bakery, and hugs.</p>
<p>What I&rsquo;m trying to say here is that when your offspring units all tell you in their different ways that they appreciate you being their dad, when you&rsquo;re fundamentally dedicated to and deeply grateful for being just that, and those very offspring units constitute the whole focus of this important life endeavour, you better hope that you are able to keep those eyes dry.</p>
<h2 id="vo-max-redux">VO₂ Max redux</h2>
<p>One of my <a href="/2024/01/04/the-2023-to-2024-transition-post/#running-and-exercise">exercise goals for 2024</a> was to reach a VO₂ Max of at least (HAHAHA) 50.</p>
<p>I didn&rsquo;t make it in 2024, but I also didn&rsquo;t do anything other than just my normal running during the year. I know that I should probably engage in some high intensity interval training of some sort if I really want to move the needle, but I run because I like running and not because I want to be fit, although I do want to be fit. (It&rsquo;s complicated being a teenager.)</p>
<p>At the start of 2025, I stated, much more softly this time, that I would maybe <a href="/2025/01/19/the-2024-to-2025-transition-post/#running-and-exercise">still like to hit that 50 VO₂ Max</a>.</p>
<p>Again I realized I would have probably have to <em>do</em> something interval-ly about it, but again I kept on postponing.</p>
<p>WELL KIDS it turns out that postponing can also be a winning strategy! On Monday, May 19, my Garmin reported that I had indeed hit a VO₂ Max of 50, which, <a href="https://www8.garmin.com/manuals/webhelp/GUID-C001C335-A8EC-4A41-AB0E-BAC434259F92/EN-US/GUID-1FBCCD9E-19E1-4E4C-BD60-1793B5B97EB3.html">according to its tables</a>, places me at the bottom of the coveted top-most category for my age and gender, namely <em>Superior</em>.</p>
<p>I always knew it, but thanks anyways Garmin!</p>
<p>P.S. I do have to deflate my <em>superiority</em> a bit by reminding us all that, in addition to finding myself at the bottom of the superior range, I have also only recently entered my current age section, giving me an extra advantage. Jokes aside, 50 at 50 is not bad, so allow me to bask for a while.</p>
<h2 id="org-mode-timestamps-in-obsidian">org-mode timestamps in obsidian</h2>
<p>One feature I have really been missing in Obsidian since <a href="/2025/03/11/weekly-head-voices-259-backbone/#a-bient%C3%B4t-monsieur-org">my recent break-up with Org-mode</a> is the amazing org timestamps.</p>
<p>There is no real convention in Obsidian, whilst in Org-mode timestamps <a href="https://orgmode.org/manual/Timestamps.html">are well-defined and quite functional</a>. My &ldquo;old&rdquo; notes are scattered with them: time ranges, scheduled times, deadlines, random timestamps inside random text notes.</p>
<p>The time logging script <a href="/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/#loggin-time">I mentioned previously</a> made use of the dataview-convention of adding timestamps to work items for example:</p>
<div class="highlight"><pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span>## theme 1
</span></span><span style="display:flex;"><span><span style="color:#cf222e">-</span> project 1
</span></span><span style="display:flex;"><span>  <span style="color:#cf222e">-</span> task 1 (start:: 2025-05-20T07:55) - (end:: 2025-05-20T08:10)
</span></span></code></pre></div><p>&hellip; which did work but was no fun to work with.</p>
<p>Long story short, I could not resist for much longer, and so I hacked together a new Obsidian plugin called <a href="https://github.com/cpbotha/obsidian-org-timestamps">Org timestamps</a>.</p>
<p>As you can see in the comparative screenshots below, I&rsquo;ve copied the org-mode timestamp and time range format verbatim, with the additional bonus of rendering these timestamps nicely in preview mode, inspired by <a href="https://github.com/minad/org-modern">the Emacs package org-modern</a>.</p>
<p>Deviating from org-mode proper, my plugin also renders date-less timestamps &ndash; I often use these when adding entries to daily file. Speaking of which, full org timestamps can have <code>[[...]]</code> links around the date parts so that they link back to the relevant daily file.</p>








    


<figure><a href="obsidian-org-timestamps.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/obsidian-org-timestamps_hu_e1ef46eb4edabd57.webp 480w,
            
                
                https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/obsidian-org-timestamps_hu_85c7a76b567140b9.webp 800w,
            
                
                https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/obsidian-org-timestamps_hu_2719acebe5e07bc9.webp 1200w,
            
                
                https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/obsidian-org-timestamps_hu_f52dbf2785777e5.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2025/06/16/weekly-head-voices-261-fathers-day/obsidian-org-timestamps_hu_85c7a76b567140b9.webp"
            

        /> </a>
</figure>

<p>In addition to the rendering, the plugin also offers commands to move any timestamps to the nearest 5 minutes forward or backward, similar to what org-mode does with <code>shift-up/down</code>, and a feature I have always used multiple times per day.</p>
<p>Putting all of this together, my monthly time logging files now has entries that look like this:</p>
<div class="highlight"><pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-markdown" data-lang="markdown"><span style="display:flex;"><span>## theme 1
</span></span><span style="display:flex;"><span><span style="color:#cf222e">-</span> project 1
</span></span><span style="display:flex;"><span>  <span style="color:#cf222e">-</span> task 1 &lt;2025-05-20 07:55-08:10&gt;
</span></span></code></pre></div><p>&hellip; and I can tweak those timestamps with the adjustment commands.</p>
<p>I have adapted the logging script to support both the old dataview-style and org-timestamp-style timestamps, and now the barely usable UX has become a tad less barely.</p>
<p><em>(10 minutes later&hellip;)</em></p>
<p>Because I keep on mentioning the script, I guess it&rsquo;s time to <a href="https://github.com/cpbotha/obsidian_dataview_timelogging">put it online</a>, albeit extremely barely. Let me know in the comments below if you are the one other user on the planet who would like to try this.</p>
<h2 id="my-friend-this-is-the-end-again">My friend this is the end again</h2>
<p>This was one of the most stubborn WHVs I have pushed out in a very long time.</p>
<p>Before it became this hard, it used to be easier: Somehow there was always something to talk about, either interesting or entertaining, or both.</p>
<p>Although this could also just be another symptom of  me getting older, it does feel like the whole online landscape has changed quite substantially.</p>
<p>Up until recently, it was only dopamine-targeting social media which affected the way people read (or don&rsquo;t) blog posts, but these days I imagine that I&rsquo;m also detecting a whiff of AI-nihilism. Although I still feel strongly about writing each of these words by myself, the experience of the resultant output happens on the background of machines that can now generate hundreds of perfectly-written versions of this post in an instant.</p>
<p>Anyways, I plan to continue with this labour of love, even as it becomes increasingly difficult.</p>
<p>P.S. My recent reading / book-listening has taken me on fascinating journeys through neuroscience and consciousness. Before reaching this point right here, I mistakenly thought that I would share more about them in this post. Instead I&rsquo;m going to leave you with:</p>
<blockquote>
<p>I am not a thing in the world; I am the space in which the world is happening.</p>
<p>&ndash; Richard Lang</p>
</blockquote>
 ]]></content:encoded>
    </item>
    <item>
      <title>Weekly Head Voices #260: I&#39;m not your guy, buddy</title>
      <link>https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/</link>
      <pubDate>Tue, 22 Apr 2025 09:00:00 +0200</pubDate>
      <guid>https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/</guid>
      <description>This wildly-non-weekly 260th edition of the Weekly Head Voices covers the period of my life, exceptionally patchily, from Wednesday, March 12 to Monday, April 21, 2025.&#xA;The photo above is from a little family hike down to the Palmiet river mouth, next to Betty&amp;rsquo;s Bay. GOU #3 (now 9), seemed to enjoy the first bit, but then suddenly did not, which usually leads to quite a bit of complaining. It was really great to see her perk up again when I returned with the car to pick them up more quickly than she expected. (All of that running exercise has a purpose you know.)&#xA;</description>
      <content:encoded><![CDATA[ <p>This wildly-non-weekly 260th edition of the Weekly Head Voices covers the period of my life, exceptionally patchily, from Wednesday, March 12 to Monday, April 21, 2025.</p>








    


<figure><a href="20250322_palmiet_hike.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/20250322_palmiet_hike_hu_94326a752c7d0837.webp 480w,
            
                
                https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/20250322_palmiet_hike_hu_43ba0c8877284452.webp 800w,
            
                
                https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/20250322_palmiet_hike_hu_3039937a478d9ff0.webp 1200w,
            
                
                https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/20250322_palmiet_hike_hu_95661b4813429562.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/20250322_palmiet_hike_hu_43ba0c8877284452.webp"
            

        /> </a>
</figure>

<p>The photo above is from a little family hike down to the Palmiet river mouth, next to Betty&rsquo;s Bay. <a href="/about/weekly-head-voices-abbreviations/">GOU #3</a> (now 9), seemed to enjoy the first bit, but then suddenly did not, which usually leads to quite a bit of complaining.  It was really great to see her perk up again when I returned with the car to pick them up more quickly than she expected. (All of that running exercise has a purpose you know.)</p>
<p>A week or two later, GOU #3 recovered by being an absolute trooper through the whole of the slightly more substantial and absolutely brilliant 6.5km family hike all around the little <a href="https://maps.app.goo.gl/rreQJ7uyT1SFSKfJ7">Sea Farm private reserve&rsquo;s peninsula</a>. I tell myself, and others, that this is partially due to involving her in the progress of the event, by showing her at regular intervals on Google Maps exactly where we found ourselves, and how we were making progress around the peninsula.</p>
<p>Maybe one day, we will both have better answers to the question:</p>
<blockquote>
<p>Why am I in such a rush to get through life when I want so much to enjoy it?</p>
<p>&ndash; Jan Chozen Bays</p>
</blockquote>
<p>(With that in mind, you might also find <a href="/2022/02/03/weekly-head-voices-237-dont-step-over-the-thing/#i-don-t-want-to-step-over-the-thing">WHV #237</a> interesting!)</p>
<h2 id="the-whole-cpbothanet-hive-migrates-again">The whole cpbotha.net-hive migrates again</h2>
<p>Slightly more than five years after <a href="/2020/02/23/weekly-head-voices-189-all-systems-green/#the-whole-cpbothanet-hive-has-been-migrated-to-a-small-hetzner-server">the previous migration of the whole so-called cpbotha.net-hive from WebFaction (RIP) to Hetzner</a>, I got an offer I could not refuse, <a href="https://bsky.app/profile/mackuba.eu/post/3ll7dgrep7c25">on Bluesky (!)</a>, for a <a href="https://www.netcup.com/en/server/vps/vps-1000-g11-12m-iv">netcup VPS</a> with double the number of vCPUs, double the RAM and 5x the storage, all for about 25% cheaper every month.</p>
<p>On the weekend of March 28 I managed to port the six websites in question across (3 easy static ones, including this blog, and 3 slightly more tricky wordpress ones).</p>
<p>I am most grateful that as part of this porting effort I have now finally been able to dockerize the binaries I built years ago of the super obscure <a href="https://github.com/ma-tech/WlzIIPSrv">WlzIIPSrv fork of the C++ IIP image slice server</a> and will in future be able to migrate much more easily if I ever need to do so again. WlzIIPSrv is the software that serves the pannable and zoomable histology slices when you browse a <a href="https://visible-orbit.org/slices/dk2904l-registered/">visible-orbit.org (wordpress site also hosted on this new server) stack like this one</a>.</p>
<p>Although this migration is a significant and positive technical event for me, most of you will probably not even notice that this site responds a tad (or three) more snappily than it used to.</p>
<p>Whatever the case may be, I am celebrating that this is officially the first blog post coming to you from this shiny new server!</p>
<h2 id="productivity-devolution">Productivity (d)evolution</h2>
<h3 id="just-get-it-done-with-kanban">Just get it done with Kanban</h3>
<p>Someone once called using Trello for task management &ldquo;the time management connoisseur equivalent of lying in the gutter with a cheap bottle of wine in a brown paper bag&rdquo;.</p>
<p>(So, by the way, that someone was me! See <a href="/2014/11/27/weekly-head-voices-86-beardy/#note-taking-and-todo-system-chaos-nerd-warning">the previous admission on this blog, in WHV #86 from 2014</a>, original source of my statement is <a href="https://noeskasmit.com/comparison-of-task-managers-rtm-astrid-wunderlist-todoist/#comment-71">this comment on Noeska&rsquo;s blog</a>.)</p>
<p>I mention this now, because my current system, the one which has to act as replacement for <a href="/2025/03/11/weekly-head-voices-259-backbone/#a-bient%C3%B4t-monsieur-org">my almighty Emacs Org-mode</a>, is a monthly Kanban board with columns for &ldquo;todo&rdquo;, &ldquo;today / next&rdquo;, &ldquo;doing&rdquo; and &ldquo;done&rdquo;, and task cards that I can move, quite satisfyingly, from column to column, which is essentially a less full-featured but fully local version of my old Trello-based system.</p>
<p>While the 2014-org-mode-me mind really cannot comprehend this, the current system, based on the plugins <a href="https://github.com/mgmeyers/obsidian-kanban">obsidian-kanban</a> and <a href="https://publish.obsidian.md/tasks/Introduction">obsidian-tasks</a>, is working just fine for the moment.</p>
<h3 id="pomodori-made-from-100-xbar">pomodori made from 100% xbar</h3>
<p>You might recall from the previous WHV that I was still <a href="/2025/03/11/weekly-head-voices-259-backbone/#productivity-hack-of-the-year">using Emacs as an over-powered pomodoro timer</a>.</p>
<p>Well, even that started itching a bit too much, and now I&rsquo;ve just re-implemented the whole thing, along with the productivity boosting auto-DnD setting, by <a href="https://charlbotha.com/til/xbar-pomodoro-timer-with-DnD-for-macOS">modifying an existing self-contained macOS xbar script</a> which you can use if you too wish to work harder.</p>
<h3 id="loggin-time">Loggin&rsquo; time</h3>
<p>Together with the pomodoro timing, I was also using org-mode to maintain detailed time logs for work, using the built-in org-clock functionality.</p>
<p>Because of above-mentioned itch, I now have a semi-usable replacement which I put together as an <a href="https://blacksmithgu.github.io/obsidian-dataview/api/code-reference/#dvviewpath-input">Obsidian Dataview custom view</a>, in other words, a bunch of javascript that piggy-backs on the dataview parser and groups bullet items with start and end timestamps under their parent tasks and container headings, as projects, in order to spit out daily and monthly timelog breakdowns.</p>
<p>I&rsquo;ve only been testing this since the start of April. Although it&rsquo;s giving me all of the data that I need, the UX is just barely over the threshold of usable-by-me.</p>
<p>Perhaps in the coming weeks I&rsquo;ll find some time to write more about this tool to hear what others think.</p>
<h2 id="the-bozo-explosion">The Bozo explosion</h2>
<p>My great friend Dave told me about this phenomenon, of which I then had to go find the source.</p>
<p>It turns out the originator is none other than Steve Jobs, with the idea being injected into the internet hive-mind by <a href="https://en.wikipedia.org/wiki/Guy_Kawasaki">Guy Kawasaki</a>, a Guy who worked for Jobs at Apple (I see what I&rsquo;m doing here) from 1983 until about 1986.</p>
<p>There&rsquo;s a short but great post by Guy Kawasaki titled <a href="https://guykawasaki.com/what-i-learned-from-steve-jobs/">What I Learned From Steve Jobs</a> which is definitely worth a few minutes of your time.</p>
<p>Here I want to focus on point 9, namely &ldquo;A players hire A+ players&rdquo;.</p>
<p>I&rsquo;ve personally seen this a number of times with the smartest and best leaders I&rsquo;ve ever had the privilege of interacting with. They, the A players, actively seek and appoint colleagues who are smarter or better than they are, the A+ players. They absolutely revel in the opportunity of being challenged by the best people they can find. This turns into a positive feedback loop, with more and more similarly capable people seeking out their peers.</p>
<p>The opposite of this happens when you start with B players. B players easily feel threatened by more capable folks, and so they tend to recruit C players so that they can maintain the pecking order. Those C players will accordingly recruit D players and so on. This process of course leads to what Jobs coined as &ldquo;the Bozo explosion&rdquo;, which sounds frighteningly similar to what is currently happening in some parts of the world today.</p>
<p>Next time when you&rsquo;re evaluating a new opportunity, do make some time to ensure that the folks involved have the A player mentality.</p>
<h2 id="conclusion">Conclusion</h2>
<p>For future me, here&rsquo;s a list of other notable events from the period under review:</p>
<ul>
<li>Two 50th celebrations.</li>
<li>Various very special eating and drinking occasions with treasured friends, some from afar, and family.</li>
<li>Three family hikes.</li>
<li>1 Sting concert (with my life partner) which exceeded all my expectations.</li>
<li>My first running race (Spookhill challenge).</li>
<li>Visits with Parisian friends and family to the breathtaking <a href="https://en.wikipedia.org/wiki/Zeitz_Museum_of_Contemporary_Art_Africa">Zeitz Museum of Contemporary Art Africa (MOCAA)</a> and the Two Oceans aquarium.</li>
<li>Far too many marshmallow eggs.</li>
</ul>
<p>&hellip; and with that, I would like to leave you with this:</p>
<blockquote>
<p>The trick is to learn how to want the things you already have.</p>
<p>&ndash; William B. Irvine</p>
</blockquote>








    


<figure><a href="zeitz_mocaa_ocular.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/zeitz_mocaa_ocular_hu_7e8591922bb9e2d9.webp 480w,
            
                
                https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/zeitz_mocaa_ocular_hu_cf675cf4d544cfde.webp 800w,
            
                
                https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/zeitz_mocaa_ocular_hu_426183b3ab1ebea9.webp 1200w,
            
                
                https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/zeitz_mocaa_ocular_hu_7a603b5cd15f6d27.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2025/04/22/weekly-head-voices-260-not-your-guy-buddy/zeitz_mocaa_ocular_hu_cf675cf4d544cfde.webp"
            

        
            alt="Top floor of Zeitz MOCAA, looking at the Ocular restaurant"/> </a><figcaption>
            <p>Top floor of Zeitz MOCAA, looking at the Ocular restaurant</p>
        </figcaption>
</figure>

<!-- "not your guy, buddy" from the South Park episode "Canada on strike" https://www.imdb.com/title/tt1211261/characters/nm0005295/ --> ]]></content:encoded>
    </item>
    <item>
      <title>Weekly Head Voices #259: Backbone</title>
      <link>https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/</link>
      <pubDate>Tue, 11 Mar 2025 21:27:00 +0200</pubDate>
      <guid>https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/</guid>
      <description> Well hello there you old-school blog enjoyer, you internet connoisseur you!&#xA;(I just learned that the English connoisseur comes from the now obsolete pre-1835 French spelling. The originators of the term have since moved on to the new and improved connaisseur (like the Dutch, which is why I was briefly confused), but in English we are stuck with our quaint little oi.)&#xA;</description>
      <content:encoded><![CDATA[ 







    


<figure><a href="bettys_sunset.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/bettys_sunset_hu_84d7d5fb2023d1f3.webp 480w,
            
                
                https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/bettys_sunset_hu_52ae292c79f1df4c.webp 800w,
            
                
                https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/bettys_sunset_hu_94ef9e4fb9dd976e.webp 1200w,
            
                
                https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/bettys_sunset_hu_b061658b14bcf3ec.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/bettys_sunset_hu_52ae292c79f1df4c.webp"
            

        /> </a>
</figure>

<p>Well hello there you old-school blog enjoyer, you internet connoisseur you!</p>
<p>(I <em>just</em> learned that the English <a href="https://www.merriam-webster.com/dictionary/connoisseur"><em>connoisseur</em> comes from the now obsolete pre-1835 French spelling</a>. The originators of the term have since moved on to the new and improved <em>connaisseur</em> (like the Dutch, which is why I was briefly confused), but in English we are stuck with our quaint little <em>oi</em>.)</p>
<h2 id="how-do-you-do-fellow-humans">How do you do, fellow humans?</h2>
<p>This Sunday morning I browsed through all of my Obsidian daily entries, starting from Monday January 20, the day after <a href="/2025/01/19/the-2024-to-2025-transition-post/">The 2024 to 2025 transition post</a> appeared, because the urge to write here has become quite persistent of late, an urge that is clearly quite oblivious to my feeling that it has become increasingly more tricky to make the time to sit down and focus on just this one thing.</p>
<p>I, very briefly I should add, considered feeding all of those daily posts to one of our artificial friends to extract highlights, but for the time-being, I really like that every word you read here was produced by my laborious and messy (fluids-based, for the most part) biology-based process.</p>
<p>This means that I read every single stupid word I wrote in those daily entries, re-experienced various emotions, some of them transformed by the ever-changing self, while I read them, and let those ideas all simmer for a while in the wetware mostly enclosed by my skull, before sitting down here and producing a new set of emotions whilst typing out a bunch of new words on this (mechanical) keyword.</p>
<p>Blood, sweat and tears my friends, blood sweat and tears.</p>
<h2 id="reading">Reading</h2>
<p>Since my last entry here, I&rsquo;ve been reading a lot more, something that I&rsquo;m really happy about.</p>
<p>Besides the deep-seated and strong instinct that reading good books makes me a better human, it also turns out to be an <em>excellent</em> doom-scrolling suppressant, by virtue of simply pushing that activity out of one&rsquo;s daily schedule.</p>
<p>Apart from that motivation, what has made a huge difference in my reading volume was adding audiobooks as well as Zotero on my laptop to the reading modality mix.</p>
<p>Where I previously would only read on my Kindle e-reader, I&rsquo;ve discovered that picking the right medium for the right book means I can comfortably use these three channels during different phases of the day.</p>
<p>In the evening right before closing my eyes, I usually read fiction on the Kindle. After 10 to 20 minutes of reading, my eyes start closing of their own accord and my brain shuts down. Current Kindle book: <a href="https://www.gregegan.net/MORPHOTROPHIC/MORPHOTROPHIC.html">Morphotrophic by Greg Egan</a>. <a href="/2022/03/21/weekly-head-voices-240-i-am-just-a-copy-of-a-copy-of-a-copy/#permutation-city">Egan has previously appeared on this blog</a> for a much older creation which I really loved.</p>
<p>During the day in the car on short commutes, I prefer to read non-fiction books like <a href="https://www.ynharari.com/book/nexus/">Nexus by Yuval Harari</a> (which I loved by the way). With Nexus at 1.5x speed, which is still very comfortable, it was around 17 hours of listening time which went by a lot faster than I expected. I&rsquo;m currently on [<em>Behave: The Biology of Humans at Our Best and Worst</em> by Robert M. Sapolsky] which is super entertaining and extremely successful at repeatedly blowing my mind.</p>
<p>Some non-fiction books deserve even closer attention, like <a href="https://www.abriefhistoryofintelligence.com/">Max Bennett&rsquo;s <em>A Brief History of Intelligence</em></a>, which I started reading on my Kindle but then completed on my laptop, using the fantastic epub reader in Zotero. With this tool I can make highlights and notes to my heart&rsquo;s content.</p>








    


<figure><a href="screenshot_zotero_bhoi_bennett.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/screenshot_zotero_bhoi_bennett_hu_fd5d3cc24c0400cb.webp 480w,
            
                
                https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/screenshot_zotero_bhoi_bennett_hu_1b09363d2d5128c.webp 800w,
            
                
                https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/screenshot_zotero_bhoi_bennett_hu_ded6f76846ff592d.webp 1200w,
            
                
                https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/screenshot_zotero_bhoi_bennett_hu_a10ae5587078729c.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2025/03/11/weekly-head-voices-259-backbone/screenshot_zotero_bhoi_bennett_hu_1b09363d2d5128c.webp"
            

        /> </a>
</figure>

<p>On the topic of Zotero, the two features that would make it even more perfect for me are <a href="https://github.com/zotero/zotero-ios/pull/836">the iOS epub support</a>, so I can open annotated epubs on the go, and <a href="https://github.com/zotero/zotero-ios/issues/597">iOS webpage snapshot support</a>, so that I can save <a href="https://github.com/gildas-lormeau/SingleFile">SingleFile</a> snapshots of web pages from my phone like on desktop, and not just the link.</p>
<h3 id="thanks-for-nothing-amazon">Thanks for nothing Amazon</h3>
<p>On that topic, <a href="https://arstechnica.com/gadgets/2025/02/psa-amazon-kills-download-transfer-via-usb-option-for-kindles-this-week/">on February 26 Amazon killed the Kindle &ldquo;download &amp; transfer via USB&rdquo; feature</a>, the exact feature that I&rsquo;ve always used to make copies of Kindle titles for my own use, most often for highlighting and further study, sometimes leading to <a href="https://cpbotha.net/tags/book/">book notes posts</a>.</p>
<p>Although I really appreciated the convenience of e.g. hearing about a book, and then being able to purchase and start reading that book within minutes, this user-hostile move by Amazon is the last straw for me.  All the way back in 2016, <a href="https://mentat.za.net/blog/2016/08/21/amazon-owns-your-ebooks/">friend Stéfan warned us all about the Kindle Swindle</a>, i.e. the way that Amazon restricts ebook rights far more than necessary, and is in essence able to &ldquo;switch off&rdquo; all ebooks that you have bought.</p>
<p>For me personally, this latest move just means that I will drastically reduce my spending on Kindle books, and anything else from Amazon, as far as possible.</p>
<h2 id="101-productivity-hacks-for-stubborn-people">101 productivity hacks for stubborn people</h2>
<p>Also known as The Productivity Section!</p>
<h3 id="a-bientôt-monsieur-org">A bientôt monsieur Org</h3>
<p>In the 24/25 year transition post I talked about <a href="/2025/01/19/the-2024-to-2025-transition-post/#emacs-and-obsidian">my apparently eternally brewing personal tension between Emacs and Obsidian</a>.</p>
<p>It looks like I might have found myself in the third <a href="https://en.wikipedia.org/wiki/Five_stages_of_grief">stage of grief</a>, namely <em>bargaining</em>, when I wrote that I would explore the interplay between the two poles of Emacs and Obsidian.</p>
<p>Well, as I write this, it feels like I might have reached the fifth and final stage, namely <em>acceptance</em>, acceptance of the fact that orgmode (note, not Emacs, but orgmode), although far more powerful and flexible, is probably always going to be the silo that it currently is, in contrast to markdown (note, not necessarily Obsidian) which, while functionality-wise is but a shadow of orgmode, is hugely more accessible and inter-operates with everyone and their dogs.</p>
<p>You see, since writing that transition post, I&rsquo;ve been creating more and more markdown notes, to the extent that I keep on running into the inconvenience of orgmode nexus nodes which I can in theory link to from markdown, but with links that are not as fully featured as markdown to markdown links.</p>
<p>It really does seem like &ldquo;interplay&rdquo; is turning into &ldquo;dominance&rdquo;, if you&rsquo;ll excuse my multiple layers of innuendo here.</p>
<p>And so after a really good 10 year run as orgmode-disciple, as chronicled by <a href="https://vxlabs.com/tags/orgmode/">10+ years of vxlabs posts on the topic</a>, a bunch of <a href="/tags/orgmode/">appearances on this blog</a> and even <a href="https://orgmode-exocortex.com/">the orgmode-exocortex</a>, it&rsquo;s time to read the writing on the wall, writing that upon closer inspection has turned out to be in markdown format after all.</p>
<h3 id="productivity-hack-of-the-year">Productivity hack of the year</h3>
<p>In a textbook case of <a href="https://quoteinvestigator.com/2024/06/07/report-death/">greatly exaggerated rumours of someone&rsquo;s demise</a>, my orgmode isn&rsquo;t completely dead yet&hellip;</p>
<p>By far the most effective productivity hack I&rsquo;ve implemented in many months, in terms of actual focus hours gained, has been the <a href="https://charlbotha.com/til/Show-Emacs-org-timer-countdown-in-macOS-menubar">orgmode-based pomodoro timer I hacked together and wrote about in my other OTHER website TIL section</a>.</p>
<p>While it was already helpful to have a boring text-based pomodoro-timer display a countdown on my macOS menubar, I had wildly underestimated how much impact the addition of <a href="https://charlbotha.com/til/Show-Emacs-org-timer-countdown-in-macOS-menubar#double-bonus-macos-do-not-disturb-during-pomodoro">the automatic do-not-disturb mode</a> would have.</p>
<p>When I start the 25 minute pomodoro focus timer, my script automatically activates the so-called do-not-disturb &ldquo;focus&rdquo; across all of my (Apple) devices. For those 25 minutes, absolutely nothing pings or alerts, and only calls by my my inner-inner circle can get through. When the 25 minutes are up, DnD is disabled across all devices, and I can see to any emergencies that might have occurred.</p>
<p>(🍅 These particular paragraphs are being typed within such an interruption-proof pomodoro BTW.)</p>
<h2 id="how-are-the-children">How are the children?</h2>
<p>Why thank you for asking!</p>
<p>Here I would like to mention that Genetic Offspring Unit #1 (GOU#1) has now experienced the first few weeks of industrial engineering at university (which is the same as the first few weeks of most of the engineering disciplines) and seems to be loving it to bits.</p>
<p>It brings me great joy that, in spite of the fact that she is a wonderfully well-adjusted and socially graceful human, her engineering DNA is shining through brilliantly. This way of thinking suits her, she just seems to get it, and she&rsquo;s really <em>enjoying the work</em>.</p>
<p>P.S. It also brings me joy, but also a tiny bit of concern, that she really enjoys and also sometimes makes dad jokes <em>AT ME</em>.</p>
<h2 id="spiritual-hygiene-backbone">Spiritual hygiene backbone</h2>
<p>All of that reading I wrote about a few paragraphs back somehow happens even when my days seem to fall apart due to general life chaos, various distractions many of my own (unintentional design) and/or due to will power failure on my part.</p>
<p>So on those days, when I finally fall asleep reading, I console myself with the affirmation that the day was not <em>complete</em> chaos, at least I&rsquo;ve done some reading&hellip;</p>
<p>The same goes for my running.</p>
<p>A seemingly low-level function somewhere in my system <em>needs</em> to take me out running an average of three times a week.</p>
<p>Even when I don&rsquo;t want to, I often find myself standing outside in my shoes and ready to go.</p>
<p>It does help that I&rsquo;ve programmed myself with the mantra &ldquo;If you&rsquo;re wondering whether you should go run the answer is YES&rdquo;.</p>
<p>During my many low-power moments, that mantra often nudges me over the edge.</p>
<p>My daily writing habit also seems to be getting stronger.</p>
<p>I might be tired, or distracted, but <a href="/2022/05/23/weekly-head-voices-242-multiplicity-of-me/#multiplicity-of-you">one of the voices</a> often gets me to write with mind-tricks like &ldquo;oh just a bullet or two man, surely you can manage that?&rdquo; to which my simple mind succumbs, and before I know it, I&rsquo;ve written a few more bullets, and maybe even a paragraph or two.</p>
<p>Unbeknownst to simple mind (shhhht), retro- and introspection have now been performed, and prepared for future review.</p>
<p>I have now come to realise that these three habits, namely reading, running and writing, and their various positive feedback loops, together form a pretty decent <em>spiritual hygiene backbone</em>.</p>
<p>Especially when the rest feels like it wants to flop around or even fall apart, this backbone is a robust, reliable and, quite importantly, <em>simple</em> construct that defines my desired internal structure, enabling me to maintain focus and humanity.</p>
 ]]></content:encoded>
    </item>
    <item>
      <title>The 2024 to 2025 transition post</title>
      <link>https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/</link>
      <pubDate>Sun, 19 Jan 2025 20:04:00 +0200</pubDate>
      <guid>https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/</guid>
      <description>Welcome to the year 2025!&#xA;We are all still waiting for our flying cars, but if you don&amp;rsquo;t like the indistinguishable-from-human talking AIs you got instead, you can have this traditional yearly transition blog post here to keep you busy in the meantime.&#xA;The Seal Point Lighthouse in Cape St. Francis&#xA;</description>
      <content:encoded><![CDATA[ <p>Welcome to the year 2025!</p>
<p>We are all still waiting for our flying cars, but if you don&rsquo;t like the indistinguishable-from-human talking AIs you got instead, you can have this <a href="/tags/transition">traditional yearly transition blog post</a> here to keep you busy in the meantime.</p>








    


<figure><a href="20241228-st-francis-light-house.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/20241228-st-francis-light-house_hu_a7c8fad0a4fb3336.webp 480w,
            
                
                https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/20241228-st-francis-light-house_hu_a8fd52cf169879c1.webp 800w,
            
                
                https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/20241228-st-francis-light-house_hu_c471bba5b301f4e3.webp 1200w,
            
                
                https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/20241228-st-francis-light-house_hu_7e36ecc6dd88d868.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/20241228-st-francis-light-house_hu_a8fd52cf169879c1.webp"
            

        
            alt="The Seal Point Lighthouse in Cape St. Francis"/> </a><figcaption>
            <p>The Seal Point Lighthouse in Cape St. Francis</p>
        </figcaption>
</figure>

<p>For those of you who are new here, 1) welcome! and 2) the traditional yearly transition post is where I both ramble semi-coherently on about the year that is closest to its conclusion and also speculate a bit about the year that is closest to its inception.</p>
<p>The main audience for this post is me &ndash; writing this up and the concomitant thinking and formulating bits form an important part of my maintenance process &ndash; but to anyone else who is reading this, there is hopefully something of value (or just a bit of entertainment) for you in these words. In any case, I am super happy that you&rsquo;re here!</p>
<h2 id="life-events">Life events</h2>
<p>In 2024, <a href="/2024/11/17/weekly-head-voices-255-you-lift-me-up/#i-turned-50">I turned 50</a> while <a href="/2024/11/17/weekly-head-voices-255-you-lift-me-up/#gou-1-turned-18">GOU#1 turned 18</a>, finished high school and is now on her way to university.</p>
<p>I mention these two in the same breath, because looking back it feels like the 5 years of her high school, a substantial chunk of time in terms of her development, went by in a flash.</p>
<p>It&rsquo;s almost like we blinked <a href="/2019/12/08/weekly-head-voices-185-starship-gou-1/#starship-gou-1-taxiing-on-the-runway">when she was still our little girl going to high school</a> and now suddenly she is an adult, and we finally feel like actual adults (aka old people) ourselves.</p>
<p>Although these have been amazing years for us, this experience of a whole period of life flashing by, through the lense of our children&rsquo;s development into adults, is a stark reminder to strive even harder to experience the living daylights out of every single moment that we are blessed with.</p>
<p>If all goes according to plan, we will have two more blink-blink-another-high-school-journey-is-complete experiences (GOU#2 is now in her second year of that journey, GOU#3 has a few years to go before she can start) so we should probably try to blink far less often.</p>
<h2 id="writing">Writing</h2>
<p>After the dip both this blog and I went through in 2023 (total of 3 WHV posts&hellip;) and a very slow blogging start in 2024, it does feel like I might slowly be getting my WHV groove back, which seems to be evidenced by 66% more WHV posting in 2024, i.e. a whole 5 WHV posts! (Contrast this with the historic average of one post every two weeks.)</p>
<p>In the introduction to <a href="/2024/11/17/weekly-head-voices-255-you-lift-me-up/">WHV #255 You lift me up</a> I speculate a bit about the reasons for my hiatus (I didn&rsquo;t mention there that maybe 2023 was actually just a real downer for me) and the current potential revival.</p>
<p>In addition to the posts here, I published <a href="https://vxlabs.com/">12 technical posts over on at the vxlabs</a> and a whole bunch of short howtos / recipes in the <a href="https://charlbotha.com/til/">brand new TiL section of my other-OTHER website</a>. WHV #255 <a href="/2024/11/17/weekly-head-voices-255-you-lift-me-up/#there-is-a-til-section-on-my-other-website">explains the motivation behind the TiL section</a>.</p>
<p>I am also quite happy about the fact that I wrote a daily entry in my private diary for a large part of 2024, and this is something that I would like to continue, hopefully for an even larger part of 2025.</p>
<p>Spending some time every day to review that day, where the review is enriched by the deliberate activitity of trying to formulate everything into a story that I can write down, helps me to make sense of everything.</p>
<p>Writing in general seems to modulate positively my experience of reality.</p>
<p>There&rsquo;s a lot about this idea in various posts on this blog, but allow me to surface <a href="/2019/10/07/weekly-head-voices-180-ensembleyou-and-the-describers/#the-describers">two relevant sections from WHV 180</a>, and especially the quote below (but you should go read those two sections):</p>
<blockquote>
<p>Writing is the multi-purpose thread that runs backwards and forwards through time to connect the various different versions of me into a slightly less faulty entity.</p>
</blockquote>
<h2 id="running-and-exercise">Running and exercise</h2>
<p>My secret running goal for 2024 was to do 25km of running every week. In my head this was auto-simplified to 1200km for the year (you know, the way one often calculates a month as 4 weeks), but of course we&rsquo;re talking 1300km.</p>
<p>Well, I failed at all of these goals!</p>
<p>However, I did manage to run a total of 1149.7km over the year, which comes to an average of 22.1km per week, which I am pretty OK with. I had over 100 hours of fun (I truly enjoy running) and no injuries that I can remember.</p>
<p>The training calendar below shows that August was my laziest month, but that&rsquo;s because August has the worst weather, and because I was away for a week visiting my Dutch family and getting many tens of thousands of dancing steps instead. The calendar also shows how I made a last ditch effort in December to close the gap with my goal as much as possible.</p>










<figure><a href="20250101-strava-training-calendar.png">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/20250101-strava-training-calendar_hu_e13adc1c4101c63a.png 480w,
            
                
                https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/20250101-strava-training-calendar_hu_9e69575ede352940.png 800w,
            
                
                https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/20250101-strava-training-calendar_hu_2caa5fcc1a219359.png 1200w,
            
                
                https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/20250101-strava-training-calendar_hu_57229ed99a10234e.png 1500w,
            '

            
            
            src="https://cpbotha.net/2025/01/19/the-2024-to-2025-transition-post/20250101-strava-training-calendar_hu_9e69575ede352940.png"
            

        /> </a>
</figure>

<p>You might remember <a href="/2024/01/04/the-2023-to-2024-transition-post/#running-and-exercise">my three metrics-focused goals from last year&rsquo;s post</a>, namely 50 consecutive push-ups, VO<sub>2</sub> Max of at least 50 and a resting state heart rate of 50 or under&hellip;</p>
<p>Well, 50 consecutive push-ups was not that hard, Apple Health reports my average resting state heart rate for 2024 as 48 BPM (this would be mostly via my Garmin Forerunner 245 and more recently 265) but my VO<sub>2</sub> briefly peaked at 49 (some time after I turned 50) before settling back on 48. I  would have loved that 50, but <a href="https://www.garmin.com/en-US/blog/fitness/whats-a-good-vo2-max-for-me/">48 is not the worst for a man of my age</a>.</p>
<p>My real goal for the coming year is the same as last year: I want to be able to continue running.</p>
<p>The older I get and the more I learn, the more I understand that with exercise, the more hours I can spend every week doing it, of course maintaining balance with the rest of my life (see life systems further down), the better my meat-coated skeleton will work, and the happier the ghost driving it will be.</p>
<blockquote>
<p>You’re a ghost driving a meat-coated skeleton made from stardust; what do you have to be scared of?</p>
<p>&ndash; <a href="https://quoteinvestigator.com/2022/10/13/ghost-stardust/">@rat_sandwich on twitter, January 31, 2013</a></p>
</blockquote>
<p>P.S. of course I will again go for 25km of running per week. I think logging substantially more than 120 hours of activities in Strava will be good. I might even give that VO<sub>2</sub> Max goal another shot.</p>
<p>P.P.S. I read <a href="https://peterattiamd.com/outlive/">Peter Attia&rsquo;s book Outlive</a> a few months ago. This is a detailed and practical manual for healthy living. There&rsquo;s a lot in there, but at the core he wants you, while you still have any say in the matter, to become as fit (measured by our friend VO<sub>2</sub> Max) and as strong (measured by grip strength) as you possibly can. You see, from middle age we&rsquo;re all on a downward curve, and there&rsquo;s not much we can do about it, except ensuring that we start as high as possible.</p>
<p>P.P.P.S. It&rsquo;s funny; back in school, I thought little of athleticism, because it was a jock thing, and the jocks were generally not very kind to nerd-kind (my people). Now that I&rsquo;m older and quite ironically due to my nerdy lifelong learning habits, I strive for us much athleticism as I can &ldquo;fit&rdquo; in (jock joke harr harr).</p>
<h3 id="diet">Diet</h3>
<p>During this post&rsquo;s generously long incubation, I thought it worth adding here my approach to eating.</p>
<p>I&rsquo;ve been practising 16-8 time-restricted eating (intermittent fasting in some circles) about 95% of the time since somewhere in 2019. I first <a href="/2019/12/18/weekly-head-voices-186-helderberg-20/#time-restricted-eating-tre-with-black-coffee-please">wrote about it in WHV 186</a>, and then in <a href="/2021/04/20/weekly-head-voices-221-anti-breakfast-club/#i-really-don-t-like-breakfast">WHV 221 I came out and stated the beef I have with breakfast</a> (that pun might be too heavy for this post).</p>
<p>Anyways, while I still believe that breakfast is bad for most people, I know that the scientific world has not yet reached consensus on time-restricted eating for healthy folks.</p>
<p>However, there is considerably more consensus that lowering daily caloric intake is good for most people.</p>
<p>For me, 16-8 TRE, where I simply don&rsquo;t ingest anything besides water and black coffee from about 7 in the evening until about noon the next day, is an extremely practical and especially low-effort way to reduce caloric intake.</p>
<p>When I do eat, the portions are modest, I try to stick to natural and unprocessed where I can and I keep an eye on protein.</p>
<p>When I do break these rules, I do so with deliberation. Great food, great wine, great beer and the company of friends and family, especially when combined, constitute a perfect reason to break all of these rules.</p>
<p>In short, reduce caloric intake, increase per-calorie value and/or enjoyment!</p>
<h2 id="systems-and-tools">Systems and Tools</h2>
<p>This is the place where I summarise (read: ramble on about) the current state of my digital tools and systems. If you&rsquo;re going to skip a (nerdy) section, this is the one! You can dive back in at <a href="#life-systems-2025">Life Systems 2025</a>.</p>
<p>I am one of those people who <em>regularly</em> finds and uses information from notes that I made.</p>
<p>If I have the note, and I often do because I make an effort to write stuff down with the lowest possible friction but the highest possible chance of being found again, this is generally miles faster than finding the information online, even with tools like the <a href="https://kagi.com/">premium search engine Kagi</a> which I have been using regularly for a few weeks now.</p>
<h3 id="emacs-and-obsidian">Emacs and Obsidian</h3>
<p>A year ago I <a href="/2024/01/04/the-2023-to-2024-transition-post/#systems-and-tools">experienced a bit of a crisis of (Emacs) faith</a>.</p>
<p>Whilst that was more of a clash between the either-or poles of Emacs and Obsidian, I am now at a place where I&rsquo;m finding increasing uses for Obisidian as an <em>additional</em> note-taking tool, working on the same collection of hundreds of org-mode and a growing number of markdown files.</p>
<p>Emacs and org-roam treat <a href="https://vxlabs.com/2022/09/24/modify-md-roam-for-frontmatter-less-operation/">markdown files as if they are native org-roam nodes</a>. Thanks to <a href="https://github.com/BBazard/obsidian-orgmode-cm6">Benoit Bazard&rsquo;s fantastic new CodeMirror 6 org-mode plugin for Obsidian</a> and my <a href="https://charlbotha.com/til/Monitor-rclone-cron-job-with-Home-Assistant">rclone + syncthing syncing setup for iPhone</a>, I have semi-usable org database support on my phone.</p>
<p><a href="https://plainorg.com/">Plain Org</a> and since recently <a href="https://orgro.org/">Orgro</a> are great for editing org files in the iPhone, but they are missing the searching and discovery, let&rsquo;s call it <em>note management</em>, aspects of a tool like Obsidian.</p>
<p>Long but quite important-to-me story short, it looks like for the time being I&rsquo;ll continue to use both Emacs and Obsidian for note-taking. Because interoperability is not perfect, there will be some natural gravitational pull towards the one or the other which I have decided to explore.</p>
<p>At the moment, it looks like I might be writing more of my atomic notes as markdown files, whilst using org for the lab journal / logbook and project management type of notes.</p>
<p>On a deeper note, the Obsidian team is doing fantastic work.</p>
<p>Apart from their <a href="https://stephango.com/file-over-app"><em>file over app</em> philosophy</a>, Obsidian is <em>programmable</em> as can be witnessed by the thriving extension ecosystem.</p>
<p>I&rsquo;ve also <a href="https://obsidian.md/plugins?id=ai-chat-as-md">written a modest extension</a> to test this out from the inside. The programmability is not as extensive as that of Emacs, but it runs everywhere, even on mobile devices, and it might be extensive enough for the note-taking platform that Obsidian has become.</p>
<p>I&rsquo;ve been using Emacs on and off since the late 90s, but for the past 10 years it has become an always-running and integral part of my life. It feels really strange, disconcerting if I&rsquo;m being honest, that it seems to be losing its core spot.</p>
<p>I console myself in these moments with the observation that science must trump dogma, always.</p>
<p>P.S. I&rsquo;m writing this post in Emacs.</p>
<h4 id="til">TiL</h4>
<p>Thanks to Obsidian, my other, OTHER website <a href="/2024/11/17/weekly-head-voices-255-you-lift-me-up/#there-is-a-til-section-on-my-other-website">now has a &ldquo;today I learned&rdquo; (TIL) section</a> at <a href="https://charlbotha.com/til/">charlbotha.com/til</a>, published directly from a sub-directory of my main notes directory.</p>
<p>The benefit is that there is even less friction than usual and, perhaps more importantly, the psychological friction has also been reduced because I have convinced myself that the posts there are just notes and not true blog posts.</p>
<h3 id="honorable-tool-mentions-zotero-and-quarto">Honorable tool mentions: Zotero and Quarto</h3>
<p>After <a href="/2024/11/17/weekly-head-voices-255-you-lift-me-up/#omnivore-is-no-more">my distastrous recommendation of Omnivore turned into a disaster</a>, it is with some emotional trepidation but intellectual confidence (thanks to file over app and its staunchly open source nature) that I can re-recommend Zotero as a reference (of all kinds!) management tool for the long term.</p>
<p>After I last mentioned it on my blog, I have been using it quite intensively, and <a href="https://bsky.app/hashtag/zotero?author=charlbotha.com">I keep on running into delightful features</a>, like the built-in PDF reader&rsquo;s pop-up visualization of citations and image references.</p>
<p>A more recent but high power entry into my toolbelt is <a href="https://quarto.org/">Quarto</a>, which I will contend strikes a fantastic usability-power balance in the world of technical document and presentation authoring. I&rsquo;ve now used it, in anger, to write a fairly extensive technical document, along with the afore-mentioned Zotero and <a href="https://retorque.re/zotero-better-bibtex/">Better BibTeX</a> for reference management, and the experience was magically smooth. To seal the deal, by the end I used Quarto to generate an attractive-looking docx for interoperability with the other stakeholders, but my contact time with Word was mercifully minimised.</p>
<h3 id="my-micro-blogging-history-2008---2025">My micro-blogging history 2008 - 2025</h3>
<p>Twitter says I created my account there in December of 2008. However, <a href="/2009/04/04/when-the-going-gets-tough/">this blog here says I only started using it in April of 2009</a>. (Twitter first launched in July of 2006.)</p>
<p>Some years later in 2016, coincidentally right before the previous Trumpocalypse, I wrote a post naively suggesting that we should <a href="/2016/11/19/lets-replace-twitter-with-something-much-better/">replace twitter with something better (blogs&hellip;)</a> due to the risk of Twitter possibly going bad (ahem) and to the observation then that it was (then already) doing a crappy job keeping out abusive users (AHEM).</p>
<p>That post <a href="/2016/11/20/look-mom-hacker-news-front-page/">reached the front page of Hacker News</a>, and was thus read and discussed over there (and probably in the comments here) by tens of thousands of nerds, and a surprisingly small share of the usual &ldquo;Ackchyually&rdquo;-Bros.</p>
<p>(Please allow me this little tangent: A mental model that will really ease your time on sites like HN and reddit, is that the person on the other side, especially when they come across as super confident and assertive, is probably <strong>not</strong> an expert, not even by a long shot, on the topic that they are so confidently mansplaining. In fact, they are probably the least qualified to say anything. ChatGPT avant le lettre one might say. Ok back to your regular programming&hellip;)</p>
<p>Needless to say, my specific idea of replacing twitter with&hellip; blogs and rss was not implemented by the internet, at least not at that point&hellip;</p>
<p>When Musk acquired Twitter in October of 2022, the writing started appearing on the wall, at first vaguely, but with more and more definition as the months went on. I started looking for micro-blogging alternatives that were not twitter.</p>
<p>At first Mastodon looked too complicated, but then someone setup a <a href="/2022/11/20/weekly-head-voices-249-self-discipline/#emacs-mastodon-server-was-irresistible">mastodon server dedicated to Emacs and I was immediately sold</a>.</p>
<p>However, Mastodon indeed turned out to be too complex and fundamentally quite fragile (all but the larger instances have a just a volunteer human or two behind them), leading to the owner of my favourite instance bascially being harassed to such an extent that it was better for him to get out of this business and <a href="https://mastodon.social/@cpbotha/113340325817581254">shut the Emacs mastodon server down</a>.</p>
<p>When I saw this announcement, I was disheartened.</p>
<p>When I read that Mastodon supports message export, but not message import, meaning that my posts would languish in a sad archive file somewhere, I was convinced that I had to try something out that was not Mastodon.</p>
<p>In parallel to my Mastodon efforts, I did also try Threads and was quite enthusiastic about its scale, and the speed with which Meta managed to build it, but I didn&rsquo;t manage to get any sort of interaction there. I think that it might be more geared for the Instagram model of influencers broadcasting to large groups of followers, in contrast to a more collaborative setup. (Urgh, the recent news about Meta&rsquo;s new &ldquo;free speech&rdquo; overhaul is additional motivation for me to spend even less energy there.)</p>
<p>ANYWAYS, it turns out that the newer and shinier microblogging service Bluesky was conceived in 2019 with the goal <a href="https://en.wikipedia.org/wiki/Bluesky">&ldquo;to find or develop an open and decentralized standard for social media that would give users more control over their data and experience&rdquo;</a>, precisely the sort of thing that has suddenly become even more painfully relevant with the advent of the Trumpocalypse part deux, now with more Musk-power.</p>
<p>Long story short, in a very short time, Bluesky has proven to be almost exactly the microblogging platform that I enjoy participating in. Lots of human interaction, no ads, many different user-contributed algorithms to choose from, including just seeing the stuff your people post, in the order that they post it &ndash; it really feels like the thing was put together with semi-normal human interaction as the central concern.</p>
<p>Up to now, it also feels like <a href="/2024/11/17/weekly-head-voices-255-you-lift-me-up/#bluesky-is-my-new-micro-blogging-thing-of-choice">many folks on there prefer being decent to each other</a>, something I militantly (haha) support.</p>
<p>Some mastodon folks are downright unhappy with bluesky, because they feel that it&rsquo;s not truly decentralized like mastodon.</p>
<p>Thing is, Bluesky has chosen a different spot on the usability - decentralization spectrum, and and my opinion is exactly usable and decentralised enough for what it needs to be and do at this moment in time.</p>
<p>Looking slightly further into the future, there are well-funded initiatives like <a href="https://www.theverge.com/2025/1/13/24342799/free-our-feeds-social-media-ecosystem-at-protocol-bluesky">Free our feeds</a>, ideologically and technologically supported by the Bluesky company but otherwise unconnected, which has amongst its <a href="https://freeourfeeds.com/">goals to &ldquo;build independently hosted infrastructure (a second &lsquo;relay&rsquo;) so that Bluesky users, developers and researchers always have full access to the stream of content and data no matter what the company decides to do in future&rdquo;</a>.</p>
<p>If you would like to know more, Faine Greenwood has written <a href="https://little-flying-robots.ghost.io/the-great-bluesky-migration-i-answer-some-of-your-questions/">this great Bluesky explainer</a>.</p>
<h2 id="life-systems-2025">Life Systems 2025</h2>
<p>My Life Systems are the guiding principles, rules, personal values and bags of tips that I have explicitly defined and refined over the years to help me be the best human that I can be.</p>
<p>Note: I write these up primarily as a reminder to myself. If it comes across as prescriptive, please remember that I&rsquo;m telling <em>me</em> how to live my life. I can do this, because I <em>am</em> the boss of me.</p>
<h3 id="core">Core</h3>
<p>You&rsquo;ll be happy to hear that the core of my Life Systems 2025 is exactly the same as the previous edition <a href="/2024/01/04/the-2023-to-2024-transition-post/#life-systems-2024">Life Systems 2024</a>, except for the version number increase, and the concomitant price increase. (taking a leaf here from the Intel playbook!)</p>
<p>If you don&rsquo;t want to read <a href="/2024/01/04/the-2023-to-2024-transition-post/#life-systems-2024">the 2024 write-up</a>, here is the compressed version:</p>
<p><em>Guiding principles:</em> 1. Love 2. Science. <em>Two no three rules for achieving great success in life, or just surviving, whichever comes first:</em> 1. Be useful. 2. be likable and 3. evolve. <em>Personal values:</em> 1. Be kind. 2. Be grateful. 3. Attend fully to the now. 4. Enjoy life with family and with my friends. 5. Help my children on their journey to becoming useful, likeable and evolving life enjoyers. 6. Be there for my family. 7. Add value through work. 8. Be healthy: Sleep, diet, exercise. 9. Build and/or fix something. 10. Learn new things. 11. Commit to lifelong practice of the good things.</p>
<h3 id="balance">Balance</h3>
<p>What I have been thinking about this year, especially when things get quite busy, is the sometimes tricky practice of applying balance to one&rsquo;s personal values.</p>
<p>A straight-forward example is when important work obligations start impacting my sleep or exercise schedule, in which case I have to apply balance and tone down slightly the ambition to fulfil personal value no 7.</p>
<p>It can easily get more tricky however; when something on that list of personal values, which is important to you, starts taking up more than its fair share of energy, that will come at the cost of all of the other endeavours that you value.</p>
<p>I don&rsquo;t have a hard and fast rule for this, only the measure of remembering to <em>pay attention</em> also at that meta-level so that one can make suitable balancing adjustments when required.</p>
<h3 id="work-hard-party-hard-rest-hard">Work hard. Party hard. Rest hard.</h3>
<p>A lesson that has only become clearer for me over the years is that we humans function best when we are able to focus on one thing at a time, and when we have as few things as possible on the list that we select from.</p>
<p>This works at all scales of life, from what task do I work on during this half-hour all the way up to my main priority for today, or my three main priorities for this year.</p>
<p>The challenge in applying this lesson is three-fold:</p>
<ol>
<li>Know which thing to focus on at any time,</li>
<li>reduce switching between things and yet</li>
<li>get to all of the things that you should get to.</li>
</ol>
<p>Once you have all three of these covered, then comes the truly difficult part: <strong>Attend fully to the now.</strong></p>
<p>Those of us who are lucky get about 4000 weeks of life.</p>
<p>If you&rsquo;re not truly present in the thing that you&rsquo;ve chosen at this moment, you are not using that allotted time to its fullest extent.</p>
<p>You can never ever get that time back.</p>
<p>It&rsquo;s like you&rsquo;re in a Michelin-starred restaurant, and instead of going power level 9000 with all of your senses and your thoughts and your whole being into <em>experiencing</em> that food with your favourite human(s), you&rsquo;re scrolling on your phone, absent-mindedly shovelling forkfuls into your mouth.</p>
<p>Do the opposite.</p>
<p>Pick your battles, but sometimes also choose a party if you can and don&rsquo;t forget to rest like your life depends on it. Whatever you do, be the most maximally present in the thing you&rsquo;ve chosen. Presence and attention improve with regular practice.</p>
<p>In short: Work hard, party hard, rest hard.</p>
<!-- be maximally present to use that time right; do everything HARD -- came during my 2025-01-11 morning run -->
<h2 id="my-2024-to-2025-transition-wishes">My 2024 to 2025 transition wishes</h2>
<p>Humans<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> <em>at their peak</em> are a thing of beauty.</p>
<p>Above all they are truly kind.  They live and breathe the knowledge that we <em>homo sapiens</em> are at our absolute best when we connect with each other.</p>
<p>Peak humans are graceful, and they are elegant, and they are in harmony &ndash; the best sort of balance &ndash; with their surroundings, with those around them and with themselves.</p>
<p>Attaining this peak is hard. Maintaining it is nigh impossible. Best we can go for is <a href="/2018/06/03/weekly-head-voices-144-eternal-learner/#mastery">the never-ending practice</a> of these characteristics, and an eternal striving for moments to <em>become them</em>.</p>
<p>Friends, I wish you and your connected ones the willpower to strive for grace and elegance and harmony, and the presence of mind to attend fully to those perfect moments when they occur.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>If you&rsquo;re reading this, you might be one of these&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
 ]]></content:encoded>
    </item>
    <item>
      <title>Weekly Head Voices #258: Kogelberg 25</title>
      <link>https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/</link>
      <pubDate>Thu, 19 Dec 2024 16:38:35 +0200</pubDate>
      <guid>https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/</guid>
      <description>Welcome everyone to one of the final WHVs of the year!&#xA;This one covers the period of time from Monday 9 December to Friday December 20 of the year 2024.&#xA;Scene from an extremely special hike up the Palmiet river.&#xA;Kogelberg Anniversary My life partner and I very recently achieved a quarter century of official togetherness.&#xA;</description>
      <content:encoded><![CDATA[ <p>Welcome everyone to one of the final WHVs of the year!</p>
<p>This one covers the period of time from Monday 9 December to Friday December 20 of the year 2024.</p>








    


<figure><a href="palmiet_route.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/palmiet_route_hu_99359b113c7c5d28.webp 480w,
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/palmiet_route_hu_fe0e89c4c0fa4495.webp 800w,
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/palmiet_route_hu_234e816251779990.webp 1200w,
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/palmiet_route_hu_8af5a97389c9c9d.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/palmiet_route_hu_fe0e89c4c0fa4495.webp"
            

        
            alt="Scene from an extremely special hike up the Palmiet river."/> </a><figcaption>
            <p>Scene from an extremely special hike up the Palmiet river.</p>
        </figcaption>
</figure>

<h2 id="kogelberg-anniversary">Kogelberg Anniversary</h2>
<p>My life partner and I very recently achieved a quarter century of official togetherness.</p>
<p>While we usually do like to do some sort of <a href="/2019/12/18/weekly-head-voices-186-helderberg-20/#anniversary-walk-up-the-mountain">hike together to celebrate</a>, this time due to the significance of the number we wanted to do something a little more special.</p>
<p>After a search to the West, in the direction of Cape Town, did not yield anything special enough that would not require us to re-mortgage our house, we looked to the East, and soon landed on <a href="https://en.wikipedia.org/wiki/Kogelberg_Nature_Reserve">the Kogelberg Nature Reserve</a> and more specifically the <a href="https://www.capenature.co.za/accommodation/oudebosch-eco-cabins">Oudebosch Eco Cabins</a>, and even more specifically the cabin named <em>Everlasting Daisy</em>, off to the side, right on top of the Kogelberg trail.</p>
<p>After the mad rush to get there before the very strict 16:00 cut-off (note!), during which I went into substantial good karma debt navigating slow traffic and stop-n-go situations on the otherwise beautiful <a href="/tags/clarence-drive/">Clarence drive</a>, the arrival inside Kogelberg, after losing all cell phone reception as we descended into the valley, was positively serene.</p>








    


<figure><a href="everlasting_daisy.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/everlasting_daisy_hu_a8fc91504dcec18b.webp 480w,
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/everlasting_daisy_hu_8f7a819cf9d437e7.webp 800w,
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/everlasting_daisy_hu_236b3acb78e48306.webp 1200w,
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/everlasting_daisy_hu_80ac40475c49c75e.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/everlasting_daisy_hu_8f7a819cf9d437e7.webp"
            

        
            alt="A small part of the view from the Everlasting Daisy eco-cabin"/> </a><figcaption>
            <p>A small part of the view from the Everlasting Daisy eco-cabin</p>
        </figcaption>
</figure>

<p>It bears repeating here that the switch-over into serenity was almost instant, and it was complete.</p>
<p>I guess being &ldquo;forcibly&rdquo; disconnected from the information highway and then being so gently but utterly enfolded by the majesty of nature might have that effect&hellip; we will have to go back.</p>
<p>After an absolutely brilliant sunset together, and then falling asleep with the stars and the moon and the quiet pouring in through the large windows, we woke up to some light rain.</p>
<p>This was perfect for our laid-back breakfast,  and it meant that the first part of our hike up the Palmiet river was pleasantly cool.</p>
<p>The views up the river, and then back down with the jeep track were stunning.</p>
<p>In the end, that hike was also <em>just right</em>.</p>
<p>When we finally left for home (with a lunch stop at <a href="/2024/01/07/daily-head-voices-2024-01-05/">Café Zest</a> of course), it really felt like we had spent much more time than that single night and day in the Kogelberg state of calm.</p>
<h2 id="similar-blog-posts-based-on-chunk-embedding-similarity">Similar blog posts based on chunk embedding similarity</h2>
<p>Probably due to a much delayed echo of my experience writing the <a href="/2024/11/24/weekly-head-voices-256-word/#shielding-you-from-the-equal-odds-rule">WHV #256</a> bit about why most of these posts were always going to be just average:</p>
<blockquote>
<p>(Now that I write this, I’m sure I must have mentioned this before on this blog… can you help me find the post(s) in question?)</p>
</blockquote>
<p>&hellip; on Monday December 9 I briefly looked into finding existing tools that could rummage through the whole WHV post archive, but through the actual sections and not the complete posts, in order to find previous writings that are thematically similar to something I&rsquo;m currently working on.</p>
<p>After a brief search did not turn up a ready-made tool, I wisely opted to write up the idea in a note titled <em>Idea: Hugo blog post similarity search</em> and then walked away from that text analysis catnip.</p>
<p>&hellip; until Monday December 16, a vacation day, when I could &ldquo;quickly&rdquo; dive in!</p>
<p>You can see <a href="https://bsky.app/profile/charlbotha.com/post/3ldfrgk6hik2z">the bluesky thread</a> as I got into it, or just <a href="https://github.com/cpbotha/md-similarity">the finished product, named <em>md-similarity</em>, on github</a>.</p>
<p>Trying this out on my original question, namely where and in what blog post did I maybe also talk about the general idea of having to produce a bunch of average output in order to have a few winners, we get the following output:</p>
<div class="highlight"><pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-shell-session" data-lang="shell-session"><span style="display:flex;"><span>$ mdsim list-similar 2024/whv-256-word/index.md --section-regex <span style="color:#0a3069">&#34;Shielding&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#1f2328">0.765 - 2020/whv-197-on-shipping-a-side-project/index.md - Weekly Head Voices #197: How to ship side-projects - Hello friends! 👉 ## Shielding you from the equal-odds rule
</span></span></span><span style="display:flex;"><span><span style="color:#1f2328">0.776 - 2019-02-06-weekly-head-voices-161-email-equilibrium.md - Weekly Head Voices #161: Email Equilibrium. - {&lt; figure src=&#34;https://cpbotha.net/wp-content/uploads/2019/02/screenshot_2019-01-31_06-16-47.png&#34; link=&#34;/wp-content/uploads/2019/02/screenshot_2019-01-31_06-16-47.png&#34; &gt;}  👉 ## Shielding you from the equal-odds rule
</span></span></span><span style="display:flex;"><span><span style="color:#1f2328">0.780 - 2022/whv-245-this-too-shall-pass/index.md - Weekly Head Voices #245: This too shall pass - WELL HELLO EVERYONE and welcome back to the Weekly Head Voices, edition #245 to 👉 ## Shielding you from the equal-odds rule
</span></span></span><span style="display:flex;"><span><span style="color:#1f2328">0.785 - 2021/whv-236-surprising-power-of-consistent-chipping/index.md - Weekly Head Voices #236: The surprising power of consistent chipping - This 236th edition of the Weekly Head Voices looks back at the three (sorry!) 👉 ## Shielding you from the equal-odds rule
</span></span></span></code></pre></div><p>Of those four results, the third one, namely <a href="/2022/08/09/weekly-head-voices-245-this-too-shall-pass/">the introductory section of WHV #256</a> from 2022, is exactly the sort of similar thought I was after.</p>
<p>I was not able to find that post without having to search many different key phrases.</p>
<p>This is one of the situations where modern embedding models shine: Retrieving text that&rsquo;s vaguely about the same idea. For my purpose here, I am more interested in serendipitous association rather than retrieval precision.</p>
<p>Rather serendipitously (I&rsquo;m pushing it&hellip;), two days later <a href="https://bsky.app/profile/howard.fm/post/3ldod2afps62x">Jeremy Howard announced their new ModernBERT encoder-only model on Bluesky</a>. You can <a href="https://huggingface.co/blog/modernbert">read more on the huggingface blog</a>, but I find this development pretty exciting!</p>
<h2 id="the-beginning-of-the-end">The beginning of the end</h2>
<p>I am currently in the extremely fortunate situation that every run day can be a long<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> run day.</p>
<p>Although I now know that I&rsquo;m not going to be able to hit my yearly distance goal, I am still planning to use the above-mentioned good fortune to get as close as I can before the brand new year release &ldquo;2025&rdquo; drops.</p>








    


<figure><a href="bettys_run.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/bettys_run_hu_d92fb3c5307a3190.webp 480w,
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/bettys_run_hu_7202582c0f1bb617.webp 800w,
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/bettys_run_hu_46dc8b7d71d276a4.webp 1200w,
            
                
                https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/bettys_run_hu_b631b02ab597eb8a.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2024/12/19/weekly-head-voices-258-kogelberg-25/bettys_run_hu_7202582c0f1bb617.webp"
            

        /> </a>
</figure>

<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>Ok ok I mean weekend-length!&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
 ]]></content:encoded>
    </item>
    <item>
      <title>Weekly Head Voices #257: Untitled49.ipynb</title>
      <link>https://cpbotha.net/2024/12/08/weekly-head-voices-257-untitled49-ipynb/</link>
      <pubDate>Sun, 08 Dec 2024 17:57:35 +0200</pubDate>
      <guid>https://cpbotha.net/2024/12/08/weekly-head-voices-257-untitled49-ipynb/</guid>
      <description>This, the 257th edition of the WHV, covers the period of time from Monday November 25 to Sunday December 8, 2024.&#xA;The view right from our lunch table at Stellenbosch Reserve, Haskell Vineyard&#xA;Haskell vineyard has made previous appearances on this blog in WHV #99 in 2015, in WHV #181 in 2019 and perhaps in other posts. I strongly suspect that some of the good friends mentioned there were the same good friends we were so fortunate to spend this Sunday lunch with!&#xA;</description>
      <content:encoded><![CDATA[ <p>This, the 257th edition of the WHV, covers the period of time from Monday November 25 to Sunday December 8, 2024.</p>








    


<figure><a href="stellenbosch_reserve_view_from_table.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2024/12/08/weekly-head-voices-257-untitled49-ipynb/stellenbosch_reserve_view_from_table_hu_628aabaa4fc4deb1.webp 480w,
            
                
                https://cpbotha.net/2024/12/08/weekly-head-voices-257-untitled49-ipynb/stellenbosch_reserve_view_from_table_hu_26e1903f953321e3.webp 800w,
            
                
                https://cpbotha.net/2024/12/08/weekly-head-voices-257-untitled49-ipynb/stellenbosch_reserve_view_from_table_hu_fba80af0d08785ec.webp 1200w,
            
                
                https://cpbotha.net/2024/12/08/weekly-head-voices-257-untitled49-ipynb/stellenbosch_reserve_view_from_table_hu_cdf93c7de6ffbf4b.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2024/12/08/weekly-head-voices-257-untitled49-ipynb/stellenbosch_reserve_view_from_table_hu_26e1903f953321e3.webp"
            

        
            alt="The view right from our lunch table at Stellenbosch Reserve, Haskell Vineyard"/> </a><figcaption>
            <p>The view right from our lunch table at Stellenbosch Reserve, Haskell Vineyard</p>
        </figcaption>
</figure>

<p>Haskell vineyard has made previous appearances on this blog in <a href="/2015/08/23/weekly-head-voices-99-no-lands/">WHV #99 in 2015</a>, in <a href="/2019/10/17/weekly-head-voices-181-the-slow-ones/">WHV #181 in 2019</a> and perhaps in other posts. I strongly suspect that some of the good friends mentioned there were the same good friends we were so fortunate to spend this Sunday lunch with!</p>
<h2 id="why-im-definitely-not-taking-part-in-advent-of-code-2024">Why I&rsquo;m definitely not taking part in Advent of Code 2024</h2>
<p>I tried to <a href="/2020/12/12/weekly-head-voices-211-table-mountain-run-ish/#advent-of-code-2020">explain The Advent of Code in WHV #211</a>, back in December of 2020 when I took part for the first time.</p>
<p>An extract from that explanation pertinent to this discussion is:</p>
<blockquote>
<p>To my non-programmer friends: Solving puzzles is like concentrated cat nip to programmers. In the case of AoC, you get unadulterated puzzle solving, and none of the other complications of writing production software.</p>
</blockquote>
<p>The dark side of that property is that as the puzzles get more difficult and take up increasing amounts of time, the cat nip enjoyer can get locked in and have great difficulty even noticing that they are spending hours every day writing computer programmes when at first other people are working and later, down here, they are outside enjoying their summer vacation.</p>
<p>In 2020, I think it was on day 21 that I noticed after more than four hours on that day&rsquo;s puzzle that it was probably time to put down the keyboard.</p>
<p>Since then I have been carefully enjoying the first few days of each year&rsquo;s AoC, taking care to walk away when the cat nip becomes too strong.</p>
<p>This year I had resolved not to take part at all, as there are a number of important work projects and personal obligations to take care of.</p>
<p>However, my resolve broke on the first day when I thought &ldquo;What could be the harm in just taking a little peek?&rdquo;. That little peek led to a little solution, and then another, and then another day, and so on.</p>
<p>Anyways, as you can see from my <a href="https://bsky.app/hashtag/AdventOfCode?author=charlbotha.com">#AdventOfCode tagged posts on Bluesky</a>, I am not officially taking part, I&rsquo;m just submitting solutions every day.</p>
<p>On a more serious note: I am happy not to miss out on the AoC loads of fun, especially the banter and comparisons and learning on various chat groups, but I am really trying to keep a critical eye on the daily time expense. If it gets out of hand, I will walk away from the programmer cat nip.</p>
<p>P.S. Today was particularly fun, precisely because I managed to squeeze the puzzle in between more important activities. The little rush when I submitted part 2&rsquo;s solution minutes before we had to leave for lunch was exquisite.</p>
<blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:oy5vmr2vnff6yxs65hwgk5xq/app.bsky.feed.post/3lcsengeop22r" data-bluesky-cid="bafyreic3sip7ko7ice6gssjd5e57i7l7mbzkghwzp6dy24bee3m2texiza"><p lang="en">Today I was planning on extra vigorously NOT taking part in AoC because it&#x27;s Sunday: planning a long run followed by lunch with some of our best friends.
<p>Plans all happened, but in between I completed &quot;Resonant Collinearity&quot; - Day 8 - Advent of Code 2024 #AdventOfCode adventofcode.com/2024/day/8<br><br><a href="https://bsky.app/profile/did:plc:oy5vmr2vnff6yxs65hwgk5xq/post/3lcsengeop22r?ref_src=embed">[image or embed]</a></p>— Charl P. Botha | code, data-*, Emacs, running, humans (<a href="https://bsky.app/profile/did:plc:oy5vmr2vnff6yxs65hwgk5xq?ref_src=embed">@charlbotha.com</a>) <a href="https://bsky.app/profile/did:plc:oy5vmr2vnff6yxs65hwgk5xq/post/3lcsengeop22r?ref_src=embed">December 8, 2024 at 3:59 PM</a></blockquote><script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script></p>
<h2 id="webp-ftw">WebP FTW</h2>
<p>Back in 2020, friend <a href="https://mentat.za.net/">Stéfan</a> and I <a href="/2020/05/02/drop-in-replacement-for-hugo-figure-shortcode-with-responsive-img-srcset/">hacked and slashed together a Hugo shortcode to render srcset images</a>.</p>
<p>In short, this adds multiple resolutions of each image in such a way that users download only what makes sense on their displays, often leading to faster page loading.</p>
<p>Fast forward 4 years as I try out <a href="https://en.wikipedia.org/wiki/WebP">WebP</a> format images on this website (always for faster loading!) and run into a disappointingly long-standing bug in the Go standard library&hellip;</p>
<p>Another long story short, our <a href="https://gist.github.com/cpbotha/deb310eed14308fe26f7b7d0fabeb34d?permalink_comment_id=5299293">figure shortcode can now work around this bug</a> by displaying webp, but using png/jpg behind the scenes for all conversions, meaning most images should load faster for you.</p>
<p>The photo at the top of this post should have the WebP format, and thanks to srcset it should download lower resolution versions if you are on a smaller display.</p>
<h2 id="why-im-starting-to-write-these-more-regularly-in-hugo-vs-orgmode">Why I&rsquo;m starting to write these more regularly in Hugo vs Orgmode</h2>
<p>This is just a quick note to me, and perhaps others who occupy this same nanoscopic technical niche.</p>
<p>For the past few years, <a href="/2020/05/03/weekly-head-voices-193-covid-19-part-3/#fantastic-blogging-tools-and-where-to-find-them">since May of 2020</a>, I&rsquo;ve been writing most of the WHV posts, and posts for my other blogs, in Emacs Orgmode, exporting them with the wonderful ox-hugo tool.</p>
<p>It made a great deal of sense to me (and it still does!) that my WHV entries were just entries in my monthly orgmode file.</p>
<p>However, sometimes when I go back to update a post from a few years back, some evolution in my orgmode configuration over the years complicates the orgmode to Hugo markdown process, and I&rsquo;m relegated to debugging the issue before I can get down to the actual update.</p>
<p>A year or two back, to lessen the impact of this problem, I started creating standalone org files for the WHVs. Whilst this certainly reduces the error surface, it&rsquo;s not as robust as editing the markdown directly, which I&rsquo;m doing right now.</p>
<p>Thanks for coming to my TED talk.</p>
<h2 id="on-waiting">On waiting</h2>
<blockquote>
<p>There&rsquo;s no such thing as waiting &ndash; only unexpected extra time to practice being present. &ndash; <a href="https://en.wikipedia.org/wiki/Jan_Chozen_Bays">Jan Chozen Bays</a></p>
</blockquote>
<p>P.S. In American English, practice is used both as verb and as noun, unlike British English which uses practice as a noun, and practise as the verb. Dr Bays is American, so I&rsquo;m keeping the spelling.</p>
 ]]></content:encoded>
    </item>
    <item>
      <title>Weekly Head Voices #256: Word</title>
      <link>https://cpbotha.net/2024/11/24/weekly-head-voices-256-word/</link>
      <pubDate>Sun, 24 Nov 2024 21:00:00 +0200</pubDate>
      <guid>https://cpbotha.net/2024/11/24/weekly-head-voices-256-word/</guid>
      <description>The title of this post is another nerd-dad joke I probably should not have made, but which I simply could not resist.&#xA;Whatever the case may be, I&amp;rsquo;m happy that it&amp;rsquo;s out, just like this, the otherwise extremely modest 256th edition of the Weekly Head Voices!&#xA;A scene from our Saturday family and friends hike in Jonkershoek.&#xA;</description>
      <content:encoded><![CDATA[ <p>The title of this post is another nerd-dad joke I probably should not have made, but which I simply could not resist.</p>
<p>Whatever the case may be, I&rsquo;m happy that it&rsquo;s out, just like this, the otherwise extremely modest 256th edition of the Weekly Head Voices!</p>








    


<figure><a href="panoramic_jonkershoek_yellowwood.webp">
    <img
        
            sizes="(min-width: 35em) 1200px, 100vw"
              
            srcset='
            
                
                https://cpbotha.net/2024/11/24/weekly-head-voices-256-word/panoramic_jonkershoek_yellowwood_hu_bc0dc874fd6e2c48.webp 480w,
            
                
                https://cpbotha.net/2024/11/24/weekly-head-voices-256-word/panoramic_jonkershoek_yellowwood_hu_b744cfd190403525.webp 800w,
            
                
                https://cpbotha.net/2024/11/24/weekly-head-voices-256-word/panoramic_jonkershoek_yellowwood_hu_5b6adc06092ded60.webp 1200w,
            
                
                https://cpbotha.net/2024/11/24/weekly-head-voices-256-word/panoramic_jonkershoek_yellowwood_hu_3bd7a34e512b7b3a.webp 1500w,
            '

            
            
            src="https://cpbotha.net/2024/11/24/weekly-head-voices-256-word/panoramic_jonkershoek_yellowwood_hu_b744cfd190403525.webp"
            

        
            alt="A scene from our Saturday family and friends hike in Jonkershoek."/> </a><figcaption>
            <p>A scene from our Saturday family and friends hike in Jonkershoek.</p>
        </figcaption>
</figure>

<p>Today I only have three things (ok it turns out I have four!) I would like to mention.</p>
<h2 id="shielding-you-from-the-equal-odds-rule">Shielding you from the equal-odds rule</h2>
<p>I&rsquo;ve often read about this phenomenon, and internalised the idea, but today I found its original source.</p>
<p>It was in fact Dean Simonton&rsquo;s research that brought us /the equal-odds rule/:</p>
<blockquote>
<p>Simonton found that the probability of producing a highly recognized work product, such as an influential research article, is roughly the same for all contributors, whether eminent or not. This is what Simonton called the equal-odds principle. What distinguishes highly eminent scholars is the overall volume of works they produce. By sheer dint of productivity, those who reach professional eminence stack the odds in their favor of producing another masterpiece</p>
</blockquote>
<p>(The quote above is from Simonton&rsquo;s 2010 book Learning and Cognition: The Design of the Mind (p.224), but I retrieved it from the <a href="https://sarneckalab.blogspot.com/2017/12/simontons-equal-odds-rule.html">Sarnecka Lab Blog&rsquo;s post on the topic</a>.)</p>
<p>I think we can extend this to fields outside of academia. People who appear to produce a great deal of fantastic work do so by producing a greater amount of work in total than their peers.</p>
<p>According to Simonton, the ratio of great work to non-great work is similar for everyone. Those who succeed, are just producing that much more.</p>
<p>That&rsquo;s a long story to explain that many of the posts on this blog are going to be just meh, and some just bad, but I have to make them all and put them here so that there can be good ones in between.</p>
<p>(Now that I write this, I&rsquo;m sure I must have mentioned this before on this blog&hellip; can you help me find the post(s) in question?)</p>
<p>In any case, to help you work around this glitch in the creativity matrix, and to give new readers a more gentle introduction, I decided during my run this morning to start explicitly tagging posts that I personally really like.</p>
<p>I have only just started with this, and it will probably take a while to go through all of my older posts, but you can henceforth keep an eye out for the tag <a href="/tags/my-selection/">&ldquo;my selection&rdquo;</a>.</p>
<p><em>P.S. or rather &ldquo;pssst!&rdquo;: This edition did not get the tag. <a href="/2024/11/17/weekly-head-voices-255-you-lift-me-up/">Last week&rsquo;s post #255</a> did!</em></p>
<h2 id="making-til-go-fast">Making TiL go fast</h2>
<p>During the weekend I noticed that the super recently <a href="/2024/11/17/weekly-head-voices-255-you-lift-me-up/#there-is-a-til-section-on-my-other-website">announced TIL (Things I Learned) section</a> on my other website was not as fast I expected.</p>
<p>Turns out I was right.</p>
<p>The debugging and working-arounding were the source of an hour of two of entertainment, and <a href="https://vxlabs.com/2024/11/23/speed-up-obsidian-quartz-page-loads/">a new blog post at the vxlabs</a>.</p>
<h2 id="something-he-can-never-have">Something he can never have</h2>
<p>On the Saturday hike, I recounted this story to a friend, but it&rsquo;s always tricky when at that point you&rsquo;re unable to remember the two amazing dramatis personae.</p>
<p>Today I went searching to find the exact details, and was delighted to find that <a href="https://genius.com/Kurt-vonnegut-joe-heller-annotated">Kurt Vonnegut himself had written a poem about his experience with his friend Joseph Heller</a> at some billionaire&rsquo;s party.</p>
<blockquote>
<p>Joe Heller</p>
<p>True story, Word of Honor:<br>
Joseph Heller, an important and funny writer<br>
now dead,<br>
and I were at a party given by a billionaire<br>
on Shelter Island.<br>
I said, &ldquo;Joe, how does it make you feel<br>
to know that our host only yesterday<br>
may have made more money<br>
than your novel &lsquo;Catch-22&rsquo;<br>
has earned in its entire history?&rdquo;<br>
And Joe said, &ldquo;I’ve got something he can never have.&rdquo;<br>
And I said, &ldquo;What on earth could that be, Joe?&rdquo;<br>
And Joe said, &ldquo;The knowledge that I&rsquo;ve got enough.&rdquo;<br>
Not bad! Rest in peace!&quot;</p>
<p>&ndash; Kurt Vonnegut</p>
<p><em>The New Yorker</em>, May 16th, 2005</p>
</blockquote>
 ]]></content:encoded>
    </item>
  </channel>
</rss>



