<?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/orgreveal/</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, 08 May 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://mike.puddingtime.org/tags/orgreveal/index.xml" rel="self" type="application/rss+xml" />
    <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-06</title>
      <link>https://mike.puddingtime.org/posts/2023-05-06-daily-notes/</link>
      <pubDate>Sat, 06 May 2023 00:00:00 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2023-05-06-daily-notes/</guid>
      <description>If you&amp;rsquo;re going to work on a deck on a Saturday, at least play with org; making catppuccin work with Doom&amp;rsquo;s helm; @andycarolan@social.lol reminds us longboarding season is here.</description>
      <content:encoded><![CDATA[<h2 id="turn-org-files-into-decks-with-org-reveal">Turn org files into decks with org-reveal</h2>
<p>It&rsquo;s Saturday afternoon and I am happy to be sitting here working on a presentation. Al&rsquo;s out of town, so she doesn&rsquo;t have to put up with me asking her how things sound, I can sit here in my bathrobe and monologue at myself, and only the cats are here to bear witness to me pacing around when I get too agitated to keep typing.</p>
<p>I was <em>not</em> happy to make a bunch of org notes then try to figure out how to get them into presentation software, and didn&rsquo;t like anything  available via the usual export options , but I remembered that Doom has a presentation package for org-mode, so I enabled it (<code>+present</code> in the org-section of <code>init.el</code>) .</p>
<p>That package provides you with a properly configured <a href="https://gitlab.com/oer/org-re-reveal">org-re-reveal</a>, which takes an org-mode document and turns it into a <a href="https://revealjs.com">reveal.js</a> presentation. reveal, in turn, provides you with a deck you can open in your browser with transition effects, a speaker window, and keyboard shortcuts.</p>
<p>I&rsquo;m seldom fond of the stuff that has to happen to get a bunch of HTML loaded into a simpler plaintext format, but the demands of org-re-reveal are pretty light.</p>
<p>I put this at the top of the document:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">#+title: My Presentation
</span></span><span class="line"><span class="cl">#+REVEAL_THEME: league
</span></span><span class="line"><span class="cl">#+REVEAL_TRANS: fade
</span></span><span class="line"><span class="cl">#+OPTIONS: toc:nil num:nil
</span></span><span class="line"><span class="cl">#+OPTIONS: timestamp:nil</span></span></code></pre></div>
<ul>
<li><code>toc:</code> controls whether it has a table of contents slide</li>
<li><code>num:</code> controls whether it numbers the slide headings</li>
<li><code>timestamp:</code> controls whether it puts the creation date on the title slide</li>
</ul>
<p>Then for each list on a give slide, I add the first line below just over it:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">#+ATTR_REVEAL: :frag (fade-in)
</span></span><span class="line"><span class="cl">- apples
</span></span><span class="line"><span class="cl">- pears
</span></span><span class="line"><span class="cl">- bananas</span></span></code></pre></div>
<p>&hellip; which causes each list item  to appear in sequence as I advance through the slide.</p>
<p>If you want speaker notes to show up in the speaker window they go in a little block as Markdown:</p>






<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">#+BEGIN_NOTES
</span></span><span class="line"><span class="cl">Some speaker note
</span></span><span class="line"><span class="cl">#+END_NOTES</span></span></code></pre></div>
<p>That&rsquo;s about it. In Doom, you just <code>SPC m e v b</code>  and it opens the presentation in your default browser, ready to go. Tap <code>s</code> and it brings up the speaker window, with a timer, current slide, and next slide. <code>esc</code> gives you thumbnails of the presentation so you can go back to a slide by sight, or <code>g</code> to go to a given slide number.</p>
<p>The presentation itself is very simple and clean. You can choose from several themes, including low-contrast favorites Dracula and Solarized for the &ldquo;oh! My terminal looks like that!&rdquo; crowd, or some other generically named ones that just look &hellip; normal.</p>
<p>There are some presentation modes for org-mode that let you put your org-mode buffer itself into a specially styled mode. I did a trial run with one, but the theme choices were a little offputting, navigation was strange, and there&rsquo;s a little bit of &ldquo;<em>I am doing this in an Emacs buffer</em>&rdquo; nerd glee involved. Fine for Emacs influencer YouTubers, but a little distracting for my intended audience, whom I want to expose to my particular combination of charm, reason, and attentional issues  via the content, not the presentation. And I really liked that there was zero config file noodling to get it to work. It&rsquo;s one of Doom&rsquo;s finer &ldquo;batteries included&rdquo; moments.</p>
<p>I&rsquo;ve always, by the way,  liked Keynote&rsquo;s outliner mode when I&rsquo;ve been working on a presentation. It encourages a focus on structure, allows for iterative work as ideas come and go or shift around, and keeps you out of trying to do a bunch of custom work on each slide.  Had I not learned about org-re-reveal I would have just popped open Keynote and retyped my outline.  And at some point, when I&rsquo;m back in the world of &ldquo;we&rsquo;re all supposed to use this template you can download from Confluence&rdquo; I expect I will have to figure out how to use the pptx export options. For now, though, org-re-reveal provides an extremely simple, easy, direct path from &ldquo;outline&rdquo; to &ldquo;presentation.&rdquo;</p>
<h2 id="making-catppuccin-work-for-helm-in-doom">Making catppuccin work for helm in Doom</h2>
<p>I&rsquo;m a fan of the <a href="https://github.com/catppuccin/catppuccin">catppuccin palette family</a> and they&rsquo;re simple to add to Doom: just stick the <a href="https://github.com/catppuccin/emacs">theme file</a> in <code>~/.config/doom/themes</code> and then use them in <code>config.el</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">setq</span> <span class="nv">doom-theme</span> <span class="ss">&#39;catppuccin</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">(</span><span class="nb">setq</span> <span class="nv">catppuccin-flavor</span> <span class="ss">&#39;frappe</span><span class="p">)</span></span></span></code></pre></div>
<p>They don&rsquo;t set any values for the selection highlight color, though, which means you can&rsquo;t really tell which completion line you&rsquo;re on as you move the cursor around. It&rsquo;s also an exercise in a very unique sort of frustration to try the usual &ldquo;what is this face called&rdquo; trick of <code>desc-face</code> (<code>SPC h F</code> in Doom ) in a buffer you can&rsquo;t run a command on.</p>
<p>My own search queries about it were just poorly formed enough that I stood on the precipice of saying &ldquo;sure, I&rsquo;ll just eat these 50 lines of lisp off the sidewalk to <em>number</em> the selection if that&rsquo;s what it takes,&rdquo; but I reframed one last time and finally found the answer.</p>
<p>The face to customize is <code>helm-selection</code>.  Just give it a background and it&rsquo;s fine.</p>
<h2 id="longboarding-season-is-here">Longboarding season is here</h2>
<p><video width="320" controls class="rt-img"><source src="/img/wipeout.mp4" type="video/mp4">
Your browser does not support the video tag.</video></p>
<p>Andy Carolan <a href="https://social.lol/@andycarolan/110316990998796991#.">reminded me</a> that longboarding season is here.</p>
<p>A few years ago Al and I decided we wanted to learn how to lonboard. I don&rsquo;t remember why. I think we just wanted to get out and do something together. So we bought some very cheap Amazon completes that looked cool &ndash; 42&quot; top-mount pintails &ndash; and spent weeks over at the nearby elementary school playground learning how to roll around on them like very upright mannequins on wheeled platforms.</p>
<p>Then we started watching videos and reading blogs and figuring out better choices. I finally settled on a Pantheon Trip &ndash; a little 33&quot; double-drop. Alison got a Loaded Icarus, a really nice composite deck with a bunch of spring to it.  I also had a Bustin&rsquo; Maestro, a 37&quot; dropthrough. I had several more boards for that matter, trying to get comfortable, and ended up <a href="/posts/2018-10-20-the-midlife-longboard/">writing a guide for fellow olds</a>.</p>
<p>We took the boards everywhere for a while: State parks sometimes have good accessible paths you can ride on, or just good asphalt around the campground for cruising. Also Saturday coffee runs and cruises down the Springwater. For a period, when I was riding the train to work, I used mine as a &ldquo;last-mile&rdquo; conveyance to the Lents Town Center station. A few times I did 10-mile solo rides down the Springwater.</p>
<figure class="rt-img"><img src="/img/subsonic.jpg"
    alt="Closeup of longboard trucks with light blue 90mm wheels attached and the Subsonic logotype on the deck" width="320"><figcaption>
      <h4>The Subsonic GT40. Best coffee cruiser ever</h4>
    </figcaption>
</figure>

<p>Cruising was fun, and the Pantheon Trip is a great deck for that because it has huge wheels and rides super low to the ground. It&rsquo;s low effort to push, and the giant wheels just roll over grit and rocks.</p>
<p>We stopped riding together when Al took her spill: She hit a seam that joined the Springwater to one of the overpasses and went over backwards. She threw her arm out and it dislocated the part of her elbow that didn&rsquo;t just shatter. We spent 40 minutes out on the Springwater while emergency responders from three jurisdictions argued over who should come get her. She&rsquo;s got titanium in that joint now, and exceeded the doctor&rsquo;s predictions, regaining full mobility. The only reminder is the bad-ass scar and some aches when the weather is cold and wet.</p>
<p>I kept riding, and absent the sort of mellow vibe we&rsquo;d established as a couple got interested in downhill, so I took a class from a local longboarding champion. We met every Wednesday night at Mt. Tabor. It was one of the most fun things I&rsquo;ve done in a while. Completely padded up, helmeted, and doing the hills we were doing, it was no big deal to wipe out, and it felt <em>great</em> to get knocked around a little. I&rsquo;d leave class feeling the same way I felt at the end of a day in the sawdust pits or the swing-landing trainer at jump school.</p>
<p><video width="100%" controls><source src="/img/slides.mp4" type="video/mp4">
Your browser does not support the video tag.</video></p>
<p>Anyhow, last season I traded in my hard pads for some nicer G-Form elbow and knee pads that go under my shirt and pants a little more easily, and I traded my Pantheon Trip in for a <a href="https://pantheonboards.com/product/pantheon-pranayama-complete-commuter-longboard/">Pantheon Pranayama</a>, which is pretty much the Trip except with traditional kingpin trucks, so it&rsquo;s a little more nimble. I went with the 7-ply deck, so it&rsquo;s also less stiff than my 8-ply trip. I thought that might have been a mistake, but I&rsquo;m down about 25 pounds from last season and I think it&rsquo;s going to be okay.</p>
<p>Anyhow, it&rsquo;s 10 a.m. and time to get back to that deck for a little while. Presenting Tuesday!</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
