<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>hi, it&#39;s mike</title>
    <link>https://mike.puddingtime.org/tags/journal/</link>
    <description>Recent content on hi, it&#39;s mike</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <managingEditor>mike@puddingtime.org (mike)</managingEditor>
    <webMaster>mike@puddingtime.org (mike)</webMaster>
    <copyright>© 2026, mike</copyright>
    <lastBuildDate>Sat, 02 Mar 2024 09:50:26 -0800</lastBuildDate>
    <atom:link href="https://mike.puddingtime.org/tags/journal/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Daily notes for 2024-03-02</title>
      <link>https://mike.puddingtime.org/posts/2024-03-02-daily-notes/</link>
      <pubDate>Sat, 02 Mar 2024 09:50:26 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-03-02-daily-notes/</guid>
      <description>The perils of too much and too little friction. Dune 2. Running shoes day.</description>
      <content:encoded><![CDATA[<h2 id="cal-newport-on-note-taking">Cal Newport on note-taking</h2>
<p>Cal Newport&rsquo;s <em>Digital Minimalism</em> has left a lasting impression with me. A lot of his ideas around technology were incredibly useful and helped me come down from some kind of lockdown-inspired extremism into something a little more grounded, and a little less bingey. Whenever I&rsquo;m in the grips of meta/tool-sickness, once I figure out that&rsquo;s what&rsquo;s going on I&rsquo;ve probably forgotten something useful from that book.</p>
<p>He has a podcast, but I don&rsquo;t listen to it much. A <a href="https://overcast.fm/+b1V14O2YU">recent epidsode</a>, however, had some stuff about note-taking and I have been deep in the grips of fussing around with that so I used it for my dishwashing and coffee making soundtrack this morning.</p>
<p>His key take is &ldquo;get rid of friction,&rdquo; which &hellip; yes. Back in the heyday of 43 Folders, most of my impatience came less from the content itself and more the constant riffing on &ldquo;methodologies&rdquo; that sounded more and more abstract, overthought, and overwrought. I just stopped believing any of it. Because there are only a few occurrences of the word &ldquo;yarn&rdquo; in my 20-year-old blog archive, I was able to find an entry in the non-public archive:</p>
<blockquote>
<p>Date: November 14, 2005 at 10:05:06 PM PST</p>
</blockquote>
<blockquote>
<p>I&rsquo;ve never hit a gtd adherent.  I need to be up front about that.</p>
</blockquote>
<blockquote>
<p>I thought about picking fights with a few, I guess, but it&rsquo;d involve barging into the comments over at <a href="http://43folders.com">43 Folders</a> like Bruce Lee in &ldquo;<a href="http://www.kungfucinema.com/reviews/fistoffury.htm">Fist of Fury</a>&rdquo; and fighting with people who want little more than to be more efficient and get more work done.  They don&rsquo;t deserve to be antagonized for that.</p>
</blockquote>
<blockquote>
<p>Sometimes I read a comment from someone who insists that his routine involves some insanely arcane and convoluted use of yarn and a special shell script he whipped up that reads crap down from his <a href="http://www.backpackit.com/">Backpack</a> account and then squirts it into his Palm, makes a redundant backup on the server he maintains in Malaysia and produces printed 3x5 copies in triplicate, one of which he pins to his infant son&rsquo;s sleeve before leaving for the morning (&ldquo;If I died, I couldn&rsquo;t live with him thinking his father went out the door without an action list and a plan!&rdquo;).</p>
</blockquote>
<blockquote>
<p>Sometimes, I was saying, I read something like that and I want to find that person and give him a noogie or burn two of his four backup copies.  One, because I imagine that the &ldquo;system&rdquo; being described is a giant lie concocted by someone caught up in the thrill of inventing systems instead of actually, you know &hellip; using them to get stuff done.  Two, because if these people are making these systems work for them then they&rsquo;re surely VERY POWERFUL BEINGS we should hate and fear because we&rsquo;re all going to end up working for them.</p>
</blockquote>
<p>Newport&rsquo;s take in 2024 is a little more kind, but comes down to &ldquo;if you like building systems, build &rsquo;em, but, like, acknowledge that you&rsquo;re indulging a hobby.&rdquo;</p>
<p>He shared another idea I&rsquo;ve come to appreciate in slightly different form: While you want to remove friction from the note-taking process, it&rsquo;s not a great idea to hyper-atomize your notes and truly empty your brain of <em>ideas</em> in the hopes that The System will glue them all back together.</p>
<p>There is such a thing as too little friction. Whenever I&rsquo;m playing around with a todo thing now I seldom enable &ldquo;quick capture&rdquo; or &ldquo;get this into the system by forwarding an email into it&rdquo; unless my overall operating state is pretty mindful and deliberate, because I know what it means to capture something without considering it much. At best, congratulations, you&rsquo;ve just added a puppy to the box without a plan for feeding it or taking it to the vet for shots. At worst, it slips into the bowels of The System and becomes an ongoing source of guilt until you burn the system down and start a new one. The remedies for those possibilities just add more friction at point of capture (so great, you managed to launch capture with a single keystroke, but you still have a metadata chore), or require a disciplined maintenance approach.</p>
<p>That is todos, which are not notes, but the challenges seem similar. I&rsquo;d also have to fiddle around with org-roam and a few other systems a little more to weigh how much discovery they offer at point of capture. He was wise to keep his criticisms vague, because differing feature sets + extensibility makes generalizing fraught.</p>
<p>I will say that mastering org-capture was a mistake for me, personally, because it became too easy to create a proliferation of atomized, siloed entry points into the system. Friction is a sweet spot thing, and I still struggle to find that sweet spot.</p>
<h2 id="dune">Dune</h2>
<p>I rewatched <em>Dune</em> last night to feel prepped for the second part. Initial reviews for the new release have seemed positive, saying that it reaps the rewards of the world-building and groundwork done in the first installment.</p>
<p>I didn&rsquo;t like part 1 very much. It was fine, but the break-point didn&rsquo;t work for me and there was just enough deviation from the source material right around that part of the story that I got distracted by it.</p>
<p>That was a bummer, because I&rsquo;d built the coviplex partially in anticipation of <em>Dune</em>, but between streaming issues that made the picture quality poor and not-unseeable differences of opinion, it was a little bit of a letdown.</p>
<p><img src="/img/IMG_0284.JPG" alt="A projection movie screen in a remodeled garage"></p>
<p>Last night it worked much better for me. I was able to shut off the part of my brain that was busy reconciling source and adaptation, and the picture quality was way better thanks to a solid stream, so I caught more. I&rsquo;d still prefer some slightly different choices here and there, but this is an adaptation of a book I read yearly from age 13 to some time in my 30s. And, tomorrow this time I will be parked in the theater finishing the story. Not watching the (occasionally glitchy, low-res) credits roll and thinking &ldquo;nobody&rsquo;s even sure he&rsquo;s going to get to make part 2.&rdquo;</p>
<h2 id="running-shoes-day">Running shoes day</h2>
<p>Al wants to start running. I told myself I&rsquo;d pick it up again when I got my weight down. Well, it&rsquo;s down and I&rsquo;ve got a potential running partner. So we&rsquo;re going to find running shoes today. I do well with Brooks Addictions, but they have changed a few times over the years. I&rsquo;ve really liked my Hoka Speedgoats for fast walks and hikes on less technical terrain. Curious to see what the shoe people recommend. Anyhow, looking forward to trying to pick that back up again. Endurance running is the physical thing I seem to be built to do competently without a ton of focus, and it&rsquo;s time to shake off winter.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2024-02-29</title>
      <link>https://mike.puddingtime.org/posts/2024-02-29-daily-notes/</link>
      <pubDate>Thu, 29 Feb 2024 20:33:53 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-02-29-daily-notes/</guid>
      <description>Trying out commafeed for RSS. Dropping Wallabag. A handy tiddlywiki plugin. The Fujifilm X100VI. What&amp;rsquo;s traditional IT?</description>
      <content:encoded><![CDATA[<h2 id="commafeed">Commafeed</h2>
<p>I have been giving <a href="https://www.commafeed.com">Commafeed</a> a try as my self-hosted RSS service. It&rsquo;s got a very simple presentation, decent keyboard shortcuts, presents the Fever API to RSS clients like Reeder, and has filtering capabilities (though I am having some challenges understanding their ins and outs).</p>
<p>The main issue I have with it is its somewhat limited set of sharing options, but that actually helped me decide to decommission Wallabag (which is not one of them). I&rsquo;ve found that pretty slow and not as easy to deal with as Pocket across platforms. I wanted to like it, but it&rsquo;s hard to justify for a kind of tool I&rsquo;m glad to have but don&rsquo;t feel a deep attachment to. So I&rsquo;m switching back to Pocket, and Commafeed works just fine with that.</p>
<h2 id="stories-for-tiddlywiki">Stories for Tiddlywiki</h2>
<p>The Stories plugin for Tiddlywiki lets you create a second column and divert tiddlers to it so you can have things side-by-side. I don&rsquo;t use it much for my personal wiki, but for my work wiki it&rsquo;s a great way to have my interstitial journal sitting open and ready in one column, and my active tiddler open in another.</p>
<p><a href="https://giffmex.org/stroll/stroll.html#%24%3A%2Fplugins%2Fsq%2FStories">This appears to be the closest to a link I can find</a>.</p>
<h2 id="fujifilm-x100vi">Fujifilm X100VI</h2>
<p>I am not made of stone. I preordered one. I <a href="https://pix.puddingtime.org/San-Francisco-SepAug-2023">took my X100V to San Francisco</a> a few months ago for a work trip and renewed my affection for the series. As with Portland, I much prefer the X100s to a larger ILC for street carry. I did keep thinking, as we walked around Chinatown at night, &ldquo;man, I wish this thing had IBIS.&rdquo; I still liked the shots I got, but you&rsquo;re managing harder tradeoffs. With any luck I didn&rsquo;t preorder too late to get one before next September, but we&rsquo;ll see.</p>
<p>I&rsquo;ve long held that the X100 series could stop iterating once it had weather resistance (solved with the V) and IBIS (solved now with the VI). I suspect a faster lens would make the bulk unacceptable, so I will not hold my breath on that one. I&rsquo;d like the series to match up batteries with the X-T series, too, but that might be another bulk issue, and I have accrued a collection of the WP-126S batteries between the X100F and X100V, so I&rsquo;m set. I have a very thin Wasabi charger that&rsquo;s great for travel. During my SF trip I had all-day walking around juice on the battery in the body and a pair of spares at the bottom of my sling.</p>
<p>I wonder if the X-Pro series ended with the X-Pro3. I liked mine a lot but also felt like the &ldquo;anti-chimping&rdquo; display was a little gimmicky, and it didn&rsquo;t have IBIS. Returning to a normal rear panel of some kind and IBIS would be great, but I&rsquo;m good with the X-T5 and not so hung up on the rangefinder-esque design that I&rsquo;d run out and buy an X-Pro4. And if I did, I&rsquo;d slap my nice 23mm on it and have &hellip; an X100 but a little bigger and more conspicuous and a few stops faster. Nope. I think the X100VI has the makings of a desert island camera.</p>
<h2 id="work">Work</h2>
<p>Today was IT steering committee day. I was asked if I thought my crew does more or less than traditional IT. Interesting question. My current place sells SaaS, my last place had a lot of on-prem estate (and a hyper-overbuilt network given the size and nature of the business).</p>
<p>At my last place I presided over the last of a desultory teasing apart of corporate IT and something we called &ldquo;SRE&rdquo; for a period before settling on &ldquo;developer services.&rdquo; For reasons I will avoid enumerating, we had some struggles with that teasing apart that persisted over four years &ndash; I left engineering, did IT, went back to engineering, then went <em>back</em> to IT one more time. Each time I&rsquo;d chip at the problem from my new perch. It all came down to loosening some death grips in IT, reassuring corporate security that the engineers wouldn&rsquo;t wrap the car around a tree, and eventually just being a little bit of a prick with the one remaining IT person who felt it right and proper to require security engineering to petition for log dumps so they could audit their own services.</p>
<p>&ldquo;If you make him give them self-serve access to Splunk, he&rsquo;ll quit,&rdquo; warned the manager I had over that team.</p>
<p>&ldquo;Well, good. He needs to be this tall to ride. If he can&rsquo;t handle letting people see logs for their own services, this is probably for the best.&rdquo;</p>
<p>I wrote a memo (the only &ldquo;Mike uses his directorial <em>ex-cathedra</em> voice&rdquo; memo I&rsquo;ve ever written) explaining that everyone needed to be <em>this</em> tall to ride. He couldn&rsquo;t handle it and quit. Wasn&rsquo;t tall enough to ride.</p>
<p>Anyhow, I have a lot less complexity to deal with at the current place. There are still some weird &ldquo;why does this route through IT&rdquo; issues that pop up, but they&rsquo;re pretty easily resolved by visiting my security colleagues and asking &ldquo;did we do this for a reason&rdquo; (seldom) and then asking engineering &ldquo;would you like to remove me as an external dependency?&rdquo; (usually, but sometimes I wonder if they think I&rsquo;m trying to trick them).</p>
<p>What it amounts to is an interesting inversion of value. When I presented today about the year&rsquo;s big initiatives it was mostly about portfolio governance, access management, and providing administrative uplift to the vendor management process. We still have to deal with traditional IT admin stuff, but it&rsquo;s pretty contained. Not nearly as sprawling and perilous as it was at the last place.</p>
<p>Anyhow, &ldquo;traditional for where&rdquo; is the real answer. I&rsquo;m glad to be doing my job in a context and era where the parts that are simple and the parts that are complex have sort of shifted around.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2024-02-25</title>
      <link>https://mike.puddingtime.org/posts/2024-02-25-daily-notes/</link>
      <pubDate>Sun, 25 Feb 2024 12:18:06 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-02-25-daily-notes/</guid>
      <description>Daily logging in Tiddlywiki with Streams. Espanso regexp expansions.</description>
      <content:encoded><![CDATA[<h2 id="the-daily-log-in-tiddlywiki-with-streams">The daily log in Tiddlywiki with Streams</h2>
<p>I fiddled around with <a href="https://workflowy.com/">Workflowy</a> a while back, and it has been in the back of my head, since. There is something about the whole outliner thing that is compelling, but when I see examples from people who are heavy outliner users in the wild I get this sense there&rsquo;s a sweet spot between &ldquo;useful chunking of information&rdquo; and &ldquo;stilted and hard to consume/digest,&rdquo; and &hellip; we all have different cognitive styles, I guess is all I&rsquo;ll say.</p>
<p>As near as I&rsquo;ve been able to piece together some ideas out there in note-taking land, I&rsquo;d like my personal notes setup to involve:</p>
<ul>
<li>A daily log</li>
<li>A daily personal task list</li>
<li>The ability to digress from the log</li>
</ul>
<p>I&rsquo;d like my log to be somewhat structured, meaning timestamped entries of a consistent format.</p>
<p>I don&rsquo;t care if my personal task list for the day has much metadata, because we&rsquo;re closer to the &ldquo;shopping list&rdquo; end of the spectrum than the &ldquo;project management&rdquo; list. I guess it can have <em>no</em> metadata besides &ldquo;have I done it yet.&rdquo;</p>
<p>Digressing from the log doesn&rsquo;t mean much besides, &ldquo;is it easy to think of something, quickly make a new node/page/tiddler and start typing.&rdquo;</p>
<p>The apparent term of art for all this stuff is &ldquo;intersitial logging.&rdquo; That is fewer syllables than &ldquo;keep track of what you&rsquo;ve done during the day,&rdquo; but has the benefit of higher syllabic density.</p>
<p>An outliner is a pretty good tool for those things because it brings some structure, favors the terse, and frees you from worrying about managing the arrangement of the text in favor of managing the arrangement of the content.</p>
<h3 id="outlining-with-streams">Outlining with Streams</h3>
<p>Digging around for outliners for Tiddlywiki I came across <a href="https://saqimtiaz.github.io/streams/">Streams</a>, which sticks a little outliner widget in each Tiddler. Click the &ldquo;+&rdquo; button, and you&rsquo;re in a node in your outliner. Tab to indent, shift-tab to outdent, grab the nodes by their handles to reorder. Each node, in turn, is its own Tiddler.</p>
<p>I am not entirely sure how I feel about that last part, and if it were not for a filter you can apply to your sidebar to hide all the subtiddlers Streams produces in the open and recent lists, I am pretty sure I would hate it. But you can <a href="https://saqimtiaz.github.io/streams/#FAQs%2FHow%20can%20I%20show%20only%20the%20stream%20root%20tiddlers%20in%20the%20timeline%3F">drop some code</a> into the sidebar shaddow Tiddler to clean all that up and only see the root of a stream.</p>
<p>There&rsquo;s enough there to play around, anyhow.</p>
<p>I made a simple Espanso trigger to timestamp my log entries:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="c"># Make a timestamp</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span>- <span class="nt">trigger</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;:log&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">replace</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;&#39;&#39;[{{mydate}}] &#39;&#39; &#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">vars</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">mydate</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">        </span><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="l">date</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">        </span><span class="nt">params</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">          </span><span class="nt">format</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;%r&#34;</span></span></span></code></pre></div>
<p>So, open a new node in the outline, type <code>:log</code>, start typing.</p>
<h3 id="finding-the-escape-hatch-with-streams-fusion">Finding the escape hatch with Streams Fusion</h3>
<p>Because I&rsquo;m a nervous soul who is always wondering how to back out of things like this, there&rsquo;s also the <a href="https://fastfreddy.gitlab.io/streams-fusion/">Streams Fusion</a> plugin, which gives you a little icon at the bottom of a stream to merge all the sub-nodes in a stream into a single, unified chunk of text.</p>
<p>That&rsquo;s cool, because in a daily log you can be creating a proliferation of digressions and sidebars, not all of which qualify as full-fledged chunks of thought or interesting directions. So, click that button at the end of the day and all the nodes in the outline are turned into normal markup (links intact, if you added any) that looks like an outline, but all the child tiddlers from the root are removed and nodes you linked in a digression become backlinks to the newly merged daily log.</p>
<p>Alternately, you can turn the outline nodes into simple paragraphs. This morning I came across something while I was reading, started outlining, said all I&rsquo;d had to say about that stream of thought, and went ahead and merged it all into a normal tiddler.</p>
<p>In evolving practice I don&rsquo;t know whether I&rsquo;ll fuse many daily pages or not. The part of me that doesn&rsquo;t like the underlying sprawl of nodes even if I&rsquo;ve hidden it from myself is still paying too much attention to what&rsquo;s going on underneath. It&rsquo;s a fine line between due diligence and unhealthy perfectionism.  The benefit of fusing logs will be improved searchability for log entries themselves, since search results will go back to a single day&rsquo;s log page instead of its child nodes. That seems to be kinder to future me.</p>
<h2 id="tasks-in-my-log-with-espanso-and-regexps">Tasks in my log with Espanso and regexps</h2>
<p>Once I decided to let the Streams experiment run, I waffled around about how to integrate tasks into my log. The &ldquo;interstitial logging&rdquo; people encourage a single, unfified stream of log entries and tasks created as they come up. Tiddlywiki&rsquo;s core conception of tasks is that they should be nodes (&ldquo;tiddlers,&rdquo; yes) with a <code>todo</code> tag. That&rsquo;s a little cumbersome in the Streams workflow.</p>
<p>So I did a quick experiment with the <a href="https://talk.tiddlywiki.org/t/sticky-todo-plugin-initial-release/684">Sticky Todo plugin</a> as a way to make a Streams node a task.</p>
<p>Sticky Todo uses markup like this to turn any text into a todo that appears in your sidebar:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">&lt;&lt;sticky &#34;Take out the recycling&#34;&gt;&gt;</span></span></code></pre></div>
<p>That&rsquo;s not too hard to remember, but it&rsquo;s sort of type-y, so I made an Espanso shortcut that leverages its ability to do regexps:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl">- <span class="nt">regex</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;:todo\\((?P&lt;todo&gt;.*)\\)&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">replace</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;&lt;&lt;sticky \&#34;{{todo}}\&#34;&gt;&gt;&#34;</span></span></span></code></pre></div>
<p>So I can start a node with <code>:todo(some task)</code> and Espanso replaces it with <code>&lt;&lt;sticky 'some task'&gt;&gt;</code></p>
<p>It&rsquo;s 7 keystrokes minus the task content instead of 13? <a href="https://xkcd.com/1205/">Plug it into the table</a> and bask in the efficiency!</p>
<p>Espanso is useful for stuff like this where there&rsquo;s no way I could figure out how to get Tiddlywiki to automate this in any reasonable timeframe.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2024-02-22</title>
      <link>https://mike.puddingtime.org/posts/2024-02-22-daily-notes/</link>
      <pubDate>Thu, 22 Feb 2024 18:26:57 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-02-22-daily-notes/</guid>
      <description>Brief attempt to get Tiddlywiki to parity with my Obsidian vault. The nut milk machine.</description>
      <content:encoded><![CDATA[<h2 id="return-to-tiddlywiki-briefly">Return to Tiddlywiki (briefly)</h2>
<p>I was very, deeply bothered by Tiddlywiki&rsquo;s failure to yield on a few points, so I took some time to work on them wondering how much of the Obsidian workflow I&rsquo;ve come up with could be repeated in the context of a single-file wiki. Mixed success, I suppose, that could be less mixed if I were less automation-oriented.</p>
<p>But basically:</p>
<h3 id="area-and-people-pages">Area and People pages</h3>
<p>I keep a standard page format for areas, people, and projects.  Areas are non-timebound, non-project areas of concern or relationships. The GRC org is an area, as are &ldquo;portfolio management,&rdquo; &ldquo;security engineering,&rdquo; and &ldquo;the people team.&rdquo; Projects, Areas and People use the same template because they need pretty much the same thing: A list of tasks, a list of related tasks from outside the page, and a simple log. I guess these are tickler files in some parlances.</p>
<p>In Obsidian, a standard page for these things has a &ldquo;tasks&rdquo; section, a &ldquo;related tasks&rdquo; section, and a &ldquo;log&rdquo; section; and it has a <code>primary_tag</code> property. &ldquo;Tasks&rdquo; are ad hoc, one-off things specific to each entity, while &ldquo;related tasks&rdquo; are any tasks anywhere else in the system bearing the area or person&rsquo;s <code>primary_tag.</code> The &ldquo;related tasks&rdquo; block just looks like this:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">tasks
</span></span><span class="line"><span class="cl">tags include grc</span></span></code></pre></div>
<p>So if I&rsquo;ve got a project somewhere else in the system, or drop a GRC-related task in some meeting notes, it gets sucked into that list.  By convention, my primary tags are terse abbreviations, always in lower case. I could drop that convention, but it&rsquo;s helpful for setting up pages in a standardized way that lets me just start using the page vs. modifying places where I want to pull in the primary tag. Turbo-laziness, basically.</p>
<p>The &ldquo;log&rdquo; section is nothing special. I do use the Quickadd plugin to make it easy to log something from anywhere by running a Quickadd <code>log anywhere</code> action from the command menu. So I invoke the keystroke, get a prompt for the file to append a log entry to, start typing &ldquo;Areas/&rdquo; or &ldquo;People/&rdquo; and pick the autocompletion, enter the log entry, and I&rsquo;m done. The snippet itself is <code>- {{DATE:HH:mm}} {{VALUE}}\n</code> and QuickAdd allows me to target the <code>## Log</code> heading to append the entry. I&rsquo;ve got a clone of it for my daily journal page, just to shave off selecting the page.</p>
<p>In Tiddlywiki, I cobbled together a few things to get this rough effect:</p>
<p>I use the <a href="https://kookma.github.io/TW-Todolist/">TodoList</a> plugin, which provides the ability to drop in a snippet that creates a little ad hoc log widget:</p>
<p><code>&lt;&lt;interstitial-ui caption:&quot;! Log&quot; width:&quot;&quot; base:&quot;$(currentTiddler)$_log&quot;&gt;&gt;</code></p>
<p>The <code>base</code> property gives the list a unique name, either to isolate the log entries to that page (with no base, all log items appear everywhere the snippet is used) or to allow reuse of the log elsewhere in the wiki.</p>
<p>The drawback of the log is that the widget stores everything in JSON, not as part of the page itself. Were one committed to using Tiddlywiki forever, that might not be so bad. I know myself better than that, and believe this pattern essentially recreates the drawbacks of any database-driven site. Maybe there&rsquo;s an export option, but it&rsquo;s also an impediment to simple search of the live wiki: You get back the associated lump of JSON, not the page that is presenting the lump of JSON.</p>
<p>The real answer is probably &ldquo;don&rsquo;t use that logging widget, figure out how to automate this some other way.&rdquo;</p>
<p>TodoList allows the use of a todo list widget as well, but I couldn&rsquo;t figure out how to surface its todos anywhere in the wiki. I am okay with violating Prot&rsquo;s advice about mixing ephemeral tasks with notes, but only if there is a way to sweep up todos in one place for review and safety. So instead I use TiddlyWiki&rsquo;s native task functionality, which involves a button that modifies the basic &ldquo;New Here&rdquo; functionality for a given Tiddler, but appends the primary tag of a given Area or Person page to a todo tiddler. When I click the task button, it makes a new tiddler with a <code>todo</code> tag and the current tiddler title as a second tag.</p>
<p>Then I have some template code to enumerate todos for a given Area or Person page:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">! Tasks
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">&lt;$list filter=&#34;[!has[draft.of]tag[todo]tag{!!title}!tag[done]sort[created]]&#34;&gt;
</span></span><span class="line"><span class="cl">  &lt;$checkbox tag=&#34;done&#34;&gt; &lt;$link to=&lt;&lt;currentTiddler&gt;&gt;/&gt;&lt;/$checkbox&gt;
</span></span><span class="line"><span class="cl">&lt;/$list&gt;
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">! Completed tasks
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">&lt;$list filter=&#34;[!has[draft.of]tag[todo]tag{!!title}tag[done]sort[created]]&#34;&gt;
</span></span><span class="line"><span class="cl">  &lt;$checkbox tag=&#34;done&#34; checked=&#34;yes&#34;/&gt;
</span></span><span class="line"><span class="cl">    &lt;$link to=&lt;&lt;currentTiddler&gt;&gt;/&gt;
</span></span><span class="line"><span class="cl">&lt;/$list&gt; </span></span></code></pre></div>
<p>I don&rsquo;t have enough Tiddly-fu to do in Tiddlywiki what I can do in Obsidian, which is drop in a task on any page from anywhere in a single keystroke.  Not the worst limitation, and the proximate workarounds aren&rsquo;t that bad.</p>
<p>What you end up with is that todos are just tiddlers with a <code>todo</code> tag. As opposed to the widget solution, they&rsquo;re more searchable, and you can add notes about a given task in the body. You can also make a big todo page that lists every single unclosed todo in the system for review. I like it as a concept, especially since you could associate a given task tiddler with a variety of pages by adding the right tags.</p>
<h3 id="projects">Projects</h3>
<p>In Obsidian, project pages are the same as area and people pages. In Tiddlywiki, the limitations of the native task management are such that I decided to get another plugin: <a href="https://thaddeusjiang.github.io/Projectify/">Projectify</a>.</p>
<p>It bolts a nicer GUI onto Tiddlywiki&rsquo;s native task management to provide some project structure around the tiddler-as-task pattern. It includes a global entry widget for an inbox you can invoke from anywhere in the system (maybe that code will help me understand how to get the logging I want).</p>
<p>It&rsquo;s a pretty nice plugin! I think I would be willing to use it full time, since it could even blow up but still leave me with data in files I could figure out how to migrate or continue to use. Unfortunately, development of the fork of the stalled original project seems to have stopped as well. I don&rsquo;t have enough of a sense of how the Tiddlyverse works to know how much that matters.</p>
<h3 id="bottom-line">Bottom line</h3>
<p>We&rsquo;re all spoiled for choice. With a few tweaks, I think I could make a go of Tiddlywiki. I just don&rsquo;t know how to get some of the automation/ease of data entry I can get with Obsidian. If I lifted my notes out of Obsidian I would lose a few things that currently connect notes via the tasks and dataview plugins, but I limit use of those things to nice-to-haves.</p>
<h2 id="other-obsidian-details">Other Obsidian details</h2>
<p>I&rsquo;ve got a smallish list of plugins holding my Obsidian stuff together, easing data entry, and making my templates smarter:</p>
<ul>
<li>Custom File Explorer Sorting: Just lets me put the file explorer sidebar in a better order (pushing utility folders to the bottom, raising my task list to the top)</li>
<li>Dataview: For pulling in related notes in my people, area, and project pages.</li>
<li>Front Matter Title: Lets me use Denote&rsquo;s &ldquo;metadata-in-filename&rdquo; convention but see the human-readable title of a note in tabs and the file explorer</li>
<li>QuickAdd: A way to add content to pages. I can pop open a dialog to select a page, type in some text, and it gets plopped at the bottom of a given heading.</li>
<li>Tasks: The standard Obsidian task management plugin</li>
<li>Templater: Lets you add JavaScript to your templates at initial render. It&rsquo;s how I enforce the Denote filenaming scheme.</li>
</ul>
<p>If pressed, just Tasks would be the must-have. QuickAdd would probably make the list. Templater and Front Matter Title mostly exist to enable the Denote file naming, which is on my &ldquo;nice to have&rdquo; list.</p>
<h2 id="the-milkmade">The Milkmade</h2>
<p>I got <a href="https://mychefwave.com/milkmade-milk-maker/">a nut milk maker</a>. It looks sort of like a Mr. Coffee, but instead of a coffee basket there is a nut/grain threshing chamber. You fill the reservoir, dump maybe a quarter cup of your preferred nut or grain into the threshing chamber, and press a button. 12 minutes later there&rsquo;s a 20 oz. carafe of nut milk.</p>
<p>It&rsquo;s a little grainier than what you get at the store, and a little less creamy. Letting it chill in the fridge (it comes out at 180F) and drinking a cup of it wasn&rsquo;t as good as store bought &ndash; maybe a little bitterness in comparison &ndash; but I did some reading and made another batch where I dropped in a pinch of salt, a splash of vanilla, and a teaspoon of monkfruit sweetener, and that was pretty good.</p>
<p>The CGM has taught me that cow milk in any quantity past &ldquo;a splash in my tea&rdquo; has a drastic effect on my blood sugar. It&rsquo;s the kind of spike I never would have noticed with finger stick testing &ndash; tends to be fast and well within the two-hour post-prandial window &ndash; but I couldn&rsquo;t unsee the spikes, and I don&rsquo;t <em>neeeeed</em> cow milk, but like it over my cereal or with protein powder. So if I&rsquo;m gonna be a nut milk lifer, I&rsquo;m glad I can make my own.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2024-02-19</title>
      <link>https://mike.puddingtime.org/posts/2024-02-19-daily-notes/</link>
      <pubDate>Mon, 19 Feb 2024 15:29:14 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-02-19-daily-notes/</guid>
      <description>Meta sickness</description>
      <content:encoded><![CDATA[<p>I&rsquo;ll try to speedrun a train of thought that came through last week:</p>
<p>For a few years, roughly coincidental with the arrival of Covid, then lockdown, then the sort of crappy year leading up to my layoff, I was struggling to do a lot of the creative things I had once done a lot.  In hindsight some of it was lockdown stress, some of it was work stress + depression over the work stress, and some of it was probably about an illness I didn&rsquo;t know I had yet.</p>
<p>It all added up to not making much new stuff, not feeling very creative, and maybe worst of all feeling very crabby and reactive toward the new or the novel. I didn&rsquo;t like the way the inside of my head felt. I felt sort of old and inflexible.</p>
<p>Once I settled into the reality of being laid off, addressed my health stuff, and chilled out enough to legitimately rest and relax a little I bounced back and that gave me a burst of creative energy. Once I got a new job and had that soaking up some of that energy I faded back a little, but recently I&rsquo;ve been feeling it again. I can tell because I&rsquo;ve been experimenting with tools, dusting off stuff I&rsquo;ve built in the past, and just generally futzing around with stuff.</p>
<p>There&rsquo;s a lens to it all, though, which is whether these things are doing anything for me: Are they providing utility and what exactly is that utility.</p>
<p>I&rsquo;ve also thought back to that unpleasant fallow period. A lot of things I had made or depended on fell apart during that period, because I didn&rsquo;t have the mental energy to keep them going. If something I&rsquo;d depended on for a while broke because I attempted a minor tweak, or because an upstream changed underneath me, I&rsquo;d just toss it aside. It was tiring to consider concentrating long enough to fix it.</p>
<p>I guess the broad theme was sustainability. I was lucky to find a good counselor who helped me gauge my own resources and remember to honor commitments to myself. So when I&rsquo;d have a brief  burst of nervous energy or motivation, she&rsquo;d help steer me back to things that were practical and sustainable as opposed to overthought, overengineered, and unmaintainable.</p>
<p>org-mode has been one bottomless sink of time and energy for me. I&rsquo;m not a particularly skilled elisp person. Not an elisp person at all if we&rsquo;re being honest. So nothing really comes easily to me when I&rsquo;m trying to squeeze some neat idea out of Emacs.  When I compare my rate of progress to the period when I was extending BBEdit or TextMate with Ruby plugins, it seems glacial.</p>
<p>And every now and then I just break shit. I am measured and careful enough with my changes that it&rsquo;s usually easily to isolate, but there are those days when I&rsquo;m just doing a bunch of things by hand because I blew up some piece of automation or some bespoke UI I built. On those days I wonder to myself, &ldquo;if you ever hit a trough, or don&rsquo;t have the kind of discretionary time you have now, or just lose a few more degrees of neural plasticity (as you must), what will this be like?&rdquo;</p>
<p>I think I know the answer, because I&rsquo;ve been walking the earth long enough to know that there will be some kind of extinction event, a bunch of shit will go out the window, and I&rsquo;ll end up with three or four new SaaS subscriptions I&rsquo;m scrambling to cancel in a year provided the vendor does me the courtesy of telegraphing that they&rsquo;re reaching for my wallet.</p>
<p>Philosophically and intellectually I&rsquo;m okay with that. A few moments in my life have offered me crash courses in the value of acceptance in the face of impermanence. I&rsquo;ve had the benefit of object lessons in the form of being around people I love and care about, but who are perhaps fatally anchored by an identity they might do well to discard, the better to begin growing again.</p>
<p>But also what I <em>want</em> to care about ebbs and flows. Some days, weeks, months, years I <em>want</em> to care about things like org-mode, elisp mastery, and interesting techniques for taking notes. Other times I do not at all, and feel a little crabby about the time spent on these things. Especially because it is not lost on me that my energy is both finite and unevenly distributed. If I&rsquo;m deeply involved in a bunch of tech stuff, I am probably not taking many pictures or writing about certain things. When I am crowding out certain endeavors closer to my creative core in favor of things I am perhaps a little obsessive about but that are further from my creative core I feel a little out of sorts.</p>
<p>&ldquo;You&rsquo;re getting the meta sickness,&rdquo; I say to myself, and I beat myself up a little.</p>
<p>It was great to spend a week in Vancouver the week before last, then a long weekend on the coast with nothing but an iPad. I couldn&rsquo;t mess around with much very easily, and when I did try to tentatively poke at something during a lull in the conversation with our fellow travelers I broke it and was left realizing that trying to fix it over coast vacation rental Wi-Fi on an iPad soft keyboard would be far more infuriating than knowing it was fucked up for a few days.</p>
<p>Those twin interruptions knocked me out of a tool fixation ramp-up and made me think a little about whether I was doing what my old Irish boss used to call &ldquo;polishing the pipes&rdquo; (we did eventually convince him that didn&rsquo;t work for US English speakers) and perhaps setting myself up for another round of meta sickness.</p>
<p>Now I&rsquo;ve got a week ahead of me where I have three plates spinning and people need me to quick dicking around and make a few things happen so they can go do their jobs. That will also help keep the futz monkey off my back for a bit.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2024-01-09 (mutt noodling edition)</title>
      <link>https://mike.puddingtime.org/posts/2024-01-09-daily-notes/</link>
      <pubDate>Tue, 09 Jan 2024 10:41:05 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-01-09-daily-notes/</guid>
      <description>Multi-account, GPG-secure mutt configs. Mutt message scoring with Ruby, and score color-coding.</description>
      <content:encoded><![CDATA[<h2 id="multi-account-gpg-secured-mutt-config">Multi-account, GPG-secured mutt config</h2>
<p>I keep having to reinvent this every few years, and I always stitch it together from assorted sources, mostly because Google sort of shifts around now and then. So:</p>
<ul>
<li>Given a Gmail account with IMAP access turned on</li>
<li>Given a Fastmail account using IMAP</li>
<li>Given mutt, with your configuration in <code>~/.mutt</code> and with <code>muttrc</code> and <code>macros</code> files.</li>
<li>Given a working gpg config you can use to encrypt/decrypt</li>
</ul>
<p>There are all sorts of ways to handle mutt config for assorted providers. The examples here are working right now, in early 2024. They probably have bits of cruft and lint because my config has been a work in progress since some time in the late 20th century.</p>
<h3 id="overview">Overview</h3>
<p>You&rsquo;re making profiles to do this: One for each of your accounts that will hold account specific config information. If you currently have a monolith config in mutt, you can lift a lot of stuff out of it and move it into a profile, then source the profile in your main <code>muttrc</code>.</p>
<p>You&rsquo;re also going to make and encrypt a credential file for each account. Some people do this all in one file and use account hooks to make sure <code>imap_user</code>, <code>imap_password</code> and <code>smtp_password</code> are set correcctly depending on the account you&rsquo;re operating in. I chose to make a file for each account.</p>
<p>You&rsquo;re going to make macros that source the profiles when you want to switch between them.</p>
<h3 id="0-pre-config-with-gmail-and-fastmail">0. Pre-config with Gmail and Fastmail</h3>
<p>I&rsquo;m not going to go into a ton of detail here:</p>
<ul>
<li>Gmail needs to have less secure app access turned on. Find it in your account settings. If you&rsquo;re doing this for a work account, it may be your admin hasn&rsquo;t enabled this. Have fun fighting city hall, in that case.</li>
<li>If you have a GSuite admin, they need to have enabled all IMAP clients, not just OAuth ones.</li>
<li>If you have 2FA turned on with Google, you will need to enable an application password.</li>
</ul>
<p>For Fastmail:</p>
<ul>
<li>You need to have an app password set up for mutt. <code>Settings -&gt; Privacy and Security -&gt; Integrations -&gt; App passwords</code></li>
</ul>
<h3 id="1-the-profile-files">1. The profile files</h3>
<p>Make profile files for each of your accounts. I name them <code>workplace.profile</code>, <code>fastmail.profile</code>, etc. It doesn&rsquo;t matter there&rsquo;s no required convention. It&rsquo;s a good idea to use the first one as the template for the second one.</p>
<p>This is an example of my Fastmail profile. Note line 6:</p>
<p><code>source &quot;gpg -d ~/.mutt/passwords.gpg |&quot;</code></p>
<p>That&rsquo;s where your credentials will come from. I&rsquo;ll show that file next.</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># -*- muttrc -*-</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Mutt sender profile : personal/default</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">unset</span> folder
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">smtp_authenticators</span> <span class="o">=</span> <span class="s1">&#39;gssapi:login&#39;</span> <span class="c1"># fastmail needs this</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">imap_authenticators</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">source</span> <span class="s2">&#34;gpg -d ~/.mutt/passwords.gpg |&#34;</span> 
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">spoolfile</span> <span class="o">=</span> <span class="s2">&#34;imaps://imap.fastmail.com&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">folder</span> <span class="o">=</span> <span class="s2">&#34;imaps://imap.fastmail.com/INBOX&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">postponed</span><span class="o">=</span><span class="s2">&#34;+Drafts&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">hostname</span><span class="o">=</span><span class="s2">&#34;yourdomain.com&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">signature</span><span class="o">=</span> <span class="s2">&#34;~/.mutt/personal.sig&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">from</span><span class="o">=</span> <span class="s2">&#34;Bob Jones &lt;bob@yourdomain.com&gt;&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">realname</span> <span class="o">=</span> <span class="s2">&#34;Bob Jones&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">smtp_url</span> <span class="o">=</span> <span class="s2">&#34;smtps://bobjones@fastmail.com@smtp.fastmail.com:465&#34;</span> <span class="c1"># use your fastmail username, not your email address</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">imap_user</span> <span class="o">=</span> <span class="s2">&#34;bobjones@fastmail.com&#34;</span> <span class="c1"># use your fastmail username here, too</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># set the status to show which profile I&#39;m using</span>
</span></span><span class="line"><span class="cl"><span class="nb">set</span> <span class="nv">status_format</span><span class="o">=</span> <span class="s2">&#34;-%r-Fastmail: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%&gt;-(%P)---\n&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">unmy_hdr *
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">my_hdr From: Bob Jones &lt;bob@yourdomain.com&gt;
</span></span><span class="line"><span class="cl">my_hdr Organization: yourdomain.com
</span></span><span class="line"><span class="cl">my_hdr Sender: Bob Jones &lt;bob@yourdomain.com&gt;
</span></span><span class="line"><span class="cl">my_hdr Return-Path: &lt;bob@yourdomain.com&gt;
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># clear the existing mailboxes list</span>
</span></span><span class="line"><span class="cl">unmailboxes *
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># load up mailboxes appropriate to this profile</span>
</span></span><span class="line"><span class="cl">mailboxes + <span class="s2">&#34;=Spam&#34;</span>
</span></span><span class="line"><span class="cl">mailboxes + <span class="s2">&#34;=disposable&#34;</span>
</span></span><span class="line"><span class="cl">mailboxes + <span class="s2">&#34;=Newsletters&#34;</span>
</span></span><span class="line"><span class="cl">mailboxes + <span class="s2">&#34;=Sent&#34;</span>
</span></span><span class="line"><span class="cl">mailboxes + <span class="s2">&#34;=Archive&#34;</span></span></span></code></pre></div>
<h3 id="2-make-credentials-files">2. Make credentials files</h3>
<p>For each account, you need to make a file for your credentials.</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">set imap_user=bob@bobjones.com
</span></span><span class="line"><span class="cl">set imap_pass=&#34;klatu barada nikto&#34;
</span></span><span class="line"><span class="cl">set smtp_pass=&#34;klatu barada nikto&#34;</span></span></code></pre></div>
<p>Name it whatever. <code>passwords-accountname</code> works.</p>
<p>Once you&rsquo;ve created the file, encrypt it with gpg:</p>
<p><code>gpg -r your-gpg-key@yourdomain.com -e passwords-fastmail</code></p>
<p>Test it:</p>
<p><code>gpg -d passwords-fastmail.gpg</code></p>
<p>Then shred the plaintext original:</p>
<p><code>shred -u passwords-fastmail</code></p>
<p>Make sure that your profile (from the previous step) is sourcing the gpg file in line 6 of my example, e.g.</p>
<p><code>source &quot;gpg -d ~/.mutt/passwords-fastmail.gpg |&quot;</code></p>
<h3 id="3-do-a-quick-mid-config-check">3. Do a quick mid-config check</h3>
<p>Might as well test it now.  You can do that by sourcing one of your profiles in your <code>muttrc</code>:</p>
<p><code>source ~/.mutt/fastmail.profile</code></p>
<p>When you run mutt the first time in this login session, you should get a gpg prompt for your credentials so mutt can decrypt your password file and use it to log in.</p>
<p>If it&rsquo;s working, now&rsquo;s the time to make your second profile and credentials files using the above steps since it&rsquo;ll be good to know what they&rsquo;re all called for the next step, which is making macros.</p>
<h3 id="4-make-macros">4. Make macros</h3>
<p>I keep my macros in their own file under <code>~/.mutt</code> just to keep things modular. You can put these in your main <code>muttrc</code>. Whatever you prefer. If you have a separate file, make sure to source it in <code>muttrc</code>:</p>
<p><code>source ~/.mutt/macros</code></p>
<p>Now add something like this for each account:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">macro index .cf &#39;&lt;sync-mailbox&gt;&lt;enter-command&gt;source ~/.mutt/fastmail.profile&lt;enter&gt;&lt;change-folder&gt;!&lt;enter&gt;&#39;
</span></span><span class="line"><span class="cl">macro index .cg &#39;&lt;sync-mailbox&gt;&lt;enter-command&gt;source ~/.mutt/google.profile&lt;enter&gt;&lt;change-folder&gt;!&lt;enter&gt;&#39;</span></span></code></pre></div>
<p>That just does one last sync, then sources your profile, then changes folders to the inbox of that profile.</p>
<p>Restart mutt. From the index, if all is working correctly, the macro <code>.cf</code> will source your <code>fastmail.profile</code> and the macro <code>.cg</code> will source your <code>google.profile</code> file (both of which also source/decrypt their respective credential files).</p>
<h3 id="5-in-conclusion">5. In conclusion</h3>
<p>Once it&rsquo;s all wired up and running, you should be able to switch back and forth between accounts with just a few seconds of latency as the inbox syncs on exit and the new inbox syncs on login.</p>
<h2 id="the-pleasures-of-mutt">The pleasures of mutt</h2>
<p>I went on a mutt revival kick early last year. It remains a land of contrasts. I never end up sticking to it 100 percent of the time but instead prefer to use it as a quick triage tool: It&rsquo;s easy to make macros and keybindings that speed up inbox processing. Sometimes it&rsquo;s easier to just bail out to the web mail interface, but during the day it&rsquo;s helpful to just burn through the inbox never taking my hands off the keyboard.</p>
<h2 id="mutt-scoring-and-color-treatments">mutt scoring and color treatments</h2>
<p>One last thing, I guess, since I&rsquo;m documenting stuff.  One of the reasons I like mutt for triage so much is my ability to add a little visual treatment to messages based on their scores. That makes it easy to see what in my inbox has more priority.</p>
<p>I&rsquo;ve got this little script in my <code>~/.mutt</code>:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-ruby" data-lang="ruby"><span class="line"><span class="cl"><span class="ch">#!/usr/bin/env ruby</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">require</span> <span class="s1">&#39;mail&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">require</span> <span class="s1">&#39;tempfile&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Wants a +/- integer, e.g. +20</span>
</span></span><span class="line"><span class="cl"><span class="n">score</span> <span class="o">=</span> <span class="no">ARGV</span><span class="o">.</span><span class="n">first</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">score_file</span> <span class="o">=</span> <span class="s2">&#34;</span><span class="si">#{</span><span class="no">Dir</span><span class="o">.</span><span class="n">home</span><span class="si">}</span><span class="s2">/.mutt/scored&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">msg</span> <span class="o">=</span> <span class="no">Tempfile</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s1">&#39;msg&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">msg</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="vg">$stdin</span><span class="o">.</span><span class="n">read</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">mail</span> <span class="o">=</span> <span class="no">Mail</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">from</span> <span class="o">=</span> <span class="n">mail</span><span class="o">.</span><span class="n">from</span><span class="o">.</span><span class="n">first</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="no">File</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">score_file</span><span class="p">,</span> <span class="s2">&#34;a&#34;</span><span class="p">)</span> <span class="p">{</span> <span class="o">|</span><span class="n">f</span><span class="o">|</span> <span class="n">f</span><span class="o">.</span><span class="n">write</span> <span class="s2">&#34;score ~f</span><span class="si">#{</span><span class="n">from</span><span class="si">}</span><span class="s2"> </span><span class="si">#{</span><span class="n">score</span><span class="si">}</span><span class="se">\n</span><span class="s2">&#34;</span><span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">msg</span><span class="o">.</span><span class="n">close</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">msg</span><span class="o">.</span><span class="n">unlink</span></span></span></code></pre></div>
<p>And I&rsquo;ve got these macros in my <code>~/.mutt/macros</code> file:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Score messages</span>
</span></span><span class="line"><span class="cl">macro index,browser .sp <span class="s2">&#34;&lt;pipe-entry&gt;~/.mutt/mailscore.rb +5\n&lt;enter-command&gt;source ~/.mutt/scored&lt;enter&gt;&#34;</span> <span class="c1"># score sender +5</span>
</span></span><span class="line"><span class="cl">macro index,browser .sP <span class="s2">&#34;&lt;pipe-entry&gt;~/.mutt/mailscore.rb +20\n&lt;enter-command&gt;source ~/.mutt/scored&lt;enter&gt;&#34;</span> <span class="c1"># score sender +20</span>
</span></span><span class="line"><span class="cl">macro index,browser .sm <span class="s2">&#34;&lt;pipe-entry&gt;~/.mutt/mailscore.rb -5\n&lt;enter-command&gt;source ~/.mutt/scored&lt;enter&gt;&#34;</span> <span class="c1"># score sender -5</span>
</span></span><span class="line"><span class="cl">macro index,browser .sM <span class="s2">&#34;&lt;pipe-entry&gt;~/.mutt/mailscore.rb -20\n&lt;enter-command&gt;source ~/.mutt/scored&lt;enter&gt;&#34;</span> <span class="c1"># score sender -20</span></span></span></code></pre></div>
<p>And I&rsquo;ve got a few lines in my <code>~/.mutt/colors</code> file:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">color index cyan default <span class="s2">&#34;~n 0-2 !~p&#34;</span>
</span></span><span class="line"><span class="cl">color index magenta default <span class="s2">&#34;~n &lt;5&#34;</span>
</span></span><span class="line"><span class="cl">color index brightyellow default <span class="s2">&#34;~n &gt;15&#34;</span>
</span></span><span class="line"><span class="cl">color index brightred default <span class="s2">&#34;~n &gt;19&#34;</span>
</span></span><span class="line"><span class="cl"><span class="c1">#</span></span></span></code></pre></div>
<p>The macros pipe a given message into the script, the script extracts the sender, and the script writes a line into my <code>~/.mutt/scored</code> file. Then the <code>~/.mutt/colors</code> file (which you need to source in <code>muttrc</code>) assigns colors to certain scores. I have a few other rules in <code>~/.mutt/scores</code>, as well:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Date-based scoring penalties -- older things fall down</span>
</span></span><span class="line"><span class="cl">score ~d&gt;3d -1
</span></span><span class="line"><span class="cl">score ~d&gt;7d -3
</span></span><span class="line"><span class="cl">score ~d&gt;14d -10
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">score <span class="s2">&#34;~O&#34;</span> +10 <span class="c1"># old = +10 so I don&#39;t miss it</span>
</span></span><span class="line"><span class="cl">score <span class="s2">&#34;~F&#34;</span> +20 <span class="c1"># flagged = +20 so it stays in the interesting view for a while, even if old</span>
</span></span><span class="line"><span class="cl">score <span class="s2">&#34;!~p ~d&gt;7d&#34;</span> -10 <span class="c1"># not for me directly, getting old, let it fade away</span>
</span></span><span class="line"><span class="cl">score <span class="s2">&#34;!~l&#34;</span> +2 <span class="c1"># to a known list, give it a bump</span></span></span></code></pre></div>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2024-01-04</title>
      <link>https://mike.puddingtime.org/posts/2024-01-04-daily-notes/</link>
      <pubDate>Thu, 04 Jan 2024 08:05:34 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-01-04-daily-notes/</guid>
      <description>More Zellij. Stardew Valley.</description>
      <content:encoded><![CDATA[<h2 id="continuing-down-the-cli-rabbithole">Continuing down the CLI rabbithole</h2>
<p>I spent some more time playing around with Zellij this morning. I&rsquo;ve gone from &ldquo;cautiously interested&rdquo; to &ldquo;wow, this is pretty nice.&rdquo;  The nano-style help text in the bottom of the window, the simple navigation between panes/tabs, and the mouse-clickable tabs are all great if you are torn between different kinds of muscle memory.</p>
<p>I made a three-pane layout that keeps Emacs handy in a tall pane, plus two smaller stacked panes for my agenda and today&rsquo;s todo list. I run the two lists with <code>watch</code> in their respective panes so they&rsquo;re updating as things change, and I gave the Zellij session a specific name so I can easily rejoin from my laptop.</p>
<p>Having my task list and daily agenda in such a simple, bare-bones, always-there format works a lot better for me than <em>going to web pages</em> or <em>opening apps</em>. I know that stuff is in a named tab in my single terminal window. Because it&rsquo;s all plain text, it&rsquo;s much easier to take a glance and learn what I need because there&rsquo;s not much extra going on.</p>
<p>As much as I like having the on-screen help I can see turning off the help menu at some point once I&rsquo;ve got a little better muscle memory. Training wheels. Zellij has a lot of visual cues, and they can all be disabled once you&rsquo;re ready.</p>
<p>I haven&rsquo;t done a ton to configure it at this point. I did find <a href="https://github.com/zellij-org/zellij/tree/main/zellij-utils/assets/themes">the theme directory in the repo</a>, which includes a few old stand-bys. For configuration stuff <code>pane_frames false</code> turns off the frame treatment around each pane, which makes for less visual clutter.</p>
<h2 id="stardew-valley-and-vampire-survivors">Stardew Valley and Vampire Survivors</h2>
<p>I think I prefer this to the usurious raccoons of <em>Animal Crossing</em>. I&rsquo;ve just about gotten tired of my inevitably bad, painted-into-corners-of-my-own-devising first character, so over the weekend it&rsquo;ll be time to start a serious run.</p>
<p>Still playing <em>Vampire Survivors</em> but it dampened my own enthusiasm a little when I realized you can get the Garlic powerup and baically spend the first ten ranks of any level just standing there watching the bad guys self-immolate in your garlicky aura. I got one character to last for 29 minutes and 95 levels never straying more than a screen&rsquo;s width or two away from the starting point.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2024-01-03</title>
      <link>https://mike.puddingtime.org/posts/2024-01-03-daily-notes/</link>
      <pubDate>Wed, 03 Jan 2024 16:04:07 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-01-03-daily-notes/</guid>
      <description>More a/v messing around. Zellij: A tmux alternative.</description>
      <content:encoded><![CDATA[<h2 id="more-av-messing-around">More a/v messing around</h2>
<p>I got a boom for my USB shotgun mic (a Rode VideoMic GO). It mounts on the back of my desk and swings in and out of place between calls. It sits about eight inches away from my face, but just off camera (yay relatively tight 23mm crop) and the sound quality is sooo much better than when I had it mounted in my X-T2&rsquo;s hot shoe. Much more presence and bass, much less reverb.  Okay. Time to start a podcast. I can feel it.</p>
<h2 id="tmux-alternative">tmux alternative</h2>
<p><a href="https://zellij.dev/">Zellij</a> is a terminal multiplexer <em>ala</em> screen or tmux, but it&rsquo;s got a nicer onboarding ramp than either thanks to a decent menu that exposes most of what you need and out-of-the-box UX touches.</p>
<p><img src="https://photos.smugmug.com/photos/i-vcsZGfh/0/5ae23ff4/XL/i-vcsZGfh-XL.jpg" alt="Screenshot of Zellij, a terminal multiplexer showing multiple panes and a helpful menu"></p>
<h2 id="through-the-holidays">Through the holidays</h2>
<p>We had a pretty good holiday season this year. Ben was home from his first term at UofO, and we had a quiet couple of weeks with few obligations. Work was pretty quiet, too: We had a major system change slated for the interim week, then the vendor backed out, so there was a little bit of &ldquo;shrug, I guess there&rsquo;s this paperwork to catch up on,&rdquo; which is a fine way to spend that week.</p>
<p>It&rsquo;s good to be almost on the other side: We have a balance day off this Friday, so this will be a three-day week, then back to normal next week.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2024-01-01</title>
      <link>https://mike.puddingtime.org/posts/2024-01-01-daily-notes/</link>
      <pubDate>Mon, 01 Jan 2024 13:18:52 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2024-01-01-daily-notes/</guid>
      <description>Auto-disowning in zsh. A little CLI ditty for scheduling work blocks in Google Calendar.</description>
      <content:encoded><![CDATA[<h2 id="auto-disowning-in-zsh">Auto-disowning in zsh</h2>
<p><code>setopt AUTO_CONTINUE</code> sends <code>CONT</code> to a process as you background it instead of having to manually <code>disown</code>.</p>
<h2 id="scheduling-work-blocks-in-google-calendar-from-the-cli">Scheduling work blocks in Google Calendar from the CLI</h2>
<p>When I&rsquo;m starting the day I like to schedule work blocks for anything I need to get to from my task list. I don&rsquo;t like pointing and clicking, so I made <a href="https://gist.github.com/pdxmph/93fcc5122063e7b364cd0a992e25753a">a quick tool to schedule blocks</a>:</p>
<p><code>$ sked &quot;Do some thing&quot; -t 15:00</code></p>
<p>That&rsquo;ll just drop a 30 minute &ldquo;Do some thing&rdquo; block at 3 p.m.</p>
<p>It assumes a 30-minute duration and today as the date, but you can alter those with <code>-d/--duration</code> and <code>-D/--date</code>.</p>
<p>Needs a working <a href="https://github.com/insanum/gcalcli">gcalcli</a>.</p>
<p>Pairs nicely with the Remember the Milk CLI app: I can run any of several aliases I&rsquo;ve set up to see what&rsquo;s due, what&rsquo;s missing a date, etc. and just start typing items and times in the spaces I have open to get some things done.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-31</title>
      <link>https://mike.puddingtime.org/posts/2023-12-31-daily-notes/</link>
      <pubDate>Sun, 31 Dec 2023 10:11:06 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-31-daily-notes/</guid>
      <description>Suffix aliases in zsh. More Remember the Milk from the CLI.</description>
      <content:encoded><![CDATA[<h2 id="suffix-aliases-in-zsh">Suffix aliases in zsh</h2>
<p>Today I learned about suffix aliases in zsh. They look like:</p>
<p><code>alias -s md=$EDITOR</code></p>
<p>Typing <code>foo.md</code> will open that file in your <code>$EDITOR</code>, creating it if it&rsquo;s not there already.</p>
<p>Given kitty and its ability to display images, I added a few to make it easier to preview them in the terminal:</p>
<p><code>alias -s jpg='kitten icat'</code></p>
<p>With the aliases in place, autocomplete recognizes them as candidates, similar to if you had <code>+x</code> set on them.</p>
<p><img src="https://photos.smugmug.com/photos/i-FTNcpS2/0/XL/i-FTNcpS2-XL.png" alt="Screenshot of a text terminal displaying an image"></p>
<h2 id="more-rtm-from-the-command-line">More rtm from the command line</h2>
<p>I made a small alias to get stuff into my RTM inbox and drop a <code>#triage</code> tag onto the item.</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">ib<span class="o">()</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">    rtm add <span class="s2">&#34;</span><span class="nv">$1</span><span class="s2"> #triage&#34;</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span></span></span></code></pre></div>
<p>The danger of anything like that is that you train yourself to drop things in your inbox but then have to pick through and triage them. The <a href="https://github.com/dwaring87/rtm-cli">rtm CLI</a> also takes aliases to help keep things nice and terse:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;triage&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;description&#34;</span><span class="p">:</span> <span class="s2">&#34;Show tasks from inbox marked triage.&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;command&#34;</span><span class="p">:</span> <span class="s2">&#34;ls&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;args&#34;</span><span class="p">:</span> <span class="s2">&#34;list:Inbox AND tag:triage&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div>
<p>&hellip; which gives me <code>rtm triage</code> as opposed to <code>rtm list:Inbox AND tag:triage</code>.</p>
<p>I&rsquo;ve got another one to help me catch items with no dates:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl">   <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;loose&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;description&#34;</span><span class="p">:</span> <span class="s2">&#34;Show unscheduled tasks in the Iterable list.&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;command&#34;</span><span class="p">:</span> <span class="s2">&#34;ls&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;args&#34;</span><span class="p">:</span> <span class="s2">&#34;list:Iterable AND status:incomplete AND due:never&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span></span></span></code></pre></div>
<p>&hellip; <code>rtm loose</code> to see everything in my Iterable box that doesn&rsquo;t have a date.</p>
<h3 id="-but-mike">&hellip; but Mike</h3>
<p>&hellip; why not org-mode?</p>
<p>Mobile, basically. If I wanted to set up Dropbox on all my stuff I could probably have a decent mobile org experience. I don&rsquo;t want to set up Dropbox, and my experiments with syncthing and its iOS client haven&rsquo;t really given me comfort that the system would be very reliable.</p>
<h2 id="-anyhow">&hellip; anyhow</h2>
<p>It&rsquo;s New Year&rsquo;s Eve and I need to get to the liquor store. See you next year.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-29</title>
      <link>https://mike.puddingtime.org/posts/2023-12-29-daily-notes/</link>
      <pubDate>Fri, 29 Dec 2023 15:08:36 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-29-daily-notes/</guid>
      <description>kitty and denote. Terminal maximalism? A few fun CLI app directories. Autojump for better CLI fs navigation. More Vampire Survivors.</description>
      <content:encoded><![CDATA[<h2 id="vampire-survivors-again">Vampire Survivors, again</h2>
<p>I used to play this tower defense game on the Mac called <em>Hordes of Orcs.</em>  Orcs would enter a maze, you&rsquo;d build towers of all kinds to murder them. After playing for a while, I came to pick out a certain aural signature. As you built more and more elaborate orc-murdering capabilities, you could begin to hear a rhythm emerge &ndash; the sound of a tower spraying hot death, the sounds the orcs made. It was not a rhythm game, but it invoked a similar feeling.  I came to think of a session of HoO as &ldquo;firing up the murder factory.&rdquo;</p>
<p>Well, Vampire Survivors sort of does that, too. I didn&rsquo;t really notice until I turned the music off, but as a level progresses and gets more intense and your character is surrounded by a number of orbiting weapons (boomerang axes, a lethal garlic aura, puddles of holy water dropping from the sky, two orbiting birds that rain death, etc.) you can hear the rhythm of all those things interacting.</p>
<p>It also occurred to me that Vampire Survivors reminds me a lot of <em><a href="https://en.wikipedia.org/wiki/Robotron%3A_2084">Robotron: 2084</a></em>.</p>
<p>Anyhow, it&rsquo;s an awful lot of fun for such a simple game.</p>
<h2 id="kitty-and-denote">kitty and denote</h2>
<p>Okay.</p>
<ol>
<li>Emacs as a systemd service? <a href="/posts/2023-12-25-daily-notes/">Check</a>.</li>
<li>Launching useful stuff in kitty? <a href="/posts/2023-12-27-daily-notes/">Check</a>.</li>
<li>Making a quick Denote note in kitty &hellip; ?</li>
</ol>
<p>Sure.</p>
<p>Make an org capture template like this:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-lisp" data-lang="lisp"><span class="line"><span class="cl"><span class="p">(</span><span class="nv">with-eval-after-load</span> <span class="ss">&#39;org-capture</span>
</span></span><span class="line"><span class="cl">  <span class="p">(</span><span class="nv">add-to-list</span> <span class="ss">&#39;org-capture-templates</span>
</span></span><span class="line"><span class="cl">               <span class="o">&#39;</span><span class="p">(</span><span class="s">&#34;n&#34;</span> <span class="s">&#34;New note (with Denote)&#34;</span> <span class="nv">plain</span>
</span></span><span class="line"><span class="cl">                 <span class="p">(</span><span class="nv">file</span> <span class="nv">denote-last-path</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">                 <span class="nf">#&#39;</span><span class="nv">denote-org-capture</span>
</span></span><span class="line"><span class="cl">                 <span class="ss">:no-save</span> <span class="no">t</span>
</span></span><span class="line"><span class="cl">                 <span class="ss">:immediate-finish</span> <span class="no">nil</span>
</span></span><span class="line"><span class="cl">                 <span class="ss">:kill-buffer</span> <span class="no">t</span>
</span></span><span class="line"><span class="cl">                 <span class="ss">:jump-to-captured</span> <span class="no">t</span><span class="p">)))</span></span></span></code></pre></div>
<p>&hellip; then add this to <code>kitty.conf</code>:</p>
<p><code>map kitty_mod+d launch emacsclient -t &quot;org-protocol:///capture?template=n&quot;</code></p>
<p>That launches an emacsclient instance in a new kitty window teed up to enter the title and tags for a denote note.</p>
<p>There&rsquo;s another way to do this, using kitty&rsquo;s startup sessions capabilities.</p>
<p>You can make a session file with something like this in your config directory:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">launch emacsclient -t &#34;org-protocol:///capture?template=n&#34;
</span></span><span class="line"><span class="cl">focus_os_window`</span></span></code></pre></div>
<p>&hellip; name it something like <code>denote.conf</code></p>
<p>&hellip; and launch it with <code>kitty --session denote.conf</code>.</p>
<p>Which isn&rsquo;t really what you want to do. You really want to use that for a custom keybinding out in your window manager.</p>
<h2 id="terminal-maximalism">terminal maximalism?</h2>
<p>Seeing my agenda for the day in a terminal &hellip; getting my upcoming todos in a terminal &hellip; denote notes in a terminal &hellip;</p>
<p>Is this all some sort of terminal maximalism thing?</p>
<p>Maybe, I guess?</p>
<p>I don&rsquo;t know about the rest of the world, but I go through moods with this stuff. Some days I feel supremely unfussed about the assorted UIs imposed on us by web app designers. Some days I feel very resistant to messing around with a browser or mouse. It&rsquo;s nice to sit down to a text editor in a terminal, start writing, and be able to quickly orient on where I&rsquo;m at in the day with a glance at my agenda or the day&rsquo;s todos. There are some days I don&rsquo;t feel put upon doing that in a browser window.</p>
<p>Looking at <a href="https://github.com/xwmx/nb">nb</a> is what got me thinking about doing more in a text shell, but I couldn&rsquo;t figure out a good way to solve for the mobile use case and I didn&rsquo;t want to live in it as my task manager. Sometimes it is handy to be able to manage or just review todos with a GUI. Its notes tool is fine, but I spent a lot of time setting up Denote and really appreciate it, plus I have a way to review my Denote notes via the web and create them on the go with Drafts.</p>
<p>And when I think about my little 11&quot; MacBook Air, that&rsquo;s a machine that would benefit from not having a lot of GUI clutter and not having a lot of open apps. It&rsquo;s a great candidate for spending more time in a terminal.</p>
<p>So &hellip; less terminal maximalism and more terminal optionality. For days when pointy-clicky feels really burdensome.</p>
<p>Anyhow, I did find a few good collections of CLI app links:</p>
<ul>
<li><a href="https://github.com/agarrharr/awesome-cli-apps">awesome-cli-apps</a></li>
<li><a href="https://github.com/alebcay/awesome-shell">awesome-shell</a></li>
</ul>
<p>I think my favorite discovery from both of them at this point is probably <a href="https://github.com/alebcay/awesome-shell#readme">autojump</a>, which watches where you visit and lets you go there from anywhere else, rather than having to descend and ascend a directory hierarchy. If you want to give it a try, the documentation is missing one key thing, at least if you pull it down from Fedora: You need to source a file it sticks in <code>/usr/share/autojump</code> in your shell&rsquo;s <code>.rc</code> file. The core package in Fedora supplies that file for bash, and you have to install the <code>autojump-zsh</code> package to get it for zsh.</p>
<h2 id="the-working-world">the working world</h2>
<p>Today I feel very annoyed with what I have come to think of as &ldquo;Businessing,&rdquo; which is to say &ldquo;all the things people do in the course of working in a business, but especially the ones that involve things nobody will say and rules nobody will articulate.&rdquo;</p>
<p>I don&rsquo;t think I have much more to say about it than that, so consider this me quietly whispering discontent into a hole in the side of a stump in the middle of an empty field under a new moon at midnight.</p>
<p>Okay. I have a little more to say.</p>
<p>Years and years ago I read Paul Fussel&rsquo;s <em><a href="https://www.goodreads.com/book/show/60044.Class">Class</a></em>. I was at something of a personal low point: Recently out of the army, a very different person on the other side of the experience, and feeling exiled in a small southern university town. <em>Class</em> gave me a lens for observing other people that my feelings of unbelonging and insecurity hadn&rsquo;t ever allowed through. It&rsquo;s a light, biting book that would pair nicely with Barbara Ehreneich&rsquo;s <em><a href="https://www.goodreads.com/book/show/24457.Fear_of_Falling">Fear of Falling</a></em>.</p>
<p>Once I saw the thing <em>Class</em> calls out when it&rsquo;s at its most empathetic &ndash; the constant and pervasive atmosphere of insecurity middle class people occupy and perpetuate &ndash; it made some things about work a little easier.  But just a little.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-28</title>
      <link>https://mike.puddingtime.org/posts/2023-12-28-daily-notes/</link>
      <pubDate>Thu, 28 Dec 2023 11:30:38 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-28-daily-notes/</guid>
      <description>A CLI for Remember the Milk. Vampire Survivors. A little on Substack.</description>
      <content:encoded><![CDATA[<h2 id="a-cli-for-rtm">A CLI for rtm</h2>
<p>Just as good as Todoist for my purposes, and with a little more personal affection toward it, is definitely <a href="https://www.rememberthemilk.com/app/">Remember the Milk</a>. It also <a href="https://github.com/dwaring87/rtm-cli">has a CLI</a> that allows for task manipulation, etc. It also uses RTM&rsquo;s advanced search syntax, so you don&rsquo;t have to have a preexisting filter, as you would in Todoist, to query upcoming todos with due dates only:</p>
<p><code>rtm lsd -d 4 NOT due:never</code></p>
<p>(<em>List due items no more than 4 days out, exclude things without due dates</em>)</p>
<p>Its output also includes index numbers, so once I invoke my near-term todos, I can act on them from the command line, e.g.</p>
<p><code>rtm due 07 tomorrow</code></p>
<p>&hellip; which changes the due date of item 7 from the list to tomorrow.</p>
<p>I think this may have put to bed my interest in exploring <a href="https://xwmx.github.io/nb/">nb</a>. I spent some time poking at it, but the question, as always, comes down to &ldquo;how does this thing handle mobile use cases?&rdquo; For todos, I need a little more than the sort of <a href="https://gist.github.com/pdxmph/1d17833f910dbfd86068d94cfac585f9">web publishing lashup I made for my Denote notes</a>.</p>
<h2 id="vampire-survivors">Vampire Survivors</h2>
<p>I am not sure what compelled me besides maybe the sale price, but I gave Vampire Survivors a go and I&rsquo;m hooked. It&rsquo;s a rogue-like bullet hell thing where you&rsquo;re running around being chased by hordes of undead, slowly acquiring weapons and powerups that eventually turn you into a killing machine.</p>
<p>It was disorienting at first, because you don&rsquo;t do anything besides move around. All your weapons fire or deploy themselves, and your only real input into the process is the direction you face the character. Live long enough and you&rsquo;re eventually emitting magical energies or deploying roaming weapons of mass destruction, killing the oncoming demonic hordes by the score. Sometimes there&rsquo;s a turkey you can eat to get life back.</p>
<p>It&rsquo;s an intense game, but it&rsquo;s not really fast. I think that&rsquo;s what I like about it. Your character doesn&rsquo;t move at a very high speed. You just sort of walk around, trying not to be touched by the monsters. If you&rsquo;re lucky you happen across one of the aura weapons that just passively kill anything that gets close. When you die, you can spend your gold on incremental improvements to your character that allow you move a little faster, regenerate health, widen the radius of your weapons, do more damage, etc.</p>
<p>It&rsquo;s very simple to play and very easy to put down and pick back up.</p>
<h2 id="substack">Substack</h2>
<p>I wish people that I appreciate and who are not Nazis, or interested in helping Nazis, and who are also on Substack, would get off of it. The company did itself a favor paying the advances it did at its founding, because I know of a few writers who have been very transparent about how much space that gave them to branch out on their own, establish or rebuild writing careers, and find an audience.</p>
<p>I always wondered how long it would take for attention to turn to it, and what it would take. Honestly, I think it is a refutation of the Woke Apocalypse Doomsaying Community that it took this long and such an odious provocation to finally generate that kind of awareness. There has always been complaining, because left libs were never going to be okay with a platform that provided a home for the likes of Bari Weiss, Matt Taibi, and assorted other &ldquo;heterodox&rdquo; types, but it took honest-to-God Nazis &ndash; and the fact that Substack has decided their money spends just fine &ndash; to draw prolonged attention.</p>
<p>A while back, fresh out of years and years doing online content, I gave a thought to providing something Substack-like: I had the technical know-how for a lot of it, had done some time putting together newsletters and turnkey premium content, and had a good idea of what would work for content types. I didn&rsquo;t have any idea how to scale it all, or how to draw the line between &ldquo;good enough&rdquo; and &ldquo;feature rich&rdquo; in a way that would make much money. I&rsquo;m just noting that because the quandary facing people who signed up and are now making a living from their work on Substack is real. There are parts and pieces laying around that they could pick up and use to cobble together a similar suite of blog, newsletter, and podcast tools; but the discovery part &ndash; the marketing problem, especially given the current realignment going on with social media &ndash; is going to be fraught even if one does have the wherewithal to rummage around in the parts bin of publishing platforms, payment processing, etc.</p>
<p>This is a tougher situation than, I dunno, a well-off tech worker who just can&rsquo;t kick their X habit. It is hard to make a go of it as a writer. It would be hard to pull up stakes and move on.</p>
<p>I wouldn&rsquo;t mind being a little more current and capable than I am today, because there would be some social utility and satisfaction in helping people get out of this situation.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-27</title>
      <link>https://mike.puddingtime.org/posts/2023-12-27-daily-notes/</link>
      <pubDate>Wed, 27 Dec 2023 17:13:08 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-27-daily-notes/</guid>
      <description>Todos and agenda with kitty. Better Zoom audio. Roy Clark, guitar god.</description>
      <content:encoded><![CDATA[<h2 id="todos-and-agenda-with-kitty">Todos and agenda with kitty</h2>
<p>I&rsquo;ve been using Todoist to stick stuff that I have to keep track of in a list: It&rsquo;s got a decent web interface, you can do a card view, and it has clients for pretty much everything. It could be any of several online todo apps. I don&rsquo;t care. I don&rsquo;t love it, I am not passionate about it, it&rsquo;s just there and it makes lists which means my preference for hand-written meeting notes doesn&rsquo;t have to get in the way of keeping track of tasks.</p>
<p>I was happy to learn about <a href="https://github.com/alanvardy/tod">this Rust-based CLI tool for Todoist called &ldquo;tod&rdquo;</a>, which makes it easy to pull lists of todos, process todos, etc. all from the command line. I don&rsquo;t mean to use it to process things, but I was looking for a way to print a list of today&rsquo;s todos, and it can do that.</p>
<p>I was also happy to learn about <a href="https://github.com/insanum/gcalcli">gcalcli</a>, which can pull your Google Calendar down from the command line, as well.</p>
<p>I made a couple of launch actions in kitty:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">map kitty_mod+a launch --hold ruby ~/bin/agenda.rb
</span></span><span class="line"><span class="cl">map kitty_mod+o launch --hold tod task list -f today</span></span></code></pre></div>
<p>The ruby script in the first line is a wrapper around gcalcli because its agenda command takes a couple of ISO-8601 dates, and I got tired of trying to escape <code>date</code> and all its arguments in a config file.</p>
<p>So, <code>mod+a</code> to list today&rsquo;s agenda in a kitty window, and <code>mod+o</code> to list my todos for the day.</p>
<p><img src="https://photos.smugmug.com/photos/i-72SnqMW/0/XL/i-72SnqMW-XL.png" alt="A kitty terminal showing a text todo list and calendar agenda."></p>
<h2 id="better-zoom-audio">Better Zoom audio</h2>
<p>I have wanted to get rid of my Jabra headset because I look like a telemarketer in it. I had a few offers of loaned gear, neither of which I&rsquo;d gotten around to collecting before I went digging around in the photography parts bin thinking I had, at some point in the past few years, bought a mic and maybe it&rsquo;d do the trick. Sure enough, I found a RØDE VideoMic sitting at the bottom of the box. I bought it for a holiday project and never thought of it as a way to improve teleconferencing until Luke said &ldquo;USB shotgun mic&rdquo; as a possible solution.</p>
<p>I mounted it in the hot shoe of the Fujifilm X-T2 I use for Zoom video and plugged into my Linux desktop. It showed up as a source for Zoom, and that was about all there was to it. I did a few tests to make sure the positioning would work, then a few A/B tests with my Jabra headset to see how much of a change there&rsquo;d be. There&rsquo;s definitely a little less presence, but it&rsquo;s not that much worse, I&rsquo;m free of the headset, and the sound is much better than the mics that come on laptops. It seems to have an app for configuring some soft options if you plug it into a Mac or iPhone.</p>
<p>I&rsquo;m using a pair of powered bookshelf speakers as &ldquo;studio monitors&rdquo; right now. They&rsquo;re a little undefined and boomy with <em>other</em> peoples&rsquo; dinky laptop mics, so I&rsquo;m not sure what to do there. A little preliminary fiddling with <a href="https://github.com/wwmm/easyeffects">Easy Effects</a> suggests I can probably squeeze something out in software.</p>
<p>But even in this sorta primitive state, I really like where I&rsquo;m at: I can just sit down at my desk, start the call, and not have a thing stuck on my head, Bluetooth to worry about, etc. etc. The CamLink 4K/Fujifilm combo has been very consistent, and the 23mm/f2 &ldquo;Fujicron&rdquo; has been a great lens for this application. It crops tight enough to seem more intimate than the average super-wide web cam, but not so tight that I&rsquo;m a giant looming head or unable to shift between &ldquo;attentive and upright&rdquo; and &ldquo;listening but not hanging on every word.&rdquo;</p>
<p>I need to improve my lighting situation a little. I have a Lume Cube Panel Mini but need to get a reliable power source and mount for it so I can quit using the overhead light in my office when the light coming in through the window gets too low: It makes the lens hunt unless I stop it down (and up goes the ISO) and the light coming off the monitor gives everything a super cold cast.</p>
<h2 id="roy-clark-guitar-god">Roy Clark, Guitar God</h2>
<p>My family watched <em>Hee Haw</em> growing up, and Roy Clark was always just the one who smiled a lot to me. I think I liked Buck Owens better for reasons lost to me. We also watched <em>The Odd Couple</em>, so here&rsquo;s a crossing of the streams.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/-xssnp7R51A?si=-dYliXADqDnrX_i8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-26</title>
      <link>https://mike.puddingtime.org/posts/2023-12-26-daily-notes/</link>
      <pubDate>Tue, 26 Dec 2023 21:17:33 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-26-daily-notes/</guid>
      <description>Detroit: Become Human. Linux config cloning with Mackup. Machine-specific configs with kitty. Making kitty your default GNOME terminal (sort of).</description>
      <content:encoded><![CDATA[<h2 id="detroit-become-human">Detroit: Become Human</h2>
<p>&hellip; was on sale on Steam. Ben recommended it, so <a href="https://www.quanticdream.com/en/detroit-become-human">that&rsquo;s</a> the new game for the Steamdeck this week. So far &hellip; you know &hellip; there&rsquo;s a little <em>Blade Runner</em>, there&rsquo;s a little <em>Minority Report</em>, there&rsquo;s a little <em>AI</em>. It moves at a pace that works for me, with a few things that require some timing, but mostly just making decisions and dealing with the outcomes.</p>
<h2 id="config-cloning-with-mackup-again">Config cloning with Mackup (again)</h2>
<p>A while back <a href="/posts/2023-03-20-daily-notes-for-2023-03-20/#mackup">I learned about Mackup</a>, which uses whatever you&rsquo;ve got in the way of a syncing filesystem to sync config files between systems. It has a library of hundreds of apps from Mac and Linux that it understands out of the box: You can either let it sync everything it can find, give it an allow list, or give it a disallow list. By default it expects to use Dropbox, but I took a little time to set it up in syncthing this evening.</p>
<p>At the moment I&rsquo;m using it for zsh, kitty, git, ssh, and the GitHub CLI tool, which led me to figure out &hellip;</p>
<h2 id="machine-specific-configs-with-kitty">Machine-specific configs with kitty</h2>
<p>As I play with <a href="https://sw.kovidgoyal.net/kitty/">kitty</a> more I&rsquo;ve been bumping into the display differences between all my different machines. That makes finding a consistent font size a little annoying. I learned that kitty can take environment variables in its config, so for machine-specific stuff I can do something like:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">include ${HOSTNAME}.conf</span></span></code></pre></div>
<p>&hellip; then in <code>foo.conf</code> put machine-specific settings:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">font_size 18</span></span></code></pre></div>
<h2 id="making-kitty-your-default-gnome-terminal-sort-of">Making kitty your default GNOME terminal (sort of)</h2>
<p><a href="https://github.com/hrdkmishra/changetoKitty/blob/main/changetoKitty.sh">This shell script</a> just concedes to my muscle memory: When I invoke the GNOME launcher and type &ldquo;terminal&rdquo; before I can stop myself, this just makes sure kitty is the thing launching.</p>
<h2 id="my-linux-life">My Linux life</h2>
<p>I think it has been over a week since I last switched over to the Mac Studio. It&rsquo;s just sitting there. I copied my photo library over to a drive attached to the Linux desktop, but haven&rsquo;t taken the time to start playing with darktable in earnest.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-25</title>
      <link>https://mike.puddingtime.org/posts/2023-12-25-daily-notes/</link>
      <pubDate>Mon, 25 Dec 2023 13:06:19 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-25-daily-notes/</guid>
      <description>Kitty (and GNOME generally) with the Monaspace fonts. My first game of Cards Against Humanity. Emacs as a systemd service.</description>
      <content:encoded><![CDATA[<h2 id="kitty-and-gnome-generally-with-the-monaspace-fonts">Kitty (and GNOME generally) with the Monaspace fonts.</h2>
<p>You can tell it was a long weekend because I was experimenting with alternative terminal emulators, starting with <a href="https://sw.kovidgoyal.net/kitty/">kitty</a> because &hellip; I saw someone mention it? I don&rsquo;t remember why, but here we are.</p>
<p>In the process of configuring it I came across something I&rsquo;d just pushed to the background, which was that none of the terminal apps I was using were picking up on the <a href="https://monaspace.githubnext.com/">Monaspace fonts</a> as legit candidates. So I decided to run it down and learned that the font system doesn&rsquo;t see those fonts as actually monospaced.</p>
<p>Here&rsquo;s an incantation you can stick in <code>~/.config/fontconfig/conf.d/20-monaspace.conf</code>, then run <code>fc-cache -f</code>.</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-xml" data-lang="xml"><span class="line"><span class="cl"><span class="cp">&lt;?xml version=&#34;1.0&#34;?&gt;</span>
</span></span><span class="line"><span class="cl"><span class="cp">&lt;!DOCTYPE fontconfig SYSTEM &#34;fonts.dtd&#34;&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;fontconfig&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&lt;match</span> <span class="na">target=</span><span class="s">&#34;scan&#34;</span><span class="nt">&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&lt;test</span> <span class="na">name=</span><span class="s">&#34;family&#34;</span> <span class="na">compare=</span><span class="s">&#34;contains&#34;</span><span class="nt">&gt;</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&lt;string&gt;</span>Monaspace<span class="nt">&lt;/string&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&lt;/test&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&lt;edit</span> <span class="na">name=</span><span class="s">&#34;spacing&#34;</span><span class="nt">&gt;</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&lt;const&gt;</span>dual<span class="nt">&lt;/const&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&lt;/edit&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&lt;/match&gt;</span>
</span></span><span class="line"><span class="cl"><span class="nt">&lt;/fontconfig&gt;</span></span></span></code></pre></div>
<p>Seemed to fix it.</p>
<p>Anyhow, what do I like about kitty?</p>
<ul>
<li>Quick access to launching URLs from a keyboard shortcut.</li>
<li>The whole &ldquo;kitten&rdquo; extension system, which includes some good ones for theme selection, file transfers, and <a href="https://sw.kovidgoyal.net/kitty/kittens/hyperlinked_grep/">hyperlinked grep</a></li>
<li>Its pared-down, simple vibe sitting on top of all the customization.</li>
</ul>
<h2 id="my-first-game-of-cards-against-humanity">My first game of Cards Against Humanity</h2>
<p>&hellip; was this weekend, with a room full of people I don&rsquo;t know very well. How to approach this?</p>
<p>I guess I&rsquo;ll say this:</p>
<p>I&rsquo;ve got a particular sense of humor and I am okay with it, but it is not for everyone. Given what looked like a big box full of thousands of Cards Against Himanity cards, it is entirely reasonable to me that there would be something in there that would exceed my own capacity to shock or to be shocked. There were a few &ldquo;ick&rdquo; moments, and a few &ldquo;lol&rdquo; moments, but many, many more &ldquo;I&rsquo;d have to think this is funny for this to be funny&rdquo; moments, but not because I found those things <em>offensive</em> so much as just &hellip; not funny?</p>
<p>The whole exercise was a little lost on me because there is a difference between &ldquo;I am wound super tight and this is a transgressive thrill that allows me to occupy a space I do not ordinarily permit myself or permit for others&rdquo; and &ldquo;I find all sorts of shit funny and understand not everyone else does, so I am not going to communicate some of those things in some contexts.&rdquo;</p>
<p>So I didn&rsquo;t find the whole thing liberating or freeing or transgressive. It reminded me a lot of what David Graeber had to say about &ldquo;play&rdquo; vs. &ldquo;games&rdquo;:</p>
<blockquote>
<p>&ldquo;Freedom has to be in tension with something, or it’s just randomness. This suggests that the absolute pure form of play, one that really is absolutely untrammeled by rules of any sort (other than those it itself generates and can set aside at any instance) itself can exist only in our imagination, as an aspect of those divine powers that generate the cosmos. Here’s a quote from Indian philosopher of science Shiv Visvanathan:</p>
</blockquote>
<blockquote>
<p>&ldquo;&rsquo;<em>A game is a bounded, specific way of problem solving. Play is more cosmic and open-ended. Gods play, but man unfortunately is a gaming individual. A game has a predictable resolution, play may not. Play allows for emergence, novelty, surprise.</em>'</p>
</blockquote>
<blockquote>
<p>&ldquo;All true. But there is also something potentially terrifying about play for just this reason. Because this open-ended creativity is also what allows it to be randomly destructive. Cats play with mice. Pulling the wings off flies is also a form of play. Playful gods are rarely ones any sane person would desire to encounter. Let me put forth a suggestion, then. What ultimately lies behind the appeal of bureaucracy is fear of play.&rdquo;</p>
</blockquote>
<p>Cards Against Humanity is definitely a game. And it is not, as Dungeons and Dragons can be, a kind of game that allows you to poke at the edges of play very much.</p>
<h2 id="launching-emacs-from-systemd">Launching Emacs from systemd</h2>
<p>It happened a few versions ago, when I was busy running it on a Mac, but Emacs ships with a systemd unit, so you can fire it up like a service and use it with emacsclient. That simplifies a few things. <a href="https://emacsredux.com/blog/2020/07/16/running-emacs-with-systemd/">Bozhidar Batsov on how it all works.</a> I came across this while I was busy trying to make my Hugo posting script work across Linux and macOS machines, and cursing the whole daemonized Emacs situation. His whole blog is a treasure trove.</p>
<p>I&rsquo;m wondering, given the way I use Emacs these days, why I insist on running the GUI version. I should try not for a few days and see what comes up.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-23</title>
      <link>https://mike.puddingtime.org/posts/2023-12-23-daily-notes/</link>
      <pubDate>Sat, 23 Dec 2023 10:57:59 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-23-daily-notes/</guid>
      <description>Customizing trackpad stuff outside desktop environments. I&amp;rsquo;m over realism. Cozymas.</description>
      <content:encoded><![CDATA[<h2 id="enable-tap-to-click-in-i3-wm">Enable tap to click in i3 WM</h2>
<p>I fiddled around with i3 WM last night because why not, and because if you&rsquo;re going to crow about how far along Linux is you owe it to yourself to go, if not completely off-road, at least onto the side and back roads of the Linux desktop experience.</p>
<p>It was sort of interesting. Some stuff about it feels a little over-committed to the tiling window manager bit, and maybe some of it is the sort of stuff you just eventually figure out how to deal with, but on some level, even after an hour of learning it by trying to solve configuration problems with it, I was in a small groove.</p>
<p>But wow is it a throwback experience.  You just sorta get hucked into this environment that doesn&rsquo;t care to tell you much and doesn&rsquo;t do the things you may have come to expect from other environments and you start figuring it out.</p>
<p>Beyond the basic questions, like &ldquo;how do I launch a browser&rdquo; or &ldquo;how do I change my wallpaper,&rdquo; there are the things that desktop environments like GNOME, KDE, Cinnamon, or XFCE have taken as part of their remit, such as exposing friendly interfaces to UI and font scaling for HiDPI displays, setting up natural scrolling or tap-to-click on trackpads, and wiring up your keyboard&rsquo;s media keys.</p>
<p>i3 is <em>so</em> passionately disinterested in that stuff that I&rsquo;m going to confess to feeling a certain guilty feeling even thinking about wallpaper or a graphical web browser.</p>
<p>Anyhow, in the process of playing around and trying to figure out how to get natural scrolling and tap-to-click, I found a bunch of &ldquo;just run <code>xinput and do archaeology</code>&rdquo; advice before coming across how to do it with <code>xorg.conf.d</code>, <a href="https://cravencode.com/post/essentials/enable-tap-to-click-in-i3wm/">in case you&rsquo;re curious</a>.</p>
<h2 id="the-realistic-response">The realistic response</h2>
<p>A thing I want to work on:</p>
<p>Understanding when my reaction to something is coming from a place of determining what the &ldquo;realistic&rdquo; response is vs. a response informed by a sense of what&rsquo;s right.</p>
<p>The <a href="https://www.theverge.com/23998294/beeper-imessage-apple-app-security">Beeper vs. Apple saga</a>, of all things, is a vein to mine here.</p>
<p>On the one hand, nothing I&rsquo;ve read from the Beeper side has caused me to take the&rsquo;m very seriously. Like, what they&rsquo;re up to sounds like a sloppy hack I wouldn&rsquo;t bother with if I&rsquo;d taken my own time to devise it. Maybe an interesting problem to solve, but I&rsquo;d expect it to work for a z release or two before some breaking change. I wouldn&rsquo;t sell it to <em>myself</em> for free, I guess is what I&rsquo;m saying, let alone $2/month from strangers. And I say that as a relatively happy <a href="https://bluebubbles.app/">BlueBubbles</a> user who will stop using BlueBubbles the day I decide to stop using iPhones (which may never happen, but it is not in my mental model of things I want to &ldquo;just work&rdquo; to continue to exist in some phantom state of legitimacy on Apple&rsquo;s platform).</p>
<p>Along those same lines, forget about &ldquo;some API changes without any particular intention to kill this thing end up killing it,&rdquo; who in their right mind would expect Apple to <em>not</em> deliberately break this particular hack the second they were made aware of it?</p>
<p>So &hellip; there&rsquo;s the <em>realistic</em> response: &ldquo;I find this to be of dubious utility, I&rsquo;d never hang my hat on it, and it is doomed because Apple will crush it with as little thought given to the matter as I give to drawing my next breath.&rdquo;</p>
<p>But there&rsquo;s the part of me that is just sort of over &ldquo;realism&rdquo; because I&rsquo;ve been at this a while and do not see in Apple anything I have not seen in every other situation like this that has occurred over the past several decades, same as when AOL did its crackdown on 3rd party AIM clients decades ago, or when Reddit made its own API unaffordable to indy developers in the past year.</p>
<p>The &ldquo;realistic&rdquo; response is to say &ldquo;their platform, their rules,&rdquo; because that&rsquo;s the <a href="https://en.wikipedia.org/wiki/Capitalist_Realism">capitalist realist</a> response. But when I&rsquo;ve encountered the capitalist realist answer elsewhere I have found it profoundly unsatisfying: I never expected better of conservative types, but it has been pretty disappointing to see, over the past several decades, how comfortable liberal/progressive types have become with the privatization of everything and their quiet acceptance of market dynamics as a way to settle issues of human freedom and equity.</p>
<p>So, the thing I want to work on, I guess, is being a little less &ldquo;realistic&rdquo; in my reflexive responses. It&rsquo;s simply not my job to care about Apple&rsquo;s corporate prerogatives, and it&rsquo;s not my job to do ideological contortions to rationalize their walled garden, or anyone else&rsquo;s for that matter.</p>
<h2 id="cozymas">Cozymas</h2>
<p>Al and I call this time of year &ldquo;Cozymas.&rdquo; From the outside, it will look like Christmas: There&rsquo;s a tree, there are presents. We try to keep the present count down, and we prefer to think of it as a time of year when we take joy being in a warm house and rediscovering small things that feel good.</p>
<p>We landed on this because one of Ben&rsquo;s early Christmases didn&rsquo;t go so well: It was overstimulating and plainly too much for him, and it was hard to see that given how much work we&rsquo;d put in to making it all just so.  So we adopted a deliberately low-key take after that. Low-key enough that he complains about our disinterest in doing things up too much.</p>
<p>I&rsquo;m glad we&rsquo;re like that, though, because &mdash; and it took me years to isolate the feeling &mdash; I&rsquo;m just not a fan of the holiday. I&rsquo;ll probably never talk in as public a forum as this blog about all the reasons why, but I have them. Even in our insistence that this time of year involve little rushing or stress or concern about perfection, I feel uneasy and out of sync with the world around me. My contribution to post-holiday, back-to-work small talk is usually, &ldquo;it was quiet, which is how we like it.&rdquo;</p>
<p>I don&rsquo;t begrudge anyone their enjoyment of the season however they choose to observe it, but sometimes there are things that we don&rsquo;t so much get over as much as we learn to live with them, and this time of year is one of those things for me.</p>
<p>I feel lucky to have my home and family, and space to be however I&rsquo;m going to be about this time of year. I hope you have that space, too.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-20</title>
      <link>https://mike.puddingtime.org/posts/2023-12-20-daily-notes/</link>
      <pubDate>Wed, 20 Dec 2023 09:11:35 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-20-daily-notes/</guid>
      <description>Green tea. Deciding is work.</description>
      <content:encoded><![CDATA[<h2 id="green-tea">Green tea</h2>
<p>Years and years ago I went through a series of prescriptions for ADHD. Each med either did nothing much for me, spiked my blood pressure, or did something to my sleep that required a second med to offset it. No thanks. I learned over time that I did about as well as the best medications by minding my sleep, keeping a lot of carbs out of my diet, and doing a lot of walking and running. I also self-medicated, mostly with coffee.</p>
<p>I was never much of a tea person because I never really had good tea until I was out for breakfast one morning and the restaurant&rsquo;s description of its loose-leaf Irish Breakfast sounded so compelling that I gave it a try and ended up converting, while remaining convinced that the best self-medication was still strong coffee.</p>
<p>Coffee might offer the strongest kick, but it&rsquo;s also a very spiky caffeine delivery mechanism. Tea has a smoother ramp and falloff, so getting a few cups in me up through late morning does a good job of helping me stay focused without feeling amped or dealing with a hard mid-day crash.</p>
<p>I do go a week now and then where coffee seems more compelling, but with the <a href="/posts/2023-12-09-daily-notes/">CGM</a> and more real-time feedback I noticed that coffee also seemed to be contributing to spikes in my glucose levels. A little research suggested I was on to something there, and also put me on the path of considering green tea, since a few studies indicate it can lower your <a href="https://www.cdc.gov/diabetes/managing/managing-blood-sugar/a1c.html">A1C</a> and fasting glucose levels.</p>
<p>So I started ordering samplers of green teas, including Gyokuro, which is different from many other varieties of green tea in that it is grown under shade. That stimulates higher amounts of theanine and caffeine, and gives it a different, more savory flavor. It is also very expensive compared to other varieties.</p>
<p>But in addition to costing a lot and tasting good, it&rsquo;s a nicer, steadier, more stable ramp than coffee. And since adopting it as my preferred morning drink a few weeks ago I&rsquo;ve been seeing a change in my blood glucose stability: It looks less spiky, when there are spikes they are shorter, and my overall number of &ldquo;stable hours&rdquo; each day have gone from six or eight to 16 or 18, and sometimes entire days with no spikes. Some of that is just a natural outcome of having a GCM and getting fast feedback: I&rsquo;ve made a few other adjustments that are probably having an effect, too. But there&rsquo;s an added layer of calm to everything that seems to have come from cutting coffee out, so I&rsquo;ve moved coffee into the category of things I try to pair with some extra exercise to help blunt the spikes.</p>
<p>Gyokuro, tho &hellip; spendy! Open to recommendations for other green teas. I think I made a mistake starting with the super good stuff.</p>
<h2 id="deciding-is-work">Deciding is work</h2>
<p>I don&rsquo;t know where I heard this advice, and wish I had heard it earlier in my management career, but I found myself offering it to someone else again this week, so I&rsquo;ll repeat it here:</p>
<p><em>New managers should write down decisions they make, even the small ones.</em></p>
<p>Management in general is poorly understood, often badly done, and suffers from the necessary involvement of humans. In the tech industry, it is further set back by the fundamentally screwy ideas of the people with power in tech, whether that&rsquo;s formal (reporting structures and institutional authority), or informal (the things that get you social capital and standing in a tech environment).</p>
<p>By &ldquo;screwy&rdquo; I mean utterly misguided conceptions about why we have managers, what they are there for, and why you should or shouldn&rsquo;t want to be one. There is no real agreement on what value a manager provides. People toss around phrases like &ldquo;working manager&rdquo; to suggest that you have to make a special effort to note that a particular manager works at all. People will calmly tell you that a manager who is not as narrowly specialized as they are is not qualified to manage them.</p>
<p>When people tell me they <em>want</em> to manage, I feel the most divergent feelings &ndash; a running in opposite directions simultaneously, and a deep curiosity about why. Because sometimes the motivations aren&rsquo;t great: They&rsquo;re not about making a better work environment, or helping people unlock their own potential, or improving x,y and z outcomes, or any number of concrete and pro-social objectives. Sometimes, though, they&rsquo;re just about getting to be the boss and issue orders, and not even to do things that will make the business better, but just to have the final say in some issue of personal comfort or preference. And that&rsquo;s a level of venality that flies, because nobody&rsquo;s super clear about what it is a manager is for, anyhow, so why not personal enrichment and veto powers?</p>
<p>Assuming a management role in that environment is hard. It is a constant process, if you have a scrap of self reflection in you, of reminding yourself what you&rsquo;re there for. In the early going it is a constant process of realigning your inner voice to a new conception of what makes you valuable.</p>
<p>Your <em>decisions</em> are what make you valuable. And you probably make a lot of them. They&rsquo;re a meaningful unit of value. It takes labor to produce them. In the absence of decisions &ndash; guiding, directing, weighing, delegating, prioritizing &ndash; teams will not achieve their potential. And that doesn&rsquo;t just mean their <em>productive</em> potential. They also won&rsquo;t live up to their potential to be places where you can do your best, most satisfying work.</p>
<p>So, on the days when you are feeling a little small, or beleaguered, or uncertain of what it is you&rsquo;d say you do, it helps to look at a list of decisions you made &ndash; they&rsquo;re a record of the things you unstuck, clarified, or got back on track; catastrophes averted, outcomes improved, opportunities made good on. They&rsquo;re why you&rsquo;re there.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-19</title>
      <link>https://mike.puddingtime.org/posts/2023-12-19-daily-notes/</link>
      <pubDate>Tue, 19 Dec 2023 21:07:32 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-19-daily-notes/</guid>
      <description>Better Wayland taskbar icons in GNOME. Assigning MIME types to xdg-open.</description>
      <content:encoded><![CDATA[<h2 id="better-wayland-taskbar-icons-in-gnome">Better Wayland taskbar icons in GNOME</h2>
<p>I don&rsquo;t want a ton of taskbar icons, but there are a few I wouldn&rsquo;t mind, like for 1Password, my clipboard manager, and a TailScale monitor. GNOME has <a href="https://blogs.gnome.org/aday/2017/08/31/status-icons-and-gnome/">an unfavorable opinion about that</a>, so it&rsquo;s on extension developers to restore the lost functionality. <a href="https://gitlab.com/AndrewZaech/aztaskbar">App Icons Taskbar</a> is the best one I&rsquo;ve found so far under Wayland. A few observations about it:</p>
<p>Out of the box, the icons are huge and on the left of the taskbar. You can fix that in the preferences. I turned off the panel height setting  and set the icon height to 15 and it looks pretty normal. It does show running apps as well as iconified ones, and there&rsquo;s an &ldquo;unpin&rdquo; option in the context menu for each if you don&rsquo;t like that, but it doesn&rsquo;t work predictably.</p>
<h2 id="assigning-mime-types-to-xdg-open">Assigning MIME types to xdg-open</h2>
<p>macOS has the <code>open</code> command, and Linux has <code>xdg-open</code>. They do pretty much the same thing, which is open files from the command line. My Hugo posting script, for instance, runs <code>open</code> at the end to plop the Markdown it just generated into an editor.</p>
<p>With a Mac and <code>open</code> it&rsquo;s pretty easy to manage file associations: You just right-click the icon of a file you want to associate with an app and pick the app you want to open that file type.</p>
<p>With Linux, it&rsquo;s a little more fraught. GNOME offers a Default Apps setting, but it only offers a few options: web, mail, calendar, music, video, and photos. What about Markdown, YAML, ruby, etc.? For that, you want the <code>xdg-mime</code> command:</p>
<p><code>xdg-mime default sublime_text.desktop text/markdown</code></p>
<p>The <code>sublime_text.desktop</code> part (or whatever you want to use) may take a little finding. I used <code>locate</code> to figure out what the file was called on my system.</p>
<p>Once you&rsquo;ve run it, you can find it configured in <code>~/.config/mimeapps.list</code>.</p>
<p>Once assigned, <code>xdg-open foo.md</code> will open the file in the correct app.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-18</title>
      <link>https://mike.puddingtime.org/posts/2023-12-18-daily-notes/</link>
      <pubDate>Mon, 18 Dec 2023 07:22:26 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-18-daily-notes/</guid>
      <description>Inhibitor Phase. The macOS kill ring. The Mac Studio. StarCraft on Linux via Steam.</description>
      <content:encoded><![CDATA[<h2 id="inhibitor-phase">Inhibitor Phase</h2>
<p>I finished <em>Inhibitor Phase</em> last night. It worked for me. The <em>Revelation Space</em> universe is terrifying and strange, and the book preserves that mood, but also allows in some warmth and hope. I wouldn&rsquo;t want to live in that future, but the characters are compelling and human.</p>
<h2 id="the-macos-kill-ring">The macOS kill ring</h2>
<p>macOS has a kill ring! Who knew!? Well, evidently <a href="https://brettterpstra.com/2023/12/18/macos-keybinding-tricks-the-kill-ring/">Brett Terpstra knew</a>. Interesting rundown on how it works and some keybindings to make it work even better. I don&rsquo;t know if you&rsquo;ll end up ditching your existing clipboard manager, but for some workflows you might end up not needing it as much.</p>
<blockquote>
<p>&ldquo;Note: The kill ring is shared between documents in the same app, but generally not between apps.&rdquo;</p>
</blockquote>
<p>Well, that&rsquo;s a little less exciting, but still.</p>
<h2 id="the-mac-studio">The Mac Studio</h2>
<p>I moved it underneath the desk today, and out of sight. It&rsquo;s still connected to the KVM, it is still where my photos live, it&rsquo;s what my photo backup automation runs through, and it&rsquo;s how I can run BlueBubbles on all my Linux stuff. So it is still a part of my computing life.</p>
<p>But it&rsquo;s sort of a moment in my computing history to move it out of sight. Last week I think I spent less than an hour using it, and that was mostly because I was trying to make sure I had pulled everything down from Adobe Cloud and onto the external drive I keep all my photos on, in order to prepare for moving them over to a bigger drive I will have connected to the Linux desktop where I am spending pretty much all my time now.</p>
<p>I don&rsquo;t think that means I&rsquo;m done with it, exactly, but I could be getting close. It&rsquo;s a nice machine &ndash; the nicest Mac I have ever owned &ndash; but that sense of Apple all-pervasiveness that started tugging at the back of my thoughts several months ago has not abated. It feels a little weird to me, because if you&rsquo;d put a few ideas in front of me and asked me to expound a year ago, I&rsquo;d say &ldquo;sure, I like Apple stuff because it&rsquo;s one less thing to think about.&rdquo;   I don&rsquo;t feel that way anymore.</p>
<p>I think I said this previously, on the microblog I got rid of, but in some ways the &ldquo;everything just works together&rdquo; thing was beginning to become its own thing to have to think about &hellip; a gestalt or collective or monolith that must somehow be preserved.</p>
<p>So, the Studio can cool its heels under my desk, out of sight, spending most of its cycles on running backups every morning at 3 and providing a relay for BlueBubbles. I am not sure what the conditions will be to decide it doesn&rsquo;t have a place any longer. I&rsquo;ll need to understand how post-Lightroom life would work, I suppose, or if it even can.  I&rsquo;m sure if I sat down with a pad and pen I could list a few other things I need to figure out to be post-Apple. But it is a compelling idea.</p>
<h2 id="starcraft-on-linux-via-steam">StarCraft on Linux via Steam</h2>
<p>A lot of people do it with WINE, etc. <a href="https://www.reddit.com/r/starcraft/comments/11ggx4x/comment/k8fcqj2/?utm_source=share&amp;utm_medium=web2x&amp;context=3">Turns out</a> you can just add Battle.net to Steam as a non-Steam game, run the installer under the Proton compatibility tool, and then just install StarCraft (or any other Blizzard Windows game, apparently) and it works fine. I did it with StarCraft Remastered. Runs great.</p>
<p>From reddit:</p>
<blockquote>
<ol>
<li>Go to battle.net and download &ldquo;Battle.net-Setup.exe&rdquo;</li>
<li>Open Steam and click the Games menu and select Add a non-Steam game to my library</li>
<li>Click the Browse button and select your &ldquo;Battle.net-Setup.exe&rdquo; file</li>
<li>That will add &ldquo;Battle.net&rdquo; as a game. Open it and click the Manage icon (the gear symbol on the right) and select the Properties command.</li>
<li>On the Properties window, click the Compatibility tab and check the &ldquo;Force the use of a specific Steam Play compatibility tool&rdquo;. A pulldown menu will appear showing &ldquo;Proton Experiment&rdquo;. You can leave that alone and close the window.</li>
<li>Click Play back on the Battle.net game entry in steam and it should launch fine.</li>
</ol>
</blockquote>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-16</title>
      <link>https://mike.puddingtime.org/posts/2023-12-16-daily-notes/</link>
      <pubDate>Sat, 16 Dec 2023 14:42:04 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-16-daily-notes/</guid>
      <description>A soft KVM switcher for Dell monitors and Linux. Photo housekeeping.</description>
      <content:encoded><![CDATA[<h2 id="a-little-bit-of-c-for-a-dell-kvm-switcher-in-linux">A little bit of C for a Dell KVM switcher in Linux</h2>
<p>My Dell monitor has a built-in KVM, which is great. The included Mac software allows you to bind a hotkey to flip between machines. There&rsquo;s no such thing for Linux, but I found <a href="https://www.dell.com/community/en/conversations/monitors/u2723qe-kvm-using-a-keyboard-shortcut-to-switch-in-linux/647fa06af4ccf8a8de56ccc8">this post on the Dell support forums</a> that explains how to use <code>ddcutil</code> to trigger a switch.</p>
<p>The posted C to make it a little executable was victimized by Dell&rsquo;s HTML sanitization, so here it is with the needed includes:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-c" data-lang="c"><span class="line"><span class="cl"><span class="c1">// switch_screen.c
</span></span></span><span class="line"><span class="cl"><span class="cp">#include</span> <span class="cpf">&lt;stdio.h&gt;</span><span class="cp">
</span></span></span><span class="line"><span class="cl"><span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp">
</span></span></span><span class="line"><span class="cl"><span class="cp">#include</span> <span class="cpf">&lt;sys/types.h&gt;</span><span class="cp">
</span></span></span><span class="line"><span class="cl"><span class="cp">#include</span> <span class="cpf">&lt;unistd.h&gt;</span><span class="cp">
</span></span></span><span class="line"><span class="cl"><span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nf">setuid</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">    <span class="nf">system</span><span class="p">(</span><span class="s">&#34;ddcutil setvcp 60 0x11&#34;</span><span class="p">);</span> <span class="c1">// Change this for each computer
</span></span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div>
<p>I compiled it and made a custom keyboard shortcut for it in GNOME (<code>Settings -&gt; Keyboard -&gt; Keyboard Shortcuts -&gt; View and Customize Keyboard Shortcuts -&gt; Custom Shortcuts</code>).</p>
<p>It works really well. More reliably, in fact, than the Dell-provided functionality does on the Mac, where the machine periodically forgets it is actually connected to the monitor.</p>
<p>There&rsquo;s some latency when you switch, too: maybe 4 seconds to switch from Linux to Mac, and upwards of 8 seconds going in the other direction. Still better than reaching around the back of the monitor to use the hardware button to open the menu and pick a machine.</p>
<h2 id="photo-housekeeping">Photo housekeeping</h2>
<p>With a decent machine under the desk I&rsquo;m going to take another run at learning Darktable, so I spent some time today making sure everything is backed up correctly. I&rsquo;ve had my photos from before 2018 backing up to Backblaze for a while, but was semi-trusting a combo of local network drives and Adobe sync to handle everything since. Today I set up backups from the Thunderbolt photo drive to the Synology, and then I&rsquo;ll set up backup jobs from the Synology to Backblaze.</p>
<p>Al and I were having a chat about my occasional impermanence jags and she wanted to know, maybe a little nervously, what the implications of that were for my pictures.</p>
<p>After dealing with double-checking the health of a bunch of automated backups today, and prepping to make detaching from the Adobe ecosystem a little easier, I&rsquo;m revisiting an idea I had a long while back of making yearly physical books. I&rsquo;ve got terabytes of photos, but when I go through and do the exercise of picking &ldquo;five star&rdquo; images from each year since ~2000, it &hellip; it doesn&rsquo;t come down to terabytes. I&rsquo;d like to do that exercise again, or at least review my choices, make a few redundant online archives, and make a few physical books: One for us, one for Ben.</p>
<p>Whenever I think about what I&rsquo;m trying to do here, I realize that I archive and keep much, much more than I want because I haven&rsquo;t taken the step of specifically preserving what seems worth preserving. So I lug around terabytes of data, zealously preserving all of it and fretting about losing any of it. Making a few physical editions and stowing a few backups of digital proofs of what matters would do a lot to make it all feel less burdensome.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-13</title>
      <link>https://mike.puddingtime.org/posts/2023-12-13-daily-notes/</link>
      <pubDate>Wed, 13 Dec 2023 14:06:30 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-13-daily-notes/</guid>
      <description>It&amp;rsquo;s the year of Linux on my desktop. Simple GNOME window tiling. Racism word play is unhelpful and confusing. New-to-me Alastair Reynolds novel. How&amp;rsquo;s the job going?</description>
      <content:encoded><![CDATA[<h2 id="year-of-linux-on-my-desktop">Year of Linux on my Desktop</h2>
<p>Now that I am running Xorg instead of Wayland on this desktop machine, I am into it. For a while I wasn&rsquo;t willing to spend much of the workday on Linux because I never knew when I&rsquo;d need to share my screen on Zoom, and I spend too much time on calls to want to flip back and forth. I can spend all day with Linux now, because Zoom works fine.</p>
<p>Weirdly, in fact, this machine is working <em>better</em> than my Mac in that regard. My Jabra Engage 75 &ldquo;just works&rdquo; in a way it didn&rsquo;t with my Mac, and the AirPods I adopted because my expensive Jabra headset stopped working with my Mac had stopped working smoothly with Zoom on Mac, too. I had to do this thing where I opened the audio preferences and did a sound test before every call, or the audio out only worked about half the time.</p>
<p>Slack, Emacs, Chrome, Firefox, my terminal app &hellip; now that I&rsquo;ve moved all the SF fonts over from the Mac it is not easy to tell which machine I am on from just looking because I hide docks and toolbars on both, have similar wallpaper, and all the apps look and act pretty much alike.</p>
<h2 id="tactile-for-simple-gnome-window-tiling">Tactile for simple GNOME window tiling</h2>
<p>I miss <a href="https://rectangleapp.com/">Rectangles</a> on the Mac a lot. I am not sure there&rsquo;s anything quite like it in Linux, but the <a href="https://extensions.gnome.org/extension/4548/tactile/">Tactile</a> extension gets me close enough to my main use case, which is getting editors and browsers into a &ldquo;takes up 90% of the vertical and 40% of the horizontal, but centered&rdquo; state.</p>
<p>It lets you set up four layout maps, so it&rsquo;s possible to do combos. Terminal windows, for instance, don&rsquo;t need that kind of room, so I mapped layout 2 in such a way that I can hit Super-T to invoke the tile map, then tap <code>2</code> to activate the second map, then the specific key to place the terminal in the right tile for that map.</p>
<p>We&rsquo;ll see how it goes. For now it&rsquo;s a way to quickly get unruly windows into the right state when they appear.</p>
<h2 id="race-wordplay-is-a-bad-idea">Race wordplay is a bad idea</h2>
<p>Today someone on my team asked me how to interpret a comment made to them:</p>
<p>&ldquo;I&rsquo;m as racist as any white American, but I&rsquo;m not racist.&rdquo;</p>
<p>Which &hellip; please no.</p>
<p>The person this was said to is not a native English speaker and isn&rsquo;t white, and what probably seemed like a sort of self-deprecating but amusingly paradoxical thing to the person saying that didn&rsquo;t land that way with the person hearing it: It was confusing and seemed a little nonsensical.</p>
<p>Since the person identifying as a non-racist racist is a fellow Gen-Xer, it wasn&rsquo;t hard to untangle the whole thing and <em>make</em> it make sense: People of a certain age remember when &ldquo;racist&rdquo; was more synonymous with &ldquo;bigot,&rdquo; &ldquo;klan adjacent,&rdquo; etc. It meant &ldquo;possessed of prejudiced thinking and racial hostility.&rdquo;  Well, it doesn&rsquo;t anymore, and whatever we think of that, it is a more &hellip; I dunno &hellip; <em>theoretical</em> word, redolent of institutions, systems, power relationships, and unconscious bias. From the perspective of someone who has been around for a while, it&rsquo;s just a different word now.</p>
<p>Personally, when I encounter people who are bigots or prejudiced, I just think of them as &ldquo;bigots&rdquo;  and that&rsquo;s the word I&rsquo;d use if put on the stand. I&rsquo;m on board, with reservations, with the newer usage and try to save it for when I&rsquo;m describing a racist policy, a racist law, a racist belief, or racist behavior.</p>
<p>I don&rsquo;t do the whole &ldquo;I&rsquo;m racist&rdquo; thing because the memo on this particular usage has <em>not</em> distributed evenly, and that person on my team reminded me that people don&rsquo;t uniformly agree on or understand &ldquo;racist&rdquo; as a people label, or how to handle it when someone deploys it on themselves or another person.</p>
<p>&ldquo;Is this some kind of weird white people thing?&rdquo; they asked, legitimately unsure of whether they were being fucked with or if perhaps this person was telling them something deeply unsettling about themselves.</p>
<p>&ldquo;No,&rdquo; I said, &ldquo;it&rsquo;s someone who remembers a different time and they&rsquo;re trying to navigate this split usage and tell you something about themselves, but honestly they shouldn&rsquo;t have done it that way and you&rsquo;re right to find it confusing. They just wanted you to know that they understand they were raised in a racist society and have some racist ideas, but don&rsquo;t consider themselves personally possessed of racial hostility or what we&rsquo;d maybe better call bigotry.&rdquo;</p>
<p>&ldquo;Well, it embarrassed me because I had no idea what it meant and I was afraid to ask because it sounded like they were telling me they were, like, <em>racist</em>.&rdquo;</p>
<p>When it comes to something as charged, uncomfortable, and frankly fucked up and backwards as race in this country, maybe save the wordplay and speak plainly.</p>
<h2 id="inhibitor-phase">Inhibitor Phase</h2>
<p>I&rsquo;ve always been fond of most of Alastair Reynolds&rsquo; Revelation Space stuff. The first one in the series left an impression, but <em>Chasm City</em> is my favorite. I&rsquo;d seen a few mentions of <em>Inhibitor Phase</em> here and there, but the descriptions didn&rsquo;t work for me. Last night it popped up again so I decided to read a few actual reviews, and now I&rsquo;m several chapters in and really liking it. It helped to know there was some continuity with previous Revelation Space characters.</p>
<p>Reynolds has gotten smoother and better over time. I was a working editor when I first read <em>Revelation Space</em>, so it was my job to see all the mechanics, and I couldn&rsquo;t unsee some of his. Once I understood that the book evolved out of his earliest fiction writing and had started life as a short fiction contest entry I felt a little more forgiving and quit comparing him to Iain M. Banks.</p>
<p>Anyhow, I&rsquo;ve been casting about for some fiction after digesting that giant book about the MCU, and I&rsquo;m glad to have this.</p>
<h2 id="hows-the-job-going">How&rsquo;s the job going?</h2>
<p>Okay.</p>
<p>It&rsquo;s good, on the days I feel frustrated about pre-IPO tech company life, to remember that I gave myself a lot of time and space to choose, and this is what I chose. Again. With ten years of previous experience to guide the decision. It&rsquo;s not a hard place to be useful, and the frustrations are easy to keep in context. It remains hard, some days, to be back toward the bottom of the hill building trust with new people.</p>
<p>But today was also an interesting day for feedback:</p>
<ul>
<li>&ldquo;Susan was right. You <em>do</em> look like Christian Bale&rsquo;s older brother. And your voice is mesmerizing.&rdquo;</li>
<li>&ldquo;I have forgotten there was ever a time you weren&rsquo;t here.&rdquo;</li>
<li>&ldquo;I&rsquo;m glad you hired Mike. It&rsquo;s great to have another adult.&rdquo;</li>
</ul>
<iframe width="560" height="315" src="https://www.youtube.com/embed/YTHtEpKBZh4?si=1gCbu6mUBQFBBbjv" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-12</title>
      <link>https://mike.puddingtime.org/posts/2023-12-12-daily-notes/</link>
      <pubDate>Tue, 12 Dec 2023 12:55:14 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-12-daily-notes/</guid>
      <description>Okay, fine, Fedora. Getting AirPlay 2 with shairport-sync. Fixing Flatpak Zoom fonts. LocalSend for x-platform AirDropesque sharing.</description>
      <content:encoded><![CDATA[<h2 id="okay-fine-fedora">Okay, fine, Fedora</h2>
<p>Nothing like a four-hour-long strategy summit to tend to a quick bakeoff between Pop!_OS and Fedora. As Ed noted last night after reading <a href="/posts/2023-12-11-daily-notes/">yesterday&rsquo;s post</a>, you can always tell Fedora to load GNOME as an Xorg session instead of a Wayland one. What did that get me?</p>
<ul>
<li>Working taskbar widgets</li>
<li>Decent performance from my Elgato CamLink 4K</li>
<li>Decent screensharing in Zoom</li>
<li>Mostly normalish typography? Less wild variation anyhow.</li>
<li>Fedora&rsquo;s software store app is faster and less glitchy than the one Pop!_OS offers.</li>
<li>Fedora&rsquo;s software is a little more up to date.</li>
</ul>
<p>Is it snappier? I dunno.</p>
<p>Mainly what I know is that I won&rsquo;t be fragmenting my muscle memory across three OSes.</p>
<p>What I also know is that Xorg is living on borrowed time in Fedora-land.</p>
<h2 id="airplay-2-with-shairport-sync">AirPlay 2 with shairport-sync</h2>
<p>I mentioned <a href="https://github.com/mikebrady/shairport-sync">shairport-sync</a> as a way to stream to a Linux machine. From the command line, you just run it and tell it which backend to direct sound to. It advertises your machine with Avahi, you stream to the machine, sound comes out.</p>
<p>As a systemd service it is fussier because there are permissions issues getting at Alsa and or Pipewire. I could see the endpoint in the AirPlay list, but nothing was coming out and there were a bunch of errors when I checked status.  I tried a few obviously bad ideas then Googled in earnest.</p>
<p>Putting this in  <code>~/.config/systemd/user/shairport-sync.service</code> then enabling and starting it with <code>systemctl --user</code> did the thing:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[Unit]
</span></span><span class="line"><span class="cl">Description=Shairport Sync - AirPlay Audio Receiver
</span></span><span class="line"><span class="cl">After=pipewire-pulse.service
</span></span><span class="line"><span class="cl">Wants=network-online.target
</span></span><span class="line"><span class="cl">After=network.target network-online.target
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[Service]
</span></span><span class="line"><span class="cl">Type=simple
</span></span><span class="line"><span class="cl">StandardOutput=journal
</span></span><span class="line"><span class="cl">ExecStart=/usr/bin/shairport-sync -o alsa
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[Install]
</span></span><span class="line"><span class="cl">WantedBy=default.target</span></span></code></pre></div>
<p>So the Linux box is hooked up to the office bookshelf speakers, I can play music on it directly, or I can stream to it from the Mac or my phone without manually stopping and starting shairport-sync from the command line.</p>
<h2 id="fixing-flatpak-zoom-fonts">Fixing Flatpak Zoom fonts</h2>
<p>Zoom from a Flatpak looks particularly bonkers under GNOME: The fonts are tiny to the point of unreadability. Evidently they used QT to build it, etc. etc. There are a bunch of incantations all over the place that involve jacking with config files. There is also simply doing an override of the QT scale factor:</p>
<p><code>sudo flatpak override --env=QT_SCALE_FACTOR=1.5 us.zoom.Zoom</code></p>
<p>Adjust to taste.</p>
<h2 id="localsend-is-pretty-much-cross-platform-airdrop">LocalSend is pretty much cross-platform AirDrop</h2>
<p>If your machines are on the same network, <a href="https://localsend.org/#/">LocalSend</a> works across Mac, iOS/iPadOS, and Linux to provide an AirDrop-style text, file, and image transfer service. Looks like it also supports Windows and Android.</p>
<p>I have it set to minimize to taskbar on the Mac and Linux machines. Just sits there and does its thing.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-11</title>
      <link>https://mike.puddingtime.org/posts/2023-12-11-daily-notes/</link>
      <pubDate>Mon, 11 Dec 2023 11:24:37 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-11-daily-notes/</guid>
      <description>Pop!_OS redux. Bad company in Emacs. You are not my spin doctor. A fun documentary about the Star Wars Holiday Special. Hugo previews in Emacs.</description>
      <content:encoded><![CDATA[<h2 id="pop_os-redux">Pop!_OS redux</h2>
<p>I set up a Linux PC over the weekend, and I&rsquo;m going to give Pop!_OS a try on it. I want to be able to use this machine for work sometimes, and there are a few desktop-y things that work better under Pop! than they do Fedora, maybe owing to Pop! remaining on xorg. Screen sharing in Zoom, for instance, works like you&rsquo;d expect on xorg and does not under Wayland. Apps with taskbar icons also work without the need for an extension.</p>
<p>You can tell Pop! is a little behind Fedora 39, but I&rsquo;m not sure it&rsquo;s that big a deal. I found <a href="https://launchpad.net/~ubuntuhandbook1/+archive/ubuntu/emacs">a PPA for Emacs 29.1</a>, but don&rsquo;t worry about much else: The stuff that moves with any speed is coming from a Flatpak. My <code>~/bin</code>, <code>~/.fonts</code>, and <code>~/.config/doom</code> are all handled via SyncThing.</p>
<p>What else?</p>
<ul>
<li>I noticed that my Elgato CamLink 4k + FujiFilm X-T2 work with a little less lag. I think there still is some, but it&rsquo;s pretty smooth.</li>
<li><a href="https://github.com/mikebrady/shairport-sync">shairplay-sync</a> has some permissions issues as a service, but works fine when I start it in daemon mode, so I&rsquo;ve moved my bookshelf speakers over to this machine: It acts like an AirPlay 2 endpoint for all my other stuff, and I can use Cider to get at my Apple Music stuff when I&rsquo;m working on this machine.</li>
<li>There&rsquo;s less font weirdness than under Fedora, meaning most apps show most fonts at a normal size out of the box and don&rsquo;t require passing environmental variables along or messing with config files.</li>
<li>My Jabra Engage 75 works fine with this thing, so no more messing around with AirPods: I just plugged it into an open port and I&rsquo;m back to reliable audio.</li>
<li>The rbenv and ruby-build that ship with Jammy don&rsquo;t have any of Ruby 3.x available. I just installed that on my own and added ruby-build as a plugin. Problem solved.</li>
</ul>
<p>Otherwise &hellip; I got through a day with it and it worked great: No weird glitches, crashes, or whatever. Multiple Zoom calls. Oh, and I&rsquo;m down to my last possum sticker, but the wireless scanning stuff works great, too: I managed to get a hi-res scan of my last sticker so I can make more.</p>
<h2 id="bad-company">Bad company</h2>
<p>I like <code>company-mode</code> in Emacs when I&rsquo;m coding, I hate it when I&rsquo;m writing prose. It slows everything down to suggest words I do not need suggested. This incantation fixed it:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-lisp" data-lang="lisp"><span class="line"><span class="cl"><span class="p">(</span><span class="k">setq</span> <span class="nv">company-global-modes</span> <span class="o">&#39;</span><span class="p">(</span><span class="nf">not</span> <span class="nv">text-mode</span> <span class="nv">markdown-mode</span> <span class="nv">org-mode</span><span class="p">))</span></span></span></code></pre></div>
<h2 id="dont-spin-me">Don&rsquo;t spin me</h2>
<p>I enjoyed the most recent episode of <a href="https://www.patreon.com/badfaithpodcast/posts">Bad Faith</a>, &ldquo;Vibecession?&rdquo;, partly for the analysis and partly because one of the guests got to the thing that has been bothering me the most about the discourse around the economy:</p>
<blockquote>
<p>&ldquo;&hellip; as to why people are so heated in the first place I think you have a few things going on. One you do have people who are just kind of concerned about Biden&rsquo;s electoral prospects they&rsquo;re worried about Trump and they&rsquo;re worried about [&hellip;] a negative narrative.</p>
</blockquote>
<blockquote>
<p>&ldquo;You&rsquo;ve always got people out there who although they [&hellip;] appear to be kind of making objective arguments about this or that topic they&rsquo;re really mostly worried about trying to kind of steer the discourse in one way or another to to be more favorable to Democrats or less favorable to Democrats or whatever so there&rsquo;s that aspect [&hellip;] of the election worrying &hellip;&rdquo;</p>
</blockquote>
<p>I posted about it a few days ago:</p>
<iframe src="https://social.lol/@mph/111547466665352579/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe><script src="https://social.lol/embed.js" async="async"></script>
<p>&hellip; and then:</p>
<iframe src="https://social.lol/@mph/111547498854213817/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe><script src="https://social.lol/embed.js" async="async"></script>
<p>&hellip; and then I favorably boosted this:</p>
<iframe src="https://mastodon.social/@tess/111545872352995486/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe><script src="https://mastodon.social/embed.js" async="async"></script>
<p>&hellip; because if there&rsquo;s one word I have worn some grooves into over the past four years, it is &ldquo;precarity.&rdquo;</p>
<p>I don&rsquo;t know. We can either speak truthfully or we cannot, and I am not responding well to progressives or leftists or whatever who do not want to speak truthfully because they believe that are actually unpaid press secretaries for the Biden administration.</p>
<p>I&rsquo;m not telling anyone what to do with their spare time, I&rsquo;m just saying that if you&rsquo;re talking to me, leave me out of the four-dimensional chess game. I show up every election and vote exactly as you&rsquo;d expect. It is <em>okay</em> if, in December of the year before an election, I say &ldquo;I wish we had a better alternative than Biden.&rdquo; And it is super okay if I say, &ldquo;you know what, I wish we had a better alternative than this entire way of being we&rsquo;ve landed on.&rdquo;</p>
<h2 id="a-disturbance-in-the-force">A Disturbance in The Force</h2>
<p><em><a href="https://www.disturbanceintheforce.com/">A Disturbance in the Force</a></em> is a documentary about the 1978 <em>Star Wars Holiday Special</em>.</p>
<p>Al and I went to see it at the Hollywood Theater several years ago. I managed to win a cool Boba Fett poster (the cartoon version, from the special). It truly is wretched, but the documentary does a nice job of explaining that actually <em>everything</em> in 1978 was at least a little wretched, including the entire variety show genre.</p>
<p>And it does a nice job of explaining why the silly thing even mattered to anyone.</p>
<p>I had just turned nine when <em>Star Wars</em> came out. My family went to the theater to see a 6 p.m. showing on opening weekend in 1977, and ended up waiting around for a special 10 p.m. showing the theater added. It stayed in that theater for the better part of a year, and it became a way to just get me out of the house: Mom would give me ticket money, I&rsquo;d walk across the field and hop a ditch to get into the loading dock area of the mall, then walk around to the theater. When we visited relatives that year, &ldquo;what would Mike like to do&rdquo; was always &ldquo;go see <em>Star Wars</em>.&rdquo;</p>
<p>I was completely saturated in anything <em>Star Wars</em> I could get my hands on. Magazines, copies of <em>People</em> featuring any of the cast, the novelization, the comic books, <em>aaaaanything.</em> So the Holiday Special was a huge deal because it was gonna be more actual <em>Star Wars</em> and not just stuff <em>about</em> <em>Star Wars</em>.</p>
<p>And, as someone points out in the documentary, <em>Star Wars</em> was a very wild property at that point. Like, there were hints of deep lore and all, but the only &ldquo;canon&rdquo; you had to work with was the movie itself and wild theorizing. Some heretics thought Darth Vader was actually a robot. There were rumors that there would be a whole movie about Wookies. It was just this crazy thing that had landed in our pop culture lives and nothing was ever going to be the same again. So we were ripe for whatever George Lucas wanted to churn off the assembly line, including, apparently, a superannuated Wookie grandfather perving out to VR porn with Dianne Carroll.</p>
<p>Anyhow, the documentary is a fun 90-minute diversion. Not super heavy, but cool to hear from people who actually worked on it, and fun to see a lot of period clips, like the bonkers Donnie and Marie episode with Kris Kristofferson Han Solo and Paul Lynde Imperial officer.</p>
<h2 id="hugo-previews-in-emacs">Hugo Previews in Emacs</h2>
<p>I made this function to spin up the Hugo preview server while still working in Emacs:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-lisp" data-lang="lisp"><span class="line"><span class="cl"><span class="p">(</span><span class="nb">defun</span> <span class="nv">my-start-hugo-server</span> <span class="p">()</span>
</span></span><span class="line"><span class="cl">  <span class="s">&#34;Run Hugo server with live reloading.&#34;</span>
</span></span><span class="line"><span class="cl">  <span class="p">(</span><span class="nv">interactive</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">  <span class="p">(</span><span class="k">let*</span> <span class="p">((</span><span class="nv">root</span> <span class="p">(</span><span class="nv">projectile-project-root</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">         <span class="p">(</span><span class="nv">default-directory</span> <span class="nv">root</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">    <span class="p">(</span><span class="nf">compile</span> <span class="s">&#34;hugo server -D --navigateToChanged&#34;</span> <span class="no">t</span><span class="p">)))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">(</span><span class="nb">defun</span> <span class="nv">my-stop-hugo-server</span> <span class="p">()</span>
</span></span><span class="line"><span class="cl">  <span class="s">&#34;Stop Hugo server.&#34;</span>
</span></span><span class="line"><span class="cl">  <span class="p">(</span><span class="nv">interactive</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="p">(</span><span class="nv">kill-compilation</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">(</span><span class="nv">map!</span> <span class="ss">:leader</span>
</span></span><span class="line"><span class="cl">      <span class="p">(</span><span class="ss">:prefix</span> <span class="p">(</span><span class="s">&#34;H&#34;</span> <span class="o">.</span> <span class="s">&#34;Hugo&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">       <span class="ss">:desc</span> <span class="s">&#34;Start Hugo Server&#34;</span> <span class="s">&#34;S&#34;</span> <span class="nf">#&#39;</span><span class="nv">my-start-hugo-server</span>
</span></span><span class="line"><span class="cl">       <span class="ss">:desc</span> <span class="s">&#34;Stop Hugo Server&#34;</span> <span class="s">&#34;s&#34;</span> <span class="nf">#&#39;</span><span class="nv">my-stop-hugo-server</span><span class="p">))</span></span></span></code></pre></div>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-10</title>
      <link>https://mike.puddingtime.org/posts/2023-12-10-daily-notes/</link>
      <pubDate>Sun, 10 Dec 2023 20:35:56 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-10-daily-notes/</guid>
      <description>MCU: The reign of Marvel Studios. Doing nothing.</description>
      <content:encoded><![CDATA[<h2 id="mcu-the-reign-of-marvel-studios">MCU: The Reign of Marvel Studios</h2>
<p>I&rsquo;m one of those people who has felt the glow of the Marvel Cinematic Universe (MCU) dim a little, but even if I&rsquo;m not as into the product as I used to be I am pretty fascinated by Marvel Studios as a matter of operational excellence. <a href="https://www.goodreads.com/en/book/show/77264987"><em>MCU</em> is a history of Marvel Studios</a> that starts back in the pre-MCU &rsquo;90s and ends some time earlier this year.</p>
<p>It&rsquo;s an interesting book!</p>
<p>I didn&rsquo;t understand how toy-driven Marvel was in the early going, nor how far into the MCU era that toy-making imperative drove thinking, nor how much the sexism of the toy industry delayed the introduction of women characters.  Similarly, the weird split between the movie and tv properties that never made any sense to me is laid bare as run-of-the-mill corporate foolishness.  It ends up answering a lot of questions about why it is that an outfit so excellent at execution did so many weirdly non-excellent things.</p>
<p>The book ends on a hopeful note, suggesting that the overexposure, the sheer glut of product, and the downward creep in quality are all the result of overextending leader Kevin Feige, but that Marvel may be taking a step back and slowing things down enough to restore a little brand equity.</p>
<h2 id="doing-nothing">Doing nothing</h2>
<p>It was a good weekend to do pretty much nothing. Rainy, chilly, dark. It made more sense to just button up and hide out. So I read, played a few games, and fiddled with a Linux PC in my office. It was all pretty aimless, and that felt pretty good.</p>
<p>There&rsquo;s a part of me that is beginning to feel a little restless. Work has taken a lot of energy, but the very busy annual planning cycle is over and I made it a point to go pretty easy on my team this quarter: We need to move our endpoint management system out of self-hosted infra and into the vendor&rsquo;s cloud, and I didn&rsquo;t want much else cluttering up December and January.</p>
<p>So, things are slowing down and I&rsquo;m getting some mental bandwidth back. I miss writing regularly, even if I wasn&rsquo;t writing much. I don&rsquo;t think about photography much these days. I feel due for a project or pastime.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-09</title>
      <link>https://mike.puddingtime.org/posts/2023-12-09-daily-notes/</link>
      <pubDate>Sat, 09 Dec 2023 11:04:21 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-09-daily-notes/</guid>
      <description>The continuous glucose monitor.</description>
      <content:encoded><![CDATA[<h2 id="the-continuous-glucose-monitor">The continuous glucose monitor</h2>
<p>I got a diabetes diagnosis earlier this year. It wasn&rsquo;t great to hear, but it was good to know: It helped me understand some things that were going on, and it prompted some lifestyle changes that helped me feel a lot better right away.</p>
<p>I asked my doctor if I needed to do regular blood sugar monitoring, and he was happy to prescribe a finger-stick meter.</p>
<p>There was a small disconnect on my care team: The nurse who showed me how to use it recommended readings four times a day. I did that for a few months between checkups, doing readings first thing in the morning, then two hours after each meal. It was interesting, but it didn&rsquo;t feel useful. My numbers were pretty steady, with the occasional surprise if it turned out I&rsquo;d eaten something with a lot of added sugar somewhere in the recipe. The meter could sync with an app (and hence Apple Health), so it was encouraging to at least see my averages creeping down after the initial big drop thanks to medication.</p>
<p>When I showed my numbers to my doctor and came back with a much lower A1C result, he said I could back off the four-times-a-day readings. That was welcome news, because it was a hard habit to keep up. Having ADHD, it made me anxious whenever anything threatened the routine, because it&rsquo;s easy for me to lose a habit. He recommended instead doing morning readings a few times a week, which I&rsquo;ve heard from other people. That was an even harder habit to maintain.</p>
<p>Thanks to a new job and new healthcare provider, I had a little bit of hangtime between physicians. I realized I wasn&rsquo;t sticking to my measurements as closely as I should. Continuous glucose monitors (CGMs), which involve sticking a little smaller-than-an-AirTag tile on your arm and send measurements to your phone every five minutes seemed promising, but not easily prescribed.</p>
<p>I ended up dithering back and forth, and picked up my measurements with a little more diligence, and that told me that the lack of more constant feedback might be a problem: My average blood glucose levels seemed to have plateaued higher than I wanted.</p>
<p>So I went ahead and enrolled in Levels, which will sell you a CGM prescription in exchange for your data.</p>
<p>CMG sensors last for 10 days. It takes about two minutes to install one: Pop off the cover of a spring-loaded applicator, press it against the back of your arm, press a button, smooth down the adhesive, apply a second cover, and pair it with your phone. Then it just sits there taking readings.</p>
<p>The only habits I have to maintain with my CGM are:</p>
<ul>
<li>Recording exercise. The app can read from Apple Health, so my Garmin Instinct and Apple Watch both work with it.</li>
<li>Recording sleep. I use the Sleep Cycle app to record sleep, which talks to Apple Health, which talks to the Levels app.</li>
<li>Recording meals. The Levels app lets you just take a picture of your meal, which it timestamps.</li>
</ul>
<p>It&rsquo;s pretty low maintenance given the data I get back. There&rsquo;s no real &ldquo;data entry&rdquo; unless I decide to go back and record what was in my meal to get little tips about their relative healthfulness for a diabetic.</p>
<p>Generally, though, I&rsquo;ve been content to just observe and adjust thanks to the constant feedback. Given the continuous monitoring, I can see the impact of things I eat in ways I couldn&rsquo;t when I was just doing finger sticks two hours after meals: Things that trigger spikes that come and go well inside that window.</p>
<p>In the 40 days or so I&rsquo;ve had it, I&rsquo;ve made a few adjustments that have both lowered my average blood glucose levels and seem to keep me more stable generally: Spikes last less time, there&rsquo;s less variation during the day, and my waking blood glucose levels are dropping.</p>
<p>The experience has also impressed on me the amazing variability of human bodies. I was following a lot of generic advice that <em>seemed</em> okay because I couldn&rsquo;t see what was happening between measurements. With closer measurement, I could see that some advice works very well for my body, and some just does not.</p>
<p>Drawbacks?</p>
<p>Well, it&rsquo;s expensive. My insurance company doesn&rsquo;t cover it, so I&rsquo;m out of pocket on it. I can afford it and it&rsquo;s worth it to me, but it is not affordable for a lot of people.</p>
<p>Sometimes communications between phone and sensor drop out, but that&rsquo;s not a huge deal. The data is buffered, and if I notice that it&rsquo;s happening I just toggle Bluetooth on and off and it re-pairs and catches the app up.</p>
<p>Sometimes the sticky mounting material doesn&rsquo;t stay stuck and I have to get a large Band-Aid to put over it for showering or making sure it doesn&rsquo;t snag on my sleeve.</p>
<p>In return, though, I get a huge amount of useful information that allows me to make better choices and better judge my tradeoffs because my blood glucose is generally lower and more stable. That makes the whole experience better because some things I&rsquo;ve learned to forego make it easier to have things I wouldn&rsquo;t have given a less stable, higher average.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-12-08</title>
      <link>https://mike.puddingtime.org/posts/2023-12-08-daily-notes/</link>
      <pubDate>Fri, 08 Dec 2023 21:55:23 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-12-08-daily-notes/</guid>
      <description>Tomb Raider. Steam Deck OLED.</description>
      <content:encoded><![CDATA[<h2 id="tomb-raider">Tomb Raider</h2>
<p>I finished <em>Tomb Raider</em> (the 2013 version) this afternoon. I&rsquo;ve got a number of games on the Steam Deck, but this is the first one I&rsquo;ve gone all the way through. It was a lot of fun. Similar to <em>Jedi: Fallen Order</em> (<a href="/posts/2023-03-20-daily-notes-for-2023-03-20/#finished-jedi-fallen-order">previously</a>), but with fewer of the contrived arcade sequences that bother me in other games in this genre.</p>
<p>I had the original Tomb Raider on a PlayStation and loved it, but didn&rsquo;t really try to keep up with the series, so this was the first time I&rsquo;ve played anything with Lara Croft in it in a long time. This edition is bloodier and more brutal than the original, but it was a pretty good ride: Simple controls and an easy ramp to proficiency.</p>
<h2 id="the-steam-deck">The Steam Deck</h2>
<p>I broke down and bought an OLED Steam Deck. I&rsquo;ve always been curious, the reviews were great, and winter is here (weirdly, this week).</p>
<p>What to say about it?</p>
<p>The OLED display is pretty nice. It&rsquo;s surprisingly comfortable to play for stretches on the sofa. The controls feel pretty good. The dock is a little finicky but not that bad.</p>
<p>In terms of fitting into my other stuff:</p>
<p>I tried using the streaming app on my AppleTV, but the Steam Deck dock provides a much better picture and I&rsquo;ve got a switch in the t.v. room so downloads are way faster.</p>
<p>I tried using my Nintendo Switch Pro Controller with it &ndash; which it officially supports &ndash; but the Bluetooth connection was super flakey. I can&rsquo;t tell if something else was grabbing it or what, but I swapped in an <a href="https://www.8bitdo.com/ultimate-bluetooth-controller/">8BitDo Ultimate</a> with a 2.4G dongle and that has worked very well.</p>
<p>There are a few areas for improvement:</p>
<p>Not every game works perfectly with it owing to how many are written for PCs and assume keyboards and mice vs. a controller. There&rsquo;s a soft keyboard but that can be pretty intrusive. I&rsquo;ve got my v1 Nuphy Air 60 sitting around that I could probably use, but so far I&rsquo;ve been happy to just stick to the extensive list of games in the <a href="https://www.steamdeck.com/en/verified">Steam Deck Verified</a> directory.</p>
<p>Sometimes &hellip; <em>things</em> &hellip; happen. Like, it doesn&rsquo;t recover gracefully from putting it to sleep and trying to pick a game back up: maybe the sound gets choppy or it stops responding to controls.  It&rsquo;s pretty good about saving my spot in everything I&rsquo;ve played so far, so it&rsquo;s no big deal to exit and restart, but it&rsquo;s a little annoying when it happens.</p>
<p>Sometimes the controller buttons are mapped well but the on-screen prompts suggest a keyboard and you can&rsquo;t be sure in the moment which button is the right one to mash. Lara Croft may have plunged to her death, had her throat torn out by wolves, or gotten gored by vintage airplane parts a few times as I tried to figure out what the hell I was supposed to be pressing.</p>
<p>By way of comparison to a Nintendo Switch? Chunkier, bigger, performs better. The size difference is lost on me because I ended up buying a grip for my Switch a while back to make it easier to hold, and that pretty much adds all the size back.</p>
<p>But the few glitches now and then aside, I like it a lot: Great library of games, easy to pick up and carry around, comfortable to play in portable mode, looks good on my t.v. I&rsquo;m enjoying it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-07-18</title>
      <link>https://mike.puddingtime.org/posts/2023-07-18-daily-notes/</link>
      <pubDate>Tue, 18 Jul 2023 22:10:57 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-07-18-daily-notes/</guid>
      <description>Apple Notes and a legal pad.</description>
      <content:encoded><![CDATA[<p>Me a few days ago:</p>
<iframe src="https://social.lol/@mph/110722269434824199/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe><script src="https://social.lol/embed.js" async="async"></script>
<p>&hellip; and as a followup:</p>
<iframe src="https://social.lol/@mph/110722296107197747/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe><script src="https://social.lol/embed.js" async="async"></script>
<p>Writing is a tool I use to think, and I don&rsquo;t share a lot of it. I used to get frustrated because I&rsquo;d write a few thousand words to make a point or express an idea and then &ldquo;abandon&rdquo; it in favor of just talking through things, but that was the attitude of a paid writer who thought of his writing as a product, not a process.</p>
<p>One day, though, when I was on a tech writing team, I became super frustrated with something I was documenting because some of the design decisions around it were sort of bad. So I took the time to write almost 4,000 words about how to un-bad it, didn&rsquo;t really feel ready to share that with anybody, and set it aside. But I understood the thing I was writing about much better, and my docs around it really improved, <em>and</em> when I got to a place where I felt like sharing the ideas I came up with more widely, I was able to write a much more concise and digestible 1,000 words or so that didn&rsquo;t include phrases like &ldquo;this fucked-up Legend of Zelda configuration scheme.&rdquo;</p>
<p>Since that experience, I got a lot better at just writing and not expecting to share, understanding that what I am doing is processing. Sometimes it helps to use an RFC template, false-start a blog post, or start an unaddressed email, because those contexts serve as cues or mood-setters. But I&rsquo;m usually content to use whatever to do it because the output doesn&rsquo;t need to last forever. It&rsquo;s fine if it gets lost to the sands of time. It&rsquo;s just a process, and wanting to &ldquo;save&rdquo; or &ldquo;preserve&rdquo; it makes little more sense than a baseball player trying to save a swing at the ball.</p>
<p>I think having a bunch of time to just fiddle with stuff put me in a mood to over-optimize, so it makes sense that I was getting obsessive and hyper-focused on note taking and writing tools, and getting super architectural about the whole thing.  But having had a solid six weeks of being back in the work swing and having to actually use the notes I keep, I&rsquo;ve been realizing how ephemeral they are. I&rsquo;m glad I have them, but they don&rsquo;t need to be <em>architected</em>. I&rsquo;m careful to tag them up front with people and topics just to make search more useful and focused, but I don&rsquo;t interlink much, haven&rsquo;t really used the automated index pages I&rsquo;ve cooked up, and don&rsquo;t really care much about the heading structure or tidiness. Most of them will not be useful for much in maybe a quarter or so.</p>
<p>So I just made a folder in Apple Notes and started typing notes in there. It has tagging, it has smart folders, it has rudimentary formatting (title, heading, subheading, lists, todos) and you can make smart folders that pay attention to things like tags, location, unfinished todos, etc. I can do stuff I&rsquo;ve been doing in Obsidian &mdash; inline todos I have a smart folder to surface for consolidation, smart folders for particular tags &mdash;  but with no plugins that could age out, no need to really &ldquo;automate&rdquo; anything, no paying extra for sync, and no real room for mission creep. I know Notes will be around for the next OS release because Apple added some features to the beta, so it&rsquo;s as future proof as this kind of content needs to be.</p>
<p>I sort of like it. There is not a lot to think about. Even less, in some ways, than flat, plain text, because Notes is just sitting there on every Apple device I own, and in a pinch is available via a web browser.</p>
<p>I also went through Things and asked myself what was up there. I&rsquo;ve been using it more over the past several months, and there are already dead things, abandoned things, cryptic things. So I got out a legal pad, captured all the living things, and wrote all my active projects down at the bottom of the page. Then I started crossing things off as I did them.</p>
<p>When I looked at all the projects this afternoon &mdash; eight of them are &ldquo;active&rdquo; right now &mdash; I knew what each needed next. If I feel like I&rsquo;m getting to a state of overflow, I think I&rsquo;ll just make a list in Reminders for a project that needs more from me. But I live in a pretty well supported environment &mdash; there are plenty of trackers, there&rsquo;s program management, there&rsquo;s a steady cadence of meetings &mdash; I think I can manage.</p>
<p>I did find myself looking through my calendar and sort of Tetrising tasks on my list into my available space, jotting down the target block of time and a time estimate. I am sure apps allow you to do all that, and I know there are apps that also semi-automate the process of doing the Tetrising for you. I don&rsquo;t know if I need something to do that for me.</p>
<p>I keep coming back to my old HR business partner, Don, who told me &mdash; when I was freaking out about an interim leadership role I didn&rsquo;t think I belonged in &mdash; &ldquo;you know what&rsquo;s important, and you don&rsquo;t do what&rsquo;s not important, and that&rsquo;s why we think you&rsquo;ll be good at this.&rdquo;</p>
<p>I know what needs to be done, know the state of the things I&rsquo;m pushing forward, and I know when that stuff needs to be done. When things get super choppy I&rsquo;ll break down and do a big dump so I can negotiate priorities with more precision, but, sort of like throw-away writing, that&rsquo;s a process. I don&rsquo;t want to leave it to a tool or suck all the friction out, any more than I want ChatGPT to do my throwaway process writing for me.</p>
<p>Someone did comment to me that they didn&rsquo;t like the sound of copying things over from day to day.  I get the resistance. It&rsquo;s not necessary effort. The CO I knew who lived out of her legal pad explained to me that the copying was important to her, because it helped her think about what was important, think ahead about tomorrow, and ball up the list from today and toss it in the recycling bin before turning off the lights and going home.</p>
<p>You know, a legal pad is an imperfect system. If you move around a lot, you have to remember to bring it with you. It doesn&rsquo;t sync to the cloud. It requires you to copy things, scratch things out, etc. On the other hand, it is worse at hoarding obligations than an electronic tool, it makes you think a little harder about what you commit to it, and it is nicer to draw a line through a finished thing than click it out of existence (in my opinion). I like having it sit there on my desk, just to the right of my mouse pad. I can look at it whenever I&rsquo;m not sure what to do with a minute, and there&rsquo;s always something.  I experimented with pinning my Things &ldquo;today&rdquo; list on my screen to do the same thing, but that didn&rsquo;t take.</p>
<p>Anyhow, I really don&rsquo;t want anyone else to use legal pads to keep track of what they have to do today, and expect at some point I will be very curious about some other thing and will want to try it out.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-07-17</title>
      <link>https://mike.puddingtime.org/posts/2023-07-17-daily-notes/</link>
      <pubDate>Mon, 17 Jul 2023 18:54:06 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-07-17-daily-notes/</guid>
      <description>A few notes on conflict. The INT650.</description>
      <content:encoded><![CDATA[<h2 id="notes-on-conflict">Notes on conflict</h2>
<blockquote>
<p>When my master and I were walking in the rain, he would say, &ldquo;Do not walk so fast, the rain is everywhere.&rdquo;<br>
&mdash;Shunryu Suzuki</p>
</blockquote>
<p>For a very long time &mdash; too much of my life &mdash; I thought conflict was a sign that there was a problem. I didn&rsquo;t like disagreeing with people about much of anything. I&rsquo;m using &ldquo;conflict&rdquo; in a broad sense: Over resources, points of view, vision, beliefs, tastes.</p>
<p>Over time I shifted on the matter a little, but when I look back on it I realize I wasn&rsquo;t really evolving my attitude toward conflict, I was just evolving my response to its existence, while still believing that being in a state of conflict is a problem. I just got better at keeping my blood pressure low and gritting through it. I think I was looking at conflict as a thing that you have to acknowledge exists, but that you need to get through as quickly as possible, because it&rsquo;s a bad place to be.</p>
<p>That attitude created some problems:</p>
<ul>
<li>When you&rsquo;re bad at being in conflict, you&rsquo;re at a disadvantage with people who are good at it and mean you harm; and you&rsquo;re annoying people who are good at it and mean you no harm.</li>
<li>When you look at conflict as a thing to grit through and end quickly it&rsquo;s hard to maintain your integrity. (See above: The people who don&rsquo;t want what&rsquo;s best for you (or the business, or the world, or etc.) understand this, and the ones who are really good at it and a little indifferent toward what&rsquo;s best for you are counting on you to do all the work to get out of conflict.)</li>
<li>When you&rsquo;d rather do anything than admit that you&rsquo;re in a state of conflict, you will eventually do something about your problem that is less skillful for having waited than if you&rsquo;d admitted it to yourself (and whoever you&rsquo;re in conflict with) sooner. Or, as one of my past managers put it to me, &ldquo;don&rsquo;t be that guy who hockey-sticks.&rdquo; (I nodded then kind of hockey-sticked.)</li>
<li>When you&rsquo;re bad at being in conflict, and you&rsquo;re willing to be set aside your integrity or do other things to get out of it quickly, you&rsquo;ll eventually get tired of &ldquo;losing&rdquo; and figure out ways to &ldquo;win&rdquo; that cause others to see you as, at best, baffling and frustrating, and at worst Machiavellian and treacherous.</li>
</ul>
<p>That, anyhow, is a rough categorization of my many hundreds of mishandlings of conflict. Maybe the most interesting thing to me about all those mishandlings is that over time I managed to convince myself that failing to be in conflict well was a sign of <em>virtue.</em> Moral sophistication. &ldquo;Taking the high road.&rdquo; &ldquo;Not worth the stress.&rdquo; &ldquo;Learning how to play the game.&rdquo; &ldquo;Protecting the team.&rdquo;</p>
<p>Over the past few years, I&rsquo;ve changed on the matter: On balance, I definitely don&rsquo;t think its existence is a sign there&rsquo;s a problem. It&rsquo;s just a sign that there&rsquo;s a conflict.</p>
<p>I still feel a little cautious about conflict when I don&rsquo;t know the person I&rsquo;m in conflict with very well. Caution is useful, because people who are bad at being in conflict but mean well &mdash; people who are &ldquo;good eggs&rdquo; &mdash; can still sort of mess things up, because if I have to bet on whether someone hates &ldquo;losing&rdquo; or just grinning and bearing it more, my money is on them hating losing more. When things get to a place where it feels existential to them, even good eggs can act sort of rotten. So you have to take time and attend to the interaction so they can be in conflict and feel safe about it.</p>
<p>I still think I have a responsibility to introduce the existence of conflict with kindness, or receive the news that I&rsquo;ve entered into a state of conflict in a manner that invites a full airing. &ldquo;Relaxed and possibly delighted curiosity,&rdquo; I suppose I&rsquo;d call it, rather than a furrowing of the brow and assurances that I want to restore harmony at once. Because I don&rsquo;t want to restore harmony at once. I want to understand why we want different things, then figure out how we can both behave with integrity while we sort that out.</p>
<h2 id="the-int650">The INT650</h2>
<img src="https://its.puddingtime.org/uploads/2023/f4d4087a00284d89b3cedd2720a3b117.jpg" width="600" height="337" alt="">
<p>I finally quit waffling on what to do with the Royal Enfield Himalayan. I took it up to <a href="https://www.sabatinomoto.com">Sabatino Moto</a> in St. Johns and traded it in for another Royal Enfield: An INT650 (&ldquo;Interceptor&rdquo; everywhere else in the world, but not in North America where Honda owns the rights to the name.)</p>
<p>It&rsquo;s a pretty night and day difference. The Himalayan is a mountain goat, and the INT650 is &hellip; something a little prettier and a little less rough. I was never going to ride the Himalayan the way it was meant to be ridden &mdash; fire roads, gravel, dirt &mdash; and I didn&rsquo;t have the patience for the very &ldquo;work in progress&rdquo; attitude Royal Enfield took toward it.  One thing you learn from all the Himalayan videos on YouTube is that the people who love them best don&rsquo;t mind fiddling, tweaking, and wrenching. After reading hundreds of owners talk about their experiences, I have come to realize I lost the factory QA lottery on mine, and that engendered a lack of confidence in it that I never recovered from.</p>
<p>Also turns out, I think, that I had a bad dealer:</p>
<p>The first RE dealer in the Portland area doesn&rsquo;t really want to sell them, and it really does not want to do anything other than the most basic service. I think I&rsquo;ve documented that elsewhere, so I won&rsquo;t go into it more here, but I&rsquo;ll just offer the observation that RE&rsquo;s strategy of linking up with Harley dealers to build out its US distribution network did its customers no favors.</p>
<p>The folks at Sabatino, on the other hand, seem to have a genuine appreciation for the bikes, that extends all the way to acknowledging that RE has some QA challenges. Sabatino addresses that by doing their own QA when they uncrate a new bike. And they&rsquo;re willing to talk about the ups and downs of each model. My head was briefly turned by another model, and I got a reasoned, balanced, discussion of why maybe that one wouldn&rsquo;t work for me.</p>
<p>They also offer test rides. I can name one dealership that <em>grudgingly</em> made me sign a waiver and write a check for the full amount  to test ride a Grom for five laps around their parking lot, and they only did that because it was a two-year-old model and they&rsquo;d sold the newer one they promised me out from under me.  Sabatino made me do the waiver, share my insurance information, and hand over my license, but then they tossed me the keys and told me they&rsquo;d see me when they saw me.</p>
<p>Anyhow, the test ride sold me. I&rsquo;ve been through several configurations of motorcycle and scooter since getting my motorcycle endorsement &mdash; maxiscoots, normal scoots, mini-moto, cruiser, trail bike, dual-sport &mdash; and none of them have been the thing I first imagined myself riding when I finally decided to learn how to ride. Well, learn how to ride as an adult, anyhow. The twin 650 runs and sounds nice, the bike handles more comfortably than the Himalayan despite there being 40 pounds more of it, and the super-simple analog speedo and tach are just sort of pleasant. I ran it around St. Johns for a while, was struck by how immediately comfortable it was (and how confident I felt on it), and that was that.</p>
<p>Yesterday I took it on a ride out Foster Road toward Damascus. There&rsquo;s a side road I head out onto that eventually rejoins on the other side of Damascus, close to a back road that joins the highway down to Estacada. So I headed out past Estacada, to see how it did on a small back highway. There was a little bit of buffeting &mdash; no fairings &mdash; but it ran and handled well. I felt more confident on the little back roads coming back than I did heading out as I got to know the bike better. I did decide to detract from its vintage purity a little by ordering a Dart flyscreen when I got back: People say it helps clean up the turbulence at highway speeds, and keeps the bugs off the pretty silver cans.</p>
<p>Anyhow, glad I&rsquo;ve got it in the driveway with so much of the riding season left, and I can wholeheartedly recommend Sabatino Moto if you&rsquo;re looking to buy one for yourself.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-07-14</title>
      <link>https://mike.puddingtime.org/posts/2023-07-14-daily-notes/</link>
      <pubDate>Fri, 14 Jul 2023 11:55:24 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-07-14-daily-notes/</guid>
      <description>I forgot that micro.blog is pretty nice. Firing the marketing team. The Playdate came. M1 love.</description>
      <content:encoded><![CDATA[<h2 id="what-im-thinking">What I&rsquo;m thinking</h2>
<p><a href="/posts/2023-07-13-daily-notes/">Yesterday I quoted Joan Didion</a>:</p>
<blockquote>
<p>&ldquo;I write entirely to find out what I’m thinking &hellip;&rdquo;</p>
</blockquote>
<p>&hellip; and this morning I found myself replying to a comment on micro.blog. I am not even sure how I ended up on there, but I did, and saw an interesting comment, replied, and had a brief exchange, and it was pleasant, because micro.blog has that kind of vibe. A few days ago Luke <a href="https://hachyderm.io/@lkanies/110684780282341000">warily noted the existence of &ldquo;the HOA&rdquo;</a> on Mastodon, and I completely got what he was talking about.</p>
<p>Mastodon was never going to remain immune to a very Twitter-like kind of discourse creeping in, and as Twitter continues its descent that will only get worse.  Some of Masto&rsquo;s design choices will make some of the worst Twitter excesses and abuses harder to replicate, maybe, but there&rsquo;s nothing the lack of quote toots is going to do to blunt the fundamental nature of Twitter discourse, which is reductive and loud. That&rsquo;s what happens when you give primates 500 characters to get an idea across and limit them to their thumbs to express it. Sorry. I didn&rsquo;t write the rules.</p>
<p>micro.blog has managed to avoid that, partially through software design and partially through community governance. What&rsquo;s really amazing to me is that I remember  sometimes things would  get sort of bad for someone and they&rsquo;d get a little spikey or prickly, and others support them through their spikeyness or prickliness. It feels like there&rsquo;s a community there.</p>
<p>All to say, I used to pass micro.blog posts through to Mastodon and got to kind of double-dip on communities. Maybe I want to try that again.</p>
<h2 id="a-small-thing">A small thing</h2>
<p>Poking around my micro.blog profile I saw that I had a bunch of things linked in the little socials bar my theme provides, including LinkedIn and GitHub. I got rid of those links and that felt pretty good. I also stopped paying for a LinkedIn account, and that felt <em>great</em>. Then I went through the pages I have set up on micro.blog and got rid of job information.</p>
<p>It is sort of strange to be in this mental space where I really like my job and also feel pretty good about disentangling it from everything. I think that over the past several years I spent so much time fretting about what I was going to do next, and wanting to make sure I had all the self-marketing infra built out, that it just seemed normal to let things blur.</p>
<p>Now that I&rsquo;ve been through the last year, I think:</p>
<ol>
<li>The intersection of what makes me great at work and what people on Mastodon want to read about is probably a very small set. I have nothing interesting to tell you about what I do for a living that you could copy from a code snippet or run in a container to try for yourself.</li>
<li>It wasn&rsquo;t a good idea to pay for LinkedIn all those years, but I am keeping my free account because that&rsquo;s where people who have a lead will think to look for you, and where you can keep up with people you met at work and care about but have not formed an outside social bond with. The job search stuff, though? The special messaging? Just not necessary.</li>
<li>I think I will hold the line against blending the socials and the work again. Meaning, no linking to my LinkedIn profile, no linking to my GitHub profile, maybe the occasional post about things that are work-related, but just setting aside the idea that my web presence is a content marketing exercise for the product that is me. As a strict question of ROI, it wasn&rsquo;t there. If the matter comes up again, anything that might have helped will still be there to help if I want it. I don&rsquo;t need to make more inventory. As a question of mental health, it wasn&rsquo;t good for me.</li>
</ol>
<p>On the last few bits, it&rsquo;s just another gift I got from Puppet. I went in there figurative hat in hand, and I&rsquo;m glad whatever I did during interviews worked; but confidence, humility, and a sense of self-worth all exist in a curious sort of balance that is different for me today than it was ten years ago. Taking something that brings me joy &mdash; fiddling with web stuff &mdash; and putting the anxious weight of helping me find work or feel more prepared to lose work wasn&rsquo;t a good formula for me. Because when a thing you love takes on a work aspect, when do you get to stop thinking about work?</p>
<p>Like, if I were a professional web developer or designer or writer, then my web presence would, unfortunately, need a certain kind of attention, I guess. At least to my standards. But I&rsquo;m not. I&rsquo;m just this leader/director/works in tech/&ldquo;seems like he came from somewhere else and could possibly end up there again kind of guy.&rdquo; I think if you just started reading backwards you could learn some useful things, and if anything you found made you decide I was not hirable, that&rsquo;d be <em>awesome.</em> And there&rsquo;s perhaps a small chance I won&rsquo;t bother to cultivate into a larger one that at least the way I seem to approach my transient obsessions, oblique references to political annoyances, and amateur web engineering tasks is good marketing for my particular <em>je ne sais quoi</em> in a way that bleating about my passion for the business/IT partnership, good process, and container technology is really not.</p>
<p>Anyhow, this is a good time. <a href="https://www.graceguts.com/quotations/zen-story-tigers-and-a-strawberry">I will enjoy it.</a></p>
<h2 id="the-playdate-came">The Playdate came</h2>
<p>I&rsquo;m not sure what to say about it beyond that besides &ldquo;yay, it is here!&rdquo;</p>
<p>It&rsquo;s a little smaller than I imagined, it feels a little better crafted than I imagined &mdash; I really like it as an object &mdash; and it is <em>perfect</em> for the use case my Nintendo DS used to occupy, as a thing on my desk I would use to reset between meetings or when I had a little time to kill but not enough to start something new.</p>
<p>The one downside: My first season 1 game drop arrived around three in the morning and it started flashing on my bedside table, waking up Al who sleepily tried to press buttons to just make it stop before giving up. Her struggles woke me up enough to think to stick it in the bedside table drawer.</p>
<p>Otherwise, happy to have it. Maybe I&rsquo;ll write more as more games come in and I form more of a thought.</p>
<h2 id="pausing-to-appreciate">Pausing to appreciate</h2>
<p>The matter of remaining Intel MacBook Pros in the fleet came up at work. We&rsquo;ve been steadily dredging them out as they age out, but a few remain. As I talked to the leader who was asking me to do something about a pocket of them in his group, it wasn&rsquo;t hard to empathize at all. I had a 16&quot; &ldquo;one down from the very best&rdquo; Intel on my desk, and when I put the M1 mini in it made a startling difference. I sold the mini and got a Studio, and I think the best thing I can say about it is that new Studio models haven&rsquo;t caused me to bat an eye. It&rsquo;s just smooth and steady. Performance improvements are just an abstraction to me.  I don&rsquo;t think about it being a computer because it just does what I want without making me wait.</p>
<p>A few years into the Apple Silicon Age, I still feel a little amazed. The Studio is the best computer I&rsquo;ve ever owned, and my 14&quot; Pro is my favorite laptop ever. It&rsquo;s very strange to me that when I think &ldquo;what would I like next&rdquo; the two things that come to mind right away are:</p>
<ul>
<li>An iPhone mini with all the lenses</li>
<li>An iPad Pro with a landscape camera</li>
</ul>
<p>The former isn&rsquo;t going to happen, and I think that means the right iPhone for me is a Pro Max, because I&rsquo;m doing the Pro for the camera and it&rsquo;s already too large, so might as well just go for it. The latter &hellip; eh. I made a go of full-timing on an iPad, at least as my mobile computer, and it didn&rsquo;t take. I named my 11&quot; Pro &ldquo;Evolutionary Niche&rdquo; because it&rsquo;s good to take camping or traveling, but I&rsquo;d just rather use a regular laptop most of the time.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-07-13</title>
      <link>https://mike.puddingtime.org/posts/2023-07-13-daily-notes/</link>
      <pubDate>Thu, 13 Jul 2023 07:20:30 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-07-13-daily-notes/</guid>
      <description>The nonprofit and outrage clown industrial complexes. reddit and lemmy. Our atavistic fear of tankies. The taxonomical and emotional valence of the daily post.</description>
      <content:encoded><![CDATA[<h2 id="assorted-critiques">Assorted critiques</h2>
<p>Al sent me <a href="http://socialistworker.org/2018/10/11/beyond-the-nonprofit-industrial-complex">this critique of &rsquo;the nonprofit industrial complex&rsquo;</a> yesterday and it&rsquo;s another one of those things (though a few years old) that reminds me of the ways The Consensus is falling apart. Asked a few years ago, I&rsquo;d have believed a phrase like &ldquo;nonprofit industrial complex&rdquo; was wholly owned by my local subreddit&rsquo;s reactionary goon squad. I&rsquo;m sure the phrase will still incite some liberals.</p>
<p>But it means something that my wife, a 20-year social work veteran with an MSW &mdash; as dedicated to public service as anyone I know &mdash; is sharing that article with me, because she&rsquo;s probably <em>more</em> angry about the state of nonprofits than the reactionary goons in my local subreddit, just &hellip; from the opposite direction. I don&rsquo;t know if I&rsquo;ve ever felt, in my politically aware life, like so many people across what passes for the political spectrum in this country are convinced that whatever is going on here is simply not working.</p>
<p>I first <a href="/posts/2022-02-07-the-outrage-clown/">noticed it for myself</a> early last year:</p>
<blockquote>
<p>&ldquo;Like, there’s an actual market for attacking liberals from the left that can be serviced and people can make a living at it, and that says something interesting about where political sentiment might be right now &hellip; something interesting about what people are hungry for.&rdquo;</p>
</blockquote>
<p>More downpage.</p>
<h2 id="reddit-lemmy">reddit, lemmy</h2>
<p>With no Apollo, I just don&rsquo;t go to reddit much anymore, and I&rsquo;m not signed in when I do. I just go to one or two subs in my browser history. I think I&rsquo;m fine with that &mdash; the one sub I was a regular on isn&rsquo;t really the healthiest place, and a few others are just disposable. But it has started to strike me that a lot of Google searches end up on reddit, and I get a small amount of traffic to here <em>from</em> reddit from posts that have turned up there over the years.</p>
<p>I&rsquo;m also struck by how annoying the ads are in their size, irrelevance, and repetition. They make the experience confusing.</p>
<p>Lemmy is still pretty quiet. I subscribe to a portland-related local, a bunch of meme communities, and a few technical ones. There&rsquo;s not a lot of conversation.  Hexbear is very active, but it&rsquo;s not federated (getting there), and it could just as easily be on any discussion platform. I understand lemmygrad is widely blocked, which is sort of hilarious to me because coming up on the left decades ago we understood that the presence of a few tankies in any left space was mostly just cause for amused eye-rolling. But we&rsquo;re all heads in jars now, so they seem to be taking on a significance in online spaces they could never assume in meatspace. 2016 will never end.</p>
<h2 id="this-generations-watergate">This generation&rsquo;s Watergate</h2>
<p>I say &ldquo;2016 will never end&rdquo; as someone who remembers watching Richard Nixon resign in 1974. At the time I registered that event as an unwelcome disruption of normal t.v. because I was six years old, and somehow this bizarre intrusion on normal programming had taken over all three stations available to me.</p>
<p>We were, by the way, a Cronkite family, so I imagine this is what I was watching:</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/EG0-K0wLP3Q" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
<p>But we all know that the matter didn&rsquo;t end there. We were still feeling its effects 25 years later, while Clinton was in office. We&rsquo;re still feeling its effects.  It is not hard to imagine that everything around 2016-2020 will remain a defining political trauma for years to come, and some of that trauma is just a fractal iteration of what came 40 years earlier.</p>
<p>So I don&rsquo;t think it&rsquo;s important to be very online and very &ldquo;current.&rdquo;</p>
<p>One thing I adopted post-2016 was a radical pare-down of news inputs. I have two paid subscriptions, so I don&rsquo;t waste time trying to get around paywalls: One national, one local. I prefer to get one each of their daily newsletters at the end of the day. I follow one local alt-weekly, as well. I&rsquo;ve gone from &ldquo;guiltily ill-informed relative to all the other middle class people&rdquo; to &ldquo;defiantly disinterested in playing this ridiculous game.&rdquo; My mental health is better, my sense of broad patterns has improved, and my patience for others has increased.</p>
<p>It&rsquo;s sort of interesting to look back maybe two or three years, because I can see a period where the decrease in daily news intake shifted a little left to an increase in current-events-related books. I think that made sense to me because, you know, books take a while to write and produce and distribute. But really that&rsquo;s not true &mdash; on the timeframes that matter, they really don&rsquo;t take that long. The fast-paced ephemerality of the social/blog-to-book pipeline is only picking up speed.</p>
<p>So I had a period of relative calm after I slowed down my news intake and refused to read the op/ed pages,  then began to feel more and more agitated again as Libby began to deposit long-form current events stuff on my Kobo.  It lured me into a  period of newsletter and blog subscriptions (&ldquo;not news, therefore ok&rdquo;), and I&rsquo;m glad something <a href="/posts/2022-02-07-the-outrage-clown/">bothered me enough to set all that stuff aside</a>, too.</p>
<p>Yesterday <a href="https://social.lol/@mph/110701757592302896">I referred to Metafilter</a> as &ldquo;Web 2.0’s Doom Spiraling Hermit Kingdom,&rdquo; and I think it is a great example of what happens to people who are very current and very online when they lock themselves in a space together. The recent thread on the bizarre Wagner Putsch &mdash; sorry, I don&rsquo;t want to find the link &mdash; just seemed unhealthy, obsessive, and likely to age like milk for all the authority people were claiming to hold forth.</p>
<p>Am I saying I&rsquo;m above it all? No. I just prefer to be outside it.</p>
<h2 id="metadata">Metadata</h2>
<p>I went to look up a recent post and it caused me to realize that almost all my posts are &ldquo;daily posts.&rdquo;</p>
<p>A very long time ago daily posts were my way of blogging at work without being seen to be blogging at work: I opened a BBEdit document at the beginning of the day, started filling it with links and things, then waited until early evening to run a Perl script that squirted it into MovableType. There. Plausible deniability.</p>
<p>I started doing them again on this blog as an adaptation when I shifted away from micro.blog. Coo all you want about version-controlled static site generators &mdash; and I do &mdash; they&rsquo;re more cumbersome than something that works well with, e.g. MarsEdit. So rather than a bunch of microposts, I preferred to gather them all in one place and save last pass and publishing for the end of the day.</p>
<p>But I came across that fragment of a Joan Didion quote:</p>
<blockquote>
<p>&ldquo;I write entirely to find out what I&rsquo;m thinking &hellip;&rdquo;</p>
</blockquote>
<p>&hellip; and I think &ldquo;Daily Post&rdquo; is also helpful to me as a writing aid.</p>
<p>One of my preoccupations I&rsquo;ve had over 20 years of blogging is how to handle representing &ldquo;what I am&rdquo; or &ldquo;what I do.&rdquo;</p>
<p>Like a lot of preoccupations, a key ingredient was irritation: Early web celebrities would write about something they did, or thought was interesting, and it&rsquo;d start a conversation about that thing, and then the comments would be full of people talking about &ldquo;what I do.&rdquo;</p>
<p>Like, let&rsquo;s take &ldquo;GTD methodologies.&rdquo;</p>
<p>You read 20 or 30 multi-paragraph comments about &ldquo;my GTD methodology&rdquo; and for some of them you&rsquo;re just, like, &ldquo;no, I know for a fact that you do not do that because if you truly managed your life that way you would not be able to keep a roof over your head or food in your children&rsquo;s mouths. This is entirely too complex, too elaborate, and too utterly incompatible with the information, organization, or communications needs of any other human being on the planet to actually be a real &lsquo;methodology&rsquo; that wouldn&rsquo;t eventually get you fired or simply render you unemployable to begin with.&rdquo;</p>
<p>But a more charitable impulse would kick in, and rather than thinking &ldquo;this person is lying,&rdquo; I&rsquo;d decide &ldquo;this person is sharing an aspirational state they probably haven&rsquo;t been doing for long, or realizing quite this fully.&rdquo; The more I worked in operational roles over the years, the better I got at spotting the first draft of a process doc, and those are always about as impractical and weird as any comment in 43Folders on how to live entirely out of 3x5 cards you keep in a DIY duct tape pouch and annotate with 12 shades of washi tape you arrange sempahore-style.</p>
<p>Plus, shit; I do it, too.</p>
<p>I&rsquo;m constantly fussing with things, trying stuff out, getting restless, trying something else, going back to the last thing, hacking together some god-awful script to mostly &mdash;  76-percent-complete, anyhow &mdash; back me out of a bad data decision. I&rsquo;ve made an effort to isolate things I think of as &ldquo;core systems and tools&rdquo; from my worst impulses &mdash; I am way less interested in fucking with how I process photos or track todos than I am with how I keep scratch notes for work &mdash; but as someone who was splitting his time between a Sinclair ZX-81 and a VIC20 because each had its charms, who played first chair parts on a bass trombone to stretch my articulation, who made a portable Commodore 64 out of upholstery vinyl and a 5&quot; black-and-white TV to let me write term papers on my third-shift workstudy job at the power house, and who owns no fewer than eleven slings, bags, or pouches in the 3-to-10 liter range, I know from screwing around with shit for the hell of it.</p>
<p>Calling things &ldquo;Daily Posts&rdquo; has provided a little relief from self-consciousness over that.</p>
<p>When I put something under &ldquo;Daily Posts,&rdquo; it feels less like I&rsquo;m issuing some proclamation about <em>What I Do</em> and more sharing a little about <em>What I&rsquo;m Doing</em>, because that is constantly changing, and putting those constantly changing things under single posts that jump out on the index pages feels entirely too weighty for what they&rsquo;re meant to tell you.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-07-11</title>
      <link>https://mike.puddingtime.org/posts/2023-07-11-daily-notes/</link>
      <pubDate>Tue, 11 Jul 2023 06:01:33 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-07-11-daily-notes/</guid>
      <description>Garmin GPS stuff, trying Wikiloc, calming down about notes, settling in at work.</description>
      <content:encoded><![CDATA[<h2 id="garmin-and-gps-stuff">Garmin and GPS stuff</h2>
<p>We took a weekend trip down to the Alsea Falls area, west of Corvallis. We camped in the federal campground there, and spent Saturday hiking up Marys Peak.</p>
<p>This is the second season we&rsquo;ve had our Garmin <a href="https://www.garmin.com/en-US/p/592606">inReach Mini</a>, a small GPS device that offers basic tracking plus emergency satellite communications (SOS and texting) and live weather. We got it after a small scare on our trip to the Redwoods last spring.</p>
<p>I&rsquo;m a hardware GPS holdout. I&rsquo;ve used a number of iPhone apps including Gaia GPS and AllTrails, but my issues with using an iPhone in the backcountry amount to the unpredictability of the devices: I&rsquo;d like better guarantees about the stability of the data I keep on them, I don&rsquo;t trust their power management over the course of a day on the trail, and I live in a biome that makes fussing with a touch screen in the field a nightmare six months out of the year.</p>
<p>Before we got the Mini we already had a <a href="https://www.garmin.com/en-US/p/669284">Garmin GPSMAP 64sx</a>. Even when I&rsquo;ve been experimenting with iPhone apps on the trail I&rsquo;ve preferred to download my routes to the 64sx, even if I&rsquo;m leaving it off and buried in my pack. It&rsquo;s a good insurance policy that paid off a few years ago when we were hiking through burned out areas in Central Oregon and lost the trail thanks to massive deadfalls: the extra topo layers I had loaded into it made it easy to look up the trail on the spot and figure out where to rejoin it.</p>
<p>I&rsquo;d like to shed the 64sx and I&rsquo;ve eyed the inReach-enabled handhelds Garmin&rsquo;s got on the market. They offer rechargeable or AA batteries, do all the handheld GPS stuff, and include the same emergency comms options. The Mini is so small, though, that it&rsquo;s not a huge burden to have two hardware devices. The Mini has a &lsquo;biner I clip to whatever pack strap is handy up near my shoulders and mostly stays out of the way. I just make sure to plug it into the car to recharge it whenever we set out on a trip. So I don&rsquo;t think a whole new device is necessary and I&rsquo;ll just live with the extra hardware.</p>
<p>This weekend convinced me I could probably loosen up a little on using an iPhone on hikes, though. Marys Peak isn&rsquo;t that remote, and there&rsquo;s even 5G cell coverage at the top, so the stakes were lower and made it easier to experiment.</p>
<p>People dis the company for limiting the connectivity of its devices to preserve a focus on hardware, but Garmin&rsquo;s Explore app does a decent job of turning your smartphone into an expensive dongle that offers better ergonomics if you&rsquo;re mostly sticking to easier dayhiking situations. Once paired, the Bluetooth sync between phone and GPS device is solid and fast, and Explore includes topo maps and the ability to add tracks and waypoints to your Garmin account. So you can download a GPX file before heading out, import it into Explore, and it will both sync to your Garmin account and &mdash; once paired up &mdash; your dedicated GPS devices. Any tracks you record on your hardware sync to Explore, where it&rsquo;s much easier to use the phone UI to rename, relabel, and organize once you&rsquo;re off the trail. It also offers a map on a larger, big screen you can consult in a pinch. It&rsquo;d still suck in the rain, but it&rsquo;s there for quick use.</p>
<p>This weekend I addressed a few of my hangups about how little I trust iPhones to behave when my back is turned by making a pair of shortcuts that alternately power down all the radios and put the phone in low power mode or bring the radios back up, and saved them to my homescreen. When we got to a point on the trail where we weren&rsquo;t sure what it would mean to take one route or the other, Explore&rsquo;s topo map made it easy to do a quick consult and make a decision. Having a bigger, brighter, faster screen to explore with was better than the slower, smaller, harder to read 64sx. Then the phone got put away and off we went.  For the kind of hiking we usually do, that seems like a workable use case. So I expect the 64sx will be spending more time at the bottom of a pack.</p>
<p>I did spend some time imagining an iPhone Ultra during the more boring part of the trail, though.</p>
<h2 id="wikiloc">Wikiloc</h2>
<p>Another iPhone GPS challenge involves downloading GPX files. Some apps make it pretty hard to do from mobile even if they do offer the option via a desktop interface, and you&rsquo;re sort of swimming upstream when you do anything on iOS that involves a data file.  I found Wikiloc, which has a reasonable $9.99/year subscription and a 14-day trial, so I&rsquo;m going to give it a try on our trips over the next few weeks. The subscription includes a simple interface to save GPX files to your phone&rsquo;s storage, send them to your Apple Watch, or share them to Garmin devices. I learned I can just use the share sheet to send them to the Explore app, where they sync to my Garmin account.  That&rsquo;s a big improvement over AllTrails&rsquo; mobile app.</p>
<p>Wikiloc is crowdsourced, so you&rsquo;re better off using it when you have time to vet the trails at home, or the connectivity to do so in camp. The ones I&rsquo;ve looked up so far seem fine based on past experience, you just have to choose between several for a few locations, and people don&rsquo;t always clean up the ten minutes they spent walking around the trailhead, visiting the toilet, and walking back and forth from car to picnic table from their GPX files.</p>
<p>We have a few guidebooks to Oregon trails we use to get ideas for hikes, then compare and contrast with the online tracks. It can make for some amusing triangulation: The books are a little dated and fusty, preferring trail names that don&rsquo;t always line up with the names the forest or park services use on the signage. The crowdsourced online trail resources sometimes feel like they were annotated by someone who thinks &ldquo;walk a mile or two and turn left where someone left a Snickers wrapper in the weeds&rdquo; counts as expert guidance.</p>
<p>Anyhow, we&rsquo;re headed to the Diamond Lake area in a few weeks and there are some trails to try it out on. I don&rsquo;t know if we&rsquo;ll make another run at Mt. Bailey this year, though.</p>
<h2 id="anchoring-on-the-denote-way">Anchoring on The Denote Way</h2>
<p>I&rsquo;m a month into &ldquo;Obsidian but with Denote file naming and frontmatter conventions&rdquo; and it&rsquo;s surprisingly calming.</p>
<p>I&rsquo;ve settled on 12 plugins, several of which are discretionary or just around to be used for the API they provide to another plugin, and I&rsquo;ve discarded the things in my setup that were sort of nice but unreliable for syncing. It&rsquo;s smooth, syncing is reliable, and 30+ days into a new job I&rsquo;m finding search works well.</p>
<p>I felt a little itchiness about the setup a few days ago, and the thing that kept me from doing anything about it was the sense that settling on the Denote formatting conventions for file names and frontmatter means the option&rsquo;s there to move between Obsidian and Emacs whenever, so why bother now? They&rsquo;re just Markdown notes. I will probably not revisit north of 75 percent of them ever for anything more than digging out a fact here or there. I can type them into anything. If I ever get to a point where org-mode&rsquo;s better syntax is called for, I&rsquo;ll just slip over to Emacs and carry on. Both formats work in Denote.</p>
<p>Def <a href="https://bear.app">curious about Bear 2</a> tho. It keeps the content in some sort of db though, right?</p>
<h2 id="belonging">Belonging</h2>
<p>I had a chat with a senior executive in my foodchain today. I found myself saying, &ldquo;there&rsquo;s some stuff that&rsquo;s a little messed up I have to deal with, but I belong here and I&rsquo;m the kind of person you need handling this stuff.&rdquo;</p>
<p>Little moments like that have been happening here and there, when I feel a little frustrated that something is just sorta dumb and dysfunctional or broken, then I pause for a moment and think &ldquo;Good. I&rsquo;m the right person to fix this. It&rsquo;s why I&rsquo;m here.&rdquo;</p>
<p>I love my Puppet friends dearly, wouldn&rsquo;t trade the experience for the world, and had the good fortune to go out with a great person to report to who did a lot to help me get back a sense of what I could do, but on balance the last few years of that place did me no favors, and I let a lot of self doubt seep in. It feels good to begin recovering a little more sense of what I&rsquo;m supposed to be about. I&rsquo;m so glad I got to take a break before I jumped back in.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-07-10</title>
      <link>https://mike.puddingtime.org/posts/2023-07-10-daily-notes/</link>
      <pubDate>Mon, 10 Jul 2023 11:55:10 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-07-10-daily-notes/</guid>
      <description>Something lost along the way.</description>
      <content:encoded><![CDATA[<h2 id="whos-doing-politics">Who&rsquo;s doing politics?</h2>
<p>Politics feel more cultural than political these days. And in the wealthier corners of the world, the culture around educated people involves a sort of pained, fretful play in which we problematize virtually everything. It&rsquo;s not the best hobby, but it&rsquo;s widespread enough that good liberals have decided &ldquo;virtue signaling&rdquo; suffered from right-wing capture but was perhaps <a href="https://www.vox.com/science-and-health/2019/11/27/20983814/moral-grandstanding-psychology">in need of a suitable conceptual approximation</a> because &ldquo;<a href="https://www.theguardian.com/commentisfree/2023/jul/07/my-white-friends-trivialise-racism-by-labelling-everything-racist-how-do-i-tell-them-to-stop">forced allyship</a>&rdquo; is a manifestation of it, whatever you want to call it.</p>
<p>I&rsquo;ve pointed to it in the past, but the <a href="https://en.wikipedia.org/wiki/Chomsky%E2%80%93Foucault_debate">Chomsky-Foucault debate</a> really does strike me as a bellwether, Chomsky earnestly arguing there&rsquo;s a point A, and a point B, and that the law or state may or may not be relevant to how you affix those points in your ethical charts, but they exist; Foucault averring a veritable Xeno&rsquo;s paradox of morality that has since driven the progressive left into a kind of recursive, somehow-other-directed narcissism that undermines and sometimes destroys the things it most seeks to champion and ally itself with.</p>
<p>I&rsquo;ve come at this idea through a bunch of different lenses in the past several weeks &mdash; Supreme Court rulings, the billionaire submarine, a friend&rsquo;s tweet about an obtuse NYT column, Twitter, Lemmy, reddit, Bluesky &mdash; some of them written down, some diverted into tangents far away from this, some dying as drafts.</p>
<p>I think <a href="https://www.nytimes.com/2023/06/29/opinion/college-admissions-affirmative-action.html">this essay</a> brought it closer to a boil:</p>
<blockquote>
<p>&ldquo;Expect more antiracist action plans, more vaporous decolonization, more mandated training, more huckster consultants, more vacuous reports, more administrators whose jobs no one can explain, more sleazy land acknowledgments (&lsquo;Sorry I stole your house!&rsquo;), more performative white self-flagellation, more tokenization of minority faculty members.&rdquo;</p>
</blockquote>
<p>Go ahead and place a bet with yourself on the likely cultural/political alignment of the author before clicking through.</p>
<p>We were in the streets, furious, three years ago. I&rsquo;m not entirely sure what happened, exactly, but something went wrong or got lost, and the fingerprints of our conflation of politics and culture are all over it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-07-01</title>
      <link>https://mike.puddingtime.org/posts/2023-07-01-daily-notes/</link>
      <pubDate>Sat, 01 Jul 2023 08:24:29 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-07-01-daily-notes/</guid>
      <description>Swapping Zoom for Golden Ratio (Emacs window resizing). Life after reddit. First poke at Lemmy. Himalayan Day. Thorns game.</description>
      <content:encoded><![CDATA[<h2 id="zoom-swapped-in-for-golden-ratio">Zoom swapped in for Golden Ratio</h2>
<p>I mentioned a few weeks ago that I was trying out Golden Ratio, an Emacs package that dynamically resizes windows inside the frame as you switch between them. I saw a few warnings here and there that it had a few bugs, but for the past few weeks it seemed fine. I finally came across one a few days ago that I couldn&rsquo;t quite isolate &mdash; it broke the way <code>org-insert-structure-template</code> worked &mdash; and finally took the time to narrow it down this morning.</p>
<p>Golden Ratio isn&rsquo;t being maintained anymore, so I decided &ldquo;not enough time in the day,&rdquo; marked that part of my config <code>:tangle no</code> and installed <a href="https://github.com/cyrus-and/zoom">Zoom,</a>, which does much the same thing.</p>
<p>Minimum config:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-lisp" data-lang="lisp"><span class="line"><span class="cl"><span class="p">(</span><span class="nv">custom-set-variables</span>
</span></span><span class="line"><span class="cl"> <span class="o">&#39;</span><span class="p">(</span><span class="nv">zoom-mode</span> <span class="no">t</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"> <span class="o">&#39;</span><span class="p">(</span><span class="nv">zoom-size</span> <span class="o">&#39;</span><span class="p">(</span><span class="mf">0.618</span> <span class="o">.</span> <span class="mf">0.618</span><span class="p">)))</span></span></span></code></pre></div>
<h2 id="post-reddit">Post-reddit</h2>
<p>Golden Ratio made me think about reddit for a bit. I learned about that package from one of the Emacs subreddits. I don&rsquo;t recall a ton of discussion about it, so it must have been one of the quiet link aggregator subs, like /r/planetemacs. That was the other half of my reddit experience: Grazing steady feeds of interesting stuff. I&rsquo;ve learned a lot about assorted interests &mdash; motorcycling, longboarding, Emacs, ruby &mdash; from watching a subreddit scroll by and just grabbing links.</p>
<p>That part of my experience is largely unaffected by the third-party app shutdown. I don&rsquo;t follow or participate in discussions much, so I can do that from a browser or reddit&rsquo;s own, terrible app.</p>
<p>But while I&rsquo;m not, like, <em>boycotting</em> mad, I&rsquo;m irritated. I don&rsquo;t know how spez managed to press so many buttons at once with me &mdash; ordinarily tech dude stuff rolls off my back, and C-level tech dude stuff barely registers as language or thought, but the combination of smarm, Ralph-Wiggum-esqe &ldquo;I&rsquo;m a <em>business man</em> <code>&lt;eats paste&gt;</code>&rdquo; posturing, deceit, and bizarre turn into trying to make the whole thing some sort of identity politics issue just &hellip; wow.</p>
<p>Like, look: Even at my most business-like &mdash; my most &ldquo;jacked director&rdquo; &mdash; I&rsquo;m pretty much just one of those vintage-looking prints you see at mall restaurants of little kids dressed in adult clothing sitting at a desk on an old-timey phone or whatever.  If I have a philosophy of business communication or governing principle for &ldquo;how I show up,&rdquo; it is probably &ldquo;best to keep your mouth shut and be thought a fool &hellip;&rdquo; etc.</p>
<p>But when I read the clown-like attempts at businessing going on over the Apollo debacle &mdash; the appalling, <em>weak</em> blithered  promises that everyone was gonna be cool here &mdash; I was sort of appalled and a little embarrassed for them. It was like when you ask one of your managers &ldquo;so did you give them that feedback about promotion?&rdquo; and they swear to God they laid down the law but their report took it like a champ, then you actually read the check-in and it&rsquo;s, like, &ldquo;Joe Grudd was stellar this year. Recommending for immediate promotion. Top notch ace contributor. Indispensable.&rdquo;</p>
<p>And <em>then</em>, after dithering around and failing to just sit up straight and deliver the damn message, they let themselves get clowned. <em>Nobody</em> covered themselves in glory in whatever negotiations were going on, but table stakes for people who&rsquo;re busy ruining the customer experience on a beloved website because They Are Serious Business People Who Get How This Works is pretty much &ldquo;don&rsquo;t look worse than the one-man cottage industrialists who&rsquo;re hoping you&rsquo;ll get them to go peacefully if you just buy them out <em>ha ha only serious</em>.&rdquo;</p>
<p>But somehow they couldn&rsquo;t even do that.</p>
<p>Anyhow.</p>
<p>It just sort of shades the whole experience now. Perfectly nice, sometimes emotionally violent shitposters just getting on with their days, the occasional incel breaking cover and going down in a hail of gunfire under the helicopter spotlights of the moderation team, no longer ad free, forcing you to remember that when someone says &ldquo;have some gold, kind stranger&rdquo; that gold was sold to them by the Ed Rooney of web publishing. There&rsquo;s just this lingering fart smell wafting through it all. Where do you go from here?</p>
<h2 id="lemmy">Lemmy</h2>
<p>Well, I decided to look around at Lemmy.</p>
<p>I get it, more or less, and am assuming that all the weirdness I&rsquo;m seeing is down to the same thing that happened with Mastodon last fall: Lots of little instances struggling to keep up with the newbies, plus different configurations, plus the codebase itself. Most of the instances I skipped through were either slow or glitchy. The most solid Lemmy instance I&rsquo;ve seen &mdash; sometimes slow but usable &mdash; is the unfederated hexbear.net, and I don&rsquo;t think it counts.</p>
<p>So I signed up for a couple of more normal ones and will revisit as things calm down.</p>
<h2 id="himalayan-day">Himalayan Day</h2>
<p>Today is &ldquo;work on the Himalayan day.&rdquo; My new Antigravity self-jumping battery is here, the mounting base and passenger back pad for our Givi topcase are here (which will make it easier for Al to ride pillion), and I did some reading about how to test for that parasitic drain. So I&rsquo;m going to give it all a few hours out in the driveway with a wrench and a multimeter. It&rsquo;s sunny and beautiful, so I&rsquo;m looking forward to the ride after I&rsquo;m done.</p>
<p>I&rsquo;m kind of wondering if this small round of &ldquo;get ready for sale, but also make it a little nicer&rdquo; investment will change my mind about selling it.</p>
<p>My strong impression of Himalayans in general is that the user base is split between people who just drive them off the lot and love them, never really having much trouble that doesn&rsquo;t get addressed during early service; and people like me, who get a badly QA&rsquo;d one and more than their share of glitchy components.</p>
<p>I like riding the thing. It&rsquo;s a manageable size for city riding, and it does really well anywhere you&rsquo;d want to go in the Portland metro area. Holds its own on 205/84, fine for runs up to St. Johns or Sauvie Island, great down to Estacada. With the panniers and topcase it&rsquo;s fine for groceries. There&rsquo;s just enough power to two-up in town on date nights. I don&rsquo;t think I&rsquo;d ever take for a run down I5, but I could see running downstate on the back highways.</p>
<p>I&rsquo;ve done so much to it at this point that there&rsquo;s some sweat equity I don&rsquo;t want to part with. If I could nail down the parasitic drain I&rsquo;d have a bike that I feel more than a little attached to, because I&rsquo;ve put a lot of time into getting it dialed in. Knowing there&rsquo;s a dealership up in St. Johns that spends most of its time selling RE&rsquo;s, vs. the sort of crappy &ldquo;RE&rsquo;s are a weird loss-leader for broke Harley wannabes&rdquo; dealership out on the west side I had to get early service from, makes me a little more hopeful, too. It was frustrating having to go do my own research about assorted RE glitches then convince the service team to try fixes. I get the impression the St. Johns people are a little more into REs and would be a little more proactive.</p>
<p>We&rsquo;ll see. If I get it into a place where it just feels good and I don&rsquo;t have that &ldquo;poorly shimmed table leg&rdquo; feeling every time I turn the key, maybe we continue another season.</p>
<p>Anyhow, that&rsquo;s the plan for today, so I&rsquo;m gonna save and ship this.</p>
<h2 id="thorns-game">Thorns game</h2>
<p>Oh &hellip; going to a Thorns game tonight. Our first. Kathleen and Amy had extra tickets, so off we go.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-06-30</title>
      <link>https://mike.puddingtime.org/posts/2023-06-30-daily-notes/</link>
      <pubDate>Fri, 30 Jun 2023 10:37:54 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-06-30-daily-notes/</guid>
      <description>Google Reader. Aliens at the Hollywood. Pickelball noise. Apollo.</description>
      <content:encoded><![CDATA[<h2 id="google-reader">Google Reader</h2>
<p><a href="https://www.theverge.com/23778253/google-reader-death-2013-rss-social">This Verge piece</a> on the life and death of Google Reader is interesting. I was a fan, but not at all for the social reasons. I just thought it was a good way to read news, right up until mobile clients got to a place that I just used it as a sync backend for native readers. Because I never read it as a social app that dimension of the article is food for thought.</p>
<p>Then we get to:</p>
<blockquote>
<p>&ldquo;It’s been a decade since Reader went offline, and a number of the folks who helped build it still ask themselves questions about it. What if they’d focused on growth or revenue and really tried to get to Google scale? What if they’d pushed harder to support more media types, so it had more quickly become the reader / photo viewer / YouTube portal / podcast app they’d imagined? What if they’d convinced Mayer and the other executives that Reader wasn’t a threat to Google’s social plans, but actually could be Google’s social plans? What if it hadn’t been called Reader and hadn’t been pitched as a power-user RSS feed aggregator?&rdquo;</p>
</blockquote>
<p>&hellip; and then &hellip;</p>
<blockquote>
<p>&ldquo;It was never just an RSS reader. &lsquo;If they had invested in it,&rsquo; says Bilotta, &lsquo;if they had taken all those millions of dollars they used to build Google Plus and threw them into Reader, I think things would be quite different right now.&rsquo;</p>
</blockquote>
<blockquote>
<p>&ldquo;Then she thinks about that for a second. &lsquo;Maybe we still would have fallen into optimizing for the algorithm,&rsquo; she allows. Then she thinks again. &lsquo;But I don’t think so.&rsquo;&rdquo;</p>
</blockquote>
<p>Well, hard disagree.</p>
<p>There is something very strange to me about the disconnect between tech&rsquo;s behavior and the way that behavior is received and perceived by the version of the tech press that runs sites like <em>The Verge</em>. Like, the whole &ldquo;Google arbitrarily kills things &ndash; why, God?&rdquo; theme they harp on, while also crying about how, like, smartphone design has stagnated so let&rsquo;s please rush more easily broken folding gimmicks to market because &ldquo;black metal slabs are boring.&rdquo;</p>
<p>I don&rsquo;t even know what I&rsquo;m trying to say here, except that there is something both sweet and naive but also blinkered and infuriating about a tech press that can&rsquo;t see itself as a wholly compromised and willing participant in the tech industry. It&rsquo;s &ldquo;skeptical&rdquo; about new features, strange product names, maaaaaybe subscription juicers (though it&rsquo;ll still review them and provide an affiliate link), and sometimes whole companies if the CEO offends its political/social sensibilities.  But if you asked it, collectively, &ldquo;what would you say the ideology of this industry is,&rdquo; the best answer you&rsquo;d get would be something like &ldquo;pretty liberal except Elon Musk, but to be fair there are way more rainbow versions of logos these days.&rdquo;</p>
<p>I mean, sorry and that&rsquo;s very snotty of me, but also <em>man</em>, I would love it if I knew who the Molly White or David Gerard of the whole goddamn industry, not just its very most ridiculous and worst excesses, was.</p>
<h2 id="aliens">Aliens</h2>
<p>Al and I have tickets to a showing of <em>Aliens</em> at the Hollywood, which owns a 35mm print. I&rsquo;m so excited. It&rsquo;s probably one of my 10 desert island movies and I don&rsquo;t know how many dozen times I&rsquo;ve seen it. I drove from my small town in Indiana to South Bend every weekend during its original run.</p>
<p>Stuff I love:</p>
<ul>
<li>The economy of the early scenes, establishing all the characters.</li>
<li>Lance Henriksen&rsquo;s ability to make Bishop strange and offputting but empathetic.</li>
<li>Paul Reiser&rsquo;s &ldquo;yuppie from central casting&rdquo; turn. Right out of the pages of <em>Fear of Falling</em>.</li>
<li>Bill Paxton&rsquo;s Hudson.</li>
<li>The tech. I have wondered for decades when it would become jarring and anachronistic, but it&rsquo;s still true-but-not-real.</li>
</ul>
<p>On the tech: I was trained to repair army signal gear. <em>Aliens</em> tech was a little retro even in 1986, providing some visual continuity with its &lsquo;79 predecessor,  but it&rsquo;s timeless in the way it conveys the grunt-proof aesthetic of military gear. Yeah, it misses in a few places, less because of the anachronisms and more because they wanted to wedge in a dramatic device. Overall, though, the materials and &ldquo;durability over ergonomics&rdquo; aesthetic are all just right. I can still remember the way it felt to rack a SINCGARS, or sit there in the cold un-bending a connector pin on a KY-57 with a Leatherman, or heft a power amplifier. <em>Aliens</em> feels very close to all that.</p>
<p>And I love Lt. Gorman&rsquo;s arc. There are lots of ways it could have been handled, and he could have easily been turned into a human punchline as Cameron whittled away the squad, but he gets to go out with dignity conferred on him by Vasquez, even as she calls him an asshole.</p>
<div style="text-align:center;">
<iframe width="560" height="315" src="https://www.youtube.com/embed/aHjRQJZsUGg?start=85" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div>
<p><a href="https://www.rogerebert.com/reviews/aliens-1986">Roger Ebert</a>:</p>
<blockquote>
<p>&ldquo;I have never seen a movie that maintains such a pitch of intensity for so long; it&rsquo;s like being on some kind of hair-raising carnival ride that never stops.</p>
</blockquote>
<blockquote>
<p>&ldquo;I don&rsquo;t know how else to describe this: The movie made me feel bad. It filled me with feelings of unease and disquiet and anxiety. I walked outside and I didn&rsquo;t want to talk to anyone. I was drained. I&rsquo;m not sure <em>Aliens</em> is what we mean by entertainment. Yet I have to be accurate about this movie: It is a superb example of filmmaking craft.&rdquo;</p>
</blockquote>
<p>Can&rsquo;t wait.</p>
<h2 id="pickelball-noise">Pickelball noise</h2>
<p><a href="https://www.kgw.com/article/news/local/pickleball-courts-relocating-sellwood-park-portland/">The pickelball people of Sellwood</a>. I count a pickelball person among my dear friends, but I also think Portland&rsquo;s collective sense of how to behave in public spaces is god awful. See also <a href="https://www.wweek.com/news/city/2022/09/06/fight-over-field-at-hosford-middle-school-escalates-as-principal-says-dog-owners-harass-school-staff/">Hosford Middle School</a>.</p>
<h2 id="bye-apollo">Bye, Apollo</h2>
<p>Apollo went dark this afternoon. That sort of sucked. I was honestly hoping for some 11th-hour something.</p>
<p>I honestly don&rsquo;t know whether I&rsquo;ll keep reading reddit or not. The subs I like are more about conversations than they are rivers of memes, and they work best when you sort on New. In that context threaded commenting is pretty terrible, and Apollo made it easy to see when there was new stuff, and highlighted it for you. I think reddit charges for some kind of &ldquo;there&rsquo;s a new comment&rdquo; functionality, but I&rsquo;m not interested in paying right now, that&rsquo;s for sure.</p>
<p>But I guess I&rsquo;m also feeling &hellip; <em>dudgeon free</em>.</p>
<p>I&rsquo;ve had three career phases where I was in and around &ldquo;making money on the web,&rdquo; each with a slightly different angle. Each time it wasn&rsquo;t super easy when it wasn&rsquo;t buoyed by hype, or it was so crassly and soullessly commercial &mdash; corrupt, even &mdash; that it was horrible. It has left me feeling unsurprised and a little jaded when the likes of Twitter and reddit start thrashing around in their tarpits. I don&rsquo;t feel happy about the very real upset people experience when these spaces they had implode or remake themselves in unrecognizable ways, but they&rsquo;re spaces built in a medium that is ephemeral in an unprecedented way. Things are always coming and going.</p>
<p>On that tip, <a href="https://news.ycombinator.com/item?id=36544654">this Hacker News &ldquo;Ask&rdquo; post</a> sort of strange and naive to me. That place is one of the ideological hearts of the tech industry. And it&rsquo;s presumably a place where, like, the bias against succumbing to share-croppery would likely be high. But things get weird and distasteful in a few corners and there&rsquo;s this poor soul wondering if something has been lost.</p>
<div style="position: relative; width: 100%; padding-bottom: 56.25%;">
<iframe
style="position:absolute; width:100%; height:100%;"
src="https://getyarn.io/yarn-clip/4295aac2-5237-489c-a95d-e5a2a554808c/embed?autoplay=false&responsive=true"
frameborder="0"
></iframe>
</div>
<p>Go make something, dude.</p>
<p>We seriously do. not. need. some mass web experience.</p>
<blockquote>
<p>&ldquo;One thing it would be nice to take away from this current moment is a sense that there are ways to have the thing we were promised – more connection with more people, more sharing of ourselves, more awareness of our world – that don’t involve treating us like an attentional vein of coal someone else can strip-mine. Where we create small, warm spaces where we simply can be, loved around our hearth, esteemed in our village, welcomed in new places over the hill, tiny threads of lantern light lacing all our homes together.&rdquo;</p>
</blockquote>
<p>&mdash; <a href="/posts/2022-11-08-pausing-to-consider/">Me</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-06-29</title>
      <link>https://mike.puddingtime.org/posts/2023-06-29-daily-notes/</link>
      <pubDate>Thu, 29 Jun 2023 08:59:25 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-06-29-daily-notes/</guid>
      <description>RE Himalayan stuff. The hideousness of motorcycle marketing. Obsidian daily page automation with Shortcuts. Camera bags. Automation for slowness.</description>
      <content:encoded><![CDATA[<h2 id="more-himalayan">More Himalayan</h2>
<p>Evidently RE Himalayans have a widespread problem with parasitic drains owing to a few things, including weird wiring of the gear sensor. The net effect is batteries that get chewed through in a week of sitting. People do a bunch of things to address it, from finding third-party components to replace the factory stuff from RE, to rewiring the gear sensor, to even putting mechanical bypasses on the negative pole of their batteries. A battery tender is enough to help, too, though I sort of hate having one sitting out in the driveway.</p>
<p>There&rsquo;s also a cheap dongle you can order from Hitchcocks to do the rewiring for you. I ordered one hoping it&rsquo;ll address my Himalayan&rsquo;s particular issues. If I&rsquo;m to sell it, I&rsquo;d like to say &ldquo;no need for a constant tender!&rdquo;</p>
<p>I also ordered an Antigravity battery. Those things are cool: They keep some reserve power back. When they sense drain on the battery taking it below its ability to start the bike, the battery shuts down. Press a button and it recharges the main cells enough for a couple of starts.</p>
<p>There&rsquo;s a newer RE dealer up in St. John now, and I want to go up and talk to them. The service I got at the dealership I bought the bike from was pretty bad and sort of grudging. They had a real &ldquo;if you wanted it to all work perfectly, why didn&rsquo;t you spend more&rdquo; attitude, which helped me realize that what they <em>want</em> to do is sell you a Harley, but it&rsquo;s useful to them to have some RE&rsquo;s sitting on the floor for when people come in and can&rsquo;t countenance sixteen grand. There&rsquo;s the RE for less than $7000 out the door, and the way motorcycle fever works is that you&rsquo;ve rolled into that dealership ready buy <em>something</em> no matter what. (Well, not me &ndash; I got it all out of my system with my first 170cc scooter, and am probably on a local dealership blacklist for filling out quote forms then never returning calls.)</p>
<h2 id="the-h-is-for-hideous-or-horny-take-your-pick-on-what-the-d-is-for">The &ldquo;H&rdquo; is for &ldquo;Hideous.&rdquo; Or &ldquo;Horny.&rdquo; Take your pick on what the &ldquo;D&rdquo; is for.</h2>
<p>Trying to look up the price for a Harley Street Bob I ended up on <a href="https://www.harley-davidson.com/us/en/motorcycles/street-bob.html">the product page</a>. Jesus Christ.</p>
<p>Raising a kid I was sensitized to the aspirational nature of children&rsquo;s television/marketing. Like, was <em>iCarly</em> about teenage kids? Yes. But Nickelodeon didn&rsquo;t think fifteen-year-olds were watching. It knew eleven-year-olds were watching. The ads told you what the real viewer demographic was.</p>
<p>Harley is doing this in reverse: The male model is &ldquo;good-looking guy, a little salt and pepper in the beard.&rdquo; The female model is younger. Plausibly-deniably younger. Not enough to be lurid. Not enough, in a marriage where decisions about things like motorcycles are made jointly, to trigger too much anxiety, and possibly even aspirational for the spouse who&rsquo;s okay with a t-shirt that reads &ldquo;If you can read this, my old lady fell off.&rdquo;</p>
<p>It&rsquo;s not marketing for 30-year-olds who aspire to be 45-year-olds. It&rsquo;s marketing for 60-year-old men who aspire to much younger women. Wow it&rsquo;s a fine line between &ldquo;plausible deniability&rdquo; and &ldquo;feels icky.&rdquo; The local Harley dealership where I got the Himalayan picks up the slack with a &ldquo;Summer Solstice Bike Night&rdquo; that includes a bikini bike wash. I guess that&rsquo;s for the <em>very rare</em> instances where merely riding around atop your new Hog didn&rsquo;t magnetically lasso an old lady onto the pillion. And if all they&rsquo;re doing is rolling up to the bikini car wash a few times between June and August, <a href="https://www.washingtonpost.com/news/tripping/wp/2017/10/16/baby-boomers-who-made-motorcycles-cool-are-also-at-higher-risk-of-fatalities-aaa-says/">it&rsquo;s probably keeping the mortality rate down</a>.</p>
<h2 id="obsidian-actions-and-shortcuts">Obsidian Actions and Shortcuts</h2>
<p>You can do a lot with the Obsidian URL scheme and Apple&rsquo;s Shortcuts, but it&rsquo;s a little less fiddly with <a href="https://obsidian.actions.work">Actions for Obsidian</a>, which offers a bunch of Shortcuts actions that handle things like appending text to notes, making new notes, etc. I dusted off an old Shortcut I had that used the URL scheme and refactored it to work with Actions for Obsidian and it is much cleaner.</p>
<p>The workflow:</p>
<ul>
<li>Pops up a dialog with all my appointments for the day</li>
<li>I check the appointments I want an entry for in my daily page</li>
<li>If there&rsquo;s no daily page, the workflow creates it</li>
<li>Appends my appointments for the day to the Notes section of my daily page</li>
</ul>
<p>I currently just have a simple template for those meetings:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># Meeting Name 
</span></span></span><span class="line"><span class="cl">(attendees)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">## What&#39;s the most important thing about this meeting?
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">## How do you want to show up? </span></span></code></pre></div>
<p>It&rsquo;s at slight cross purposes with my static &ldquo;Today&rdquo; page, which I developed thinking I wasn&rsquo;t going to do daily pages. During my layoff, daily pages and journal entries were sort of the same thing, and I was doing all my journaling in encrypted org-journal files. I decided to keep my journal in org-journal, where I have a safe space for writing whatever I want. Daily pages are a little more &ldquo;look ahead and log things I don&rsquo;t care about other people reading (much).&rdquo; So, I think I&rsquo;ll move some of my Today page templating into my daily pages so they become a record of activity: Notes and tasks created on that day and that loose &ldquo;looking ahead&rdquo; calendar forecast I automated.</p>
<h2 id="camera-bags">Camera bags</h2>
<p><a href="https://www.kickstarter.com/projects/moment/the-everything-bags-cameras-tech-and-travel?ref=e5s4bv">Looks like Moment is coming for Peak Design.</a> The product names are pointedly similar. I was briefly confused by the promo mail.</p>
<h2 id="because-you-can">Because you can</h2>
<p>I had an item for today&rsquo;s post I decided wasn&rsquo;t quite ready. Using org-mode to blog, I would have done a quick <code>org-refile</code> to move the heading into a drafts section where I can work on it later. But I&rsquo;m writing in Markdown so that was off the table. I just made a file called <code>drafts.md</code> and committed it, then added the heading to it for later with good ol&rsquo; fashioned kill/yank.</p>
<p>But I did briefly think &ldquo;oh, see &hellip; good reason to go back to org-mode for blogging.&rdquo;</p>
<p>Except it&rsquo;s not. It&rsquo;s a terrible reason.  I just counted how many keystrokes it took me to collapse a heading, kill it, switch buffers, and yank it. It was &hellip; not a lot? 10? How about an org-refile operation? Yes. Fewer for sure. About half as many. The not-org-refile approach incurs some cognitive load, I suppose. When I was blogging in an org-file monolith my refile target was the only choice for that file. The Markdown version requires me to remember that I bookmarked my drafts.md file.</p>
<p>Probably seems like a weird thing to care about, but when I think about how ADHD shows up for me, it often takes the form of trying to do everything quickly to get on to the next thing. But I&rsquo;ve also got the hyperfocus thing going on, which finds a lot of expression in automation challenges I get lost in, trying to shave a few more seconds or keystrokes off a process.  When everything is wired up to drive down friction, I don&rsquo;t give myself time to think. I&rsquo;m just moving. I end up living in either a closed off, hyperfocused space where I&rsquo;m grinding out incremental improvements, or I&rsquo;m flying along the treetops.</p>
<p>It&rsquo;s about the thing I&rsquo;m doing with the Obsidian/Things division of labor. I wrote about this a few days ago when I mentioned the way I&rsquo;m <a href="/posts/2023-06-25-daily-notes/#mingling-notes-and-todos">blending todos into my note text</a>, but only long enough to leave a reminder to myself to go back and turn something into a real action in my system of record for todos. I think it&rsquo;s bad for me to have everything in the same system, because the less friction there is to record and remember, the more stuff just gets shoved into what eventually becomes an old shoebox full of receipts with purple crayon scribbles and grease stains.</p>
<p>Today, for instance, I had five meetings. Three of them produced things that I needed to remember to do later. I dropped todos into the text as I was taking notes. At the end of the day, I went to my <code>Today</code> page and looked at the Todo section, dynamically created from todos in any notes dated today.  A few were &ldquo;just do it now&rdquo; sorts of things that I knocked out before they could even hit Things. A few, it was helpful to jump back to the note to see things like &ldquo;why did he tell me to ping Felix?&rdquo; A few, it was helpful to write a more thoughtful plan in Things (and drop the Obsidian URL in to link back to the more complete notes).</p>
<p>There is some friction in that workflow. It does require a &ldquo;clear the decks&rdquo; item on my daily calendar at the end of the day so I can make sure to go back and consolidate. I feel a lot more composed and certain of the quality of the things I&rsquo;m actually putting into my todo system, though, when I have those liminal tasks to go back to, reconsider, and rewrite after revisiting their context.</p>
<p>This is not, I guess I should add, something unique to Obsidian. You could do this in any of the org-mode using tools, or any plaintext system where there&rsquo;s an easy way to create TODOs and find them later. Obsidian&rsquo;s dataviews and Tasks plugin makes it easy. org-mode similarly can do it with agenda views, Denote dynamic blocks, etc. The value is in slowing down, stopping the high-speed accumulation of <em>stuff</em> that&rsquo;s stripped of context and crammed into a digital shoebox, and providing pointers back to useful context for when the time comes to turn a quickly jotted todo into a meaningful action.</p>
<p>You don&rsquo;t even, I suppose, have to spread it out over multiple apps. But I do find that the act of putting Obsidian and Things side-by side and having to transpose prose to lists is a useful exercise. It&rsquo;s a bit of deliberation and rethinking that&rsquo;s clarifying.</p>
<h2 id="comments">Comments</h2>
<p>&hellip; I&rsquo;d love to add &rsquo;em, and I was looking at some recipes for doing it using Mastodon, but half the examples led to 404s, one of them swore to god it was working then said it wasn&rsquo;t and then said it was, and was also leading to 404s. Not enough time in the day. The ones that did work had a very awkward, high-friction energy to them.</p>
<p>Given that I push posts out over one channel, and that almost all my inbound traffic is coming in from Mastodon people, I&rsquo;d be happy for just the part where you can visit an announcement post. But that part seems to be harder than it needs to be given the federation stuff.</p>
<p>Not enough time in the day to worry about this stuff. Definitely do not want to pay anyone. Definitely not interested in sticking Disqus in there. Think I&rsquo;ll table it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-06-28</title>
      <link>https://mike.puddingtime.org/posts/2023-06-28-daily-notes/</link>
      <pubDate>Wed, 28 Jun 2023 07:55:41 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-06-28-daily-notes/</guid>
      <description>Ugh, Apple News. Ugly, functional shoes. Selling the Himalayan. Band of Brothers.</description>
      <content:encoded><![CDATA[<h2 id="apple-news">Apple News</h2>
<p>Apple News does this thing where you can block a news source, but any time that news source turns up on the Today page the space the story would have taken up is replaced by a notification that you blocked the source. It was annoying when I was just blocking CNN and other TV news outlets, but it got more annoying when I started blocking subscription-based channels I don&rsquo;t want to subscribe to. My mind goes to what sorts of compromises and deals are made to keep, e.g. the <em>Washington Post</em> on the platform, with its mix of freebie loss leaders and subscription content.</p>
<p>Evidently:</p>
<blockquote>
<p>&ldquo;Blocking is not supported in Top Stories or other groups curated by the Apple News editors, who vet each story in those groups for quality and accuracy.&rdquo;</p>
</blockquote>
<p>I think where my acceptance of Apple&rsquo;s whole &ldquo;let go and let us&rdquo; is concerned, I&rsquo;ve found my demarcation line.</p>
<p>RSS is the way.</p>
<p>On a wider note: It feels like so many things that are bad are because we&rsquo;re struggling to stay on top of all the things in the digital era. We&rsquo;re delegating aggregation, curation, etc. to platforms that are worse decision makers than us because their bad decisions cost less and are more convenient than our good decisions. The tradeoff we make is that we get the ease in exchange for a quantum of financialized badness we&rsquo;re meant to either ignore or endure.</p>
<p>Two decades ago, my impulses were super democratic, but I wanted to share my technical expertise with people that had less of it so they could participate in the Web as full citizens. It&rsquo;s weird to me that I felt a little impatient with people about how slowly they were adapting to it all in, like, <em>2003</em>. The Web wasn&rsquo;t even old enough for middle school at that point.</p>
<p>When the big platforms started to roll in, I&rsquo;d mellowed a lot and my thought was &ldquo;this seems to be how people are going to participate.&rdquo; It was super weird to me that friends were ceding basic connectivity to Facebook, and using work addresses for personal mail when forced to send an email, but I&rsquo;d also lived through a cycle of hosting other peoples&rsquo; stuff, helping people who decided to self-host unfuck their little Red Hat servers, etc. and I didn&rsquo;t like the responsibility. So whatevs.</p>
<p>Now? I don&rsquo;t know what to say. I&rsquo;m tired of the big platforms, I don&rsquo;t care for the tradeoffs you have to endure for zero-interest-funded services, and I&rsquo;m pretty happy with the little base of operations I have set up. I sympathize with people who don&rsquo;t have the cycles to commit to things like figuring out RSS readers or mail hosting, or making an identity in the Fediverse, or building a blog, and who have to live with more acute tradeoffs. But I also don&rsquo;t care to have much more emotion about it than I would about a friend whose mac-n-cheese recipe doesn&rsquo;t involve a little extra effort in the form of a tasty mustard roux. Like, enjoy your mac-n-cheese, friend!</p>
<p>I think the thing that might have finally beaten it all out of me was the Muskification of Twitter and the Mastodon migration wave I came in on. People kept trying to turn the whole thing into this epic, moral, world-historical twilight struggle. That&rsquo;s perfectly in line with the very neoliberal, very postmodern, very consumption-centric view of the world that would have us believe that no, actually, posting <em>is</em> praxis.</p>
<p>End on a positive note? Sure. My friend and former coworker Gene has <a href="https://podcastindex.social/@volunteertechnologist">a cool podcast about volunteering technical skill</a>. <em>That&rsquo;s</em> praxis. He reminds me that now that I&rsquo;ve got some basics covered again, it&rsquo;s time to go out and do something to help somewhere. Posting isn&rsquo;t that.</p>
<h2 id="ugly-but-they-work">Ugly but they work</h2>
<p>A few years back when I was in the market for new hiking boots I ended up with Hoka Anacapas. They were still a relative novelty, and they stood out for their &ldquo;neon pontoon boat&rdquo; aesthetic. People were concerned about preserving trail feel with such a built-up, cushiony boot, but they worked pretty well for me and I&rsquo;m glad I have them.</p>
<p>What wasn&rsquo;t working so well were the lighter day shoes I was wearing as Al and I ramped up how much walking we did during the week. They were wearing out fast, blowing out in three or four months, and my back was noticing, so I gave Hoka Speedgoats a try. They&rsquo;re classified as &ldquo;trail runners,&rdquo; but I found they worked really well for getting around on long walks in the city. They weren&rsquo;t at all to my taste in terms of appearance, but I also didn&rsquo;t like the whole whole &ldquo;brown suede and mesh&rdquo; aesthetic, either.  I think, in terms of Hoka&rsquo;s lineup, that they&rsquo;re considered a more neutral build, so they look more &ldquo;normal&rdquo; compared to the more built up ones.</p>
<p>I got used to how they looked pretty quickly because my back and hips did a lot better with them, and because I could get six months of heavy use out of them instead of three or four. And even when they wore down to the point they weren&rsquo;t great for long urban hikes they had a second life as longboard shoes. My one complaint was that the toe box was a little narrow and took a few weeks to stretch out.</p>
<p>When my last pair came due for a reup, I looked around at Hoka&rsquo;s site and noticed the colors I&rsquo;d gotten used to were gone and the ones that
were available were somehow even more bright and un-me. So I went to the local outdoor store and shopped around and got some Merrell&rsquo;s, reasoning that the Vibram sole would provide some of the stiffness and shock absorption I was probably getting from the Speedgoats.</p>
<p>It&rsquo;s not lost on me that a minor back thing I would have walked off in a day turned into a multi-week ordeal at exactly the same time I started wearing those around. So &hellip; off they go. I just got my new pair of Speedgoats in the mail today: I went with a wide size, so they feel great right away, the color is definitely not my favorite but it&rsquo;s not that much worse now that I see them on my feet. Since I know how much life I&rsquo;ll get out of a pair, I just got normal ones instead of the Goretex version: These&rsquo;ll be dead about the time the rainy season comes back.</p>
<p>Getting a good shoe is a joy. One of the bad things about getting older and caring more about these things is how you come to see the bigger product cycle. I have no idea how long Hoka Speedgoats will work well for me. It&rsquo;s a matter of faith that they&rsquo;ll do something to revise the line that&rsquo;ll make them not work. They all do it, to the point that when I found an outdoor hat that worked for me I just bought three more and put them on a shelf in the closet. I&rsquo;m grateful every time I see the newer, less breathable, worse version on the rack at REI. If I play my cards right, I may never buy that particular kind of hat again.</p>
<h2 id="time-to-sell-the-himalayan">Time to sell the Himalayan</h2>
<p>I&rsquo;ve written about my Royal Enfield Himalayan. Just noting here that it is time to be rid of it. If you know anybody interested in a bike:</p>
<ul>
<li>Low mileage</li>
<li>Cargo racks and metal panniers</li>
<li>Improved rear view mirrors</li>
<li>After market adjustable brake and clutch levers</li>
<li>Booster plug</li>
</ul>
<p>It runs pretty smoothly, and the booster plug does a lot to help with rough idling it arrived with from the factory. It mostly comes down to taste. I&rsquo;ve got another trail bike &mdash; my Yamaha TW200 &mdash; and I&rsquo;m looking for something better for two-up date nights.</p>
<p>$3,500 firm.</p>
<h2 id="band-of-brothers">Band of Brothers</h2>
<p>When I was recently recounting Great Prestige TV, I left out <em>Band of Brothers</em>. I don&rsquo;t know what put it back on my radar, but I rewatched it over several days last week. There are a few things about I&rsquo;ve got a problem with, and a few more things I suspect I would have a problem with if I dug in more, but it&rsquo;s pretty effective television.</p>
<p>If you went to jump school then ended up at Ft. Liberty (formerly Ft. Bragg), the show can&rsquo;t help but have an effect: The streets are named for the battles and places. You were surrounded by the lore. You&rsquo;re watching a show about the people you were told you had to measure up to. It&rsquo;s not SpecOps or high speed stuff &mdash; it&rsquo;s just rigorously trained, determined people dropped into battle, expected to take hideous losses.</p>
<div style="text-align:center;">
<iframe width="560" height="315" src="https://www.youtube.com/embed/bwHRZipfxQ0?start=42" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div>
<p>Watching the show, feeling a sort of resonance during the jump sequence as they run through the pre-jump ritual, thinking about what they did &hellip; it put me back in touch with the feeling I had the first time I saw it, which was a sense of kinship, but also an awareness that I had no frame of reference for what they did or endured. I went to jump school because basic training was a disappointment and signal school was boring. People told me it would be hard, and a training sergeant who bought me a lemonade one night when I was on fireguard duty told me he thought it would help me make sense of the decision I&rsquo;d made to enlist at all.</p>
<p>&ldquo;You think you&rsquo;re outsmarting someone, but you&rsquo;re here for a reason.&rdquo;</p>
<p>I was proud to earn my wings, but I still didn&rsquo;t think jump school was as transformative as I&rsquo;d hoped. It took years and a lot of distance to realize that the pride was still there.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-06-27</title>
      <link>https://mike.puddingtime.org/posts/2023-06-27-daily-notes/</link>
      <pubDate>Tue, 27 Jun 2023 07:16:03 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-06-27-daily-notes/</guid>
      <description>Making Denote more legible in Obsidian. Ethical Uber reviews. The strangeness of being new somewhere.</description>
      <content:encoded><![CDATA[<h2 id="denote-conventions-and-obsidian-legibility">Denote conventions and Obsidian legibility</h2>
<p>I added the <a href="https://github.com/FlorianWoelki/obsidian-icon-folder">Icon Folder</a> plugin to Obsidian and it works really well with Denote-formatted notes thanks to the ability to use filename-based rules for icon assignments.</p>
<p>Denote&rsquo;s <code>_tag1_tag2_tag3</code> file naming convention makes it easy to make rules based on tags for assigning an icon and optional color to notes. That makes a list of notes a lot more scannable, and has an interesting additional effect of telling a little story about your day: 1:1s get an icon, regular meetings get an icon, RFCs get an icon, conceptual notes, etc. etc. so just scanning down the list of notes in the file explorer reflects a kind of rhythm. That makes it easier to keep a sort of noisy naming convention in place &mdash; things are just more scannable, and that reduces the temptation to do things that make the file names more human-readable at the expense of long-term portability.</p>
<p>I was feeling a little wobbly about keeping strict Denote compliance, but I&rsquo;ve got a <a href="https://github.com/SilentVoid13/Templater">Templater</a> template set up to rename files based on their YAML frontmatter, and I&rsquo;ve got that wired up to a <a href="https://github.com/platers/obsidian-linter">Linter</a> on-save action, so when I change the tags or name of an Obsidian note and save it, the Templater action updates the tags in the filename:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-javascript" data-lang="javascript"><span class="line"><span class="cl"><span class="o">&lt;%*</span>
</span></span><span class="line"><span class="cl"><span class="kr">const</span> <span class="nx">file</span> <span class="o">=</span> <span class="nx">tp</span><span class="p">.</span><span class="nx">file</span><span class="p">.</span><span class="nx">find_tfile</span><span class="p">(</span><span class="nx">tp</span><span class="p">.</span><span class="nx">file</span><span class="p">.</span><span class="nx">title</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="kr">const</span> <span class="p">{</span><span class="nx">update</span><span class="p">}</span> <span class="o">=</span> <span class="nx">app</span><span class="p">.</span><span class="nx">plugins</span><span class="p">.</span><span class="nx">plugins</span><span class="p">[</span><span class="s2">&#34;metaedit&#34;</span><span class="p">].</span><span class="nx">api</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="kd">let</span> <span class="nx">identifier</span> <span class="o">=</span> <span class="s2">&#34;&#34;&#34; + tp.file.creation_date(&#34;</span><span class="nx">YYYYMMDDTHHmmss</span><span class="s2">&#34;) + &#34;&#34;&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="kd">let</span> <span class="nx">date</span> <span class="o">=</span> <span class="nx">tp</span><span class="p">.</span><span class="nx">file</span><span class="p">.</span><span class="nx">creation_date</span><span class="p">(</span><span class="s2">&#34;YYYY-MM-DDTHH:mm:ssZ&#34;</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="kd">let</span> <span class="nx">title</span> <span class="o">=</span> <span class="s2">&#34;&#34;&#34; + tp.frontmatter[&#34;</span><span class="nx">title</span><span class="s2">&#34;] + &#34;&#34;&#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="kr">await</span> <span class="nx">update</span><span class="p">(</span><span class="s2">&#34;date&#34;</span><span class="p">,</span> <span class="nx">date</span><span class="p">,</span> <span class="nx">file</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="kr">await</span> <span class="nx">update</span><span class="p">(</span><span class="s2">&#34;identifier&#34;</span><span class="p">,</span> <span class="nx">identifier</span><span class="p">,</span> <span class="nx">file</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="kr">await</span> <span class="nx">update</span><span class="p">(</span><span class="s2">&#34;title&#34;</span><span class="p">,</span> <span class="nx">title</span><span class="p">,</span> <span class="nx">file</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="o">-%&gt;</span></span></span></code></pre></div>
<p>The net effect is that my filenames stay Denote-compliant and reflect current note metadata in the frontmatter as I update them, and that supports the consistency of the icon assignment rules.</p>
<p>I&rsquo;m trying to keep an eye on my plugin and configuration budget for this stuff.  To maintain this level of automation I&rsquo;ve got:</p>
<ol>
<li>Quickadd (kicks off the templated note creation process)</li>
<li>Templater (lets me put logic in the note creation)</li>
<li>MetaEdit (around solely for its API: supports frontmatter hygiene)</li>
<li>Linter (cleans up notes &ndash; especially their frontmatter)</li>
<li>Icon Folder (assigns icons to notes based on rules around their filenames)</li>
</ol>
<p>When I think about what would happen to the workflow if I pulled any one of them out, three are essential; the bracketing ends of the workflow (note creation and icon labeling) are nice-to-haves that don&rsquo;t impact the future-proof-ness of the collection.</p>
<p>The one remaining thing about Obsidian that concerns me generally is the plugin ecosystem. I&rsquo;ve learned to click through to plugin repos, read the README for &ldquo;can&rsquo;t maintain this anymore&rdquo; messages, check the last commit date, and check the amount/age of issues. I&rsquo;ve seen a few where developers specifically mention Obsidian API changes affecting their ability to maintain their work.</p>
<p>I guess I feel about that the same way I feel about my web publishing toolchain: It was painful to go from WordPress to Jekyll. It was trivial to go from Jekyll to Hugo. It was painful to move my last Obsidian setup to org-mode, and from plain old org mode to Denote. It was trivial, given a simple Python script, to move from org-based Denote to Markdown-based Denote. And it has been trivial to configure Obsidian to maintain that corpus.  Tools are ephemeral, conventions are &hellip; not forever, but more durable. The simpler, the more robust and the more portable. Sure there&rsquo;s a lot of squabbling about how expressive Markdown should be, but the YAML-in-Markdown convention turns up in a bunch of tools. Key names change &mdash; Hugo developers don&rsquo;t coordinate on frontmatter keys that serve the same function &mdash; but you&rsquo;ve got a fighting chance to automate through change when you start from YAML (or TOML).</p>
<p>A lot of thought for note taking. I think it is a work-related habit I don&rsquo;t mind having. I&rsquo;ve noticed a shift in how I think about work that involves shrugging off a little of a sort of open-endedness that was very, very normal when I first joined Puppet, then became increasingly &hellip; quaint? &hellip; as the business changed around me.</p>
<p>The acquisition was a little disappointing because I&rsquo;d found myself getting better at weighing what needed reinvention vs. what simply needed to be decided and done. The job hunt and some good interview processes sharpened that further. Sort of the way muscle memory seems to consolidate after you take a break from something after intense learning. If Puppet was ten years of repeatedly beating my head against a boss round, then getting tossed out and having to make a case for myself to strangers was the surprising ease with which that boss goes down if you just set the controller down, get some sleep, and come at it the next morning.</p>
<h2 id="five-stars-or-bust">&ldquo;Five Stars or Bust&rdquo;</h2>
<p>Getting rid of Amazon Prime and hence disengaging from Amazon in general was surprisingly easy once I took the time to think it through. Dropping delivery services has been a harder habit to break. We&rsquo;ve made a lot of progress but sometimes we lapse. <a href="https://oversharing.substack.com/p/five-stars-or-bust">This post on Uber ratings</a> reminds me that it&rsquo;s about more than saving money. It&rsquo;s about disengaging from a sector of the economy that thrives on precarity, and whose management wants to take its not-employees-but-actually-employees back to 19th century labor practices so I can have treats delivered.</p>
<h2 id="strangeness-of-being-new-somewhere">Strangeness of being new somewhere</h2>
<p>When asked if I&rsquo;m a &ldquo;half empty or half full&rdquo; person, I get confused. That particular saw has never made a ton of sense to me for reasons I&rsquo;m not going to get into, but sometimes do in a way that probably causes people to wonder if there are any other parts of the social contract I&rsquo;m unable to understand.</p>
<p>I was nearly tossed out of the army for refusing to sound off to gruesome baby-killing cadences &mdash; cadences banned by name at Ft. Liberty (Ft. Bragg at the time) my last week in the service. But I&rsquo;ve got a taste for hyperbolic and violent metaphor that people have told me <em>becomes</em> charming <em>over time</em>.</p>
<p>I go into most interactions with as curious, trusting, and open-ended a mindset as I can manage; but when I&rsquo;m sending out a minion I&rsquo;ll brief them on misaligned incentives and wooden nickels.</p>
<p>Like everyone, I&rsquo;m a bundle of contradictions, inner monologue/outer affect mismatches, and blindspots.</p>
<p>With a few exceptions that I no longer allow to keep me up at night, I think most people get used to all that, same way I get used to all their weirdnesses.</p>
<p>But it is sort of strange to start fresh somewhere, knowing I&rsquo;m a way&rsquo;s away from &ldquo;oh, that&rsquo;s just Mike.&rdquo;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-06-26</title>
      <link>https://mike.puddingtime.org/posts/2023-06-26-daily-notes/</link>
      <pubDate>Mon, 26 Jun 2023 10:34:50 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-06-26-daily-notes/</guid>
      <description>We are all beta testers now. Obsidian sync and its discontents. Living in the remote future. Travel. The NYT gums reddit. Yeah, I guess the NYT is irritating me badly today.</description>
      <content:encoded><![CDATA[<h2 id="were-all-beta-testers-now">We&rsquo;re all beta testers now</h2>
<p>I kind of like the plaintive quality of this <a href="https://arstechnica.com/google/2023/06/rip-to-my-pixel-fold-dead-after-four-days/">Pixel Fold post mortem from Ars Technica</a>
&ldquo;I didn&rsquo;t even do anything, and now it&rsquo;s broken!&rdquo; followed up by a very focused and Ars-ian dive into why it is broken. Sounds horrible. I don&rsquo;t care which brands are involved and do not care about your choice of phone operating system. (OTOH, <a href="https://www.nytimes.com/2023/06/26/technology/personaltech/google-pixel-fold-review.html">the NYT likes it</a>.)</p>
<p>There&rsquo;s lots of bad hardware that isn&rsquo;t very well designed in the world, so take this as appropriately pre-qualified, but whenever a software company does a hardware thing and it&rsquo;s bad, my head goes to &ldquo;of course, because they&rsquo;re used to iterating on software abstractions.&rdquo; So why not just make a physical thing and see what happens so you can get it right with the next rev? Sure, sometimes <a href="https://www.digitaltrends.com/mobile/amazon-halo-killed-dont-trust-tech-subscriptions/">you just kill a product line dead</a> within five months of pushing the latest version of it out into the world, but that&rsquo;s how they&rsquo;re used to learning, I guess, so &hellip; the tree of commerce has to occasionally be watered with plastic and batteries.</p>
<p>Also, darting back to the NYT&rsquo;s coverage:</p>
<blockquote>
<p>&ldquo;Still, the progress with foldable technology is good news. A few years ago, handsets from companies like Apple and Samsung seemed to have peaked. Their flagship phones were already incredibly zippy, their screens were big and bright, and their cameras took stunning photos. The smartphone industry, as a whole, became a pile of nearly indistinguishable black rectangles.</p>
</blockquote>
<blockquote>
<p>&ldquo;What was left to do?&rdquo;</p>
</blockquote>
<p>I hate that people get paid to write things like that.</p>
<p>Also:</p>
<blockquote>
<p>&ldquo;<a href="https://daringfireball.net/linked/2023/06/26/pixel-fold-review">I have not an iota of envy from my perch on the iPhone side of the fence.</a>&rdquo;</p>
</blockquote>
<p><em>Quelle surprise.</em></p>
<h2 id="obsidian-sync-and-its-discontents">Obsidian sync and its discontents</h2>
<p>There&rsquo;s definitely a teething period when you first set up an Obsidian vault. I am trying to keep a minimum loadout of plugins and custom config, but it&rsquo;s still just sort of odd and mysterious what syncs and what doesn&rsquo;t. I&rsquo;m not sure if I&rsquo;d be better off trying Syncthing for a period, or just getting to a relatively stable configuration using Obsidian sync so that all I have to worry about is grabbing new notes and their edits.</p>
<p>I&rsquo;d welcome anyone&rsquo;s insight into how to smooth out plugin and plugin settings syncing, because that&rsquo;s where it&rsquo;s the most annoying and least predictable. In the past, when it has gotten wedged badly enough, I&rsquo;ve solved it by making sure I&rsquo;ve got a &ldquo;reference install&rdquo; on one of the &ldquo;real computers,&rdquo; then I remove and reinstall the app from the iOS devices (where the app settings are more reliably nuked at uninstall).</p>
<h2 id="living-in-the-future">Living in the future</h2>
<p>I feel very lucky to have landed at a company that cares about balance and has even worked the idea into its values.</p>
<p>During lockdown and the all-remote-all-the-time period afterward Al and I settled into a routine of morning walks. In their ideal form we take the ~1.5 mile walk out to Carnelian Coffee on Foster Road. On mornings where we&rsquo;re running late, feeling pressed, or just don&rsquo;t want to go there we take a walk down the Springwater Trail and out to the Foster Floodplain Natural Area. It&rsquo;s a great way to start the day. Most of the time we just talk about <em>stuff</em>, some times one of us has a work thing we&rsquo;re leaning into and want to process. By the time we get home, I feel like I am leaning into the day, not dragging into it.</p>
<p>I&rsquo;m not rigid about the routine. I&rsquo;ve got folks in the UK in my group, so I build some time in to touch base with them during the window of mutual availability in the West Coast morning, but I try to protect it. So far, no eyebrows raised that my work calendar is blocked to protect those walks.</p>
<p>This morning we got off to a late start, so there was a chance we&rsquo;d be rolling in a few minutes behind the start of one of the two standups I drop in on at the beginning of the week. The chain of stuff I did to deal with that &hellip; wow there&rsquo;s a lot we can take for granted:</p>
<ul>
<li>Grab the phone. I haven&rsquo;t used Zoom on it at this company before, so sign in.</li>
<li>SSO service &hellip;</li>
<li>Password manager &hellip;</li>
<li>Biometric auth &hellip;</li>
<li>OTP</li>
<li>Airpods with transparency &hellip;</li>
<li>A 5G connection and pretty good audio &hellip;</li>
</ul>
<p>The WfH counter-revolution is in full swing right now, so most of what I read about remote work is either the WSJ stroking its chin or angry screeds about how in-person work is just, like <em>bad managers being incompetent at our expense, man</em>.</p>
<p>I just know I&rsquo;m grateful for it, I&rsquo;m glad it&rsquo;s a thing my company supports, and it&rsquo;s something I want for my teams as much as I want it for myself. And I know that when I think about all the tech coming together to allow it to work, it&rsquo;s pretty amazing. I was a fully remote worker for the first 12 years of my really for real professional career, from 2000 to 2012, and it was all telephones, conference dial-ins, and AOL Instant Messenger to hold it all together.</p>
<p>I do not, however, agree that all the concerns about the office/remote mix come down to bad managers being control freaks. Sorry. I&rsquo;ve got more time as a remote worker than most I&rsquo;m in any regular contact with, and I remember how acutely it felt like finally starting to go to an office in 2012 gave me superpowers I&rsquo;d never imagined. Not as a manager or supervisor, but as a human who needed to work with other humans to get things done. I also remember what it felt like when people who didn&rsquo;t have a fifth of my experience working full-time remote were suddenly going remote all around me. Communications frayed, the counter-productive parts of an overdeveloped 1:1 culture deepened, and the overall sense of organizational latency went up.</p>
<p>There are definitely things you can do to offset all that. But I noticed that a lot of people were convinced that just because they were working remote and their company was still operating, they must be good at working remote. I was once on a working group formed around evolving into a hybrid-remote footing for the long haul, and it wasn&rsquo;t lost on me that our first meeting involved someone from marketing talking about how they wanted to turn our non-existent remote-hybrid playbook into marketing collateral right away, &ldquo;to show people how to do it&rdquo; when we&rsquo;d just barely formed a group to discuss all the ways in which we actually had no idea.</p>
<p>I guess what I&rsquo;m saying is that we&rsquo;re very well positioned technologically to make the transition, but that it&rsquo;s not really a technological thing, and that most of us have not actually made the transition.  I have known very effective remote cultures who had nothing more sophisticated than a conference line and AOL Instant Messenger. I&rsquo;ve known companies with all the best collaboration tools at their disposal that remain operational basket cases.</p>
<p>I don&rsquo;t know how we reconcile the predilection of people with a lot of power and authority to simply seek what makes them most comfortable &mdash; let&rsquo;s call them the &ldquo;back to the office, proles&rdquo; faction &mdash; with the &ldquo;efficient completion of my laundry at any time of day is an OKR&rdquo; faction. They&rsquo;re the two extremes in what passes for a discourse on the matter, and it comes at the expense of the &ldquo;I just want to get something done this week&rdquo; faction. That is, most of us.</p>
<h2 id="travel">Travel</h2>
<p>I am pretty sure Al and I are going to Peru this fall. We&rsquo;ve got some passport stuff to deal with, but signs are positive. I promised her a trip <em>somewhere</em> if I got my job stuff sorted out ahead of The Pucker Demarcation Line, and I did, so we&rsquo;re going provided paperwork and the tourist season in Cusco align.</p>
<p>I&rsquo;m super excited. Al&rsquo;s super excited. It&rsquo;s been forever since we traveled.</p>
<p>Some of our excitement is probably owing to Ben&rsquo;s own trip to Germany and Switzerland right now. He&rsquo;s taking 10 days to bike across Germany with two of his friends. It sort of feels like a capstone for his first year away from home.</p>
<p>The trip took me by surprise. It came up a few months ago, expressed in a way that seems perfectly clear and normal to a 19-year-old, and terrifyingly vague to the parent of a 19-year-old. But I just did what I have learned to do over the past year, which is say nothing for a brief blackout period, get my thoughts in order, then begin to ask strategic questions in descending priority order.  It seems about right that the last trip-related thing we did was teach him how to load 35mm film into a point-n-shoot camera.  &ldquo;Perfect&rdquo; would have been getting a roll of film through it and developing the pictures <em>before</em> he left, so I had to settle on spending the last of my self-imposed advice budget:</p>
<p>&ldquo;Okay. So &hellip; remember to advance the film before each shot. If it seems stuck and you&rsquo;ve taken about 24 photos, don&rsquo;t try to force it.&rdquo;</p>
<p>&ldquo;Okay.&rdquo;</p>
<p>&ldquo;Can I offer one piece of advice?&rdquo;</p>
<p>&ldquo;Sure.&rdquo;</p>
<p>&ldquo;If you see something that&rsquo;s just &hellip; like &hellip; you&rsquo;re totally moved and want to remember it forever?&rdquo;</p>
<p>&ldquo;Uh huh?&rdquo;</p>
<p>&ldquo;Just use your phone.&rdquo;</p>
<p>&ldquo;<em>*snort</em>* Got it.&rdquo;</p>
<p>Professional fighters say there&rsquo;s such a thing as being overprepared, so I think we cut it just about right.</p>
<p>Zooming out a little, I think this is my happiest moment as a parent so far.  He took us by surprise wanting to move down to Eugene at all, and it&rsquo;s been a year of predictable &ldquo;figure it out&rdquo; stuff, complicated by my layoff just as he was getting ready to move out. It was hard to be patient when I was doing weekly math on our controlled burn, and possibly even nervewracking during the eerily quiet job-seeking months of January and February.</p>
<p>At the same time, whenever we needed to have a conversation about accountability, he was always there for it. At some point I realized &ldquo;oh, maybe I&rsquo;m the one holding on to the baton out of a desire to not spook him about my work stuff.&rdquo; So with a little prefacing that I didn&rsquo;t want him to feel burdened, I explained why how we spend money mattered in a way that may not have been apparent before.</p>
<p>So this trip &hellip; He told us he was doing it, I asked a few strategic questions, and he made it clear he hadn&rsquo;t taken our support for granted and meant to plan and pay for it himself. I committed to a certain amount of fallback support, which he accepted in principle. A few times I&rsquo;d sense that he felt a little restless about the questions, so I stopped asking, and that seemed to create the space to let him come with his own questions. In my parental experience, &ldquo;I hadn&rsquo;t thought of it that way,&rdquo; or &ldquo;oh, okay&rdquo; are the silver medals of interactions. Being asked for your advice or experience is the gold.</p>
<p>It feels good to feel so clear about what I make of it all.</p>
<p>It is super weird to have my kid wandering around Europe with a couple of other kids. One of them has been studying there this year, so there&rsquo;s a little bit of street smarts in the group, but still &hellip; weird. I can tell from the texts and videos he sends that he&rsquo;s happy, so I think he is doing the right thing and living his life the way he should be. That&rsquo;s what you raise them to do.</p>
<h2 id="growing-up">&ldquo;Growing up&rdquo;</h2>
<p><a href="https://www.nytimes.com/2023/06/23/technology/reddit-moderators-users-api-protest.html">The NYT&rsquo;s attempt to summarize the whole reddit thing</a> manages to cover the basic facts, embarrass the reporter, and frame the whole kerfuffle in such a way that &hellip; oh screw it.</p>
<p>We often make the mistake of trying to frame things like the NYT&rsquo;s myopically CEO-friendly coverage as a &ldquo;balance&rdquo; issue. That&rsquo;s like saying a fish has an unbalanced perspective about air because you&rsquo;re struggling to explain water to it. It&rsquo;s not about &ldquo;balance&rdquo; or &ldquo;perspective,&rdquo; it&rsquo;s about values. People with <em>values</em> of a certain kind &mdash; the kind you can find at a place like the NYT &mdash; naturally see this entire thing as a question of a business &ldquo;maturing.&rdquo;</p>
<p>In this case, I&rsquo;m kind of in favor of NYT&rsquo;s bland, pro-business reporting, because we <em>should</em> be despairing over the ways in which the web was just sort of handed over to these platforms. It should irritate us. The manifest irreconcilability of needs found in this conflict &mdash; between those of people building and nurturing online communities and those collecting the rent &mdash; is clear. I&rsquo;m kind of an accelerationist in this regard, similar to how I was about Twitter before I decided to quit caring about it. I don&rsquo;t have any program or platform to go with my accelerationism. I just know that reddit, Facebook, Twitter, and the rest are run by people who don&rsquo;t care about what I care about when it comes to technology, connection, people, etc. So the sooner they play out this &ldquo;end of free money, gotta grow up and squeeeeeze&rdquo; string, the better.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-04-08</title>
      <link>https://mike.puddingtime.org/posts/2023-04-08-daily-notes-for-2023-04-08/</link>
      <pubDate>Sat, 08 Apr 2023 10:26:49 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-04-08-daily-notes-for-2023-04-08/</guid>
      <description>As always, a plaintext revival means a mutt revival.</description>
      <content:encoded><![CDATA[<h3 id="these-things-come-in-waves">These things come in waves</h3>
<p>In the past, when I&rsquo;ve gone through a plaintext or Emacs kick of some kind, I&rsquo;ve blown past what I&rsquo;ve come to think of as a common sense limit: Eventually I&rsquo;m looking at Wanderlust, GNUS, or mu4e and thinking about the whole email in Emacs thing. Inevitably, then, you&rsquo;re looking at some sort of way to sync your IMAP account down to your local machine, and a whole layer goes in to make that work.</p>
<p>I walked up to the line this time around, asked myself what problem I&rsquo;m trying to solve, and remembered that part of what is making Doom Emacs work for me right now is how much I&rsquo;ve been keeping things limited to stuff that has to do with writing and stuff that has to do with personal organization. Those are things that don&rsquo;t stress Emacs&rsquo; single-threaded nature the way I do them, and that don&rsquo;t take me into the murky space between Emacs and the OS.</p>
<p>The problem I am trying to solve whenever I go on these kicks, is the pain of getting parts of the macOS experience into a more keyboard-centric place. Mail always sticks out because I don&rsquo;t like doing Mac Mail from the keyboard. There&rsquo;s <a href="https://smallcubed.com/">Mail Act-On</a>, but at $45 a renewal it&rsquo;s just more than I can see paying, and it doesn&rsquo;t really do much for visualization &ndash; it just makes it easy to move things into folders.</p>
<p>So my mind always goes to <a href="http://www.mutt.org">mutt</a>. It&rsquo;s not perfect &ndash; search is a challenge without something external augmenting it &ndash; but I&rsquo;m not sure it matters in the end: I use Fastmail for IMAP, and I don&rsquo;t mind punting to its web interface if I need to go dig for something.</p>
<p>I thought about mutt this time because my long-standing config has always sort of <em>felt</em> similar to the way Spacemacs and Doom put a modal UI over Emacs.  My mutt macros &ndash; here&rsquo;s a sample &ndash; use <code>.</code> as a leader and are written mnemonically:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">macro index .sn &#34;l ^a^k~N\n&#34; # Show unread/new only
</span></span><span class="line"><span class="cl">macro index .sa &#34;l ^a^kall\n&#34; # show all
</span></span><span class="line"><span class="cl">macro index .C &#34;&lt;esc&gt;V&#34; # toggle threads
</span></span><span class="line"><span class="cl">macro index .si &#34;l (~n5-100|~N)\n&#34; # show interesting 
</span></span><span class="line"><span class="cl">macro index .rs &#34;&lt;enter-command&gt;source ~/.mutt/scores&lt;enter&gt;&#34; # reprocess scores
</span></span><span class="line"><span class="cl">macro index .sf &#34;l ~F\n&#34; # show flagged
</span></span><span class="line"><span class="cl">macro index .hl &#34;l ^a^k!~l\n&#34; # hide lists
</span></span><span class="line"><span class="cl">macro index .to &#34;T ~d&gt;7d\n&#34; # &#34;tag old&#34; -- messages older than 7 days
</span></span><span class="line"><span class="cl">macro index .ab    &#34;&lt;pipe-entry&gt;/opt/homebrew/bin/lbdb-fetchaddr\n&#34;                # Store address details in lbdb.</span></span></code></pre></div>
<p>The value of mutt is less as my everything email client &ndash; I still keep up with mail from my phone or tablet &ndash; and more because over the years I&rsquo;ve tuned it to visualize and process mail from the keyboard. I still read mail with my phone or tablet every day, but don&rsquo;t like to do anything more than flag messages when I&rsquo;m out.</p>
<h3 id="html-mail-and-mutt">HTML mail and mutt</h3>
<p>mutt is sometimes hard to stick with because we lost the plaintext email battle. I know one designer who formats his email with monotype faces in what I&rsquo;d describe as a sort of problematic aesthetic revolt, but otherwise &hellip; we lost and we&rsquo;ll never be able to unsee Calibri.</p>
<p>Sticking <code>elinks</code>, <code>lynx</code> or <code>w3m</code> in your <code>~/.mailcap</code> to show HTML was best practice for a long while, provided you didn&rsquo;t mind also using <code>urlview</code> to display the links in a message once you&rsquo;d read it. I was involved in email marketing during the era when that approach worked, partially because to do HTML mail &ldquo;right&rdquo; back then meant you had someone doing it painstakingly by hand, then reviewing across a multitude of clients and platforms &ndash; you were heavily incentivized to keep it simple.  I bear the scars from a spat with a division of Siemens that was still using an old Lotus Notes and Win2000 in its marketing department. They were the customer, and the mail didn&rsquo;t look good to them, so it didn&rsquo;t look good. That was all, and we were forced to buy the next tier of service from our mail provider so we could add Lotus Notes on Win 2000 to our testing.</p>
<p>Anyhow, &ldquo;<code>elinks</code> in your mailcap and call it a day&rdquo; doesn&rsquo;t work anymore: image text, dozens of links, complex positional markup, etc. etc. etc. and it makes a lot of HTML mail a hash in a plaintext browser. There are a few ways to solve this on a Mac: One is punting to an actual browser, and the other is using the Mac Quicklook service:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">text/html;  open -a firefox %s; nametemplate=%s.html text/html; open -a firefox %s; nametemplate=%s.html; copiousoutput
</span></span><span class="line"><span class="cl">text/html; qlmanage -p %s; nametemplate=%s.html</span></span></code></pre></div>
<p>The former does about what you&rsquo;d expect from looking at it: It uses Firefox (or whatever browser you&rsquo;d care to invoke) to open the HTML part of the message, at which point you can click links, etc.</p>
<p>The latter is a little more obscure, but basically recreates what happens when you select a file and tap the spacebar to preview it on a Mac, popping up a modal window with the contents. This often works well for other kinds of attachments. With HTML mail it is enough to let you read the mail but not really interact with it (e.g. follow a link). The <code>[DEBUG]</code> label at the front of the modal&rsquo;s title suggests that nobody at Apple really took the &ldquo;plain text zealots using this to browse HTML email&rdquo; use case into account when they wrote <code>qlmanage</code>, and the man page makes clear it&rsquo;s just a debugging tool. It&rsquo;ll do if you never intend to interact with a mail.</p>
<p>I&rsquo;m sticking to the Firefox approach. It&rsquo;s super fast if Firefox is already running (it always is), and you can follow links.</p>
<h3 id="these-things-leave-in-waves-too">These things leave in waves, too</h3>
<p>At some point mutt is going to do something to annoy me. I don&rsquo;t know what it&rsquo;s going to be this time. For now, I&rsquo;m just enjoying the periodic dustoff of my config and pleasures of zipping through my inbox. If I had to guess, it&rsquo;ll have something to do with getting email messages into org-mode or calendaring, somehow. There are a few shell-based CalDav clients out there, but they&rsquo;re very sync-and-cache oriented and I just don&rsquo;t like adding services. Had mutt never added IMAP caching and built-in SMTP support, I would have a harder time justifying it.</p>
<p>But I feel more protective of my Emacs and org-mode experience than anything. This run with Doom has yielded the most stable Emacs experience I&rsquo;ve had since switching to Macs mooostly full-time ca. 2004. No mystery segfaults. No hard-locking the UI because I have IMAP, RSS, IRC, and Twitter clients running in my text editor.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-04-03</title>
      <link>https://mike.puddingtime.org/posts/2023-04-03-daily-notes-for-2023-04-03/</link>
      <pubDate>Mon, 03 Apr 2023 11:00:40 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-04-03-daily-notes-for-2023-04-03/</guid>
      <description>Vimari, my Emacs origin story, a 24-year-old free sample chapter, and my Jurassic Park moment with a pizza box. John Wick 4, Diego Sanchez has lessons.</description>
      <content:encoded><![CDATA[<h3 id="vimari-and-my-emacs-origin-story">Vimari and my Emacs origin story</h3>
<p>Some time in 1991 I got a job at Indiana University. It wasn&rsquo;t much of a job, but for someone who&rsquo;d quit his job at a newspaper and had just spent a year flipping burgers at a place called &ldquo;G.D. Ritzy&rsquo;s,&rdquo; it was okay.</p>
<p>Everybody at IU could get an account on a VAX cluster running VMS. You could log in on one of the many VT100&rsquo;s scattered around campus, or telnet in via one of the Macs (SE&rsquo;s mostly in the public clusters) or PCs (a bunch of Zenith 286&rsquo;s.) If you had a modem at home you could get in that way, too. The machines in the cluster were all named things like &ldquo;Rose,&rdquo; &ldquo;Jade,&rdquo; &ldquo;Aqua,&rdquo; and other shades, so people called them &ldquo;the color computers.&rdquo; By early &rsquo;90s shared computing standards they were simple enough to use: You got a menu at login that offered the basics (email, directory services, interactive chat, etc.), and there was a small collection of utilities people wrote that you could install to do stuff like look up which user was logged into which terminal in a given lab (which broke whenever a terminal got moved, because the utility location database was put together by hand.)</p>
<p>The VAX clusters were hideously overloaded and logins were queued. At lunch I&rsquo;d walk from my work building over to a nearby academic building that had a study carrel with a VT100 taking up all the desk area, start a login, open my lunch and finish most of my sandwich before my password would be accepted. Once in it was faster but still pokey, so I&rsquo;d spend the hour doing email or bickering on Forum, the local discussion board.</p>
<p>I complained about how slow things were to a friend who was doing her PhD in biology, and she told me the resident nerd in her lab had helped everybody get &ldquo;metal&rdquo; accounts, which were much faster. I&rsquo;d seen them in use but assumed they were reserved for some class of university person I was not. &ldquo;No,&rdquo; she told me, &ldquo;just go to the computing services helpdesk in the union, and don&rsquo;t say &lsquo;metal,&rsquo; say &lsquo;unix.&rsquo; You have to say you want a &lsquo;unix&rsquo; account.&rdquo;</p>
<p>Okay. Got it. So on my next stop by the union I went down there and told the help desk person &ldquo;please give me a &lsquo;unix&rsquo; account.&rdquo;</p>
<p>He collected some information and jotted my username and password on a tri-folded pamphlet that said something like &ldquo;UNIX At Indiana University.&rdquo; The pamphlet served mainly to say &ldquo;you&rsquo;re about to use something that will remind you of MS-DOS just enough to confuse you but not enough to help you.&rdquo; It also explained how to write an alias to make some things be more like MS-DOS, and it said if you wanted to write a file, you should use a program called <code>vi</code>.</p>
<p>I logged into my new account on a node called &lsquo;silver,&rsquo; and right away noticed that the login was instantaneous, and that it dumped me into a bare prompt. No helpful menu. No nothing. I spent a lot of time in that pamphlet, learning that <code>elm</code> was for email, and that I had a choice of <code>rn</code> or <code>tin</code> for this thing called Usenet that absolutely kicked Forum&rsquo;s ass, and that there were these things called <code>man</code> pages that were both often delightful and occasionally infuriating.</p>
<p>I was mostly interested in using my account for writing, though, since I could keep my work on a central machine and get at it from anywhere on campus or from home, where I had a Lear-Siegler ADM3A+ and a 300-baud modem. <code>vi</code> posed a small problem there, however, as it didn&rsquo;t seem to have word-wrap. I mean, I am sure it probably did, but <code>man vi</code> wasn&rsquo;t telling me how that might work.</p>
<p>So I made my way down to the UCS help desk in the student union again and said to the person at the counter, &ldquo;I am trying to write with my unix account, and there&rsquo;s no word wrap in <code>vi</code>.&rdquo;</p>
<p>&ldquo;Oh, huh. I don&rsquo;t know. I just use WordPerfect. Um &hellip; the guy who knows unix is here.&rdquo;</p>
<p>So he shouted over his shoulder, &ldquo;hey, how do you turn on word wrap in vi? It&rsquo;s for a unix account.&rdquo;</p>
<p>&ldquo;Oh, it doesn&rsquo;t have it. Tell him to use Emacs.&rdquo;</p>
<p>&ldquo;Okay. Yeah. Um, you should use Emacs. It sounds like it has word wrap.&rdquo;</p>
<p>Then he slid me a salmon-colored tri-fold pamphlet that said &ldquo;Emacs at Indiana University.&rdquo;</p>
<p>Okay.</p>
<p>The pamphlet said nothing about word-wrap, but I had a USENET account, so I asked whichever Emacs group I found first, and someone started me down the path. That&rsquo;s it. 32 years later &ldquo;I am an Emacs user&rdquo; because in 1991 I couldn&rsquo;t figure out word-wrap in vi.</p>
<p>&ldquo;Unix&rdquo; (I later learned I was actually using Ultrix) took over how I thought about computers. When I put the ADM3A+ aside so I could use an IBM XT I&rsquo;d bought at university auction for $35, I reversed my journey of aliasing all the Unix shell commands to their DOS equivalents and installed something called 4DOS, which provided an improved shell for MS-DOS machines and allowed me to make Unix-like aliases. Dumpster-diving outside one of the academic buildings I found a complete set of disks and manuals for <a href="https://en.wikipedia.org/wiki/Sprint_(word_processor)">Borland Sprint</a>, which was a word processor for DOS that included keystroke emulation layers for WordStar (whatevs), WordPerfect (hot), and Emacs (!).</p>
<p>That also primed me for my first &ldquo;tech job,&rdquo; sorting out a Sun pizza box that served as a printing queue for a pair of Xerox DocuTech&rsquo;s in my office. When the thing went down, my boss grabbed me because &ldquo;you know computers&rdquo; and I was allowed to actually sit at the terminal, wherein I had my _<em>Jurassic Park</em> moment a year before <em>Jurassic Park</em>.</p>
<p><img src="/img/jurassic-park-unix.jpg" alt="Screen capture of Lex in Jurassic Park saying &lsquo;it&rsquo;s a unix system, I know this.&rsquo;"></p>
<p>It <em>was</em> a Unix sytem, and I <em>did</em> know it. Mostly. Enough that the Xerox support tech and I were able to communicate over a very long support session, determine that my boss kept turning the box off at night, which was keeping <code>cron</code> from running, and killing the print queue when <code>/tmp</code> filled up. From that point forward, some of my job was my old job and some of it was just doing computer stuff that needed to be done.</p>
<p>Being pointed to Emacs also started my education about Free Software (&ldquo;open source&rdquo; was years away). I&rsquo;d never really thought about software as a thing you&rsquo;d think about ethically. I thought shareware was cool but usually bad compared to the stuff you got at WaldenSoft, and that the best software had to be fished out of a dumpster outside the communications department building after some professor had moved on. Emacs was happy to educate me about all that, though.</p>
<p>When Linux turned up I was completely primed for it. I didn&rsquo;t have the hardware or skill to install it, and wouldn&rsquo;t until 1995, but wow was I ready for a real Unix on hardware I could afford.</p>
<p>Anyhow, the whole &ldquo;vi vs. Emacs&rdquo; thing was always the source of some wry amusement to me. When I wrote a book about Linux that had <a href="/img/Joy04.pdf">a whole chapter on the flame wars of the late 20th century Linux community</a> the matter figured prominently. When we released a sample chapter on LinuxToday people felt this was divisive and unworthy of the open source community ethos:</p>
<blockquote>
<p>Vi fans are proud of their hard-earned knowledge and mastery. You can find Web pages with buttons that read, “Crafted with the vi editor.” There are vi coffee cups with the commands you might need to know printed on the sides. Vi people take a ruthless pleasure in telling newbies to use vi. They know what the newbie’s getting into, and they aren’t about to warn them. If the newbie works in an adjoining cubicle, vi users sit quietly and listen to the newbie’s terminal beep over and over and over while the first lesson of vi is pounded into their skulls: You can’t “just start typing” with vi. People who want to do that are morally defective.</p>
</blockquote>
<p>But personally I just sort of kept quiet about the whole thing outside of admitting that I was an Emacs person and sometimes mentioning that was mostly owing to an historical accident. I mean, when Puppet started doing stuff with Clojure in 2013,  and suddenly Emacs-by-way-of-Spacemacs started turning up on more screens, I did feel a small surge of vindication, but also could not puzzle out the whole <a href="https://github.com/emacs-evil/evil">Evil</a> thing.</p>
<p>But here I am, typing this on Emacs using Doom Emacs and keeping the Evil layer turned on because I got a little bored and wondered what life could have been like if someone had told me vi had word-wrap in 1991.  Interestingly, because I have applied myself to learning and practicing vs. backing into the bare minimum over the years, I think I might be at least as proficient from the past several weeks of practice. I&rsquo;ve got a janky, hybrid style right now, because Doom is set up to let a lot of Emacs keybindings still work, and also lets me use more traditional Mac keybindings for basic text operations. Maybe it&rsquo;s less of a conversion to the <code>vi</code> keybindings and more an appreciation of Doom&rsquo;s modal interface. But I do continue to find myself on the control key less, and I appreciate that.</p>
<p>Oh, right: It has taken enough that I added <a href="https://github.com/televator-apps/vimari">Vimari</a> to Safari. It gives you a bunch of vim keybindings. The one I actually like the most is <code>f</code> to label all the links on the screen and jump to one.</p>
<h3 id="spacemacs">Spacemacs</h3>
<p>Speaking of Spacemacs, I did give it another look over the weekend just because Doom doesn&rsquo;t use <code>~/.emacs.d</code> and Spacemacs doesn&rsquo;t look in <code>~/.config</code>, so swapping configs is a cheap thrill. I completely get the charm, and could see myself using it if I&rsquo;d have tried it before Doom, but I did find some config conventions a little less to my liking &ndash; they sort of tangle things up in a way that feels more error prone &ndash;  and I found the out-of-the-box configs in Doom more to my liking.</p>
<h3 id="john-wick-chapter-4">John Wick Chapter 4</h3>
<p>Al and I went to see the new <em>John Wick</em> movie over the weekend. It&rsquo;s long and I would argue it is too much of its particular good thing. Running close to three hours, there&rsquo;s a whole section I think they could have removed, losing little.  At the same time, Donnie Yen is so great as Caine. Watching his more old-school cinematic martial arts style contrasted with John Wick&rsquo;s sometimes awkward, brutally utilitarian &ldquo;not going for a submission, just holding your head still so I can shoot it&rdquo; fight choreography was cool, and it made me glad I&rsquo;ve got <em>Blind Fury</em>, <em>The 36th Chamber of Shaolin</em>, and <em>The Five Venoms</em> lined up on Plex.</p>
<p>I guess it feels a little churlish to complain about 3-hour run times. I remember when even up-market Hollywood stuff was frequently coming in at under 2 hours, and it felt penny-pinching and sad.</p>
<p>Anyhow, tomorrow is a big day. Al helped me rehearse yesterday, and I&rsquo;m sitting here in that state you get into when you&rsquo;ve prepared right up to the point of over-preparation and you need to stop so your brain can consolidate it all and you can just go in and play your game, knowing that you&rsquo;re going to tell the best possible story about who you are, then leave it to the people on the other side of the table to decide if they want that.</p>
<p>To quote the great Diego Sanchez:</p>
<p><img src="/img/diego.gif" alt="GIF of Diego Sanchez chanting &lsquo;yes&rsquo; as he walks in for a fight"></p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-03-31</title>
      <link>https://mike.puddingtime.org/posts/2023-03-31-daily-notes-for-2023-03-31/</link>
      <pubDate>Fri, 31 Mar 2023 07:01:43 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-03-31-daily-notes-for-2023-03-31/</guid>
      <description>Journaling with org-roam, exploring Zettelkasten to inform writing, spring camping shakedown.</description>
      <content:encoded><![CDATA[<h3 id="journaling-with-org-roam">Journaling with org-roam</h3>
<p>I made &ldquo;my journaling practice&rdquo; the focus of some attention this week. I started out with org-journal, but ran into an issue with it I couldn&rsquo;t untangle regarding line wrapping. I couldn&rsquo;t understand what was even going on until I read that it uses its own org-<em>derived</em> major mode, which at least explained why it suddenly started working when I invoked org-mode by hand on a journal buffer, at the expense of god knows what functionality.</p>
<p>In the end, I decided &ldquo;whatever.&rdquo;</p>
<p>I was happy with my daily journal pages in Obsidian, which fully existed in my Zettelkasten. So I decided to set org-journal aside &ndash; I wasn&rsquo;t planning on using many of its features anyhow &ndash; and focus instead on making org-roam dailies capture templates to suit my needs. At this point it just means I have a couple of quick keystroke paths to capture my morning and evening prompts in the current day&rsquo;s daily page, which also gets used mostly just as a running log.</p>
<p>Being able to say &ldquo;whatever&rdquo; and set aside a bottomless round of troubleshooting is how I&rsquo;ve committed to using Emacs this time around. Doom continues to mostly &ldquo;just work&rdquo; and has proven stable and manageable. At the same time, I&rsquo;m being less adventurous. If something doesn&rsquo;t seem right and doesn&rsquo;t yield to a few common-sense experiments, I prefer to bounce off the issue and figure out what will &ldquo;just work.&rdquo;</p>
<p>I will say that the sqlite dependency at the bottom of org-roam makes me uneasy. It is odd for me to err in favor of something like that vs. trying a little harder to make another solution with fewer outside dependencies work. It&rsquo;s just a taste thing that&rsquo;s been developing more and more over the past few years.</p>
<p>And the whole thing isn&rsquo;t peculiar to Emacs. It&rsquo;s any extensible tool. Like, Yoda said the only thing in the Evil Force Tree is what you take with you, so don&rsquo;t take a teetering edifice of other peoples&rsquo; poorly understood code in there.</p>
<h3 id="job-hunting-and-writing">Job hunting and writing</h3>
<p>I realized in the process of preparing answers to 18(!) interview questions that I was doing more intense thinking and writing about why I show up at work and how I like to be at work than I have in a long while. I have done a few &ldquo;what&rsquo;s your personal operator manual&rdquo; exercises, but not in a way that felt as high stakes as &ldquo;I want really want this particular job.&rdquo;</p>
<p>I&rsquo;ve also been doing more writing about work lately, as part of the job-hunting strategy. I haven&rsquo;t been comfortable with the mode I&rsquo;ve been using to do that writing. It is a little too ponderous, a little too just-so. And informal analysis tells me LinkedIn does something with those reading time statistics it collects that also cause that form to work against me.</p>
<p>If you are mystified and gob-smacked by the flatly bizarre content that flows across your feed there, wondering &ldquo;who on earth reads this?&rdquo; the answer is what it <em>always</em> is with algorithms The Tech People cook up to solve engagement problems: They don&rsquo;t have a meaningful way, yet, to assess the content, but they are committed to a project of &ldquo;surfacing&rdquo; the &ldquo;best&rdquo; content. So they assess the formal characteristics of the content that succeeds so they can seed the feedback loop. I&rsquo;ve done this. I&rsquo;d be galled with myself for forgetting it if I hadn&rsquo;t remembered quickly enough.</p>
<p>So I&rsquo;m going to experiment with a shift in writing approach, and use it as a practical application of Zettelkasten:</p>
<p>The practical writing I&rsquo;ve been doing to prepare for interviews has engaged me on a different level. Stories play into it because even when the interview style is very conceptual I still steer my answers into the behavioral, giving interviewers something they didn&rsquo;t even realize they wanted sometimes. So I have to think about what I&rsquo;ve done, not just how I think things should be.</p>
<p>But an insight from my coach after a disappointing round of interviews has been ringing in my ears, too:</p>
<p>&ldquo;Mike, they don&rsquo;t want to hear your stories until they trust you enough to let you in a little more.&rdquo;</p>
<p>So the change is just: I have a bunch of very concise writing I&rsquo;ve done to prepare. It has touched on a bunch of stuff I care about and have done: change management, communications, people management, operational excellence, conflict management, and goal-setting.  It starts small &ndash; a concrete question &ndash; grows into something bigger, because I&rsquo;m inclined to story-telling &ndash; then settles back into something I can get across in a few minutes. It&rsquo;s all so atomic that it wants to be turned into nodes, ready for slight rehydration as part of a different kind of writing I want to get better at, even once I&rsquo;m done looking for work.</p>
<p>I&rsquo;m interested to try it, because my writing comes from a certain tradition: Get it all out, pare it back, let something back in, take something else back out, back and forth until you&rsquo;re asking for just the right amount of attention &ndash; nothing less than the lede promised, nothing more than the lede can bear.  It&rsquo;s like sculpting a big hunk of rock. This approach will be more like &hellip; Jenga? Starting from a compact, economical place and making sure no more is added than it can bear to accomplish something a little more ambitious than &ldquo;capture the thought,&rdquo; but still modest, and still balanced.</p>
<p>Anyhow, today is a little busy, so I&rsquo;m wrapping early. I&rsquo;m really looking forward to next week: It&rsquo;ll be hectic on Monday and Tuesday, then Al and I are taking the Outfitter to Nehalem Bay for its spring shakedown: A few days of beach-walking, hanging out in Manzanita, and movies on the iPad.</p>
<p><img src="https://photos.smugmug.com/photos/i-MXfdK36/0/3df63d33/XL/i-MXfdK36-XL.jpg" alt="A small, square camping trailer sits under tall pines, a folding love seat sits on a camp rug in front of a Solo Stove."></p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-03-29</title>
      <link>https://mike.puddingtime.org/posts/2023-03-29-daily-notes-for-2023-03-29/</link>
      <pubDate>Wed, 29 Mar 2023 11:42:01 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-03-29-daily-notes-for-2023-03-29/</guid>
      <description>Trying org-journal, Good Sudoku, blog content migration tools.</description>
      <content:encoded><![CDATA[<p><em>Breaking</em>: I just discovered Doom&rsquo;s <code>rotate text</code> module in the process of thinking &ldquo;why can I not just flip this post&rsquo;s draft metadata from <code>true</code> to <code>false</code> with a keystroke? Did I see something about that in <code>init.el</code>?&rdquo; I <em>did</em> see something about that in <code>init.el</code>, so I uncommented the line, did a <code>doom sync</code>, and it&rsquo;s there: just put a word under the point and <code>] r</code> to go through the candidates.</p>
<p>Anyhow &hellip; as I was about to post:</p>
<p>I am in one of those liminal places people find themselves in from time to time.  I suppose the best thing you can say about them is that it&rsquo;s better when you know you&rsquo;re there than when you don&rsquo;t, because you at least have a fighting chance of arresting the worst of your bad habits.</p>
<h2 id="good-sudoku-is-real-sudoku-i-guess">Good Sudoku is real Sudoku, I guess</h2>
<p>For instance, sometimes it&rsquo;s good to stop moving around so much and just wait the thing out. Sudoku has always been good at that for me, but so much of my conception of Sudoku involved mandatory tedium. Like, I didn&rsquo;t even fully embrace the &ldquo;logic&rdquo; parts of the game because some of what made it soothing was the dull repetition of pre-filling all the gimmes, and you don&rsquo;t need hard puzzles to waste a bunch of time on that while you fight with a virtual copy of your office nemesis.</p>
<p><a href="https://www.playgoodsudoku.com">Good Sudoku</a> for iOS/iPadOS is several years old, now. I saw it come out, downloaded it, and honestly thought there was some sort of catch to it. It has a few provisions for automating or at least bringing focus to the early stages of a puzzle, and I found that with those affordances I can reliably complete puzzles at the &ldquo;advanced&rdquo; level without getting out of my comfort zone in terms of logical patterns. I can finish some &ldquo;Expert&rdquo; ones without a hint, and maybe half of them with just a single hint. It was so jarring to me that I even went looking for evidence that there might be people who hate it for spoiling a tedious and frustrating but essential element of the game. Like, maybe there are people out there who <em>like</em> that you have to do all the paperwork. If there are, I didn&rsquo;t see them in the first few pages of a DuckDuckGo query asking if Good Sudoku can even be considered real Sudoku.</p>
<p>So the revelation, I guess, is that Sudoku remains fun with those affordances in place. You still have to, like, use logic and stuff &hellip; you just have to learn more advanced things more quickly because the quality of life enhancements get you there faster. But there&rsquo;s still plenty of challenge left. For the first time, though, Sudoku is a question of &ldquo;how good do I care to become?&rdquo; instead of &ldquo;how much tedium can I take?&rdquo;</p>
<p>Maybe more importantly than being &ldquo;fun,&rdquo; Sudoku remains absorbing. When my brain spins up too far, and I find myself stuck in those things I do when I&rsquo;m in a liminal space, it&rsquo;s a way to background the things that feel like distractions, soak up some excess cognitive capacity, and process the thing that is eating me at a level I can deal with while I give over some spare cycles to spotting a new pattern I&rsquo;m still trying to internalize.</p>
<h2 id="org-journal">org-journal</h2>
<p>I&rsquo;ve had a daily journal practice going for a little while now, partially cribbed from a pre-made paper daily journal I tried out a few years ago. In its most recent form, the day starts with three prompts:</p>
<ul>
<li>What&rsquo;s today&rsquo;s biggest challenge?</li>
<li>What are you happiest about?</li>
<li>What are you most nervous about?</li>
</ul>
<p>&hellip; and it ends with three prompts:</p>
<ul>
<li>What happened today?</li>
<li>What went well today?</li>
<li>What could you improve?</li>
</ul>
<p>I include my morning and evening entries in my habit trackers so I can get a reminder, and I set up a template in DayOne to pre-fill the entry for the day.</p>
<p>I&rsquo;ve been pretty good about sticking to it, but I noticed recently that it was not working on a few levels:</p>
<p>First, it has become perfunctory &ndash; a task to accomplish. When I tap back through past entries I didn&rsquo;t have much of a sense of &ldquo;me&rdquo; in there because the entries were brief and suggestive of me just being very much in my own head and not doing much written thinking or processing.</p>
<p>Second, the questions have some issues. In particular, I noticed &ldquo;what are you most nervous about&rdquo; was putting me in a mindset where I had to cast about to think about something to be nervous about. That&rsquo;s &hellip; that&rsquo;s something to do when maybe you don&rsquo;t have an amygdala. It took me some time to get around to understanding how much that question was infusing my thinking with the idea that I was &ldquo;anxious.&rdquo; Glad I did.</p>
<p>So I did the thing I do when something I do isn&rsquo;t working for me and I made it a set of documents. It was a good excuse to try out org roam as a Zettelkasten replacement for Obsidian. The three nodes I made were:</p>
<ul>
<li>Journaling: tools</li>
<li>Journaling: practices</li>
<li>Journaling: experiments</li>
</ul>
<p>All of them link back to a &ldquo;Purpose: Writing&rdquo; node.</p>
<p>Then I put down some time on the schedule to write some notes about each, asking what I want to get out of the practice, what tools I have under consideration for continuing it (e.g. Obsidian, <a href="https://dayoneapp.com">DayOne</a>, assorted Emacs stuff), and which experiments I mean to run for how long to see what works.</p>
<p>I&rsquo;ve just started a  &ldquo;use <a href="https://github.com/bastibe/org-journal">org-journal</a>&rdquo; experiment.  I use the vanilla config from Doom, and I added a morning and evening entry template using <a href="https://github.com/joaotavora/yasnippet">yasnippet</a> to keep the investment in automation light for now. The one minor disappointment I&rsquo;m experiencing is how <code>org-crypt</code> works, which is entry-by-entry, and manually. Maybe there&rsquo;s a different way to protect the content anyhow, but <code>org-crypt</code> seems to be the Doom-blessed approach, and I was hoping for something a bit more transparent. I&rsquo;m also guessing there&rsquo;s a way to make it more transparent at the cost of eating someone else&rsquo;s elisp off the sidewalk.</p>
<p>Playing with tools is just sort of the fun part of it. It was immensely useful, once again, to sit down and write about why I even cared and wanted to do this, and when I sat down this morning to write my first entry of the day the renewed sense of purpose did as much as anything to make the entry more rich. I can imagine &ldquo;me in ten years&rdquo; getting something out of that entry, which is a vast improvement over the bulk of the past quarter&rsquo;s worth of entries.</p>
<h3 id="migrating-content-from-microblog">Migrating content from micro.blog</h3>
<p>I downloaded the smaller set of archives from micro.blog this week and started seeing what it would take to move the content into place and start chipping away at a few generations of thinking about image hosting and markup. It&rsquo;s all Hugo files, so that&rsquo;s good, and the assorted idiosyncracies are all distinct enough from each other that there&rsquo;s not a lot of &ldquo;this regexp is going to wipe out something completely unrelated.&rdquo;</p>
<p>A few useful tools in this process:</p>
<ul>
<li><a href="https://www.publicspace.net/ABetterFinderRename/index.html">A Better Finder Rename</a> is wonderful for traversing a directory and &hellip; renaming things. Being able to rename files three levels deep in a hierarchy based on their parent folders is pretty handy. I had a license years ago. It was worth the reup.</li>
<li><a href="https://www.devontechnologies.com/apps/freeware">EasyFind</a> is great for fast searches of files in a way that works better for me than how Spotlight operates, then makes them available for bulk operation. In this case, it helped in quickly segregating files by certain metadata and moving them off into subdirectories. Great value for no cost.</li>
<li><a href="https://www.barebones.com/products/bbedit/">BBEdit</a> is such a champ at bulk file processing. Having a visual regexp tool to pre-flight operations across a collection of files is great. Saving those operations is great. It&rsquo;s fast, stable, and doesn&rsquo;t blink when you toss thousands of text files at it.</li>
</ul>
<p>I wanted to go at some of the migration challenges with scripting, but there seems to be <a href="https://pypi.org/project/python-frontmatter/">a single Python lib</a> that groks YAML frontmatter in Markdown, and that&rsquo;s not one of my good languages, so I&rsquo;d be hand-rolling something that I&rsquo;d rather not. The three tools I listed above are all pretty capable and have the advantage of offering some sort of pre-flight feedback, sometimes with syntax highlighting, etc. I&rsquo;ll take those shortcuts.</p>
<p>And wow is this all so much better than the stuff I used to make money dealing with: Legacy blogging systems with a database backend and a bizarre blend of &ldquo;yes, there&rsquo;s the body of the article right there in the <code>body</code> field, but where on earth is the title? I can see it on the front end but it does not exist in this db dump.&rdquo; (A: The title was in a separate table from the content table &ndash; which was specific to the site &ndash; and that titles table covered every site under management by that CMS, <em>and</em> no they wouldn&rsquo;t export that for my client when they left the service. I got super creative with the Bing API to reunite all the articles with their titles for that gig.)</p>
<p>Anyhow, that&rsquo;s plenty for today and I need to get a run in. Ben&rsquo;s home this week and we&rsquo;re taking him out tonight. It is still sometimes strange to have become a person who lives in a home that a 19-year-old man comes home to now and then, and it was also strange to realize two hours into a conversation with him yesterday that he is just this person it is great to have a conversation with. But it&rsquo;s strange in the most wonderful way.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-03-24</title>
      <link>https://mike.puddingtime.org/posts/2023-03-24-daily-notes-for-2023-03-24/</link>
      <pubDate>Fri, 24 Mar 2023 10:04:10 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-03-24-daily-notes-for-2023-03-24/</guid>
      <description>More on learning with Vim Adventures, TickTick is out, time to pack it in on micro.blog.</description>
      <content:encoded><![CDATA[<h3 id="re-ticktick">re: TickTick</h3>
<p>It has been supplanted by org-mode.</p>
<p>Final verdict: It&rsquo;s pretty good. If I had to put all my to-do lists in a proprietary, closed-format tool, it would probably be the one, or at least in the running with Things. I just appear to be due for an org-mode kick, and TickTick happened to be standing around when it happened.</p>
<p>In terms of getting out of org-mode what I was getting out of  TickTick beyond a simple todo list, it came down to mobile, habits, and pomodoros.</p>
<p>[beorg][] handles Reminders integration. Doom Emacs lets you pull in <code>org-habits</code> out of the box, so I just did that and set up a habits file. They&rsquo;re pulled into my agenda, which shows streaks information for them.</p>
<p>I also added <code>org-pomodoro</code>, which works about like you&rsquo;d expect: Pick an item from the agenda, trigger the timer, and it adds a time entry to that item in its home file for each Pomodoro completed:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">** omg.lol Docs
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">*** Git workflow
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">**** DONE Beginner section
</span></span><span class="line"><span class="cl">DEADLINE: &lt;2023-03-24 Fri&gt;
</span></span><span class="line"><span class="cl">:LOGBOOK:
</span></span><span class="line"><span class="cl">CLOCK: [2023-03-24 Fri 14:19]--[2023-03-24 Fri 14:44] =&gt;  0:25
</span></span><span class="line"><span class="cl">CLOCK: [2023-03-24 Fri 13:49]--[2023-03-24 Fri 14:14] =&gt;  0:25
</span></span><span class="line"><span class="cl">CLOCK: [2023-03-24 Fri 11:25]--[2023-03-24 Fri 11:50] =&gt;  0:25
</span></span><span class="line"><span class="cl">CLOCK: [2023-03-24 Fri 10:14]--[2023-03-24 Fri 10:39] =&gt;  0:25
</span></span><span class="line"><span class="cl">CLOCK: [2023-03-24 Fri 09:38]--[2023-03-24 Fri 10:03] =&gt;  0:25
</span></span><span class="line"><span class="cl">:END:</span></span></code></pre></div>
<p><a href="https://writequit.org/denver-emacs/presentations/2017-04-11-time-clocking-with-org.html">I found this presentation helpful for figuring out how to add reporting with the time data you can gather</a>.</p>
<h4 id="always-coming-home">Always coming home</h4>
<p>At some point we have to acknowledge to ourselves that maybe the chaos is the actual pattern, or that the things we think are chaotic are not after all, even if we can&rsquo;t quite feel the rhythm.</p>
<p>When it comes to tools &ndash; especially productivity ones &ndash; I am fickle. I&rsquo;ve been through four or five major &ldquo;all in on org&rdquo; moments in my life, and then I&rsquo;ve fallen out of them.</p>
<p>org-mode can be tough to stick with: Emacs can be crabby, the ecosystem feels fragile sometimes, and you occasionally go through these periods where everyone&rsquo;s carrying on about some new Emacs build or hotness and you chase after it ten minutes before a day full of meetings where the segfaults start in the middle of a note.</p>
<p>No amount of fluency with the tool or joy in the format can get you around the days where the tool just doesn&rsquo;t feel steady.</p>
<p>On the other hand, one missing piece from previous Big Org periods has been a habit I picked up during the pandemic of being more circumspect about the tools I pick up and what I want to do with them. I write about what I hope to get out of something. I think about what I want to use it for. Sometimes I learn about a new feature or approach and decide to roll it in, but I&rsquo;ve gotten a lot better at knowing why I use the things I do, and what I want out of them. I&rsquo;m also more suspicious of changing them up much.</p>
<p>In assorted parts of my technical life, that new habit has been a real boon, because &ldquo;tech&rdquo; in the broadest sense is something I like to play with, and I used to constantly break the rule &ldquo;Don&rsquo;t try anything new on race day,&rdquo; with all the ensuing chaos that comes with it. Like, years ago past Mike got really disgusted at work and swore he was done with his job and applied for a bunch of jobs, and decided that was the right time to change email providers because he heard that the one he was switching to had some cool features. Yes, some mails went missing.</p>
<p>Where my Emacs life is concerned, it just comes down to &ldquo;one thing at a time, only one thing a day, if at all.&rdquo;</p>
<p>I self-interpret that to mean &ldquo;you can turn on one module and snarf up one quick tweak or imported config to go with it.&rdquo; Adding <code>org-super-agenda</code>? Great &ndash; turn it on and add one config change. Doing pomodoros? Okay, don&rsquo;t change your org agendas to show the timing, just make sure you can record the times consistently, and that it isn&rsquo;t making things feel wobbly. I usually just do a pomodoro of fiddling at the beginning of the day, which is about enough time to find something, turn it on, and see if it passes the initial use test before it&rsquo;s time to do other stuff.</p>
<p>I&rsquo;ve been harping a lot elsewhere on how stable Doom Emacs feels compared to my own <code>init.el</code> ecosystem, but I suspect part of it is just that I&rsquo;ve been very careful about what I add and how much I add at a time. I think Emacs is in a unique tier of sensitivity to a lot of thrashy change, but just about anything built on a lot of user-generated content (e.g. modules, add-ons, plugins) can be made to misbehave and become hard to troubleshoot.</p>
<p>Another thing that has changed about me over the past few years has been a growing awareness that I can get into a headspace where I prize automation and less overall motion to the point of paralysis. It took seeing other people falling into that pit &ndash; believing that they came into work that day to automate something and not to achieve an outcome &ndash; to get me to see it in myself and snap out of it a little.</p>
<h3 id="vim-adventures">Vim Adventures</h3>
<p>I mentioned yesterday that I&rsquo;ve been enjoying Vim Adventures:</p>
<iframe src="https://social.lol/@mph/110075234226930854/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe><script src="https://social.lol/embed.js" async="async"></script>
<p>&ldquo;Enjoying&rdquo; is sort of relative. It wants you to learn stuff that is a slog, and it has a few puzzle challenges that can be challenging since they not only demand you use the keys you&rsquo;ve been learning to accomplish the task, they sometimes require you to do a little lateral thinking. You can&rsquo;t get away with just memorizing a keystroke for a given lesson, use the keystroke a few times, then get on with it. You end up using the keystroke repeatedly trying to solve a puzzle in under <em>n</em> keystrokes, sometimes not realizing there&rsquo;s another lesson buried in there about cursor motion behavior or what have you.</p>
<p>In the end, though, the puzzles are well constructed. New stuff comes in at a steady pace, and each new set of challenges provide a mix of what you&rsquo;ve already learned with the new stuff, so you have to constantly adapt. I tried another, less gamified vim tutorial to see if it would work better for me and it was disorienting after a few hours with Vim Adventures: I couldn&rsquo;t see how any of it could possibly stick in any meaningful timeframe.</p>
<p>I&rsquo;m typing this in the space between writing pomodoros this morning. This is the first day I&rsquo;ve had all week to be deep in a writing/revision cycle using what I&rsquo;ve been learning. It&rsquo;s been interesting to realize how much stuff Vim Adventures has taught me to &ldquo;just do&rdquo; with minimal delay, but I can still sense the occasional spike in cognitive load when a few decades of muscle memory collide with newly learned things that are still up there in the thinking layers.</p>
<p>It&rsquo;s also interesting, as someone whose first deep Unix experience dates back to an Ultrix box and VT100 in 1991, how much these assorted UI ecosystems have come to acknowledge each other. Doom understands the basic Mac text keybindings, so when I&rsquo;ve exhausted my vi keybinding knowledge and just need to do a damn thing to a block of text, cmd-x and cmd-v are right there.</p>
<p>I have asked myself a few times &ldquo;why are you doing this at all,&rdquo; and as near as I can figure it comes down to:</p>
<ul>
<li>Finding I prefer hand positioning that involves fewer control key chords.</li>
<li>Enjoying the learning experience. It&rsquo;s stimulating.</li>
<li>A recent encounter with the mythical &ldquo;vi only&rdquo; system in the form of my EdgeRouter X. Dinking around with files in that thing was a pain, just as the vi bigots have always warned. Completely doable with my limited repertoire of vi skills, but clumsy.</li>
</ul>
<p>I suppose I should also sing Doom Emacs&rsquo; praises once more: It does a lot to make Emacs feel more stable by taking care of housekeeping and providing some reasonable defaults. It&rsquo;s a good learning platform because there are fewer random things going on out of the box. I don&rsquo;t know if I&rsquo;d be able to tolerate the learning curve with my own <code>init.el</code> in place.</p>
<h3 id="probably-time-to-wind-down-on-microblog">Probably time to wind down on micro.blog</h3>
<p>A few months ago I took this site and moved it from Jekyll to Hugo. Jekyll was fine and all, but the more I dug into Hugo&rsquo;s features the more it seemed like an interesting direction to go. I also wanted to move the site from <em>looking</em> personal marketing heavy to just being a blog that also has stuff in it about work/business sometimes.</p>
<p>That was a liberating move: I was able to get myself into a pretty easy writing/publishing workflow that was perhaps a little more computer-bound than what I could get away with on micro.blog, but not so bad.</p>
<p>I kept sticking to my micro.blog presence partially because it has robust cross-posting features I hadn&rsquo;t bothered to suss out using something like IFTTT or Zapier. At the same time, I have a little too much web producer left in me to be comfortable with two domains that are roughly doing the same thing. I once automated a consolidation, content migration, and re-canonicalization of four dozen websites. People sneer about SEO and all the evils of the SEO industry, but there are search engines in the world and there are reasons to care about what they make of your web presence.</p>
<p>If all I wanted to do was have a blog in the most traditional &ldquo;reverse-chronological-ordered posts&rdquo; sense of the word, I&rsquo;d probably stick with micro.blog. Its Hugo foundations allow just enough flexibility to do the basics, and your content can be exported with relatively few idiosyncracies &ndash; no worse than any other Hugo theme. You can write shortcodes and customize a lot of the way the site works.</p>
<p>It&rsquo;s kind of a frustrating platform for iterative development, though. There&rsquo;s enough variance between a basic Hugo theme and what micro.blog needs that you have to do some trial-and-error. Using vanilla Hugo on a laptop, iterative learning is lightning fast and the feedback loops border on instantaneous, especially with <code>hugo server --navigateToChanged</code>. With micro.blog, there&rsquo;s a build time delay to figure out if your thing worked or not, or to get feedback on how it is failing.</p>
<p>I have also found I prefer the free-wheeling nature of Mastodon a little more appealing than the social layer of micro.blog. I&rsquo;ve written about that <a href="https://mike.puddingtime.org/posts/2023-03-13-the-pleasures-of-a-small-mastodon-instance/#comparing-to-microblog">elsewhere</a>, so we&rsquo;ll leave it alone here.</p>
<p>Anyhow, it&rsquo;s time to go through the past couple of years of micro.blogging and work out how to manage that migration. One idea I want to explore is the creation of a &ldquo;microblog&rdquo; content type that would allow me to just move all that stuff into its own silo largely untouched, with some design work to cope with the titleless posts over the years, and with some logic in my Atom feed to allow for ongoing microposts that stay out of Atom but still get syndicated over Mastodon.  Similarly, that could be a quick path to getting all my old dot unplanned content moved over under its own &ldquo;vintage&rdquo; content type.</p>
<p>At some point I am not going to have the kind of time on my hands that I have now, so my thinking is beginning to shift to &ldquo;what&rsquo;s expedient&rdquo; vs. &ldquo;what could enhance your career as a Hugo consultant with yourself as your only client.&rdquo;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-03-22</title>
      <link>https://mike.puddingtime.org/posts/2023-03-22-daily-notes-for-2023-03-22/</link>
      <pubDate>Wed, 22 Mar 2023 10:42:33 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-03-22-daily-notes-for-2023-03-22/</guid>
      <description>Succumbing to org-roam, the pleasures of a straight razor competently wielded, Decline of Western Civilization.</description>
      <content:encoded><![CDATA[<h3 id="succumbing-to-org-roam">Succumbing to org-roam</h3>
<p>Well, it took less than 12 hours to go from &ldquo;I&rsquo;m not going to even touch that&rdquo; to &ldquo;huh, I wonder if it&rsquo;s cool?&rdquo;</p>
<p>Yes, <a href="https://www.orgroam.com">org-roam</a> is cool. It&rsquo;s a Zettelkasten implementation built atop org-mode. To make it work in Doom Emacs you just add it to the org-mode line in Doom&rsquo;s <code>init.el</code>:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">(org +roam2) </span></span></code></pre></div>
<p>&hellip; and then run <code>doom sync</code>.</p>
<p>You should add a <code>roam</code> subdir to your standard org files location or it will complain when you try to use it.</p>
<p>You can instantiate a new node with <code>spc n r i</code> (&rsquo;n&rsquo;otes, &lsquo;r&rsquo;oam, &lsquo;i&rsquo;nsert)</p>
<p>That gets you a roam buffer and you can start typing. As with most transient Emacs buffers, <code>C-c</code> will save and exit.</p>
<p>If you want to link to a separate note, you can start typing its name in the body of the current note and get an autocomplete list.</p>
<p>If you link to a note from another note, Roam takes care of adding a backlink at the bottom of the target note.</p>
<p>As with all things Emacs, there are org-roam configs you can go find on the street and stick in your mouth. As with all things Emacs, I didn&rsquo;t describe it that way because I thought that would make such an approach attractive to you. I want you to be repulsed by that approach because it is unclean. One of the advantages of Doom Emacs (or Spacemacs, or Prelude) is that if they include a package, they probably include some basic configuration, so you can kick the tires then start layering on capabilities.</p>
<p>Anyhow, in its basic Doom Emacs config, org-roam is unremarkable. If you want a zettel and don&rsquo;t want Emacs, go get Obsidian or one of its competitors. I&rsquo;m going to stick with it for a while. As I mentioned <a href="/posts/2023-03-21-daily-notes-for-2023-03-21/">yesterday</a>, I like org-mode&rsquo;s intertwingling of tasks/actions/todos and prose, so it suits me.</p>
<h3 id="the-pleasures-of-a-straight-razor-competently-wielded">The pleasures of a straight razor competently wielded</h3>
<p>A brief history of me and professional grooming:</p>
<ul>
<li>My grandmother paid for my first stylist haircut when I was in 7th grade. I had no idea how to maintain it.</li>
<li>I spent a few years just telling barbers to take it all off.</li>
<li>The army taught me the pleasures of walking in, paying your $5, and getting a high-and-tight. Once I&rsquo;d been in a few years, I&rsquo;d modify the request to say &ldquo;leave a little up top.&rdquo;</li>
<li>Over the past 20 years I developed an appreciation for Great Clips because they store your preferences and last cut in the computer under your phone number.</li>
</ul>
<p>Then last year I walked into a barber shop near the office because things were dire and I had a few minutes. The barber handled the basic cut, then offered to do some detail work with a straight razor since he had time. That part was amazing, and it made my day.</p>
<p>I started going back, partially because it was a great first experience and partly because the barber was utterly disinterested in small talk. Just enough to establish we spoke a common tongue, then nothing except the occasional request for a decision.  We did enter into an extended dialog about my beard made up of very sharp exchanges in the ensuing months. He was in favor of taking more of it off, and I would say &ldquo;no, I&rsquo;m not there yet, please just do what you can with it.&rdquo; He&rsquo;d mutter and then cluck when he got to the part where it began to curl at the bottom. &ldquo;I can&rsquo;t do anything with this &hellip; you&rsquo;re sure you&rsquo;re okay?&rdquo;</p>
<p>Then last week I had a video conference and was wearing a shirt with a collar and a jacket and I realized I couldn&rsquo;t see my collar under my beard. I couldn&rsquo;t really see my mouth, either.</p>
<p>I recently read about a study that suggested people with beards will ultimately be perceived as more trustworthy and accessible <em>once they are given an opportunity to smile</em>. Until that point, the unbearded have all the social advantages. So I decided it might be best to make my mouth observable. COVID and masking did reveal me to be a proficient eyebrow flasher, but I don&rsquo;t think you can completely rely on that.</p>
<p>So I booked time with my barber and left out the haircut (I&rsquo;m good for a few more weeks) but did add the razor true-up.</p>
<p>When I sat down he resignedly asked &ldquo;the usual, just fix the scruff?&rdquo; and I said &ldquo;no, I&rsquo;d like to get some of that length and volume out of there.&rdquo; He started to nod vigorously, and we entered into an extended negotiation measured in finger widths (&ldquo;okay, but top of finger or bottom?&rdquo;) and ultimately settled on something that would both reveal my mouth and also let you see my neck and/or collar.</p>
<p>Then it was just closing my eyes and enjoying the hot towel, thick lather, and precision work of a sharp straight razor, including temples and neck.</p>
<p>Restorative.</p>
<p>I go all the way across town &ndash; the barber moved from near the office to even further west &ndash; but it&rsquo;s worth the train ride once a month to have a good barber.</p>
<h3 id="movie-decline-of-western-civilization">Movie: Decline of Western Civilization</h3>
<p>I rewatched Penelope Spheeris&rsquo; <em>Decline of Western Civilization</em> for the umpteenth time. X is one of my top 5 favorite bands of all time, so I love everything with them in it, even if John Doe&rsquo;s trolling over &ldquo;Johnny Hit and Run Pauline&rdquo; makes me cringer harde with every viewing.  The people around the periphery are great, too, including Club 88&rsquo;s owner, who is determined to greet the whole freak show playing out in his venue with a certain patient equanimity I hope I can equal as the world moves on around me. And I&rsquo;m grimly fascinated with Fear, and Lee Ving in particular, and his theatrical hate.</p>
<p>Punk was the first real subgenre I embraced. I was up at 2 in the morning in 10th grade, working on a paper for my journalism class, when the college radio station I&rsquo;d been listening to jazz on hours earlier suddenly crackled back to life from its post-midnight-signoff hiss because someone had snuck into the studio and announced the first (and possibly last) installment of &ldquo;Goshen College&rsquo;s Guts Radio.&rdquo;</p>
<p>Then they peeled my skull back with Fear, Black Flag, Dead Kennedys, and stuff I never heard again.</p>
<p>I mentioned it to the stoner who sat in front of me in American History and he came back the next day with the Dead Boys&rsquo; <em>Young, Loud and Snotty</em> on one side of a cassette tape, and a hastily assembled tour of more vintage punk on the other.</p>
<p>Anyhow, <em>Decline</em>: X are the odd ones out there. A punk act, yes, but with the seeds of their eventual trajectory present if you look for them. The case has been made that they were a case of tragic mistiming and I think it might be true: There they were at the height of their <em>energy</em> in 1980, but the <em>sensibility</em> they anticipated was years away from the eventual saturation it achieved with vintage scavengers and billy boys. My affection for X is undying: They were my bridge from a sullen, resentful anger toward all the normal people to a belief that maybe <em>I</em> was one of the decent people, too.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-03-21</title>
      <link>https://mike.puddingtime.org/posts/2023-03-21-daily-notes-for-2023-03-21/</link>
      <pubDate>Tue, 21 Mar 2023 11:03:54 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-03-21-daily-notes-for-2023-03-21/</guid>
      <description>Back to org-mode, a decent C25K Apple Watch app, custom Hugo RSS.</description>
      <content:encoded><![CDATA[<h3 id="back-to-org-mode">Back to org-mode</h3>
<p>Reasonable default configurations have been a pleasure of [Doom Emacs][]. Even org-mode, which I had somewhat dialed in on my own, works well enough, and maybe better, under Doom. When I took my <code>org-conf.el</code> apart I realized how many geological layers of features that sounded interesting but never made their way into regular use were sitting there, gumming things up and slowing things down.</p>
<p>I posted last night about a nicely wired up Projectile/org-mode pairing:</p>
<iframe src="https://social.lol/@mph/110059541236136990/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe><script src="https://social.lol/embed.js" async="async"></script>
<p>Whenever I get bit by the org-mode bug, the first thing I notice and remember loving is the intertwining of text and tasks. Sitting down and making lists in an app has never felt completely comfortable to me, and the notes capabilities of a lot of task apps leave me cold. They look and feel like afterthoughts, and the text is dead and inert inside them. Once the task is done, the text is effectively gone unless you take time to pull it out and put it somewhere.</p>
<p>When your todos and text are happening on equal footing with each other, your &ldquo;todo list&rdquo; stops being a todo list and starts being a sort of log or journal. Structure your notes correctly within todos, and org-mode makes it easy to copy them into another file or hierarchy, or you can just leave them in place and keep moving.</p>
<p>Preparing for a meeting this week, I loved sketching in the things I needed to cover as headings that happened to be todos, then launching straight into notes underneath those headings, roughing in initial thoughts or leaving myself prompts without clicking into a cramped little box.</p>
<p>I loved org-mode when I worked in a status report work culture because my weekly report was also my todo list. I wrote an exporter that kept out the stuff nobody else cared about, but showed the most recent log entry in each item. As priorities shifted, my status report was always up to date. As I wrote each week&rsquo;s update, I could see the previous week&rsquo;s just below it in the item drawer. Items that were delegated, on hold, or dropped, reflected reality at the moment of export. Attempts to do similar with other tools never came close, no matter how robust their scripting libraries.</p>
<p>So, having an Emacs distro that feels very solid underfoot and presents a clean, useful, uncluttered org configuration is a real joy.</p>
<p>I am also enjoying <a href="https://beorgapp.com">Beorg</a>, an iOS/iPadOS app that works well with org-mode, syncing via iCloud, Dropbox, WebDAV, or Box. It tilts toward the todo/agenda-oriented parts of the org-mode experience, but you can edit your prose notes with it in a pinch. It can also integrate with iOS Reminders and Calendar apps, so your agenda view can reflect your org stuff and your phone stuff if you have to live in a split ecosystem for things like shopping lists. It&rsquo;s not a completely seamless experience, but it is smooth and works well.</p>
<p>And the whole experience reminds me that, speaking only for myself, as much as I think it&rsquo;s possible to get work done on an iPad, I can&rsquo;t get it done as well as I can on a laptop or desktop machine.</p>
<h3 id="c25k-phone-app">C25K phone app</h3>
<p>&ldquo;Try to get more exercise&rdquo; has found its way onto the medical agenda, so I am trying to get more exercise.  My routine over the past couple of years has involved 3 or 4 miles of walking most weekdays, and upwards of 6 or 8 on weekends. That has served me pretty well, but after a few experiments and some measuring, it&rsquo;s pretty clear that 30 minutes of running every other day is helping even more.</p>
<p><a href="http://www.c25k.com">Couch to 5k</a> has been my go-to &ldquo;get back into running&rdquo; program over the years. It&rsquo;s a slow ramp &ndash; slower than I&rsquo;d like some days. When I compare how well I&rsquo;ve kept up a running habit (and kept feeling healthy) ramping myself up vs. sticking to C25K, it&rsquo;s clear I do better letting myself be held back a little.</p>
<p>When I first did C25K I did it using a Timex Ironman and watching the stopwatch. That wasn&rsquo;t great because it kept me from just going to my running place. In early smartphone days I was happy to use an app, but wow was iOS terrible for that kind of thing back then: Music never coming back after a voice prompt, bad UI ideas, etc.</p>
<p>I&rsquo;d always hoped Apple Watch would address it, but for a few years it was even worse, and I went through a series of hacks and workarounds, but was resigned to just keeping my phone on me for runs.</p>
<p>This time around it seems Apple Watch is finally mature enough to support a standalone C25K app in the form of <a href="https://apps.apple.com/us/app/watchto5k-couch-to-5k-watch/id1517914828">WatchTo5K</a>. It&rsquo;s part of a crowded field, and there may be others that work just fine, but WatchTo5K had decent reviews and has gotten me through three weeks so far with no complaints. It just works, it&rsquo;s simple, and it talks to Apple Health so I can correlate runs with a few other biometrics.</p>
<p>The only other wrinkle isn&rsquo;t a big deal: I run in a park across the street from my house, so the watch is constantly picking up then dropping my Wi-Fi network. Even though my running playlist is downloaded to the watch, it causes the music to stutter every time I run back out of range. Putting the watch in airplane mode addresses that.</p>
<p>It&rsquo;s pretty nice to just put on my watch and Beats Fit Pros, start my playlist, start the app, and start running, with nothing else to think about or fiddle with for the next 30 minutes.</p>
<h3 id="custom-hugo-rss">Custom Hugo RSS</h3>
<p>I made a small tweak to my site&rsquo;s RSS feed, adding a shortcode to list the tags for each post and adding it to each entry&rsquo;s description. It&rsquo;s a small adaptation to reflect the ways I use my feed to cross-post to Mastodon and Twitter. Mastodon is especially on my mind, given that tags are what drives discovery. For my daily posts it&rsquo;ll be a little redundant and I guess I could build some logic in to handle that, but not today.</p>
<p>Here&rsquo;s the shortcode (<code>rss_tags.html</code>):</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{{- $tags := .Language.Params.Taxonomies.tag | default &#34;tags&#34; }}
</span></span><span class="line"><span class="cl">{{- range ($.GetTerms $tags) }}
</span></span><span class="line"><span class="cl">  #{{ .LinkTitle }}
</span></span><span class="line"><span class="cl">{- end }}</span></span></code></pre></div>
<p>&hellip; and <a href="https://codingnconcepts.com/hugo/custom-rss-feed-hugo/#customize-rss-feed">here&rsquo;s the tutorial I used</a> to figure out how to customize the feed. It just involved changing the description element:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">&lt;description&gt;{{ .Summary | html }} &lt;br /&gt;
</span></span><span class="line"><span class="cl">  {{ partial &#34;rss_tags.html&#34; . }}
</span></span><span class="line"><span class="cl">&lt;/description&gt;</span></span></code></pre></div>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-03-20</title>
      <link>https://mike.puddingtime.org/posts/2023-03-20-daily-notes-for-2023-03-20/</link>
      <pubDate>Mon, 20 Mar 2023 09:33:02 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-03-20-daily-notes-for-2023-03-20/</guid>
      <description>Doom Emacs, Mackup for config backups, Rocky IV, Jedi: Fallen Order.</description>
      <content:encoded><![CDATA[<p>Well, we got busy and it was hard to keep up daily posts last week. So back at it this week.</p>
<h3 id="doom-emacs">Doom Emacs</h3>
<p>I made it a point to give myself a bunch of fussing around time yesterday, and decided to spend it on installing <a href="https://github.com/doomemacs/doomemacs">Doom Emacs</a>. In its own words:</p>
<blockquote>
<p>Doom is a configuration framework for GNU Emacs tailored for Emacs bankruptcy veterans who want less framework in their frameworks, a modicum of stability (and reproducibility) from their package manager, and the performance of a hand rolled config (or better). It can be a foundation for your own config or a resource for Emacs enthusiasts to learn more about our favorite operating system.</p>
</blockquote>
<p>There&rsquo;s a small omission: It also starts from the assumption you want to use <a href="https://github.com/emacs-evil/evil">Evil mode</a>.</p>
<p>So, the highlights?</p>
<ul>
<li>You get a splash screen with the option to restart your last session, open your org agenda, go to your config files.</li>
<li>You get a modal interface with handy menus you can open up by tapping the space bar.</li>
<li>You get a more terse config up front by uncommenting functionality in an init file and letting Doom handle a lot of presets.</li>
<li>You have to take a few more steps when you make a change because you have to run an external command to compile your config.</li>
<li>You get a little more verbosity in parts of your config because you have to frame any custom changes as post-instantiation variables for a given module.</li>
</ul>
<p>My subjective take thus far:</p>
<ul>
<li>Initially hated it because of course I did: I&rsquo;ve got Stockholm syndrome around my multi-file Emacs config, and Doom even cuts you off from using Emacs&rsquo; native Customize.</li>
<li>Went to bed thinking &ldquo;if this feels god awful tomorrow morning, when it is time to get things done, I am going to get rid of it ASAP.&rdquo;</li>
<li>Woke up feeling curious and a little eager to try it out.</li>
<li>Currently in the painful &ldquo;develop muscle memory&rdquo; phase for some basic operations, still stumbling with modal editing, but not having a pinkie poised over the control key is nice.</li>
<li>I kind of like the whole <code>doom sync</code> workflow when I make a change. A lot of weird Emacs things-that-go-wrong seem to come down to package weirdness and compile errors, and Doom does a lot to clean that stuff up.</li>
<li>A little more empathy for the ortholinear and Planck people when the space-bar is what initiates actions and there&rsquo;s less emphasis on the control key.</li>
<li>I like the preset configs for features I wouldn&rsquo;t have bothered with otherwise. I&rsquo;ve come to appreciate minimaps, and wouldn&rsquo;t have bothered with one if it weren&rsquo;t something I could simply turn on and expect to work without a lot of fiddling.</li>
<li>The theme I settled on (&ldquo;Nord&rdquo;) is coherent and well thought out, and it covers all the UI I&rsquo;ve encountered so far. One challenge with Emacs themes is the challenge with any theme, I guess, which is that you can&rsquo;t always know what&rsquo;s out there with its own notions about a good palette. As a result, you sometimes get disappearing UI elements as the foreground of something coincidentally matches the theme&rsquo;s background, etc.</li>
</ul>
<p>You don&rsquo;t have to do the whole Evil thing, either: It can be toggled off and you still get a lot of Doom affordances, but with more complex keystrokes to invoke them. I&rsquo;m keeping it on because I have time to mess with it, and because my foundational Unix user myth re: my editor religion is a matter of freak happenstance I&rsquo;ve never really reconciled myself to.</p>
<p>No verdict yet, really, besides &ldquo;gonna keep using it because it has some very sane defaults that make Emacs feel more cohesive than my hacked-together &ldquo;<code>init.el</code> of Theseus&rdquo; that started its life on an Amiga 500 in 1996.</p>
<h3 id="mackup">Mackup</h3>
<p><a href="https://github.com/lra/mackup">Mackup</a> is just this backup config thing. On a Mac you install it from Homebrew, run it, and it backs up configs for over 550 applications: Everything from Adium to zsh, with ssh, Emacs, tmux, Sublime, git, rubocop and hundreds more in between.</p>
<p>Basic features:</p>
<ul>
<li>A variety of cloud stores: Dropbox, iCloud, Google Drive, and your own filesystem.</li>
<li>Exclude lists, for the things you don&rsquo;t want backed up/syncing across machines.</li>
<li>An Include list, to narrow what it touches to explicit apps.</li>
<li>Custom files, so you can tell it to, e.g. backup your <code>~/bin</code> or something with an odd location for its config.</li>
</ul>
<p>It has a dry-run switch so you can review what it would do, and a &ldquo;no, this is awful, put it all back&rdquo; argument.</p>
<p>There are some bugs. It did something weird to my iTerm config after I forced it to, reasoning that the only reason I use iTerm is because some YouTuber told me to and so didn&rsquo;t care if I learned a Mackup limitation the hard way. It also believes that the Doom Emacs config is somewhere it is not, so I wrote a custom config for that in two minutes:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[application]
</span></span><span class="line"><span class="cl">name = My Doom Emacs
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[configuration_files]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[xdg_configuration_files]
</span></span><span class="line"><span class="cl">doom</span></span></code></pre></div>
<p>Verdict so far: It&rsquo;s fine and I&rsquo;m going to keep using it. I recently started putting more config stuff in Git and was beginning to think about how to make something similar. Glad I don&rsquo;t have to.</p>
<h3 id="rocky-iv">Rocky IV</h3>
<p>We finished up our run of the OG Rocky movies I was willing to watch with <em>Rocky IV</em> last night. The one with the Russian. Al was in her phone after the first montage/music video (of four? I lost count). I knew it was going to be awful, but I haven&rsquo;t seen it since my dad took me and Cousin Scotty to see it in the theater in 1985 and a mild spirit of completionism had descended on me.</p>
<p>It was sort of interesting to see the music video editing sensibility in the direction. Like, you could spot music video tropes in the angles and cuts. It served to make Drago, the Russian, weirdly sympathetic because some of it is bewildering, or at least seems designed to provoke feelings of bewilderment and maybe a little nausea. I think the tempo of editing is generally faster these days, but perhaps less jumpy and discontiguous.</p>
<p>Anyhow, I found myself wondering when they were going to show Drago being injected with steroids with a brief closeup of a dripping needle, then wondered how, almost 40 years later, I remembered that passing detail, then learned it was because they show the needle four or five times in case you were looking away and didn&rsquo;t get that the Russian was cheating.</p>
<p>Also, wow, this weird conflation of Soviet and Nazi ideologies where the Russians start bragging that Drago is of superior genetic stock.</p>
<p>And the lyrics in one of the music video tracks about how it feels like &ldquo;freedom is on the ropes.&rdquo;</p>
<h3 id="finished-jedi-fallen-order">Finished Jedi: Fallen Order</h3>
<p>I wrapped up <em>Star Wars Jedi: Fallen Order</em> over the weekend.
:
I get the impression it is very much A Kind of Game with a lot of the conventions people not only tolerate but even look forward in that kind of thing.</p>
<p>I found some of it frustrating until I dug into the configuration menu and found I could turn on some accessibility features that made a few recurring tasks (e.g. grabbing while jumping) less fiddly, and that allowed me to spend more time exploring and letting the story unfold than repeatedly falling to my death or tumbling to the bottom of some puzzle.</p>
<p>I learned to live with Jedi Wall Running, but never warmed up to all the moments where you have to slide down a slick mud or ice path and time jumps/grabs/wall-runs/bounces. That all felt less like Jedi Bad-Assery and more like someone decided to reskin a snowboarding game.</p>
<p>I was also a little over all the planet-hopping. You have to revisit things several times. I get that part of the way you make the power fantasy aspects of these games feel more acute is by presenting an impossible obstacle then letting the character skill up and overcome it. But that <em>could</em> take the form of presenting an impossible <em>kind</em> of obstacle and letting the player skill up and overcome one <em>just like it</em> somewhere else?</p>
<p>As a <em>Star Wars</em> property, I really enjoyed it. It&rsquo;s a lightweight story, but the whole time period between the fall of the Republic and SW:ANH has good story-telling potential, and I liked what they did with it in this game.</p>
<p>The upcoming sequel won&rsquo;t be on PS4, so &hellip; so much for all my gloating about being a trailing-edge casual who doesn&rsquo;t need the latest.</p>
<p>Anyhow, I think my next game is going to be <em>Ghost of Tsushima</em>. I went into <em>Fallen Order</em> thinking it&rsquo;d be a good way to get a little more grounded in modern Big Games, and <em>Ghost</em> is what I had in mind specifically.</p>
<p>Okay. We&rsquo;re at time. This was more of a tool for procrastination today than it should have been. I want to put in two hours on some overdue work.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-03-10</title>
      <link>https://mike.puddingtime.org/posts/2023-03-10-daily-notes-for-2023-03-10/</link>
      <pubDate>Fri, 10 Mar 2023 09:22:34 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-03-10-daily-notes-for-2023-03-10/</guid>
      <description>Reading and watching Sharp Objects, Panic&amp;rsquo;s Nova, lens corrections defended, forced institutionalization, NPR.</description>
      <content:encoded><![CDATA[<h3 id="sharp-objects">Sharp Objects</h3>
<p>Al &amp; I finished <em>Sharp Objects</em> (the HBO series) last week. I checked <em>Sharp Objects</em> (the novel) out on my Kobo right after.</p>
<p>The series was respectful of the source material, and it was an effective translation on a few levels: Where the novel requires a certain attentiveness from the reader, the series &ndash; through its use of disjointed flashback &ndash; makes the viewer stretch a little. There were insertions in the series that feel almost scientific in the way they rebalance the narrative. In order to afford the dreamy, disorienting flashbacks, a few characters are pulled into sharper relief and a few situations tip it closer to melodrama than the novel went.</p>
<p>The series pacing was interesting, too: The first three or four episodes take their time building up, and they&rsquo;re a little exhausting. We went on a &ldquo;one ep a night&rdquo; budget for those. In the back half it all tips over and we wanted to go two at a time. It was more challenging than the source material.</p>
<p>I don&rsquo;t always have the patience for this kind of series. Al tends to like them a little more and really enjoys the ur-genre of slow, psychological crime drama that seems to come out of Europe a little more than the U.S. The last time I sat through one of these was <em>Mare of Easttown</em>, and I liked that one a lot, too.</p>
<h3 id="panics-nova">Panic&rsquo;s Nova</h3>
<p>I&rsquo;ve been using Sublime Text a lot lately, but got a case of the fidgets and decided to give <a href="https://nova.app">Panic&rsquo;s Nova</a> another try. I&rsquo;ve had a license for a while, but I bought it during a previous web jag then forgot about it.</p>
<p>Stuff I&rsquo;m enjoying this go-round:</p>
<ul>
<li>&ldquo;Tasks,&rdquo; which work by project similar to Sublime&rsquo;s build systems. I like being able to fire up a Hugo preview server within the app.</li>
<li>Git integration, both as a matter of making it easy to stage, commit, push, and make branches but also with the inline Git blame stuff. Sublime pushes you toward their own Git client. I don&rsquo;t know what there is in the extension ecosystem there.</li>
<li>GUI config, which sounds weird but after a few month&rsquo;s of Sublime&rsquo;s JSON configuration and the friction it adds, it&rsquo;s nice to just open a config panel, see an option, add a value, and go.</li>
<li>Nice little bits of UI flare, like the brace matching beacon.</li>
</ul>
<p>It feels more like Coda or Espresso than it feels like Sublime or TextMate, which is to say leaning heavily toward a certain kind of web developer, but the extensions and build systems feel worth exploring more, and probably make it good for all-rounder types who bounce between a static site, utility scripting, and frameworks like Rails or Sinatra.</p>
<h3 id="software-lens-corrections-defended">Software lens corrections defended</h3>
<p><a href="https://www.dpreview.com/articles/2128193923/a-distortion-of-the-truth-here-s-why-we-re-not-against-software-lens-corrections">DPReview on software lens corrections</a> and how they&rsquo;re okay? It&rsquo;s photography, so of course there&rsquo;s a controversy at all. I do know I was shocked when I trialed DX Photolab and processed a few raw files from my Q2: The digital correction with that lens even gets rid of the Leica-supplied lens hood, so without automatic correction turned on in PhotoLab I thought something had gone horribly wrong. Then I turned it on and the pictures went back to the usual gorgeous Q2 output.</p>
<p>The article makes a compelling case: It helps keep complexity and cost down and it&rsquo;s used in a way that is amenable to mathematical correction. I&rsquo;m grateful for the tiny &ldquo;Fujicrons&rdquo; in my Fujifilm kit, and I suspect they&rsquo;re exactly the kind of lens that is enabled with digital correction.</p>
<h3 id="jacobin-on-involuntary-hospitalization">Jacobin on involuntary hospitalization</h3>
<p>Jacobin is one of the few consistent voices on the ways in which <a href="https://jacobin.com/2023/03/mental-asylums-welfare-state-involuntary-incarceration-hospitalization/">we are failing the poor and mentally ill</a>. If I need someone to bust whatever neoliberal frame I&rsquo;ve succumbed to on issues like public housing, health care, or mental health treatment, Jacobin pretty reliably manages that for me.</p>
<p>Something I appreciate about this piece is the way in which the writer stays clear of a certain rhetorical trope that&rsquo;s become common on the left liberal side of the homelessness/mental health care debate.  They&rsquo;re willing to acknowledge that mental illness and addiction are prominent complicators.</p>
<p>In Portland media, at least, there&rsquo;s an almost ritualistic need to say these things are not &ldquo;primary drivers.&rdquo; I understand why that is, the way I understand why any degraded discourse instills a need to checkmate &ldquo;the other side,&rdquo; but Oregon has some of the worst mental health and addiction care in the nation, and mental illness and addiction are huge complicators in our homelessness crisis. Saying so isn&rsquo;t always some sort of rhetorical feint or victim-blaming.</p>
<p>Anyhow, the article isn&rsquo;t about that.  It is about why this country&rsquo;s mental health care is in such a tragic shambles and why forced institutionalization is not the answer.</p>
<h3 id="npr">NPR</h3>
<p>I have a phone-based smart alarm tied to the Hues in my room. It senses when I am stirring and gently creates a Hue-driven &ldquo;dawn&rdquo; up to 30 minutes before I want to get out of bed. In the winter it is the best.</p>
<p>I also have a clock radio set to play NPR at my hard wakeup time.</p>
<p>This morning I was especially irritated by NPR and found myself wishing for newscasts that used to be more common on AM radio a long time ago.</p>
<p>When I was a kid in Indiana the parents on our block took turn hosting the kids waiting for the school bus during the winter. You&rsquo;d get up in the dark, bundle up, go nextdoor or across the street and stand around in the living room of the hosting family waiting for the bus to honk, or spot its flashing white light reflecting off the walls of the still mostly unlit house.</p>
<p>One of the houses in the bus-waiting coop had a kitchen in the back lit with fluorescent lights, and the mom played AM radio news. I&rsquo;d stand in the living room and smell their breakfast and see her moving around back there, across the living room and through the dining area you get in old houses. You&rsquo;d hear professional radio newscasters reading the headlines in summary, maybe with some recorded audio clips. You&rsquo;d hear financial news in the form of interest rates, and stock market indexes, and the station they listened to also had commodities prices. Then a few top 40 songs from previous decades and a ton of ads from local merchants.</p>
<p>There was something fundamentally square yet wholesome about the whole thing in its wildly variable information density: I started each day the bus-waiting co-op convened at the Weighoff house aware of five or seven top stories, the general state of key Wall Street indexes, and the overnight price of corn. I also became very familiar with a version of &ldquo;Morning Has Broken&rdquo; that either predated Cat Stevens&rsquo; interpretation, or was piped in from an alternate universe where the Lawrence Welk Singers reigned supreme.</p>
<p>It didn&rsquo;t feel like anybody was swinging for a Peabody Award. It was nothing anyone would describe as &ldquo;smart&rdquo; or &ldquo;engaging.&rdquo;</p>
<p>NPR does about five minutes of straight news at the top of every hour, and then it&rsquo;s on to the interviews and features, and there are mornings I find those cloying, grating, or both. I think the answer may be to either drop the clock radio, or pick a music station with top-of-the-hour headlines, or find a straight-news podcast I can autoplay on an alarm.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-03-09</title>
      <link>https://mike.puddingtime.org/posts/2023-03-09-daily-notes-for-2023-03-09/</link>
      <pubDate>Thu, 09 Mar 2023 22:11:33 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-03-09-daily-notes-for-2023-03-09/</guid>
      <description>Interviews &amp;amp; job search stuff, Jedi: Fallen Order and Pokemon Sword, weblog.lol writing about Git.</description>
      <content:encoded><![CDATA[<h3 id="job-stuff">Job stuff</h3>
<p>I got a little jostled out of the routine this week thanks to a couple of interviews (yay!) and the prep that goes along with them, then the inevitable and squirmy paralysis of post-interview &ldquo;well, now what?&rdquo;. I also got some writing energy out of the way with <a href="https://mike.puddingtime.org/posts/2023-03-07-retail-manager--wholesale-manager/">a quick post that riffed off one of the interview topics</a>.</p>
<p>I shared the post on LinkedIn. It&rsquo;s something I need to start doing and have been a little blocked on. It has been a hard platform to figure out, and I figured out some things from how it worked this time that reminded me that I used to write a lot of things for a living and had to figure out ways to get people to be interested in them, then keep them around.</p>
<p>The experience also led me to remember I&rsquo;m trying to accomplish something here besides &ldquo;post things on LinkedIn,&rdquo; so I roughed in a little ad spot at the bottom of posts here that I&rsquo;ll have in better shape for next post.</p>
<p>The interviews themselves were good experiences. When I think of the stuff I ought to be going after I think about three or four ranked categories, and these were first- and second-ranked opportunities. I left them feeling like I gave a good accounting of myself, knew where I felt a little soft, and felt &ldquo;in the pocket&rdquo; enough to watch myself and learn from those soft moments.</p>
<p>The other thing that occurred to me, after having decent experiences, is that I didn&rsquo;t realize how much my last months at Puppet affected me. There&rsquo;s more to write there, and I keep thinking about how that would look, but it&rsquo;s not quite time.</p>
<h3 id="star-wars-jedi-fallen-order-pokemon-sword">Star Wars Jedi: Fallen Order; Pokemon Sword</h3>
<p>The past week or so I&rsquo;ve been very absorbed by <em>Pokemon: Sword</em> and <em>Star Wars Jedi: Fallen Order</em>. The former is just me realizing I&rsquo;m completely illiterate where Pokemon is concerned and wanting something sort of low stakes to play. The latter was just dirt cheap on the PS4 online store and I figured &ldquo;why not?&rdquo; after a decent experience playing through <em>Titanfall 2</em>.</p>
<p>I find Pokemon engaging in a sweet, silly way. It has moments where it crawls and I want some of the interactions it forces on you to end, but it&rsquo;s so lightweight and breezy and simple to grok that it makes a nice thing to sort of zone out to.</p>
<p><em>Fallen Order</em> is the reason Pokemon feels like a little vacation. I am vacationing from <em>Fallen Order</em>, which is sometimes infuriating.</p>
<p>I think it is infuriating but I also suspect it is very much a product of the standard gaming vernacular. I just haven&rsquo;t played many modern console games and never really touched things like <em>Fallen Order</em> when I <em>was</em> playing. I guess I got through a few <em>Tomb Raider</em> installments, which is pretty similar, but that was back in PS2 days.</p>
<p>So, infuriating:</p>
<ul>
<li>You do a lot of running around back and forth between planets, getting stymied on Planet A, going to Planet B and getting a new capability, schlepping back to Planet A to use the capability, then back to Planet B because you found a thing on Planet A that tells you to go there, oh but there&rsquo;s Planet C, etc.</li>
<li>Some of the level design seems sadistic. I don&rsquo;t feel accomplished when I finally get past some &ldquo;jump then grab then swing then jump then run then jump again&rdquo; &hellip; puzzle?</li>
<li>You&rsquo;re constantly reminded you are playing a game. Over-extended and beat up? You can rest to heal and get back healing pod things, but the game resets all the NPCs and monsters (same as it does if you leave a planet and come back). There are a few NPC tableaus meant to tell little stories or set the tone that you can see upwards of six or seven times, playing out the exact same way each time.</li>
</ul>
<p>I stick with it, though, because I like other parts of it. It&rsquo;s nice to look at, it&rsquo;s a Star Wars power fantasy thing and you can do badass Jedi things with a sensible enough backstory to explain how you can both be a badass but not be a completely actualized one just yet.</p>
<p>I guess it frustrates me because if we&rsquo;re to accept that &ldquo;games can be art,&rdquo; the way we assess the artistry of any game surely has to be about that balance between game mechanics and narrative flow: The ability of the game designer to engage your interest in feats of hand-eye coordination while also keeping things moving along. I think <em>Fallen Order</em> misses some here.</p>
<p>But I also accept I just haven&rsquo;t played many games like it and that the things currently annoying me &ndash; fussy mechanics and contrived &ldquo;swing from this, wall-run along that&rdquo; &ndash; are probably just normal to most gamers. I do find myself getting better at appraising puzzles and doing more of the sort of lateral-within-the-limits-of-your-skill-tree thinking I remember doing when I played more games.</p>
<p>I&rsquo;m treating <em>Fallen Order</em> as training for <em>Ghost of Tsushima</em>.</p>
<h3 id="writing-about-git-for-beginners">Writing about Git for beginners</h3>
<p>I also spent some post-interview nervous energy on the Git publishing guide for weblog.lol, which I&rsquo;ve already done a quickstart guide for.</p>
<p>I went into the project thinking I was going to avoid doing much for beginning Git people, but the more I tried to write in things that would be helpful to them, the more I realized it would just be frustrating for new people and distracting for experienced people.</p>
<p>So I redirected and have about 2,000 words on &ldquo;what is Git? Why bother?&rdquo; and getting set up. I chose to leverage GitHub&rsquo;s own documentation for things like setting up an account and getting the GitHub Desktop app set up, and spent my own energy on explaining version control in the simplest terms possible.</p>
<p>The bulk of that work is done &ndash; still need to put in some stuff about making a first change and commit so I can show diffs and commit histories &ndash; and then it&rsquo;ll be into the much more dry &ldquo;here&rsquo;s how to set up the GitHub action and manage your blog with it&rdquo; stuff that Git newcomers and veterans alike will use.</p>
<p>It remains fun. It&rsquo;s challenging to make something like Git useful to someone who&rsquo;s just curious about it. I keep thinking of a sign on Ben&rsquo;s preschool wall:</p>
<p>&ldquo;Too much knowledge swamps the boat of wonder.&rdquo;</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-03-06</title>
      <link>https://mike.puddingtime.org/posts/2023-03-06-daily-notes-for-2023-03-06/</link>
      <pubDate>Mon, 06 Mar 2023 09:31:57 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-03-06-daily-notes-for-2023-03-06/</guid>
      <description>New theme, old posts, new photo management tool.</description>
      <content:encoded><![CDATA[<p><em>Had an interview today, so this is a short one. -mph</em></p>
<h2 id="new-theme">New theme</h2>
<p>I mentioned that I was becoming increasingly uneasy with the slowly mounting pile of add-ons and workarounds I had accreted in the process of shifting <a href="https://mike.puddingtime.org">my main site</a> to Hugo.</p>
<p>Over the weekend I trialed a few theme options and settled on <a href="https://github.com/adityatelange/hugo-PaperMod">PaperMod</a>. I dropped a few &ldquo;features&rdquo; I built on the old theme until I can figure out how to reimplement them. PaperMod is a more complex theme, and I wish its templates were a little more modular, but I&rsquo;m figuring it out and I appreciate how little I have to write for myself in terms of core stuff.</p>
<p>What I have now is mostly out of the box. It&rsquo;s enough to get my existing posts back online and looking okay, with a few personalizing touches, and it&rsquo;s setting me up for &hellip;</p>
<h2 id="managing-old-posts">Managing old posts</h2>
<p>I finally started picking through the exported posts from my old WordPress blog. I fed them all into micro.blog as a test site a while back, then re-exported them as a Hugo archive, so they have Hugo frontmatter and all the image URLs are relative to micro.blog (and hence easy to re-anchor on another Hugo site on another domain).</p>
<p>I&rsquo;ve gone through 2002 and most of 2003 at this point, tagging items I&rsquo;d like to bring forward and looking for patterns. I had a habit of writing a few lines about movies I watched for a few years. They&rsquo;re not much on their own, but in aggregate I wonder what will emerge.</p>
<p>Workflow-wise, I think I just want to work up a script to turn them all into drafts, add a &ldquo;Vintage&rdquo; category, and modify <a href="https://mike.puddingtime.org/posts/2023-02-28-about-old-posts/">my &ldquo;old post&rdquo; automation</a> to include whether a post has been significantly edited. Then I can start working through as I have time, making them live as I clear them.</p>
<h2 id="photos-workbench">Photos Workbench</h2>
<p>A few weeks ago I spent some time shifting around a few apps and ended up realizing that, as fraught an idea as it is, I would most prefer to just use whatever ships with iOS and macOS to do most stuff. How often I believe I can do that and remain happy is another question.</p>
<p>I like to read other peoples&rsquo; struggles with the tools they use. Sometimes because there&rsquo;s interesting insight to glean, and sometimes because reading someone struggling to find the right thing is like watching a product team fail to prioritize its backlog and there&rsquo;s at least a behavioral reminder there.</p>
<p>I also like to read about it when someone <em>stops</em> struggling and decides something is good enough. I don&rsquo;t always agree with the assessment: Everyone&rsquo;s got their own tics. I&rsquo;ve got general things about keyboard orientation, clean import/export, sync, and accommodations for notes. Get into a specialty tool, e.g. a photo editor/organizer or text editor, and the list expands. But sometimes those &ldquo;I just decided to use this particular tool, here&rsquo;s why&rdquo; pieces tip you to functionality you didn&rsquo;t know existed, or that quietly slipped in since the last time you looked.</p>
<p>A few months ago I gave a solid two day effort to living with just Apple&rsquo;s Photo tools on iOS/macOS/iPadOS. I don&rsquo;t have a huge beef with Lightroom, but I do feel like I leave a lot on the table with it. My main uses are:</p>
<ul>
<li>Basic edits (crop, color, light, clarity/midtone contrast, geometry correction for my wider lenses)</li>
<li>Macro edits (my own presets and normalizing presets)</li>
<li>Organization (rating, keywords, other metadata)</li>
<li>Storage</li>
</ul>
<p>I don&rsquo;t make prints, I don&rsquo;t sell, and I don&rsquo;t care to participate in the social aspects they&rsquo;re layering into the newer version of Lightroom.</p>
<p>Apple&rsquo;s Photos stuff, in the meantime, has been progressing.</p>
<ul>
<li>Basic edits? Sure. Even geometry correction works at the &ldquo;manual eyeball it&rdquo; level.</li>
<li>Storage? Sure. I&rsquo;d never trust Apple as my sole storage solution, but it is not hard to layer on third-party backup options and I think you can make a Mac store originals, which makes backups more reliable and all-inclusive.</li>
</ul>
<p>Macro editing &ndash; raw processing, user presets, import presets, etc. aren&rsquo;t there. You can leverage third-party apps with Photos extensions, but on its own Photos hasn&rsquo;t chosen to do much there, and the third-party apps I&rsquo;ve seen are generally closed ecosystems. Further, though the outside apps understand edits made by Photos, Photos does not understand edits made by them. So even though the ability to copy edits and paste them onto other Photos is a welcome recent feature addition in Photos, it only works with Photos edits. Finally, Apple is sometimes slow to support certain raw formats, and a lot of that ecosystem, for better or worse, sticks to building on top of Apple&rsquo;s libraries, so you can wait for many months for some of these apps to process stuff from a newish camera.</p>
<p>Organization? Not quite? You can mark things as a favorite or organize them into albums. You can add titles and captions. There&rsquo;s location data. Rating, however, is missing, as is the ability to anti-favorite something. That makes triage hard without stretching the semantics of the UI.</p>
<p>This is all to go toward saying that this morning I read <a href="https://tidbits.com/2023/02/13/photos-workbench-helps-you-organize-rate-and-compare-photos/">a positive review from TidBITS</a> for <a href="https://www.houdah.com/photosWorkbench/">Photos Workbench</a> by Houdah. I remember them from a long time ago, when I used <a href="https://www.houdah.com/houdahGPS/">HoudahGPS</a> alongside a Garmin eTrex to do geotagging for my photos, so there&rsquo;s a Mac pedigree there. (I&rsquo;m now sitting here thinking about my little Garmin inReach, which is dead simple to operate and doesn&rsquo;t see much use out of hikes in remote places, and how much I don&rsquo;t trust any of the built-in GPS functionality of my cameras and their associated apps. Hm.)</p>
<p>Anyhow, Photos Workbench is meant to address the organizational shortcomings of Apple Photos by providing a UI for keywords, mass retitling, geotagging, ratings, and comparison. At $22 it costs less than three months of my Lightroom plan, so I am pretty sure I am going to demo it for a week, even if all I do is organize my Photos collection, which has been running parallel to Lightroom and has a lot of weird stuff in it, ranging from high-quality exports of photos from Lightroom in order to shuffle them around to other endpoints all the way down to &ldquo;crumpled receipt for my expense report&rdquo; and &ldquo;picture of the floor I was on in the parking garage from 2008.&rdquo;</p>
<p>There are, of course, always tradeoffs. In this case the big one is that it&rsquo;s Mac-bound. No iOS or iPadOS app. Increasingly I won&rsquo;t do Lightroom edits on a mobile platform, but I do like managing initial triage and rating from an iPad.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-03-02</title>
      <link>https://mike.puddingtime.org/posts/2023-03-02-daily-notes-for-2023-03-02/</link>
      <pubDate>Thu, 02 Mar 2023 09:27:24 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-03-02-daily-notes-for-2023-03-02/</guid>
      <description>Tech industry resentment, language wars &amp;amp; PMC piety, how I write these, CSS of Theseus, Playdate cometh-ish, CNET and the PE people.</description>
      <content:encoded><![CDATA[<h2 id="cnet-and-the-pe-people">CNET and the PE people</h2>
<p><a href="https://www.theverge.com/2023/3/2/23622231/cnet-layoffs-ai-articles-seo-red-ventures">Reporting from The Verge on layoffs at CNET</a>:</p>
<blockquote>
<p>&ldquo;Under Red Ventures, former CNET employees say the venerated publication’s focus increasingly became winning Google searches by prioritizing SEO. On these highly trafficked articles, the company crams in lucrative affiliate marketing ads for things like loans or credit cards, cashing in every time a reader signs up.&rdquo;</p>
</blockquote>
<p>I worked for a company similar to this after they acquired the more traditional online news play I started at. They weren&rsquo;t so much a heavily operationalized affiliate marketing company as they were into something euphemistically referred to as &ldquo;performance marketing&rdquo; and more recognizably called &ldquo;lead generation.&rdquo;</p>
<p>Basically, they came in did a good thing (dropped all the display advertising), and then filled the resulting holes in the page with widgets and internal ads for whitepapers, ebooks, and insurance cost estimators. They had a set of verticals including:</p>
<ul>
<li>home construction</li>
<li>home health care</li>
<li>auto insurance</li>
<li>for-profit education</li>
<li>home finance</li>
<li>IT (the vertical I landed in)</li>
</ul>
<p>The basic model was:</p>
<ul>
<li>They buy up actual content plays that had tried to make a go of monetizing regular editorial content, or popular blogs in a given space, that have good SEO and good placement.</li>
<li>You, the consumer, search for &ldquo;enterprise routers&rdquo; or whatever topic</li>
<li>You find a piece of straight editorial content (e.g. a review, an howto article, whatever)</li>
<li>You see an ad for a free ebook about enterprise networking you can download in exchange for your email</li>
<li>The progressive data gathering kicks in: You see an offer to get access to the &ldquo;complete library of ebooks&rdquo; in exchange for information about your company, its size, and your purchasing authority</li>
<li>A Cisco, Juniper, or Ubiquiti orders up a list of verified leads, which is sold to them for some amount of money per lead.</li>
</ul>
<p>These same people <a href="https://www.sfgate.com/education/article/QuinStreet-settles-complaints-it-misled-veterans-3671497.php">lost a massive lawsuit from 16 state attorneys general</a> over their deceptive use of the gibill.com domain, which used little &ldquo;what kind of degree would you like to get with your benefits&rdquo; widgets to steer veterans to <a href="https://www.brookings.edu/blog/how-we-rise/2021/01/12/the-for-profit-college-system-is-broken-and-the-biden-administration-needs-to-fix-it/">for-profit educational outfits</a> and their notoriously bad outcomes.</p>
<p>It wasn&rsquo;t the best 18 months of my career.</p>
<p>Affiliate marketing is a little more direct, but both models are obsessed with SEO for obvious reasons. I did pay a visit to CNET to see if I could spot what the article is talking about and it looked more on the &ldquo;affiliate&rdquo; end than the &ldquo;lead-gen&rdquo; end.</p>
<p>This part from the Verge&rsquo;s coverage elicited a bitter laugh:</p>
<blockquote>
<p>&ldquo;Former staff recounted multiple instances in which CNET employees were pressured to change their coverage of companies that advertised with Red Ventures — a flagrant violation of journalistic ethics that put CNET’s editorial independence at serious risk.&rdquo;</p>
</blockquote>
<p>Yeah, no. Let&rsquo;s rewrite for accuracy:</p>
<blockquote>
<p>&ldquo;Former staff recounted multiple instances in which CNET employees were pressured to change their coverage of companies that advertised with Red Ventures — a flagrant violation of journalistic ethics that <s>put</s> destroyed CNET’s editorial independence <s>at serious risk</s>.&rdquo;</p>
</blockquote>
<h2 id="playdate-cometh-ish">Playdate cometh-ish</h2>
<p>I pre-ordered a <a href="https://play.date">Playdate</a> July of &lsquo;21, putting me early in Group 4. It looks like I <a href="https://lists.play.date/w/eT5LjRL6jVI2BVrlom3qpg/zCICVfx2YsIGsFqqjzVdUw/NsQButOkd892H763U7m76327bDKg">might get it</a> a few months shy of the second anniversary of that order.</p>
<p>It&rsquo;s funny, because over the past few years I&rsquo;ve gone through this evolution:</p>
<ol>
<li>I love video games.</li>
<li>I love the idea of loving video games but I don&rsquo;t seem to play much lately.</li>
<li>I like some video games, but not many and it seems like there are fewer of them all the time.</li>
<li>It&rsquo;s possible I actually don&rsquo;t like video games and won&rsquo;t admit this to myself.</li>
<li>It&rsquo;s not me that changed, it&rsquo;s the games.</li>
<li>No, I just don&rsquo;t like video games.</li>
<li>I miss loving video games, but I still don&rsquo;t like them.</li>
<li>I miss playing video games, but what&rsquo;s the point: Even games on the Switch are overdone.</li>
<li>I would like to try video games again, especially the big, overdone ones.</li>
<li>I like video games quite a bit.</li>
</ol>
<p>I ordered the Playdate as my thoughts darted around between stages 4 and 7, and the lingering thinking around stage &ldquo;7&rdquo; caused me to think a few times over the past two years &ldquo;maybe I should just cancel my order.&rdquo;</p>
<p>But I remember seeing that Group 3 was shipping in the past several months and forgetting what group I was even in and feeling briefly excited, then really let down that I am in Group 4. Where the Playdate is concerned, I am at stage 10, and am very excited that I might have the thing around my birthday.</p>
<p>Oh, looks like they&rsquo;re having <a href="https://www.destructoid.com/playdate-update-stream-airing-march-catalog-games/">some sort of media event next week</a>, too, to announce an online store?</p>
<h2 id="tech-industry-resentment">Tech industry resentment</h2>
<p><a href="https://www.niemanlab.org/2023/03/those-meddling-kids-the-reverse-scooby-doo-theory-of-tech-innovation-comes-with-the-excuses-baked-in/?utm_source=pocket_saves">Nieman again today</a> with a dyspeptic take on tech industry hype and blame-shifting. I have my share of gripes about tech hucksters, and there is nothing more fun than going back to turn-of-the-millennium WIRED to jeer, but the example of &ldquo;push&rdquo; as an over-hyped nothing-burger is weird to me. The ad-driven, surveillance capitalism model WIRED argued was inevitable most definitely did find us. Is &ldquo;the web&rdquo; dead? No, but there&rsquo;s a reason people like JWZ are constantly reminding us that <a href="https://www.jwz.org/blog/2022/11/psa-do-not-use-services-that-hate-the-internet/">apps are not the web</a>.</p>
<p>Generally on board with the idea that the tech people anti-regulation mantra is not great, though. It would have served the thesis better to steer clear of the WIRED-bashing this time, or just stuck to the odiousness of <a href="https://www.metamute.org/editorial/articles/californian-ideology">the Californian Ideology</a> generally.</p>
<h2 id="language-scuffles">Language scuffles</h2>
<p>Two things this week from George Packer and Katha Pollitt:</p>
<ul>
<li><a href="https://www.theatlantic.com/magazine/archive/2023/04/equity-language-guides-sierra-club-banned-words/673085/">&ldquo;The Moral Case Against Euphemism&rdquo;</a></li>
<li><a href="https://www.thenation.com/article/culture/roald-dahl-edited/">&ldquo;Let Kids Read Roald Dahl’s Books the Way He Wrote Them&rdquo;</a></li>
</ul>
<p>Packer&rsquo;s piece is more &hellip; reactionary? &hellip; and sort of late to the &ldquo;grousing about inclusive language&rdquo; party. I read it, but it&rsquo;s an exhausting discussion with examples on the usual spectrum from &ldquo;yes, George, &lsquo;urban&rsquo; is in fact a bad euphemism we&rsquo;d do well to not use the way these guides recommend we not use it&rdquo; to &ldquo;yes, their reasons for not using &lsquo;field work&rsquo; are not great, but &lsquo;practicum&rsquo; has been in common use for a long while.&rdquo;</p>
<p>I guess Packer annoys me: I&rsquo;ve read some version of his essay at least once every five years my entire adult life, and have come to view it the way I came to view the William Proxmire Golden Fleece Award. There is something reductive and showy about the whole exercise. If you&rsquo;re the type of reader to pause for even a second on one of his examples, you realize it&rsquo;s not even a very good exercise in nut-picking.</p>
<h2 id="how-the-sausage-is-made">How the sausage is made</h2>
<iframe src="https://social.lol/@tomk/109952435170112455/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe><script src="https://social.lol/embed.js" async="async"></script>
<p>My first little digest post practice was a way to keep up a blog during the work day: I&rsquo;d just open up a BBEdit file and start dropping stuff in during little breaks. I created a sort of dead man&rsquo;s switch situation, where a cron job would launch an AppleScript that grabbed the file at 17:30 and posted it for me.</p>
<p>I brought the practice with me, only over a week timeline, when I joined the Puppet marketing team. The content was always aimed at &ldquo;practitioners who like Puppet,&rdquo; but I had an informal rule about having only one item that promoted the company&rsquo;s interests: My belief was that marketing teams should give more value &ndash; help, interesting stuff to read &ndash; than they take. The posts did really well: They usually led the week in page views and stickiness, and people clicked through on the promotional stuff.</p>
<p>Most recently I&rsquo;ve brought the format back because I&rsquo;m still trying to suss out how I want blogging to work for me generally.</p>
<p>I&rsquo;ve got this blog, I&rsquo;ve got my omg.lol weekly update blog, and I&rsquo;ve got my micro.blog. I&rsquo;m beginning to chafe with the latter: It has great cross-posting capabilities, but I don&rsquo;t feel like a match for the culture on that service. If I&rsquo;m going to have a hosted provider of some sort, I want them to be more of a common carrier than a boutique. I think micro.blog is great, but:</p>
<ul>
<li>It feels opinionated in a way that doesn&rsquo;t work for me.</li>
<li>It feels like the feature requests I see go by are often filtered through some opinions about What Went Wrong with Social Media that are reactive guesses.</li>
<li>It&rsquo;s a little confusing in a needless way. There&rsquo;s a muddiness in the language in the interface.</li>
</ul>
<p>I guess it just feels suspended between the conflicting imperatives of making a mass tool &ndash; or at least wanting to build a mass tool &ndash; and preferring to remain in a very high-concept place where ideas don&rsquo;t have to cohere into well articulated, concrete outcomes for users. I&rsquo;m sure happy users of the service will disagree.</p>
<p>Anyhow, there is a standing todo on my writing topics list that&rsquo;s &ldquo;figure out your content strategy,&rdquo; which maybe sounds cold-blooded and businessy for a sole proprietor blog, but I am not doing this entirely for the entertainment value. &ldquo;Digest posts&rdquo; are a good way to keep from swamping your feed, post output, and archives, and to prevent burying the stuff you&rsquo;d like people to find without having to carve out a whole special hole to stick business stuff in.</p>
<p>But there&rsquo;s also just a good unto its own in doing the thing. It&rsquo;s daily writing, and it&rsquo;s framed in a way that makes it low stakes. If some of these things were their own entries, I&rsquo;d feel compelled to have a more concrete thesis, more detailed reasoning, citations, etc. That is not, in my experience, a good way to maintain the part of writing that is less about craft and more about motion.</p>
<p>So, the workflow to make these every day is:</p>
<ul>
<li>I spend the first 30 minutes of the day over tea and my RSS reader. I bookmark anything of passing interest if something about it stirs a comment in me.</li>
<li>When I go upstairs to sit down and do day planning, I pop open a terminal and run my <a href="https://paste.lol/mph/hpost.rb">Hugo posting script</a>. I added a switch that puts the right tags and title in place for me, and it opens a Sublime window if I just run <code>hpost --daily</code>.</li>
<li>I drop in any initial headings I&rsquo;ve thought of and put those in the post summary just to remind me.</li>
</ul>
<p>Then it&rsquo;s just a question of pecking at it during the day. I try to do Pomodoros for my important stuff, so I&rsquo;ll type in a few words here and there during the five-minute breaks, or if I&rsquo;m caught up for the day I might give the thing a full Pomodoro of its own. I give myself an hour for lunch, and often spend a chunk of that time filling things in or expanding on stuff.</p>
<p>That&rsquo;s about it. When I&rsquo;m at a point in the day where I can&rsquo;t see putting anything more into it, I ship it. I&rsquo;m working with Hugo and a Git-based publishing pipeline, so if there are multiple WIP commits I squash them and push them up just to make it easier to eyeball non-content changes. I&rsquo;m using <a href="https://mastofeed.org/">Mastofeed</a> to automate the posting process.</p>
<p>I&rsquo;d like more descriptive Masto posts, so I&rsquo;m considering cloning the RSS feed I use to make them: Mastofeed provides template tokens for title and link, so the description/summary goes missing. I might just do it by hand, for that matter.</p>
<h2 id="design-notes">Design notes</h2>
<p>The past few days I&rsquo;ve been making little improvements to the CSS of my theme here. The last time I did much with CSS was over ten years ago, and it was mostly in the context of using Bootstrap for personal projects. Responsive design practices &ndash; and the CSS features that support them &ndash; are new to me as something I&rsquo;d code for myself vs. relying on a framework, but I like being able to do stuff like progressively hide the visual clutter that works fine on a laptop or big tablet but not great on a phone. I started by taking a lot away, and now I&rsquo;m adding it back.</p>
<p>It&rsquo;s beginning to weigh on me a little, though:</p>
<p>I&rsquo;ve written a Hugo shortcode to make tags link to interesting things, and that&rsquo;s portable. I&rsquo;ve done some stuff to drive the front page &ldquo;Picture of the Week&rdquo; feature that is probably generalizable to another theme. I&rsquo;ve done a few other things that are probably better done some other way.</p>
<p>But basically I&rsquo;m layering stuff on top of a theme that was done more as a PoC for how to use <a href="https://simplecss.org">SimpleCSS</a> with Hugo out of the box and that plainly was not meant to carry some kinds of weight. So with all my little amendments and changes, my override directory is running about 25% of the total size of the original theme, for something where I started by thinking &ldquo;I&rsquo;ll just swap in my preferred palette.&rdquo;</p>
<p>That&rsquo;s not necessarily a bad thing in a &ldquo;well, many websites are CSS of Theseus propositions&rdquo; sense, but I know my own limitations. I&rsquo;ve also gotten better with Hugo over the past couple of months and would probably understand what some more complex themes are trying to do, rather than bouncing off of them and going primitivist.</p>
<p>Probably time to make a branch and see how badly stuff blows up when I lay on another theme.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-03-01</title>
      <link>https://mike.puddingtime.org/posts/2023-03-01-daily-notes-for-2023-03-01/</link>
      <pubDate>Wed, 01 Mar 2023 09:25:39 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-03-01-daily-notes-for-2023-03-01/</guid>
      <description>TickTick &amp;amp; Drafts, the tech sin-eater, I casual, new printer day, job hunt news</description>
      <content:encoded><![CDATA[<h2 id="i-casual">I, casual</h2>
<p>When I got my PlayStation 4 a little while back I thought I was buying into the same sort of thing going on with my Nintendo Switch in terms of game selection and cost.</p>
<p>I like the Switch just fine and haven&rsquo;t had a huge issue with the Nintendo online market. It&rsquo;s slow-loading and frustrating to shop through if you don&rsquo;t keep up with it weekly, but it&rsquo;s fine. I don&rsquo;t tend to buy too much stuff when it&rsquo;s new, but I&rsquo;ve bought a few of the big ports over the years, and I do catch the occasional sale. All in all, selection is okay and cost is what I guess I expect for using an online store instead of buying used stuff.</p>
<p>The thing I wasn&rsquo;t expecting with the PS4 was what I guess I should have been expecting for a superseded platform that&rsquo;s mostly still on shelves because of supply chain problems: There&rsquo;s a ton of stuff that&rsquo;s great for a casual like me at prices I find incomprehensibly low. It&rsquo;s stuff I saw ads for a while back and thought &ldquo;looks cool, too bad I hate games now&rdquo; over the years, and it&rsquo;s $4.99 or even free if there&rsquo;s a bunch of DLC they can still sell for more.</p>
<p>As someone who&rsquo;s gamed on:</p>
<ul>
<li>VIC 20</li>
<li>Atari 2600</li>
<li>Nintendo NES</li>
<li>Atari 5200</li>
<li>Commodore 64</li>
<li>Amiga 500</li>
<li>PC (8088,386,early Pentiums)</li>
<li>Sega Genesis</li>
<li>Gameboy, Lynx, whatever Sega&rsquo;s handheld thing was in the early &rsquo;90s</li>
<li>PS 1, 2, 3</li>
<li>Nintendo DS, 3DS, Switch</li>
</ul>
<p>&hellip; the value I&rsquo;m getting as a casual gamer is just beyond anything I&rsquo;ve ever seen. I haven&rsquo;t felt this way since I went to a flea market where some guy was selling grocery bags with a Sega Genesis and a few fist-fulls of cartridges for $20. I&rsquo;ve got more games than I know what to do with sitting on this thing, with a PSPlus subscription that delivers even more.</p>
<p>I know there&rsquo;s better, cooler, and prettier out there, and I have briefly experienced the tug of seeing a new release and not seeing my system listed, but not enough to get me to care. This thing is pretty fun for a 10-year-old product. It makes me curious about the economics of the whole market. I assume at some point someone at PlayStation Central will decide they&rsquo;ve indulged people like me long enough and their digital marketplace will fold up and herd us all along, but for now I kinda feel like I&rsquo;m getting away with something.</p>
<h2 id="ticktick-progress">TickTick Progress</h2>
<p>Today I found <a href="https://actions.getdrafts.com/a/1Mg">a Draft action for getting stuff into TickTick</a>. Not much more to say about TickTick generally. I&rsquo;ve been fine-tuning the focus stuff and adjusting the reminders and find it very usable. Being able to fire-and-forget a Draft into my inbox is useful and makes me more likely to keep using it.</p>
<h2 id="airconnect">AirConnect</h2>
<p>We went Sonos a while back, but just before AirPlay2 support came along, so there are a few devices in the house that require the Sonos app. The last of them &ndash; a pair of Sonos 1&rsquo;s, are sitting in my office so Al and Ben don&rsquo;t have to deal with them because the Sonos app is infuriating.</p>
<p>This morning I gave myself a 30-minute pomodoro to go find something to help me with this problem and ended up with <a href="https://github.com/philippe44/AirConnect">AirConnect</a>, which just sits on your network and advertises Sonos speakers (and Chromecast devices) as AirPlay devices.</p>
<p>I went in a little warily when the first post I found was some guy talking about running it in Docker, but a quick DuckDuckGo search netted me the <a href="https://github.com/eizedev/AirConnect-Synology">AirConnect-Synology</a> project, which just makes packages for Synology.</p>
<p>Configuration was amazingly simple: I uploaded the package, ticked a few boxes, accepted a few defaults, and it was working.</p>
<p>I&rsquo;m glad it&rsquo;s just for these two speakers in a room nobody else uses. I don&rsquo;t trust anything until it has been &ldquo;just working&rdquo; long enough for me to forget it exists, and I hate forgetting about tech things that affect Al &amp; Ben.</p>
<p>People like to jokingly refer to themselves as their family&rsquo;s IT department. I prefer to think of myself as our family&rsquo;s tech sin-eater.</p>
<h2 id="new-printer-day">New printer day</h2>
<p>My little Brother laser printer, which worked pretty well through grade, middle, and high school for Ben, has always made me tense up when it wakes up. The UPS on the same circuit senses the sag of a laser printer heating the drum on startup and makes ominous clicks and increments the fault counter and sometimes the lights flicker. I did enough reading to know laser printers do this to everybody.</p>
<p>With our recent electrical problems, something had to give: There&rsquo;s a little too much load on the &ldquo;office and entertainment&rdquo; wing of the residence. My new MOCA stuff gives me some options for moving bits around the house, but the two power-hungriest rooms are on the same small circuit (inexplicably also including the range hood downstairs) and there&rsquo;s not a lot that can go anywhere else. It&rsquo;d make the most sense to move the laser printer, but it&rsquo;s a pre-AirPrint model, so it&rsquo;d be a pain without the NAS going along with it (which has served it up as an AirPrint endpoint when it&rsquo;s connected via USB.)</p>
<p>So I replaced it with a Brother inkjet all-in-one everybody says is fine. For some reason, everyone&rsquo;s top pick being consistently rated 4/5 stars is comforting to me. Like, lots of people think it&rsquo;s fine and a few other people are disappointed by some pedestrian hangup or another.</p>
<p>It came today and I admired a few things about setting it up:</p>
<ul>
<li>The display walks you through onboarding - installing the cartridges and paper, getting it networked, etc.</li>
<li>It does a quick calibration test where it prints a page then scans the page to check nozzle alignment.</li>
<li>It&rsquo;s the first scanner I&rsquo;ve personally owned that works natively with Apple&rsquo;s Preview to do over-the-network scanning.</li>
<li>AirPrint just works with no need to get the NAS involved or any other hacks.</li>
</ul>
<p>And unlike Epsons and Canons I&rsquo;ve owned, reviews suggest it&rsquo;s better about sitting and not ruining its own ink cartridges if you&rsquo;re not constantly using it.</p>
<p>The fax part is useless. I guess I&rsquo;m a little surprised there&rsquo;s not some sort of e-fax thing built in, but whatevs.</p>
<h2 id="job-progress">Job progress</h2>
<p>I went from radio silence for the past five or six weeks to two interviews next week. The hang time on one of them after applying was close to 30 days. Thinking back, I don&rsquo;t think <em>I</em> ever ran a search that slow, but it&rsquo;s happening a lot from what I hear.</p>
<p>I&rsquo;m also glad I built the job tracking setup I did: I knew going in that long gaps in contact, slow responses, etc. would all be part of the process, and that it&rsquo;d be good for my morale if I could quantify what I was seeing. So when I heard back today and thought &ldquo;that was fooorrrrreeeever ago&rdquo; then looked up the card, I could see that I opened the card on the 1st of last month and submitted an application the next day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-02-28</title>
      <link>https://mike.puddingtime.org/posts/2023-02-28-daily-notes-for-2023-02-28/</link>
      <pubDate>Tue, 28 Feb 2023 21:23:55 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-02-28-daily-notes-for-2023-02-28/</guid>
      <description>Declining games journalism, inclusive Git docs, Sublime as your git editor, electricity, TickTick progress.</description>
      <content:encoded><![CDATA[<h2 id="-electrified-again">⚡️ Electrified again</h2>
<p>The whole electrical situation was resolved today, finally. We had to replace a breaker that had failed outright and wasn&rsquo;t tripping when overloaded. We had a good electrician who was happy to talk me through what he was seeing and doing.</p>
<p>Now that it&rsquo;s over I&rsquo;m going to go through and figure out the draw of all the stuff on the circuit where we were having the problems. There is a lot of gear in a concentrated area of the house. Enough that when I fired up the laser printer to print a tax return today the UPS (which it isn&rsquo;t even plugged into) registered an &ldquo;event&rdquo; and showed a sag, and kept doing it until I finally turned the printer off instead of waiting for it to go idle.</p>
<h2 id="-declining-games-journalism">📰 Declining games journalism</h2>
<p>I was a believer in &ldquo;New Games Journalism&rdquo; even if I am not going to link to its seminal piece of writing, and I&rsquo;ve enjoyed it. Games as a topic of personal interest are low enough stakes that I don&rsquo;t mind if video game reviews and some reporting are inflected with fannish preoccupations and a lack of distance from the subject. But reading about someone&rsquo;s subjective experience of a game is different from reading about, say, abusive labor practices in a big business. Nieman has <a href="https://www.niemanlab.org/2023/02/is-there-a-future-for-video-games-journalism/">a piece about the contraction of video game journalism</a> that&rsquo;s familiar to me as a former enthusiast press editor.</p>
<p>The short version is that investors understand video games are a big deal, and also that there&rsquo;s a lot you can get away with in terms of coverage before you stop making whatever money you&rsquo;re content to squeeze out of your properties.</p>
<p>I did a few years in an enthusiast web vertical 20 years ago, and the dynamics sound familiar: Pioneers build an audience, media plays sense an opportunity, the pioneers sell, the media plays start squeezing.</p>
<p>And there&rsquo;s also the nature of content production in the attention economy:</p>
<blockquote>
<p>&ldquo;&hellip; games journalists are at one unique disadvantage compared to the rest of the cultural dialogue, because an expansive alternative media ecosystem exists on YouTube and Twitch where hugely influential content creators, like Felix &lsquo;PewDiePie&rsquo; Kjellberg and Mark &lsquo;Markiplier&rsquo; Fischbach, provide their own commentary about the games industry in direct competition with reporters. No, PewDiePie isn’t launching the investigations you might find at a more formal media enterprise, but he does possess millions of subscribers who rely on him to illuminate and extrapolate upon the daily slate of headlines in the hobby. For some young gamers, a confederation of their favorite talking heads — all operating their own bespoke social brands — achieves the same purpose as the IGN homepage. <strong>It makes you wonder if the sudden spike of unemployed games journalists might be felt more acutely by the public if there weren’t a bedrock of YouTubers sharing the same foundational bandwidth.</strong> [emph. mine] After all, a YouTube channel is never at the mercy of mercurial ownership.&rdquo;</p>
</blockquote>
<p>I mean, yes. That&rsquo;s another thing that&rsquo;s familiar to me: When I did reader roundtables and research interviews, the two most common refrains from our IT practitioner audience were:</p>
<ul>
<li>&ldquo;Just be more like Stack Overflow &hellip; I want answers, not some guy who once worked at DEC&rsquo;s opinion.&rdquo;</li>
<li>&ldquo;Get more tech bloggers who actually do this stuff. Sorry and no offense, but I don&rsquo;t care if there are a few misspellings if their configuration examples are right.&rdquo;</li>
</ul>
<p>I took the feedback and spent more time recruiting practitioners who wanted a little spending money vs. professional writers. One of my best writers worked on the UNIX team at a local university and had a thing for German SUVs: The stuff he turned in for me made his lease payments, and he could write it in his sleep. He&rsquo;s how <a href="https://www.enterprisenetworkingplanet.com/management/servers-dance-on-a-string-with-puppet/">I learned about Puppet five years before I worked there</a>.</p>
<p>But the stuff they were doing wasn&rsquo;t &ldquo;networking journalism,&rdquo; and there was a reason we leaned heavily on repurposed general business reporting across our network: The stuff that really engaged people was hands-on, howto content. A general reporting piece would fall out of the top 10 on a site within a week. Analysis I did showed that stuff usually did well to break even before its shelf-life expired. 2,000-word tutorials on Samba, however, continued to earn every month five years after they&rsquo;d first been published.</p>
<p>Being Nieman, this piece wants to point to interesting stories in the game industry around things like labor relations, and it&rsquo;s less enthusiastic about sites that help you get past the third boss in a recent game. Is that &ldquo;game journalism,&rdquo; or is it business reporting? Are you reporting about the game industry, the tech industry, or business? Questions I was dealing with years ago in Linux/open source media. And we split the difference: Most of our more newsy Linux coverage ended up on the generic server site, most of our Linux tutorials stayed on the Linux sites. That was the way readers wanted it, as near as I can tell. The people on my enthusiast sites were bored by the news stories and lit up over reviews and tutorials.</p>
<h2 id="-inclusive-git-workflow-docs">✏️ Inclusive git workflow docs</h2>
<p>I got underway in earnest on a guide to the weblog.lol Git publishing workflow today. It is going to be a little different from <a href="https://weblog.lol/quickstart-1-intro">the quick start guide I published a few weeks ago</a>.</p>
<p>My first instinct is just, &ldquo;Git isn&rsquo;t for everybody, and for some it is alarming.&rdquo; I once had a tech writer on my team who genuflected before he pushed a new release&rsquo;s docs to production, and he&rsquo;d been using Git on the daily for years. So I thought &ldquo;just start from they know it and use it.&rdquo;</p>
<p>On the other hand, I have a strong sense, just watching people in the omg.lol community chat back and forth, that we&rsquo;re having a bit of a <em>moment</em> right now: People are interested in stuff around web publishing and tech generally that they may have sat out with the advent of social networking. There&rsquo;s not a lack of interest in learning some of the more complex parts of it, and there&rsquo;s definitely ability. Adam&rsquo;s created a service that is really compelling to people who want to play with things they haven&rsquo;t before.</p>
<p>So I&rsquo;m going to try to thread the needle and put some docs off to the side of the main flow that  link out to the pieces you need to get Git onto your system, set up your GitHub account, etc. We&rsquo;ll see how it goes. The workflow itself is simple and could be documented in a page of ordered lists. I&rsquo;d like to go a little further and help people learn a new thing.</p>
<p>Speaking of git:</p>
<h2 id="-using-sublime-text-as-your-git-editor">💡 Using Sublime Text as your git editor</h2>
<p>Helpful gist with the command line switches you need:</p>
<p><a href="https://gist.github.com/geekmanager/9939cf67598efd409bc7">https://gist.github.com/geekmanager/9939cf67598efd409bc7</a></p>
<h2 id="-ticktick-progress">✅ TickTick progress</h2>
<p>Several days in, TickTick is working for me.</p>
<p>Usually I prefer &ldquo;Lego&rdquo; apps: When I see hard-coded ideas I shy away. I guess it just makes more sense to me to have relatively value neutral tools, which is part of why I never took a shine to earlier iterations of OmniFocus, which was just all in on being the canonical GTD-in-an-app. It got more loose over time, but I still found it clicky and a little too opinionated. I liked Things because it felt more flexible.</p>
<p>TickTick has a few opinions and builds some very specific functionality in &ndash; its Pomodoro timers and habit tracking &ndash; but it feels like &ldquo;just enough, not too much&rdquo; and it&rsquo;s all optional if all you want is &ldquo;make a list&rdquo; or &ldquo;make lists.&rdquo;</p>
<p>I&rsquo;m not immune to the charms of a habit tracker, either. I&rsquo;ve used them in the past, but they&rsquo;re usually standalone things that don&rsquo;t integrate well with the other todo stuff I&rsquo;ve got, so they become weird little silos instead of part of The List for the Day.</p>
<p>This morning I opened Obsidian and looked at the daily page format I&rsquo;d set up to do basic habit stuff, then looked at TickTick, and there was no question in my mind that TickTick worked better for me.</p>
<p>I&rsquo;m still using Obsidian for my job tracking stuff. I really love making a card for a prospect, having some metadata to keep track of when I opened the card, applied for a role, talked to a recruiter, etc., and then being able to add interview notes and other data.</p>
<p>re: the TickTick habit tracker, you can also set each habit up so that you can leave a little review each time you complete it (or turn the review part off for any of the habits you&rsquo;ve got). I leave it on for some (reading time, social maintenance, job stuff) and off for others (doing the dishes and other &ldquo;who cares how you felt about it or how you did it&rdquo; tasks.)</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily notes for 2023-02-27</title>
      <link>https://mike.puddingtime.org/posts/2023-02-27-daily-notes-for-2023-02-27/</link>
      <pubDate>Mon, 27 Feb 2023 10:52:37 -0800</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-02-27-daily-notes-for-2023-02-27/</guid>
      <description>TickTick and productivity, the hilarity of Doom, an electrical failure, Tailscale, design fiddling</description>
      <content:encoded><![CDATA[<p><em>I used to do a daily page for my old dotunplanned blog, where I&rsquo;d dump things in as I thought about them and publish at the end of the day. Today&rsquo;s attempt to revive the custom is longer than usual because I ended up with a ton of time on my hands waiting for the electrician with all the infra shut down. We&rsquo;ll see how it goes.</em></p>
<h2 id="i-gamer">I, gamer</h2>
<p>The fun part of the PS4 has just been catching up on whatever has been going on in console gaming over the past while. I remember being a very avid gamer once upon a time &ndash; during the PS1 and PS2 era &ndash; then I was just really into the Nintendo DS, and then I didn&rsquo;t play much anymore. My 3DS never saw a lot of use, and I don&rsquo;t get much time in on the Switch. It has always felt like games on the Switch are too big to just pick up and put down between meetings, but too small to really invest discretionary time in.</p>
<p>So I got a PlayStationPlus membership and I&rsquo;ve been taking advantage of how cheap everything I&rsquo;m curious about is.</p>
<p>I <a href="https://mph.weblog.lol/2023/02/omg-its-a-weekly-update-2023-02-17">took a detour into the Doom remake</a>, and I am not sure if it&rsquo;s okay to say so, but I find it hilarious.</p>
<p>I remember Doom from when it was the slightly grittier evolution of Wolfenstein 3D, and it always to me to be solid execution with an excellent vibe. The remastered version I downloaded to my PlayStation is also pretty well executed, and the vibe benefits from the graphical advancements.</p>
<p>The first time I killed a demon by running up to it, tearing its arm off and beating it until it spilled ammo and health like an infernal piñata made me howl.</p>
<p>The whole thing is sort of hilarious that way. You end up in hell fighting demons to a grinding, thrashing soundtrack, there are demonic runes everywhere, bodies, flames, blood all over the place. It&rsquo;s just hilarious.</p>
<div style="position: relative; width: 100%; padding-bottom: 56.25%;">
<iframe
style="position:absolute; width:100%; height:100%;"
src="https://getyarn.io/yarn-clip/ee8eff9b-869e-462f-a4c0-1ec7b6565562/embed?autoplay=false&responsive=true"
frameborder="0"
></iframe>
</div>
<h2 id="i-handyman">I, handyman</h2>
<p>I just fixed our garage door sensor for the third time in fourteen years. I predicted it would go differently this time the last time I fixed it, because the recurring problem is a pair of wires leading to the sensor that periodically get snagged by &hellip; something  &mdash; a yard tool, a piece of bicycle, a carelessly plopped laundry basket &mdash; and one of them breaks.</p>
<p>Whoever built the house and installed the garage door provided as much wire as was needed to connect the sensor, then covered the wiring in dryall. If there is any spare wiring available up there in the wall somewhere, it is smashed in place behind the drywall and I&rsquo;ve tugged at it as hard as I dare lest I break off the remaining bits coming out of the wall.</p>
<p>So I&rsquo;ve known for five years now that there was no more wire coming out of the wall &hellip; that the next break would be the one where I&rsquo;d have to splice more wire in, because there wasn&rsquo;t enough left to cover the space from the wall to the sensor and still get it wrapped around the post.</p>
<p>Anyhow, this time Gorilla Tape is involved in making it all sit there more snugly and less likely to be snagged and I can close the garage door without standing there holding the button. That has created a surprising amount of friction where taking my bike anywhere is concerned.</p>
<p>I had the time to do this today because the half of the house that hosts all our networking infrastructure and my office sits shrouded in darkness. The breaker for that circuit failed last week as the winter storm was happening. It didn&rsquo;t fail in the &ldquo;it just blew, you can reset it&rdquo; kind of way, but in the &ldquo;fails and doesn&rsquo;t even seem to have blown and you can&rsquo;t even trip the test switch&rdquo; kind of way.</p>
<p>I felt it coming &ndash; the UPS for all the infrastructure was making the click it makes when the supply is getting frisky, but never tripped over into &ldquo;I&rsquo;m running on battery power now.&rdquo; When everything did finally go dark I went down to the garage, couldn&rsquo;t seen a tripped breaker, flipped the two candidates (both are labeled the same thing and I&rsquo;ve never taken the time to label them &ldquo;front&rdquo; and &ldquo;back&rdquo;) and went back upstairs to &hellip; nothing.</p>
<p>Then eight hours later it all lit up again. Then failed again.</p>
<p>Same symptoms: Not tripped, can&rsquo;t test.</p>
<p>I called the home warranty company and they promised a 24 hour window for a contractor, but by then Portland was covered in ice. They finally texted this morning, asked for availability, and are on their way.</p>
<p>For now the router, Wi-Fi, and switch are running off of a long extension cord running out of my office, down the hall and into an outlet on the not-blown upstairs circuit.</p>
<p>The last time we had an electrical problem like this was maybe 10 years ago during a pair of 100-degree-plus days. A light fixture that was a little heavy pulled itself free of a softened nylon anchor and the clash of wires tripped the arc breaker (on the same circuit that&rsquo;s bothering me now). That was when we learned that whoever wired the house had run the range hood in the kitchen downstairs into the same circuit as the two bedrooms and bathroom on the other, upstairs end of the house.</p>
<p>&ldquo;Some Russian, probably,&rdquo; opined the contractor who came to have a look.</p>
<p>I destroyed an <a href="https://en.wikipedia.org/wiki/AirPort_Extreme">Airport Extreme</a> that week by bringing it down from my office and putting it the only place it could rest near the only open outlet, in a window.</p>
<p>I say &ldquo;destroyed,&rdquo; but what really happened was that the Ethernet port stopped working.</p>
<p>The &ldquo;Progress!&rdquo; note in all this is that during the period where all the networking and Wi-Fi was down, we just flipped to the 5G hotspots our phones provide and carried on with our business. It doesn&rsquo;t outperform <a href="/posts/2023-02-21-the-miracle-of-moca/">the new MOCA/EdgeRouter/CenturyLink</a> setup, but it is faster than our Xfinity/Eero-as-wireless-only-mesh setup was.</p>
<p>Last time, I would imagine all we had was 3G, and there was no &ldquo;all you can eat.&rdquo; I remember because we burned through our cap, decided to go to the mall for the air conditioning, and my attempt to transfer some spending money to Ben using the mobile bank page took five minutes because AT&amp;T dealt with data hogs by dropping them to EDGE speeds until the month was over.</p>
<h2 id="ticktick">TickTick</h2>
<p>I&rsquo;m giving TickTick a try this week. Stuff I like about it:</p>
<ul>
<li>The interface looks as simple or busy as I want it to be. Something I appreciate about Things 3 is its ability to fall back to &ldquo;just a nice todo list app&rdquo; during those times when I don&rsquo;t feel like messing with it.</li>
<li>It has a habit tracker that integrates with the rest of the app. If you set up a habit and it&rsquo;s due, it turns up in the &ldquo;Today&rdquo; list, or you can interact with it in its own &ldquo;habits&rdquo; area.</li>
<li>It has a built-in Pomodoro timer. That method works pretty well for me (using it now!) and it&rsquo;s more than a superficial integration: You can specify what on your list is getting the time.</li>
</ul>
<p>Stuff I&rsquo;d rather it not:</p>
<p>Everything is framed as &ldquo;how productive&rdquo; you are. I&rsquo;m just tired of that language.</p>
<p>I am tired of that language because after a couple of years of watching people burn out and then thrash around trying to figure out what was &ldquo;wrong&rdquo; with them, I came to the conclusion that as much as the gentrification of mental illness annoys the living hell out of me, it doesn&rsquo;t <em>outrage</em> me the way the modern workplace turns workers on themselves (and deepens that gentrification feedback loop, because the only help you&rsquo;re going to get as you thrash around, worrying that you&rsquo;re falling behind your peers in the company&rsquo;s &ldquo;performance culture,&rdquo; is a non-ironic invitation to take your woes to the EAP).</p>
<p>And, more importantly, not every single thing you want to do has to be &ldquo;productive.&rdquo;  It is not, for instance, a matter of &ldquo;productivity&rdquo; to remind myself that I want to read a chapter of a book every day, or learn how to make my own mayonnaise, or take a picture every day.</p>
<p>Anyhow, it&rsquo;s pretty easily ignored if you stay away from the reporting, which I intend to. I just want something more ergonomically sound than Apple&rsquo;s Reminders, and the purpose-built habit and pomodoro stuff rolls a number of things into one context.</p>
<h2 id="tailscale">Tailscale</h2>
<p>I spent a while not bothering to play with tech stuff, so when I heard about <a href="https://tailscale.com">Tailscale</a> I never did anything with it. Once I <a href="/posts/2023-02-21-the-miracle-of-moca/">got my new network stuff going</a> I decided to start doing more with my Synology NAS just because it&rsquo;d be easier to network and secure with a decent router in place.</p>
<p>Poking around the VPN packages available for it I saw the Tailscale app and thought &ldquo;oh, that.&rdquo;  In just a few minutes I had all my stuff added to it and talking to each other, and a whole set of problems I was willing to create for myself went away.</p>
<p>I haven&rsquo;t done any testing with it out in the world yet, but internally it integrates fine with my internal DNS. It&rsquo;s so smooth.</p>
<h2 id="design-fiddling">Design fiddling</h2>
<p>I spent a little time fiddling with site design today, too, just to make the front page a little more lively. I took a swing at some responsive design, as well. It&rsquo;s crude, but the front page is way more &ldquo;just the essentials&rdquo; on a phone, were someone to wander out to it.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
