<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Today I Learned</title>
  <id>https://go.waylonwalker.com/til/atom.xml</id>
  <updated>2026-07-10T14:26:00Z</updated>
  <subtitle>Short TIL posts</subtitle>
  <link href="https://go.waylonwalker.com/til/" rel="alternate" type="text/html"></link>
  <link href="https://go.waylonwalker.com/til/atom.xml" rel="self" type="application/atom+xml"></link>
  <author>
    <name>Waylon Walker</name>
  </author>
  <generator uri="https://github.com/WaylonWalker/markata-go">markata-go</generator>
  <entry>
    <title>unlock a locked gpg key</title>
    <id>https://go.waylonwalker.com/unlock-a-locked-gpg-key/</id>
    <updated>2026-07-10T14:26:00Z</updated>
    <published>2026-07-10T14:26:00Z</published>
    <link href="https://go.waylonwalker.com/unlock-a-locked-gpg-key/" rel="alternate" type="text/html"></link>
    <summary type="text">I ran into an issue where my was unable to connect, blocking me from doing commits. You can use this to continue signing commits.</summary>
    <content type="html">&lt;p&gt;I ran into an issue where my &lt;code&gt;pinentry&lt;/code&gt; was unable to connect, blocking me from&#xA;doing commits.  You can use this to continue signing commits.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;GPG_TTY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;tty&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg-connect-agent updatestartuptty /bye&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;printf&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;test&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; gpg &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --local-user 9A47900E81415D65C32C630066E2BF2B4190EFE4 &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --pinentry-mode loopback &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --sign &amp;gt;/dev/nul&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>rpm ostree status</title>
    <id>https://go.waylonwalker.com/rpm-ostree-status/</id>
    <updated>2026-07-05T17:16:21Z</updated>
    <published>2026-07-05T17:16:21Z</published>
    <link href="https://go.waylonwalker.com/rpm-ostree-status/" rel="alternate" type="text/html"></link>
    <summary type="text">I&#39;ve been running fedora coreos on my home servers for awhile. I really liked the stability I got from bazzite, and have since enjoyed the stability of...</summary>
    <content type="html">&lt;p&gt;I’ve been running fedora coreos on my home servers for awhile.  I really liked&#xA;the stability I got from bazzite, and have since enjoyed the stability of&#xA;fedora coreos.  Since it’s an immutable system I’ve never quite known if I need&#xA;to reboot or not, and was unsure how to check for updates. Today I learned you&#xA;can use &lt;code&gt;rpm-ostree status&lt;/code&gt; to see if your&#xA;fedora coreos system is up to date.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rpm-ostree status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For me it listed security advisories with a count of each severity unknown, low, moderate, and important.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>fixing a corrupt zshrc</title>
    <id>https://go.waylonwalker.com/fixing-a-corrupt-zsh_history/</id>
    <updated>2026-06-29T08:39:59Z</updated>
    <published>2026-06-29T08:39:59Z</published>
    <link href="https://go.waylonwalker.com/fixing-a-corrupt-zsh_history/" rel="alternate" type="text/html"></link>
    <summary type="text">This morning I had a machine crash on me and came back to an error.</summary>
    <content type="html">&lt;p&gt;This morning I had a machine crash on me and came back to an error.&lt;/p&gt;&#xA;&lt;div class=&#34;admonition warning&#34;&gt;&#xA;&lt;p class=&#34;admonition-title&#34;&gt;Error&lt;/p&gt;&#xA;&lt;p&gt;zsh: corrupt history file /home/u_walkews/.zsh_history&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Dammit I don’t want to redo my shell history, I checked with a clanker and they&#xA;came up with this solution using &lt;code&gt;strings&lt;/code&gt; that only prints printable&#xA;characters.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp ~/.zsh_history ~/.zsh_history.bak&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mv ~/.zsh_history ~/.zsh_history.corrupt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;touch ~/.zsh_history&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod &lt;span class=&#34;m&#34;&gt;600&lt;/span&gt; ~/.zsh_history&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;strings ~/.zsh_history.corrupt &amp;gt; ~/.zsh_history&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod &lt;span class=&#34;m&#34;&gt;600&lt;/span&gt; ~/.zsh_history&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>one eyed fighting kirby</title>
    <id>https://go.waylonwalker.com/one-eyed-fighting-kirby/</id>
    <updated>2026-06-11T11:49:41Z</updated>
    <published>2026-06-11T11:49:41Z</published>
    <link href="https://go.waylonwalker.com/one-eyed-fighting-kirby/" rel="alternate" type="text/html"></link>
    <summary type="text">Just give em the ol one eyed fighting Kirby</summary>
    <content type="html">&lt;blockquote&gt;&#xA;&lt;p&gt;Just give em the ol one eyed fighting Kirby&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This is a vim substitution technique to capture the rest of the line as a&#xA;capture group.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;,&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;sr&#34;&gt;/longhorn\(.*\)/&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;longhorn&lt;/span&gt;\&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;rwx&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This one captures pesky optional &lt;code&gt;&amp;#34;&lt;/code&gt; and places it back at the end if it found&#xA;one.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;,&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;sr&#34;&gt;/longhorn\(&amp;#34;\?\)\(.*\)/&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;longhorn&lt;/span&gt;\&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;rwx&lt;/span&gt;\&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;!!! see-also&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;a href=&amp;#34;/thought-200/&amp;#34; class=&amp;#34;wikilink&amp;#34; data-title=&amp;#34;The One Eyed Fighting Kirby&amp;#34; data-description=&amp;#34;!https://www.youtube.com/watch?v=9_Ekt1PZBzQ&amp;amp;amp;t=351s&amp;#34; data-date=&amp;#34;2024-01-26&amp;#34;&amp;gt;The One Eyed Fighting Kirby&amp;lt;/a&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>rsync delays</title>
    <id>https://go.waylonwalker.com/rsync-delays/</id>
    <updated>2026-06-04T17:31:53Z</updated>
    <published>2026-06-04T17:31:53Z</published>
    <link href="https://go.waylonwalker.com/rsync-delays/" rel="alternate" type="text/html"></link>
    <summary type="text">I&#39;ve been deploying my site old school for most of this year, rsync to a volume mounted to nginx. I ran into an issue today where I updated my site and all...</summary>
    <content type="html">&lt;p&gt;I’ve been deploying my site old school for most of this year, rsync to a volume&#xA;mounted to nginx.  I ran into an issue today where I updated my site and all of&#xA;the pages updated first, followed by upload.  The issue this created was that&#xA;the new cache busted css files were not up yet and the site had no styles for a&#xA;brief period during upload.&lt;/p&gt;&#xA;&lt;p&gt;I found that delaying updates and delaying deletes until the new content exists&#xA;first solves this problem pretty well.  Theres still possiblility of jank while&#xA;uploading to a live directory and not doing some sort of hot swap, but I’m good&#xA;with this low budget option for now.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sync:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#x9;rsync -rlt --delete --omit-dir-times &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#x9;--info&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;progress2 &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#x9;--delay-updates &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#x9;--delete-delay &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#x9;./output/ &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#x9;server:/mnt/mysite&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>zsh source .env</title>
    <id>https://go.waylonwalker.com/zsh-source-env/</id>
    <updated>2026-05-29T08:19:41Z</updated>
    <published>2026-05-29T08:19:41Z</published>
    <link href="https://go.waylonwalker.com/zsh-source-env/" rel="alternate" type="text/html"></link>
    <content type="text">&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>setopt HIST_IGNORE_SPACE</title>
    <id>https://go.waylonwalker.com/setopt-hist_ignore_space/</id>
    <updated>2026-05-24T20:15:37Z</updated>
    <published>2026-05-24T20:15:37Z</published>
    <link href="https://go.waylonwalker.com/setopt-hist_ignore_space/" rel="alternate" type="text/html"></link>
    <summary type="text">To ignore commands that start with a space character, use the option in bash or zsh.</summary>
    <content type="html">&lt;p&gt;To ignore commands that start with a space character, use the&#xA;&lt;code&gt;HIST_IGNORE_SPACE&lt;/code&gt; option in bash or zsh.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;setopt HIST_IGNORE_SPACE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>forgejo push to create</title>
    <id>https://go.waylonwalker.com/forgejo-push-to-create/</id>
    <updated>2026-05-06T21:58:55Z</updated>
    <published>2026-05-06T21:58:55Z</published>
    <link href="https://go.waylonwalker.com/forgejo-push-to-create/" rel="alternate" type="text/html"></link>
    <summary type="text">I just learned that forgejo has a push to create repo feature and it is a gamechanger. Upon first try it didn&#39;t work, with just a couple of environment...</summary>
    <content type="html">&lt;p&gt;I just learned that forgejo has a push to create repo feature and it is a&#xA;gamechanger.  Upon first try it didn’t work, with just a couple of environment&#xA;variables I was up and running with push to create.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;notify.wayl.one on  main is 📦 v0.1.62  v3.14.4  NO PYTHON VENV SET  USING SYSTEM NVIM&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;❯ git remote add origin https://git.waylonwalker.com/waylon/notify.wayl.one&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;notify.wayl.one on  main is 📦 v0.1.62  v3.14.4  NO PYTHON VENV SET  USING SYSTEM NVIM&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;❯ git push&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;remote: Push to create is not enabled &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; users.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fatal: unable to access &lt;span class=&#34;s1&#34;&gt;&amp;#39;https://git.waylonwalker.com/waylon/notify.wayl.one/&amp;#39;&lt;/span&gt;: The requested URL returned error: &lt;span class=&#34;m&#34;&gt;403&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;So I added the following environment variables.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Author: Waylon S. Walker &amp;lt;waylon@waylonwalker.com&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Date:   Wed May 6 21:56:53 2026 -0500&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    enable push to create&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gh&#34;&gt;diff --git a/k8s/forgejo/deployment.yaml b/k8s/forgejo/deployment.yaml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gh&#34;&gt;index d77daab..9346763 100644&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gd&#34;&gt;--- a/k8s/forgejo/deployment.yaml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gi&#34;&gt;+++ b/k8s/forgejo/deployment.yaml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gu&#34;&gt;@@ -91,6 +91,10 @@ spec:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;               value: &amp;#34;0.0.0.0&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;             - name: FORGEJO__server__HTTP_PORT&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;               value: &amp;#34;3000&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gi&#34;&gt;+            - name: FORGEJO__repository__ENABLE_PUSH_CREATE_USER&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gi&#34;&gt;+              value: &amp;#34;true&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gi&#34;&gt;+            - name: FORGEJO__repository__ENABLE_PUSH_CREATE_ORG&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gi&#34;&gt;+              value: &amp;#34;true&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;             - name: FORGEJO__database__DB_TYPE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;               value: postgres&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;             - name: FORGEJO__database__HOST&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/WaylonWalker/homelab-argo/commit/b2e953bc12&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;https://github.com/WaylonWalker/homelab-argo/commit/b2e953bc12&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Tried again, and it just worked!&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;notify.wayl.one on  main is 📦 v0.1.62  v3.14.4  NO PYTHON VENV SET  USING SYSTEM NVIM&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;❯ git push&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Enumerating objects: 171, &lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Counting objects: 100% &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;171/171&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Delta compression using up to &lt;span class=&#34;m&#34;&gt;12&lt;/span&gt; threads&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Compressing objects: 100% &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;169/169&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Writing objects: 100% &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;171/171&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, 176.22 KiB &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 16.02 MiB/s, &lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Total &lt;span class=&#34;m&#34;&gt;171&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;delta 99&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, reused &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;delta 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, pack-reused &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;from 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;remote: Resolving deltas: 100% &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;99/99&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;To https://git.waylonwalker.com/waylon/notify.wayl.one&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; * &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;new branch&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;      main -&amp;gt; main&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>nless</title>
    <id>https://go.waylonwalker.com/nless/</id>
    <updated>2026-05-06T20:45:01Z</updated>
    <published>2026-05-06T20:45:01Z</published>
    <link href="https://go.waylonwalker.com/nless/" rel="alternate" type="text/html"></link>
    <summary type="text">nless is a seriously sick tui for exploring streaming data. It makes it seriously simple to pivot (U), drill in (Enter), sort (s). It leave breadcrumbs as...</summary>
    <content type="html">&lt;p&gt;nless is a seriously sick tui for exploring streaming data.  It makes it&#xA;seriously simple to pivot (U), drill in (Enter), sort (s).  It leave&#xA;breadcrumbs as you go and you can press q to back out.&lt;/p&gt;&#xA;&lt;p&gt;Play with your kubernetes events.  Ya, my &lt;a href=&#34;/homelab/&#34; class=&#34;glossary-term&#34; title=&#34;A place to self host applications. For me this is primarily self built web applications, and applications for sharing files with my family. Techno Tim has a...&#34;&gt;homelab&lt;/a&gt; is far from perfect, dont judge.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl get events -A -w &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; uvx --from nothing-less nless&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;figure&gt;&#xA;&lt;a href=&#34;http://dropper.wayl.one/file/ceda8873-cb08-4436-a3ac-b5bf4a0b2379.mp4&#34; class=&#34;glightbox-link&#34; aria-label=&#34;ceda8873-cb08-4436-a3ac-b5bf4a0b2379.mp4&#34;&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34; poster=&#34;https://dropper.wayl.one/file/ceda8873-cb08-4436-a3ac-b5bf4a0b2379.webp?h=675&amp;w=1200&#34;&gt;&lt;source src=&#34;http://dropper.wayl.one/file/ceda8873-cb08-4436-a3ac-b5bf4a0b2379.mp4&#34; type=&#34;video/mp4&#34;&gt;ceda8873-cb08-4436-a3ac-b5bf4a0b2379.mp4&lt;/video&gt;&lt;/a&gt;&#xA;&lt;/figure&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>image compare in markata go</title>
    <id>https://go.waylonwalker.com/image-compare-in-markata-go/</id>
    <updated>2026-05-01T07:40:44Z</updated>
    <published>2026-05-01T07:40:44Z</published>
    <link href="https://go.waylonwalker.com/image-compare-in-markata-go/" rel="alternate" type="text/html"></link>
    <summary type="text">now has web awesome integration for image compare. It renders a nice web component with a slider to compare two images.</summary>
    <content type="html">&lt;p&gt;&lt;code&gt;markata-go&lt;/code&gt; now has web awesome integration for image compare.  It renders a&#xA;nice web component with a slider to compare two images.&lt;/p&gt;&#xA;&lt;wa-comparison class=&#34;markata-webawesome-comparison&#34;&gt;&lt;img slot=&#34;after&#34; src=&#34;https://dropper.wayl.one/file/d628ffba-de18-4fff-91a8-700f037df119.webp&#34; alt=&#34;d628ffba-de18-4fff-91a8-700f037df119.webp&#34; loading=&#34;lazy&#34;&gt;&lt;img slot=&#34;before&#34; src=&#34;https://dropper.waylonwalker.com/file/ca30665f-1a15-453e-aab8-221901c7df99.webp&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&lt;/wa-comparison&gt;&#xA;&lt;p&gt;It’s done with a class wrapper around the image components.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;::: wa-comparison&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;![&lt;span class=&#34;nt&#34;&gt;d628ffba-de18-4fff-91a8-700f037df119.webp&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;https://dropper.wayl.one/file/d628ffba-de18-4fff-91a8-700f037df119.webp&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;![](https://dropper.waylonwalker.com/file/ca30665f-1a15-453e-aab8-221901c7df99.webp)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Without &lt;code&gt;markata-go&lt;/code&gt;’s web awesome integration, the above would look like:&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;module&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;https://ka-f.webawesome.com/webawesome@3.6.0/components/comparison/comparison.js&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;wa-comparison&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;img&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;na&#34;&gt;slot&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;before&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;na&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://dropper.wayl.one/file/d628ffba-de18-4fff-91a8-700f037df119.webp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;na&#34;&gt;alt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Grayscale version of kittens in a basket looking around.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;img&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;na&#34;&gt;slot&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;after&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;na&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://dropper.waylonwalker.com/file/ca30665f-1a15-453e-aab8-221901c7df99.webp&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;na&#34;&gt;alt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Color version of kittens in a basket looking around.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;wa-comparison&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>testing copilot model flag</title>
    <id>https://go.waylonwalker.com/testing-copilot-model-flag/</id>
    <updated>2026-04-29T11:05:39Z</updated>
    <published>2026-04-29T11:05:39Z</published>
    <link href="https://go.waylonwalker.com/testing-copilot-model-flag/" rel="alternate" type="text/html"></link>
    <summary type="text">Today I found a way to test model syntax, cause the clankers always get the exact model name that copilot wants wrong.</summary>
    <content type="html">&lt;p&gt;Today I found a way to test model syntax, cause the clankers always get the&#xA;exact model name that copilot wants wrong.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;copilot --model claude-sonnet-4.5 -p &lt;span class=&#34;s2&#34;&gt;&amp;#34;Reply with OK&amp;#34;&lt;/span&gt; --allow-all --no-ask-user -s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;copilot --model gpt-5.4 -p &lt;span class=&#34;s2&#34;&gt;&amp;#34;Reply with OK&amp;#34;&lt;/span&gt; --allow-all --no-ask-user -s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>move zmk keyboard to new bluetooth adapter</title>
    <id>https://go.waylonwalker.com/move-zmk-keyboard-to-new-bluetooth-adapter/</id>
    <updated>2026-03-23T17:59:59Z</updated>
    <published>2026-03-23T17:59:59Z</published>
    <link href="https://go.waylonwalker.com/move-zmk-keyboard-to-new-bluetooth-adapter/" rel="alternate" type="text/html"></link>
    <summary type="text">I&#39;ve been having issue with my keyboard disconnecting to my main desktop for awhile. Today I got a cheap bluetooh dongle in and am giving it a run this week...</summary>
    <content type="html">&lt;p&gt;I’ve been having issue with my keyboard disconnecting to my main desktop for&#xA;awhile.  Today I got a cheap bluetooh dongle in and am giving it a run this&#xA;week to see how things go.  The first step was to move it to the new adapter.&#xA;I’ve never had multiple adapters installed so this was a new to me process.&lt;/p&gt;&#xA;&lt;p&gt;I was able to do it all with the same keyboard, It did require some juggling&#xA;between usb and bluetooth modes pluging and unplugging, two keyboards would be&#xA;simpler to reason about.&lt;/p&gt;&#xA;&lt;p&gt;I can’t be bothered to change my brain to think about this machine on a&#xA;different zmk profile it is of absolute importance for it to remain on the same&#xA;profile, otherwise this would be a simple bind to another empty profile.&lt;/p&gt;&#xA;&lt;div class=&#34;admonition note&#34;&gt;&#xA;&lt;p class=&#34;admonition-title&#34;&gt;Why not use a cable on desktop?&lt;/p&gt;&#xA;&lt;p&gt;I dont mind cable, and have used one on this setup for years, but I have&#xA;actually been picking up and moving this keyboard and using it with&#xA;different devices.&lt;/p&gt;&#xA;&lt;p&gt;I’ve got a big battery and performace cranked up, unless my machine is&#xA;under load I do not notice any key lag.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;I did it with bluetoothctl, I’m sure it could have been done with a gui like&#xA;&lt;code&gt;blueberry&lt;/code&gt; or &lt;code&gt;blueman&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bluetoothctl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# list adapters&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;select&lt;/span&gt; &amp;lt;old-adapter&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;devices&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# fin the MAC address of the device 42BLOCK&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;remove &amp;lt;42BLOCK_MAC&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now I plugged into usb. And &lt;strong&gt;importantly&lt;/strong&gt; cleared out the zmk profile.  If&#xA;you do not clear the profile your board does not go into pairing mode.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bluetoothctl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# switch adapters&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;select&lt;/span&gt; &amp;lt;new-adapter&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;power on&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;agent on&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;default-agent&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;scan on&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Put 42Block in pairing mode, &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pair &amp;lt;42BLOCK_MAC&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;trust &amp;lt;42BLOCK_MAC&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;At this pint I saw this show up in the logs, I think there was some masking&#xA;issues or something in zmk, output kept going out usb no matter what so I&#xA;disconnected the keyboard and typed the passkey in, and it worked.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;agent&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; Passkey: &lt;span class=&#34;m&#34;&gt;540044&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Boom, it just started working right away.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bluetoothctl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;connect &amp;lt;42BLOCK_MAC&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;info &amp;lt;42BLOCK_MAC&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;scan off&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;exit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>dot dockerenv</title>
    <id>https://go.waylonwalker.com/dot-dockerenv/</id>
    <updated>2026-03-18T10:07:16Z</updated>
    <published>2026-03-18T10:07:16Z</published>
    <link href="https://go.waylonwalker.com/dot-dockerenv/" rel="alternate" type="text/html"></link>
    <summary type="text">Today I learned that docker creates an empty file to indicate that you are running in a docker container. Other runtimes like podman commonly use ....</summary>
    <content type="html">&lt;p&gt;Today I learned that docker creates an empty &lt;code&gt;/.dockerenv&lt;/code&gt; file to indicate that&#xA;you are running in a docker container.  Other runtimes like podman commonly use&#xA;&lt;code&gt;/run/.containerenv&lt;/code&gt;.  kubernetes uses neither of these, the most common way to&#xA;detect if you are running in kubernetes is to check for the presence of the&#xA;&lt;code&gt;KUBERNETES_SERVICE_HOST&lt;/code&gt; environment variable.  There will also be a directory&#xA;at &lt;code&gt;/var/run/secrets/kubernetes.io/serviceaccount&lt;/code&gt; that contains the service&#xA;account credentials if you are running in kubernetes.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>gh do I have a pr</title>
    <id>https://go.waylonwalker.com/gh-do-i-have-a-pr/</id>
    <updated>2026-03-02T08:47:44Z</updated>
    <published>2026-03-02T08:47:44Z</published>
    <link href="https://go.waylonwalker.com/gh-do-i-have-a-pr/" rel="alternate" type="text/html"></link>
    <summary type="text">In the age of agents sometimes work gets done on so many different worktrees and branches its hard to tell if there is already a PR or any of them or not,...</summary>
    <content type="html">&lt;p&gt;In the age of agents sometimes work gets done on so many different worktrees&#xA;and branches its hard to tell if there is already a PR or any of them or not,&#xA;the great &lt;code&gt;gh&lt;/code&gt; cli has us covered.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gh pr list --head fix/markata-go-connections-graph&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>double gutter</title>
    <id>https://go.waylonwalker.com/double-gutter/</id>
    <updated>2026-02-14T09:12:42Z</updated>
    <published>2026-02-14T09:12:42Z</published>
    <link href="https://go.waylonwalker.com/double-gutter/" rel="alternate" type="text/html"></link>
    <summary type="text">I keep forgetting about the double gutter problem with nested containers. When you put padding on a parent and the child also has padding, you get twice the...</summary>
    <content type="html">&lt;p&gt;I keep forgetting about the double gutter problem with nested containers.  When&#xA;you put padding on a parent and the child also has padding, you get twice the&#xA;spacing you wanted.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-problem&#34;&gt;The Problem &lt;a href=&#34;#the-problem&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;container&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;rem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;child&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;rem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now your content is 4rem from the edge.  Not what I meant at all.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-fix&#34;&gt;The Fix &lt;a href=&#34;#the-fix&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Either remove padding from the parent or use &lt;code&gt;box-sizing: border-box&lt;/code&gt; and plan&#xA;for it.  I usually just drop the parent padding when I realize what I have done.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>diff kubernetes manifest with cluster</title>
    <id>https://go.waylonwalker.com/diff-kubernetes-manifest-with-cluster/</id>
    <updated>2026-02-05T09:37:39Z</updated>
    <published>2026-02-05T09:37:39Z</published>
    <link href="https://go.waylonwalker.com/diff-kubernetes-manifest-with-cluster/" rel="alternate" type="text/html"></link>
    <summary type="text">Like a dufus this morning I did a hard reset on a git repo for getting I was working on a manifest for. You see I generally use argo, but occasionally I have...</summary>
    <content type="html">&lt;p&gt;Like a dufus this morning I did a hard reset on a &lt;a href=&#34;/glossary/git/&#34; class=&#34;glossary-term&#34; title=&#34;Git is a version control system for tracking changes in source code during software development. In the beginning there were many, some were licensed. As...&#34;&gt;git&lt;/a&gt; repo for getting I was&#xA;working on a manifest for.  You see I generally use argo, but occasionally I&#xA;have no idea what I am doing or want yet and I start raw doggin it, fully aware&#xA;that I’m going to just nuke this namespace before getting it into a proper&#xA;argocd.&lt;/p&gt;&#xA;&lt;p&gt;I was overjoyed when I found out that you can diff your manifests with live&#xA;production using the &lt;code&gt;kubectl diff&lt;/code&gt; command.  It uses standard diff so you can&#xA;bring all your fancy diff viewers you like.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# regular manifest&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl diff -f k8s/shots -n shot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# kustomize&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl diff -k k8s -n go-waylonwalker-com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# using a fancy diff viewer&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl diff -f k8s/shots -n shot &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; delta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# using an even fancier diff viewer&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# pinkies out for this one&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kubectl diff -f k8s/shots -n shot &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; delta --diff-so-fancy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now I can get those changes back that I thought I lost, and apply updates with&#xA;confidence knowing what is about to change.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>format markdown with mdformat</title>
    <id>https://go.waylonwalker.com/format-markdown-with-mdformat/</id>
    <updated>2026-01-19T20:41:14Z</updated>
    <published>2026-01-19T20:41:14Z</published>
    <link href="https://go.waylonwalker.com/format-markdown-with-mdformat/" rel="alternate" type="text/html"></link>
    <summary type="text">I really wish I would have got this right a few years ago. Theres a couple of flags I had to use to get mdformat to do hard wraps at 80 characters and not...</summary>
    <content type="html">&lt;p&gt;I really wish I would have got this right a few years ago. Theres a couple of&#xA;flags I had to use to get mdformat to do hard wraps at 80 characters and not&#xA;wreck tables. This mix of flags and plugins is workign really well for me so&#xA;far.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mdfmt&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    uvx &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --with &lt;span class=&#34;s2&#34;&gt;&amp;#34;mdformat-ruff&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --with &lt;span class=&#34;s2&#34;&gt;&amp;#34;mdformat-beautysh&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --with &lt;span class=&#34;s2&#34;&gt;&amp;#34;mdformat-web&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --with &lt;span class=&#34;s2&#34;&gt;&amp;#34;mdformat-config&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --with &lt;span class=&#34;s2&#34;&gt;&amp;#34;mdformat-gfm&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --with &lt;span class=&#34;s2&#34;&gt;&amp;#34;mdformat-front-matters&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --with &lt;span class=&#34;s2&#34;&gt;&amp;#34;mdformat-wikilink&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --with &lt;span class=&#34;s2&#34;&gt;&amp;#34;mdformat-simple-breaks&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        mdformat &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --wrap &lt;span class=&#34;m&#34;&gt;80&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --end-of-line lf &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --codeformatters python &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --codeformatters bash &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;And as pre-commmit.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;l&#34;&gt;repos&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;repo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;https://github.com/hukkin/mdformat&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;rev&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1.0.0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# pin to the version you want&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;hooks&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;mdformat&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- --&lt;span class=&#34;l&#34;&gt;wrap&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;s2&#34;&gt;&amp;#34;80&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- --&lt;span class=&#34;l&#34;&gt;end-of-line&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;lf&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- --&lt;span class=&#34;l&#34;&gt;codeformatters&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;python&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- --&lt;span class=&#34;l&#34;&gt;codeformatters&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;bash&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;additional_dependencies&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;mdformat-ruff&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;mdformat-beautysh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;mdformat-web&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;mdformat-config&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;mdformat-gfm&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;mdformat-front-matters&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;mdformat-wikilink&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;          &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;mdformat-simple-breaks&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>opencode variants</title>
    <id>https://go.waylonwalker.com/opencode-variants/</id>
    <updated>2026-01-13T08:53:36Z</updated>
    <published>2026-01-13T08:53:36Z</published>
    <link href="https://go.waylonwalker.com/opencode-variants/" rel="alternate" type="text/html"></link>
    <summary type="text">Opencode is changing on the daily right now, today I noticed the word pop up in Orange text in my opencode window. Looking into this they are exposing...</summary>
    <content type="html">&lt;p&gt;Opencode is changing on the daily right now, today I noticed the word &lt;code&gt;low&lt;/code&gt; pop&#xA;up in Orange text in my opencode window.  Looking into this they are exposing&#xA;&lt;a href=&#34;https://opencode.ai/docs/models/#variants&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/opencode.ai.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/opencode.ai.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;variants&lt;/a&gt; to the user.  This allows&#xA;you to change between fast or slow and thinking, the later taking more time to&#xA;prepare before doing an action.&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;a href=&#34;https://dropper.waylonwalker.com/file/0b6bfe5e-41b0-4e44-8c5a-ff88739a770e.mp4&#34; class=&#34;glightbox-link&#34; aria-label=&#34;Swapping Variants in opencode&#34;&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34; poster=&#34;https://dropper.waylonwalker.com/file/0b6bfe5e-41b0-4e44-8c5a-ff88739a770e.webp?h=675&amp;w=1200&#34;&gt;&lt;source src=&#34;https://dropper.waylonwalker.com/file/0b6bfe5e-41b0-4e44-8c5a-ff88739a770e.mp4&#34; type=&#34;video/mp4&#34;&gt;Swapping Variants in opencode&lt;/video&gt;&lt;/a&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;It looks like this toggle may have been here for awhile and I’m just now&#xA;discovering it. Potentially because its a new feature of the free Zen provider.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Variants&#xA;Many models support multiple variants with different configurations. OpenCode ships with built-in default variants for popular providers.&lt;/p&gt;&#xA;&lt;p&gt;Built-in variants&#xA;OpenCode ships with default variants for many providers:&lt;/p&gt;&#xA;&lt;p&gt;Anthropic:&lt;/p&gt;&#xA;&lt;p&gt;high - High thinking budget (default)&#xA;max - Maximum thinking budget&#xA;OpenAI:&lt;/p&gt;&#xA;&lt;p&gt;Varies by model but roughly:&lt;/p&gt;&#xA;&lt;p&gt;none - No reasoning&#xA;minimal - Minimal reasoning effort&#xA;low - Low reasoning effort&#xA;medium - Medium reasoning effort&#xA;high - High reasoning effort&#xA;xhigh - Extra high reasoning effort&#xA;Google:&lt;/p&gt;&#xA;&lt;p&gt;low - Lower effort/token budget&#xA;high - Higher effort/token budget&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>opencode init prompt</title>
    <id>https://go.waylonwalker.com/opencode-init-prompt/</id>
    <updated>2026-01-09T13:32:12Z</updated>
    <published>2026-01-09T13:32:12Z</published>
    <link href="https://go.waylonwalker.com/opencode-init-prompt/" rel="alternate" type="text/html"></link>
    <summary type="text">This is opencode&#39;s init prompt.</summary>
    <content type="html">&lt;p&gt;This is opencode’s init prompt.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Please analyze this codebase and create an AGENTS.md file containing:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;1.&lt;/span&gt; Build/lint/test commands - especially for running a single test&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;2.&lt;/span&gt; Code style guidelines including imports, formatting, types, naming conventions, error handling, etc.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;The file you create will be given to agentic coding agents (such as yourself) that operate in this repository. Make it about 150 lines long.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;If there are Cursor rules (in .cursor/rules/ or .cursorrules) or Copilot rules (in .github/copilot-instructions.md), make sure to include them.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;If there&amp;#39;s already an AGENTS.md, improve it if it&amp;#39;s located in &amp;lt;dir&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
  <entry>
    <title>tpope vim-speeddating</title>
    <id>https://go.waylonwalker.com/til/tpope-vim-speeddating/</id>
    <updated>2026-01-04T16:59:33Z</updated>
    <published>2026-01-04T16:59:33Z</published>
    <link href="https://go.waylonwalker.com/til/tpope-vim-speeddating/" rel="alternate" type="text/html"></link>
    <summary type="text">Today I discovered vim-speeddating by tpope. I&#39;m sure I&#39;ve seen years ago but it did not click for my workflow until today. I often go through pictures from...</summary>
    <content type="html">&lt;p&gt;Today I discovered &lt;a href=&#34;https://github.com/tpope/vim-speeddating&#34; style=&#34;--favicon-url: url(&amp;#39;/assets/markata/link-avatars/github.com.ico&amp;#39;);&#34; data-favicon=&#34;/assets/markata/link-avatars/github.com.ico&#34; class=&#34;has-avatar  has-avatar-before&#34;&gt;vim-speeddating&lt;/a&gt;&#xA;by tpope.  I’m sure I’ve seen years ago but it did not click for my workflow&#xA;until today.  I often go through pictures from my phone for the past few days&#xA;and make &lt;a class=&#34;wikilink&#34; data-description=&#34;All posts with the tag &amp;#34;shots&amp;#34;&#34; data-title=&#34;Posts tagged: shots&#34; href=&#34;/tags/shots/&#34; data-preview=&#34;All posts with the tag &amp;#34;shots&amp;#34;&#34;&gt;Posts tagged: shots&lt;/a&gt; posts, but I want to date them to about when the image was&#xA;taken most of the time.  This allows me to quickly bump days up and down using&#xA;&lt;code&gt;c-a&lt;/code&gt; and &lt;code&gt;c-x&lt;/code&gt; even around the new year.&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;a href=&#34;https://dropper.waylonwalker.com/file/18c876c3-02ea-4c77-9f62-cdbb1bb759a1.mp4&#34; class=&#34;glightbox-link&#34; aria-label=&#34;Open image&#34;&gt;&lt;video autoplay loop muted playsinline controls preload=&#34;metadata&#34; class=&#34;md-video&#34; poster=&#34;https://dropper.waylonwalker.com/file/18c876c3-02ea-4c77-9f62-cdbb1bb759a1.webp?h=675&amp;w=1200&#34;&gt;&lt;source src=&#34;https://dropper.waylonwalker.com/file/18c876c3-02ea-4c77-9f62-cdbb1bb759a1.mp4&#34; type=&#34;video/mp4&#34;&gt;Your browser does not support the video tag.&lt;/video&gt;&lt;/a&gt;&#xA;&lt;figcaption&gt;&lt;p&gt;Sound on, listen to those new switches.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#xA;</content>
    <author>
      <name>Waylon Walker</name>
      <email>hello@waylonwalker.com</email>
      <uri>https://waylonwalker.com</uri>
    </author>
  </entry>
</feed>