<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="/subscribe/styles.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="https://rknight.me" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <docs>https://rknight.me/subscribe/posts/rss.xml</docs>
    <title>Robb Knight • Posts • RSS Feed</title>
    <link>https://rknight.me</link>
    <description>Maker of web things, sticker merchant, viral toot-based business man, blogger, podcaster, and pizzaiolo. Human dad.</description>
    <language>en-gb</language>
      <item>
        <title>This Post About Outdoor Taps Is Actually About Sharing Things</title>
        <link>https://rknight.me/blog/this-post-about-outdoor-taps-is-actually-about-sharing-things/</link>
        <description>&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/outdoor-tap.jpg&quot; alt=&quot;A brass outdoor tap with a brass adaptor attached to it&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Over the weekend I was attempting to setup my garden hose ready for the summer and my dad had helpfully given me a big bag of tap connectors he had spare but none of them fit my outdoor tap despite one of them being, to my eye, a perfect match.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.hozelock.com/how-to-measure-your-tap-and-choose-the-correct-tap-connector/&quot;&gt;This page from Hozelock&lt;/a&gt; explains threads on a tap are &amp;quot;&lt;em&gt;sized according to the standard British Standard Pipe, also known as BSP&lt;/em&gt;&amp;quot;. Yay standards. Looking into it more there seemed to be three options: 1/2″ BSP, 3/4″ BSP, and 1″ BSP which correspond to an outer thread measurement of 21mm, 26.5mm, and 33mm. I measured my tap with my tape measure and it looked to be 21mm or 1/2″ BSP. I found &lt;a href=&quot;https://www.hozelock.com/product/3-4-1-2-outdoor-tap-connector/&quot;&gt;the correct adaptor&lt;/a&gt; I would need based on this but I already had that exact thing in my hand and it was the aforementioned one that didn&#39;t fit. The 1/2 was a tiny bit too small, the 3/4 was too big. I grabbed my calipers to get a more accurate measurement and it was actually 22mm which according to maths is larger than 21mm.&lt;/p&gt;
&lt;p&gt;At this point I didn&#39;t really know what to search for because &amp;quot;like a 1/2 BSP but a bit bigger please&amp;quot; wasn&#39;t going to cut it. Hozelock didn&#39;t have anything on their website beyond the three standards. I still don&#39;t know how I found it (perhaps I should have used &lt;a href=&quot;https://www.macstories.net/reviews/horse-browser-tries-its-hooves-at-a-new-take-on-tabs/&quot;&gt;Horse&lt;/a&gt;) but I eventually stumbled upon &lt;a href=&quot;https://www.reddit.com/r/DIYUK/comments/tozgn3/what_thread_is_this_old_uk_outdoor_tap_too_big/&quot;&gt;this Reddit thread&lt;/a&gt; about tap threads where someone had included images of the &lt;em&gt;exact same problem I was facing&lt;/em&gt;. There were a bunch of comments that linked to dead pages but the top comment was someone who had summarised everything in the thread:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For anyone else coming to this thread years later, who also had the same issue of the tap falling exactly between the 1/2&amp;quot; and 3/4&amp;quot; connectors [...] I found that my outside tap is a non-standard 5/8&amp;quot; thread, BUT there are connectors available for it!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I ordered a 5/8 adaptor (&lt;a href=&quot;https://www.amazon.co.uk/dp/B00JFY94MW&quot;&gt;this Spear &amp;amp; Jackson BWF10 Female Threaded Brass&lt;/a&gt;) from Amazon, it arrived the next day, and it fit perfectly. Great success. I did see some references to another size of adaptor, 7/8&amp;quot;, which seems to be called a &amp;quot;farmer&#39;s tap&amp;quot; but thankfully I didn&#39;t need to hunt one of those down.&lt;/p&gt;
&lt;p&gt;As I am want to do, I posted &lt;a href=&quot;https://rknight.me/notes/202604121734/&quot;&gt;a note about it&lt;/a&gt; a bit later in the day. Like many posts on my site it was as a record for myself but also on the off chance it helps someone else. To my surprise &lt;a href=&quot;https://front-end.social/@anarodrigues/116393141548336622&quot;&gt;Ana replied&lt;/a&gt; that she had the exact same problem and had been putting it off so it helped at least one person &lt;em&gt;and&lt;/em&gt; I have a garden hose ready for summer.&lt;/p&gt;
</description>
        <pubDate>Mon, 13 Apr 2026 18:21:05 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/this-post-about-outdoor-taps-is-actually-about-sharing-things/</guid>
      </item>
      <item>
        <title>Mildliner Fine Review</title>
        <link>https://rknight.me/blog/mildliner-fine-review/</link>
        <description>&lt;p&gt;I&#39;m not saying I&#39;m obsessed with Mildliners but this review of the new fine versions will be my fourth post about them so make of that what you will.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/mildliner-fine-samples.jpg&quot; alt=&quot;A notepad showing a sample of 10 different mildliner highlighters. All the pens are resting on the pad at the bottom.&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;These new fine versions have two tips: a fine 0.7 and an extra fine 0.5. They&#39;re longer than the standard Mildliners presumably to accommodate the fine tips and the top of the cap is embossed with an F. There are ten of these in total reusing existing colours across two sets: the calmer, darker &amp;quot;Set A&amp;quot; and the brighter &amp;quot;Set B&amp;quot;. I&#39;ve updated the &lt;a href=&quot;https://mildliners.rknight.me/&quot;&gt;Mildliner site&lt;/a&gt; to have the new sets but for the sake of completeness the available colours are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gray&lt;/li&gt;
&lt;li&gt;Brown&lt;/li&gt;
&lt;li&gt;Dark Blue&lt;/li&gt;
&lt;li&gt;Red&lt;/li&gt;
&lt;li&gt;Dark Gray&lt;/li&gt;
&lt;li&gt;Gold&lt;/li&gt;
&lt;li&gt;Apricot&lt;/li&gt;
&lt;li&gt;Fuchsia&lt;/li&gt;
&lt;li&gt;Violet&lt;/li&gt;
&lt;li&gt;Summer Green&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I think gray is probably a little too light to be useful at the extra fine size but overall this is a decent selection of colours. Two grays though? Come on. If &lt;a href=&quot;https://www.afth.co.uk/zebra-pens---mildliner-thin---set-a-70857-p.asp&quot;&gt;Art from the Heart&lt;/a&gt; are to be believed these have limited availability although I can&#39;t verify that because Zebra don&#39;t seem to know these exist based on their website.&lt;/p&gt;
&lt;p&gt;The extra fine tip doesn&#39;t give the kind of resistance I like from a fineliner usually but I doubt I&#39;ll be using these to write with; much more likely they get used for cover pages and general decoration. It&#39;s notable that there is now multiple definitions of &amp;quot;fine&amp;quot; across the range - the standard fine, the new fine, and the brush tipped ones mark the non-brush end as &amp;quot;super fine&amp;quot;.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/mildliner-fine-samples-tips.jpg&quot; alt=&quot;A notepad showing the differences in size new fine mildliners next to their standard counterparts. The new ones are longer&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;One other oddity when comparing them is that all the cap colours match with the exception of dark grey where the cap is much darker on the fine one than it&#39;s standard counterpart.&lt;/p&gt;
&lt;p&gt;I paid £10 for each set of these which is about right for Mildliners and I&#39;m impressed with them. As of right now I&#39;ve only seen them on &lt;a href=&quot;https://www.afth.co.uk/zebra---mildliners-1367-c.asp&quot;&gt;Art from the Heart&lt;/a&gt; but I&#39;d imagine other retailers will get some soon.&lt;/p&gt;
</description>
        <pubDate>Thu, 09 Apr 2026 11:50:01 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/mildliner-fine-review/</guid>
      </item>
      <item>
        <title>Fix for Disney Plus Error 73</title>
        <link>https://rknight.me/blog/fix-for-disney-plus-error-73/</link>
        <description>&lt;p&gt;Today I was met with error code 73 when trying to login to Disney Plus on my Apple TV. Their &lt;a href=&quot;https://help.disneyplus.com/en-GB/article/disneyplus-error-73&quot;&gt;help article&lt;/a&gt; says you&#39;re either on a VPN or &amp;quot;&lt;em&gt;Attempting to access Disney+ from a country/region where service is currently unavailable&lt;/em&gt;&amp;quot; which I obviously was not.&lt;/p&gt;
