<?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/mac/</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>Mon, 18 Dec 2023 07:22:26 -0800</lastBuildDate>
    <atom:link href="https://mike.puddingtime.org/tags/mac/index.xml" rel="self" type="application/rss+xml" />
    <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-05-08</title>
      <link>https://mike.puddingtime.org/posts/2023-05-08-daily-notes/</link>
      <pubDate>Mon, 08 May 2023 00:00:00 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-05-08-daily-notes/</guid>
      <description>More on org-reveal - general goodness, custom CSS. Zoom and Mac display mirroring, scrum and kanban.</description>
      <content:encoded><![CDATA[<h2 id="more-on-org-reveal-custom-css">more on org-reveal, custom CSS</h2>
<p>I spent a chunk of the weekend working on a presentation using org-mode and org-reveal.
I kept getting reminded of why org-mode is so powerful, both as a paradigm and as an ecosystem.</p>
<p>The presentation itself just went faster freed of having to either operate inside presentation software, or working with an eye to moving things into presentation software. You&rsquo;re just outlining, which is efficient and fast with org-mode.</p>
<p>As you work in the early &ldquo;get it all out of your head&rdquo; stages, you can take advantage of org as a todo-inflected outliner, adding literal TODOs and tags to headings to remind you to follow up or help you find common themes/areas. It&rsquo;s simple to reorder headings, subheadings, and lists. You can make a kitchen sink area and mark it <code>:noexport:</code> and quickly refile dead-ends or reminders with no place to go into it. As you move into refining, those reordering and moving/refiling features make short work of small changes/adjustments. Unlike presentation software, you don&rsquo;t get caught up in positioning/layout hell.</p>
<p>That&rsquo;s not to say that there are no positioning concerns, and the way you address them is something a lot of people aren&rsquo;t going to tolerate, but works fine for me: If you want, e.g. columns &ndash; maybe two or three equally sized ones &ndash; you have to do it in CSS.</p>
<p>That raises a few usability questions: How much CSS, and how do you wedge it into the org format?</p>
<p>&ldquo;How much&rdquo; isn&rsquo;t much, at least if you know you have full control of the display environment for your presentation. I got away with a few lines:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-css" data-lang="css"><span class="line"><span class="cl"><span class="p">.</span><span class="nc">reveal</span> <span class="p">.</span><span class="nc">leftcol</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">   <span class="k">float</span><span class="p">:</span> <span class="kc">left</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">   <span class="k">width</span><span class="p">:</span> <span class="mi">48</span><span class="kt">%</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></span><span class="line"><span class="cl"><span class="p">.</span><span class="nc">reveal</span> <span class="p">.</span><span class="nc">rightcol</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">   <span class="k">float</span><span class="p">:</span> <span class="kc">right</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">   <span class="k">width</span><span class="p">:</span> <span class="mi">48</span><span class="kt">%</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">   <span class="p">}</span></span></span></code></pre></div>
<p>How to wedge it in isn&rsquo;t hard, either, at least with org-reveal:</p>
<p>You just put it in your org directory somewhere and pull it in at the top of the presentation file:</p>
<p><code>#+REVEAL_EXTRA_CSS: css/my-reveal.css</code></p>
<p>If you get tired of repeating yourself across multiple presentations, just customize it with <code>org-re-reveal-extra-css</code>.</p>
<p>There were a few things about the <code>revealjs</code> theme I am using that didn&rsquo;t quite work for me, and it was easy to use my <code>extra-css</code> file to override them after a quick session with the Web inspector.</p>
<p>The markup inside a doc is pretty simple, too:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-org" data-lang="org"><span class="line"><span class="cl"><span class="gh">*</span><span class="gs"> Slide Title</span>
</span></span><span class="line"><span class="cl"><span class="c">#+BEGIN_leftcol</span>
</span></span><span class="line"><span class="cl">*Left Heading*
</span></span><span class="line"><span class="cl">  - foo
</span></span><span class="line"><span class="cl">  - bar
</span></span><span class="line"><span class="cl">  - baz
</span></span><span class="line"><span class="cl"><span class="c">#+END_leftcol</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c">#+BEGIN_rightcol</span>
</span></span><span class="line"><span class="cl">*Right Heading*
</span></span><span class="line"><span class="cl">  - foo
</span></span><span class="line"><span class="cl">  - bar
</span></span><span class="line"><span class="cl">  - baz
</span></span><span class="line"><span class="cl"><span class="c">#+END_rightcol</span></span></span></code></pre></div>
<p>The <code>BEGIN_</code> keyword just ouputs a div with the <code>rightcol</code> or <code>leftcol</code> class.</p>
<p>So, do I <em>like</em> doing this?</p>
<p>I mean, not in an absolute sense. The presentation I&rsquo;m working on right now is supposed to represent a work plan I hope I get a chance to actually start implementing. In my ideal world, I&rsquo;d have a way to hide the positioning/styling markup in a drawer so that it was there and out of the way, allowing the presentation to be a living document that flipped back and forth between a roadmap work document and a presentation.</p>
<p>If I wanted to make that sort of document &ldquo;code switching&rdquo; a priority, I&rsquo;d get rid of the positional stuff, and I&rsquo;d be in a pretty good place to pull it off. Good enough for my style of presenting.</p>
<p>And even if I&rsquo;d rather not have the wasted motion, it is not a bad amount of wasted motion. The separation of concerns between content and presentation is still balanced in a direction I like, and it&rsquo;s not a lot of work to take a practical working doc and turn it into a useful presentation. It reminds me a lot of early, pre-WYSIWYG word processors, like PaperClip III, and typesetting systems that needed &ldquo;dot commands&rdquo; to send formatting information to a spooled laser printer.</p>
<p>Here&rsquo;s a <a href="https://oer.gitlab.io/emacs-reveal-howto/howto.html">pretty good presentation on the stuff you can do with org-reveal</a> (as bundled into emacs-reveal). It&rsquo;s where I got the CSS stuff from after a little excavation.</p>
<h2 id="zoom-and-mac-display-mirroring">Zoom and Mac display mirroring</h2>
<p>Getting ready for that presentation, I wanted to do something really simple:</p>
<ul>
<li>Open my presentation in Safari.</li>
<li>Open RevealJS&rsquo;s presenter window (current slide, next slide, timer, speaker notes)</li>
<li>Put the presentation in fullscreen</li>
<li>Share the fullscreened presentation</li>
<li>Run the presentation from the presenter window</li>
</ul>
<p>Which &hellip; no. Not happening.</p>
<p>I could do everything but last part, because when I&rsquo;d move from the fullscreened Safari window to the presenter window, the thing shared on Zoom became Safari&rsquo;s placeholder &ldquo;ESC to exit fullscreen mode&rdquo; tab, and it paused sharing anyhow.</p>
<p>I fiddled around for a while, gave up, and decided maybe the best option was a Firefox plugin that makes a window look mostly fullscreen while not being actually fullscreen. I knew I&rsquo;d wake up this morning hating it, but also knew I had something I could live with, and that would allow me to turn back to polishing the actual content.</p>
<p>This morning I did, indeed, wake up hating the solution. So I went back into Zoom because I vaguely remembered that you can share classes of things besides &ldquo;apps,&rdquo; e.g. devices and displays. Sure enough, you can share devices, displays, and whole desktops (mostly, since full-screened Safari exists in some sort of desktop/screen netherworld, I think.)</p>
<p>I ended up grabbing my iPad Pro, connecting it to my Mac Studio, and using it as a secondary display/desktop. It was easy to drag the full-screened Safari presentation into the iPad Pro, full-screen it, open the presenter window, move that up to the primary desktop, and have it all work as expected.</p>
<p>I am positive I had the setup I thought of first  working in the past with just a single monitor, and I found evidence of people noticing that something changed at some point and offering frankly bizarre and counter-intuitive workarounds. I&rsquo;m glad I just have an iPad Pro to throw at the problem.</p>
<p>I&rsquo;m also glad that I&rsquo;ve fully embraced &ldquo;don&rsquo;t change anything on game day.&rdquo; It didn&rsquo;t take me long &ndash; maybe 30 minutes &ndash; to get from &ldquo;I&rsquo;m using a new presentation approach and I should test this&rdquo; to &ldquo;this isn&rsquo;t working how I remember&rdquo; to &ldquo;I tried everthing I know&rdquo; to &ldquo;settling on this workaround&rdquo; to &ldquo;oh, right &ndash; this might work.&rdquo; Just fine for 36 hours out. It would have sucked on game day.</p>
<h2 id="scrum-and-kanban">Scrum and kanban</h2>
<p>Interesting post: &ldquo;<a href="https://lucasfcosta.com/2022/10/02/scrum-versus-kanban.html">You don&rsquo;t need Scrum. You just need to do Kanban right.&rdquo;</a></p>
<p>As my friend Luke is fond of pointing out, most people don&rsquo;t know what Kanban even is, thinking it&rsquo;s more of a presentational approach than a whole methodology.</p>
<p>Regarding this post, which I have read once and have marked to read again more carefully, the one thing that stuck in my craw a little was the theme of &ldquo;making work visible,&rdquo; because &ndash; and I need to do that second read &ndash; it seems that visibility stops at the edge of &ldquo;the team.&rdquo;</p>
<p>Scrum may, indeed, be &ldquo;manager training wheels,&rdquo; and it can definitely become brittle in the face of &ldquo;a stochastic process such as software development.&rdquo; But it also makes a team (or organization&rsquo;s) work seem more legible to the rest of the business, which is busy trying to understand what&rsquo;s going into the next quarter&rsquo;s training offerings, messaging briefs, marketing plans, forecasts, etc.</p>
<p>One of the lessons the Fourth International took away from the failure of the 1917 Russian revolution (not the eventual &ldquo;Berlin wall comes down&rdquo; failure &ndash; the &ldquo;oh, did you intend for there to be Stalin?&rdquo; failure) was that you can&rsquo;t have socialism in one country. A friend of mine did his master&rsquo;s work on intentional communities such as the Amana Colonies, Harmony, etc. and found similar: Given a local system that is misaligned with its broader context, the broader context takes advantage of its encirclement and either forces compliance or increases pressure until internal contradictions destabilize the system and cause it to either fail, or betray its own principles in order to &ldquo;survive.&rdquo;</p>
<p>I&rsquo;d love to talk to someone who&rsquo;s &ldquo;done kanban&rdquo; as their agile methodology on an enterprise delivery footing. Not because I don&rsquo;t think it&rsquo;s possible, but because I&rsquo;m  curious about how it worked.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily Notes for 2023-05-04</title>
      <link>https://mike.puddingtime.org/posts/2023-05-04-daily-notes/</link>
      <pubDate>Thu, 04 May 2023 00:00:00 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-05-04-daily-notes/</guid>
      <description>Better task-switching with Charmstone, vim for zsh, our neighborhood slumlords, and the helpfulness of YNAB.</description>
      <content:encoded><![CDATA[<h2 id="charmstone">Charmstone</h2>
<p>Today I learned about <a href="https://charmstone.app">Charmstone</a>, an alternate task-switcher for macOS. I&rsquo;m still using the free version, so I&rsquo;m missing a few features, but even the free version is interesting.  You press your  two trigger keys (<code>ctrl opt</code> by default) and move the mouse/cursor a little and it pops open a floating app switcher with four options next to the cursor. Besides plain old apps, you can include folders or scripts.</p>
<p>It looks like this:</p>
<figure><img src="/img/charmstone.jpg"
    alt="A floating menu centered around the cursor offering quick access to four application icons."><figcaption>
      <h4>Charmstone&#39;s basic version with just four apps to choose from.</h4>
    </figcaption>
</figure>

<p>I didn&rsquo;t get &ldquo;why do you need to do the little bit of mouse motion&rdquo; for a couple of seconds, then realized &ldquo;oh, it&rsquo;d be bad if you were just trying to do a keyboard operation with those two keys.&rdquo; Then after a few repetitions I realized that you also begin to remember where in the floating selector your apps are, so the actual gesture is &ldquo;press your two trigger keys as you begin to move in the direction of the target app.&rdquo; It, uh, sort of suggests this in the part of the marketing copy that reads &ldquo;Use spatial memory to put your desired app in focus more quickly.&rdquo;</p>
<p>Anyhow, I am going to keep using it for a while longer. I haven&rsquo;t been using it for long and it isn&rsquo;t baked in yet. It&rsquo;s interesting just because it makes me rethink an operation I don&rsquo;t think twice about anymore (task switching) in that way where you begin to realize you&rsquo;ve perhaps internalized needless motion, or at least motion that could be more economical.</p>
<p>The same developer is one of those kinda cool cottage software houses who&rsquo;s got a Thing They&rsquo;re Focused On, and their thing is UI. In addition to Charmstone, they&rsquo;ve got a <a href="https://rectangleapp.com/">window management tool</a>, an interesting <a href="https://superkey.app">keyboard-oriented UI search tool</a> that takes cues from things like Vimari without being devoted to <em>vim everywhere</em>, and a <a href="https://ryanhanson.dev">bunch of other stuff</a> similar to the little enhancements and &ldquo;haxies&rdquo; that have long existed in the Mac ecosystem, but with a really pleasant visual design and consistent sensibility that isn&rsquo;t always there.</p>
<p>I haven&rsquo;t tried his window manager, but I&rsquo;ve been using <a href="https://www.irradiatedsoftware.com/sizeup/">Sizeup</a> for years and I think they are pretty similar. His is open source and free.</p>
<h3 id="small-update">Small update</h3>
<p>I&rsquo;ve been using Charmstone all day and really appreciate its <code>Launch active apps</code> setting, which gives you a new window if you switch to an app with none (e.g. you <code>cmd w</code>&rsquo;d the last active window and get nothing when you use the normal <code>cmd tab</code> switcher to get to it.) Mailmate is one of those apps that just sits there and does nothing, so checking mail every so often has been a great reinforcer as I remember I&rsquo;d have saved a step if I&rsquo;d just used Charmstone.</p>
<h2 id="in-the-neighborhood">In the neighborhood</h2>
<p><a href="https://www.wweek.com/news/chasing-ghosts/2023/05/03/duplexes-too-disgusting-to-occupy-stand-on-the-banks-of-johnson-creek/">The hideous, sewage-leaking, decrepit duplexes described in this article</a>  are in my neighborhood.  I live in Lents, and these houses are right off the Springwater near the Foster Floodplain Natural Area, on the other side of 205 from us.</p>
<p>Al and I walk by them every several days on our way to the Floodplain, and they&rsquo;ve inspired a lot of speculation. We remember when they were just this odd little colony that appeared to have folks renting them. We remember when they started being boarded up. We remember when the gate collapsed, and was then replaced with something makeshift, and then when it was obvious squatters were living there.</p>
<p>Al has worked in homeless policy and services for several years now, so she&rsquo;s got a working library of landlord patterns that found an easy match  in this case: Absentee landlord who doesn&rsquo;t particularly care; tenants holding on despite backed up sewage because there&rsquo;s not a next rung down, just an abyss.</p>
<p>The area around those duplexes was home to a small colony of RVs and vans, but about the time the police cleared out the squatters in the duplexes, there was also a general sweep of that area. Several of the RV owners found their way to our neighborhood. That&rsquo;s part of the pattern every year once the weather starts warming up. We&rsquo;ll have three or four waves before it gets cold again at the end of the year. Each wave is four or five RVs parked along the block and around the corner. In between the big waves individuals we&rsquo;ve come to recognize over the years leave to avoid the new crowd, then orbit back through when it quiets down again.  Each time we make an effort to get to know them.  Al&rsquo;s better at it than I am, and is more helpful anyhow: She helps them understand where to start in the social services labyrinth, saving them a few steps. But she also takes them food and water, and sometimes just listens to what they have to say.</p>
<p>I have a little distance from the problem. It&rsquo;s not my work or career. I&rsquo;ve thought (and felt) through how I feel when a new wave comes through. It took a few years of experiencing a particular cognitive dissonance about the matter to finally put my finger on what I was feeling and realize this is one topic where I&rsquo;m not any of &ldquo;liberal,&rdquo; &ldquo;progressive,&rdquo; &ldquo;moderate,&rdquo; or &ldquo;conservative.&rdquo; Few combinations of political program and cultural leaning I&rsquo;ve come across work for me here, which makes it easy to listen to pretty much nobody on the matter.</p>
<p>Al, on the other hand, doesn&rsquo;t ever get distance. It is her job. And when she comes home at night, it&rsquo;s parked across the street. It wakes her up at night with 3 a.m. screaming matches. When families roll through, it&rsquo;s a thing to think about because she&rsquo;s a mandatory reporter. She has friends in county and metro policy circles, so happy hour with them is &hellip; that.  When she comes downstairs and says &ldquo;I need to take some food boxes over there&rdquo; it is not because her selflessness knows no bounds, but because her capacity to live with what&rsquo;s going on around her is close to exhausted.</p>
<p>We&rsquo;ve become a political party of two on the matter, one of us who just lives with it 24/7, and the other with just enough distance to  say &ldquo;so you&rsquo;re telling me you were briefly considering whether or not to take yet another stupid opinion on the matter personally?&rdquo;</p>
<h2 id="vim-keybindings-and-the-shell">vim keybindings and the shell</h2>
<p>I&rsquo;ve gotten so used to Evil mode in Emacs, and so comfortable with stuff like Vimari elsewhere, that I figured I&rsquo;d give oh-my-zsh&rsquo;s vim mode a try. That didn&rsquo;t go well. <a href="https://github.com/jeffreytse/zsh-vi-mode">jeffreytse/zsh-vi-mode</a> promises to make it all better, so I&rsquo;m giving it a try.</p>
<p>I can&rsquo;t even explain what wasn&rsquo;t working about the original plugin I was trying. I just know it was confusing, but that it feels even worse to go back to Emacs/readline keybindings, so I&rsquo;m just going to give this a try.</p>
<h2 id="ynab-plug">YNAB plug</h2>
<p>For years I was a Microsoft Money person, even if it meant running Windows in a VM to use it. During our paycheck-to-paycheck years Money&rsquo;s cash flow forecast tool was like some sort of oracle I could consult about the eventual downstream impact of emergency expenses. I knew it wasn&rsquo;t the right answer, but it was one of those &ldquo;bad answer is better than worse alternatives&rdquo; things that sort of reinforced a bad status quo.</p>
<p>I don&rsquo;t know how long its been since Money was even a thing &ndash; <a href="https://en.wikipedia.org/wiki/Microsoft_Money">Wikipedia says they killed it in 2009</a>, so okay &ndash; but I jumped to Quicken for Mac, which had a similar tool that wasn&rsquo;t nearly as good, but that was okay, too: Money&rsquo;s version seemed to take your actuals into account, whereas Quicken&rsquo;s was a straight &ldquo;here are your budgeted inflows, here are your budgeted outflows, here&rsquo;s the difference over time,&rdquo; with the added ability to sort of amortize a pre-determined monthly variance for unbudgeted expenses.</p>
<p>It was <em>worse</em> because it was less accurate than Money, but it was <em>better</em> because it nudged me in the direction of &ldquo;oh, maybe I ought to be budgeting for these things instead of guessing them.&rdquo;</p>
<p>When Mac Quicken 2007 was finally retired and replaced by Quicken for Mac, the tool got even less helpful &ndash; they took away the ability to add a variance, which meant that if you didn&rsquo;t budget it the cash flow forecast tool wasn&rsquo;t going to consider it. My little hack around that was to go to &ldquo;allowance&rdquo; accounts, but all that did was isolate personal and less predictable expenses from the more predictable monthly bills and payments.</p>
<p>Basically, I refused to learn the real lesson of that feature, which was that it wasn&rsquo;t a proper substitute for real budgeting.</p>
<p><a href="https://www.ynab.com">You Need A Budget</a> uses <a href="https://en.wikipedia.org/wiki/Envelope_system">envelope budgeting</a>:</p>
<blockquote>
<p>Typically, the person will write the name and average cost per month of a bill on the front of an envelope. Then, either once a month or when the person gets paid, they will put the amount for that bill in cash in the envelope. When the bill is due, the money is taken out to pay for that bill.</p>
<p>This prevents the person from spending the money out of their pocket or bank account, because it is already allocated to the bill.</p>
</blockquote>
<p>&hellip; it just does it with software: You tell it your budget and what you have in the bank, and then record the draw on each &ldquo;envelope&rdquo; as you move through the month.</p>
<p>It has been around for a while, first as a standalone app, then in its newest incarnation as a web app. I tried it in its earlier days, when the developers refused to support downloading transactions to force you to do the work of tracking where your money was going, but there was no way I was going to do that data entry, and I was also pretty hooked on some kind of cash flow forecasting tool.</p>
<p>Last year, though, I decided to give it another spin. They&rsquo;ve softened up their position on automated transactions because, I imagine, in most households the &ldquo;envelopes&rdquo; are now completely metaphorical. My physical currency on hand goes up during camping season, because that&rsquo;s how you buy firewood at the state parks, but otherwise?</p>
<p>Like any tool built around a particular mindset, the YNAB social experience &ndash; its subreddit, support forums, assorted online enclaves &ndash; can feel more like a spiritual movement or ideological tendency than a way to budget. I tune all that out. I have enough needless rigor in my life reading Metafilter comments.</p>
<p>The &ldquo;just enough rigor&rdquo; part to me comes down to the fact that it makes the envelope metaphor work. The iOS app comes with a little widget that tells you how much money is left in key envelopes. &ldquo;Can we do this thing?&rdquo; Well, check the widget: Says there&rsquo;s <code>$x</code> in the envelope for that kind of thing, which would ordinarily mean &ldquo;no,&rdquo; but I see there&rsquo;s <code>$y</code> in this envelope over here &ndash; so is that tradeoff okay? And from that follows an easier time sticking to your goals.</p>
<p>The closest it comes to a forecasting tool is the ability to take anything you already have in the bank, or that is left over in the budget at the end of the month, and pre-budget it in the months ahead.</p>
<p>That&rsquo;s not to say cash flow forecasting doesn&rsquo;t have its place.</p>
<p>When I knew a layoff was coming, it was simply not possible to reconcile the YNAB mindset with something that meant a lot to me, which was the ability to go still for a few months and not worry about anything once I finished up.  It was <em>important</em> to me as I dealt with the emotional stuff you deal with when you both know you are done somewhere but have committed to going out on a professional note, and then it became <em>critical</em> once I realized I had a health thing to address.</p>
<p>On the other hand, YNAB does such a good job of recording budget information and making it exportable that it was trivial to take my carefully considered envelopes, export them to a spreadsheet, and make a very simple forecasting tool I could build scenarios around. It meant I could calm down a little, come up with a plan, and do the whole &ldquo;mind like water&rdquo; thing once I had that plan. At the same time, it wasn&rsquo;t something I could imagine maintaining because it was a spreadsheet and I am not one of those people.</p>
<p>I&rsquo;m glad I adopted more rigorous budgeting when I didn&rsquo;t need to, removing my dependency on a forecasting tool. And I&rsquo;m glad that the careful work I did making that change made it easier to build something I would not want to maintain daily, but was able to use to look 3, 6, 9 or 12 months ahead given my situation.</p>
<p>This is a weird thing to write about.</p>
<p>Years ago a friend of mine shared some personal stuff around money. I don&rsquo;t think they meant to share as much as they did, and then after doing so felt circumspect about it, trying to sort out whether they&rsquo;d done a TMI thing, or maybe revealed a defect they shouldn&rsquo;t have, or had opened themselves up to judgment. I mean, not from me. All due respect to my fellow veterans, I was not one of the ones who woke up in an army barracks one morning because of his great life choices.</p>
<p>And because even since then &ndash; even after a crash course in making the best of a bad decision &ndash; I had the good/bad fortune of not having to figure this stuff out for a long while: A life privileged and easy enough that I got to concentrate on other life skills. I think since getting laid off that I have said of the experience &ldquo;I guess my luck finally ran out&rdquo; exactly once, and it was a self-evidently foolish thing to say the second it escaped my lips. My political commitments preclude much belief in luck, and my spiritual commitments do not include it in their reckoning.</p>
<p>But still &hellip; it&rsquo;s a weird thing to write about. An uncomfortable thing. US culture is messed up about money and deeply infused with an ideological commitment to the moral virtues of precarity. Even the kindest, least judgmental people vibrate around this topic, because <em>most of us</em> live an existence of gauging whether there are yet rungs below us &ndash; a duplex with overflowing sewage owned by an indifferent slum lord from some other state &ndash;  or just the abyss.</p>
<p>You would hope, in a society that has so thoroughly ravaged its own safety net, that we&rsquo;d recognize that deep unease and transcend our alienation and atomization, even if not to try to put some of it back right now after due consideration of the horrors we see just stepping out onto a downtown sidewalk. Even if only to say to each other, &ldquo;we are collectively worthy of more kindness and care than we are choosing to extend to ourselves,&rdquo; whether that&rsquo;s on a civilizational scale &ndash; where our <em>actual</em> priorities include taking away tents and tarps on the coldest week of the year, or simply being the bluest state with the worst mental health services &ndash; or a personal scale, where friends apologize to each other for bringing up money because everybody&rsquo;s so anxious about it.</p>
<p>So, one of the aspirations I have for my writing is to be helpful. YNAB helped me understand how to budget and plan, and while I would not say it is for everybody, or that everybody needs it, it is definitely for me and I definitely did need it. If you&rsquo;re uneasy about money, or not sure you&rsquo;re doing it right, their content marketing is pretty top notch: Even if you don&rsquo;t buy their product, they do a great job of articulating a particular approach to money and budgeting that might be helpful.</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>
  </channel>
</rss>
