<?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/bbedit/</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>Sun, 25 Jun 2023 16:44:12 -0700</lastBuildDate>
    <atom:link href="https://mike.puddingtime.org/tags/bbedit/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Daily notes for 2023-06-25</title>
      <link>https://mike.puddingtime.org/posts/2023-06-25-daily-notes/</link>
      <pubDate>Sun, 25 Jun 2023 16:44:12 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-06-25-daily-notes/</guid>
      <description>How to mix todos and prose. An Obsidian Today page. Woeful MetaTalk. Getting ready to say goodbye to Apollo. Markdown blogging. BBEdit and LSP. Goodbye reMarkable.</description>
      <content:encoded><![CDATA[<h2 id="mingling-notes-and-todos">Mingling notes and todos</h2>
<p>Prot on the ways in which Denote (or any &ldquo;lots of little notes&rdquo; system) will eventually murder org-mode agenda generation times:</p>
<blockquote>
<p>&ldquo;If you want my opinion though, be more forceful with the separation of concerns. Decouple your knowledge base from your ephemeral to-do list: Denote (and others) can be used for the former, while you let standard Org work splendidly for the latter—that is what I do, anyway.
&hellip;
&ldquo;Do not mix your knowledge base with your to-do items.&rdquo;</p>
</blockquote>
<p>I appreciate that. I am on the record liking the ability to sprinkle todos into prose, or the way todos can be skeletal prose. But one thing I&rsquo;ve come to appreciate about <em>me</em> is that when I live in the same place for everything, I start feeling sort of tool-sick. I think that part of me that has a hard time resisting the urge to optimize reacts to Total environments by trying to totalize further.</p>
<p>With my Obsidian-by-way-of-Denote-conventions setup, I&rsquo;ve been thinking about that a little.</p>
<p>I once went through an Obsidian jag where I wanted it to handle all my todos, and it didn&rsquo;t take long to get to a state of config/plugin bankruptcy. I decided that it was a good idea to have todos be a thing handled by a dedicated tool, and notes to be handled by a good note taker.</p>
<p>During my most recent org kick, I let things intermingle more, and I really held on to org-mode as a backend for Denote because I had that total use case in the back of my head.</p>
<p>I do think there&rsquo;s some value in having todos as semantically distinct nuggets inside atomic notes. For instance, when I&rsquo;m on a call and taking notes, I don&rsquo;t want to context-switch to my todo app to make a todo, and that&rsquo;s not a good idea anyhow: You lose the context, or just make work for yourself going back to find the original note to get the context back.</p>
<p>One nice example of blending todos and some other text object comes from <a href="https://github.com/IvanMalison/org-projectile">org-projectile</a>, which lets you create TODOs in a code base that go into a central notes file with a link to the text hunk you can follow.</p>
<p>I borrowed that idea for Obsidian by using the Tasks plugin:</p>
<ul>
<li>Set Tasks to add creation dates to any todos you create</li>
<li>Use normal todos for most inline notes: Just drop one in when an action presents itself during a conversation, or comes up while writing.</li>
<li>Make a metanote page that lists notes created today, and also lists todos created today:</li>
</ul>






<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">not done 
</span></span><span class="line"><span class="cl">created today</span></span></code></pre></div>
<p>That makes a simple page that links back to the todo for when it&rsquo;s the right time of day to go through the day&rsquo;s notes and turn possible actions into actual tasks.</p>
<p>The Tasks plugin allows for a bunch of different kinds of tasks, so I&rsquo;ve repurposed the <code>- [*]</code> type as <code>oppty</code>. Starting out in a new job, a lot of stuff goes by that I think of as &ldquo;maybe nice for the backlog&rdquo; or &ldquo;should do some discovery on that,&rdquo; but I don&rsquo;t want to overwhelm myself by dropping it into my Inbox where it&rsquo;ll both sit for a while and have no context. So I made another metapage for opportunities:</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">status.name includes star
</span></span><span class="line"><span class="cl">not done </span></span></code></pre></div>
<p>They just sit there, available for periodic review, linked to their originating note so I can get the context back when I need it. If I decide it&rsquo;s not a thing after all, delete it or check it off. If I decide it&rsquo;s a thing, turn it into a project and check it off.  It&rsquo;s a little different from the org-projectile approach, to the extent it leaves a todo item in the source file instead of just logging it in an outside file and linking back to the right hunk. I think that&rsquo;s fine.</p>
<h2 id="obsidian-today-page">Obsidian Today Page</h2>
<p>I stumbled my way into a Today page figuring all that out. It&rsquo;s just a collection of Dataview and Task code blocks:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl"># Tasks from Today
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">```tasks 
</span></span><span class="line"><span class="cl">not done 
</span></span><span class="line"><span class="cl">created today
</span></span><span class="line"><span class="cl">\```
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"># Notes from today
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">```dataview
</span></span><span class="line"><span class="cl">LIST FROM -&#34;templates&#34; WHERE file.path != this.file.path AND file.cday = date(today) 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">SORT file.mtime desc
</span></span><span class="line"><span class="cl">WHERE file.name != this.file.name
</span></span><span class="line"><span class="cl">\```
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"># Notes from yesterday
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">```dataview
</span></span><span class="line"><span class="cl">table without id
</span></span><span class="line"><span class="cl">link(file.link, default(file.aliases[0], file.name)) AS &#34;File&#34;,
</span></span><span class="line"><span class="cl">file.ctime AS &#34;Date&#34;
</span></span><span class="line"><span class="cl">FROM -&#34;metanotes&#34; AND -&#34;templates&#34;
</span></span><span class="line"><span class="cl">WHERE file.path != this.file.path AND file.cday = date(yesterday) AND  !contains(file.path, &#34;templates&#34;)
</span></span><span class="line"><span class="cl">SORT file.mtime desc
</span></span><span class="line"><span class="cl">\```
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"># Notes from previous three days
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">```dataview
</span></span><span class="line"><span class="cl">table without id
</span></span><span class="line"><span class="cl">link(file.link, default(file.aliases[0], file.name)) AS &#34;File&#34;,
</span></span><span class="line"><span class="cl">file.ctime AS &#34;Date&#34;
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">FROM -&#34;metanotes&#34; AND -&#34;templates&#34;
</span></span><span class="line"><span class="cl">where file.ctime &gt; (date(today) - dur(3 days)) AND file.ctime &lt; (date(today) - dur(1 days))
</span></span><span class="line"><span class="cl">sort file.ctime desc
</span></span><span class="line"><span class="cl">\```</span></span></code></pre></div>
<p>Basically, just &ldquo;Any tasks from notes made today, then &lsquo;all the notes from today,&rsquo; &lsquo;all the notes from yesterday,&rsquo; and &lsquo;all the notes from the prior 3 days,&rsquo;&rdquo; with a few filters to keep out metanotes and templates. It took a little fussing to get things to display in a way that shows my YAML metadata titles instead of the file names (which are Denote-formatted and a little cluttery), but that was an optional bit of prettying I undertook because I was curious.</p>
<h2 id="much-that-is-wrong-with-the-discourse-">Much that is wrong with &ldquo;the discourse&rdquo; &hellip;</h2>
<p>&hellip; can be found in <a href="https://metatalk.metafilter.com/26320/MetaFilter-has-a-real-problem-with-voicing-class-genocidal-attitudes">this MetaTalk thread wherein a user calls people out over their reaction to the submarine thing</a>.</p>
<p>Someone who knew one of the dead showed up:</p>
<blockquote>
<p>&ldquo;I&rsquo;ve met Shahzada several times &ndash; he was a significant backer of my work in carbon-free energy. He also personally paid for 5 million doses of Covid vaccine to be distributed in Pakistan during the pandemic, and set up a charity for helping people in Pakistan deal with the mental health consequences of the pandemic. He was a good person.</p>
</blockquote>
<blockquote>
<p>&ldquo;Reading some of the comments about him in the original thread was a gut punch. I was picturing (before we found out about the probable implosion) this person I know, this good guy, slowly suffocating underwater alongside his son, while Metafilter was making crass jokes about him.&rdquo;</p>
</blockquote>
<p>With each passing year it feels to me like an increasingly valuable piece of work to get better practiced at just not saying anything about an increasingly wide array of situations and topics. In a social media/web forum context, I can&rsquo;t think of anything I&rsquo;d say that would have a lot of leverage for good, and I can think of a lot of ways, like that right up there, that it can provide leverage for a lot of small but painful ills.</p>
<p>It&rsquo;s not that simple, right? It&rsquo;s a <em>good</em> thing that a lot of us have come to accept that people with power, privilege, access, resources, credibility, standing, platforms should <em>use them</em> to address injustice.  It&rsquo;s a <em>good</em> thing that we&rsquo;ve become more aware of the ways in which the urge to be more measured, or to make our words sweeter or easier to take, can cause us to mistake passivity or injustice for humility or modesty; or make it easier to tell other people suffering injustice to come back when they can &ldquo;put the message in a better envelope.&rdquo;</p>
<p>I think the thing that makes it hard to swallow is the way in which privileged, successful, wealthy people have steadily gentrified categories of oppression to rationalize their unwillingness to govern themselves, or to feel able act on the very human desire to participate in the conversation going on around them.</p>
<p>We each have to do our own math. There aren&rsquo;t any rules.</p>
<h2 id="twilight-apollo">Twilight Apollo</h2>
<p>I&rsquo;m very sorry <a href="https://apolloapp.io">Apollo</a> isn&rsquo;t long for this world. It&rsquo;s the best way to do Reddit under any circumstances, and really shines if you care about the distinct conversations under a post. It has helped me come to know individuals in a few communities over the years. I can&rsquo;t imagine reddit without it. So I&rsquo;m browsing the few subs I subscribe to these days with a sense of impending loss. Not too many more days and it will shut down; reddit will be much harder to keep up with, and a much worse experience in general.</p>
<h2 id="markdown-blogging">Markdown blogging</h2>
<p>A while back I wrote <a href="https://gist.github.com/pdxmph/9271cbb22d90f7e73a4b88664e0eaadd">a Ruby script to make it easier to do Hugo blogging</a>. It doesn&rsquo;t do a ton, but it does make it simple to enter title, tags, and category from the command line to make a Markdown file in the right place. It includes a switch for making daily posts with my house style.</p>
<p>I&rsquo;ve been blogging via <code>ox-hugo</code> since mid-April, so the script hasn&rsquo;t seen much use. Today I took another look at it, cleaned up one glitch in the way it does frontmatter, fixed up its daily post naming convention, and used it to make this post.</p>
<p>Gotta say, it just feels less fragile and less &hellip; think-y. There are some nice things about blogging with org-mode, for sure. I really like the document editing features. There are some things about blogging in a monolithic file that get sort of weird now and then. Sometimes it adds steps that feel needless. There are some things that are just clumsy or sort of a pain to remember. Every now and then you accidentally move a space in a previous entry and then you&rsquo;re left wondering why a post from two months ago suddenly regenerated its own Markdown.</p>
<p>Markdown, on the other hand, is good enough for blogging. I don&rsquo;t get any advantage from org-mode&rsquo;s syntax for most of what I&rsquo;m doing here, and Emacs&rsquo; markdown-mode does the same basic trick I like most from org-mode, which is tab-folding headings as I work through a post.</p>
<p>Like I said, when I decide I have another book in me I&rsquo;ll probably write it in org-mode. Until then, I&rsquo;m just going with the VHS of lightweight markup languages.</p>
<h2 id="bbedit-and-lsp">BBEdit and LSP</h2>
<p>I almost went full heretic and tried to see how I&rsquo;d feel about Markdown blogging with BBEdit. I was sort of excited about BBEdit&rsquo;s recent-ish support for <a href="https://en.wikipedia.org/wiki/Language_Server_Protocol">LSP</a>, and wanted to try out <a href="https://github.com/artempyanykh/marksman">Marksman</a>. Well, the two use cases I care most about for LSP &mdash; Ruby and Markdown &mdash; don&rsquo;t work. I managed to get the servers for YAML, JSON, CSS, HTML, and Python all working. Nothing doing for Marksman or <a href="https://solargraph.org">Solargraph</a>, the Ruby LSP server. They both work great under Doom Emacs, which also has great integration with Rubocop to make up for Solargraph&rsquo;s missing beautifying capabilities.</p>
<p>So, fine.</p>
<p>I&rsquo;ve got Emacs in a great place right now. I trimmed a lot of needless stuff from my configuration, it behaves just how I like, and it integrates well with Obsidian if I feel like doing more long-form writing and don&rsquo;t want to use Obsidian to do it. This miiiight be the first time I&rsquo;ve ever gone so completely Emacsimalist, then climbed back down from my worst excesses, but kept on using it for everyday stuff, too.</p>
<p>I even did a quick nostalgia tour of Sublime Text, VSCode, and Nova. Something about each of them irritated me.</p>
<h2 id="goodbye-remarkable">Goodbye, reMarkable</h2>
<p>As threatened, my reMarkable has a new home. Wow did I want to like that thing. I tried. In the end, I think it just came down to not being a handwritten notes kind of person at all. Or rather, if I am hand writing a note, it is just a small thing I am jotting down, or a way to fidget and stay a little engaged. I know what people say about recall and believe that is probably true, but that&rsquo;s just one dimension &mdash; there are also search, storage, portability, and just basic convenience.</p>
<p>If I had great handwriting I might have benefitted from the reMarkable, with its searchable handwritten text. But I don&rsquo;t have great handwriting. So it suffered from the same problem ebook editions of reference works suffer from: Paper notebooks have a certain spatial quality to them, and you can flip through them in lieu of being able to grep through them. My handwriting isn&rsquo;t good enough to be greppable by a machine, and the electronic &ldquo;notebook&rdquo; can&rsquo;t be thumbed through.</p>
<p>I guess, when I think back, that I imagined its more paper-like feel, its slimness, and its single-purpose nature were what would give it an edge over any number of iPad notebook apps. No. Turns out that I am just happier when I&rsquo;m typing notes.</p>
<p>As if to drive the lesson home, I shipped the reMarkable off yesterday and found myself downtown today at my favorite paper store. I briefly eyed a few nice notebooks and pens, thought to myself &ldquo;well, it was probably the <em>digital</em> stuff you didn&rsquo;t warm up to &hellip;&rdquo; then had a second thought and felt a little relieved that the paper coming out of the cognitive slot read in very plain, block lettering, &ldquo;YOU DON&rsquo;T ACTUALLY LIKE TRYING TO LIVE OUT OF A NOTEBOOK.&rdquo;</p>
<p>So I bought some shoes.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Daily Notes for 2023-05-11</title>
      <link>https://mike.puddingtime.org/posts/2023-05-11-daily-notes/</link>
      <pubDate>Thu, 11 May 2023 00:00:00 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-05-11-daily-notes/</guid>
      <description>BBEdit turns 30, Emacs update, Things, OmniFocus, etc.</description>
      <content:encoded><![CDATA[<h2 id="bbedit-turns-30">BBEdit turns 30</h2>
<p>Just after <a href="https://mike.puddingtime.org/posts/2023-05-10-daily-notes/">I was remembering it yesterday</a>, there&rsquo;s a <a href="https://news.ycombinator.com/item?id=35904320">nice appreciation of BBEdit going on over at HackerNews.</a> One comment captured my opinion pretty well:</p>
<blockquote>
<p>I read about BBEdit on HN a few months ago and realized it has one use-case where it excels: text transformation and regex search/replace across files. When it comes to this, no other editor I know can hold water: neither Sublime, nor VS Code, nor Vim. And forget about Emacs, as regexes need to be awkwardly double or triple backslashed.</p>
<p>Text transformations can be done via regex, predefined functions, or any scripting language, where the scripts will be listed in the menu.
Regex search/replace has a history of used patterns, so you can reuse them.</p>
<p>All in all, it is a very lightweight editor with excellent text transformation features that no other editor can offer.</p>
</blockquote>
<p>It is definitely my go-to for that kind of thing. I used to feel sort of guilty that I wasn&rsquo;t trying to get heavy-duty text transforms done from the shell, then I wised up: BBEdit makes it fast, reversible, repeatable, and visually discoverable. And it will plow through large files like nothing else. I keep a license around just for scenarios like &ldquo;need to do something to 2,000 Markdown files&rdquo; or what have you.</p>
<p>Also, my interactions with BareBones for support have been so amazingly helpful and cordial.</p>
<p>Thirty years old and still an evolving, high quality product that I reach for when &ldquo;I just need to get this task done.&rdquo;</p>
<h2 id="emacs-update">Emacs update</h2>
<p>The last few days I&rsquo;ve started getting reminders of a fundamental truth of Emacs life, which is that you will eventually push it a little too far with the new stuff and it starts getting punchy and stops feeling trustworthy.</p>
<p>I got a little excited about some tweaks, and I&rsquo;m glad I was applying them one at a time and seeing what happened, because when one of them hard-locked Emacs it was simple to just go back into my <code>config.org</code> file,  <code>:tangle no</code> the offending config, and comment out the problematic package in <code>packages.el</code>.</p>
<p>This is a part of Emacs life, though, that Doom Emacs has made better: It makes configuration simple. I love being able to organize config blocks under headings I can manage with org-mode structure editing, and I appreciate the simplicity of package management. There are a few more steps to get some things done, but they&rsquo;re simpler steps than how I used to manage Emacs.</p>
<p>When I hard-locked it yesterday it was a small bummer but it was also easy to undo the change and get back up and running. I&rsquo;ve felt the difference in how I feel when I sit down to use Emacs over the past while: It has gone from &ldquo;well, I wonder what sort of fatal self-own I&rsquo;m going to suffer from today&rdquo; to &ldquo;this is a stable tool I like using and don&rsquo;t worry about much.&rdquo;</p>
<p>It&rsquo;s such an open ecosystem, and extending it involves so much complexity, that the bits like &ldquo;oh, added that package and it crashed trying to open a file&rdquo; are just going to be part of it. But you deal with that by following a &ldquo;no new toys with an unsaved buffer of something that matters to you&rdquo; rule and making incremental changes.</p>
<h2 id="organizing-work-todo-apps">Organizing work &ndash; todo apps</h2>
<p>I spent a little time watching reviews and comparisons of Things and OmniFocus 3 today. Last night I started putting together a 90-day plan in org-mode and was enjoying the &ldquo;actions/prose&rdquo; hybrid of org-mode, but also thinking &ldquo;this is getting complex and these lists are pretty sequential and interdependent &hellip; I wonder if I want to put this weight on org-mode.&rdquo;</p>
<p>So I watched the videos, downloaded OmniFocus 3 again (I&rsquo;ve had a license for a few years), and took a stab at entering a few small chunks of work to see how it felt.</p>
<p>Not great.</p>
<p>I don&rsquo;t spend a lot of time worrying too much about how apps look, but OF is just sort of unappealing in that regard.</p>
<p>When I look at Things, there&rsquo;s a lot of visual appeal. You can&rsquo;t do much to control it, but you don&rsquo;t need to. The color scheme and roominess of the interface really work for me. When I look at an org-mode buffer, it is a very different aesthetic. I recently stopped doing mixed-mode and just live in good old Fira Code in a single size. But I&rsquo;ve got good light and dark themes and once I figured out how to control line-spacing it opened things up a little and made it feel less like a &hellip; like smelly ASCII cave. Looking over at MailMate, I can also exercise a little bit of control, so even though it is a visually simple app, the bit of decoration it does have is clean and I can pick my typefaces.</p>
<p>OmniFocus has some customization options, but I&rsquo;ve always struggled with its font sizes, sort of resenting the iOS-style &ldquo;small/medium/large/larger/very larger&rdquo; restriction on my choices, especially because there&rsquo;s a wide range of text size going on within the UI. It is also cramped. The UI is packed tight and even lists of project headings feel claustrophobic and closed in.</p>
<p>Things 3, one might respond, has next to no customization, either. Fewer choices than OF3, even. But it&rsquo;s just better done out of the box. It reminds me of something the UX designers at Puppet would have come up with in that it feels light and open.</p>
<p>That&rsquo;s a lot of time on looks, but if you have to look at the thing all day, they start mattering.</p>
<p>I think mostly I just managed to remind myself that I really loved the <em>idea</em> of OmniFocus years and years ago, but in practice it never stuck for long.</p>
<p>Things is harder to discard. It&rsquo;s just pleasant to work with, it&rsquo;s logically organized, the mobile apps are very good, and I really like the way you can organize a project with headings that are loose enough to have whatever meaning you care to give them: Milestones, themes, phases, or whatever. There&rsquo;s light Markdown sprinkled into the text areas, too. If you were not hung up on ultimate portability, the typography is clean and legible enough that you could manage prose notes in Things.</p>
<p>Back in the day, when I was using <a href="https://bear.app">Bear</a> a lot for note-taking in conjunction with Things as my task manager, I would just include a link to a Bear note in the notes field in Things. So, for instance, the Things project I had set up for my team had a heading for each member of the team where followup items went, and a link to the individual team member&rsquo;s note in Bear for prose. It worked pretty well.</p>
<h3 id="connecting-things-todos-to-org-headings">Connecting Things todos to org headings</h3>
<p>I wondered if I could do that with Emacs and an org-mode heading, and yes, I can.</p>
<p><a href="https://emacs.stackexchange.com/questions/47986/jump-to-org-mode-heading-from-external-application">This StackOverflow post</a> provided two bits of code to add navigation to a given org-mode heading using <code>org-protocol</code> and to yank the link from a given heading. It points to <a href="https://github.com/xuchunyang/setup-org-protocol-on-mac">this page</a> on how to make a simple little AppleScript app that registers <code>org-protocol</code> as a valid URL handler in macOS. I bound the link-grabbing function to <code>SPC n L</code> in Doom, and gave it a try by pasting the link into a Things note &hellip; yup &hellip; worked: Dropped me into a new Emacs GUI window with the point on the org-heading.</p>
<figure><img src="/img/things_emacs.jpg"
    alt="Screenshot of a Things todo with a link to a heading in an org-mode buffer"><figcaption>
      <h4>Things with an org-protocol link pointing to an org-mode blog post heading</h4>
    </figcaption>
</figure>

<p>Will I use it?</p>
<p>I don&rsquo;t know!</p>
<p>I remember my Things/Bear workflow being a very nice harmonization of two different kinds of work that lived in single-function apps. org-mode blurs those lines all on its own. I <a href="/posts/2023-05-02-daily-notes/#my-org-contacts-file-and-things">wrote a little about this several days ago</a> in relationship to my plaintext PRM.</p>
<p>I really like how clean Things is for capturing stuff from all sorts of places on my phone and computer. I like its seamless integration with existing macOS and iOS calendars and Reminders. I can do that stuff in org-mode and Emacs, but it takes a little extra work and feels more brittle. There are mobile apps for org-mode, like beorg, but they do feel a little clunkier than Things.</p>
<p>So I guess I&rsquo;ll take that small chunk of planning I was working on in Things, expand it to more stuff,  and see how it feels when I can link in to org-mode documents as easily as I can now.</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>