&lt;p&gt;Despite lots of articles on the web saying to trying rebooting, reinstalling, and the like, none of that worked (although I did try it anyway) because what had actually happened was Disney had blocked my IP address. I know this because when I got on live chat, explained the situation, they asked for my IP (by sending me to &lt;a href=&quot;https://www.ipchicken.com&quot;&gt;this ad-riddled website&lt;/a&gt;) then they &amp;quot;refreshed my IP&amp;quot; for me which magically fixed it. Yep, refresh the IP address, thats a thing.&lt;/p&gt;
&lt;p&gt;No amount of rebooting was going to fix that. Next time, I&#39;ll just go straight to the live chat.&lt;/p&gt;
</description>
        <pubDate>Sat, 28 Mar 2026 19:53:01 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/fix-for-disney-plus-error-73/</guid>
      </item>
      <item>
        <title>Ash Fetchum</title>
        <link>https://rknight.me/blog/ash-fetchum/</link>
        <description>&lt;p&gt;As I mentioned in &lt;a href=&quot;https://rknight.me/blog/notes-on-setting-up-forgejo-on-coolify-with-ssh/&quot;&gt;this post&lt;/a&gt; I set up Forgejo recently to move away from GitHub but one of the things that worried me was backups. I know I shouldn&#39;t blindly trust GitHub to not lose my data but it seems an unlikely situation so I&#39;ve never done anything about it really. I trust myself less than that.&lt;/p&gt;
&lt;p&gt;Of course I have backups of the server, which backs up the repositories, but I wanted a solution that meant I also had the code locally to then send to my offsite backup.&lt;/p&gt;
&lt;p&gt;I currently have code in three code forges: GitHub, &lt;a href=&quot;https://source.tube&quot;&gt;Source Tube&lt;/a&gt; (which is Forgejo), and &lt;a href=&quot;https://git.7622.me&quot;&gt;my Forgejo instance&lt;/a&gt;. My first instinct was to make a script that goes into every folder in my developer directory on my computer and fetches the changes but that wouldn&#39;t work if I made a new repository on one of the services. The ideal solution is to go through every repository on each of those services and fetch the latest changes to my machine. So I built &lt;a href=&quot;https://git.7622.me/robb/ash-fetchum&quot;&gt;Ash Fetchum&lt;/a&gt; and this logo that I&#39;m very proud of (along with the name).&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/ash-fetchum-banner.jpg&quot; alt=&quot;A red hat like Ash from Pokémon but it has the git logo on it&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Ash Fetchum works by connecting to the GitHub or Forgejo API, fetches every repository, then cloning or fetching that repository to the defined location on your local machine, in my case &lt;code&gt;/repo-backups&lt;/code&gt;. The &lt;a href=&quot;https://git.7622.me/robb/ash-fetchum/src/branch/main/readme.md&quot;&gt;readme has instructions&lt;/a&gt; on how to set it up and it should be relatively straight forward as long as you get the token permissions correct.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/ash-fetchum-in-action.jpg&quot; alt=&quot;A terminal output showing Ash Fectchum fetching changes for multiple repositories&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;It also has a &amp;quot;manual&amp;quot; mode where you can give it an array of repository remotes to keep up to date. I&#39;m using this as bodge-job replacement for some GitHub pages deployments that I want to move away from GitHub but it could easily be used for a more defined set of repositories to backup.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://git.7622.me/robb/ash-fetchum&quot;&gt;View Ash Fetchum on KnightForge&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Fri, 06 Mar 2026 08:41:23 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/ash-fetchum/</guid>
      </item>
      <item>
        <title>Back to Alfred</title>
        <link>https://rknight.me/blog/back-to-alfred/</link>
        <description>&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/bender-back-baby-alfred.jpg&quot; alt=&quot;Bender from Futurama saying I&#39;m Back Baby but he has the Alfred logo hat on&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;In 2024 I &lt;a href=&quot;https://rknight.me/blog/trying-raycast-part-one/&quot;&gt;switched&lt;/a&gt; &lt;a href=&quot;https://rknight.me/blog/trying-raycast-part-two/&quot;&gt;to&lt;/a&gt; &lt;a href=&quot;https://rknight.me/blog/raycast-follow-up/&quot;&gt;Raycast&lt;/a&gt; from Alfred. I&#39;d been a long time Alfred user but I was tempted by Raycast&#39;s shiny UI and better integration with things like Reminders. Turns out I &lt;em&gt;never&lt;/em&gt; used the reminders integration or most of the other features Raycast has that are unique.&lt;/p&gt;
&lt;p&gt;I had spent time converting some of my workflows to Alfred extensions to varying success. The stricter nature of how Raycast extensions are built is good &lt;em&gt;for Raycast&lt;/em&gt; but doesn&#39;t help me, a person who just wants to write a script or two and make things do other things. It was far too much effort to make new extensions or fix broken ones (like my Safari one that broke very quickly and I never fixed).&lt;/p&gt;
&lt;p&gt;Raycast has always been pushing their AI stuff but it&#39;s mostly been out of the way and was basically &amp;quot;plug in your API key to chat to your &lt;s&gt;ai girlfriend&lt;/s&gt; favourite model&amp;quot;. Except now they&#39;re getting into the &lt;a href=&quot;https://www.raycast.com/blog/introducing-glaze&quot;&gt;slop game&lt;/a&gt; so I&#39;m out.&lt;/p&gt;
&lt;p&gt;I had to write a script to convert my Raycast snippets to Alfreds format which &lt;a href=&quot;https://git.7622.me/robb/raycast-to-alfred-snippets&quot;&gt;you can find here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So I&#39;m back on Alfred. It has it&#39;s own problems, like aging workflows that don&#39;t work scattered around the internet but &lt;a href=&quot;https://alfred.app/workflows&quot;&gt;the gallery&lt;/a&gt; does help somewhat with that. I wish it there was a better submission process instead of &amp;quot;post in the forum&amp;quot; and to be honest I&#39;m not in a rush to add more of my own plugins to the gallery, I&#39;ll just keep them on my own repo for now. Which is the last thing to do: I need to get setup again with my workflows, get my backup scripts working, and move them over to &lt;a href=&quot;https://rknight.me/blog/notes-on-setting-up-forgejo-on-coolify-with-ssh/&quot;&gt;KnightForge&lt;/a&gt;. They&#39;ll still be on &lt;a href=&quot;https://rknight.me/alfred-workflows/&quot;&gt;this page&lt;/a&gt; going forward though.&lt;/p&gt;
</description>
        <pubDate>Thu, 05 Mar 2026 19:36:21 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/back-to-alfred/</guid>
      </item>
      <item>
        <title>Code Corners</title>
        <link>https://rknight.me/blog/code-corners/</link>
        <description>&lt;p&gt;It&#39;s been 10 years since Tim Holman made &lt;a href=&quot;https://github.com/tholman/github-corners&quot;&gt;GitHub corners&lt;/a&gt;, the little triangle with the waving Octocat you see on some open source projects, including many of mine.&lt;/p&gt;
&lt;p&gt;When he made &lt;em&gt;those&lt;/em&gt; it had been eight years since GitHub posted &lt;a href=&quot;https://github.blog/news-insights/the-library/github-ribbons/&quot;&gt;the ribbons&lt;/a&gt; on their blog. GitHub is synonymous with online code but I have code that &lt;a href=&quot;https://git.7622.me/robb&quot;&gt;isn&#39;t on GitHub&lt;/a&gt; and so do lots of other people. Even if it &lt;em&gt;is&lt;/em&gt; on GitHub, it doesn&#39;t mean we have to also have their mascot on our pages.&lt;/p&gt;
&lt;p&gt;We&#39;re overdue a platform-agnostic alternative so I made one: &lt;a href=&quot;https://codecorners.rknight.me&quot;&gt;Code Corners&lt;/a&gt;. A triangle with the classic &lt;code&gt;&amp;lt;/&amp;gt;&lt;/code&gt; in the middle.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/github-corner-history.jpg&quot; alt=&quot;One banner that says Fork me on Github, one blue triangle with a white Octocat in it, and a red triangle with code brackets in it&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;There&#39;s no fancy animation like the GitHub one but it does fix a bugbear&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt; of mine from that one — there is no secondary colour. It&#39;s transparent so it matches whatever background you have instead of having to set that yourself.&lt;/p&gt;
&lt;p&gt;The site is basically the same as Tim&#39;s so it should be familiar to anyone who&#39;s used GitHub corners in the past.&lt;/p&gt;
&lt;p&gt;Forgejo Corners, Gitea Corners, SourceHut Corners, random-page-on-your-website corners. You can link to literally anything. Even GitHub.&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot; /&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Yep, that really is how it&#39;s spelt, TIL &lt;a href=&quot;#fnref1&quot; class=&quot;footnote-backref&quot;&gt;&amp;#10558;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
        <pubDate>Mon, 02 Mar 2026 21:57:29 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/code-corners/</guid>
      </item>
      <item>
        <title>Notes on Setting up Forgejo on Coolify with SSH</title>
        <link>https://rknight.me/blog/notes-on-setting-up-forgejo-on-coolify-with-ssh/</link>
        <description>&lt;p&gt;For reasons that I&#39;ll write about on another post, I had occasion to setup my own instance of &lt;a href=&quot;https://forgejo.org&quot;&gt;Forgejo&lt;/a&gt; - &amp;quot;&lt;em&gt;a self-hosted lightweight software forge&lt;/em&gt;&amp;quot;, aka &amp;quot;We have GitHub at home&amp;quot;. Despite having an install of &lt;a href=&quot;https://coolify.io&quot;&gt;Coolify&lt;/a&gt; on one of my servers which should have made this one-click, it was significantly more clicks than that.&lt;/p&gt;
&lt;p&gt;The version in Coolify&#39;s library is version 8 where the current version is 14 - this was the start of my issues. I was able to get Forgejo running. I could create repositories, clone them and push, but only over HTTPS and not SSH. The port &lt;em&gt;should&lt;/em&gt; have been mapped correctly to make it work but something was misconfigured. SSH is never a fun thing to debug and I had lots of help from &lt;a href=&quot;https://neatnik.net&quot;&gt;Adam&lt;/a&gt;, &lt;a href=&quot;%5Bhttps://%5D(https://melkat.lol)&quot;&gt;Melanie&lt;/a&gt;, and &lt;a href=&quot;https://www.andrlik.org&quot;&gt;Daniel&lt;/a&gt; all of whom had it working on their instances without any tinkering.&lt;/p&gt;
&lt;p&gt;As best I can tell is that between version 8 and 14 lots of things changed, as you&#39;d expect, so changes I made to port mapping weren&#39;t applying correctly. Then I&#39;d try a fresh install but forget other settings I needed to edit. Then I&#39;d do it again and forget something else. I installed Forgjo from fresh at least six times before I was able to get it running and the final working version was simple: change the version to 14, change the &lt;code&gt;22222&lt;/code&gt; port mapping to &lt;code&gt;2222&lt;/code&gt; and &lt;em&gt;don&#39;t touch anything else&lt;/em&gt;. That&#39;s it. I had seen &lt;a href=&quot;https://github.com/coollabsio/coolify/issues/6280&quot;&gt;this GitHub issue&lt;/a&gt; which also ended with &amp;quot;lol did a reinstall now it&#39;s fine&amp;quot; so I at least have a bit more info here.&lt;/p&gt;
&lt;p&gt;My final docker compose file looks like this:&lt;/p&gt;
&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;services&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token key atrule&quot;&gt;forgejo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token key atrule&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;codeberg.org/forgejo/forgejo:14&#39;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token key atrule&quot;&gt;environment&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; SERVICE_URL_FORGEJO_3000&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO}&#39;&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}&#39;&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}&#39;&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; USER_UID=1000&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; USER_GID=1000&lt;br /&gt;    &lt;span class=&quot;token key atrule&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;2222:22&#39;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token key atrule&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;forgejo-data:/data&#39;&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;forgejo-timezone:/etc/timezone:ro&#39;&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;forgejo-localtime:/etc/localtime:ro&#39;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token key atrule&quot;&gt;healthcheck&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token key atrule&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CMD&lt;br /&gt;        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; curl&lt;br /&gt;        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;-f&#39;&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;http://127.0.0.1:3000&#39;&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token key atrule&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 2s&lt;br /&gt;      &lt;span class=&quot;token key atrule&quot;&gt;timeout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 10s&lt;br /&gt;      &lt;span class=&quot;token key atrule&quot;&gt;retries&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Miscelanea&lt;/h3&gt;
&lt;p&gt;The app.ini file, when installed with Docker, lives at &lt;code&gt;/data/gitea/conf/app.ini&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;You can &lt;a href=&quot;https://www.coryd.dev/posts/2025/updating-forgejos-robotstxt&quot;&gt;add robots.txt&lt;/a&gt;, &lt;a href=&quot;https://forgejo.org/docs/next/contributor/customization/&quot;&gt;customise the icons&lt;/a&gt;, and even the templates. These won&#39;t exist in the container under &lt;code&gt;data/gitea/public&lt;/code&gt; (for robots and icons) or &lt;code&gt;data/gitea/templates&lt;/code&gt; on a standard install. If you add them, they &lt;em&gt;then&lt;/em&gt; override the defaults, usually after a reboot. My updated home page template, &lt;code&gt;home.tmpl&lt;/code&gt;:&lt;/p&gt;
&lt;pre class=&quot;language-handlebars&quot;&gt;&lt;code class=&quot;language-handlebars&quot;&gt;&lt;br /&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;role&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;main&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;aria-label&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;page-content home&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;	&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;tw-mb-8 tw-px-8&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;		&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;center&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;			&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;img&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;logo&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;150&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;220&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;/img/logo.svg&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;alt&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;			&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;hero&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;				&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;h1&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;ui icon header title&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token special-attr&quot;&gt;&lt;span class=&quot;token attr-name&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token value css language-css&quot;&gt;&lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 3.5em&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;					&lt;br /&gt;				&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;h1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;				&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;p&lt;/span&gt; &lt;span class=&quot;token special-attr&quot;&gt;&lt;span class=&quot;token attr-name&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token value css language-css&quot;&gt;&lt;span class=&quot;token property&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;1.3em&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;The personal Git instance of &lt;br /&gt;                &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://rknight.me&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Robb Knight&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;. &lt;br /&gt;                &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;a&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;/robb&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;Have a gander at the code&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;a&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;.&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;p&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;			&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;		&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;	&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Finally, not Forgejo related but noting it here anyway, to connect to the container when you&#39;re on the server (via &lt;a href=&quot;https://coryd.dev&quot;&gt;Cory&lt;/a&gt;), run &lt;code&gt;docker ps -a | grep forgejo&lt;/code&gt; to find the Forgejo container then use the ID to connect: &lt;code&gt;docker exec -it &amp;lt;ID&amp;gt; sh&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;You can browse the code I&#39;ve already moved on my Forgejo at &lt;a href=&quot;https://git.7622.me&quot;&gt;git.7622.me&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Tue, 24 Feb 2026 19:59:19 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/notes-on-setting-up-forgejo-on-coolify-with-ssh/</guid>
      </item>
      <item>
        <title>Weeknote #1987</title>
        <link>https://rknight.me/blog/weeknote-1987/</link>
        <description>&lt;p&gt;I&#39;ve spent an ungodly amount of time this week thinking about &lt;s&gt;the Roman Empire&lt;/s&gt; how IRC could work for small communities - clients, servers, setup, maintenance. &lt;a href=&quot;https://thelounge.chat&quot;&gt;The Lounge&lt;/a&gt; is the best client in my opinion but it doesn&#39;t support all the new features of IRC like reactions and avatars. It&#39;s close to perfect though. I already &lt;a href=&quot;https://rknight.me/notes/202602091558/&quot;&gt;posted about this&lt;/a&gt; but it&#39;s worth putting here too: two posts about setting up an IRC server like it&#39;s 2006; one from Melanie using &lt;a href=&quot;https://melkat.blog/p/hosting-an-irc-server-with-traefik-and-coolify/&quot;&gt;Treafik and Coolify&lt;/a&gt; and one from Adam which is a &lt;a href=&quot;https://www.neatnik.net/setting-up-an-irc-server/&quot;&gt;pretty in-depth starter guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Jim has &lt;a href=&quot;https://blog.jim-nielsen.com/2026/os-as-cms/&quot;&gt;a really smart way of adding edit links&lt;/a&gt; to his site that open in native apps.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Mondegreen&quot;&gt;Mondegreen&lt;/a&gt; &amp;quot;&lt;em&gt;is a mishearing or misinterpretation of a phrase in a way that gives it a new meaning&lt;/em&gt;&amp;quot;. The etymology is so good - &amp;quot;mondegreen&amp;quot; is a misheard word from a 1765 book. (via &lt;a href=&quot;https://friendship-material.simplecast.com/episodes/eight-degrees-less-hot-Zgq1Zjoj&quot;&gt;Friendship Material&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;I learned about &lt;a href=&quot;https://en.wikipedia.org/wiki/Aviation_English&quot;&gt;Aviation English&lt;/a&gt; which is &amp;quot;&lt;em&gt;the de facto international language of civil aviation&lt;/em&gt;&amp;quot;. Native English are worse at it in emergency situations because they tend to deviate from the standard. Fun stuff.&lt;/p&gt;
&lt;p&gt;Cory was seeing the same as me in his analytics - lots of automated traffic from China. He came up &lt;a href=&quot;https://www.coryd.dev/posts/2026/blocking-entire-countries-because-of-scrapers&quot;&gt;with a blunt way to deal with it&lt;/a&gt;. &lt;a href=&quot;https://matthiasott.com/articles/webspace-invaders&quot;&gt;Matthias is seeing similar issues&lt;/a&gt;. I don&#39;t knonw how the we get out of this shit.&lt;/p&gt;
&lt;p&gt;I don&#39;t have a use for it right now, but &lt;a href=&quot;https://datasette.io&quot;&gt;Datasette&lt;/a&gt; looks very interesting.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://overreacted.io/a-social-filesystem/&quot;&gt;This post by Dan Abramov&lt;/a&gt; is a great explainer of what can, in theory, be good about AT Protocol, the protocol that powers Bluesky.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://handy.computer&quot;&gt;Handy&lt;/a&gt; is a &amp;quot;&lt;em&gt;free and open source app for speech to text&lt;/em&gt;&amp;quot;. Nice.&lt;/p&gt;
&lt;p&gt;I&#39;m not in the market for a new Git system but if I was then &lt;a href=&quot;https://radicle.xyz&quot;&gt;Radicle&lt;/a&gt; would be on my list.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://purveyorsofpackaging.com/?ref=simplebits.com&quot;&gt;Purveyors of Packaging&lt;/a&gt; is a goldmine of old packaging design. [via &lt;a href=&quot;https://simplebits.com&quot;&gt;SimpleBits&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://font-tools.com&quot;&gt;Font Tools&lt;/a&gt; is a collection of, well, font tools. Handy.&lt;/p&gt;
&lt;p&gt;This &lt;a href=&quot;https://redgamingtech.com/playstation-2-recompilation-project-is-absolutely-incredible/&quot;&gt;PS2 recompilation project&lt;/a&gt; has me very excited.&lt;/p&gt;
&lt;p&gt;I learned about &lt;a href=&quot;https://www.postoffice.co.uk/mail/poste-restante&quot;&gt;Poste Restante&lt;/a&gt; &amp;quot;&lt;em&gt;a service designed for travellers who don’t have a permanent address&lt;/em&gt;&amp;quot;. Send stuff to any post office and mark it as &amp;quot;poste restante&amp;quot; and the recipient can pick it up. Seems to be available &lt;a href=&quot;https://en.wikipedia.org/wiki/Poste_restante&quot;&gt;all over the world&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This &lt;a href=&quot;https://www.snn.geoplace.co.uk/list-of-suffixes-for-street-names&quot;&gt;list of suffixes for street names&lt;/a&gt; has some great ones I&#39;ve never heard of - &amp;quot;Twitten&amp;quot; anyone?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://seirdy.one/posts/2021/03/10/search-engines-with-own-indexes/&quot;&gt;This post about search engines with their own indexes&lt;/a&gt; has a lot of great info in it.&lt;/p&gt;
</description>
        <pubDate>Wed, 11 Feb 2026 09:05:58 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/weeknote-1987/</guid>
      </item>
      <item>
        <title>Forgejo Support for EchoFeed</title>
        <link>https://rknight.me/blog/forgejo-support-for-echofeed/</link>
        <description>&lt;p&gt;I&#39;ve just merged in support for &lt;a href=&quot;https://forgejo.org&quot;&gt;Forgejo&lt;/a&gt; to EchoFeed. Forgejo is a &amp;quot;&lt;em&gt;self-hosted lightweight software forge&lt;/em&gt;&amp;quot; aka &amp;quot;We have GitHub at home&amp;quot;&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;. &lt;a href=&quot;https://neatnik.net&quot;&gt;Adam&lt;/a&gt; is &lt;a href=&quot;https://source.tube&quot;&gt;running an instance&lt;/a&gt; as part of &lt;a href=&quot;https://omg.lol&quot;&gt;omg.lol&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It works the same at the GitHub integration with one exception: no OAuth. Forgejo can exist on any domain, like Mastodon, but it doesn&#39;t allow for creating applications (like EchoFeed) on-the-fly. Instead, it uses access tokens which isn&#39;t as convenient but I didn&#39;t want to create applications on every instance someone might want to use. Here&#39;s a screenshot of the required permissions but &lt;a href=&quot;https://help.echofeed.app/services/#foregjo&quot;&gt;check the docs&lt;/a&gt; for the details on setting the right permissions.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/echofeed/forgejo-access-token-settings.jpg&quot; alt=&quot;Forgejo settings required for EchoFeed&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Forgejo support is available to everyone right now.&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot; /&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;I don&#39;t intend this to be mean but the uncanny valley of how close the UI is to GitHub is hard to miss &lt;a href=&quot;#fnref1&quot; class=&quot;footnote-backref&quot;&gt;&amp;#10558;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
        <pubDate>Wed, 04 Feb 2026 12:38:55 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/forgejo-support-for-echofeed/</guid>
      </item>
      <item>
        <title>Now (January 2026)</title>
        <link>https://rknight.me/blog/now-january-2026/</link>
        <description>&lt;p&gt;My last now update was &lt;a href=&quot;https://rknight.me/blog/now-november-2025/&quot;&gt;November&lt;/a&gt; and I was hunting for a pink ink. I &lt;a href=&quot;https://rknight.me/blog/hunting-for-the-hottest-pink-ink/&quot;&gt;found it&lt;/a&gt; and I&#39;ve been using it constantly since then.&lt;/p&gt;
&lt;p&gt;I have a new sticker pack, &lt;em&gt;The Internet Pack&lt;/em&gt;, which you can &lt;a href=&quot;https://rknight.me/shop&quot;&gt;buy here&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/stickers-internet-pack.jpg&quot; alt=&quot;A pack of stickers. The cardboard says Internet Pack and you can see the stickers inside which say As seen on mastodon, don&#39;t know, and corny on main&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I am deeply disliking my website design and I&#39;ve tried a million different new things but I can&#39;t get anything new I like so I&#39;m keeping it for now.&lt;/p&gt;
&lt;p&gt;This did lead me to start making a sort of starter kit based on &lt;a href=&quot;https://rknight.me/intersect/web/toolkit/&quot;&gt;the snippet from my toolkit&lt;/a&gt; and &lt;a href=&quot;https://uchu.style&quot;&gt;uchū&lt;/a&gt;. I want to &lt;em&gt;not&lt;/em&gt; spend time fiddling with fonts and colours and such for every little project.&lt;/p&gt;
&lt;p&gt;I&#39;m halfway through &lt;a href=&quot;https://www.hackingwithswift.com/store/everything-but-the-code&quot;&gt;Everything but the Code&lt;/a&gt; and it&#39;s been really useful even if it&#39;s not exactly targeted for me. I&#39;m currently dumping every idea for a project with every possible feature onto paper so I can whittle it down to the best ideas.&lt;/p&gt;
&lt;p&gt;Also I&#39;m angry, in no particular order, about nazis, AI, ICE, Tim Cook, age verification, probably other stuff. None of this is normal.&lt;/p&gt;
</description>
        <pubDate>Tue, 27 Jan 2026 20:40:03 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/now-january-2026/</guid>
      </item>
      <item>
        <title>Pilot Kire-na Highlighters Review</title>
        <link>https://rknight.me/blog/pilot-kirena-highlighters-review/</link>
        <description>&lt;p&gt;Last week I bought two sets of Pilot Kire-na highlighters: &lt;a href=&quot;https://www.afth.co.uk/pilot---kire-na-highlighter---basic-set-66578-p.asp&quot;&gt;the basic set&lt;/a&gt; and &lt;a href=&quot;https://www.afth.co.uk/pilot---kire-na-highlighter---pale-set-66581-p.asp&quot;&gt;the pale set&lt;/a&gt; because I bloody love highlighters and they &lt;a href=&quot;https://www.jetpens.com/blog/The-Best-of-Japan-s-Stationery-Awards-2025/pt/1040&quot;&gt;won the Japanese stationery awards last year&lt;/a&gt; so I figured they must be pretty good. I bought these from &lt;a href=&quot;https://www.afth.co.uk&quot;&gt;Art from the Heart&lt;/a&gt; who are, as best I can tell, the only UK stockist right now. They were £7.99 per pack, around the same as I&#39;ve paid before for other similar pens.&lt;/p&gt;
&lt;p&gt;These are double-ended with one end having a fine tip for writing, circling, etc and the other, the highlighter end, having a plastic guide around the chisel edge of the highlighter.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/kire-na-standard-sample.jpg&quot; alt=&quot;A sample on an index card of the five Kire-na colors: blue, pink, yellow, orange, and green&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;The basic set are bright colours and &lt;em&gt;much&lt;/em&gt; brighter than anything Zebra make with Mildliners. For my taste though, the pale set are the nicest. Amazingly, Pilot has managed to find some shades Zebra haven&#39;t done in the &lt;a href=&quot;https://mildliners.rknight.me&quot;&gt;41 existing Mildliners&lt;/a&gt;. It&#39;s always fun to add some more colours to the collection. Here&#39;s the pale set next to the closest Mildliner equivalents.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/kire-na-pale-mildliner-comparison.jpg&quot; alt=&quot;A sample of all five Kire-na pale colours next to similar colours from the Mildliner ranger&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;The plastic guide definitely makes these fall firmly into the &amp;quot;use for proper highlighting&amp;quot; category for me rather than decorating and drawing but that&#39;s not a bad thing. There&#39;s a nice bit of flex in them as well which helps with getting them in just the right place. I found highlighting with the guide a lot easier to get decent coverage of my writing compared to winging it with other highlighters.&lt;/p&gt;
&lt;p&gt;The fine tip on the other end of these pens is lovely; it&#39;s thin enough to write with but thick enough to make circling something notable obvious on the page. This is where the bright colours come out on top.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/kire-na-sample-tip.jpg&quot; alt=&quot;An index card with ten sample colours from the Kire-na pens. In the middle is the tip of the bright pink one.&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I don&#39;t know where these fit into my life because I don&#39;t do a lot of &amp;quot;proper&amp;quot; highlighting but the colours are so good that I&#39;m going to find somewhere to use them.&lt;/p&gt;
</description>
        <pubDate>Thu, 22 Jan 2026 11:45:42 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/pilot-kirena-highlighters-review/</guid>
      </item>
      <item>
        <title>Random Monster Generator</title>
        <link>https://rknight.me/blog/random-monster-generator/</link>
        <description>&lt;p&gt;I&#39;ve had this idea in my list for a long time - generate random can colours and name for Monster because why not. I finally got it done this week and it&#39;s live at &lt;a href=&quot;https://monster.rknight.me&quot;&gt;monster.rknight.me&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I made an SVG of a standard Monster can, then the inputs set the colours on the SVG. You can share your creations using the share button, which gives you a URL that looks like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;https://monster.rknight.me/?can=a81fd7&amp;amp;label=4e4824&amp;amp;name=virgin+moleskin
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That is &lt;a href=&quot;https://monster.rknight.me/?can=a81fd7&amp;amp;label=4e4824&amp;amp;name=virgin+moleskin&quot;&gt;a link to a purple and brown monster named &amp;quot;Virgin Moleskin&amp;quot;&lt;/a&gt;. So yeah, this is a thing that exists.&lt;/p&gt;
</description>
        <pubDate>Sun, 18 Jan 2026 17:13:03 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/random-monster-generator/</guid>
      </item>
      <item>
        <title>Bullet Journal Is a System for Selling More Bullet Journal</title>
        <link>https://rknight.me/blog/bullet-journal-is-a-system-for-selling-more-bullet-journal/</link>
        <description>&lt;p&gt;When I &lt;a href=&quot;https://rknight.me/blog/biting-the-bullet/&quot;&gt;bit the bullet&lt;/a&gt; early last year, my first stop was the &lt;a href=&quot;https://bulletjournal.com&quot;&gt;Bullet Journal website&lt;/a&gt;. What I found there was everything one might need to get started: introduction videos, easy to follow tutorials, blog posts, community content, it was glorious. There was also the store, as there is today, and courses, but I&#39;m not against people making money.&lt;/p&gt;
&lt;p&gt;12 months later and it&#39;s as if a completely separate entity runs the website having only been given a vague description of what it was before. I would go to the site to find a guide on a specific concept I&#39;d previously seen and those pages were either impossible to find just by navigating or when I did find them via Google search they would 404. Not found. Get fucked. Pay us for a course instead.&lt;/p&gt;
&lt;p&gt;Ignoring the fact that the website is hilariously broken in Safari and has been for months, as far as I can tell what&#39;s happened is this: Bullet Journal spent a decade relying on the community to come up with ideas, resources, write blog posts for them, and generally make BuJo the success it is but now they&#39;ve decided that it&#39;s not enough to sell notebooks and pens. Now they&#39;re in the courses business: there&#39;s three of the fuckers called &amp;quot;plans&amp;quot;. One of them will help you &amp;quot;become the author your life&amp;quot; which I assume is supposed to be &amp;quot;author OF your life&amp;quot; but no one is checking anything.&lt;/p&gt;
&lt;p&gt;To quote Ryder, the founder of Bullet Journal:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;in September of 2014 I launched a Kickstarter to raise the funds to build a new website to curate the best of what the community was sharing&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The website is &lt;em&gt;nothing&lt;/em&gt; like this now. There is no links to community content or the intro guides I read last year. It&#39;s explicitly mentioned on &lt;a href=&quot;https://bulletjournal.com/pages/story&quot;&gt;this page&lt;/a&gt; that 2025 was the year for new &amp;quot;plans&amp;quot; to be launched but no mention of nuking everything else that quite frankly they didn&#39;t work on, everyone else in the community did. &lt;a href=&quot;https://www.tinyrayofsunshine.com/blog/bullet-journal-reference-guide&quot;&gt;This free reference guide&lt;/a&gt; from Tiny Ray of Sunshine, as an example, was added to the official guides. Wow that&#39;s cool except where is that page now? Gone. No soup for you.&lt;/p&gt;
&lt;p&gt;Oh and the the images that go along with these plans? AI generated slop because of course it is. Hundreds of dollars of courses but they can&#39;t pay an artist to draw a bloke in a hamster wheel, that would be impossible. Gotta fire up the slop machine for that. If they&#39;re using slop machines for illustrations there&#39;s no way I can trust that the courses are any better. The &amp;quot;author your life&amp;quot; plan is $1000 in case you were wondering.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/bullet-journal-man-on-treadmill-ai-slop.jpg&quot; alt=&quot;A man walking in a treadmill. It&#39;s generated by AI so it looks shit.&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I&#39;m not angry about them adding &amp;quot;plans&amp;quot;, courses, whatever else they want. Businesses gunna business. It&#39;s just yet another thing that was a nice thing that now isn&#39;t any more. It&#39;s just another system that exists only to either sell the system, learn about that system, or learning how to teach that system to other people at costs that are clearly designed to get employers to pay for them. A person who&#39;s curious about Bullet Journaling will hit the site, see it&#39;s not for them, and leave.&lt;/p&gt;
&lt;p&gt;What I find most frustrating about this is that it &lt;em&gt;has&lt;/em&gt; become a useful tool for me (I&#39;m on my third notebook) but I can&#39;t reasonably send anyone to the site to learn about it any more. At this point, if you &lt;em&gt;do&lt;/em&gt; want to find out more about bullet journalling, or journalling in general, you&#39;d be much better served by &lt;a href=&quot;https://www.youtube.com/c/mattragland&quot;&gt;Matt Ragland&lt;/a&gt; or &lt;a href=&quot;https://www.youtube.com/jashiicorrin&quot;&gt;Jashii Corrin&lt;/a&gt;. I &lt;em&gt;could&lt;/em&gt; recommend &lt;a href=&quot;https://rknight.me/almanac/books/2025-01-20-the-bullet-journal-method/&quot;&gt;the book&lt;/a&gt; but if they can&#39;t be bothered to pay people for their art, then you shouldn&#39;t give them money either.&lt;/p&gt;
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot;&gt;&lt;svg class=&quot;octicon octicon-info mr-2&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Update 2026-01-15&lt;/p&gt;&lt;p&gt;Brad and Myke discussed this on &lt;a href=&quot;https://www.relay.fm/penaddict/699&quot;&gt;The Pen Addict 699&lt;/a&gt; starting at the 23 minute mark.&lt;/p&gt;
&lt;/div&gt;
</description>
        <pubDate>Wed, 14 Jan 2026 13:14:01 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/bullet-journal-is-a-system-for-selling-more-bullet-journal/</guid>
      </item>
      <item>
        <title>88x31 Button Curios</title>
        <link>https://rknight.me/blog/88x31-button-curios/</link>
        <description>&lt;p&gt;Usually if I find an 88x31 button related thing I&#39;d bookmark it and pop it in &lt;a href=&quot;http://rknight.me/blog/tags/weeknotes&quot;&gt;my weeknotes&lt;/a&gt; but over the past few days, a smorgasbord of related links have come to my attention so, to paraphrase Morbius, it&#39;s bloggin&#39; time.&lt;/p&gt;
&lt;p&gt;The first is a new directory of buttons I&#39;d not seen before by &lt;a href=&quot;https://neonaut.neocities.org/cyber/88x31&quot;&gt;Neonaut&lt;/a&gt; who also links other directories at the bottom which I&#39;ve added to my &lt;a href=&quot;https://links.rknight.me/guest/lists/1&quot;&gt;list on LinkAce&lt;/a&gt;. So many buttons.&lt;/p&gt;
&lt;p&gt;Yesterday in the &lt;a href=&quot;https://32bit.cafe&quot;&gt;32 Bit Cafe&lt;/a&gt; Discord, Dan posted a new project they&#39;d completed: an &lt;a href=&quot;https://ritual.sh/resources/button-generator/&quot;&gt;88x31 button creator&lt;/a&gt;. It has more options than I knew what to do with but I did make this banger of a button:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/animated-rknight.me-button.gif&quot; alt=&quot;A blue button that says rknight.me. The text is waving around and changing colours&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;As if that wasn&#39;t enough, I came across this post about &lt;a href=&quot;https://zakhary.dev/blog/gbc-web-button&quot;&gt;making the Game Boy color boot animation into a an 88×31 button&lt;/a&gt;. Lots of interesting technical stuff going on here to make this happen.&lt;/p&gt;
&lt;p&gt;Finally, as I &lt;a href=&quot;https://rknight.me/notes/202601082009/&quot;&gt;posted yesterday&lt;/a&gt;, &lt;a href=&quot;https://chrisburnell.com&quot;&gt;Chris Burnell&lt;/a&gt; made some new &lt;a href=&quot;https://echofeed.app&quot;&gt;EchoFeed&lt;/a&gt; buttons which I love.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/echofeed/powered-by-echofeed-orange-alt.gif&quot; alt=&quot;&quot; /&gt;&lt;/figure&gt;
&lt;br /&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/echofeed/powered-by-echofeed-white-alt.gif&quot; alt=&quot;&quot; /&gt;&lt;/figure&gt;
&lt;br /&gt;</description>
        <pubDate>Fri, 09 Jan 2026 12:00:37 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/88x31-button-curios/</guid>
      </item>
      <item>
        <title>Weeknote #1982</title>
        <link>https://rknight.me/blog/weeknote-1982/</link>
        <description>&lt;p&gt;The kids are both in nursery now and I&#39;m back at work after two weeks off at Christmas.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://rknight.me/shop&quot;&gt;sticker sales&lt;/a&gt; are going well, I&#39;ve just about broken even if you do some flexible maths and I have a new pack incoming in the next few weeks.&lt;/p&gt;
&lt;p&gt;After this post, my Raindrop queue is down to just eight links. Enjoy.&lt;/p&gt;
&lt;h3&gt;Links&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://isbndb.com&quot;&gt;ISBNDB&lt;/a&gt; looks like an amazing API for books - it&#39;s paid, so not ideal for hobby projects but could come in handy for bigger projects.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://cinemapper.com&quot;&gt;Cinemapper&lt;/a&gt; shows filming locations for movies on a map which is always fun.&lt;/p&gt;
&lt;p&gt;I think we all hate printers with a fiery passion but this &lt;a href=&quot;https://www.crowdsupply.com/open-tools/open-printer&quot;&gt;open printer&lt;/a&gt; has piqued my interest.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://danburzo.ro/projects/yamatter/&quot;&gt;Yamatter&lt;/a&gt; is &amp;quot;&lt;em&gt;a command-line tool to inspect and transform YAML front-matter data&lt;/em&gt;&amp;quot;. I&#39;ve done stuff like this with custom scripts in the past, this would have saved me a lot of time.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://enclose.horse&quot;&gt;enclose.hgorse&lt;/a&gt; is another day game I enjoy but definitely can&#39;t trust myself to play every day.&lt;/p&gt;
&lt;p&gt;James &lt;a href=&quot;https://jamesg.blog/2026/01/03/turn-a-list-into-a-web-feed&quot;&gt;used microformats and granary&lt;/a&gt; to turn his HTML element of day list into a web feed and RSS feed.&lt;/p&gt;
&lt;p&gt;Keeping this &lt;a href=&quot;https://github.com/rcarmo/PhotosExport&quot;&gt;Apple Photos exporter&lt;/a&gt;  bookmarked for if I ever try to nuke my Apple Photos usage.&lt;/p&gt;
&lt;p&gt;Turns out those &lt;code&gt;pkpass&lt;/code&gt; ticket files you sometimes get to add to Apple/Google wallet can be converted to PNGs &lt;a href=&quot;https://gist.manganiello.tech/fabio/pkpass2png&quot;&gt;relatively easily&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.penaddict.com/blog/2026/1/4/i-love-cleaning-fountain-pens&quot;&gt;Brad has a great post&lt;/a&gt; on the tools and techniques he uses to clean fountain pens.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hotdangpress.com&quot;&gt;Hot Dang Press&lt;/a&gt; make very cool iron-on art.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://getoutofmyhead.dev&quot;&gt;Get out of my &amp;lt;head&amp;gt;&lt;/a&gt; is an incredibly handy reference for what should be inside your &lt;code&gt;head&lt;/code&gt; to show previews, favicons, and other related things. I added a link to this on &lt;a href=&quot;https://lens.rknight.me&quot;&gt;Lens&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I think I found the only UK-based company that makes pen cases, storages, displays, and trays - &lt;a href=&quot;https://www.theturnersworkshop.co.uk&quot;&gt;Turner&#39;s Workshop&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=N7xn5zeJ4D4&quot;&gt;Opus No. 1&lt;/a&gt; is that fucking song everyone has on their hold music.&lt;/p&gt;
&lt;p&gt;Speaking of music &lt;a href=&quot;https://wantmymtv.vercel.app&quot;&gt;I Want my MTV Rewind&lt;/a&gt; is amazing.&lt;/p&gt;
&lt;p&gt;These two &lt;a href=&quot;https://www.youtube.com/@struthless&quot;&gt;Struthless&lt;/a&gt; videos are really worth your time:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=2n8W6CBxc64&quot;&gt;A chaotic guide to making stuff instead of doomscrolling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=zdErKRSBnag&quot;&gt;26 hits of brilliant flawed HUMAN creativity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&#39;ve had &lt;a href=&quot;https://jasonsantamaria.com/blog/large-language-muddle&quot;&gt;this article from Jason&lt;/a&gt; saved for a while and I haven&#39;t stopped thinking about this line:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I want to make things because I’m human and alive.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I sketched it too because why not.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/human-and-alive-sketch.jpg&quot; alt=&quot;Block letters in different colours that say Human and Alive&quot; /&gt;&lt;/figure&gt;
&lt;h3&gt;Outtakes&lt;/h3&gt;
&lt;p&gt;Outtakes is a new section for failed or disregarded ideas, inspired by &lt;a href=&quot;https://anhvn.com/posts/2025/outtakes-etc/#incomplete-projects-that-i-posted-about-that-are-more-or-less-abandoned-in-their-current-state&quot;&gt;anh&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I had a note for a while that said &amp;quot;Scroll all the colours&amp;quot;. I had a look around and there wasn&#39;t anything that did this but once I started thinking about it I realised how boring it would be. I did stumble upon &lt;a href=&quot;https://allrgb.com&quot;&gt;all RGB&lt;/a&gt; though: &amp;quot;&lt;em&gt;The objective of allRGB is simple: To create images with one pixel for every RGB color (16,777,216); not one color missing, and not one color twice.&lt;/em&gt;&amp;quot;. Cool.&lt;/p&gt;
&lt;p&gt;This also had it&#39;s own sub-failure of sorts - I started writing out my ideas on index cards, &lt;a href=&quot;https://palomakop.tv/notes/arena-cards/##&quot;&gt;à la Paloma&lt;/a&gt;, and it &lt;em&gt;was&lt;/em&gt; helpful to focus on a single idea (like the one above) but I also have ideas in my journal, Obsidian, Notes, my brain, probably other places. A failure yes, but it showed me I need to sort my shit out and work out a single place to put all these.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/scroll-all-colors-project-card.jpg&quot; alt=&quot;An index card on a green cutting board. The card says &amp;quot;Scroll All Colors&amp;quot; at the top then some bullet points about how to implement such a thing&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Until next time, be excellent to each other.&lt;/p&gt;
</description>
        <pubDate>Thu, 08 Jan 2026 20:29:19 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/weeknote-1982/</guid>
      </item>
      <item>
        <title>String Replacements on EchoFeed</title>
        <link>https://rknight.me/blog/string-replacements-on-echofeed/</link>
        <description>&lt;p&gt;One request I&#39;ve had quite a bit for &lt;a href=&quot;https://echofeed.app&quot;&gt;EchoFeed&lt;/a&gt; is to be able to handle specific, known usernames, between Mastodon and Bluesky where they are different (which is almost always the case). Some &lt;a href=&quot;https://croissantapp.com/&quot;&gt;pastry-themed&lt;/a&gt; apps already have something similar but for EchoFeed it needed to work differently.&lt;/p&gt;
&lt;p&gt;For EchoFeed, I&#39;ve gone for the simplest solution which is also the most flexible - straight string replacement. &amp;quot;Replace THIS with THAT&amp;quot;, or in real terms, &amp;quot;replace &lt;code&gt;@robb@social.lol&lt;/code&gt; with &lt;code&gt;@rknight.me&lt;/code&gt; when cross posting between Mastodon and Bluesky. Maybe you want to replace &lt;code&gt;utm_source=mastodon&lt;/code&gt; with &lt;code&gt;utm_source=bluesky&lt;/code&gt; because you&#39;re a big Business™ boy or replace every mention of &amp;quot;Twitter&amp;quot; with &amp;quot;the deep fake porn and hate platform&amp;quot; because you understand you don&#39;t hang out at Nazi bars no matter what. You can replace literally anything, it&#39;s up to you. &lt;a href=&quot;https://help.echofeed.app/replacements/&quot;&gt;The documentation&lt;/a&gt; has a bit more information about how they work.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/echofeed/replacements-echofeed-user-names.jpg&quot; alt=&quot;A form showing find and replace values for two different usernames&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;EchoFeed won&#39;t replace strings in links and has the option to only do case-sensitive replacements. Replacements is an EchoFeed Pro feature and is available now.&lt;/p&gt;
</description>
        <pubDate>Thu, 08 Jan 2026 13:04:42 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/string-replacements-on-echofeed/</guid>
      </item>
      <item>
        <title>App Defaults 2026</title>
        <link>https://rknight.me/blog/app-defaults-2026/</link>
        <description>&lt;p&gt;It&#39;s been a couple of years since my &lt;a href=&quot;https://rknight.me/blog/app-defaults/&quot;&gt;first post in this series&lt;/a&gt;. &lt;a href=&quot;https://rknight.me/blog/app-defaults-2024/&quot;&gt;In 2024 I did&lt;/a&gt; an &amp;quot;updates only&amp;quot; list but I think it&#39;s worth going for a full list again this time.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;📨 Mail Client: Apple Mail still. Email sucks, I don&#39;t need it to be better I need it to go away.&lt;/li&gt;
&lt;li&gt;📮 Mail Server: iCloud with custom domain.&lt;/li&gt;
&lt;li&gt;📝 Notes: Obsidian. I&#39;ve just done a big reset of all my notes and I&#39;m following &lt;a href=&quot;https://stephango.com/vault&quot;&gt;Steph Ango&#39;s&lt;/a&gt; structure somewhat.&lt;/li&gt;
&lt;li&gt;✅ To-Do: Journal for untimed things, Reminders for timed.&lt;/li&gt;
&lt;li&gt;📷 iPhone Photo Shooting: Camera.app&lt;/li&gt;
&lt;li&gt;🟦 Photo Management: Photos.app&lt;/li&gt;
&lt;li&gt;📆 Calendar: Fantastical&lt;/li&gt;
&lt;li&gt;📁 Cloud File Storage: iCloud Drive&lt;/li&gt;
&lt;li&gt;📖 RSS: &lt;a href=&quot;https://miniflux.app/&quot;&gt;Miniflux&lt;/a&gt; with &lt;a href=&quot;https://reederapp.com/classic/&quot;&gt;Reeder Classic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🙍🏻‍♂️ Contacts: Contacts.app&lt;/li&gt;
&lt;li&gt;🌐 Browser: Safari&lt;/li&gt;
&lt;li&gt;💬 Chat: Discord, Signal, IRC&lt;/li&gt;
&lt;li&gt;🔖 Bookmarks: &lt;a href=&quot;https://www.linkace.org&quot;&gt;LinkAce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;📑 Read It Later: &lt;a href=&quot;https://raindrop.io&quot;&gt;Raindrop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;📜 Word Processing: what&lt;/li&gt;
&lt;li&gt;📈 Spreadsheets: Numbers&lt;/li&gt;
&lt;li&gt;📊 Presentations: Keynote if I have to but I never do&lt;/li&gt;
&lt;li&gt;🛒 Shopping Lists: Alexa lists, reminders&lt;/li&gt;
&lt;li&gt;🍴 Meal Planning: Journal&lt;/li&gt;
&lt;li&gt;💰 Budgeting and Personal Finance: Numbers&lt;/li&gt;
&lt;li&gt;📰 News: Nope&lt;/li&gt;
&lt;li&gt;🎵 Music: Apple Music scrobbled to &lt;a href=&quot;http://Last.fm&quot;&gt;Last.fm&lt;/a&gt; with &lt;a href=&quot;https://replay.software/sleeve&quot;&gt;Sleeve&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🎤 Podcasts: Overcast&lt;/li&gt;
&lt;li&gt;🔐 Password Management: 1Password, begrudgingly.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When this post is added, that will be &lt;em&gt;five hundred&lt;/em&gt; blog posts on the &lt;a href=&quot;https://defaults.rknight.me&quot;&gt;App Defaults&lt;/a&gt; website. You should go and listen to the episode that started it all, &lt;a href=&quot;https://listen.hemisphericviews.com/097&quot;&gt;097: Duel of the Defaults&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Wed, 07 Jan 2026 08:44:45 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/app-defaults-2026/</guid>
      </item>
      <item>
        <title>Logitech Options+ Alternatives for MacOS</title>
        <link>https://rknight.me/blog/logitech-options-alternatives-for-macos/</link>
        <description>&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot;&gt;&lt;svg class=&quot;octicon octicon-info mr-2&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Update 2026-01-07&lt;/p&gt;&lt;p&gt;It turns out &lt;a href=&quot;https://www.reddit.com/r/logitech/comments/1q5vjyn/comment/ny3k3k9/&quot;&gt;Logitech let their developer certificate expire&lt;/a&gt; which is equally stupid for a $10 billion company.&lt;/p&gt;
&lt;p&gt;Also, as pointed out by &lt;a href=&quot;https://melanie.lol&quot;&gt;Mel&lt;/a&gt; and &lt;a href=&quot;https://grepjason.sh&quot;&gt;Jason&lt;/a&gt;, Logitech/Logi has another name in Japan: Logicool. Which is clearly the best one.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot;&gt;&lt;svg class=&quot;octicon octicon-info mr-2&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Note&lt;/p&gt;&lt;p&gt;Logitech is called &amp;quot;Logi&amp;quot; in some markets but not all of them and to be honest I don&#39;t care enough to work out which is &amp;quot;correct&amp;quot; in this case.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;As of this moment &lt;a href=&quot;https://www.logitech.com/en-gb/software/logi-options-plus.html&quot;&gt;Logitech Options+&lt;/a&gt;, the app that handles all the features for my Logitech MX Master mouse, is down. It connects to Logitech&#39;s server for some stupid reason but if said server is down then my mouse doesn&#39;t work properly. Very cool and normal.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://rknight.me/notes/202601062305/&quot;&gt;I posted about this&lt;/a&gt; and &lt;a href=&quot;https://rknight.me/notes/202601062305/&quot;&gt;Reilly&lt;/a&gt; was all over it suggesting &lt;a href=&quot;https://linearmouse.app/&quot;&gt;LinearMouse&lt;/a&gt;. I downloaded it and it&#39;s an almost-exact replacement for the Logitech crap with the exception of gestures. In Options+ I could set &lt;kbd&gt;thumb button&lt;/kbd&gt; + &lt;kbd&gt;swipe&lt;/kbd&gt; to switch between spaces (or in my case, my single full screen app - the Music app). As a workaround, I set LinearMouse to use &lt;kbd&gt;⌘&lt;/kbd&gt; + the back/forward button to do the same thing.&lt;/p&gt;
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot;&gt;&lt;svg class=&quot;octicon octicon-info mr-2&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Update 2026-01-07&lt;/p&gt;&lt;p&gt;The beta version &lt;code&gt;0.10.3 beta-2&lt;/code&gt; of LinearMouse has support for gestures although it doesn&#39;t have the option to use the MX Master thumb button at the moment.&lt;/p&gt;
&lt;/div&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/linearmouse-settings.jpg&quot; alt=&quot;The LinearMouse settings window showing my custom button actions&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;The Logitech software has always been shit but I could live with it but not being able to use my mouse because servers are down? Fuck right off.&lt;/p&gt;
&lt;p&gt;Anyway, I &lt;em&gt;had&lt;/em&gt; started collecting alternatives while I was putting Baby Knight II to bed but given LinearMouse does everything I need, I won&#39;t be trying them but here they are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Logitech have an &lt;a href=&quot;https://prosupport.logi.com/hc/en-us/articles/10991109278871-Logitech-Options-Offline-Installer&quot;&gt;offline-only version for IT admins to use&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://better-mouse.com/&quot;&gt;BetterMouse&lt;/a&gt; - this one looks like it has &lt;em&gt;all&lt;/em&gt; the options.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://plentycom.jp/en/steermouse/&quot;&gt;SteerMouse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://macmousefix.com/en/&quot;&gt;Mac Mouse Fix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Tue, 06 Jan 2026 23:29:22 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/logitech-options-alternatives-for-macos/</guid>
      </item>
      <item>
        <title>Pens, Inks, and Obsidian Bases</title>
        <link>https://rknight.me/blog/pens-inks-and-obsidian-bases/</link>
        <description>&lt;p&gt;I finally got around to trying out &lt;a href=&quot;https://help.obsidian.md/bases&quot;&gt;Obsidian Bases&lt;/a&gt; this evening but I needed a relatively small dataset to try it with. So I grabbed my ink export from &lt;a href=&quot;https://fpc.ink&quot;&gt;fountain pen companion&lt;/a&gt; (FPC) and converted that CSV to markdown files. This isn&#39;t relevant to using Bases but here&#39;s the abridged version of that code anyway:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// inks.js&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; fs &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;fs&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;fs&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;readFileSync&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;collected_inks.csv&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;utf-8&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;&#92;n&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;slice&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;forEach&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;line&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; data &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; line&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;;&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; title &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt; &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; content &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;token string&quot;&gt;&#39;---&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;brand: &#39;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;name: &#39;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;hex: &#39;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;type: &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;purchased: &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;13&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;        &lt;span class=&quot;token string&quot;&gt;&#39;---&#39;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    fs&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;writeFileSync&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;./inks/&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;title&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;.md&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; content&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;&#92;n&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;token comment&quot;&gt;// Diamine Meadow.md&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token comment&quot;&gt;// ...&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token literal-property property&quot;&gt;hex&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; #59ac2b&lt;br /&gt;&lt;span class=&quot;token comment&quot;&gt;// ...&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Once I&#39;d added the new files I created a new Base and added a filter to only show files in my &lt;code&gt;Inks&lt;/code&gt; folder. FPC includes a hex code for each ink and ideally I wanted to show this color in the table view. If I could run Javascrupt on every change I would do something like this to change the colour of the text where &lt;code&gt;metadata-input-longtext&lt;/code&gt; is the classname of the cell elements of the table:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;Array&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;from&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getElementsByClassName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;metadata-input-longtext&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;forEach&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;el&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;el&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;innerText&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;startsWith&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;#&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;        el&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;style&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;color &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; el&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;innerText&lt;br /&gt;    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sadly (or not), you can&#39;t do that in Obsidian. I tried using &lt;a href=&quot;https://css-tricks.com/almanac/functions/a/attr/&quot;&gt;&lt;code&gt;attr()&lt;/code&gt;&lt;/a&gt; but that only works if the data attribute is on the element you want to style. I then saw in the docs that Bases also has &lt;a href=&quot;https://help.obsidian.md/formulas&quot;&gt;formulas&lt;/a&gt; as well as an &lt;a href=&quot;https://help.obsidian.md/bases/functions#%60html()%60&quot;&gt;&lt;code&gt;html&lt;/code&gt; function&lt;/a&gt;. So I added a formula to my ink Base (Properties &amp;gt; Add Formula) and added a formula that uses the &lt;code&gt;html&lt;/code&gt; function.&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token function&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;&amp;lt;span style=&#39;height: 100%; aspect-ratio: 1/1; background:&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; hex &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&#39;&gt;&amp;lt;/span&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/obsidian-bases-with-hex-color-preview.jpg&quot; alt=&quot;A table showing a list of inks and their properties. A column named color shows a preview of the hex code&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Next up will be doing the same for my pens and linking them to the inks that they currently have in them. Now I&#39;ve tried it I can see how Bases could be really powerful on some more complicated data. Perhaps I&#39;ll move some of &lt;a href=&quot;/collections&quot;&gt;my collections&lt;/a&gt; into Obsidian and sync it to my website.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Some posts that helped me understand Bases better:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://thewallflowerdigest.co.uk/life/blog/a-new-approach-to-tracking-reading-with-obsidian-bases/&quot;&gt;A new approach to tracking reading with Obsidian Bases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tylersticka.com/journal/obsidian-bases-star-ratings-and-automatic-covers/&quot;&gt;Obsidian Bases: Star Ratings and Automatic Covers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 05 Jan 2026 20:55:44 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/pens-inks-and-obsidian-bases/</guid>
      </item>
      <item>
        <title>EchoFeed Profiles</title>
        <link>https://rknight.me/blog/echofeed-profiles/</link>
        <description>&lt;p&gt;I&#39;ll say this up front: I don&#39;t want &lt;a href=&quot;https://echofeed.app&quot;&gt;EchoFeed&lt;/a&gt; to be a social network. There are many platforms better suited to that and EchoFeed isn&#39;t it. Having said that, I do think there&#39;s something nice about being able to link to a profile that says &amp;quot;Yeah I use this thing, I like it, look at a photo of my face and stuff&amp;quot; so I made profile pages that can have a photo of your face and stuff.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/echofeed-profile-page-robb-fixed.jpg&quot; alt=&quot;A profile page showing my face, that I joined EchoFeed in April 2024, that I have 19 Echoes, 1600 posts, and a bio about me.&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;There&#39;s not much here, by design. Go to &lt;a href=&quot;https://echofeed.app/user/profile&quot;&gt;the profile editor&lt;/a&gt; in the dashboard from the dropdown in the top right and you can set your username, bio, website, and choose a colour for your profile (and your open graph image). Your profile will show if you&#39;re an EchoFeed Pro subscriber, how many echoes you have, and how many posts you&#39;ve made. It will never expose what feeds you have enabled or posts you&#39;ve made — I may add something related to this in the future but it will be off by default&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;. You can turn off your profile at any time by unticking &amp;quot;Profile Enabled&amp;quot;.&lt;/p&gt;
&lt;p&gt;Speaking of open graph images, to get this out quickly I used &lt;a href=&quot;https://github.com/simonhamp/the-og&quot;&gt;&lt;code&gt;simonhamp/the-og&lt;/code&gt;&lt;/a&gt; which is a &amp;quot;&lt;em&gt;An OpenGraph image generator written purely in PHP&lt;/em&gt;&amp;quot;. It pretty simple to use and had a built-in layout that was mostly what I wanted already. I will update these in the future to have more information but for now, they do the job nicely.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2026/echofeed-opengraph-robb.jpg&quot; alt=&quot;An open graph image showing my profile photo and a url to my EchoFeed profile. The background has a faded EchoFeed logo&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I&#39;m seeing a couple of instances where opengraph images won&#39;t load I &lt;em&gt;think&lt;/em&gt; because of caching (which I need for the &lt;a href=&quot;https://www.netscout.com/blog/mastodon-stampede&quot;&gt;stampede problem&lt;/a&gt;) so if you see something off, let me know. For now, you can check out my profile at &lt;a href=&quot;https://echofeed.app/@robb&quot;&gt;echofeed.app/@robb&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Tangentially related to this but I&#39;m moving all EchoFeed announcements to here instead of maintaining a separate blog which is overkill. I&#39;ll setup redirects and import the existing posts to here in the next few days.&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot; /&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;hey tech bros, this is called &amp;quot;consent&amp;quot;. &lt;a href=&quot;#fnref1&quot; class=&quot;footnote-backref&quot;&gt;&amp;#10558;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
        <pubDate>Fri, 02 Jan 2026 13:48:18 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/echofeed-profiles/</guid>
      </item>
      <item>
        <title>Weeknote #1981</title>
        <link>https://rknight.me/blog/weeknote-1981/</link>
        <description>&lt;p&gt;Final day of the year, final weeknote of 2025.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://rknight.me/shop/&quot;&gt;sticker shop is live&lt;/a&gt; as of a couple of weeks ago with a handful of stickers I think you&#39;ll like.&lt;/p&gt;
&lt;p&gt;I&#39;m into a new journal for tomorrow and this time I&#39;m using a &lt;a href=&quot;https://www.leuchtturm1917.co.uk/bullet-journal-edition-2.html&quot;&gt;Leuchtturm1917 Bullet Journal&lt;/a&gt; I got for a steep discount. The paper isn&#39;t as thick as the &lt;a href=&quot;https://scribblesthatmatter.com&quot;&gt;STM paper&lt;/a&gt; I used last year but it&#39;s certainly nice to write on. I definitely have some more thoughts about the Bullet Journal brand but that&#39;s for another time.&lt;/p&gt;
&lt;p&gt;I am getting so many ads on YouTube for fucking AI generation, AI business leader training, and it&#39;s all shit. Stop it. Just stop.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kfcshop.co.uk&quot;&gt;KFC have a merch shop&lt;/a&gt; and I want &lt;a href=&quot;https://kfcshop.co.uk/products/kfc-020&quot;&gt;this hat&lt;/a&gt;. I don&#39;t need it but also, KFC hat.&lt;/p&gt;
&lt;p&gt;The song &amp;quot;Louie Louie&amp;quot; has been covered upwards of 1600 times. &amp;quot;Three chords and the most mundane beat possible. Any idiot could learn it, and they all did.&amp;quot; is a very funny description of the song. I just went to get a link for the song, having read the &lt;a href=&quot;https://en.wikipedia.org/wiki/Louie_Louie&quot;&gt;wikipedia page&lt;/a&gt; not actually knowing what the was, only to realise I do know it. &lt;a href=&quot;https://www.youtube.com/watch?v=1RZJ4ESU52U&quot;&gt;I&#39;m assuming everyone does&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=HZjKLQ5ZUOs&amp;amp;feature=youtu.be&quot;&gt;Malcolm in the Middle is back&lt;/a&gt; and I am here for it.&lt;/p&gt;
&lt;p&gt;Superman by Goldfinger went gold earlier this year and they &lt;a href=&quot;https://www.youtube.com/watch?v=l5YlHs4f2IU&quot;&gt;performed it with Tony Hawk on vocals&lt;/a&gt; at the Warped tour. As I always do when I mention this song, check out &lt;a href=&quot;https://www.youtube.com/watch?v=2nC5mDNGkUc&quot;&gt;Mike Herrera&#39;s acoustic version&lt;/a&gt; and his &lt;a href=&quot;https://www.youtube.com/watch?v=nUkMjsVnb2g&quot;&gt;version of No Cigar&lt;/a&gt; while we&#39;re at it.&lt;/p&gt;
&lt;p&gt;Spigen made &lt;a href=&quot;https://www.spigen.com/products/apple-mac-mini-stand-classic-c1&quot;&gt;an entirely unnecessary Classic Mac case&lt;/a&gt; for the Mac Mini and I want it.&lt;/p&gt;
&lt;p&gt;Mel put together &lt;a href=&quot;https://source.tube/melanie/now-updater&quot;&gt;&lt;code&gt;now-updater&lt;/code&gt;&lt;/a&gt; which automatically updates your now page. Imagine &lt;a href=&quot;https://rknight.me/blog/automating-my-now-page/&quot;&gt;this Rube Goldberg machine&lt;/a&gt; I built but it&#39;s easy to use and better in every way. It&#39;s that.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.gamefontlibrary.com/games&quot;&gt;Game Font Library&lt;/a&gt; is a new site listing fonts from games, 259 of them as of this writing.&lt;/p&gt;
&lt;p&gt;It&#39;s not for me right now, but &lt;a href=&quot;https://yearcompass.com/#download&quot;&gt;Year Compass&lt;/a&gt; is an interesting idea. (via &lt;a href=&quot;https://hamatti.org&quot;&gt;Juhis&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;I linked to &lt;a href=&quot;https://rachelkickdesign.com/products/national-forest-font-duo-1&quot;&gt;this National Park-style font pack&lt;/a&gt; in &lt;a href=&quot;https://rknight.me/blog/weeknote-1973/&quot;&gt;weeknote 1973&lt;/a&gt;. Turns out there&#39;s &lt;a href=&quot;https://nationalparktypeface.com/Downloads-Donations&quot;&gt;another similar one available&lt;/a&gt; with seven weights.&lt;/p&gt;
&lt;p&gt;Adam made this &lt;a href=&quot;https://neatnik.net/calendar/&quot;&gt;printable one-page calendar&lt;/a&gt; a while back and I printed one to stick in my journal. If you want to see some other versions or find out why Adam is &lt;em&gt;the worst&lt;/em&gt;, it was &lt;a href=&quot;https://news.ycombinator.com/item?id=46408613&quot;&gt;on Hacker News this week&lt;/a&gt;. &lt;a href=&quot;https://ellanew.com/2025/12/30/markdown-calendars-2026&quot;&gt;Ellane also has some markdown calendars&lt;/a&gt; if that&#39;s your thing.&lt;/p&gt;
&lt;p&gt;I love this &lt;a href=&quot;https://anhvn.com/posts/2025/outtakes-etc/#incomplete-projects-that-i-posted-about-that-are-more-or-less-abandoned-in-their-current-state&quot;&gt;outtakes post&lt;/a&gt; from anh.&lt;/p&gt;
&lt;p&gt;Finally these &lt;a href=&quot;https://pigeonposted.com/shop/&quot;&gt;Pigeon Post&lt;/a&gt; combination letter/envelopes are really cool and I&#39;m buying some for sure. Maybe I&#39;ll send some of &lt;a href=&quot;http://rknight.me/shop/&quot;&gt;my stickers&lt;/a&gt; to random buyers.&lt;/p&gt;
</description>
        <pubDate>Wed, 31 Dec 2025 22:01:35 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/weeknote-1981/</guid>
      </item>
      <item>
        <title>Just 2025 Things</title>
        <link>https://rknight.me/blog/just-2025-things/</link>
        <description>&lt;p&gt;I really need a better structure for these. I find it so hard every year to remember what to include and in which section. Herein I shall attempt to define some kind of structure.&lt;/p&gt;
&lt;h3&gt;General&lt;/h3&gt;
&lt;p&gt;I mostly just kept it together with the lack of sleep from having two children who refuse to sleep much, or at the same time. I did install a new electric awning at the back of the house so that was something. Not much else to report in this area.&lt;/p&gt;
&lt;h3&gt;Writing - Online&lt;/h3&gt;
&lt;p&gt;This section has the &amp;quot;online&amp;quot; suffix because I also have the analog part of writing to talk about but they are very different things.&lt;/p&gt;
&lt;p&gt;This is post 73 of the year; less than last year but a bit over 2023. My most popular &lt;em&gt;new&lt;/em&gt; posts this year were &lt;a href=&quot;https://rknight.me/blog/biting-the-bullet/&quot;&gt;Biting the Bullet&lt;/a&gt; which I assume is because of how good the title is, &lt;a href=&quot;https://rknight.me/blog/how-many-mildliner-colours-are-there/&quot;&gt;How Many Mildliner Colours Are There?&lt;/a&gt; (a lot of traffic from search engines coming into this one), and &lt;a href=&quot;https://rknight.me/blog/i-am-obsessed-with-this-tomb-raider-pen/&quot;&gt;I Am Obsessed With this Tomb Raider Pen&lt;/a&gt; which of course I eventually bought. I&#39;m very happy that &lt;a href=&quot;https://rknight.me//blog/using-the-8bitdo-keyboard-on-macos/&quot;&gt;this post about the 8BitDo keyboard&lt;/a&gt; is my most popular post in general now, no longer will I be plagued by &lt;a href=&quot;https://rknight.me/blog/convert-spotify-facebook-to-email-login/&quot;&gt;this stupid post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I started doing &lt;a href=&quot;https://rknight.me/blog/tags/weeknotes/&quot;&gt;weeknotes&lt;/a&gt; numbered by the week of my life it is because I can&#39;t commit to weekly and I&#39;m happy with how they&#39;ve come out. They&#39;re a useful outlet to post about interesting things I find, like an internet Womble.&lt;/p&gt;
&lt;h3&gt;Writing - Analogue&lt;/h3&gt;
&lt;p&gt;I started bullet journalling&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt; in January which led me to pens, pencils, paper, notebooks, inks, and everything in between. The actual journalling has been really useful in keeping track of things I need to do, ideas I have, things I might want to do. As of this month, I&#39;ve finished two notebooks and I&#39;ll be starting a new one in January.&lt;/p&gt;
&lt;p&gt;I was on The Pen Addict &lt;a href=&quot;https://www.relay.fm/penaddict/657&quot;&gt;in March&lt;/a&gt; and again &lt;a href=&quot;https://www.relay.fm/penaddict/689&quot;&gt;in October&lt;/a&gt; and I hope Brad will invite back again at some point because it was a lot of fun. I said it in another post but the pen community are all bloody lovely and welcoming.&lt;/p&gt;
&lt;p&gt;I want to try and improve my lowercase handwriting because right now I exclusively write in capitals.&lt;/p&gt;
&lt;p&gt;As a direct result of journalling I ended up &lt;a href=&quot;https://rknight.me/blog/get-okay/&quot;&gt;drawing for St Jude&lt;/a&gt;, participating in &lt;a href=&quot;https://rknight.me/blog/inktober-completed-it-mate/&quot;&gt;Inktober&lt;/a&gt;, and inventing Jeff, a loveable dinosaur. &lt;a href=&quot;https://knightshift.bigcartel.com/product/crazy-robbs-discount-fun-pack&quot;&gt;The sticker fun pack includes a Jeff sticker just fyi&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Because I only got started this year, I picked up &lt;em&gt;a lot&lt;/em&gt; of pens and other related things. I &lt;a href=&quot;https://rknight.me/blog/one-line-pen-reviews/&quot;&gt;reviewed some pens&lt;/a&gt;, a &lt;a href=&quot;https://rknight.me/blog/lihit-labs-compact-pen-case-review/&quot;&gt;pen case&lt;/a&gt;, and even &lt;a href=&quot;https://rknight.me/blog/bookaroo-sticky-tabs-review/&quot;&gt;some sticky tabs&lt;/a&gt; but the big one was my &lt;a href=&quot;https://rknight.me/notes/202510112037/&quot;&gt;Esterbrook Funky Town&lt;/a&gt; and &lt;a href=&quot;https://rknight.me/blog/hunting-for-the-hottest-pink-ink/&quot;&gt;the hottest pink ink I could find&lt;/a&gt;. I love this pen so much.&lt;/p&gt;
&lt;p&gt;I have my eye on a few other fountain pens for next year including a &lt;a href=&quot;https://www.diplomat-pen.com/en/shop/diplomat/viper/&quot;&gt;Diplomat Viper&lt;/a&gt; but I expect it will be a much slower year in terms of purchasing.&lt;/p&gt;
&lt;h3&gt;Travel&lt;/h3&gt;
&lt;p&gt;We did three holidays this year, the first time we&#39;ve gone away with either of the kids. The first was to &lt;a href=&quot;https://www.fishersfarmpark.co.uk/&quot;&gt;Fisher&#39;s Farm&lt;/a&gt; in one of their cabins. This was exhausting for us and the kids because it&#39;s non-stop every day we were there but everyone had a great time. We then did 5 days at both Haven in Bognor and Butlin&#39;s, which is also in Bognor. The year of Bognor.&lt;/p&gt;
&lt;p&gt;The one definitive conclusion we came to is that we are not &amp;quot;cook while we&#39;re on holiday&amp;quot; people. I never want to cook anywhere that isn&#39;t my kitchen, so we&#39;re just not going to any more. It&#39;ll cost more money, but less stress for me.&lt;/p&gt;
&lt;h3&gt;Media&lt;/h3&gt;
&lt;h4&gt;TV&lt;/h4&gt;
&lt;p&gt;Kids are not conducive to watching a lot of TV that requires attention but we were able to squeeze in &lt;a href=&quot;https://rknight.me/almanac/tv/2025-05-26-the-last-of-us/&quot;&gt;The Last of Us&lt;/a&gt;, &lt;a href=&quot;https://rknight.me/almanac/tv/2025-03-01-silo/&quot;&gt;Silo&lt;/a&gt;, and &lt;a href=&quot;https://rknight.me/almanac/tv/2025-04-13-high-potential/&quot;&gt;High Potential&lt;/a&gt;. We also watched &lt;a href=&quot;https://rknight.me/almanac/tv/2025-12-24-pluribus/&quot;&gt;Pluribus&lt;/a&gt; but I have no idea how I feel about that show right now. We&#39;ll be straight into Fallout season two when that&#39;s all available too.&lt;/p&gt;
&lt;h4&gt;Movies&lt;/h4&gt;
&lt;p&gt;We ended up on a rewatch-the-MCU binge for most of the year because of the aforementioned lack of attention needed. Only four new movies this year:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://rknight.me/almanac/movies/2025-10-04-thunderbolts/&quot;&gt;Thunderbolts&lt;/a&gt; - This was fine. If Florence Pugh wasn&#39;t in it this would be nothing.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rknight.me/almanac/movies/2025-10-03-captain-america-brave-new-world/&quot;&gt;Captain America: Brave New World&lt;/a&gt; - This was better.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rknight.me/almanac/movies/2025-11-06-the-fantastic-4-first-steps/&quot;&gt;Fantastic Four: First Steps&lt;/a&gt; - This was fun but very obviously a filler movie before Doomsday.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rknight.me/almanac/movies/2025-11-15-freakier-friday/&quot;&gt;Freakier Friday&lt;/a&gt; - I was so hopeful but this was awful.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Games&lt;/h4&gt;
&lt;p&gt;I played the Tony Hawk 3+4 Remaster and it&#39;s a solid effort but the new levels are just not very good. I don&#39;t care about the 4 career mode but it is a big missing piece.&lt;/p&gt;
&lt;h4&gt;Music&lt;/h4&gt;
&lt;p&gt;I became, I think there&#39;s no other word, obsessed with MGK. I was shown a preview of the &lt;a href=&quot;https://www.youtube.com/watch?v=m4DVbm9zeR0&quot;&gt;Cliché video&lt;/a&gt; on my Apple TV, I watched it and I loved it. Then I watched it 10 more times and listened to it, as of this writing, 200 more times. The whole album it&#39;s from, &lt;a href=&quot;https://musicthread.app/link/310FLVKGKZHEkhNRv7DlOTcmgus&quot;&gt;Lost Americana&lt;/a&gt;, is incredible and then I went into his back catalog and listened to all that &lt;em&gt;all the time&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I&#39;m sure other music existed but MGK has been my 2025.&lt;/p&gt;
&lt;h4&gt;Books&lt;/h4&gt;
&lt;p&gt;Oh my God, Karen, you can&#39;t just ask people what books they read.&lt;/p&gt;
&lt;h3&gt;Projects&lt;/h3&gt;
&lt;h4&gt;KnightShift Studio&lt;/h4&gt;
&lt;p&gt;I decided KnightShift Studio was a better name than KnightShift Development because I&#39;m a big sticker boy now and &amp;quot;studio&amp;quot; better encapsulates random ideas I might have outside of general development and web apps. Anything where money might change hands is filed, in my mind, under the KnightShift banner. Something something business.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://echofeed.app&quot;&gt;EchoFeed&lt;/a&gt; is growing slowly and I&#39;ve added a handful of new features including filtering rules and a shiny new logo.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rknight.me/shop&quot;&gt;KnightShift sticker shop&lt;/a&gt; is up and running and has had some sales. I &lt;a href=&quot;https://rknight.me/blog/new-stickers-new-store-who-dis/&quot;&gt;wrote more about it here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I designed this &lt;a href=&quot;https://www.penaddict.com/shop/waffle-sticker&quot;&gt;Pen Addict Waffle House sticker&lt;/a&gt; for Brad.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Curios&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;It&#39;s no &lt;a href=&quot;https://hum.rknight.me&quot;&gt;Humonize&lt;/a&gt; but &lt;a href=&quot;https://outro.rknight.me/&quot;&gt;the Connected Outro Maker&lt;/a&gt; is a fun little thing.&lt;/li&gt;
&lt;li&gt;I don&#39;t remember how I got the idea for &lt;a href=&quot;https://wellness.rknight.me/&quot;&gt;The Wellness Place&lt;/a&gt; but it exists.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://portkom.rknight.me/&quot;&gt;Portal Kombat&lt;/a&gt; is Top Trumps but for boats, built at Hack Pompey. Related &lt;a href=&quot;https://rknight.me/blog/hack-pompey-portal-kombat/&quot;&gt;blog post&lt;/a&gt; here.&lt;/li&gt;
&lt;li&gt;The journalling really got me good and I ended up collecting all the Zebra Mildliners and building &lt;a href=&quot;https://mildliners.rknight.me/&quot;&gt;this site&lt;/a&gt; to track all the sets and colours. Then I did the same for the &lt;a href=&quot;https://clickart.rknight.me/&quot;&gt;Zebra ClickArt pens&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I had fun getting set up to &lt;a href=&quot;https://github.com/rknightuk/thermal-label-formatter&quot;&gt;print directly from Big Cartel to my new thermal printer&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Miscellanea&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;A lot of the projects above I made new icons and illustrations for, like the Mildliner and Clickart SVGs. I&#39;ve gotten a lot better at making these this year and it&#39;s opened up some fun possibilities.&lt;/li&gt;
&lt;li&gt;It was a year of printers and cameras - I &lt;a href=&quot;https://rknight.me/blog/camp-snap-impressions/&quot;&gt;bought a Camp Snap&lt;/a&gt;, a &lt;a href=&quot;https://www.kodak.com/en/consumer/product/cameras/digital/charmera-keychain-digital-camera/&quot;&gt;Kodak Charmera&lt;/a&gt;, a thermal printer for shipping labels, and a &lt;a href=&quot;https://kodakphotoprinter.eu/products/best-photo-printer-kodak-mini-3-retro-1&quot;&gt;Kodak P300&lt;/a&gt; instant printer. Oh and the &lt;a href=&quot;https://rknight.me/blog/knightprints-first-run/&quot;&gt;cat printer&lt;/a&gt; that I hooked up to the fediverse.&lt;/li&gt;
&lt;li&gt;Me and Adam &lt;a href=&quot;https://rknight.me/blog/st-jude-2025-recap/&quot;&gt;raised over $15k&lt;/a&gt; for St Jude this year, putting just under $50k raised over the past three years.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr class=&quot;footnotes-sep&quot; /&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Note the lowercase &amp;quot;B&amp;quot; and &amp;quot;J&amp;quot;. The &lt;em&gt;brand&lt;/em&gt; is definitely not what it was even 12 months ago. &lt;a href=&quot;#fnref1&quot; class=&quot;footnote-backref&quot;&gt;&amp;#10558;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
        <pubDate>Mon, 29 Dec 2025 20:05:46 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/just-2025-things/</guid>
      </item>
      <item>
        <title>New Stickers, New Store, Who Dis?</title>
        <link>https://rknight.me/blog/new-stickers-new-store-who-dis/</link>
        <description>&lt;p&gt;tl;dr: I have a proper shop now with new sticker designs which you can &lt;a href=&quot;http://rknight.me/shop/&quot;&gt;find here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you&#39;ve been following along for the past 6 months, I designed four stickers that I sold in two different batches - &lt;a href=&quot;https://rknight.me/blog/dont-at-me-stickers/&quot;&gt;Don&#39;t @ Me and Sparkly Websites&lt;/a&gt; and &lt;a href=&quot;https://rknight.me/blog/pirate-bay-training-data-stickers/&quot;&gt;Pirate Bay × Training Data stickers&lt;/a&gt;. It was a lot of effort but it was a fun thing to do.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/sticker-merchant-meme-fixed.jpg&quot; alt=&quot;Norman Osborn saying &amp;quot;You know, I&#39;m somewhat of a sticker merchant myself&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;The &amp;quot;effort&amp;quot; was twofold: setting up Stripe payment links every time I wanted to sell a new batch and doing addresses on the envelopes. I setup an Eleventy site to do some of the work of laying out addresses so I could print onto label sheets which was fine until my printer ran out of ink and I had to hand-write ~100 envelopes.&lt;/p&gt;
&lt;p&gt;The latter problem was easy to solve: an &lt;a href=&quot;https://www.neatnik.net&quot;&gt;Adam&lt;/a&gt;-approved &lt;a href=&quot;https://www.amazon.com/dp/B0C3B6RRDG&quot;&gt;thermal printer&lt;/a&gt;, the beautifully named &amp;quot;&lt;em&gt;OFFNOVA USB Shipping Label Printer, 4x6 Thermal Printer for Shipping Packages, High-Speed Label Maker, Compatible with ShipStation, UPS, FedEx, Ebay, Amazon, Shopify, USPS&lt;/em&gt;&amp;quot;. It&#39;s a 4×6 thermal printer that has drivers for MacOS, Windows, and Linux. The only learning curve was making sure to pick the 4×6 paper size from the print dialog otherwise you get cut-off labels. Like before, I setup an Eleventy site that takes a CSV and outputs each address as a full page which then print to the labels. Because it&#39;s just HTML, I could easily add the Robb Knight × omg.lol logos in the bottom left.&lt;/p&gt;
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot;&gt;&lt;svg class=&quot;octicon octicon-info mr-2&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Update 2025-12-22&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/rknightuk/thermal-label-formatter&quot;&gt;The code for this&lt;/a&gt; is now on GitHub&lt;/p&gt;
&lt;/div&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/address-label-sample.jpg&quot; alt=&quot;A label that has a fake sample address printed on it&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;The first problem though, of having a proper store, was a bit more complicated. There are so many fees associated with some platforms (looking at you Etsy) that it&#39;s hard to know how much it would cost to sell a single sticker. Then I remembered my friends over at &lt;a href=&quot;https://hemisphericviews.com&quot;&gt;Hemispheric Views&lt;/a&gt; have &lt;a href=&quot;https://hemisphericviews.bigcartel.com&quot;&gt;a sticker store&lt;/a&gt; that runs on &lt;a href=&quot;https://www.bigcartel.com&quot;&gt;Big Cartel&lt;/a&gt;. Big Cartel has a free tier limited to five products, one photo per product, plus some other limitations, but it&#39;s perfect for me to get started. Even when I do upgrade, it&#39;s $15 a month and that&#39;s it. No skimming a percentage from sales or anything like that.&lt;/p&gt;
&lt;p&gt;I bought a cutting mat to take photos on, ordered the first batch of stickers, and got the store up and running last night. There are three new designs: Pen Addiction, Mildliner Bouquet, and nAIve plus the aforementioned Pirate Bay ones and a discount pack which gets you everything in the shop plus a bonus Jeff Sinclair sticker.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/all-stickers-discount-pack.jpg&quot; alt=&quot;A selection of stickers on a blue mat, plus some pens, a Lego Police officer and the this is fine dog&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I&#39;m going to see how this goes for the next month of so and if it works out, I&#39;ll start adding new stickers (I already have a shedload of ideas including &lt;a href=&quot;https://social.lol/@robb/115729511833154812&quot;&gt;this one&lt;/a&gt;). I&#39;ve not had a sale yet so either no one wants to spend money this close to Christmas because this is a terrible time to launch a store or the site is broken. We will find out 🤞&lt;/p&gt;
</description>
        <pubDate>Thu, 18 Dec 2025 11:41:04 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/new-stickers-new-store-who-dis/</guid>
      </item>
      <item>
        <title>Fix for Slow Open and Save Dialog on MacOS</title>
        <link>https://rknight.me/blog/fix-for-slow-open-and-save-dialog-macos/</link>
        <description>&lt;p&gt;Since I updated to MacOS Tahoe 26.1 the open/save dialog of Finder became unbearably slow, like five seconds for every navigation step. I found &lt;a href=&quot;https://www.reddit.com/r/MacOS/comments/1op1vn0/slowness_when_opening_finder_windows_from_browsers/&quot;&gt;this thread on Reddit&lt;/a&gt; that suggested turning off iCloud Drive documents and desktop syncing but I&#39;ve never had that turned on. It also suggested turning off iCloud drive all together but I was not about to do that.&lt;/p&gt;
&lt;p&gt;Someone in that thread linked to &lt;a href=&quot;https://www.reddit.com/r/MacOS/comments/1oqb1lf/comment/nocqk2h/&quot;&gt;this solution&lt;/a&gt; which is an easy one: delete the plist file that keeps track of recent folder locations.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I deleted &lt;code&gt;com.apple.appkit.xpc.openAndSavePanelService.plist&lt;/code&gt; and restarted, now the Open/Save panel opens quickly.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;To delete this file navigate to &lt;code&gt;~/Library/Preferences/&lt;/code&gt; in Finder (&lt;kbd&gt;⌘&lt;/kbd&gt; &lt;kbd&gt;⇧&lt;/kbd&gt; + &lt;kbd&gt;G&lt;/kbd&gt; or &lt;code&gt;Go&lt;/code&gt; &amp;gt; &lt;code&gt;Go to Folder&lt;/code&gt;) then delete &lt;code&gt;com.apple.appkit.xpc.openAndSavePanelService.plist&lt;/code&gt;. I didn&#39;t even need to restart like the person on Reddit did and this immediately fixed it.&lt;/p&gt;
&lt;p&gt;Why am I making a blog post with the same information as the Reddit thread? The reasons are twofold:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I&#39;ll probably need to reference this in the future.&lt;/li&gt;
&lt;li&gt;I can&#39;t rely on a random Reddit thread (or two in this case) still existing in a months time, let alone a year or more.&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Wed, 10 Dec 2025 08:59:41 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/fix-for-slow-open-and-save-dialog-macos/</guid>
      </item>
      <item>
        <title>Weeknote #1978</title>
        <link>https://rknight.me/blog/weeknote-1978/</link>
        <description>&lt;p&gt;Things are in motion to get a proper sticker shop online early in the new year - I have a new sticker I&#39;m excited to make plus I&#39;m going to keep stock of some that people always ask for.&lt;/p&gt;
&lt;p&gt;And more sticker news, the St Jude campaign stickers are on their way to everyone &lt;em&gt;not&lt;/em&gt; in the UK. If you&#39;re in the UK, I have them in hand and will get them posted as soon as I can.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://adventofcode.com&quot;&gt;Advent of Code&lt;/a&gt; has nuked the global leaderboard and dropped down the 12 days instead of 24. Maybe I&#39;ll give it a go again next year.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://www.astonmartin.com/en-gb/models/past-models/cygnet-archive&quot;&gt;Aston Martin Cygnet&lt;/a&gt; is adorable and I love it. Also it&#39;s £40k second hand so perhaps not.&lt;/p&gt;
&lt;p&gt;This &lt;a href=&quot;https://alexwlchan.net/2025/social-media-scrapbook/&quot;&gt;internet scrapbook idea&lt;/a&gt; from Alex is great.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://cluesbysam.com/tutorial/&quot;&gt;Clues by Sam&lt;/a&gt; is a new daily game that I enjoyed once but won&#39;t play because I know I&#39;ll stress myself out needing to do it every day.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://chameth.com/making-a-font-of-my-handwriting/&quot;&gt;This post&lt;/a&gt; reminded me I want to make my own handwriting font. I should get on that.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://transitcards.xyz&quot;&gt;Public Transport Card Designs&lt;/a&gt; is exactly what the internet was made for.&lt;/p&gt;
&lt;p&gt;This post about &lt;a href=&quot;https://devonzuegel.com/field-notes-culdesac&quot;&gt;Culdesac&lt;/a&gt;, &amp;quot;Arizona&#39;s car-free neighborhood&amp;quot;, is fascinating - one shop for every 14.5 residents. Don&#39;t miss &lt;a href=&quot;https://culdesac.com/tempe/&quot;&gt;their website&lt;/a&gt; with more photos, floorplans, and info on it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://thewallflowerdigest.co.uk/books/top-ten-tuesday/my-10-favourite-victorian-christmas-cards/&quot;&gt;Victorian Christmas cards&lt;/a&gt; are something else entirely. Tag yourself, I&#39;m mutant parsnip man.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://intertapes.net&quot;&gt;Intertapes&lt;/a&gt; is a collection of found cassettes and their contents. There&#39;s some gorgeous SVGs on the &lt;a href=&quot;https://intertapes.net/formats/&quot;&gt;formats page&lt;/a&gt;. RSS feed please.&lt;/p&gt;
&lt;p&gt;This fork of &lt;a href=&quot;https://streetpass.social&quot;&gt;Streetpass&lt;/a&gt; but &lt;a href=&quot;https://github.com/robalexdev/blog-quest&quot;&gt;for RSS&lt;/a&gt; is handy. Chrome and Firefox only right now.&lt;/p&gt;
</description>
        <pubDate>Mon, 08 Dec 2025 22:12:01 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/weeknote-1978/</guid>
      </item>
      <item>
        <title>Hunting for the Hottest Pink Ink</title>
        <link>https://rknight.me/blog/hunting-for-the-hottest-pink-ink/</link>
        <description>&lt;p&gt;When I was &lt;a href=&quot;https://rknight.me/blog/i-was-a-guest-on-the-pen-addict-689/&quot;&gt;on The Pen Addict&lt;/a&gt; a few weeks ago, I mentioned I was looking for the hottest pink ink the world has to offer to go with my &lt;a href=&quot;https://www.esterbrookpens.com/products/funky-town-estie?variant=47785259434234&quot;&gt;Estie Funky Town&lt;/a&gt;. I got loads of suggestions and I eventually stumbled on an ink that I think is perfect for what I wanted - &lt;a href=&quot;https://www.octopus-office.de/shop/en/creative-inks/fountain-pen-ink-writing-ink/highlighter-neon-inks/7759/highlighter-ink-for-fountain-pens-fluorescent-neon-pink-30-ml?c=4679&quot;&gt;Octopus Fluids Neon Pink&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I ordered a bunch of inks during Black Friday day/week/month and Ben sent me a sample of &lt;a href=&quot;https://mountainofink.com/blog/robert-oster-hot-pink&quot;&gt;Robert Oster Hot Pink&lt;/a&gt;. It wasn&#39;t until after I got all these inks that I &lt;em&gt;then&lt;/em&gt; realised I already owned a very similar ink that was also what I was looking for, &lt;a href=&quot;https://mountainofink.com/blog/diamine-hope-pink&quot;&gt;Diamine Hope Pink&lt;/a&gt;, but I had misremembered and didn&#39;t think it was as bright as it was. Some of these I knew wouldn&#39;t be the winner but I wanted anyway because they&#39;re nice colours - Wearingeul Cheshire Cat for example. Nevertheless, here&#39;s the samples:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/hot-pink-ink-samples.jpg&quot; alt=&quot;A notepad showing nine different ink samples all of various shades of pink and purple. Below is a bright pink fountain pen.&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;There are more than I don&#39;t have from the suggestions including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mountainofink.com/blog/pilot-iroshizuku-tsutsuji&quot;&gt;Pilot Iroshizuku Tsutsuji&lt;/a&gt; which Brad is sending me a sample of&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mountainofink.com/blog/diamine-pink-glitz&quot;&gt;Diamine Pink Glitz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mountainofink.com/blog/lamy-rhodonite&quot;&gt;Lamy Rhodonite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mountainofink.com/blog/sailor-ink-studio-set3&quot;&gt;Sailor Ink Studio 431 and 731&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vanness1938.com/en-gb/products/colorverse-usa-special-series-ink-nevada-fabulous-las-vegas?srsltid=AfmBOortJ1E78ZumSw4kqER06LvjcIs_Z9IrsFER9IYpCtq7LYaETOe1&quot;&gt;Colorverse Las Vegas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are a shedload of lovely pinks and purples here (and in general, &lt;a href=&quot;https://mountainofink.com/blog/pink-ink&quot;&gt;look at this list on Mountain of Ink&lt;/a&gt;) and I can see myself using all of the ones I bought at different times. Although Hope Pink and Neon Pink look similar in the sample, Neon Pink definitely has a slight edge over the Diamine for me but I suspect if they weren&#39;t next to each other I wouldn&#39;t be able to tell the difference.&lt;/p&gt;
</description>
        <pubDate>Thu, 04 Dec 2025 21:09:14 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/hunting-for-the-hottest-pink-ink/</guid>
      </item>
      <item>
        <title>2025 Stickers Redux</title>
        <link>https://rknight.me/blog/2025-stickers-redux/</link>
        <description>&lt;p&gt;Now the dust has settled on the &lt;a href=&quot;https://rknight.me/blog/pirate-bay-training-data-stickers/&quot;&gt;piracy stickers&lt;/a&gt;, I checked how many I had left and it was a few more than I thought so I&#39;m putting them back up for sale until they run out. Here&#39;s what I have available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Four pack of the Don&#39;t Know Don&#39;t Care Don&#39;t @ Me stickers. There&#39;s only two of these available. [sold out]&lt;/li&gt;
&lt;li&gt;Training Data double pack. 2 × Pirate Bay, 2 × Piracy Ad. I have 20 or so packs of these. &lt;a href=&quot;https://buy.stripe.com/14AaEXaf6ezs7Vi86o2kw02&quot;&gt;Buy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Pirate Bay four pack. There&#39;s 10 or so of these available. &lt;a href=&quot;https://buy.stripe.com/5kQeVdcnebng8ZmgCU2kw03&quot;&gt;Buy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I will do another run of the &lt;a href=&quot;https://rknight.me/blog/dont-at-me-stickers/&quot;&gt;Sparkly Websites stickers&lt;/a&gt; very soon — I don&#39;t have any of those left right now. As always, the &lt;a href=&quot;/shop&quot;&gt;shop page&lt;/a&gt; has all the links as well, at least until I decide on a better system for selling stickers.&lt;/p&gt;
</description>
        <pubDate>Tue, 18 Nov 2025 12:25:06 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/2025-stickers-redux/</guid>
      </item>
      <item>
        <title>Weeknote #1975</title>
        <link>https://rknight.me/blog/weeknote-1975/</link>
        <description>&lt;p&gt;I&#39;ve narrowed down the inks I&#39;m going to try for finding my perfect pink ink to a handful. I&#39;m planing on ordered &lt;a href=&quot;https://mountainofink.com/blog/taccia-momo-pink&quot;&gt;Taccia Momo&lt;/a&gt; first because this is the one that&#39;s been recommended to me the most. I also updated my &lt;a href=&quot;http://www.fpc.ink/users/95147&quot;&gt;ink list on FPC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&#39;ve added some more pens to my wanted list including the &lt;a href=&quot;https://www.penaddict.com/blog/2025/3/30/diplomat-viper-fountain-pen-review&quot;&gt;Diplomat Viper&lt;/a&gt;, the &lt;a href=&quot;https://cultpens.com/collections/monteverde-mp1&quot;&gt;Monteverde MP1&lt;/a&gt;, and the new &lt;a href=&quot;https://cultpens.com/products/twsbi-eco-fountain-pen-cosmos-blue-with-onyx&quot;&gt;TWSBI Eco Cosmos Blue with Onyx&lt;/a&gt;. I also found somewhere selling the discontinued Pink Eco at retail price so I might need to buy that first.&lt;/p&gt;
&lt;p&gt;I managed to find the time to go to the &lt;a href=&quot;https://cygnoir.net/analog-tools-meetups&quot;&gt;Analog Tools meetup&lt;/a&gt; where I got to talk to some wonderful people and also &lt;a href=&quot;https://rknight.me/notes/202511151813/&quot;&gt;said something very silly&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&#39;ve backed &lt;a href=&quot;https://www.indiegogo.com/en/projects/bonfire/community&quot;&gt;Bonfire on IndieGoGo&lt;/a&gt; because I&#39;m fascinated by what they&#39;re trying to do.&lt;/p&gt;
&lt;p&gt;Despite not being an iOS developer (nor do I have any intention of becoming one), &lt;a href=&quot;https://twostraws.gumroad.com/l/everything-but-the-code/blackfriday25&quot;&gt;Everything but the Code&lt;/a&gt; is 50% off for Black Friday and aside from some app-specific things, seems like it&#39;ll have a lot of useful stuff in it.&lt;/p&gt;
&lt;h3&gt;Links&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://flareapp.moe&quot;&gt;Flare&lt;/a&gt; is a new unified app for connecting to multiple social networks like Mastodon and Bluesky. I don&#39;t I need this but it&#39;s interesting nonetheless.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://lowtechguys.com/grila/&quot;&gt;Grila&lt;/a&gt; is a keyboard-driven calendar app for MacOS which reminds me a lot of &lt;a href=&quot;https://rknight.me/save/godspeed&quot;&gt;Godspeed&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://bapsi.micro.blog/2025/11/14/taking-stock-of-my-tools.html&quot;&gt;Taking stock of my tools&lt;/a&gt; by Britney Winthrope is a great post with an new (to me) way of categorising tools you use (the CODE framework - Capture, Organize, Distill, Express).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.olleewatch.com&quot;&gt;The Ollee watch&lt;/a&gt; is back in stock but I resisted for the time being.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://publicdomainreview.org/collection/japanese-fireworks-catalogues/&quot;&gt;These Japanese firework illustrations&lt;/a&gt; are gorgeous. This also led to me to find &lt;a href=&quot;https://uk.bookshop.org/p/books/affinities-a-journey-through-images-from-the-public-domain-review-adam-green/6233224?ean=9780500025208&amp;amp;next=t&amp;amp;affiliate=9706&quot;&gt;Affinities&lt;/a&gt; which is a book by The Public Domain Review. Right onto my wishlist that goes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://mutant.tech/demo&quot;&gt;Mutant Standard emoji&lt;/a&gt; is a fun new emoji set.&lt;/p&gt;
</description>
        <pubDate>Mon, 17 Nov 2025 12:35:04 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/weeknote-1975/</guid>
      </item>
      <item>
        <title>Now (November 2025)</title>
        <link>https://rknight.me/blog/now-november-2025/</link>
        <description>&lt;p&gt;I&#39;m hunting for the best pink ink to match with my &lt;a href=&quot;https://www.esterbrookpens.com/products/funky-town-estie&quot;&gt;Funky Town Estie&lt;/a&gt;. As always, &lt;a href=&quot;https://mountainofink.com/blog/pink-ink&quot;&gt;Mountain of Ink&lt;/a&gt; is an incredible resource for such things and there was some good suggestions on &lt;a href=&quot;https://www.relay.fm/penaddict/690&quot;&gt;episode 690 of the Pen Addict&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We&#39;re organising Baby Knight II&#39;s first birthday party because the passage of time comes for us all and she&#39;s nearly a year old somehow which means it&#39;s nearly Christmas. wtf.&lt;/p&gt;
&lt;p&gt;Perpetually thinking about redoing my website, but I want to find the perfect body font before I start.&lt;/p&gt;
&lt;p&gt;I&#39;m trying out &lt;a href=&quot;https://bloomapp.club&quot;&gt;Bloom&lt;/a&gt; as a Finder replacement and I want to find some time to see how &lt;a href=&quot;https://www.affinity.studio&quot;&gt;Affinity&lt;/a&gt; works for vector work now it&#39;s free. Pixelmator is good, but isn&#39;t really built for it.&lt;/p&gt;
&lt;p&gt;We&#39;ve been rewatching a bunch of Marvel movies while we&#39;re a bit short on new shows to watch but we did start &lt;a href=&quot;https://en.wikipedia.org/wiki/Pluribus_(TV_series)&quot;&gt;Pluribus&lt;/a&gt; today.&lt;/p&gt;
&lt;p&gt;Finally, I&#39;m full steam ahead on a new KnightShift project - Project Rumble. No information for you, just the code name.&lt;/p&gt;
</description>
        <pubDate>Sat, 08 Nov 2025 20:53:53 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/now-november-2025/</guid>
      </item>
      <item>
        <title>Weeknote #1973</title>
        <link>https://rknight.me/blog/weeknote-1973/</link>
        <description>&lt;p&gt;It&#39;s been a while since &lt;a href=&quot;https://rknight.me/blog/weeknote-1966/&quot;&gt;my last weeknote&lt;/a&gt; and it&#39;s fine - this is why I&#39;m not committing to doing them weekly.&lt;/p&gt;
&lt;p&gt;We are hurtling towards the end of the year and I realised I haven&#39;t been taking notes for my &lt;a href=&quot;https://rknight.me/blog/tags/yearinreview/&quot;&gt;year in review&lt;/a&gt; post so I&#39;ve hastily thrown some notes together but I&#39;m sure I will miss something important when I eventually write it.&lt;/p&gt;
&lt;p&gt;I don&#39;t have McDonald&#39;s all that often but I tried the garlic &amp;amp; black pepper nuggets last week - they were pretty good. I also had the Sakura Cherry Blossom × Sprite which was delicious.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/mcdonalds-japan-nuggest-sakura-sprite.jpg&quot; alt=&quot;A tray with McDonalds food on it. There is a box with fries on one side and nuggets on the other. Behind that is a clear cup and straw with a pink drink in it.&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;On a note of better food, I&#39;ve been trying to branch out a bit from the ten or so meals we always cook. I&#39;ve been watching a bunch of &lt;a href=&quot;https://www.youtube.com/@SipandFeast&quot;&gt;Sip and Feast&lt;/a&gt; videos and tried out a couple of recipes, the first of which was &lt;a href=&quot;https://www.sipandfeast.com/garlic-butter-chicken-bites/&quot;&gt;this garlic butter chicken&lt;/a&gt;. The videos on Sip and Feast are really good, easy to follow and all the recipes are also on their website which is handy.&lt;/p&gt;
&lt;p&gt;This has led me to assess my saucepans, frying pans, and other kitchen stuff and I am ready to replace everything with stainless steel - most of what we have is fairly cheap and some of it is falling apart. &lt;a href=&quot;https://www.procook.co.uk/&quot;&gt;Pro Cook&lt;/a&gt; is the top candidate right now but I&#39;m going to their shop at some point to have a proper look at it before I buy anything.&lt;/p&gt;
&lt;p&gt;A few interesting videos I watched while on this food kick:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=bkXCrGhWB04&quot;&gt;Is Chipotle a Waste of Money?&lt;/a&gt; - ignore the clickbait title, this is an interesting look at the cost of food when you include the cooking and travel time.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=M2HYL5AHkcs&quot;&gt;The Pantry Staples I SPLURGE on (and the Ones I DON’T)&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=u-_FnU9FaeA&quot;&gt;How to Cook With Stainless Steel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have a big list of EchoFeed features and bugs to deal with that I will get to as soon as I have time so if you&#39;re waiting for a response from me, I apologise.&lt;/p&gt;
&lt;h3&gt;Links&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Les_goddams&quot;&gt;Les goddams&lt;/a&gt; is &amp;quot;an obsolete ethnic slur historically used by the French to refer to the English, based on their frequent profanities&amp;quot;. History is fun.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Multipotentiality&quot;&gt;Multipotentiality&lt;/a&gt; is a new word I learnt. Not sure when I&#39;d ever use it though.&lt;/p&gt;
&lt;p&gt;This collection of &lt;a href=&quot;https://reaganray.com/2020/12/04/hair-band-lettering&quot;&gt;Hair Band letterings and logos&lt;/a&gt; is great.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.visconti.it/en/shop/1-luxury-pens/235-maze-fountain-pen.html&quot;&gt;Visconti Maze fountain pen&lt;/a&gt; is bonkers and I love it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://natterdoodle.com/products/you-cant-make-everybody-happy-youre-not-pizza-sticker&quot;&gt;This pizza sticker is amazing&lt;/a&gt; via &lt;a href=&quot;https://niclake.me&quot;&gt;Nic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Le9v4F7NXEI&quot;&gt;Top 80 Greatest Guitar Intros&lt;/a&gt;. Best or not, this is an impressive show of skill by this guy.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://littlelink.io&quot;&gt;Little Link&lt;/a&gt; is &amp;quot;an open source DIY Linktree alternative&amp;quot;. Handy.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.londoncentric.media/p/terry-ball-the-snail-farmer-his-mafia&quot;&gt;This story about a snail &amp;quot;farmer&amp;quot; is wild&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I don&#39;t know how I&#39;m going resist &lt;a href=&quot;https://rachelkickdesign.com/products/national-forest-font-duo-1&quot;&gt;this font duo&lt;/a&gt;. Just look at it.&lt;/p&gt;
</description>
        <pubDate>Thu, 06 Nov 2025 21:30:26 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/weeknote-1973/</guid>
      </item>
      <item>
        <title>Inktober? Completed It Mate</title>
        <link>https://rknight.me/blog/inktober-completed-it-mate/</link>
        <description>&lt;p&gt;After my adventures with &lt;a href=&quot;https://rknight.me/blog/get-okay/&quot;&gt;getting okay at drawing&lt;/a&gt; I decided to have a go at participating in &lt;a href=&quot;https://inktober.com&quot;&gt;Inktober&lt;/a&gt; - one drawing every day for 31 days based on a prompt, the full list of which you can &lt;a href=&quot;https://inktober.com/rules&quot;&gt;see here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I did the first two prompts (mustache and weave) and then on the third day I stumbled upon a dinosaur character I quite liked, who I have named Jeff. He appeared in the next few drawings so I went back and redid them to feature Jeff. I love Jeff.&lt;/p&gt;
&lt;p&gt;I love all my inky children equally but these are some of my favourites. I find it notable these are all after the halfway point of the month.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/inktober-faves.jpg&quot; alt=&quot;A grid of four sketches. The first is a dinosaur looking in a mirror, the second is a dinosaur using a magnfying glass to look at a firefly, the third is a puzzle with a dinosaur on, and the fourth is an empty room with a dinosaur looking in the window.&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;My John McClane one for &lt;a href=&quot;https://rknight.me/notes/202510150414/&quot;&gt;day 15 &amp;quot;ragged&amp;quot;&lt;/a&gt; got a lot of traction and birthed this glorious &amp;quot;screenshot&amp;quot; from Die Hard:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/die-hard-dino.jpg&quot; alt=&quot;The scene from Die Hard where Bruce Willis is looking out a broken window but it&#39;s a hand-drawn dinosaur instead&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Did I learn anything about myself or drawing or whatever? Yeah I did:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I actually enjoy drawing if I put some effort in&lt;/li&gt;
&lt;li&gt;I need to learn more about perspective&lt;/li&gt;
&lt;li&gt;I prefer Uni Pin over Micron fineliners&lt;/li&gt;
&lt;li&gt;Drawing existing characters is &lt;em&gt;hard&lt;/em&gt;. If anything is even slightly off, it looks weird&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now I&#39;ve finished I feel a bit lost because I have no prompts but I have had an idea I want to try - &lt;a href=&quot;https://en.wikipedia.org/wiki/Lost_Americana&quot;&gt;Lost Americana&lt;/a&gt; has a logo for each track so I think I&#39;m going to try and do the same thing for a different album, probably &lt;a href=&quot;https://en.wikipedia.org/wiki/Meteora_(album)&quot;&gt;Meteora&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This also isn&#39;t the last of Jeff, he&#39;s featured in the November cover page of my journal:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/november-journal-page-with-jeff.jpg&quot; alt=&quot;A dotgrid journal page. The top has tree branchs with pink flowers on it, then it says November in capitals in the middle. Below is a dinosaur in a wooly hat and coat.&quot; /&gt;&lt;/figure&gt;
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot;&gt;&lt;svg class=&quot;octicon octicon-info mr-2&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Update 2025-12-18&lt;/p&gt;&lt;p&gt;You can get the Jeff Sinclair sticker on &lt;a href=&quot;/shop&quot;&gt;my sticker shop&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;And I&#39;m working on a sticker based on the &lt;a href=&quot;https://en.wikipedia.org/wiki/Sinclair_Oil_Corporation&quot;&gt;Sinclair Oil Corporation&lt;/a&gt; logo:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/jeff-sinclair-sticker.png&quot; alt=&quot;A white sticker with a green border. It says Jeff in bold italic letters at the top and has a green dinosaur at the bottom&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;You can see all my &lt;a href=&quot;https://rknight.me/blog/tags/inktober2025/&quot;&gt;inktober entries here&lt;/a&gt;. I guess I&#39;m somewhat of an artist myself now.&lt;/p&gt;
</description>
        <pubDate>Fri, 31 Oct 2025 12:29:32 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/inktober-completed-it-mate/</guid>
      </item>
      <item>
        <title>I Was a Guest on The Pen Addict</title>
        <link>https://rknight.me/blog/i-was-a-guest-on-the-pen-addict-689/</link>
        <description>&lt;p&gt;Myke was off this week so Brad asked me to fill in on &lt;a href=&quot;https://www.relay.fm/penaddict/689&quot;&gt;episode 689&lt;/a&gt; of The Pen Addict.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/handwriting-sample-mgk-miss-sunshine.jpg&quot; alt=&quot;A page in a notebook with handwritten lyrics to MGKs Miss Sunshine song. A pink fountain pen is resting on the page below the writing. There&#39;s a smiley face paper clip on the right.&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;We caught up on what I&#39;ve been up to since &lt;a href=&quot;https://www.relay.fm/penaddict/657&quot;&gt;the last time I was on&lt;/a&gt; in March, how pens led me indirectly into &lt;a href=&quot;https://rknight.me/blog/get-okay/&quot;&gt;drawing for St Jude&lt;/a&gt; and then &lt;a href=&quot;https://rknight.me/blog/tags/inktober2025/&quot;&gt;Inktober&lt;/a&gt;. To wrap up toptober we did our top five stationery items of this year which included a discussion of our handwriting styles.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://relay.fm/penaddict/689&quot;&gt;Listen to The Pen Addict 689: A Platypus Riding A Bicycle&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Since recording I have ordered &lt;a href=&quot;https://mountainofink.com/blog/ink-review-diamine-claret&quot;&gt;Diamine Claret&lt;/a&gt;, Brad is sending me a sample of &lt;a href=&quot;https://mountainofink.com/blog/pilot-iroshizuku-tsutsuji&quot;&gt;Pilot Iroshizuku Tsutsuji&lt;/a&gt; and Ben is sending me a sample of &lt;a href=&quot;https://mountainofink.com/blog/robert-oster-hot-pink&quot;&gt;Robert Oster Hot Pink&lt;/a&gt; to try out in my Funky Town.&lt;/p&gt;
</description>
        <pubDate>Thu, 30 Oct 2025 14:49:48 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/i-was-a-guest-on-the-pen-addict-689/</guid>
      </item>
      <item>
        <title>Pilot Juice Space Smash Set</title>
        <link>https://rknight.me/blog/pilot-juice-space-smash-set/</link>
        <description>&lt;p&gt;I &lt;a href=&quot;https://rknight.me/blog/pilot-juice-planet-labyrinth-set/&quot;&gt;posted in July&lt;/a&gt; about the Pilot Juice Planet Labyrinth set which are neon editions of the juice line. I had mentioned there was a second set called Space Smash and I picked those up this week.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/pilot-juice-space-smash.jpg&quot; alt=&quot;Three pens next to writing samples in yellow, blue, purple. Other samples are orange, pink, and green. The yellow is very hard to read&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;The purple is great, blue is decent, but the yellow is nearly impossible to read - I thought the green was bad but yellow is much worse for readability.&lt;/p&gt;
</description>
        <pubDate>Thu, 30 Oct 2025 12:35:00 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/pilot-juice-space-smash-set/</guid>
      </item>
      <item>
        <title>The Internet Is Cool Actually</title>
        <link>https://rknight.me/blog/the-internet-is-cool-actually/</link>
        <description>&lt;p&gt;On my desk right now I have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A copy of issue one of &lt;a href=&quot;https://goodinternetmagazine.com&quot;&gt;Good Internet magazine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://internetphonebook.net&quot;&gt;The Internet Phonebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The print version of &lt;a href=&quot;https://foofaraw.metalabel.com/foofaraw-s3&quot;&gt;S3 of Foofaraw&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://unchcrosswords.com&quot;&gt;Unch&lt;/a&gt; issue 1, a crossword magazine&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All of these are made by cool people on the internet and I think that&#39;s pretty cool.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/internet-magazines-and-stuff.jpg&quot; alt=&quot;Four magazines on a desk - Good internet, the Internet Phonebook, a book by Foofaraw, and Unch crosswords&quot; /&gt;&lt;/figure&gt;
</description>
        <pubDate>Thu, 23 Oct 2025 12:40:00 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/the-internet-is-cool-actually/</guid>
      </item>
      <item>
        <title>Get Okay</title>
        <link>https://rknight.me/blog/get-okay/</link>
        <description>&lt;p&gt;Of all the things parents can annoy you with the clichés are the worst. &amp;quot;You won&#39;t know until you try&amp;quot;. Okay mum, whatever you say. I think you know where this is going.&lt;/p&gt;
&lt;p&gt;I&#39;ve always thought I wasn&#39;t any good at drawing but what had actually happened is I never tried. Like really, sat down with a pencil and paper and tried to draw something. Maybe with a reference image. It turns out, if you actually try a little bit you might be okay at a thing.&lt;/p&gt;
&lt;p&gt;Near the start of the St Jude campaign I noticed I had some spare stamps so I figured why not use them on something interesting like...do a drawing and I&#39;ll send it to someone. Initially I intended them to be my usual &amp;quot;I haven&#39;t tried that hard&amp;quot; ones but then people actually donated for one and I panicked. &lt;em&gt;I can&#39;t send something crap to someone who has donated, it had to be at least a little bit good&lt;/em&gt;. So I actually sat down and tried. Those came out pretty well so I offered a few more. And some more. By the end of the campaign I had sent out 26 unique animal drawings and one London bus (Hi Joe 👋). Turns out, I was &lt;em&gt;okay&lt;/em&gt; at drawing.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/photo-grid-bg-smaller.jpg&quot; alt=&quot;A grid of drawings of various animals including penguins, slugs, horses with hot dog bodies, and lions.&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;These requests led me to ask some curious questions like do snails have nostrils? Whats the different between a tortoise and a turtle? What the fuck is an opossum? What is an ionic column? If a hotdog horse had a hot dog bun body, would the legs also be made of bun?&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Doing these added somewhere in the region of $1000 to the &lt;a href=&quot;https://rknight.me/blog/st-jude-2025-recap/&quot;&gt;total we raised&lt;/a&gt; this year and has introduced me to a new hobby I&#39;m  enjoying and doesn&#39;t cost lots of money. I&#39;ve been &lt;a href=&quot;https://rknight.me/blog/tags/inktober2025/&quot;&gt;doing Inktober&lt;/a&gt; and plan to continue through the rest of the month. I also seemed to have stumbled upon a character who is yet to be named, but he is a dinosaur with little stubby hands and feet. Here he is on his way to comic con, lil&#39; cutie.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/inktober-2025-12.jpg&quot; alt=&quot;&quot; /&gt;&lt;/figure&gt;
&lt;hr class=&quot;footnotes-sep&quot; /&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Sort of. The latter lives in water. It&#39;s a marsupial, proper weird looking. They are the tallest, thinnest, and most ornate out of all three ancient Greek orders. I decided that yes, it would. &lt;a href=&quot;#fnref1&quot; class=&quot;footnote-backref&quot;&gt;&amp;#10558;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
        <pubDate>Mon, 13 Oct 2025 21:26:12 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/get-okay/</guid>
      </item>
      <item>
        <title>St Jude 2025 Recap</title>
        <link>https://rknight.me/blog/st-jude-2025-recap/</link>
        <description>&lt;p&gt;It&#39;s the 2nd of October, AKA &lt;a href=&quot;https://isitseptember.fyi/&quot;&gt;Bonus September&lt;/a&gt; which means Relay&#39;s St Jude campaign is more-or-less over, having blown past the $700k target. Adam and I fell short of our target but still &lt;a href=&quot;https://tiltify.com/@rknightuk/stjude2025&quot;&gt;raised over $15k&lt;/a&gt;, putting us just shy of $49k raised over the past three years.&lt;/p&gt;
&lt;p&gt;As we tend to do, we added additional stickers during the campaign. Everyone who donated for stickers is getting five stickers instead of the original two which are being ordered and posted very soon.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/st-jude-2025-banner.jpg&quot; alt=&quot;A pink gradient banner showing all five stickers we gave away for St Jude&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;On a whim, I added an incentive to get an animal drawing from me. These turned out to be quite popular so I ended up doing 27 of them in total and the final ones went into the post yesterday. I&#39;ll have a separate post up about that soon but here&#39;s one I did for &lt;a href=&quot;https://akevcalled.quest/&quot;&gt;Kevin&lt;/a&gt;:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/st-jude-drawing-kevin-grub.jpg&quot; alt=&quot;A grub doing a race in a St Jude shirt in front of the Memphis pyramid&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Like I did &lt;a href=&quot;https://rknight.me/blog/st-jude-2024-recap/&quot;&gt;last year&lt;/a&gt;, I bought a roast from &lt;a href=&quot;https://jdburch.com/&quot;&gt;JD&lt;/a&gt; who destroyed my website with his youthful venom:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Alright, Robb, it’s your turn. &lt;a href=&quot;http://rknight.me&quot;&gt;rknight.me&lt;/a&gt;, what a digital masterpiece. I mean, in the same way a Facebook marketplace listing with a few blurry photos is a masterpiece. Your website looks like the cool indie blog your friend built in the mid-2010s… except slower. That 4.56s LCP time means I could’ve walked my pet dinosaur before I saw an image appear. Listen, I’m not a web dev, but good thing you didn’t ask that before telling me to roast your website. I went to the Eleventy leaderboards and man do you have a lot of ⚠️ and 🚫 icons everywhere! Do I understand what most of the abbreviations mean? Heck no, but it’s a good thing Eleventy uses icons. Well, not for you, I suppose…&lt;/p&gt;
&lt;p&gt;Ok, but the typography. It feels like it was chosen by closing your eyes and spinning the Google Fonts wheel. And no capitalization on the proper nouns? Is that what they teach in schools across the pond, right after your multiple math classes? The color scheme is straight out of a disco, which is certainly a vibe.&lt;/p&gt;
&lt;p&gt;Robb, you certainly love your links. Your website is a choose your own adventure book, where every choice leads to another hallway of sub-links, dropdowns, ‘more here’, and ‘check this out’ pages. You can&#39;t just visit &lt;a href=&quot;http://rknight.me&quot;&gt;rknight.me&lt;/a&gt;, you get lost in it, just like in Ikea. At least at Ikea they give you meatballs when you’re trapped, though. Click one link, and you’re suddenly three levels deep in a subsection that exists solely to link to more subsections. It’s the Russian nesting dolls of websites.&lt;/p&gt;
&lt;p&gt;So, yeah, your website is a maze of slow-loading pages and questionable design. But hey, at least it’s memorable! Not because it’s good, but because it’s the only website where I can both roast it and see my name immortalized in /uses. Without that part? Just another personal blog site on the internet.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I donated to have my name, and those of my friends &lt;code&gt;Robbb&lt;/code&gt; and &lt;code&gt;Robbbb&lt;/code&gt;, on &lt;a href=&quot;https://tiltify.com/@penaddict/relay-for-st-jude-2025-fundraiser&quot;&gt;Brad&lt;/a&gt;&#39;s board:&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/st-jude-pen-addict-board.jpg&quot; alt=&quot;A man on stream writing on a white piece of card&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I&#39;m a sucker for incentives so I donated for stickers and a coin holder from &lt;a href=&quot;https://tiltify.com/@mvo/mvo-plays-mass-effect-for-st-jude-2025&quot;&gt;MVO&lt;/a&gt;, a postcard from &lt;a href=&quot;https://tiltify.com/@oliveoctopusink/relay-stjude-2025&quot;&gt;Lisa&lt;/a&gt; which arrived this morning, the Brad pack from &lt;a href=&quot;https://tiltify.com/@myers18purdue/kaleidocraft-x-relay-for-st-jude-2025-fundraiser&quot;&gt;Kaleidocraft&lt;/a&gt;, stickers from &lt;a href=&quot;https://tiltify.com/@stegrainer/ste-for-st-jude&quot;&gt;Ste&lt;/a&gt;, and a pin from &lt;a href=&quot;https://tiltify.com/@thelovelydevelopers/the-lovely-developers-for-st-jude-2025&quot;&gt;the Lovely Devs&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The newly updated &lt;a href=&quot;https://donationdaddy.rknight.me/&quot;&gt;Donation Daddy&lt;/a&gt; site worked perfectly throughout the month and I already have some fun ideas for next year.&lt;/p&gt;
&lt;p&gt;Thank you to everyone who donated or shared the campaign. It makes a difference.&lt;/p&gt;
</description>
        <pubDate>Thu, 02 Oct 2025 13:02:12 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/st-jude-2025-recap/</guid>
      </item>
      <item>
        <title>Weeknote #1966</title>
        <link>https://rknight.me/blog/weeknote-1966/</link>
        <description>&lt;p&gt;We&#39;ve raised over ten thousand dollars for St Jude as of right now, with a couple of weeks left of September to go. You can still get stickers and I&#39;ve been having a lot of fun doing &lt;a href=&quot;https://social.lol/@wade/115170176476685244&quot;&gt;animal&lt;/a&gt; &lt;a href=&quot;https://social.lol/@sleepless/115209151201563607&quot;&gt;drawings&lt;/a&gt; - I will open at least a few more slots before the end of the campaign. You can &lt;a href=&quot;https://stjude.omg.lol&quot;&gt;donate at stjude.omg.lol&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/platypus-st-jude-drawing.jpg&quot; alt=&quot;A drawing of a platypus wearing a tiny fedora and playing a banjo while sitting on a unicycle in the middle of a bustling Tokyo crosswalk at rush hour. Around it are some stickers.&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://ilumkb.com/products/anticater-vk-01-desktop-volume-control-knob?_pos=2&amp;amp;_sid=433abfa84&amp;amp;_ss=r&amp;amp;variant=42040700076114&quot;&gt;This is a lovely knob&lt;/a&gt; and I want one.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.olleewatch.com/&quot;&gt;Ollee Watch&lt;/a&gt; turns your classic Casio watch into a smartwatch. This is fascinating and I could see this being a replacement for my Apple Watch.&lt;/p&gt;
&lt;p&gt;I must have a teeny tiny &lt;a href=&quot;https://petapixel.com/2025/09/09/the-kodak-charmera-is-a-tiny-digital-keychain-camera-sold-in-blind-boxes/&quot;&gt;Kodak Charmera&lt;/a&gt;. Just need to find somewhere to buy one.&lt;/p&gt;
&lt;p&gt;Speaking of weird cameras, Camp Snap have &lt;a href=&quot;https://www.campsnapphoto.com/products/cs-pro-camera&quot;&gt;a new pro version&lt;/a&gt; coming which looks very cool.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.ign.com/articles/life-is-strange-tv-series-announced-by-amazon-with-end-of-the-fing-world-writer-as-showrunner&quot;&gt;Life is Strange is getting a TV adaptation&lt;/a&gt;. I swear to god if Amazon mess this up I&#39;m gunna flip a table.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://nazhamid.com/journal/letter-club/&quot;&gt;Letter Club&lt;/a&gt; is an interesting concept - a newsletter that everyone on the newsletter contributes to.&lt;/p&gt;
&lt;p&gt;While looking for &lt;em&gt;redacted&lt;/em&gt; I came across &lt;a href=&quot;https://www.dimensions.com/element/ditto&quot;&gt;this site that has dimensions&lt;/a&gt; for various things including Pokemon like Ditto as well as how they compare to other objects (or in this case, a Jigglypuff).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/jwilber/roughViz&quot;&gt;roughViz&lt;/a&gt; is a library for creating hand-drawn styled charts in the browser. I reckon I can find a use for this soon.&lt;/p&gt;
&lt;p&gt;This &lt;a href=&quot;https://www.joshwcomeau.com/svg/friendly-introduction-to-svg/&quot;&gt;friendly introduction to SVG&lt;/a&gt; is a masterclass in writing technical posts.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://homebox.software/en/&quot;&gt;HomeBox&lt;/a&gt; is some nice looking home inventory management software. Do I need this? Probably not but nothing says fun like home inventory.&lt;/p&gt;
&lt;p&gt;This isn&#39;t news to anyone even vaguely familiar with map distortions but &lt;a href=&quot;https://english.elpais.com/international/2025-08-20/maps-are-not-innocent-drawings-africa-demands-its-true-size-be-shown.html&quot;&gt;the African Union is pushing&lt;/a&gt; to start using more accurate maps. I&#39;m all for it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/sveltia/sveltia-cms&quot;&gt;sveltia-cms&lt;/a&gt; is a Netlify/Decap CMS successor and has been written from scratch. Need to try this out soon.&lt;/p&gt;
&lt;p&gt;Finally &lt;a href=&quot;https://beige.party/@RickiTarr/115129335224173175&quot;&gt;this toot&lt;/a&gt; is way too real:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We really need to start pushing the truth about AI.&lt;/p&gt;
&lt;p&gt;The easiest job for AI to replace would be Management.&lt;/p&gt;
&lt;p&gt;Uses the most resources, while offering the least amount of actual productivity.&lt;/p&gt;
&lt;p&gt;Reads something by some idiot on the internet, and bases their Management Style around it.&lt;/p&gt;
&lt;p&gt;Makes decisions without context.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Wed, 17 Sep 2025 11:12:14 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/weeknote-1966/</guid>
      </item>
      <item>
        <title>St Jude 2025</title>
        <link>https://rknight.me/blog/st-jude-2025/</link>
        <description>&lt;p&gt;tl;dr: &lt;a href=&quot;https://stjude.omg.lol/&quot;&gt;Donate to our campaign here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For the &lt;a href=&quot;https://rknight.me/blog/st-jude-2023&quot;&gt;third&lt;/a&gt; &lt;a href=&quot;https://rknight.me/blog/st-jude-2024/&quot;&gt;year&lt;/a&gt; me and &lt;a href=&quot;https://neatnik.net&quot;&gt;Adam&lt;/a&gt; are raising money for St Jude as part of &lt;a href=&quot;https://relay.experience.stjude.org/&quot;&gt;Relay&#39;s annual event and podcastathon&lt;/a&gt;. You can read &lt;a href=&quot;https://512pixels.net/2025/08/st-jude-2025/&quot;&gt;Stephen&#39;s post about it here&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/stjude-2025-banner-hidden-stickers.png&quot; alt=&quot;An orange and pink background that says robb × omg.lol for st jude. There are two question marks indicating mystery stickers.&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;This year, we&#39;ve set our goal at $16,850.80 which will put us at $50k lifetime raised. Our previous final totals were $12,590.57 and $20,558.63 so that goal is definitely within reach.&lt;/p&gt;
&lt;p&gt;To help us reach our goal for just $20 you can donate, help kids with cancer, and we&#39;ll send you a pair of exclusive Ruminate and omg.lol stickers which will be revealed at $1500 and $3000 raised.&lt;/p&gt;
&lt;p&gt;You can also show your support by using the St Jude theme on your &lt;a href=&quot;https://omg.lol&quot;&gt;omg.lol profile&lt;/a&gt; and keep an eye on &lt;a href=&quot;https://bids.lol&quot;&gt;bids.lol&lt;/a&gt; for some lifetime addresses and other goodies.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://donationdaddy.rknight.me&quot;&gt;Donation Daddy&lt;/a&gt; website has been completely rewritten:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Uses the proper Tiltify APIs instead of the internal ones&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://coinme.dad&quot;&gt;Coin Me, Daddy&lt;/a&gt; was updated to work with the single coin and the host coin set&lt;/li&gt;
&lt;li&gt;Added a &lt;a href=&quot;https://donationdaddy.rknight.me/leaderboard&quot;&gt;leaderboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hat is the new &lt;a href=&quot;https://backpackhelp.rknight.me&quot;&gt;backpack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Going over 100% of a goal no longer messes up the rounded edge of the progress bar&lt;/li&gt;
&lt;li&gt;&lt;s&gt;Donation Treats is gone for now until I can work out a nice way of fetching them with the new API&lt;/s&gt; &lt;a href=&quot;https://donationtreats.rknight.me&quot;&gt;Donation Treats&lt;/a&gt; is back, I worked it out 🎉&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://septembed.rknight.me&quot;&gt;Septembed&lt;/a&gt; endpoints have been updated but existing installs will still work&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&#39;m sure we&#39;ll have some other things going on as well which I&#39;ll be sure to post about.&lt;/p&gt;
&lt;p&gt;Donate at &lt;a href=&quot;https://stjude.omg.lol&quot;&gt;stjude.omg.lol&lt;/a&gt;, for the kids.&lt;/p&gt;
</description>
        <pubDate>Wed, 27 Aug 2025 15:04:41 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/st-jude-2025/</guid>
      </item>
      <item>
        <title>Weeknote #1963</title>
        <link>https://rknight.me/blog/weeknote-1963/</link>
        <description>&lt;p&gt;It&#39;s &lt;a href=&quot;https://isitseptember.fyi/&quot;&gt;nearly effectively September&lt;/a&gt;, everything is ready and standing by for the start of Relay&#39;s annual podcastathon and fundraising event. We have some excellent stickers this year.&lt;/p&gt;
&lt;p&gt;I&#39;m not one for music videos unless it&#39;s OK Go but Apple Music on my TV kept showing me a preview of the video for &lt;a href=&quot;https://www.youtube.com/watch?v=m4DVbm9zeR0&quot;&gt;Cliche by mgk&lt;/a&gt; so I gave it a watch. Not only is the song a banger, the video is just so good. I can&#39;t pinpoint what it is but I love it. mgk seems like a complete ding dong of a person but he is stupidly talented.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=tLpQ5bcxouw&quot;&gt;Throwing a tire in a sand dune&lt;/a&gt; is lovely.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://onemillionscreenshots.com/?q=rknight.me&quot;&gt;One Million Screenshots&lt;/a&gt; is a lot of screenshots of websites and my site is there so that&#39;s fun.&lt;/p&gt;
&lt;p&gt;This video, &lt;a href=&quot;https://www.youtube.com/watch?v=gScghz6pQjM&quot;&gt;&lt;em&gt;how to document your life with your camera&lt;/em&gt;&lt;/a&gt; (via &lt;a href=&quot;https://www.maaikebrinkhof.nl/author/maaikebrinkhof/&quot;&gt;Maaike&lt;/a&gt;) is making me want to do more photography. Do I have the time for a new hobby? Do I bollocks but that&#39;s never stopped me before. Time to charge the DSLR.&lt;/p&gt;
&lt;p&gt;It&#39;s great to have &lt;a href=&quot;https://ericmigi.com/blog/pebble-time-2-design-reveal&quot;&gt;Pebble back&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://starlite.rodeo/@ana/115028829824314403&quot;&gt;This toot&lt;/a&gt; is 👌&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;asbestos is the future, asbestos is a modern material of science. if you aren&#39;t using asbestos in everything you are going to be left behind&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://niclake.me&quot;&gt;Nic&lt;/a&gt; pointed me towards the &lt;a href=&quot;https://shop.thesavannahbananas.com&quot;&gt;Savannah Bananas&lt;/a&gt; which led me to &lt;a href=&quot;https://shop.thesavannahbananas.com/products/party-animals-5950-alternate-hat-pink?variant=44364844892398&quot;&gt;this Party Animals hat&lt;/a&gt; which I want, but don&#39;t want to double the price once you add shipping in.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://slime-city.bandcamp.com/album/national-record-of-achievement&quot;&gt;This album cover&lt;/a&gt; is the most British thing ever and &lt;a href=&quot;https://slimecitymusic.bigcartel.com&quot;&gt;I want it&lt;/a&gt;. (via &lt;a href=&quot;https://bendaubney.com&quot;&gt;Ben&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Brian Butterfield was on 8 out of 10 Cats and someone &lt;a href=&quot;https://www.youtube.com/watch?v=4elRs_UQpV4&quot;&gt;put all his parts up on YouTube&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Reason #123 to get a 3D printer: these &lt;a href=&quot;https://makerworld.com/en/models/1730094-zelda-treasure-chest-modular-key-hanger#profileId-1837578&quot;&gt;Legend of Zelda key hangers&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Tue, 26 Aug 2025 12:44:12 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/weeknote-1963/</guid>
      </item>
      <item>
        <title>Camp Snap Impressions</title>
        <link>https://rknight.me/blog/camp-snap-impressions/</link>
        <description>&lt;p&gt;Firstly, there were &lt;a href=&quot;https://rknight.me/notes/202508101036/&quot;&gt;no cursed photos on it&lt;/a&gt;. So that&#39;s good.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/camp-snap-baby-knight.jpg&quot; alt=&quot;A child with blonde hair taking a photo with a pink camera&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I&#39;ve been wanting to get a &lt;a href=&quot;https://www.campsnapphoto.com&quot;&gt;Camp Snap camera&lt;/a&gt; for a while but they&#39;re kind of pricey for what they are so I&#39;d been holding off. Then I happened upon a listing on Vinted for one for £10 which is &lt;em&gt;much&lt;/em&gt; cheaper than the £40-50 they usually go for even second hand &lt;em&gt;and&lt;/em&gt; it was the pink one.&lt;/p&gt;
&lt;p&gt;Camp Snap is a no-screen digital camera design to &amp;quot;keep you in the moment&amp;quot; or something equally wishy-washy. I wanted it because it looked fun and it&#39;s perfect for the kids to use. I&#39;m not sure how much of a beating this thing can take but there&#39;s not a lot of moving parts to it so it&#39;ll probably be fine.&lt;/p&gt;
&lt;p&gt;Despite thinking the premise is a bit wishy-washy, I actually &lt;em&gt;did&lt;/em&gt; enjoy the fact that I wasn&#39;t checking every photo to make sure it was perfect or that afterwards I couldn&#39;t just go in and choose a new frame from the live photo. Live photos are great and I wouldn&#39;t do without them but it definitely makes having a spontaneous photo a little bit less spontaneous. &amp;quot;In the moment&amp;quot; you might say. Fuck, they got me.&lt;/p&gt;
&lt;p&gt;You can install custom filters either from &lt;a href=&quot;https://www.campsnapphoto.com/pages/v103b&quot;&gt;Camp Snap directly&lt;/a&gt;, or by making your own with their &lt;a href=&quot;https://filters.campsnapphoto.com&quot;&gt;custom filter maker&lt;/a&gt;. I tried out a couple and I really like their vintage one. There&#39;s also a selection of filters available on &lt;a href=&quot;https://campersnapper.com/filters&quot;&gt;Camper Snapper&lt;/a&gt; and &lt;a href=&quot;https://www.campshades.com&quot;&gt;Camp Shades&lt;/a&gt; which I&#39;ve downloaded to try out in the future.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/camp-snap-picnic.jpg&quot; alt=&quot;A field with tree and a family playing&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Depending on what model you have depends on how you install the filters - I luckily ended up with 103B, a more recent one but to find out the model everywhere on their site says &amp;quot;check the box&amp;quot; but I didn&#39;t have the box so how the hell does one work out which model they have? It&#39;s in the photo metadata. Why they don&#39;t mention this anywhere is beyond me.&lt;/p&gt;
&lt;p&gt;Because of the bargain price I got mine for, I&#39;m loathed to spend the same amount again on their &lt;a href=&quot;https://www.campsnapphoto.com/collections/accessories/products/dual-function-camera-wrist-strap-usb-c-data-cable&quot;&gt;wrist strap/USB C cable&lt;/a&gt; but that is a very cool product. If somewhere in the UK is selling those, I might grab one.&lt;/p&gt;
&lt;p&gt;I also came across &lt;a href=&quot;https://snpsht.com/products/snpsht-screenless-digital-camera-black&quot;&gt;SNPSHT&lt;/a&gt; which appears to be basically the same product.&lt;/p&gt;
&lt;p&gt;Anyway, I like this camera. I&#39;d forgotten how much fun it is to just &lt;em&gt;take some photos&lt;/em&gt; I&#39;ll be trying out some more of the filters soon.&lt;/p&gt;
</description>
        <pubDate>Tue, 12 Aug 2025 13:11:44 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/camp-snap-impressions/</guid>
      </item>
      <item>
        <title>Pirate Bay Training Data Stickers</title>
        <link>https://rknight.me/blog/pirate-bay-training-data-stickers/</link>
        <description>&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot;&gt;&lt;svg class=&quot;octicon octicon-info mr-2&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Update 2025-08-11&lt;/p&gt;&lt;p&gt;A Piracy is a Crime sticker is gunna be included as a bonus thanks to &lt;a href=&quot;https://localghost.dev&quot;&gt;Sophie&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/shop/training-data-promo-2.jpg&quot; alt=&quot;The Pirate Bay logo but it says Training Data and a You Wouldn&#39;t Download a Training Data sticker in a rectangle&quot; /&gt;&lt;/figure&gt;
&lt;hr /&gt;
&lt;p&gt;I went on a bit of a &lt;a href=&quot;https://social.lol/@robb/114993136245775769&quot;&gt;shitposting session&lt;/a&gt; on Friday and the end result is I now have new stickers for sale which &lt;a href=&quot;https://rknight.me/shop/training-data&quot;&gt;you can buy here&lt;/a&gt;. It&#39;s a pack of two for $10 that I will send out in the next couple of weeks.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/shop/training-data-promo.jpg&quot; alt=&quot;The Pirate Bay logo but it says Training Data&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;The sales have been even better than &lt;a href=&quot;https://rknight.me/blog/stickers-maths-and-postage/&quot;&gt;the Don&#39;t @ Me&lt;/a&gt; ones in a much shorter space of time so much so that I&#39;m buying printable labels for addresses — no way am I writing these ones out by hand.&lt;/p&gt;
&lt;p&gt;The font I used is &lt;a href=&quot;https://www.dafont.com/iglesia.font&quot;&gt;Iglesia&lt;/a&gt; and a modified version of the Pirate Bay logo. &lt;a href=&quot;https://433.world/@Yuvalne/115003829011037257&quot;&gt;Talya&lt;/a&gt; made it into stickers for Signal which you can &lt;a href=&quot;https://signal.art/addstickers/#pack_id=db07f2a17706fe5f434699ffad969345&amp;amp;pack_key=2e475ffbbf2d58f5a767cf3bd00fb183b806f52d87944e8da6b736a08030684b&quot;&gt;install here&lt;/a&gt; and send to your friends, enemies, or journalists included in your group chats.&lt;/p&gt;
&lt;p&gt;These will be up for sale until the end of the week (Sunday 17th) then I&#39;ll start the totally-not-arduous process of packing and sending them out.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://rknight.me/shop/training-data&quot;&gt;Buy Training Data stickers&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Mon, 11 Aug 2025 07:49:45 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/pirate-bay-training-data-stickers/</guid>
      </item>
      <item>
        <title>Weeknote #1961</title>
        <link>https://rknight.me/blog/weeknote-1961/</link>
        <description>&lt;p&gt;We had to return &lt;a href=&quot;https://rknight.me/blog/weeknote-1956/&quot;&gt;the Kodak C300R&lt;/a&gt; because it kept overheating and not printing. We replaced it with the P300R which is what we were originally going to buy anyway.&lt;/p&gt;
&lt;p&gt;I bought a &lt;a href=&quot;https://nahvalur.com/collections/nahvalur-original-plus&quot;&gt;Nahvalur Original Plus&lt;/a&gt; but sadly had to return it because it had a faulty nib and/or feed. I was going to get a replacement but I&#39;m putting the money towards a &lt;a href=&quot;https://www.instagram.com/reel/DM3LVv4xIoc/&quot;&gt;Esterbrook Funky Town&lt;/a&gt; instead.&lt;/p&gt;
&lt;p&gt;One of the notes in my ideas list reads &amp;quot;&lt;em&gt;Apple Music presence on Discord?&lt;/em&gt;&amp;quot; and I can tick that off now because someone else did it. &lt;a href=&quot;https://github.com/ungive/discord-music-presence&quot;&gt;Music Presence&lt;/a&gt; works with Apple Music, Spotify, Doppler, and loads of other music services and it works on MacOS and Windows&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Speaking of music, Jimmy Fallon and Lin-Manuel Miranda did a &lt;a href=&quot;https://www.youtube.com/watch?v=rm11xB9aH8E&quot;&gt;Hamilton medley with classroom instruments&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Continuing on music, there are a shitload of new albums out this week: &lt;a href=&quot;https://musicthread.app/link/30zqvrNcHfFwZmuEMX8Lk9Pd0ca&quot;&gt;Good Charlotte&lt;/a&gt;, &lt;a href=&quot;https://musicthread.app/link/30zuVd67R21g0o6XMiruYm37CuB&quot;&gt;Attack Attack!&lt;/a&gt;, &lt;a href=&quot;https://musicthread.app/link/30zzhz7NDix6bzGmcvWWmoLYiIG&quot;&gt;Babymetal&lt;/a&gt;, &lt;a href=&quot;https://www.halestormrocks.com&quot;&gt;Halestorm&lt;/a&gt;, and &lt;a href=&quot;https://store.machinegunkelly.com&quot;&gt;mgk&lt;/a&gt;. Babymetal&#39;s is particularly good.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/aaaaalexis/obsidian-baseline&quot;&gt;Baseline&lt;/a&gt;, a new Obsidian theme, is really nice.&lt;/p&gt;
&lt;p&gt;This &amp;quot;design exploration&amp;quot; called &lt;a href=&quot;https://owickstrom.github.io/the-monospace-web/&quot;&gt;the monospace web&lt;/a&gt; is bloody lovely as is this &amp;quot;typographic experiment&amp;quot; called &lt;a href=&quot;https://ronikaufman.github.io/flexflex/&quot;&gt;flexflex&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Finally, after going on a bit of tear yesterday on the &#39;don, I have &lt;a href=&quot;https://rknight.me/shop/training-data&quot;&gt;new stickers for sale&lt;/a&gt;. I&#39;ll put up a proper post next week.&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot; /&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Don&#39;t worry Linux users, as soon as you have drivers to make audio work, I&#39;m sure they&#39;ll update it &lt;a href=&quot;#fnref1&quot; class=&quot;footnote-backref&quot;&gt;&amp;#10558;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
        <pubDate>Sat, 09 Aug 2025 14:21:15 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/weeknote-1961/</guid>
      </item>
      <item>
        <title>Perplexity Doesn’t Give a Shit About Consent</title>
        <link>https://rknight.me/blog/perplexity-doesnt-give-a-shit-about-consent/</link>
        <description>&lt;p&gt;I linked to &lt;a href=&quot;https://blog.cloudflare.com/perplexity-is-using-stealth-undeclared-crawlers-to-evade-website-no-crawl-directives/&quot;&gt;this post from CloudFlare&lt;/a&gt; yesterday where they showed, based on the data they have, that Perplexity is using all sorts of shitty tactics to get around robots.txt&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt; and other blocks based on user agent.&lt;/p&gt;
&lt;p&gt;Perplexity then put up &lt;a href=&quot;https://www.perplexity.ai/hub/blog/agents-or-bots-making-sense-of-ai-on-the-open-web&quot;&gt;their own blog post&lt;/a&gt; where they used the best part of 1000 words to explain they either don&#39;t understand consent, or don&#39;t care.&lt;/p&gt;
&lt;p&gt;I was going to quote various parts of the article explain why that part is bullshit but it&#39;s not worth the time. At the core of this issue is consent. Even if you agree that AI agents shouldn&#39;t be treated like other AI crawlers or if you think Perplexity is awesome, it&#39;s my website and I get to decide who accesses it. &lt;em&gt;Consent&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;This &lt;a href=&quot;https://news.ycombinator.com/item?id=44793045&quot;&gt;Hacker News commenter&lt;/a&gt; shares a lot of the same views as me on the matter:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I don&#39;t want my content to be accessible to you through Perplexity.&lt;/p&gt;
&lt;p&gt;I want my work to be freely available to any person who wants it. Feel free to transform my material as you see fit. Hell, do it with LLMs! I don&#39;t care.&lt;/p&gt;
&lt;p&gt;The LLM isn&#39;t the problem, it&#39;s what companies like Perplexity are doing with the LLM. Do &lt;em&gt;not&lt;/em&gt; create commercial products that regurgitate my work as if it was your own. It&#39;s &lt;em&gt;de facto&lt;/em&gt; theft, if not &lt;em&gt;de jure&lt;/em&gt; theft.&lt;/p&gt;
&lt;p&gt;Knowing that it is not &lt;em&gt;de jure&lt;/em&gt; theft, and so I have no legal recourse, I will continue to tune my servers to block and/or deceive Perplexity and similar tools.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://rknight.me/blog/perplexity-ai-is-lying-about-its-user-agent/&quot;&gt;Once&lt;/a&gt; &lt;a href=&quot;https://rknight.me/blog/perplexity-ai-robotstxt-and-other-questions/&quot;&gt;again&lt;/a&gt;, fuck Perplexity.&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot; /&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Yes I know it&#39;s just a request and not a law, stfu no one cares &lt;a href=&quot;#fnref1&quot; class=&quot;footnote-backref&quot;&gt;&amp;#10558;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
        <pubDate>Wed, 06 Aug 2025 08:22:54 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/perplexity-doesnt-give-a-shit-about-consent/</guid>
      </item>
      <item>
        <title>Pepsi Max Pencil Case</title>
        <link>https://rknight.me/blog/pepsi-max-pencil-case/</link>
        <description>&lt;p&gt;When I was at school there was no pencil case cooler than one that looked like a can of Pepsi, &lt;a href=&quot;https://www.reddit.com/r/nostalgia/comments/wdfrih/drinks_can_pencil_cases/&quot;&gt;Lucozade&lt;/a&gt;, or Coca Cola. At the time, I had a Pepsi Max one for a while but I had forgotten all about it until last week when I happened upon someone selling one on Vinted so of course I immediately bought it.&lt;/p&gt;
&lt;p&gt;It arrived yesterday and it&#39;s as glorious as I remember.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/pepsi-max-pencil-case.jpg&quot; alt=&quot;A black Pepsi Max pencil case in front of a keyboard on a desk&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;Also, I made this based off another version of the logo for no reason other than it slaps&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/robb-pepsi-max.jpg&quot; alt=&quot;Pepsi Max logo but it says Robb Knight&quot; /&gt;&lt;/figure&gt;
&lt;hr class=&quot;footnotes-sep&quot; /&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;So does Pepsi Max, the superior cola. &lt;a href=&quot;#fnref1&quot; class=&quot;footnote-backref&quot;&gt;&amp;#10558;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
        <pubDate>Thu, 31 Jul 2025 13:05:03 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/pepsi-max-pencil-case/</guid>
      </item>
      <item>
        <title>Weeknote #1959</title>
        <link>https://rknight.me/blog/weeknote-1959/</link>
        <description>&lt;p&gt;I&#39;m at the end of my first journal and starting a new one on Friday. I&#39;ve learnt some lessons about what does and doesn&#39;t work for me, spent some time setting up some collections for ideas to keep track of those and of course I &lt;a href=&quot;https://rknight.me/notes/202507292100/&quot;&gt;setup the mildliner sample pages again&lt;/a&gt;. I&#39;m also excited to use my yellow EF TWSBI Eco which doesn&#39;t write nicely in my current journal.&lt;/p&gt;
&lt;p&gt;I picked up a slide for Baby Knight which just &lt;em&gt;barely&lt;/em&gt; fit in my car and made the drive back pretty precarious but she bloody loves it so it&#39;s all worth it.&lt;/p&gt;
&lt;p&gt;I had a lot of fun with &lt;a href=&quot;https://rknight.me/blog/knightprints-first-run/&quot;&gt;KnightPrint&lt;/a&gt;. I think I&#39;ll turn it on for a bit longer tomorrow.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://ruminatepodcast.com&quot;&gt;Ruminate&lt;/a&gt; sticker for St Jude fundraising this year is designed and ready to go. I started with one idea, scrapped that, and a new one came together really quickly. Stayed tuned for updates very soon&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;Testing is continuing on EchoFeed rules and profiles. I want to make sure I get this right so it&#39;s taking longer than I originally hoped.&lt;/p&gt;
&lt;p&gt;I entered the &lt;a href=&quot;https://usetrmnl.com/blog/hackathon-book-readers&quot;&gt;TRMNL hackathon&lt;/a&gt; with a fun movie-adjacent plugin. Winners will be announced Friday and I&#39;ll put a post up about it after that.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://lettervoxd.com/&quot;&gt;Lettervoxed&lt;/a&gt; &amp;quot;&lt;em&gt;is a tool that extracts esoteric words from about 25,000 movies from the past century&lt;/em&gt;&amp;quot; and feels like something I wish I&#39;d thought of. Incredible work that led me to remembering this classic line from &lt;a href=&quot;https://lettervoxd.com/movie.html?imdb_id=tt0284837&quot;&gt;Ali G Indahouse (2002)&lt;/a&gt;, one of only three movies in the corpus to use the word &amp;quot;knobbing&amp;quot;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We is knobbing two birds with one connie.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&#39;ve been enjoying &lt;a href=&quot;https://rknight.me/blog/unorganised-thoughts-about-tony-hawks-pro-skater-3-4/&quot;&gt;the new Tony Hawk&lt;/a&gt; and I happened upon this community list of &lt;a href=&quot;https://github.com/DCxDemo/ThpsFonts&quot;&gt;all the different fonts&lt;/a&gt; used in the games.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://melkat.dev/melanie/blue-rose&quot;&gt;Mel built and released&lt;/a&gt; an 11ty starter kit specifically for photos, very cool.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.rssrssrssrss.com&quot;&gt;rssrssrss&lt;/a&gt; can combine multiple RSS feeds into one.&lt;/p&gt;
&lt;p&gt;This &lt;a href=&quot;https://www.youtube.com/watch?v=QNH7USgcxZY&quot;&gt;Steve Caballero house tour&lt;/a&gt; is wonderful (via &lt;a href=&quot;https://simplebits.com&quot;&gt;Dan&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Pocket has been saved and is now &lt;a href=&quot;https://savewithfolio.com&quot;&gt;Folio&lt;/a&gt;. &lt;a href=&quot;https://www.macstories.net/reviews/folio-a-promising-read-later-app-with-a-strong-foundation/&quot;&gt;John has the details on MacStories&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Want to render every road in a city? &lt;a href=&quot;https://anvaka.github.io/city-roads/&quot;&gt;Of course you do&lt;/a&gt;. You can customise the colours and export as a PNG or SVG too.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://vert.sh&quot;&gt;Vert&lt;/a&gt; is a local file conversation webapp that supports a boatload of formats.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pointerpointer.com&quot;&gt;Pointer Pointer&lt;/a&gt; is very silly and I love it.&lt;/p&gt;
&lt;p&gt;You owe it to yourself to watch this video of &lt;a href=&quot;https://www.youtube.com/watch?v=gZrv81wY8HQ&quot;&gt;Vienetta being made&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://davidcs.net/how-i-use-my-bullet-journal/&quot;&gt;David came to the same conclusion&lt;/a&gt; as &lt;a href=&quot;https://rknight.me/blog/five-months-of-journalling/&quot;&gt;I did&lt;/a&gt; about BuJo:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I just want a nice way to stay organized, not a cult!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://weeknotes.elver.me/weeknotes-213/&quot;&gt;Jordan Elver came to the same conclusion as I did about Blackpool&lt;/a&gt; and I didn&#39;t even get to see a big Tesco.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you have nothing good to say don’t say anything at all, however, highlights were the very fancy car park in the centre, and the massive Tesco Extra - really, it has to be seen to be believed.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Finally, no notes on &lt;a href=&quot;https://crispsandwi.ch/@sarahdal/114932545231536842&quot;&gt;this local Facebook group post&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[local area] is a community, not a cuntmunity&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr class=&quot;footnotes-sep&quot; /&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;It&#39;s &lt;a href=&quot;https://isitseptember.fyi&quot;&gt;almost nearly September&lt;/a&gt; &lt;a href=&quot;#fnref1&quot; class=&quot;footnote-backref&quot;&gt;&amp;#10558;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
        <pubDate>Wed, 30 Jul 2025 12:07:25 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/weeknote-1959/</guid>
      </item>
      <item>
        <title>Unorganised Thoughts about Tony Hawk&#39;s Pro Skater 3 + 4</title>
        <link>https://rknight.me/blog/unorganised-thoughts-about-tony-hawks-pro-skater-3-4/</link>
        <description>&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/thps-34-skater-airport.jpg&quot; alt=&quot;A skateboarder grinding a rail in an airport. In the background are five surfboards that spell Aloha&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I&#39;ve played a good ten or so hours with the new Tony Hawk game and it does more or less what was promised, and what I expected. The game plays just like the 1+2 remaster, no surprises there.&lt;/p&gt;
&lt;p&gt;Bam is back 🥳.&lt;/p&gt;
&lt;p&gt;I&#39;m surprised how little of the original soundtrack made it to this version but the most of the new tracks are very good. I made a &lt;a href=&quot;https://music.apple.com/gb/playlist/tony-hawk-pro-skater-3-4-remaster/pl.u-WR7GIdBJpqv&quot;&gt;playlist on Apple Music&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There&#39;s some Back to the Future themed boards and clothing to unlock so of course I need them all. I have the board, wheels, and the life preserver so far.&lt;/p&gt;
&lt;p&gt;Carnival isn&#39;t there at all in THPS4. It&#39;s not my favourite level by any stretch but it was a solid one and it&#39;s exclusion is noticeable. I don&#39;t care about Chicago being missing though, that was always a bad level.&lt;/p&gt;
&lt;p&gt;There&#39;s a cash nugget on a flying remote control plane in Suburbia and it shows a complete lack of understanding of the series. There&#39;s no line to skate to get this; it feels totally out of place.&lt;/p&gt;
&lt;p&gt;The skitching tutorial is &lt;em&gt;wild&lt;/em&gt; — revert off a skitch? Chaos.&lt;/p&gt;
&lt;p&gt;I have 20 years of muscle memory in these games so it&#39;s hard to judge the new levels but I&#39;ll give it a go:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Movie studio: I think there might be some good lines here but they weren&#39;t immediately obvious. It&#39;s &lt;em&gt;fine&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Water Park: This one is great. At first glance it looks chaotic but actually there are some solid skating lines here.&lt;/li&gt;
&lt;li&gt;Pinball machine: It&#39;s fun but it&#39;s a bit too chaotic for my liking.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The biggest change is the lack of the THPS4 career mode and if I&#39;m honest I don&#39;t really miss it. THPS4 was &lt;em&gt;crazy difficult&lt;/em&gt; and filled with crap goals. I&#39;d still prefer a full remake if only to experience it at higher quality but I don&#39;t care all that much.&lt;/p&gt;
&lt;p&gt;I haven&#39;t completed the pro goals yet but it seems like you can&#39;t do the goals once for each skater but I didn&#39;t look that hard.&lt;/p&gt;
&lt;p&gt;I also got this hilarious bug in the LA earthquake cut scene where the car was missing.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/thps-34-la-cut-scene-bug.jpg&quot; alt=&quot;A brige that is breaking in an earthquake and a woman driving a car but the car isn&#39;t there, she&#39;s holding an invisible steering wheel.&quot; /&gt;&lt;/figure&gt;
</description>
        <pubDate>Tue, 29 Jul 2025 13:12:07 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/unorganised-thoughts-about-tony-hawks-pro-skater-3-4/</guid>
      </item>
      <item>
        <title>Nuby RapidCool Formula Maker</title>
        <link>https://rknight.me/blog/nuby-rapidcool-formula-maker/</link>
        <description>&lt;p&gt;When you have a kid you&#39;re bombarded with suggestions for products that will solve some problem you have, usually related to keeping said child fed and watered and from my experience most of these are bollocks. Maybe they&#39;re slightly better than the alternative way but never enough to justify the cost&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;My wife had mentioned the &lt;a href=&quot;https://uk.nuby.com/products/rapidcool-portable-baby-bottle-maker&quot;&gt;Nuby RapidCool&lt;/a&gt; a few times and I was dubious: they claim to make formula the correct temperature, from boiling water, in under two minutes. We went ahead and ordered them anyway despite my doubts and to my surprise they actually do what they say. Chuck the formula and water in, shake it up, wait until it lights up green and you&#39;re done.&lt;/p&gt;
&lt;p&gt;It&#39;s been really handy to be able to have formula ready that quickly. Previously we&#39;d be in the 10 minute range to have something ready, now it&#39;s under three minutes. The lid, which is the bit with the thermometer in it, doesn&#39;t have a user-replaceable battery so it either runs on magic, or it&#39;s gunna die at some point. That&#39;s the only thing that bothers me about it but by that point hopefully we won&#39;t need it any more.&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot; /&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;All kids stuff is stupidly expensive &lt;a href=&quot;#fnref1&quot; class=&quot;footnote-backref&quot;&gt;&amp;#10558;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
        <pubDate>Mon, 28 Jul 2025 11:18:08 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/nuby-rapidcool-formula-maker/</guid>
      </item>
      <item>
        <title>KnightPrint&#39;s First Run</title>
        <link>https://rknight.me/blog/knightprints-first-run/</link>
        <description>&lt;p&gt;Last week my wife and I bought what is commonly known as a Cat Printer: it&#39;s a very cheap (&amp;lt; £10) thermal printer that has a cat face on it. The official way of using it is with one of many terrible apps - each company who sells these tweaks the models a bit and has their own app but I was interested to see that some folks have reversed engineered the printers to print from various places including my favourite, the web. And I knew exactly what I wanted to do with it: let people toot me and it get printed.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/knightprint-ui-demo.jpg&quot; alt=&quot;The UI of KnightPrint showing buttons and a toot on the left, and a logging panel showing info about the printer on the right&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I have what I think is a newer model, an MXW01. This meant that it wouldn&#39;t work with a majority of the libraries as they all support the same set of models. I thought I was out of luck until I punched in the model number into GitHub search and found &lt;a href=&quot;https://catprinter.vercel.app&quot;&gt;this project&lt;/a&gt;. This person not only worked out the Bluetooth protocol for the model, but setup an image and receipt printer web page. This is what I based the KnightPrint code on.&lt;/p&gt;
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot;&gt;&lt;svg class=&quot;octicon octicon-info mr-2&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Note&lt;/p&gt;&lt;p&gt;The code for this isn&#39;t on GitHub right now. It has API keys and all sorts in it. As soon as I&#39;ve cleaned it up, I&#39;ll link it here. If you&#39;re reading this note, it&#39;s still not available.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;I hacked away at the cat printer code until I had it rendering abritrary text and an image, and making a request to an endpoint on an interval.&lt;/p&gt;
&lt;p&gt;Once I had that working I setup an account, &lt;a href=&quot;https://hub.7622.me/@knightprint&quot;&gt;@knightprint@hub.7622.me&lt;/a&gt;, on my GoToSocial instance, grabbed the API key, and setup this very quick endpoint to fetch new mentions, download the images to a tmp directory, and also have a way to save the IDs of toots I&#39;ve already printed.&lt;/p&gt;
&lt;pre class=&quot;language-php&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token php language-php&quot;&gt;&lt;span class=&quot;token delimiter important&quot;&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;token variable&quot;&gt;$method&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;type&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;??&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;mentions&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;token variable&quot;&gt;$curl&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;curl_init&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;token function&quot;&gt;header&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Content-Type: application/json&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$method&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;mentions&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token function&quot;&gt;curl_setopt_array&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$curl&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token constant&quot;&gt;CURLOPT_URL&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;https://hub.7622.me/api/v1/notifications?types[]=mention&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token constant&quot;&gt;CURLOPT_RETURNTRANSFER&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token constant boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token constant&quot;&gt;CURLOPT_ENCODING&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token constant&quot;&gt;CURLOPT_MAXREDIRS&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token constant&quot;&gt;CURLOPT_TIMEOUT&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token constant&quot;&gt;CURLOPT_FOLLOWLOCATION&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token constant boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token constant&quot;&gt;CURLOPT_HTTP_VERSION&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CURL_HTTP_VERSION_1_1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token constant&quot;&gt;CURLOPT_CUSTOMREQUEST&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;GET&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token constant&quot;&gt;CURLOPT_HTTPHEADER&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;array&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;Authorization: Bearer lolnope&#39;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token constant&quot;&gt;CURLOPT_USERAGENT&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span class=&quot;token variable&quot;&gt;$response&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;curl_exec&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$curl&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span class=&quot;token function&quot;&gt;curl_close&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$curl&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span class=&quot;token variable&quot;&gt;$data&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;json_decode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$response&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span class=&quot;token variable&quot;&gt;$ids&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;json_decode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;file_get_contents&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;ids.json&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span class=&quot;token variable&quot;&gt;$data&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;array_filter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;array_map&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$mention&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$ids&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token variable&quot;&gt;$printed&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;in_array&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$mention&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$ids&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$printed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;          &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Skip already printed mentions&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;      &lt;span class=&quot;token variable&quot;&gt;$attachment&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$mention&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;status&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;media_attachments&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;??&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token variable&quot;&gt;$attachmentPath&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$attachment&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$attachment&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;image&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;          &lt;span class=&quot;token variable&quot;&gt;$url&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$attachment&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;preview_url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;          &lt;span class=&quot;token variable&quot;&gt;$attachmentPath&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;./tmp/&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;basename&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;          &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;file_exists&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$attachmentPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span class=&quot;token function&quot;&gt;ini_set&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;user_agent&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;KnightPrint&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span class=&quot;token function&quot;&gt;file_put_contents&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$attachmentPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;file_get_contents&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;          &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;br /&gt;          &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;id&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$mention&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;          &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;name&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$mention&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;display_name&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;??&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$mention&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;username&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;          &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;account&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$mention&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;acct&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;          &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;content&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;strip_tags&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;str_replace&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;&amp;lt;/p&gt;&amp;lt;p&gt;&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;&#92;n&#92;n&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$mention&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;status&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;          &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;image&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$attachmentPath&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;br /&gt;            &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;url&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$attachmentPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;            &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;width&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$attachment&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;meta&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;small&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;width&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;??&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;            &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;height&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$attachment&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;meta&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;small&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;-&gt;&lt;/span&gt;&lt;span class=&quot;token property&quot;&gt;height&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;??&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;          &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span class=&quot;token keyword&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;json_encode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$method&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;===&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;printed&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token variable&quot;&gt;$ids&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;json_decode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;file_get_contents&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;ids.json&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token variable&quot;&gt;$newIds&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;explode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;,&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;ids&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span class=&quot;token variable&quot;&gt;$ids&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;array_merge&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$ids&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$newIds&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span class=&quot;token function&quot;&gt;file_put_contents&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;ids.json&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;json_encode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$ids&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;span class=&quot;token keyword&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;json_encode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;status&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;success&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;message&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;ID added successfully&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;token string single-quoted-string&quot;&gt;&#39;ids&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$ids&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The front end then hits this endpoint, checks for new toots, renders them to a canvas, and prints them. Once they&#39;re printed, it sends the IDs to the API endpoint which then saves them to a JSON file so I don&#39;t print the same ones twice.&lt;/p&gt;
&lt;p&gt;Then I &lt;a href=&quot;https://social.lol/@robb/114915356355934723&quot;&gt;set it loose&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Let&#39;s try this. In theory, anything you send to @knightprint for the next 20 minutes (or until I turn it off), will just print out on my lil thermal printer.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The first handful came it and it all worked perfectly but I noticed that I hadn&#39;t put the person&#39;s username on the printout so I edited the endpoint while it was listening for new toots:&lt;/p&gt;
&lt;pre class=&quot;language-diff&quot;&gt;&lt;code class=&quot;language-diff&quot;&gt;&lt;span class=&quot;token deleted-sign deleted&quot;&gt;&lt;span class=&quot;token prefix deleted&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token line&quot;&gt; &#39;content&#39; =&gt; strip_tags(str_replace(&#39;&amp;lt;/p&gt;&amp;lt;p&gt;&#39;, &quot;&#92;n&#92;n&quot;, $mention-&gt;status-&gt;content)),&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token inserted-sign inserted&quot;&gt;&lt;span class=&quot;token prefix inserted&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token line&quot;&gt; &#39;content&#39; =&gt; strip_tags(str_replace(&#39;&amp;lt;/p&gt;&amp;lt;p&gt;&#39;, &quot;&#92;n&#92;n&quot;, $mention-&gt;status-&gt;content)) . &quot;&#92;n&#92;n - @&quot; . $mention-&gt;account-&gt;acct,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I turned it off after about 20 minutes to see what had been printed and was presented with, for the first time in my life, a list &lt;em&gt;literally&lt;/em&gt;  longer than my arm. Then I turned it on again because it&#39;s fun.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/knightprint-first-runs.jpg&quot; alt=&quot;Two photos of a thermal printer being held up to a wall with a lot of toots printed out&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I&#39;ll turn it on again at random and I have some other ideas I could pull off with this as well.&lt;/p&gt;
</description>
        <pubDate>Fri, 25 Jul 2025 20:28:40 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/knightprints-first-run/</guid>
      </item>
      <item>
        <title>Weeknote #1956</title>
        <link>https://rknight.me/blog/weeknote-1956/</link>
        <description>&lt;p&gt;Hot innit. Too fucking hot.&lt;/p&gt;
&lt;p&gt;Wednesday night we went up &lt;a href=&quot;https://en.wikipedia.org/wiki/Portsdown_Hill&quot;&gt;Portsdown Hill&lt;/a&gt; with the kids for dinner because we couldn&#39;t be bothered to cook so we got burgers from &lt;a href=&quot;https://www.facebook.com/p/Micks-Monster-Burgers-100057133133661/?locale=en_GB&quot;&gt;Mick&#39;s&lt;/a&gt;. It also gave Baby Knight the First somewhere to run around like a lunatic to burn off some energy. It didn&#39;t work but she did have fun.&lt;/p&gt;
&lt;p&gt;My wife wanted an instant printer to print some photos of the kids for her journal and it was Prime Day so we had a look around. I&#39;d decided, as CTO of our house, that the &lt;a href=&quot;https://kodakphotoprinter.com/products/best-photo-printer-kodak-mini-3-retro&quot;&gt;Kodak P300R&lt;/a&gt; was perfect for what we wanted but then I noticed for an entire one pound extra, we could have the &lt;a href=&quot;https://www.kodak.com/en/consumer/product/cameras/instant-print/mini-shot-3-square-retro/&quot;&gt;C300R&lt;/a&gt; which is the same thing, but with a camera built-in as well. It&#39;s a fun item and it&#39;ll make a nice friend for our &lt;a href=&quot;https://instax.co.uk/cameras/&quot;&gt;Instax Mini&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/kodak-c300r.jpg&quot; alt=&quot;A Kodak camera that is yellow and black, below it are some photos that have been printed with it showing some children&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;I&#39;m not a designer so I&#39;m not getting frothy knickers to give my hot takes on Liquid Glass, with the exception of &lt;a href=&quot;https://social.lol/@robb/114658653379041130&quot;&gt;this toot&lt;/a&gt;, but this &lt;a href=&quot;https://glass3d.dev&quot;&gt;Glass3D CSS generator&lt;/a&gt; is pretty natty. I used something similar with an initial version of &lt;a href=&quot;https://portkom.rknight.me&quot;&gt;Portal Kombat&lt;/a&gt; and looks good when used correctly.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://deathgenerator.com/#gallery&quot;&gt;The Death Generator&lt;/a&gt; is a collection of game screens with dialog or text that you can edit to make your own. The &lt;a href=&quot;https://deathgenerator.com/#pokemon&quot;&gt;Pokémon one&lt;/a&gt; would have saved me so much time when I did &lt;a href=&quot;https://rknight.me/blog/trying-raycast-part-one/&quot;&gt;these&lt;/a&gt; &lt;a href=&quot;https://rknight.me/blog/trying-raycast-part-two/&quot;&gt;posts&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/bill-and-ted-death-generator-alt.png&quot; alt=&quot;A screnshot showing Ted from Bill and Ted. A speech bubble says &amp;quot;What a most excellent blog post, Robb! Party on!&amp;quot;&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://pudding.cool/2025/07/kids-books/&quot;&gt;Bears will be Boys&lt;/a&gt; looks at how animals are gendered in books as well as by people in general.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://lucas.love/projects/macrowave&quot;&gt;Macrowave&lt;/a&gt; is a fascinating project. &amp;quot;&lt;em&gt;...a native macOS and iOS app that makes it easy to share system audio with friends to listen to music together&lt;/em&gt;&amp;quot;. And it looks incredible as well.&lt;/p&gt;
&lt;p&gt;I&#39;ve been playing around with using the 8BitDo Micro controller as an automation tool, like &lt;a href=&quot;https://www.macstories.net/stories/my-latest-mac-automation-tool-is-a-tiny-game-controller/&quot;&gt;John talked about here&lt;/a&gt; on MacStories. I won&#39;t go into it too much, I&#39;m saving that for &lt;a href=&quot;https://ruminatepodcast.com&quot;&gt;Ruminate&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Fri, 11 Jul 2025 12:01:36 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/weeknote-1956/</guid>
      </item>
      <item>
        <title>Pilot Juice Planet Labyrinth Set</title>
        <link>https://rknight.me/blog/pilot-juice-planet-labyrinth-set/</link>
        <description>&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/pilot-juice-labyrinth-sample.jpg&quot; alt=&quot;A blank notepad with samples of three neon pens which are on the left hand page&quot; /&gt;&lt;/figure&gt;
&lt;p&gt;This is a set of 0.5mm Pilot Juice pens in neon pink, green, and orange. &amp;quot;Planet Labyrinth&amp;quot; is the set name - theres also a set available called &amp;quot;&lt;a href=&quot;https://stationerypal.com/products/pilot-juice-space-smash-limited-edition-gel-pen-neon-color-set-of-3&quot;&gt;Space Smash&lt;/a&gt;&amp;quot;. The pink is &lt;em&gt;gorgeous&lt;/em&gt; and the orange is wonderfully vibrant. The green is pretty disappointing though and hard to see at some angles (like my photo above). Here&#39;s a close up so you can see what it does look like. I think a 0.7mm tip might have been better for the green.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://cdn.rknight.me/site/2025/pilot-juice-labyrinth-sample-close-up.jpg&quot; alt=&quot;A blank notebook showing the writing samples close up&quot; /&gt;&lt;/figure&gt;
</description>
        <pubDate>Tue, 08 Jul 2025 14:02:53 +0000</pubDate>
        <dc:creator>Robb Knight</dc:creator>
        <guid>https://rknight.me/blog/pilot-juice-planet-labyrinth-set/</guid>
      </item></channel>
</rss>
