<?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/uncletupelo/</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>Fri, 19 May 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://mike.puddingtime.org/tags/uncletupelo/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Daily Notes for 2023-05-19</title>
      <link>https://mike.puddingtime.org/posts/2023-05-19-daily-notes/</link>
      <pubDate>Fri, 19 May 2023 00:00:00 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-05-19-daily-notes/</guid>
      <description>Helping org-edna out when you&amp;rsquo;re using BeOrg and the limits of hyper-automated plaintext primitivism.</description>
      <content:encoded><![CDATA[<h2 id="using-beorg-with-org-gtd-org-edna">Using BeOrg with org-gtd/org-edna</h2>
<p>So, org-gtd makes heavy use of org-edna:</p>
<p>When you&rsquo;re working down a project&rsquo;s todos, each time one flips to <code>DONE</code> it triggers org-edna to move the next task into a <code>NEXT</code> state. So far so good and awesome if you&rsquo;re just using Emacs.</p>
<p>If you&rsquo;re out and about with your iPhone (or Orgzly, or whatever) and do not have a full Emacs environment, any state changes to a todo item won&rsquo;t have org-edna there to monitor and make the needed state changes for the next item.</p>
<p>Today, for instance, I am going to be out and about running a few errands that include picking some things up that I need to complete a few projects. I have a custom view set up in BeOrg to show me my <code>@errands</code> items in <code>NEXT</code> state. When I stop by the motorcycle shop to pick up a battery for my Grom, I&rsquo;ll want to tick that errand off as <code>DONE</code>. Because org-edna isn&rsquo;t there, the next item in the &ldquo;Get the Grom ready for summer&rdquo; project won&rsquo;t flip into a <code>NEXT</code> state, and org-gtd&rsquo;s handy &ldquo;next actions&rdquo; agenda list will lose track of the project (unless I explicitly check for stuck projects &ndash; projects with no item in a <code>NEXT</code> state.)</p>
<p><a href="https://appsonthemove.freshdesk.com/support/discussions/topics/14000019608?page=1">David Masterson on the BeOrg user forum</a> was grappling with the same problem and suggested a pretty good idea: Adding a transitional TODO state to BeOrg that you&rsquo;d then manually flip to <code>DONE</code> once sitting in front of Emacs on a real computer. That&rsquo;d then trigger org-edna and your list automation would be back on track. He proposed <code>PRE-DONE</code>, I just went with <code>BEDONE</code>:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span class="line"><span class="cl"><span class="p">(</span><span class="nb">defun</span> <span class="nv">mph/org-change-bedone-to-done</span> <span class="p">()</span>
</span></span><span class="line"><span class="cl">  <span class="s">&#34;Change all &#39;BEDONE&#39; states to &#39;DONE&#39; in current buffer.&#34;</span>
</span></span><span class="line"><span class="cl">  <span class="p">(</span><span class="nb">interactive</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">  <span class="p">(</span><span class="nb">save-excursion</span>
</span></span><span class="line"><span class="cl">    <span class="p">(</span><span class="nf">goto-char</span> <span class="p">(</span><span class="nf">point-min</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">    <span class="p">(</span><span class="nb">while</span> <span class="p">(</span><span class="nf">re-search-forward</span> <span class="nv">org-heading-regexp</span> <span class="no">nil</span> <span class="no">t</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">      <span class="p">(</span><span class="nb">when</span> <span class="p">(</span><span class="nv">string=</span> <span class="p">(</span><span class="nv">org-get-todo-state</span><span class="p">)</span> <span class="s">&#34;BEDONE&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="p">(</span><span class="nv">org-todo</span> <span class="s">&#34;DONE&#34;</span><span class="p">)))))</span></span></span></code></pre></div>
<p>Then you&rsquo;d just want to automate <em>that</em>:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span class="line"><span class="cl"><span class="p">(</span><span class="nv">add-hook</span> <span class="ss">&#39;org-mode-hook</span> <span class="ss">&#39;mph/org-change-bedone-to-done</span><span class="p">)</span></span></span></code></pre></div>
<p>The two additional bits of setup: Adding &ldquo;BEDONE&rdquo; to BeOrg&rsquo;s list of todo states, and making sure it is also in the TODO state list in  your Emacs config, or in the file you&rsquo;re going to operate on. If you just try to use &ldquo;BEDONE&rdquo; instead of &ldquo;DONE&rdquo; without blessing it as an actual TODO state, the function will treat it like arbitrary text and ignore it.</p>
<p>My Grom example is pretty simplistic: I&rsquo;m not going to forget I am trying to get the Grom ready for summer, and will eventually go looking for the rest of the project if I accidentally move it into a stuck, next-actionless state.  But the whole point of org-gtd &ndash; GTD generally &ndash; is that you want to remove as much &ldquo;holding stuff in your head&rdquo; as possible.</p>
<h2 id="the-limits-of-hyper-automated-plaintext-primtivism">The limits of hyper-automated plaintext primtivism</h2>
<p>For the record, yes, this is pushing things. All sorts of things. The limits of hyper-automated plaintext primitivism. The willful naivete of GTD as a method. My own laziness, because the other option is to just write this stuff down and stick it in my pocket on the way out the door, or to not use BeOrg interactively if I&rsquo;m going to have a bunch of desktop-only automation.</p>
<p>The only real defense I have right now is, &ldquo;it&rsquo;s fun.&rdquo;</p>
<p>The only way to keep having this kind of fun will eventually be to either become a primitivist hyper-automation plaintext fetishism influencer with no need to do things like &ldquo;direct corporate IT operations&rdquo; or &ldquo;lead product engineering groups;&rdquo; or to crowd out other things in my life that matter much, much more than relieving myself of the drudgery of manually changing TODO states in a plaintext file.</p>
<p>A friend asked, &ldquo;are you ready to go back?&rdquo;</p>
<p>Yeah &hellip; seven months in, three of which were very deliberate rest, the rest of which have involved a state of relaxed calm but the stochastic cadence of screenings, interviews, and panels &hellip; I am ready: Rested, as clear on my purpose in the workplace as I have been in a long time, and as clear on what I am getting for my time as I have ever been. Uncle Tupelo for the rest.</p>
<div style="text-align:center;">
<iframe width="560" height="315" src="https://www.youtube.com/embed/wQ9TxwlRoEU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div>
]]></content:encoded>
    </item>
  </channel>
</rss>
