<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>cthululemon</title>
    <link>https://blog.cthululemon.com/</link>
    <description>These are some thoughts; sometimes they&#39;re mine.</description>
    <pubDate>Sun, 19 Apr 2026 18:05:31 -0700</pubDate>
    <item>
      <title>On Stephen Fry and the unutterable loss of a dream, in a dream</title>
      <link>https://blog.cthululemon.com/on-stephen-fry-and-the-unutterable-loss-of-a-dream-in-a-dream</link>
      <description>&lt;![CDATA[I&#39;ve loved Stephen Fry for as long as I could love anything. I was raised on A Bit of Fry and Laurie and Black Adder. Kingdom, his various audio books, and especially his interviews and public appearances are magical. Whenever I (re-)read a book of his I imagine it in his voice; I can&#39;t do otherwise.&#xA;&#xA;!--more--&#xA;&#xA;His ideas are usually comforting but occasionally challenging. His voice is melodious and soothing. I love his stories and anecdotes, and how much he delights in wordplay and the delicious sounds of language. One of Tolkien&#39;s most attractive ideas is the creative power of speech; the ability to sing the world into creation. For me, Stephen Fry&#39;s speech is powerful magic.&#xA;&#xA;There&#39;s a reason why Stephen Fry&#39;s performance as the Master of Laketown is so hilarious; the discord between the actor and the character makes the whole thing preposterous.&#xA;&#xA;So erudite, so smug; so amiable, so un-condescending.&#xA;&#xA;There&#39;s that parlor game, that let&#39;s-get-to-know-each-other game where you name some people from history you would like to have over for tea or dinner. Oscar Wilde frequented my lists when I was younger, as did Stephen Fry, but over time I realized  Stephen Fry was a much better choice for the simple reason that, after tea, the summoned Wilde would return to wherever his spirit spends its time. But Stephen Fry! He&#39;s alive and our friendship could grow old and strong long after I had composted the tea leaves and tidied up the kitchen. Our teatime would be jovial and silly:&#xA;&#xA;Stephen Fry: &#34;This tea is splendid!&#34;&#xA;Habeeb: &#34;I&#39;m so glad you like it.&#34;&#xA;Stephen Fry: &#34;Oh my, Habeeb--may I call you that?...&#34;&#xA;Habeeb: &#34;Of course! May I do likewise?&#34;&#xA;Stephen: &#34;Of course. Now, what shall we discuss first?&#34;&#xA;Stephen&#39;s Habeeb: &#34; Well, my Stephen, I was hoping to chat about your humanism, and how it doesn&#39;t seem to need--and maybe even rejects--an empirical foundation.&#34;&#xA;Habeeb&#39;s Stephen: (chuckles)&#xA;Stephen&#39;s Habeeb: &#34;Also, ducks. Oh, and donkeys. And capybara.&#34;&#xA;Habeeb&#39;s Stephen: (very seriously) &#34;Well the humanism part will take our tea time. The rest will take a lifetime. But, my Habeeb, I&#39;m up for both if you are.&#34;&#xA;Stephen&#39;s Habeeb: &#34;My Stephen, nothing would please me more.&#34;&#xA;Habeeb&#39;s Stephen: &#34;On the topic of capybara, remind me to tell you about how Sir David Attenborough and I mixed up our steamer trunks near Manaus...&#34;&#xA;&#xA;The point of all this is to try to explain how unutterably sad I&#39;ve been since a dream I dreamed a while ago. By some dream logic, I was to meet Stephen Fry at last, but he had heard about some other person who had uttered something despicable about trans people and Stephen thought it was me. He was disgusted and wouldn&#39;t even look at me. I pleaded and pleaded until I awoke in a panicked sweat.&#xA;&#xA;He would never be my Stephen and I would never be his Habeeb, and all because of my stupid common name and because people just can&#39;t lay off hurting the most vulnerable among us.&#xA;&#xA;All posts CC BY-SA-NC 4.0 or later, unless otherwise stated. ]]&gt;</description>
      <content:encoded><![CDATA[<p>I&#39;ve loved Stephen Fry for as long as I could love anything. I was raised on A Bit of Fry and Laurie and Black Adder. Kingdom, his various audio books, and especially his interviews and public appearances are magical. Whenever I (re-)read a book of his I imagine it in his voice; I can&#39;t do otherwise.</p>



<p>His ideas are usually comforting but occasionally challenging. His voice is melodious and soothing. I love his stories and anecdotes, and how much he delights in wordplay and the delicious sounds of language. One of Tolkien&#39;s most attractive ideas is the creative power of speech; the ability to sing the world into creation. For me, Stephen Fry&#39;s speech is powerful magic.</p>

<p>There&#39;s a reason why Stephen Fry&#39;s performance as the Master of Laketown is so hilarious; the discord between the actor and the character makes the whole thing preposterous.</p>

<p>So erudite, so smug; so amiable, so un-condescending.</p>

<p>There&#39;s that parlor game, that let&#39;s-get-to-know-each-other game where you name some people from history you would like to have over for tea or dinner. Oscar Wilde frequented my lists when I was younger, as did Stephen Fry, but over time I realized  Stephen Fry was a much better choice for the simple reason that, after tea, the summoned Wilde would return to wherever his spirit spends its time. But Stephen Fry! He&#39;s alive and our friendship could grow old and strong long after I had composted the tea leaves and tidied up the kitchen. Our teatime would be jovial and silly:</p>

<p>Stephen Fry: “This tea is splendid!”
Habeeb: “I&#39;m so glad you like it.”
Stephen Fry: “Oh my, Habeeb—may I call you that?...”
Habeeb: “Of course! May I do likewise?”
Stephen: “Of course. Now, what shall we discuss first?”
Stephen&#39;s Habeeb: “ Well, my Stephen, I was hoping to chat about your humanism, and how it doesn&#39;t seem to need—and maybe even rejects—an empirical foundation.”
Habeeb&#39;s Stephen: (chuckles)
Stephen&#39;s Habeeb: “Also, ducks. Oh, and donkeys. And capybara.”
Habeeb&#39;s Stephen: (very seriously) “Well the humanism part will take our tea time. The rest will take a lifetime. But, my Habeeb, I&#39;m up for both if you are.”
Stephen&#39;s Habeeb: “My Stephen, nothing would please me more.”
Habeeb&#39;s Stephen: “On the topic of capybara, remind me to tell you about how Sir David Attenborough and I mixed up our steamer trunks near Manaus...”</p>

<p>The point of all this is to try to explain how unutterably sad I&#39;ve been since a dream I dreamed a while ago. By some dream logic, I was to meet Stephen Fry at last, but he had heard about some other person who had uttered something despicable about trans people and Stephen thought it was me. He was disgusted and wouldn&#39;t even look at me. I pleaded and pleaded until I awoke in a panicked sweat.</p>

<p>He would never be my Stephen and I would never be his Habeeb, and all because of my stupid common name and because people just can&#39;t lay off hurting the most vulnerable among us.</p>

<p>All posts CC BY-SA-NC 4.0 or later, unless otherwise stated.</p>
]]></content:encoded>
      <guid>https://blog.cthululemon.com/on-stephen-fry-and-the-unutterable-loss-of-a-dream-in-a-dream</guid>
      <pubDate>Wed, 05 Jun 2024 21:00:25 -0700</pubDate>
    </item>
    <item>
      <title>My current hack for encrypted yunohost back-ups using restic</title>
      <link>https://blog.cthululemon.com/my-current-hack-for-encrypted-yunohost-back-ups-using-restic</link>
      <description>&lt;![CDATA[Because I&#39;m new to server provisioning and to self-hosting, I&#39;ve elected to use Yunohost to serve my single-person fediverse instance. It also serves this blog and a few other things. It&#39;s only been a couple of weeks, but it&#39;s been lovely so far and the documentation is excellent.&#xA;&#xA;!--more--&#xA;&#xA;Yunohost back-ups&#xA;&#xA;Back-ups are a particular concern to me; so is successfully restoring a back-up, but that&#39;s a problem for another day. The Yunohost web admin portal offers a ready way to manually back up the system--including config files and other important things--to /home/yunohost.backup/archives. It seems to prepare a json file and a tarball for each back-up. I&#39;ve explored neither but my three back-ups look like this:&#xA;&#xA;ls -lahF /home/yunohost.backup/archives/&#xA;total 67G&#xA;drwxrwx--- 2 root admins 4.0K May 29 11:18 ./&#xA;drwxrwx--- 4 root admins 4.0K May 22 13:26 ../&#xA;-rw-rw-rw- 1 root root   2.0K May 25 17:20 20240526-001735.info.json&#xA;-rw-rw-rw- 1 root root    14G May 25 17:20 20240526-001735.tar&#xA;-rw-rw-rw- 1 root root   2.0K May 26 14:03 20240526-205908.info.json&#xA;-rw-rw-rw- 1 root root    22G May 26 14:03 20240526-205908.tar&#xA;-rw-rw-rw- 1 root root   2.0K May 29 11:18 20240529-181256.info.json&#xA;-rw-rw-rw- 1 root root    31G May 29 11:18 20240529-181256.tar&#xA;&#xA;The admin portal does not yet provide a way to automate creating new or deleting old back-ups, although yunohost provides a powerful CLI tool yunohost backup {create,restore,list,info,download,delete} that could be automated via a cron job, system service, etc. This is on my to-do list, for now I&#39;m trying to remember to do manual back-ups; my memory is trash so my back-up system will also be trash until I sort this part out.&#xA;&#xA;Backing up the yunohost back-ups&#xA;&#xA;Anyway, with these back-ups created, I&#39;ve landed on restic as the tool I&#39;ll use to encrypt my the Yunohost back-ups. Their website provides pretty simple, thorough instructions for this command-line tool. It allows me to backup to a local drive, and VPS, and more. For now I&#39;ve just done prepared a separate local drive; I&#39;ll try to figure out how to do the sync to my linode account in the coming weeks.&#xA;&#xA;I plugged in a spare USB and followed the instrcuctions to initiate a restic repository on it. I immediately encountered an error: the drive that I had formatted was plugged in to /dev/sdb, but couldn&#39;t be written to because it wasn&#39;t mounted. After poking around online, I found this article to be extremely help. After setting up the drive to auto-mount, I needed to change permissions to allow non-root access like this:&#xA;&#xA;sudo setfacl -R -m u:username:rwx mount-point&#xA;&#xA;and replacing &#39;username&#39; with my non-privileged username and &#39;mount-point&#39; with the auto-mount folder I had just created.&#xA;&#xA;From here on out, following the restic instructions was simple and direct. For what it&#39;s worth, these backups are encrypted (yay!) but, the process for setting the password:&#xA;&#xA;export RESTICPASSWORD=some-strong-password&#xA;&#xA;Leaves the restic password as an environmental variable and in your shell history. Is this safe? I don&#39;t know! I deleted it from my shell history anyway.&#xA;&#xA;Things I still need to do&#xA;&#xA;Automate the yunohost back-ups&#xA;&#xA;Automate the local restic back-ups of the yunohost backups&#xA;&#xA;Figure out a strategy for paring older backups&#xA;&#xA;Create restic back-ups to an off-site VPS (linode, probably, for me)&#xA;&#xA;Restic snapshots can be iteratively smaller due to its ability to de-duplicate. I&#39;m not sure that it&#39;s able to since each of the yunohost back-ups is a tarball. I need to look into this and perhaps adjust strategies.&#xA;&#xA;Each of these things will be new to me and there&#39;s a lot to learn, so I&#39;ll probably document each one.&#xA;&#xA;#yunohost #restic #backups&#xA;&#xA;All posts CC BY-SA-NC 4.0 or later, unless otherwise stated. ]]&gt;</description>
      <content:encoded><![CDATA[<p>Because I&#39;m new to server provisioning <em>and</em> to self-hosting, I&#39;ve elected to use <a href="https://yunohost.org">Yunohost</a> to serve my single-person <a href="social.cthululemon.com">fediverse instance</a>. It also serves this blog and a few other things. It&#39;s only been a couple of weeks, but it&#39;s been lovely so far and the documentation is excellent.</p>



<h2 id="yunohost-back-ups">Yunohost back-ups</h2>

<p>Back-ups are a particular concern to me; so is successfully <em>restoring</em> a back-up, but that&#39;s a problem for another day. The Yunohost web admin portal offers a ready way to manually back up the system—including config files and other important things—to <code>/home/yunohost.backup/archives</code>. It seems to prepare a json file and a tarball for each back-up. I&#39;ve explored neither but my three back-ups look like this:</p>

<pre><code>ls -lahF /home/yunohost.backup/archives/
total 67G
drwxrwx--- 2 root admins 4.0K May 29 11:18 ./
drwxrwx--- 4 root admins 4.0K May 22 13:26 ../
-rw-rw-rw- 1 root root   2.0K May 25 17:20 20240526-001735.info.json
-rw-rw-rw- 1 root root    14G May 25 17:20 20240526-001735.tar
-rw-rw-rw- 1 root root   2.0K May 26 14:03 20240526-205908.info.json
-rw-rw-rw- 1 root root    22G May 26 14:03 20240526-205908.tar
-rw-rw-rw- 1 root root   2.0K May 29 11:18 20240529-181256.info.json
-rw-rw-rw- 1 root root    31G May 29 11:18 20240529-181256.tar
</code></pre>

<p>The admin portal does not yet provide a way to automate creating new or deleting old back-ups, although yunohost provides a powerful CLI tool <code>yunohost backup {create,restore,list,info,download,delete}</code> that could be automated via a cron job, system service, etc. This is on my to-do list, for now I&#39;m trying to remember to do manual back-ups; my memory is trash so my back-up system will also be trash until I sort this part out.</p>

<h2 id="backing-up-the-yunohost-back-ups">Backing up the yunohost back-ups</h2>

<p>Anyway, with these back-ups created, I&#39;ve landed on <a href="https://restic.readthedocs.io/en/stable/010_introduction.html">restic</a> as the tool I&#39;ll use to encrypt my the Yunohost back-ups. Their website provides pretty simple, thorough instructions for this command-line tool. It allows me to backup to a local drive, and VPS, and more. For now I&#39;ve just done prepared a separate local drive; I&#39;ll try to figure out how to do the sync to my linode account in the coming weeks.</p>

<p>I plugged in a spare USB and followed the instrcuctions to initiate a restic repository on it. I immediately encountered an error: the drive that I had formatted was plugged in to <code>/dev/sdb</code>, but couldn&#39;t be written to because it wasn&#39;t mounted. After poking around online, I found <a href="https://www.linuxbabe.com/desktop-linux/how-to-automount-file-systems-on-linux">this article</a> to be extremely help. After setting up the drive to auto-mount, I needed to change permissions to allow non-root access like this:</p>

<pre><code>sudo setfacl -R -m u:username:rwx mount-point
</code></pre>

<p>and replacing &#39;username&#39; with my non-privileged username and &#39;mount-point&#39; with the auto-mount folder I had just created.</p>

<p>From here on out, following the restic instructions was simple and direct. For what it&#39;s worth, these backups are encrypted (yay!) but, the process for setting the password:</p>

<pre><code>export RESTIC_PASSWORD=some-strong-password
</code></pre>

<p>Leaves the restic password as an environmental variable and in your shell history. Is this safe? I don&#39;t know! I deleted it from my shell history anyway.</p>

<h2 id="things-i-still-need-to-do">Things I still need to do</h2>
<ol><li><p>Automate the yunohost back-ups</p></li>

<li><p>Automate the local restic back-ups of the yunohost backups</p></li>

<li><p>Figure out a strategy for paring older backups</p></li>

<li><p>Create restic back-ups to an off-site VPS (linode, probably, for me)</p></li>

<li><p>Restic snapshots can be iteratively smaller due to its ability to de-duplicate. I&#39;m not sure that it&#39;s able to since each of the yunohost back-ups is a tarball. I need to look into this and perhaps adjust strategies.</p></li></ol>

<p>Each of these things will be new to me and there&#39;s a lot to learn, so I&#39;ll probably document each one.</p>

<p><a href="https://blog.cthululemon.com/tag:yunohost" class="hashtag"><span>#</span><span class="p-category">yunohost</span></a> <a href="https://blog.cthululemon.com/tag:restic" class="hashtag"><span>#</span><span class="p-category">restic</span></a> <a href="https://blog.cthululemon.com/tag:backups" class="hashtag"><span>#</span><span class="p-category">backups</span></a></p>

<p>All posts CC BY-SA-NC 4.0 or later, unless otherwise stated.</p>
]]></content:encoded>
      <guid>https://blog.cthululemon.com/my-current-hack-for-encrypted-yunohost-back-ups-using-restic</guid>
      <pubDate>Wed, 05 Jun 2024 20:46:18 -0700</pubDate>
    </item>
    <item>
      <title>A note on what this blog will mostly be about</title>
      <link>https://blog.cthululemon.com/a-note-on-what-this-blog-will-mostly-be-about</link>
      <description>&lt;![CDATA[Pseudo-documentation and notes of my experiences with various *nix tools and other somewhat tech-y things. These are mostly for my own records but I&#39;ll post them publicly since perhaps they will be useful to others.&#xA;Random longer-form writing that doesn&#39;t fit neatly into how I use my fediverse account.&#xA;Some as-yet unknown third thing. Lists without three things seem like bad luck.&#xA;&#xA;It occurs to me that my 20-year-old concerns of having a blog--that it would be boring to read, boring to write, and somewhat purposeless--were prescient. &#xA;&#xA;Like any good knight of the round I must &#39;enter the forest at the darkest part&#39;; in this case it perhaps means getting over myself.&#xA;&#xA;All posts CC BY-SA-NC 4.0 or later, unless otherwise stated. ]]&gt;</description>
      <content:encoded><![CDATA[<ol><li>Pseudo-documentation and notes of my experiences with various *nix tools and other somewhat tech-y things. These are mostly for my own records but I&#39;ll post them publicly since perhaps they will be useful to others.</li>
<li>Random longer-form writing that doesn&#39;t fit neatly into how I use my <a href="https://social.cthululemon.com/">fediverse account</a>.</li>
<li>Some as-yet unknown third thing. Lists without three things seem like bad luck.</li></ol>

<p>It occurs to me that my 20-year-old concerns of having a blog—that it would be boring to read, boring to write, and somewhat purposeless—were prescient.</p>

<p>Like any good knight of the round I must &#39;enter the forest at the darkest part&#39;; in this case it perhaps means getting over myself.</p>

<p>All posts CC BY-SA-NC 4.0 or later, unless otherwise stated.</p>
]]></content:encoded>
      <guid>https://blog.cthululemon.com/a-note-on-what-this-blog-will-mostly-be-about</guid>
      <pubDate>Wed, 22 May 2024 12:45:00 -0700</pubDate>
    </item>
  </channel>
</rss>