<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~files/atom-premium.xsl"?>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedpress="https://feed.press/xmlns" xmlns:media="http://search.yahoo.com/mrss/" xmlns:podcast="https://podcastindex.org/namespace/1.0">
  <feedpress:locale>en</feedpress:locale>
  <feedpress:newsletterId>brettterpstra</feedpress:newsletterId>
  <link rel="hub" href="https://feedpress.superfeedr.com/"/>
  <logo>https://static.feedpress.com/logo/brettterpstra-5d7926fa5332c.png</logo>
  <link rel="alternate" type="text/html" href="https://brettterpstra.com"/>
  <subtitle>Welcome to The Lab, detailing the coding and automation exploits of Brett Terpstra.</subtitle>
  <title>BrettTerpstra.com - The Mad Science of Brett Terpstra</title>
  <link href="https://brett.trpstra.net/brettterpstra" rel="self"/>
  <link href="https://brettterpstra.com/"/>
  <updated>2024-07-22T08:00:28-05:00</updated>
  <id>https://brettterpstra.com/</id>
  <author>
    <name><![CDATA[Brett Terpstra]]></name>
  </author>
  <generator uri="https://brettterpstra.com">BrettTerpstra</generator>
  <entry>
    <title type="html"><![CDATA[Backblaze giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16750019/backblaze-giveaway"/>
    <updated>2024-07-22T08:00:00-05:00</updated>
    <published>2024-07-22T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/07/22/backblaze-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Backblaze icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-backblaze2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-backblaze2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-backblaze2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-backblaze2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-backblaze2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-backblaze2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-backblaze2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-backblaze2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-backblaze2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-backblaze2024-rb.jpg" alt="Giveaway Robot with Backblaze icon" title="Giveaway Robot with Backblaze icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, a 1-year subscription ($99.99 value) for <a href="https://www.backblaze.com/terpstra">Backblaze</a>. I use a 3-tier backup system: local clones, Time Machine, and Backblaze for cloud backup. Backblaze is the easiest, most affordable way to get an offsite backup of <em>all</em> your data, with versioning and easy restore when things go wrong.</p>

<p>From the developer:</p>

<blockquote>
  <p>Backblaze makes backing up and accessing your data astonishingly easy. For just $9/month, you can backup all of your personal and business data. You can also easily restore your data through the web app or a hard drive and you can access your data via the mobile app. With Backblaze, you never have to stress about data loss again.</p>
</blockquote>

<picture data-title="Backblaze screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/backblaze-screenshot-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/backblaze-screenshot-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/10/backblaze-screenshot-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/backblaze-screenshot-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/10/backblaze-screenshot-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/10/backblaze-screenshot-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/10/backblaze-screenshot-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/10/backblaze-screenshot-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/10/backblaze-screenshot-800@2x.jpg" width="800" height="400" src="https://cdn3.brettterpstra.com/uploads/2023/10/backblaze-screenshot-800.jpg" alt="Backblaze screenshot" title="Backblaze screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://www.backblaze.com/terpstra">Backblaze</a> site for more info.</p>

<p>Sign up below to enter. A winner will be randomly drawn on Friday, July 26, at 12pm Central. The drawing is for a 1-year subscription ($99.99 value) for Backblaze. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/07/22/backblaze-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<div class="btcountdownwrapper">
<p class="btcountdowncaption">Giveaway ends in...</p>
<div class="btcountdown"><time datetime="2024-07-26T12:00:00-05:00"></time></div></div>

<p>You need to view this post on brettterpstra.com to enter.</p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F22%2Fbackblaze-giveaway%2F&text=Backblaze+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F22%2Fbackblaze-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16750019.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The TableFlip giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16748347/the-tableflip-giveaway-winners"/>
    <updated>2024-07-19T13:00:00-05:00</updated>
    <published>2024-07-19T13:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/07/19/the-tableflip-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with TableFlip icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/tableflip2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/tableflip2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/tableflip2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/tableflip2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/tableflip2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/tableflip2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/tableflip2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/tableflip2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/tableflip2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/tableflip2024-winners-rb.jpg" alt="Giveaway Robot with TableFlip icon, confetti background" title="Giveaway Robot with TableFlip icon, confetti background" />
              </noscript>
            </picture>

<p>The TableFlip giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>Andy &ldquo;gtdandy&rdquo; Cerier</li>
  <li>Cecil Habermacher</li>
  <li>Werner Küper</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://tableflipapp.com/">TableFlip is still worth checking out</a>. If you work in Markdown but get frustrated with creating and editing tables, TableFlip is the perfect answer. You can still save 33% on TableFlip by using code <code class="language-plaintext highlighter-rouge">DONTBESAD</code> when <a href="https://tableflipapp.com/">purchasing</a>.</p>

<p>Next up is <a href="https://www.backblaze.com/terpstra">Backblaze</a>. Check back every Monday through September, 2024 for more giveaways.</p>

<p>The next giveaways include:</p>

<ul>
  <li><a href="https://www.popclip.app/">PopClip</a></li>
  <li><a href="https://retina.studio/textbuddy/">TextBuddy</a></li>
  <li><a href="https://rogueamoeba.com/soundsource/">SoundSource</a></li>
  <li><a href="https://bjango.com/mac/istatmenus/">iStat Menus</a></li>
  <li><a href="https://obsidian.md/sync">Obsidian Sync</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112814495034469150">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F19%2Fthe-tableflip-giveaway-winners%2F&text=The+TableFlip+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F19%2Fthe-tableflip-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16748347.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Marked 2.6.39 with Streaming Preview fixes]]></title>
    <link href="https://brett.trpstra.net/link/535/16747444/marked-2-dot-6-39-with-streaming-preview-fixes"/>
    <updated>2024-07-18T11:45:00-05:00</updated>
    <published>2024-07-18T11:45:00-05:00</published>
    <id>https://brettterpstra.com//2024/07/18/marked-2-dot-6-39-with-streaming-preview-fixes</id>
    <content type="html"><![CDATA[<picture data-title="Marked 2 Icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2021/04/marked2icon_tw.png" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2021/04/marked2icon.avif 1x, https://cdn3.brettterpstra.com/uploads/2021/04/marked2icon@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2021/04/marked2icon.webp 1x, https://cdn3.brettterpstra.com/uploads/2021/04/marked2icon@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2021/04/marked2icon_tw.png 1x, https://cdn3.brettterpstra.com/uploads/2021/04/marked2icon@2x.png 2x" />
                <img class="alignright" data-original="https://cdn3.brettterpstra.com/uploads/2021/04/marked2icon_tw.png" data-at2x="https://cdn3.brettterpstra.com/uploads/2021/04/marked2icon@2x.png" width="350" height="350" src="https://cdn3.brettterpstra.com/uploads/2021/04/marked2icon.png" alt="Marked 2 Icon" title="Marked 2 Icon" />
              </noscript>
            </picture>
<p>There&rsquo;s a new version of <a href="https://marked2app.com/" title="Smarter tools for smarter writers">Marked 2</a> out (available on all channels) that adds some important fixes and a couple of new features.</p>

<h3 id="streaming-preview">Streaming Preview</h3>

<p>First off, I fixed the Streaming Preview for everybody. Every time I fixed it to work with The Archive, I broke it for Drafts, and so on. I&rsquo;m certain I&rsquo;ve solve the problem for both use cases now. I could be proven wrong, but extensive testing and confirmation from bug testers has me pretty sure. So now you can use the streaming feature of apps like The Archive and Drafts without issue.</p>

<p>I also did some cleanup of the Preferences window while I was in there, but that&rsquo;s purely aesthetic. Someday (probably sooner than later) I&rsquo;ll revamp the whole preference system to use a sidebar for the pane selection like System Settings does on macOS these days.</p>

<h3 id="custom-internal-processors">Custom (Internal) Processors</h3>

<p>The new features I added are around custom processors, kind of. Previously, you could have any processor return just the string &ldquo;NOCUSTOM&rdquo; to skip using the custom processor and resort to using the default internal processor, either MultiMarkdown v5 or Discount (GFM). Now you can also return &ldquo;MULTIMARKDOWN&rdquo; (or MMD) or &ldquo;DISCOUNT&rdquo; (or GFM) to specify exactly which internal processor to use.</p>

<p>The change makes it easy to develop custom processors that can still have different rendering without having to do any of the rendering using command line tools. It also makes it to handle processing using <a href="https://brettterpstra.com/2024/04/25/introducing-the-marked-conductor/" title="Introducing the Marked Conductor">Conductor</a> by simply using <code class="language-plaintext highlighter-rouge">command: echo MMD</code> in a track.</p>

<p>In addition to the Custom Processor return strings, you can also use metadata:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code>Custom Processor: MultiMarkdown</code></pre></div></div>

<p>Or just:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code>processor: gfm</code></pre></div></div>

<p>This allows per-document settings. In Conductor, you can create a preprocessor track that uses the <code class="language-plaintext highlighter-rouge">addMeta</code> filter:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code>- condition: phase is pre
  tracks:
    - condition: file name is README.md
      filter: addMeta(processor, gfm)</code></pre></div></div>

<p>Or implement it in any way that works for you, even manually or as part of a TextExpander/Blaze snippet.</p>

<p>The update is available now, so go get it! &ldquo;Check for Updates&rdquo; in the direct version, and Setapp and the Mac App Store should update you automatically. Look for version 2.6.39 or newer.</p>

<p>If you&rsquo;ve been using <a href="https://marked2app.com/" title="Smarter tools for smarter writers">Marked 2</a> for years, you may have noticed you&rsquo;ve never had to pay an upgrade fee for new features. Someday I&rsquo;ll put out a v3 and bill for it, or (heaven forbid) switch to subscriptions, but for now if you want to support development, feel free to <a href="https://brettterpstra.com//donate">donate</a> or, better yet, <a href="https://brettterpstra.com//support">become a supporter</a>!</p>

<p>By the way, if you&rsquo;re using Conductor make sure you have the latest version (1.0.24 as of this writing), there have been some important bugfixes in the last few days.</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112808538297534786">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F18%2Fmarked-2-dot-6-39-with-streaming-preview-fixes%2F&text=Marked+2.6.39+with+Streaming+Preview+fixes&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F18%2Fmarked-2-dot-6-39-with-streaming-preview-fixes%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16747444.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[TableFlip giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16743788/tableflip-giveaway"/>
    <updated>2024-07-15T08:00:00-05:00</updated>
    <published>2024-07-15T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/07/15/tableflip-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with TableFlip icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-tableflip2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-tableflip2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-tableflip2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-tableflip2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-tableflip2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-tableflip2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-tableflip2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-tableflip2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-tableflip2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-tableflip2024-rb.jpg" alt="Giveaway Robot with TableFlip icon" title="Giveaway Robot with TableFlip icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 3 licenses ($9.99 value each) for <a href="https://tableflipapp.com/">TableFlip</a>. TableFlip makes Markdown tables from structured data like CSVs, allowing you to use a spreadsheet-like interface to edit tables, and providing plain text for your document. It seamlessly provides table editing within any editor. It&rsquo;s truly a missing link for Markdown writers.</p>

<p>From the developer:</p>

<blockquote>
  <p>It’s simple: you change the Markdown file and the table will update; save the table in TableFlip and the Markdown file will be changed. It’s as seamless as it gets.</p>
</blockquote>

<picture data-title="TableFlip screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/tableflip-screenshot-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/tableflip-screenshot-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/10/tableflip-screenshot-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/tableflip-screenshot-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/10/tableflip-screenshot-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/10/tableflip-screenshot-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/10/tableflip-screenshot-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/10/tableflip-screenshot-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/10/tableflip-screenshot-800@2x.jpg" width="800" height="566" src="https://cdn3.brettterpstra.com/uploads/2023/10/tableflip-screenshot-800.jpg" alt="TableFlip screenshot" title="TableFlip screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://tableflipapp.com/">TableFlip</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, July 19, at 12pm Central. The drawing is for 3 licenses ($9.99 value each) for TableFlip, one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/07/15/tableflip-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112790659630658180">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F15%2Ftableflip-giveaway%2F&text=TableFlip+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F15%2Ftableflip-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16743788.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The Dropzone giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16742551/the-dropzone-giveaway-winners"/>
    <updated>2024-07-12T13:00:00-05:00</updated>
    <published>2024-07-12T13:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/07/12/the-dropzone-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Dropzone icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/dropzone2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/dropzone2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/dropzone2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone2024-winners-rb.jpg" alt="Giveaway Robot with Dropzone icon, confetti background" title="Giveaway Robot with Dropzone icon, confetti background" />
              </noscript>
            </picture>

<p>The Dropzone giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>Jim Simpson</li>
  <li>Tedd Landgraf</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://aptonic.com/">Dropzone is still worth checking out</a>. You can still save 15% off your purchase of Dropzone <a href="https://aptonic.com/discount?coupon=BRETTTERPSTRA">using the coupon <code class="language-plaintext highlighter-rouge">BRETTTERPSTRA</code></a>. It&rsquo;s amazingly useful!</p>

<p>By the way, Dropzone is also available on <a href="https://go.setapp.com/stp44">Setapp</a>, along with hundreds of other amazing apps. You should probably <a href="https://go.setapp.com/stp44">get a subscription</a>.</p>

<p>Next up is <a href="https://tableflipapp.com/">TableFlip</a>. Check back every Monday through September, 2024 for more giveaways.
The next giveaways include:</p>

<ul>
  <li><a href="https://www.backblaze.com/terpstra">Backblaze</a></li>
  <li><a href="https://www.popclip.app/">PopClip</a></li>
  <li><a href="https://retina.studio/textbuddy/">TextBuddy</a></li>
  <li><a href="https://rogueamoeba.com/soundsource/">SoundSource</a></li>
  <li><a href="https://bjango.com/mac/istatmenus/">iStat Menus</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F12%2Fthe-dropzone-giveaway-winners%2F&text=The+Dropzone+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F12%2Fthe-dropzone-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16742551.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Dropzone giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16737127/dropzone-giveaway"/>
    <updated>2024-07-08T09:30:00-05:00</updated>
    <published>2024-07-08T09:30:00-05:00</published>
    <id>https://brettterpstra.com//2024/07/08/dropzone-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Dropzone icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-dropzone2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-dropzone2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-dropzone2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-dropzone2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-dropzone2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-dropzone2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-dropzone2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-dropzone2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-dropzone2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-dropzone2024-rb.jpg" alt="Giveaway Robot with Dropzone icon" title="Giveaway Robot with Dropzone icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 3 licenses ($35 value each) for <a href="https://aptonic.com/">Dropzone</a>. Dropzone gives you a panel in your menu bar that can run all kinds of scripts and automations, from uploading files to an FTP or S3 server to optimizing images or filing documents.</p>

<p>From the developer:</p>

<blockquote>
  <p>Dropzone is a productivity app for the Mac that makes it faster and easier to move and copy files, launch applications, upload to many different services, and much more.</p>
</blockquote>

<picture data-title="Dropzone screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone-screenshot-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone-screenshot-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/dropzone-screenshot-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone-screenshot-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/dropzone-screenshot-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone-screenshot-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/dropzone-screenshot-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone-screenshot-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone-screenshot-800@2x.jpg" width="800" height="622" src="https://cdn3.brettterpstra.com/uploads/2023/09/dropzone-screenshot-800.jpg" alt="Dropzone screenshot" title="Dropzone screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://aptonic.com/">Dropzone</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, July 12, at 12pm Central. The drawing is for 3 licenses ($35 value each) for Dropzone, one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/07/08/dropzone-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112751379016779015">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F08%2Fdropzone-giveaway%2F&text=Dropzone+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F08%2Fdropzone-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16737127.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The Marked giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16735776/the-marked-giveaway-winners"/>
    <updated>2024-07-05T13:00:00-05:00</updated>
    <published>2024-07-05T13:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/07/05/the-marked-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Marked icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/marked2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/marked2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/marked2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/marked2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/marked2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/marked2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/marked2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/marked2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/marked2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/marked2024-winners-rb.jpg" alt="Giveaway Robot with Marked icon, confetti background" title="Giveaway Robot with Marked icon, confetti background" />
              </noscript>
            </picture>

<p>The Marked giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>Chris Denesha</li>
  <li>Guillaume Kuster</li>
  <li>Jeff Holtzman</li>
  <li>Kevin Slaven</li>
  <li>Johan Romin</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://marked2app.com">Marked is still worth checking out</a>. You can still save 10% off your purchase of Marked <a href="http://pay.paddle.com/checkout/489454?coupon=ILOVEMARKDOWN">using the coupon <code class="language-plaintext highlighter-rouge">ILOVEMARKDOWN</code></a> (or enter <code class="language-plaintext highlighter-rouge">ILOVEMARKDOWN</code> at checkout). If you work in Markdown, you deserve the benefits Marked offers.</p>

<p>By the way, Marked is also available on <a href="https://go.setapp.com/stp44">Setapp</a>, along with hundreds of other amazing apps. You should probably <a href="https://go.setapp.com/stp44">get a subscription</a>.</p>

<p>Next up is <a href="https://aptonic.com/">Dropzone</a>. Check back every Monday through September, 2024 for more giveaways.
The next giveaways include:</p>

<ul>
  <li><a href="https://tableflipapp.com/">TableFlip</a></li>
  <li><a href="https://www.backblaze.com/terpstra">Backblaze</a></li>
  <li><a href="https://www.popclip.app/">PopClip</a></li>
  <li><a href="https://retina.studio/textbuddy/">TextBuddy</a></li>
  <li><a href="https://rogueamoeba.com/soundsource/">SoundSource</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112739735944030069">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F05%2Fthe-marked-giveaway-winners%2F&text=The+Marked+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F05%2Fthe-marked-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16735776.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Marked giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16730565/marked-giveaway"/>
    <updated>2024-07-01T08:00:00-05:00</updated>
    <published>2024-07-01T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/07/01/marked-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Marked icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-marked2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-marked2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-marked2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-marked2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-marked2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-marked2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-marked2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-marked2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-marked2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-marked2024-rb.jpg" alt="Giveaway Robot with Marked icon" title="Giveaway Robot with Marked icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 5 licenses ($13.99 value each) for <a href="https://marked2app.com">Marked</a>. Marked is a Markdown previewer (of my own design) that offers a live preview of Markdown while you edit in any text editor. It comes with a range of styles and you can add more from <a href="https://marked2app.com/styles/">the gallery</a> or by editing your own CSS. Beautiful PDF and HTML export, type-ahead Table of Contents navigation, full keyboard support, and a ton of writing tools make Marked a perfect companion to your favorite editor.</p>

<p>From the developer:</p>

<blockquote>
  <p>Marked is a previewer for Markdown and other plain text markups. Use it with your favorite text editor and it updates every time you save. With robust features for previewing, reviewing, and exporting beautiful documents, you can work in plain text while reveling in rich formatting.</p>
</blockquote>

<picture data-title="Marked screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/marked-screenshot-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/marked-screenshot-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/10/marked-screenshot-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/marked-screenshot-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/10/marked-screenshot-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/10/marked-screenshot-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/10/marked-screenshot-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/10/marked-screenshot-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/10/marked-screenshot-800@2x.jpg" width="800" height="334" src="https://cdn3.brettterpstra.com/uploads/2023/10/marked-screenshot-800.jpg" alt="Marked screenshot" title="Marked screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://marked2app.com">Marked</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, July 05, at 12pm Central. The drawing is for 5 licenses ($13.99 value each) for Marked, one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/07/01/marked-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112711386811804829">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F01%2Fmarked-giveaway%2F&text=Marked+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F07%2F01%2Fmarked-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16730565.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The OmniOutliner giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16728596/the-omnioutliner-giveaway-winners"/>
    <updated>2024-06-28T14:40:00-05:00</updated>
    <published>2024-06-28T14:40:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/28/the-omnioutliner-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with OmniOutliner icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnioutliner2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnioutliner2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/omnioutliner2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnioutliner2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/omnioutliner2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnioutliner2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/omnioutliner2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/omnioutliner2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/omnioutliner2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/omnioutliner2024-winners-rb.jpg" alt="Giveaway Robot with OmniOutliner icon, confetti background" title="Giveaway Robot with OmniOutliner icon, confetti background" />
              </noscript>
            </picture>

<p>The OmniOutliner giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>June Bash</li>
  <li>Jonathan Dechko</li>
  <li>Cai Wingfield</li>
  <li>Richard Guay</li>
  <li>Robert Williger</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://www.omnigroup.com/omnioutliner">OmniOutliner is still worth checking out</a>.</p>

<p>Next up is <a href="https://marked2app.com">Marked</a>. Check back every Monday through September, 2024 for more giveaways.
The next giveaways include:</p>

<ul>
  <li><a href="https://aptonic.com/">Dropzone</a></li>
  <li><a href="https://tableflipapp.com/">TableFlip</a></li>
  <li><a href="https://www.backblaze.com/terpstra">Backblaze</a></li>
  <li><a href="https://www.popclip.app/">PopClip</a></li>
  <li><a href="https://retina.studio/textbuddy/">TextBuddy</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112695994467910009">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F28%2Fthe-omnioutliner-giveaway-winners%2F&text=The+OmniOutliner+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F28%2Fthe-omnioutliner-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16728596.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Obsidian Callouts in Marked]]></title>
    <link href="https://brett.trpstra.net/link/535/16727652/obsidian-callouts-in-marked"/>
    <updated>2024-06-27T19:17:00-05:00</updated>
    <published>2024-06-27T19:17:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/27/obsidian-callouts-in-marked</id>
    <content type="html"><![CDATA[
<picture data-title="Obsidian Callouts Header">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/obsidian-callouts-header-2-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/obsidian-callouts-header-2-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/06/obsidian-callouts-header-2-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/obsidian-callouts-header-2-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/06/obsidian-callouts-header-2-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/06/obsidian-callouts-header-2-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/06/obsidian-callouts-header-2-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/06/obsidian-callouts-header-2-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/06/obsidian-callouts-header-2-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2024/06/obsidian-callouts-header-2-rb.jpg" alt="Obsidian Callouts Header" title="Obsidian Callouts Header" />
              </noscript>
            </picture>

<p>I received a request a while back, shortly after my post about <a href="https://brettterpstra.com/2024/05/16/marked-2-and-obsidian/">Marked 2 and Obsidian</a>, asking me to support <a href="https://help.obsidian.md/Editing+and+formatting/Callouts">Obsidian callouts</a>. I don&rsquo;t remember who made the request, but it got lodged in the back of my head. I had an hour today to knock out a solution.</p>

<p>Rather than trying to incorporate this directly into Marked, I made it a script that can be included in a <a href="https://brettterpstra.com/projects/conductor/">Conductor</a> configuration. Easier, and less intrusive to Marked users who don&rsquo;t care about Obsidian.</p>

<p><a href="https://help.obsidian.md/Editing+and+formatting/Callouts">Obsidian callouts</a> are a block quote-style syntax that looks like:</p>

<div class="language-markdown highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code><span class="gt">&gt; [!note] A note with Markdown content</span>
<span class="gt">&gt; Just *checking*</span>
<span class="gt">&gt; how this **works**... </span>
<span class="gt">&gt; [a link](https://brettterpstra.com)</span></code></pre></div></div>

<p>They can be made to fold, nested in each other, have a title only, or a title with content processed as Markdown. Here&rsquo;s how they look in Obsidian:</p>

<figure class="aligncenter" data-title="Callouts in Obsidian">
              <picture>
                <noscript class="loading-lazy">
                  <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-obsidian-800_tw.jpg" />
                  <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-obsidian-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/06/callouts-obsidian-800@2x.avif 2x" />
                  <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-obsidian-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/06/callouts-obsidian-800@2x.webp 2x" />
                  <source srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-obsidian-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/06/callouts-obsidian-800@2x.jpg 2x" />
                  <img data-original="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-obsidian-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-obsidian-800@2x.jpg" width="800" height="530" src="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-obsidian-800.jpg" title="Callouts in Obsidian" alt="Callouts in Obsidian" />
                </noscript>
              </picture>
              <figcaption>Callouts in Obsidian</figcaption>
            </figure>

<p>And with the script, here&rsquo;s how they look in Marked:</p>

<figure class="aligncenter" data-title="callouts-marked-2.jpg">
              <picture>
                <noscript class="loading-lazy">
                  <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-marked-2_tw.jpg" />
                  <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-marked-2.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/06/callouts-marked-2@2x.avif 2x" />
                  <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-marked-2.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/06/callouts-marked-2@2x.webp 2x" />
                  <source srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-marked-2_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/06/callouts-marked-2@2x.jpg 2x" />
                  <img data-original="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-marked-2_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-marked-2@2x.jpg" width="838" height="502" src="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-marked-2.jpg" title="callouts-marked-2.jpg" alt="Callouts in Marked" />
                </noscript>
              </picture>
              <figcaption>callouts-marked-2.jpg</figcaption>
            </figure>

<p>The output is just nested divs with classes, so a separate stylesheet is required to make them look correct. This stylesheet is injected by Conductor as well, and adapts pretty well to any Style in Marked. For example, here it is with the Manuscript style:</p>

<figure class="aligncenter" data-title="Callouts in Manuscript">
              <picture>
                <noscript class="loading-lazy">
                  <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-manuscript_tw.jpg" />
                  <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-manuscript.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/06/callouts-manuscript@2x.avif 2x" />
                  <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-manuscript.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/06/callouts-manuscript@2x.webp 2x" />
                  <source srcset="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-manuscript_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/06/callouts-manuscript@2x.jpg 2x" />
                  <img data-original="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-manuscript_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-manuscript@2x.jpg" width="860" height="500" src="https://cdn3.brettterpstra.com/uploads/2024/06/callouts-manuscript.jpg" title="Callouts in Manuscript" alt="Callouts in Manuscript" />
                </noscript>
              </picture>
              <figcaption>Callouts in Manuscript</figcaption>
            </figure>

<p>I separated the script from the main Obsidian script so that, should you want to, you can run it on any content and make use of the Obsidian callout syntax irrespective of other syntax.</p>

<p>The script is in my <a href="https://github.com/ttscoff/conductor-config/tree/main">Conductor example config</a>, along with the stylesheet document. You can see in the <a href="https://github.com/ttscoff/conductor-config/blob/main/tracks.yaml#L17">tracks.yaml</a> file that the script and injection are defined as a <code class="language-plaintext highlighter-rouge">sequence</code>:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code><span class="na">tracks</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="na">title</span><span class="pi">:</span> <span class="s">Preprocessing</span>
    <span class="na">condition</span><span class="pi">:</span> <span class="s">phase is pre</span>
    <span class="na">tracks</span><span class="pi">:</span>
    <span class="pi">-</span> <span class="na">title</span><span class="pi">:</span> <span class="s">Obsidian Markdown document</span>
      <span class="na">condition</span><span class="pi">:</span> <span class="s">tree contains .obsidian AND (extension is md OR extension is markdown)</span>
      <span class="na">sequence</span><span class="pi">:</span>
        <span class="pi">-</span> <span class="na">script</span><span class="pi">:</span> <span class="s">obsidian-md-filter</span>
        <span class="pi">-</span> <span class="na">script</span><span class="pi">:</span> <span class="s">obsidian-callouts</span>
        <span class="pi">-</span> <span class="na">filter</span><span class="pi">:</span> <span class="s">insertCSS(callouts)</span></code></pre></div></div>

<blockquote>
  <p>Note that this makes use of the insertCSS() filter, which I just added in conductor 1.0.16, so make sure you update. This filter compresses the CSS and injects it at the beginning of the document, after any existing metadata.</p>
</blockquote>

<p>The files you need are <a href="https://github.com/ttscoff/conductor-config/blob/main/scripts/obsidian-callouts">the script</a> (placed in <code class="language-plaintext highlighter-rouge">~/.config/conductor/scripts/</code>) and <a href="https://github.com/ttscoff/conductor-config/blob/main/css/callouts.css">the style</a> (placed in <code class="language-plaintext highlighter-rouge">~/.config/conductor/css/</code>). Both of these are included if you just clone the <a href="https://github.com/ttscoff/conductor-config/tree/main">example config repo</a>. Then include a sequence like above for any given condition to start handling Obsidian callout syntax. This works best as a Preprocessor, but should still function fine as part of a Processor if you&rsquo;re also handling the Markdown conversion in a script.</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112691404493730355">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F27%2Fobsidian-callouts-in-marked%2F&text=Obsidian+Callouts+in+Marked&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F27%2Fobsidian-callouts-in-marked%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16727652.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[OmniOutliner giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16723486/omnioutliner-giveaway"/>
    <updated>2024-06-24T08:00:00-05:00</updated>
    <published>2024-06-24T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/24/omnioutliner-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with OmniOutliner icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnioutliner2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnioutliner2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnioutliner2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnioutliner2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnioutliner2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnioutliner2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnioutliner2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnioutliner2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnioutliner2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnioutliner2024-rb.jpg" alt="Giveaway Robot with OmniOutliner icon" title="Giveaway Robot with OmniOutliner icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 5 Standard licenses ($39.98 value each) for <a href="https://www.omnigroup.com/omnioutliner">OmniOutliner</a>. If you think well in outlines, OmniOutliner is the premier tool for doing just that. And it blends seamlessly with other Omni products like OmniGraffle and OmniFocus. This giveaway covers you for Mac ($19.99) and iOS ($19.99).</p>

<p>From the developer:</p>

<blockquote>
  <p>OmniOutliner is a powerful tool for organizing (and reorganizing) information, so you can see the full picture and structure your information effortlessly. Organize, reorganize, and structure your big ideas—easily. Think, write, brainstorm, and create the perfect outline with this powerful, all-purpose, productivity tool.</p>
</blockquote>

<picture data-title="OmniOutliner screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/omnioutliner-screenshot-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/omnioutliner-screenshot-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/10/omnioutliner-screenshot-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/omnioutliner-screenshot-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/10/omnioutliner-screenshot-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/10/omnioutliner-screenshot-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/10/omnioutliner-screenshot-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/10/omnioutliner-screenshot-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/10/omnioutliner-screenshot-800@2x.jpg" width="800" height="508" src="https://cdn3.brettterpstra.com/uploads/2023/10/omnioutliner-screenshot-800.jpg" alt="OmniOutliner screenshot" title="OmniOutliner screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://www.omnigroup.com/omnioutliner">OmniOutliner</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, June 28, at 12pm Central. The drawing is for 5 Standard licenses ($39.98 value each) for OmniOutliner, one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/06/24/omnioutliner-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112671752063797441">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F24%2Fomnioutliner-giveaway%2F&text=OmniOutliner+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F24%2Fomnioutliner-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16723486.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The Screens giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16721876/the-screens-giveaway-winners"/>
    <updated>2024-06-21T14:21:00-05:00</updated>
    <published>2024-06-21T14:21:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/21/the-screens-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Screens icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/screens2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/screens2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/screens2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/screens2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/screens2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/screens2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/screens2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/screens2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/screens2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/screens2024-winners-rb.jpg" alt="Giveaway Robot with Screens icon, confetti background" title="Giveaway Robot with Screens icon, confetti background" />
              </noscript>
            </picture>

<p>The Screens giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>Werner Küper</li>
  <li>Peter Underhill</li>
  <li>Robert Shaw</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://edovia.com/en/screens/">Screens is still worth checking out</a>. Screens is the ultimate tool for remote access. You can still save 20% off your first year using the App Store code <code class="language-plaintext highlighter-rouge">BRETT20</code>. Note that the Mac App Store can&rsquo;t process offer codes &mdash; you&rsquo;ll need to redeem on iOS, but the purchase will apply to the macOS version as well.</p>

<p>Next up is <a href="https://www.omnigroup.com/omnioutliner">OmniOutliner</a>. Check back every Monday through September, 2024 for more giveaways.
The next giveaways include:</p>

<ul>
  <li><a href="https://marked2app.com">Marked</a></li>
  <li><a href="https://aptonic.com/">Dropzone</a></li>
  <li><a href="https://tableflipapp.com/">TableFlip</a></li>
  <li><a href="https://www.backblaze.com/terpstra">Backblaze</a></li>
  <li><a href="https://www.popclip.app/">PopClip</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112656373805843598">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F21%2Fthe-screens-giveaway-winners%2F&text=The+Screens+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F21%2Fthe-screens-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16721876.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Markdown Lipsum v2]]></title>
    <link href="https://brett.trpstra.net/link/535/16717305/markdown-lipsum-v2"/>
    <updated>2024-06-17T12:04:00-05:00</updated>
    <published>2024-06-17T12:04:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/17/markdown-lipsum-v2</id>
    <content type="html"><![CDATA[
<p>I know it&rsquo;s been <a href="https://brettterpstra.com//2024/06/14/a-markdown-lorem-ipsum-api/">less than a week</a> since v1, but I made some major changes to <a href="https://brettterpstra.com//md-lipsum/">md-lipsum</a> that warrant a version 2.</p>

<p>Basically, I incorporated all of the API options from <a href="https://loripsum.net/">Loripsum.net</a>, meaning you can now specify how many paragraphs and what elements are included. You can still get a full Markdown document with all elements using <a href="https://brettterpstra.com/md-lipsum/api/2/all">https://brettterpstra.com/md-lipsum/api/2/all</a>. You can include <code class="language-plaintext highlighter-rouge">/short</code>, <code class="language-plaintext highlighter-rouge">/medium</code>, <code class="language-plaintext highlighter-rouge">/long</code>, or <code class="language-plaintext highlighter-rouge">/verylong</code> in the path to determine paragraph length (can be shortened to <code class="language-plaintext highlighter-rouge">s</code>, <code class="language-plaintext highlighter-rouge">m</code>, <code class="language-plaintext highlighter-rouge">l</code>, <code class="language-plaintext highlighter-rouge">vl</code>), and/or a number to determine the number of paragraphs. More paragraphs means more header levels, too. Example:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code>curl 'https://brettterpstra.com/md-lipsum/api/2/all/10/m'</code></pre></div></div>

<blockquote class="tip">
  <p>If no parameters are given, e.g. the path is just <code class="language-plaintext highlighter-rouge">/api/2</code>, then all elements will be output with 5 paragraphs of medium length.</p>
</blockquote>

<p>You can also control exactly what elements are included using additional path parameters. These are detailed on the <a href="https://brettterpstra.com//md-lipsum/">project page</a>.</p>

<p>Have fun!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112633105189348958">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F17%2Fmarkdown-lipsum-v2%2F&text=Markdown+Lipsum+v2&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F17%2Fmarkdown-lipsum-v2%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16717305.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Screens giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16716883/screens-giveaway"/>
    <updated>2024-06-17T08:00:00-05:00</updated>
    <published>2024-06-17T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/17/screens-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Screens icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-screens2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-screens2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-screens2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-screens2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-screens2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-screens2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-screens2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-screens2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-screens2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-screens2024-rb.jpg" alt="Giveaway Robot with Screens icon" title="Giveaway Robot with Screens icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 3 1-year subscriptions ($24.99 value each) for <a href="https://edovia.com/en/screens/">Screens</a>. If you need a remote desktop, whether to control your own servers and remote Macs (or Linux, Windows, or even Raspberry Pis) or to do remote support for customers, friends, and family, Screens has you covered. It&rsquo;s the most elegant remote desktop software I&rsquo;ve used, and it&rsquo;s a Universal app, on Mac, iPhone, and iPad. Seamless clipboard sharing, file drag and drop, and a great interface for accessing all of your machines.</p>

<p>From the developer:</p>

<blockquote>
  <p>Screens 5 VNC provides unparalleled remote desktop access with a seamless interface, allowing users to easily connect to their Mac or PC from an iPhone, iPad, Mac, or Vision Pro. It features Curtain Mode for privacy, multi-display support, and robust security for smooth, secure connections. Integration with iCloud and Tailscale enhances its versatility and ease of use. Whether for work or personal use, Screens 5 VNC is the ultimate tool for effortless and reliable remote desktop management.</p>
</blockquote>

<picture data-title="Screens screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/01/s5-intro-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/01/s5-intro-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/01/s5-intro-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/01/s5-intro-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/01/s5-intro-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/01/s5-intro-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/01/s5-intro-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/01/s5-intro-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/01/s5-intro-800@2x.jpg" width="800" height="488" src="https://cdn3.brettterpstra.com/uploads/2024/01/s5-intro-800.jpg" alt="Screens screenshot" title="Screens screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://edovia.com/en/screens/">Screens</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, June 21, at 12pm Central. The drawing is for 3 1-year subscriptions ($24.99 value each) for Screens, one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/06/17/screens-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112632121664593525">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F17%2Fscreens-giveaway%2F&text=Screens+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F17%2Fscreens-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16716883.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Text Blaze shareable folders]]></title>
    <link href="https://brett.trpstra.net/link/535/16715638/text-blaze-shareable-folders"/>
    <updated>2024-06-15T14:35:00-05:00</updated>
    <published>2024-06-15T14:35:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/15/text-blaze-shareable-folders</id>
    <content type="html"><![CDATA[
<picture data-title="lipsum-text-blaze-rb.jpg">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-text-blaze-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-text-blaze-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-text-blaze-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-text-blaze-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-text-blaze-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-text-blaze-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-text-blaze-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-text-blaze-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-text-blaze-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-text-blaze-rb.jpg" alt="lipsum-text-blaze-rb.jpg" title="lipsum-text-blaze-rb.jpg" />
              </noscript>
            </picture>

<p>When I first tried it out, <a href="https://blaze.today/" title="Text Blaze:Snippets and Templates for Chrome">Text Blaze</a> didn&rsquo;t make it easy to publicly share folders of snippets. They&rsquo;ve solved that, apparently, so now you can make folders publicly available from the Mac app. So I present&hellip;</p>

<blockquote class="warn">
  <p><ins>Apparently folder sharing is still an &ldquo;MVP&rdquo; feature, so I can
share with <em>you</em>, but&hellip;</ins></p>
</blockquote>

<picture data-title="lipsum-folder.jpg">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-folder_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-folder.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-folder@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-folder.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-folder@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-folder_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-folder@2x.jpg 2x" />
                <img class="alignright" data-original="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-folder_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-folder@2x.jpg" width="400" height="293" src="https://cdn3.brettterpstra.com/uploads/2024/06/lipsum-folder.jpg" alt="lipsum-folder.jpg" title="lipsum-folder.jpg" />
              </noscript>
            </picture>
<p><a href="https://dashboard.blaze.today/gallery/0dR0aLGYCybtkNeyMwbi">Lipsum</a>, a collection of random text generators for Text Blaze. These almost all make use of the <code class="language-plaintext highlighter-rouge">{urlload}</code> command, which currently doesn&rsquo;t show up in the command palette and I&rsquo;m unclear as to whether they&rsquo;re available to lower-level accounts (I have a Business subscription). If you try them out and run into issues, let me know.</p>

<p>This set includes a couple of snippets for inserting placeholder images into HTML/Markdown documents, which I use pretty frequently when designing. You&rsquo;ll also find snippets for Bacon Ipsum (I&rsquo;m pescatarian, but&hellip;) and Hipster Ipsum, for those who prefer a little change from the typical Lorem Ipsum.</p>

<p>If you&rsquo;re trying out Text Blaze, check out the <a href="https://dashboard.blaze.today/gallery/0dR0aLGYCybtkNeyMwbi">Lipsum</a> folder. If nothing else, it offers some good examples for using <code class="language-plaintext highlighter-rouge">{urlload}</code> in your own snippets.</p>

<blockquote class="tip">
  <p>Standard (for now) PSA: You have to scroll all the way to the bottom of the Text Blaze page to find the Mac app. I don&rsquo;t know why they don&rsquo;t make their native apps more obvious&hellip;</p>
</blockquote>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112622416061005685">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F15%2Ftext-blaze-shareable-folders%2F&text=Text+Blaze+shareable+folders&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F15%2Ftext-blaze-shareable-folders%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16715638.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The Audio Hijack giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16714716/the-audio-hijack-giveaway-winners"/>
    <updated>2024-06-14T13:00:00-05:00</updated>
    <published>2024-06-14T13:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/14/the-audio-hijack-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Audio Hijack icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/audiohijack2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/audiohijack2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/audiohijack2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/audiohijack2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/audiohijack2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/audiohijack2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/audiohijack2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/audiohijack2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/audiohijack2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/audiohijack2024-winners-rb.jpg" alt="Giveaway Robot with Audio Hijack icon, confetti background" title="Giveaway Robot with Audio Hijack icon, confetti background" />
              </noscript>
            </picture>

<p>The Audio Hijack giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>Brandon Eleff</li>
  <li>Andrew Northern</li>
  <li>Adam Ellery</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://rogueamoeba.com/audiohijack/">Audio Hijack is still worth checking out</a>. You can&rsquo;t beat Audio Hijack for audio recording on the Mac. Whether you&rsquo;re podcasting or just recording audio from your web browser, it does it all. You can still <a href="https://rogueamoeba.com/audiohijack/buy.php">save 15% on a purchase</a> with the code <code class="language-plaintext highlighter-rouge">TERPSTRA15</code>.</p>

<p>Next up is <a href="https://edovia.com/en/screens/">Screens</a>. Check back every Monday through September, 2024 for more giveaways.
The next giveaways include:</p>

<ul>
  <li><a href="https://www.omnigroup.com/omnioutliner">OmniOutliner</a></li>
  <li><a href="https://marked2app.com">Marked</a></li>
  <li><a href="https://aptonic.com/">Dropzone</a></li>
  <li><a href="https://tableflipapp.com/">TableFlip</a></li>
  <li><a href="https://www.backblaze.com/terpstra">Backblaze</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112616372085507156">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F14%2Fthe-audio-hijack-giveaway-winners%2F&text=The+Audio+Hijack+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F14%2Fthe-audio-hijack-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16714716.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[A Markdown Lorem Ipsum API]]></title>
    <link href="https://brett.trpstra.net/link/535/16714717/a-markdown-lorem-ipsum-api"/>
    <updated>2024-06-14T12:54:00-05:00</updated>
    <published>2024-06-14T12:54:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/14/a-markdown-lorem-ipsum-api</id>
    <content type="html"><![CDATA[
<p>I built a new little API for you. It generates Markdown Lorem Ipsum. First, a little background.</p>

<h3 id="why">Why?</h3>

<p>As I&rsquo;ve mentioned elsewhere, I&rsquo;ve been playing with <a href="https://blaze.today/">Text Blaze</a>, a cool new app that might eventually replace TextExpander for me. One of the major things missing from Text Blaze, though, is script snippets, which I make use of a lot in TextExpander. What it does offer, though, is a command for fetching a REST API and processing the result. A lot of my script snippets are doing just that, so those are actually more convenient to build in Text Blaze. For the ones that need extra handling, I&rsquo;ve just been creating web endpoints that run my scripts for me.</p>

<blockquote class="tip">
  <p>When you go to the <a href="https://blaze.today/">Text Blaze home page</a> it looks like it&rsquo;s just a Chrome extension. You have to go all the way to the bottom of the page to find the Mac app (beta).</p>
</blockquote>

<p>One such snippet I wanted back was my random Markdown generator, which I use frequently to test out styles for things like <a href="https://marked2app.com">Marked</a>, <a href="https://nvultra.com">nvUltra</a>, or <a href="https://multimarkdown.com/composer4/">MultiMarkdown Composer</a>. There&rsquo;s an existing API called <a href="https://jaspervdj.be/lorem-markdownum/">Lorem Markdownum</a>, but it doesn&rsquo;t generate enough of the syntax consistently to be good for testing themes. So I built my own.</p>

<h3 id="md-lipsum">MD-Lipsum</h3>

<p><a href="https://brettterpstra.com/md-lipsum/">&ldquo;MD-Lipsum&rdquo;</a> uses <a href="https://loripsum.net/">Loripsum.net</a> to generate a full set of HTML markup with random text, and then converts that HTML to basic Markdown. No tables, unfortunately, but it outputs a complete set of standard Markdown elements, including bold/italics, ordered and unordered lists, headers, block quotes, code blocks (fenced), and definition lists (MultiMarkdown syntax).</p>

<h4 id="usage">Usage</h4>

<p>To use the API, just point to <code class="language-plaintext highlighter-rouge">https://brettterpstra.com/md-lipsum/api/1</code>. You can add <code class="language-plaintext highlighter-rouge">/long</code> or <code class="language-plaintext highlighter-rouge">/short</code> but it has minimal effect (a shortcoming of the loripsum.net API, I think). It just returns plain text, much like the <a href="https://brettterpstra.com/titlecase/test">TitleCase API</a> I made a while back.</p>

<p>You can use it from the command line like:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code>curl 'https://brettterpstra.com/md-lipsum/api/1'</code></pre></div></div>

<p>To use it in Text Blaze, you&rsquo;d want a snippet like:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code>{urlload: https://brettterpstra.com/md-lipsum/api/1; done=(res) -&gt; ["response": res]; headers=; body=; method=GET}{=response}</code></pre></div></div>

<p>There&rsquo;s a little page <a href="https://brettterpstra.com/md-lipsum/">here</a> but it just tells you what&rsquo;s in this post!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112616289648102885">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F14%2Fa-markdown-lorem-ipsum-api%2F&text=A+Markdown+Lorem+Ipsum+API&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F14%2Fa-markdown-lorem-ipsum-api%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16714717.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Web Excursions for June 12, 2024]]></title>
    <link href="https://brett.trpstra.net/link/535/16712243/web-excursions-for-june-12-2024"/>
    <updated>2024-06-12T13:12:00-05:00</updated>
    <published>2024-06-12T13:12:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/12/web-excursions-for-june-12-2024</id>
    <content type="html"><![CDATA[<picture data-title="Brett holding map">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2017/03/web-exc-map_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2017/03/web-exc-map.avif 1x, https://cdn3.brettterpstra.com/uploads/2017/03/web-exc-map@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2017/03/web-exc-map.webp 1x, https://cdn3.brettterpstra.com/uploads/2017/03/web-exc-map@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2017/03/web-exc-map_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2017/03/web-exc-map@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2017/03/web-exc-map_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2017/03/web-exc-map@2x.jpg" width="800" height="349" src="https://cdn3.brettterpstra.com/uploads/2017/03/web-exc-map.jpg" alt="Brett holding map" title="Brett holding map" />
              </noscript>
            </picture>

<dl>
  <dt><a href="https://github.com/jordanbaird/Ice">jordanbaird/Ice: Powerful menu bar manager for macOS</a></dt>
  <dd>There&rsquo;s some question about the future of Bartender after a recent acquisition (and some concerns about new telemetry). This project looks like a solid up-and-coming replacement (and free).</dd>
  <dt><a href="https://github.com/darrenburns/dunk">darrenburns/dunk: Prettier git diffs in the terminal 🎨</a></dt>
  <dd>
    <blockquote>
      <p>Prettier git diffs in the terminal</p>
    </blockquote>
  </dd>
  <dt><a href="https://pluralistic.net/2024/06/12/s-curve/#anything-that-cant-go-on-forever-eventually-stops">An end to the climate emergency is in our grasp</a></dt>
  <dd>Climate anxiety keeping you awake? Here&rsquo;s some hopeful news.</dd>
  <dt><a href="https://www.popclip.app/extensions/x/wfhk0x">Obsidian — PopClip Extensions</a></dt>
  <dd>In the vein of cool Obsidian integrations, here’s one for PopClip that can save selected text to a specified file or to the Daily Note page. There’s a similar one for nvUltra in my <a href="https://brettterpstra.com/projects/bretts-popclip-extensions/">PopClip Extensions</a>.</dd>
</dl>


<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112605033764179404">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F12%2Fweb-excursions-for-june-12-2024%2F&text=Web+Excursions+for+June+12%2C+2024&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F12%2Fweb-excursions-for-june-12-2024%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16712243.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Audio Hijack giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16709654/audio-hijack-giveaway"/>
    <updated>2024-06-10T08:00:00-05:00</updated>
    <published>2024-06-10T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/10/audio-hijack-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Audio Hijack icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-audiohijack2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-audiohijack2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-audiohijack2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-audiohijack2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-audiohijack2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-audiohijack2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-audiohijack2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-audiohijack2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-audiohijack2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-audiohijack2024-rb.jpg" alt="Giveaway Robot with Audio Hijack icon" title="Giveaway Robot with Audio Hijack icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 3 licenses ($64 value each) for <a href="https://rogueamoeba.com/audiohijack/">Audio Hijack</a>. When you need to route and record multiple audio sources, whether it&rsquo;s getting separate tracks out of a Skype call for a podcast or recording audio from your music apps, Audio Hijack has all the power you need. Drag and drop a configuration together, linking sources, effects, and outputs, then just hit record.</p>

<p>From the developer:</p>

<blockquote>
  <p>Professional-Grade Recording and More. Save audio from any website, as well as any application running on your Mac. You can even record all the system audio at once! Whether you&rsquo;re recording in-studio with mics and mixers or remote VoIP conversations from services like Skype, Audio Hijack can power your podcast. Audio Hijack&rsquo;s abilities aren&rsquo;t limited to recording. Discover live streaming and internet broadcasting, audio adjustments for both mics and apps, and so much more.</p>
</blockquote>

<picture data-title="Audio Hijack screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/audiohijack-screenshot_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/audiohijack-screenshot.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/10/audiohijack-screenshot@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/audiohijack-screenshot.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/10/audiohijack-screenshot@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/10/audiohijack-screenshot_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/10/audiohijack-screenshot@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/10/audiohijack-screenshot_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/10/audiohijack-screenshot@2x.jpg" width="977" height="541" src="https://cdn3.brettterpstra.com/uploads/2023/10/audiohijack-screenshot.jpg" alt="Audio Hijack screenshot" title="Audio Hijack screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://rogueamoeba.com/audiohijack/">Audio Hijack</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, June 14, at 12pm Central. The drawing is for 3 licenses ($64 value each) for Audio Hijack, one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/06/10/audio-hijack-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112592477758703771">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F10%2Faudio-hijack-giveaway%2F&text=Audio+Hijack+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F10%2Faudio-hijack-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16709654.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The RetroBatch Pro giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16707803/the-retrobatch-pro-giveaway-winners"/>
    <updated>2024-06-07T13:00:00-05:00</updated>
    <published>2024-06-07T13:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/07/the-retrobatch-pro-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with RetroBatch Pro icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/retrobatch2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/retrobatch2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/retrobatch2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/retrobatch2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/retrobatch2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/retrobatch2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/retrobatch2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/retrobatch2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/retrobatch2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/retrobatch2024-winners-rb.jpg" alt="Giveaway Robot with RetroBatch Pro icon, confetti background" title="Giveaway Robot with RetroBatch Pro icon, confetti background" />
              </noscript>
            </picture>

<p>The RetroBatch Pro giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>Andrew Hanson-Dvoracek</li>
  <li>Stephen Lowry</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://flyingmeat.com/retrobatch/">RetroBatch Pro is still worth checking out</a>. Right now Retrobatch Pro is discounted and you can pick up a copy for just $39.99, and you can save an additional $5 by <a href="https://flyingmeat.com/store/index.cgi?couponid=terpstra">clicking here</a>. Go get your image processing automated!</p>

<p>Next up is <a href="https://rogueamoeba.com/audiohijack/">Audio Hijack</a>. Check back every Monday through September, 2024 for more giveaways.
The next giveaways include:</p>

<ul>
  <li><a href="https://edovia.com/en/screens/">Screens</a></li>
  <li><a href="https://www.omnigroup.com/omnioutliner">OmniOutliner</a></li>
  <li><a href="https://marked2app.com">Marked</a></li>
  <li><a href="https://aptonic.com/">Dropzone</a></li>
  <li><a href="https://tableflipapp.com/">TableFlip</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112577341936652715">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F07%2Fthe-retrobatch-pro-giveaway-winners%2F&text=The+RetroBatch+Pro+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F07%2Fthe-retrobatch-pro-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16707803.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The Developer Nation Survey 27th Edition]]></title>
    <link href="https://brett.trpstra.net/link/535/16705600/the-developer-nation-survey-27th-edition"/>
    <updated>2024-06-05T11:25:00-05:00</updated>
    <published>2024-06-05T11:25:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/05/the-developer-nation-survey-27th-edition</id>
    <content type="html"><![CDATA[
<p><a href="https://developereconomics.net?member_id=brett&amp;lang=en&amp;locale=en"><picture data-title="Developer Survey Banner">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/developer-survey_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/developer-survey.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/06/developer-survey@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/06/developer-survey.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/06/developer-survey@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/06/developer-survey_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/06/developer-survey@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/06/developer-survey_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/06/developer-survey@2x.jpg" width="800" height="450" src="https://cdn3.brettterpstra.com/uploads/2024/06/developer-survey.jpg" alt="Developer Survey Banner" title="Developer Survey Banner" />
              </noscript>
            </picture></a></p>

<p>The <a href="https://developereconomics.net?member_id=brett&amp;lang=en&amp;locale=en">27th Developer Nation Survey</a> is open until July 9th. Take the survey and get entered in a drawing for prizes, including a GoPro Hero12 Black, Laptop Screen Extender 14&rdquo;, Samsung T7 Shield SSD 1TB, Raspberry Pi 5, AeroPress Coffee Maker, Udemy &amp; Amazon gift cards, Developer Nation Swag and much more! Developer Nation community members are also eligible for an iPad Mini, Amazon gift cards and more.</p>

<p>This is a global developer survey covering 13 areas, including: Web,
Mobile, Desktop, Cloud, Industrial IoT, Consumer Electronics, Embedded
software, AR &amp; VR, Apps/extensions for 3rd-party ecosystems, Games,
Machine Learning &amp; AI, and Data science. It&rsquo;s open to all developers and
no-code software creators. Share what you like and dislike about popular tools and platforms and make an impact on the ecosystem.</p>

<p>As a thank you you&rsquo;ll get a &ldquo;goody bag&rdquo; with free coding resources,
vouchers and learning material to support your career growth. Also, the
more questions you answer the more chances you get to win the cool
prizes listed above.</p>

<p><a href="https://developereconomics.net?member_id=brett&amp;lang=en&amp;locale=en">Take the survey</a> before July 9th!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112565113292348127">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F05%2Fthe-developer-nation-survey-27th-edition%2F&text=The+Developer+Nation+Survey+27th+Edition&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F05%2Fthe-developer-nation-survey-27th-edition%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16705600.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Retrobatch Pro giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16701743/retrobatch-pro-giveaway"/>
    <updated>2024-06-03T08:00:00-05:00</updated>
    <published>2024-06-03T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/03/retrobatch-pro-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Retrobatch Pro icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-retrobatch2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-retrobatch2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-retrobatch2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-retrobatch2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-retrobatch2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-retrobatch2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-retrobatch2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-retrobatch2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-retrobatch2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-retrobatch2024-rb.jpg" alt="Giveaway Robot with Retrobatch Pro icon" title="Giveaway Robot with Retrobatch Pro icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 2 Pro licenses ($49.99 value each) for <a href="https://flyingmeat.com/retrobatch/">Retrobatch Pro</a>. Retrobatch is the ultimate in image processing automation. Need to resize, crop, watermark, convert, or do anything else to a bunch of images? Or even one image at a time, but repeatedly? Retrobatch lets you define image processing workflows using a visual node-based editor that you can drag images onto and process in bulk. I use it all the time for turning templated blog post headers into web formats (JPG and WEBP) as well as creating cropped versions for social sharing. It saves me easily 10 minutes of time every time I create an image for a post.</p>

<p>From the developer:</p>

<blockquote>
  <p>A node based batch image processor means you can mix, match, and combine different operations together to make the perfect workflow. A node for every operation, from changing DPI to rotation to Machine Learning to custom behaviors with AppleScript. Optimize your images for fast delivery over the Internet. Process one image or thousands of images, with support for reading and writing common file formats, creating multiple inputs and multiple outputs.</p>
</blockquote>

<picture data-title="Retrobatch Pro screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/retrobatch-screenshot-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/retrobatch-screenshot-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/10/retrobatch-screenshot-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/retrobatch-screenshot-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/10/retrobatch-screenshot-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/10/retrobatch-screenshot-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/10/retrobatch-screenshot-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/10/retrobatch-screenshot-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/10/retrobatch-screenshot-800@2x.jpg" width="800" height="383" src="https://cdn3.brettterpstra.com/uploads/2023/10/retrobatch-screenshot-800.jpg" alt="Retrobatch Pro screenshot" title="Retrobatch Pro screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://flyingmeat.com/retrobatch/">Retrobatch Pro</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, June 07, at 12pm Central. The drawing is for 2 Pro licenses ($49.99 value each) for Retrobatch Pro, one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/06/03/retrobatch-pro-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112552842119885404">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F03%2Fretrobatch-pro-giveaway%2F&text=Retrobatch+Pro+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F03%2Fretrobatch-pro-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16701743.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Adding custom search shortcuts in Firefox]]></title>
    <link href="https://brett.trpstra.net/link/535/16701010/adding-custom-search-shortcuts-in-firefox"/>
    <updated>2024-06-02T15:01:00-05:00</updated>
    <published>2024-06-02T15:01:00-05:00</published>
    <id>https://brettterpstra.com//2024/06/02/adding-custom-search-shortcuts-in-firefox</id>
    <content type="html"><![CDATA[<p>This might not be news to most people, but I thought I&rsquo;d point it out for any Firefox users that don&rsquo;t know about it: you can add a custom search shortcut for any site, allowing you to use a short keyword followed by search terms and execute the search without going to the site, clicking search, and entering terms.</p>

<p>To add a custom search:</p>

<ol>
  <li>Go to the site you want to search and use its search field to run any search.</li>
  <li>On the results page, add a bookmark. You can edit the bookmark title to a generic <code class="language-plaintext highlighter-rouge">&lt;SITE NAME&gt; search</code> in this step or in step 4.</li>
  <li>Open up the Bookmarks sidebar (<span class="keycombo combined" title="Command-B"><kbd class="mod symbol">&#8984;</kbd><kbd class="key symbol">B</kbd></span>) (or open the Bookmarks manager with <span class="keycombo combined" title="Option-Command-O"><kbd class="mod symbol">&#8997;</kbd><kbd class="mod symbol">&#8984;</kbd><kbd class="key symbol">O</kbd></span>) and locate the new bookmark. Right click it and choose <strong>Edit Bookmark</strong>.</li>
  <li>Change the search term in the URL to <code class="language-plaintext highlighter-rouge">%s</code>. E.g., if you searched for <code class="language-plaintext highlighter-rouge">frog</code>, find <code class="language-plaintext highlighter-rouge">frog</code> in the URL and replace it.</li>
  <li>Add a short &ldquo;keyword&rdquo; and edit the title to a generic &ldquo;X Search&rdquo; if you didn&rsquo;t already. The keyword is the short text you&rsquo;ll use to access the search. It can be as short as one character.</li>
  <li>Save the edit.</li>
</ol>

<p>Now you can just focus the URL bar (<span class="keycombo combined" title="Command-L"><kbd class="mod symbol">&#8984;</kbd><kbd class="key symbol">L</kbd></span>), type the keyword followed by a space and whatever search terms you want to use. The search page will be loaded directly with the results!</p>

<figure class="bt-video-container" style="padding-bottom:NaN%"><video width="" height="" preload="none" controls="" poster=""><source src="https://brettterpstra.com//uploads/2024/06/CustomFirefoxSearch.webm" type="video/webm" /><source src="https://brettterpstra.com//uploads/2024/06/CustomFirefoxSearch.ogg" type="video/ogg; codecs=&quot;theora, vorbis&quot;" /><source src="https://brettterpstra.com//uploads/2024/06/CustomFirefoxSearch.mp4" type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;" /></video></figure>

<p>Hope that&rsquo;s useful to some people. The same thing can be done in most browsers, I just happen to be using mostly Firefox these days. Feel free to add tips for your browser of choice in the comments.</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112549026611156156">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F02%2Fadding-custom-search-shortcuts-in-firefox%2F&text=Adding+custom+search+shortcuts+in+Firefox&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F06%2F02%2Fadding-custom-search-shortcuts-in-firefox%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16701010.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The DEVONthink giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16700012/the-devonthink-giveaway-winners"/>
    <updated>2024-05-31T12:05:00-05:00</updated>
    <published>2024-05-31T12:05:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/31/the-devonthink-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with DEVONthink icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/devonthink2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/devonthink2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/devonthink2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/devonthink2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/devonthink2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/devonthink2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/devonthink2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/devonthink2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/devonthink2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/devonthink2024-winners-rb.jpg" alt="Giveaway Robot with DEVONthink icon, confetti background" title="Giveaway Robot with DEVONthink icon, confetti background" />
              </noscript>
            </picture>

<p>The DEVONthink giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>John-Louis Gao</li>
  <li>Cris Thomas</li>
  <li>Charles Law</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://www.devontechnologies.com/apps/devonthink">DEVONthink is still worth checking out</a>. If you gather information for your job, your personal life, or for any reason, you can&rsquo;t beat DEVONthink for organizing it all. If you didn&rsquo;t win, you can still save 10% with the coupon <code class="language-plaintext highlighter-rouge">TTSCOFF2024</code>. And to the winners, don&rsquo;t forget you have the option to upgrade your Standard license to Pro for just the difference in value.</p>

<p>Next up is <a href="https://flyingmeat.com/retrobatch/">RetroBatch Pro</a>. Check back every Monday through September, 2024 for more giveaways.
The next giveaways include:</p>

<ul>
  <li><a href="https://rogueamoeba.com/audiohijack/">Audio Hijack</a></li>
  <li><a href="https://edovia.com/en/screens/">Screens</a></li>
  <li><a href="https://www.omnigroup.com/omnioutliner">OmniOutliner</a></li>
  <li><a href="https://marked2app.com">Marked</a></li>
  <li><a href="https://aptonic.com/">Dropzone</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112536838059611070">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F31%2Fthe-devonthink-giveaway-winners%2F&text=The+DEVONthink+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F31%2Fthe-devonthink-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16700012.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[DEVONthink giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16694923/devonthink-giveaway"/>
    <updated>2024-05-27T08:00:00-05:00</updated>
    <published>2024-05-27T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/27/devonthink-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with DEVONthink icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-devonthink2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-devonthink2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-devonthink2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-devonthink2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-devonthink2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-devonthink2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-devonthink2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-devonthink2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-devonthink2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-devonthink2024-rb.jpg" alt="Giveaway Robot with DEVONthink icon" title="Giveaway Robot with DEVONthink icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 3 Standard licenses ($99 value each) for <a href="https://www.devontechnologies.com/apps/devonthink">DEVONthink</a>. DEVONthink is the ultimate in Knowledge Management, allowing you to collect all of your notes, documents, emails, and more, then analyze and draw connections between them automatically. Scan paper documents with OCR to make them searchable, archive emails, even download complete websites. This giveaway is for a Standard license, which can be upgraded to the powerful DEVONthink Pro for just the difference in value.</p>

<p>From the developer:</p>

<blockquote>
  <p>Focus on your work and let DEVONthink remember all the details. Collect, organize, edit and annotate documents of any kind. Have them automatically analyzed, connected, and filed. Sync them between your Mac, iPhone, and iPad.</p>
</blockquote>

<picture data-title="DEVONthink screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/devonthink-screenshot-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/devonthink-screenshot-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/10/devonthink-screenshot-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/devonthink-screenshot-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/10/devonthink-screenshot-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/10/devonthink-screenshot-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/10/devonthink-screenshot-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/10/devonthink-screenshot-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/10/devonthink-screenshot-800@2x.jpg" width="800" height="458" src="https://cdn3.brettterpstra.com/uploads/2023/10/devonthink-screenshot-800.jpg" alt="DEVONthink screenshot" title="DEVONthink screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://www.devontechnologies.com/apps/devonthink">DEVONthink</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, May 31, at 12pm Central. The drawing is for 3 Standard licenses ($99 value each) for DEVONthink, one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/05/27/devonthink-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112513206265391182">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F27%2Fdevonthink-giveaway%2F&text=DEVONthink+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F27%2Fdevonthink-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16694923.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Man, I should have started Conductor with filters]]></title>
    <link href="https://brett.trpstra.net/link/535/16693490/man-i-should-have-started-conductor-with-filters"/>
    <updated>2024-05-25T11:42:00-05:00</updated>
    <published>2024-05-25T11:42:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/25/man-i-should-have-started-conductor-with-filters</id>
    <content type="html"><![CDATA[
<p>I added a few more (obvious) <a href="https://brettterpstra.com/2024/05/24/conductor-filters-simplify-basic-operations/">filters</a> to <a href="https://brettterpstra.com/projects/conductor">Conductor</a> this morning. I really should have started here, it makes configuration so convenient and alleviates the need for about 50% of what you would do with scripting. Now you can do it all from one YAML file.</p>

<p>The new filters are:</p>

<table>
  <tbody>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">insertTOC(max, after)</code></td>
      <td>insert TOC (max=max levels, after=start, *h1, or h2)</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">prepend/appendFile(path)</code></td>
      <td>insert a file as Markdown at beginning or end of content</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">prepend/appendRaw(path)</code></td>
      <td>insert a file as raw HTML at beginning or end of content</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">prepend/appendCode(path)</code></td>
      <td>insert a file as a code block at beginning or end of content</td>
    </tr>
  </tbody>
</table>

<p>These allow you to insert a table of contents and append or prepend files, raw HTML, or code blocks.</p>

<p>Inserted files can be absolute paths or you can store templates in <code class="language-plaintext highlighter-rouge">~/.config/conductor/files</code> and just reference them by filename. Perfect for adding things like bios and disclaimers to your documents before outputing them (as PDF, HTML, or even as a new Markdown document).</p>

<p>The table of contents can be inserted at the top (&ldquo;start&rdquo; or &ldquo;top&rdquo;) or after the first h1 or h2 in the document.</p>

<p>If you use <code class="language-plaintext highlighter-rouge">insertTOC(3, h1)</code> after an <code class="language-plaintext highlighter-rouge">insertTitle</code> in a <code class="language-plaintext highlighter-rouge">sequence</code>, you&rsquo;d get a title inserted from metadata first, then a TOC inserted after it. (Then use the new <code class="language-plaintext highlighter-rouge">insertScript()</code> filter to add Mermaid or a custom MathJax implementation. Sky&rsquo;s the limit, kind of.)</p>

<p>These filters make some of the more basic tasks you&rsquo;d usually perform with a Custom Processor script as easy as one line in a config file.</p>

<p>Full details on the <a href="https://brettterpstra.com/projects/conductor">project page</a>.</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112502759411642245">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F25%2Fman-i-should-have-started-conductor-with-filters%2F&text=Man%2C+I+should+have+started+Conductor+with+filters&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F25%2Fman-i-should-have-started-conductor-with-filters%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16693490.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[I can't believe I forgot this Conductor filter]]></title>
    <link href="https://brett.trpstra.net/link/535/16693412/i-cant-believe-i-forgot-this-conductor-filter"/>
    <updated>2024-05-25T08:18:00-05:00</updated>
    <published>2024-05-25T08:18:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/25/i-cant-believe-i-forgot-this-conductor-filter</id>
    <content type="html"><![CDATA[<p>So yesterday I announced a new feature in <a href="https://brettterpstra.com/projects/conductor/">Conductor</a> called <a href="https://brettterpstra.com/2024/05/24/conductor-filters-simplify-basic-operations/">Filters</a>. Little built-in commands for performing simple tasks without having to write whole scripts for them. In the process of writing the feature, I forgot what might be the most useful function of all: injecting JavaScripts.</p>

<p>So I&rsquo;ve added <code class="language-plaintext highlighter-rouge">insertScript(path)</code> as a filter. You can give it a full path to a JavaScript file, or you can create a directory at <code class="language-plaintext highlighter-rouge">~/.config/conductor/javascript</code>, add the file there, and then just reference it by name like <code class="language-plaintext highlighter-rouge">filter: insertScript(mermaid)</code> (the <code class="language-plaintext highlighter-rouge">.js</code> is added automatically if needed). You can insert multiple scripts at once by separating the paths with commas, e.g. <code class="language-plaintext highlighter-rouge">insertScript(blog,mermaid)</code>.</p>

<p>I also added an <code class="language-plaintext highlighter-rouge">insertTitle</code> filter that will attempt to pull a title out of metadata (YAML or MMD), and failing that use the filename, converting a slug into a titlecased title (e.g. <code class="language-plaintext highlighter-rouge">2024-05-24-my-blog-post.md</code> becomes <code class="language-plaintext highlighter-rouge">My Blog Post</code>), and insert it as an H1 at the beginning of the content (after any front matter/metadata).</p>

<p>An example config for using this (assuming the scripts <code class="language-plaintext highlighter-rouge">blog.js</code> and <code class="language-plaintext highlighter-rouge">mermaid.js</code> exist in the above directory) would look like:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code><span class="na">tracks</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="na">condition</span><span class="pi">:</span> <span class="s">phase is pre</span>
    <span class="na">tracks</span><span class="pi">:</span>
    <span class="pi">-</span> <span class="na">title</span><span class="pi">:</span> <span class="s">Blog post preprocess</span>
      <span class="na">condition</span><span class="pi">:</span> <span class="s">path contains _post AND has yaml</span>
      <span class="na">sequence</span><span class="pi">:</span>
        <span class="pi">-</span> <span class="na">filter</span><span class="pi">:</span> <span class="s">setStyle(BrettTerpstra.com)</span>
        <span class="pi">-</span> <span class="na">filter</span><span class="pi">:</span> <span class="s">addTitle</span>
        <span class="pi">-</span> <span class="na">filter</span><span class="pi">:</span> <span class="s">insertScript(blog,mermaid)</span></code></pre></div></div>

<p>That config would require no scripting at all. The style would be set, an h1 title would be added, and two scripts would be injected before running through the default Marked processor.</p>

<p>If you think of any more that would be useful, please let me know!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112501955715371235">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F25%2Fi-cant-believe-i-forgot-this-conductor-filter%2F&text=I+can%27t+believe+I+forgot+this+Conductor+filter&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F25%2Fi-cant-believe-i-forgot-this-conductor-filter%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16693412.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Conductor filters simplify basic operations]]></title>
    <link href="https://brett.trpstra.net/link/535/16693021/conductor-filters-simplify-basic-operations"/>
    <updated>2024-05-24T13:37:00-05:00</updated>
    <published>2024-05-24T13:37:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/24/conductor-filters-simplify-basic-operations</id>
    <content type="html"><![CDATA[
<picture data-title="conductor.png">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/conductor_tw.png" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/conductor.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/04/conductor@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/conductor.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/04/conductor@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/04/conductor_tw.png 1x, https://cdn3.brettterpstra.com/uploads/2024/04/conductor@2x.png 2x" />
                <img class="alignright" data-original="https://cdn3.brettterpstra.com/uploads/2024/04/conductor_tw.png" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/04/conductor@2x.png" width="256" height="256" src="https://cdn3.brettterpstra.com/uploads/2024/04/conductor.png" alt="conductor.png" title="conductor.png" />
              </noscript>
            </picture>
<p><a href="https://brettterpstra.com/2024/04/25/introducing-the-marked-conductor/" title="Introducing the Marked Conductor">Last month</a> I released <a href="https://brettterpstra.com/projects/conductor">Conductor</a>, a tool for handling multiple Custom Processors in <a href="https://marked2app.com">Marked</a>. It allows you to use natural language conditions to determine which command or script to run, either as preprocessor or processor for Marked. But I found a lot of <a href="https://github.com/ttscoff/conductor-config/tree/main">my scripts</a> were just injecting metadata or performing other simple actions, so I added a new feature to Conductor called Filters. Filters are just shortcuts to avoid having to write simple (often 3 or 4 line) scripts.</p>

<p>Like <code class="language-plaintext highlighter-rouge">command:</code> or <code class="language-plaintext highlighter-rouge">script:</code> actions, you can now just use <code class="language-plaintext highlighter-rouge">filter: filterName(parameters)</code> to do things like setting a Marked Style, injecting or stripping metadata (YAML/MMD aware), or doing search and replaces on the content. These can be run in a <code class="language-plaintext highlighter-rouge">sequence:</code> to combine multiple filters.</p>

<h3 id="available-filters">Available Filters</h3>

<p>The available filters are:</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">addMeta(key, value)</code>/<code class="language-plaintext highlighter-rouge">setMeta(key, value)</code> &ndash; adds or updates a meta key, aware of YAML and MMD</li>
  <li><code class="language-plaintext highlighter-rouge">stripMeta</code> &ndash; strips all metadata (YAML or MMD) from the content</li>
  <li><code class="language-plaintext highlighter-rouge">stripMeta(key)</code> &ndash; removes a specific key (YAML or MMD)</li>
  <li><code class="language-plaintext highlighter-rouge">setStyle(name)</code> &ndash; sets the Marked preview style to a preconfigured Style name</li>
  <li><code class="language-plaintext highlighter-rouge">replace(search, replace)</code>/<code class="language-plaintext highlighter-rouge">replaceAll(search, replace)</code> &ndash; performs a search and replace (global with <code class="language-plaintext highlighter-rouge">replaceAll</code>).
    <ul>
      <li>If <em>search</em> is surrounded with forward slashes followed by optional flags (<em>i</em> for case-insensitive, <em>m</em> to make dot match newlines), e.g. <code class="language-plaintext highlighter-rouge">/contribut(ing)?/i</code>, it will be interpreted as a regular expression. The <em>replace</em> value can include numeric capture groups, e.g. <code class="language-plaintext highlighter-rouge">Follow$2</code>.</li>
    </ul>
  </li>
</ul>

<p>Update to the latest version using <code class="language-plaintext highlighter-rouge">gem install marked-conductor</code> (may vary depending on how you installed it originally) to get the new features, see the <a href="https://brettterpstra.com/projects/conductor">project page</a> for details, and check out my <a href="https://github.com/ttscoff/conductor-config/tree/main">config</a> to see examples.</p>

<p>If there are any simple procedures you&rsquo;re currently using scripts to handle that aren&rsquo;t covered by these, please let me know in the comments what filters you&rsquo;d like to see added!</p>

<h3 id="also-easier-testing">Also, easier testing</h3>

<p>There&rsquo;s now a file in the repo called <a href="https://github.com/ttscoff/marked-conductor/blob/main/test.sh"><code class="language-plaintext highlighter-rouge">test.sh</code></a> that makes it way easier to test configurations from the command line. Just run <code class="language-plaintext highlighter-rouge">test.sh FILENAME</code> to process a file as if it were being opened in Marked. You can use <code class="language-plaintext highlighter-rouge">-o err</code> to output only the STDERR response, which will show which conditions are being matched, and you can use <code class="language-plaintext highlighter-rouge">-p</code> to define the phase as either <code class="language-plaintext highlighter-rouge">pre</code> or <code class="language-plaintext highlighter-rouge">pro</code> to run as Preprocessor or Processor, respectively.</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112497594731338381">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F24%2Fconductor-filters-simplify-basic-operations%2F&text=Conductor+filters+simplify+basic+operations&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F24%2Fconductor-filters-simplify-basic-operations%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16693021.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The OmniGraffle giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16692996/the-omnigraffle-giveaway-winners"/>
    <updated>2024-05-24T13:00:00-05:00</updated>
    <published>2024-05-24T13:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/24/the-omnigraffle-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with OmniGraffle icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle2024-winners-rb.jpg" alt="Giveaway Robot with OmniGraffle icon, confetti background" title="Giveaway Robot with OmniGraffle icon, confetti background" />
              </noscript>
            </picture>

<p>The OmniGraffle giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>Brian Petran</li>
  <li>Hans Järling</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://www.omnigroup.com/omnigraffle">OmniGraffle is still worth checking out</a>. You can&rsquo;t beat OmniGraffle for all of your visual communication and brainstorming.</p>

<p>Next up is <a href="https://www.devontechnologies.com/apps/devonthink">DEVONthink</a>. Check back every Monday through September, 2024 for more giveaways.
The next giveaways include:</p>

<ul>
  <li><a href="https://flyingmeat.com/retrobatch/">RetroBatch Pro</a></li>
  <li><a href="https://rogueamoeba.com/audiohijack/">Audio Hijack</a></li>
  <li><a href="https://edovia.com/en/screens/">Screens</a></li>
  <li><a href="https://www.omnigroup.com/omnioutliner">OmniOutliner</a></li>
  <li><a href="https://marked2app.com">Marked</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112497425206615946">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F24%2Fthe-omnigraffle-giveaway-winners%2F&text=The+OmniGraffle+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F24%2Fthe-omnigraffle-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16692996.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[OmniGraffle giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16687788/omnigraffle-giveaway"/>
    <updated>2024-05-20T08:00:00-05:00</updated>
    <published>2024-05-20T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/20/omnigraffle-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with OmniGraffle icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnigraffle2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnigraffle2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnigraffle2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnigraffle2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnigraffle2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnigraffle2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnigraffle2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnigraffle2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnigraffle2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-omnigraffle2024-rb.jpg" alt="Giveaway Robot with OmniGraffle icon" title="Giveaway Robot with OmniGraffle icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 2 Standard licenses ($209.98 value each) for <a href="https://www.omnigroup.com/omnigraffle">OmniGraffle</a>, including both iOS and Mac licenses. OmniGraffle is the premier application for visual communication of ideas. Omni makes great software, and OmniGraffle is evidence of that. This giveaway gets you licenses for both Mac ($149.99) and iOS ($59.99).</p>

<p>From the developer:</p>

<blockquote>
  <p>With the power to diagram, rapid-prototype, and design, OmniGraffle was made for professionals who need to organize or communicate visually &mdash; beautifully.</p>
</blockquote>

<picture data-title="OmniGraffle screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle-screenshot-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle-screenshot-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle-screenshot-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle-screenshot-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle-screenshot-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle-screenshot-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle-screenshot-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle-screenshot-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle-screenshot-800@2x.jpg" width="800" height="508" src="https://cdn3.brettterpstra.com/uploads/2023/09/omnigraffle-screenshot-800.jpg" alt="OmniGraffle screenshot" title="OmniGraffle screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://www.omnigroup.com/omnigraffle">OmniGraffle</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, May 24, at 12pm Central. The drawing is for 2 Standard licenses ($209.98 value each) for OmniGraffle (iOS and iPad), one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/05/20/omnigraffle-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112473573825341077">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F20%2Fomnigraffle-giveaway%2F&text=OmniGraffle+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F20%2Fomnigraffle-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16687788.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The MacUpdater giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16685793/the-macupdater-giveaway-winners"/>
    <updated>2024-05-17T13:00:00-05:00</updated>
    <published>2024-05-17T13:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/17/the-macupdater-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with MacUpdater icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/macupdater2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/macupdater2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/macupdater2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/macupdater2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/macupdater2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/macupdater2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/macupdater2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/macupdater2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/macupdater2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/macupdater2024-winners-rb.jpg" alt="Giveaway Robot with MacUpdater icon, confetti background" title="Giveaway Robot with MacUpdater icon, confetti background" />
              </noscript>
            </picture>

<p>The MacUpdater giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>Wil Chow</li>
  <li>Dag Høidahl</li>
  <li>Mike Beard</li>
  <li>Bo Link</li>
  <li>Jacob Goldberg</li>
  <li>David Loeffler</li>
  <li>Daniel Revell</li>
  <li>Joseph Gibbs</li>
  <li>Aaron Wasserman</li>
  <li>Troy Patterson</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://www.corecode.io/macupdater/">MacUpdater is still worth checking out</a>. There&rsquo;s no better solution for keeping all of the apps on your Mac up to date. You can still save 20% on a license with the code <code class="language-plaintext highlighter-rouge">BRETT20</code> at checkout. I use this app every day and highly recommend it.</p>

<p>Next up is <a href="https://www.omnigroup.com/omnigraffle">OmniGraffle</a>. Check back every Monday through September, 2024 for more giveaways.
The next giveaways include:</p>

<ul>
  <li><a href="https://www.devontechnologies.com/apps/devonthink">DEVONthink</a></li>
  <li><a href="https://flyingmeat.com/retrobatch/">RetroBatch Pro</a></li>
  <li><a href="https://rogueamoeba.com/audiohijack/">Audio Hijack</a></li>
  <li><a href="https://edovia.com/en/screens/">Screens</a></li>
  <li><a href="https://www.omnigroup.com/omnioutliner">OmniOutliner</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112457778462409588">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F17%2Fthe-macupdater-giveaway-winners%2F&text=The+MacUpdater+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F17%2Fthe-macupdater-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16685793.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Marked 2 and Obsidian]]></title>
    <link href="https://brett.trpstra.net/link/535/16684070/marked-2-and-obsidian"/>
    <updated>2024-05-16T12:56:00-05:00</updated>
    <published>2024-05-16T12:56:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/16/marked-2-and-obsidian</id>
    <content type="html"><![CDATA[<picture data-title="Obsidian and Marked 2 icons">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-marked-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-marked-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-marked-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-marked-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-marked-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-marked-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-marked-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-marked-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-marked-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-marked-rb.jpg" alt="Obsidian and Marked 2 icons" title="Obsidian and Marked 2 icons" />
              </noscript>
            </picture>

<p>I&rsquo;m not going to lie, <a href="https://obsidian.md/" title="Obsidian-Sharpen your thinking">Obsidian</a> is really cool. It&rsquo;s a Markdown-based note system that has a ton of cool features, and even more with its healthy plugin community.</p>

<p>I don&rsquo;t see Obsidian as direct competition for <a href="https://nvultra.com/" title="nvUltra-Searchable, portable, MultiMarkdown notes">nvUltra</a><sup id="fnref:beta" role="doc-noteref"><a href="https://brettterpstra.com#fn:beta" class="footnote" rel="footnote">1</a></sup>, where the main focus is rapid note-taking and full text search, which nvUltra does a superior job of. I actually open my main nvUltra Notebook in Obsidian as a Vault (both of which are just folders on your drive) and love the ease of using both apps together.</p>

<p>Lee Garrett and Mike Schmitz have done some great Obsidian tutorials over at <a href="https://screencastsonline.com/members/aff/go/bterpstra">ScreenCastsOnline</a>. Check out:</p>

<ul>
  <li><a href="https://www.screencastsonline.com/tutorials/productivity/obsidian-basics?ref=bterpstra">Obsidian Basics</a> from Lee, giving a full tutorial for getting started with Obsidian</li>
  <li><a href="https://www.screencastsonline.com/tutorials/productivity/obsidian-plugins-starter-kit?ref=bterpstra">Obsidian Plugins Starter Kit</a> from Mike, offering an overview of some great core and community plugins, with tips that will also serve you well for getting used to using plugins in general</li>
</ul>

<p>(I have an affiliate arrangement with SCO that gives me a little income if you subscribe. They make amazing videos so I&rsquo;m very happy to partner with them!)</p>

<h3 id="integrating-with-marked-2">Integrating with Marked 2</h3>

<p>The point of this post is not to get you to use Obsidian. It&rsquo;s about integrating <a href="https://marked2app.com/" title="Smarter tools for smarter writers">Marked 2</a> with Obsidian for those who already use it. Obsidian plugins offer some great Markdown preview features, but lack all of the writing and customization tools that Marked offers.</p>

<p>Marked works perfectly with Obsidian. You just have to open the current note in Marked and changes show up with about a two-second delay in Marked as you edit (based on the rate that Obsidian autosaves). You can also open your entire Vault folder in Marked and it will always show you the note you&rsquo;re currently editing. It&rsquo;s just a bit of a pain to get these to Marked without revealing in Finder and dragging. So I made <a href="https://github.com/ttscoff/Marked2-obsidian" title="ttscoff/Marked2-obsidian">a plugin</a>.</p>

<picture data-title="marked-sidebar-2.jpg">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/marked-sidebar-2_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/marked-sidebar-2.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/04/marked-sidebar-2@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/marked-sidebar-2.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/04/marked-sidebar-2@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/04/marked-sidebar-2_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/04/marked-sidebar-2@2x.jpg 2x" />
                <img class="alignright" data-original="https://cdn3.brettterpstra.com/uploads/2024/04/marked-sidebar-2_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/04/marked-sidebar-2@2x.jpg" width="146" height="80" src="https://cdn3.brettterpstra.com/uploads/2024/04/marked-sidebar-2.jpg" alt="marked-sidebar-2.jpg" title="marked-sidebar-2.jpg" />
              </noscript>
            </picture>
<p>Eventually I&rsquo;d like to have this plugin available in Obsidian&rsquo;s Community Plugins, but the process of getting it accepted has been slow. If and when it is eventually merged, I&rsquo;ll update these instructions as the process will become much easier. In the meantime, you have two options to install:</p>

<h4 id="use-the-brat-plugin">Use the B.R.A.T. Plugin</h4>

<p>Install <a href="https://github.com/TfTHacker/obsidian42-brat">the BRAT plugin</a>. Then add the Marked 2 plugin repo URL:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code>https://github.com/ttscoff/Marked2-obsidian</code></pre></div></div>

<p>(Thanks to <a href="https://mastodon.social/@phillipsmn">Mason Phillips</a> for pointing this option out.)</p>

<h4 id="install-manually">Install Manually</h4>

<ol>
  <li>
    <p>Open the <code class="language-plaintext highlighter-rouge">.obsidian/plugins</code> folder in your Vault. The easiest way to get there is to open Obsidian Preferences, navigate to Community Plugins, then click the folder icon next to Installed Plugins.</p>

    <picture data-title="browse-obsidian-plugins-800.jpg">
           <noscript class="loading-lazy">
             <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/browse-obsidian-plugins-800_tw.jpg" />
             <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/browse-obsidian-plugins-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/05/browse-obsidian-plugins-800@2x.avif 2x" />
             <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/browse-obsidian-plugins-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/05/browse-obsidian-plugins-800@2x.webp 2x" />
             <source srcset="https://cdn3.brettterpstra.com/uploads/2024/05/browse-obsidian-plugins-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/05/browse-obsidian-plugins-800@2x.jpg 2x" />
             <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/05/browse-obsidian-plugins-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/05/browse-obsidian-plugins-800@2x.jpg" width="800" height="206" src="https://cdn3.brettterpstra.com/uploads/2024/05/browse-obsidian-plugins-800.jpg" alt="browse-obsidian-plugins-800.jpg" title="browse-obsidian-plugins-800.jpg" />
           </noscript>
         </picture>
  </li>
  <li>Create a folder called <code class="language-plaintext highlighter-rouge">Marked-obsidian</code> in the plugins folder.</li>
  <li>Go to <a href="https://github.com/ttscoff/Marked2-obsidian/releases/latest">the latest release</a> of the Marked 2 plugin and download the <code class="language-plaintext highlighter-rouge">main.js</code> and <code class="language-plaintext highlighter-rouge">manifest.json</code> files to the <code class="language-plaintext highlighter-rouge">.obsidian/plugins/Marked-obsidian</code> folder.</li>
  <li>Return to Obsidian Preferences -&gt; Community Plugins and you should now see the Marked plugin available. Enable it by clicking the slider.</li>
</ol>

<p>This gives you a sidebar button for opening the current note in Marked (which can be &ldquo;Marked blue&rdquo; or neutral to fit your theme), as well as two commands in the palette: &ldquo;Open note in Marked&rdquo; and &ldquo;Open vault in Marked.&rdquo;</p>

<picture data-title="obsidian-commands-800.jpg">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-commands-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-commands-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-commands-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-commands-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-commands-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-commands-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-commands-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-commands-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-commands-800@2x.jpg" width="800" height="268" src="https://cdn3.brettterpstra.com/uploads/2024/04/obsidian-commands-800.jpg" alt="obsidian-commands-800.jpg" title="obsidian-commands-800.jpg" />
              </noscript>
            </picture>

<h3 id="handling-obsidian-syntax">Handling Obsidian Syntax</h3>

<p>If you&rsquo;re regularly opening Obsidian files in Marked, you might want to add a Custom Preprocessor for handling general Obsidian markup:</p>

<ol>
  <li>There&rsquo;s <a href="https://github.com/voostindie/obsidian-md-filter">this one</a> from voostinidie that does things like stripping YAML, stripping emojis, and converting wiki links to plain text. It has the nice benefit of replacing <code class="language-plaintext highlighter-rouge">![[file include]]</code> syntax with IA block syntax, which Marked will render. I may eventually add the Obsidian formatting as a valid option for file includes in Marked by default, based on interest. I had a PR accepted to this repo that adds some additional config options for replacing <code class="language-plaintext highlighter-rouge">[[wiki links]]</code> and other Obsidian syntax with links back to the note/header in Obsidian. See the README for configuration details. <a href="https://github.com/ttscoff/obsidian-md-filter">My own fork</a> will always have the latest changes.</li>
  <li>This <a href="https://gist.github.com/radekkozak/9b07af0ff3c90d4dc51d3a4ab41b5b8f?permalink_comment_id=3740329">much simpler one</a> from radekkozak just handles wiki links, and converts them to <code class="language-plaintext highlighter-rouge">obsidian://</code> links for you, so clicking a link in Marked will open the linked note in Obsidian.</li>
</ol>

<blockquote class="tip">
  <p>If you want to be able to render Obsidian notes differently from your usual documents in Marked, <a href="https://brettterpstra.com/projects/conductor/" title="Introducing the Marked Conductor">Conductor</a> is the perfect solution. You can see my own rules for handling Obsidian notes in the <a href="https://github.com/ttscoff/conductor-config/">sample config</a> I provide.</p>
</blockquote>

<p>This is my first Obsidian plugin, and I&rsquo;m not a regular Obsidian user (yet), so I don&rsquo;t know if I&rsquo;m going to really dig into creating more in the future. But this one serves its purpose well and I think a lot of people will find it handy.</p>

<p>By the way, one handy feature of Obsidian is <a href="https://obsidian.md/sync">Obsidian Sync</a>, which is a paid add-on. But never fear, there&rsquo;s a giveaway coming up <a href="https://brettterpstra.com/giveaways/upcoming/">later this year</a> that will get you a free year. <a href="https://brettterpstra.com/subscribe/">Sign up for the newsletter</a> to stay in the loop on all of the sweet giveaways I have lined up.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:beta" role="doc-endnote">
      <p>Yes, nvUltra is still in beta, and development has been slow recently. However, the beta is working quite well and you can join just by contacting me through the email link on <a href="https://nvultra.com">the nvUltra site</a>.&nbsp;<a href="https://brettterpstra.com#fnref:beta" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112452116336496409">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F16%2Fmarked-2-and-obsidian%2F&text=Marked+2+and+Obsidian&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F16%2Fmarked-2-and-obsidian%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16684070.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[MacUpdater giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16680656/macupdater-giveaway"/>
    <updated>2024-05-13T08:00:00-05:00</updated>
    <published>2024-05-13T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/13/macupdater-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with MacUpdater icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-macupdater2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-macupdater2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-macupdater2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-macupdater2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-macupdater2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-macupdater2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-macupdater2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-macupdater2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-macupdater2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-macupdater2024-rb.jpg" alt="Giveaway Robot with MacUpdater icon" title="Giveaway Robot with MacUpdater icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 10 licenses ($14.99 value each) for <a href="https://www.corecode.io/macupdater/">MacUpdater</a>. I run MacUpdater every day to keep all of my software up to date. It keeps track of every update released for hundreds of Mac Apps, including Mac App Store apps. You can ignore individual updates or entire apps, so it only acts on the apps you want updated. It makes installing all available updates a one-click affair in most cases. Keeping your apps updated makes sure you always have the latest security and newest features, and you can check the release notes for any update before you install it (or even while it&rsquo;s installing).</p>

<p>From the developer:</p>

<blockquote>
  <p>Updating apps could not be simpler - just click the &ldquo;Update&rdquo; button next to any outdated app and MacUpdater will update the app to the current version automatically. MacUpdater can silently run in the back-ground, check your apps for updates every day and let you know about new updates with notifications.</p>
</blockquote>

<picture data-title="MacUpdater screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/macupdater-screenshot-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/macupdater-screenshot-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/10/macupdater-screenshot-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/macupdater-screenshot-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/10/macupdater-screenshot-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/10/macupdater-screenshot-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/10/macupdater-screenshot-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/10/macupdater-screenshot-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/10/macupdater-screenshot-800@2x.jpg" width="800" height="657" src="https://cdn3.brettterpstra.com/uploads/2023/10/macupdater-screenshot-800.jpg" alt="MacUpdater screenshot" title="MacUpdater screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://www.corecode.io/macupdater/">MacUpdater</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, May 17, at 12pm Central. The drawing is for 10 licenses ($14.99 value each) for MacUpdater, one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/05/13/macupdater-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112433933719505862">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F13%2Fmacupdater-giveaway%2F&text=MacUpdater+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F13%2Fmacupdater-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16680656.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The BBEdit giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16679893/the-bbedit-giveaway-winners"/>
    <updated>2024-05-12T14:09:00-05:00</updated>
    <published>2024-05-12T14:09:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/12/the-bbedit-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with BBEdit icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/bbedit2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/bbedit2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/bbedit2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit2024-winners-rb.jpg" alt="Giveaway Robot with BBEdit icon, confetti background" title="Giveaway Robot with BBEdit icon, confetti background" />
              </noscript>
            </picture>

<p>The BBEdit giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>Jacob Silver</li>
  <li>Knut Focke</li>
  <li>Joe Vantaggi</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://www.barebones.com/products/bbedit/">BBEdit is still worth checking out</a>. Version 15 is fantastic.</p>

<p>Next up is <a href="https://www.corecode.io/macupdater/">MacUpdater</a>. Check back every Monday through September, 2024 for more giveaways.
The next giveaways include:</p>

<ul>
  <li><a href="https://www.omnigroup.com/omnigraffle">OmniGraffle</a></li>
  <li><a href="https://www.devontechnologies.com/apps/devonthink">DEVONthink</a></li>
  <li><a href="https://flyingmeat.com/retrobatch/">RetroBatch Pro</a></li>
  <li><a href="https://rogueamoeba.com/audiohijack/">Audio Hijack</a></li>
  <li><a href="https://edovia.com/en/screens/">Screens</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112429727185687131">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F12%2Fthe-bbedit-giveaway-winners%2F&text=The+BBEdit+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F12%2Fthe-bbedit-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16679893.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[BBEdit giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16674315/bbedit-giveaway"/>
    <updated>2024-05-06T08:00:00-05:00</updated>
    <published>2024-05-06T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/06/bbedit-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with BBEdit icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-bbedit2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-bbedit2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-bbedit2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-bbedit2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-bbedit2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-bbedit2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-bbedit2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-bbedit2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-bbedit2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-bbedit2024-rb.jpg" alt="Giveaway Robot with BBEdit icon" title="Giveaway Robot with BBEdit icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 3 licenses ($59.99 value each) for <a href="https://www.barebones.com/products/bbedit/">BBEdit</a>. BBEdit is the longest-running text editor on the Mac, and it&rsquo;s only gotten better through the years. With amazing extensibility using AppleScript, a notebook manager, Anaconda Virtual Environments, regex pattern playgrounds, and much, much more, it&rsquo;s the best solution out there for native text editing on the Mac. Version 15 adds a minimap, expandable &ldquo;cheat sheets,&rdquo; ChatGPT Worksheets, a new interface for Text Factories, and more. If you&rsquo;re writing Markdown or HTML, developing software, or manipulating text in any way, you should definitely check it out.</p>

<p>From the developer:</p>

<blockquote>
  <p>BBEdit is the leading professional HTML and text editor for macOS. This award-winning product has been crafted to serve the needs of writers, Web authors and software developers, and provides an abundance of features for editing, searching, and manipulation of prose, source code, and textual data.</p>
</blockquote>

<picture data-title="BBEdit screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit-screenshot-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit-screenshot-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/bbedit-screenshot-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit-screenshot-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/bbedit-screenshot-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit-screenshot-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/bbedit-screenshot-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit-screenshot-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit-screenshot-800@2x.jpg" width="800" height="550" src="https://cdn3.brettterpstra.com/uploads/2023/09/bbedit-screenshot-800.jpg" alt="BBEdit screenshot" title="BBEdit screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://www.barebones.com/products/bbedit/">BBEdit</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, May 10, at 12pm Central. The drawing is for 3 licenses ($59.99 value each) for BBEdit, one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/05/06/bbedit-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112394301090530076">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F06%2Fbbedit-giveaway%2F&text=BBEdit+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F06%2Fbbedit-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16674315.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[The Acorn giveaway winners!]]></title>
    <link href="https://brett.trpstra.net/link/535/16672695/the-acorn-giveaway-winners"/>
    <updated>2024-05-03T12:20:00-05:00</updated>
    <published>2024-05-03T12:20:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/03/the-acorn-giveaway-winners</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Acorn icon, confetti background">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/acorn2024-winners-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/acorn2024-winners-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/acorn2024-winners-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/acorn2024-winners-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/acorn2024-winners-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/acorn2024-winners-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/acorn2024-winners-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/acorn2024-winners-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/acorn2024-winners-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/acorn2024-winners-rb.jpg" alt="Giveaway Robot with Acorn icon, confetti background" title="Giveaway Robot with Acorn icon, confetti background" />
              </noscript>
            </picture>

<p>The Acorn giveaway has ended, and I have winners to announce!</p>

<h3 id="the-winners">The winners!</h3>

<p>Congratulations to:</p>

<ul>
  <li>Theo Thevenot</li>
  <li>Steve Gutierrez</li>
</ul>

<p>You should have received an email with details, please <a href="https://brettterpstra.com/contact/">let me know</a> if you didn&rsquo;t hear anything!</p>

<h3 id="but-i-didnt-win">But I didn&rsquo;t win!</h3>

<p>If you didn&rsquo;t win, sorry, but <a href="https://flyingmeat.com/acorn/">Acorn is still worth checking out</a>. Right now Acorn is discounted and you can pick up a copy for just $29.99, and you can save an additional $5 by <a href="https://flyingmeat.com/store/index.cgi?couponid=terpstra">clicking here</a>. All the image editing power you need in a fast, elegant package!</p>

<p>Next up is <a href="https://www.barebones.com/products/bbedit/">BBEdit</a>. Check back every Monday through September, 2024 for more giveaways.
The next giveaways include:</p>

<ul>
  <li><a href="https://www.corecode.io/macupdater/">MacUpdater</a></li>
  <li><a href="https://www.omnigroup.com/omnigraffle">OmniGraffle</a></li>
  <li><a href="https://www.devontechnologies.com/apps/devonthink">DEVONthink</a></li>
  <li><a href="https://flyingmeat.com/retrobatch/">RetroBatch Pro</a></li>
  <li><a href="https://rogueamoeba.com/audiohijack/">Audio Hijack</a></li>
</ul>

<p>See the <a href="https://brettterpstra.com/giveaways/upcoming/">full list of upcoming giveaways</a>!</p>

<p>If you want to suggest an app you&rsquo;d like to see in this series, let me know on <a href="https://twitter.com/ttscoff">Twitter</a> or <a href="https://nojack.easydns.ca/@ttscoff/">Mastodon</a>, and <a href="https://brettterpstra.com/subscribe/">join the email</a> list for notifications!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112378345602881853">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F03%2Fthe-acorn-giveaway-winners%2F&text=The+Acorn+giveaway+winners%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F03%2Fthe-acorn-giveaway-winners%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16672695.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[WriteMapper - writing with mind maps]]></title>
    <link href="https://brett.trpstra.net/link/535/16671800/writemapper-writing-with-mind-maps"/>
    <updated>2024-05-02T15:13:00-05:00</updated>
    <published>2024-05-02T15:13:00-05:00</published>
    <id>https://brettterpstra.com//2024/05/02/writemapper-writing-with-mind-maps</id>
    <content type="html"><![CDATA[
<picture data-title="writemapper-header-rb.jpg">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-header-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-header-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-header-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-header-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-header-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-header-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-header-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-header-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-header-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-header-rb.jpg" alt="writemapper-header-rb.jpg" title="writemapper-header-rb.jpg" />
              </noscript>
            </picture>

<p>One of the major things I use mind maps for is developing longer-form writing. I do best spitting out all of my ideas for topics and chapters into a mind map, then editing the nodes into chapters and paragraphs. I’ve always done this with iThoughts, which has great keyboard shortcuts for navigating and switching between node and notes panels. Then I would view the piece as it came together using <a href="https://marked2app.com">Marked’s</a> iThoughts integration, and when it was in a mostly gelled state, I would export Markdown and continue editing in <a href="https://multimarkdown.com/" title="MultiMarkdown Software">MultiMarkdown Composer</a>.</p>

<p>I’m going to continue using iThoughts for as long as it survives (in case you missed it, it was announced recently that support and development has been discontinued). As I mentioned in <a href="https://brettterpstra.com/2024/04/28/life-after-ithoughts/">a previous post</a>, I’m going to trust <a href="https://www.mindnode.com/">MindNode</a> to fill in the gap left behind when the time comes. But for writing, I’ve been playing with a new app called WriteMapper (which I mentioned previously in <a href="https://brettterpstra.com/2023/12/11/web-excursions-for-december-11-2023/">a Web Excursions post</a>).</p>

<!--more-->

<h3 id="the-writemapper-way">The WriteMapper way</h3>

<p>WriteMapper is specifically designed for the above use case. It&rsquo;s developed by a solo indie dev (Guan), who&rsquo;s built it out into a very polished app.</p>

<p>Writing in mind map form makes it really easy to organize (and reorganize) content as you write, and to pop between topics as inspiration hits. You can write very specific pieces in each node, and easily arrange them in a way that makes sense, without having to plan far in advance. Sure, you can do the same thing with copy/paste in your editor, but I work best with the map layout.</p>

<blockquote>
  <p>As a side note, MultiMarkdown Composer has a great feature where you can open the Table of Contents view and drag sections around (based on headers) to reorganize the document. It reminds me of an old iOS app called Paragraphs, which I loved but I don’t think it stood the test of time.</p>
</blockquote>

<p>I&rsquo;m writing this post in WriteMapper right now, and I&rsquo;m finding it very enjoyable.</p>

<picture data-title="writemapper-map-view.jpg">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-map-view_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-map-view.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-map-view@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-map-view.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-map-view@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-map-view_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-map-view@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-map-view_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-map-view@2x.jpg" width="1262" height="641" src="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-map-view.jpg" alt="writemapper-map-view.jpg" title="writemapper-map-view.jpg" />
              </noscript>
            </picture>

<h3 id="writemapper-features">WriteMapper features</h3>

<h4 id="the-editor">The Editor</h4>

<p>WriteMapper has a great editor built in. It&rsquo;s a much more polished editing experience than writing in iThoughts was. It gives you all your standard shortcuts for bold, italics, and <span class="keycombo combined" title="Command-K"><kbd class="mod symbol">&#8984;</kbd><kbd class="key symbol">K</kbd></span> for links, and it’s easy to add headlines, though most of those will be added using the node titles.</p>

<p>The editor is your basic plain text editor with a rich text overlay, a la IA Writer or to some extent Ulysses, but closer to a WYSYWIG editor in a platform like WordPress. It&rsquo;s slick and comfortable to work in, though you can&rsquo;t see a Markdown view, which I miss from some Markdown-based editors. The underlying format for the document is HTML, so you don&rsquo;t have a lot of more &ldquo;word processor&rdquo; type features available, but for my own writing, that&rsquo;s irrelevant. Anything I need to do that I can&rsquo;t in plain text is done with plugins and extensions to my publishing platforms. You don&rsquo;t get to choose your font for editing, which might bug some people.</p>

<p>As far as Markdown compatibility goes, it will convert some Markdown to the rich text view. Double asterisks will become bold, single will become italic, and inline links will work. <em>However,</em> if you try to hit undo after manually entering Markdown syntax, things can get weird. You&rsquo;re best off using the built-in shortcuts for these features. Pasting Markdown doesn&rsquo;t seem to get parsed, either.</p>

<p>If you select multiple lines and hit the bullet list shortcut, it will convert the lines into a bullet list. Hitting the shortcut again (or on any bulleted list) will remove the bullets. Hitting the shortcut for a numbered list behaves the same way, and will convert a bullet list to a numbered list.</p>

<p>You can insert images from file or URL. Most of the time I&rsquo;m writing for a Jekyll system, where I have my own custom plugins for image handling, so I can just paste in my Liquid code for an image and WriteMapper doesn&rsquo;t mess with it.</p>

<p>Autosave seems to be non-standard (to macOS). WriteMapper&rsquo;s implementation can have a frequency set as often as one minute, but if you experience a crash (which I haven&rsquo;t) you would lose everything up to the last auto save.</p>

<p>WriteMapper also implements spellchecking and autocorrect, and both of those seem to use standard macOS implementation. And for anything spell check chokes on, note that there&rsquo;s an Add to Dictionary option in the right click menu, as opposed to the more standard &ldquo;Learn spelling&rdquo; option.</p>

<h4 id="document-view">Document View</h4>

<p>An essential feature of WriteMapper is the Document View. While you can traverse and edit your document as a mind map, you can also open Document View and edit it all as one piece. You can&rsquo;t rearrange anything in Document View, though — for that you have to switch back to a map view.</p>

<picture data-title="writemapper-document-view.jpg">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-document-view_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-document-view.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-document-view@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-document-view.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-document-view@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-document-view_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-document-view@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-document-view_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-document-view@2x.jpg" width="1305" height="804" src="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-document-view.jpg" alt="writemapper-document-view.jpg" title="writemapper-document-view.jpg" />
              </noscript>
            </picture>

<p>Document View pretty much alleviates my need for Marked integration, as I can easily see my map formatted as a document, in map order, with a quick press of <span class="keycombo combined" title="Command-4"><kbd class="mod symbol">&#8984;</kbd><kbd class="key symbol">4</kbd></span> (or whatever you customize the shortcut to). You can edit in Document view just like in a node view, and it has an outline view on the side for navigation. You can even open the Document View in another window and see changes you make to nodes appear in the full document on save, just like using it with Marked.</p>

<picture data-title="writemapper-dual-view-800.jpg">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-dual-view-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-dual-view-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-dual-view-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-dual-view-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-dual-view-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-dual-view-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-dual-view-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-dual-view-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-dual-view-800@2x.jpg" width="800" height="429" src="https://cdn3.brettterpstra.com/uploads/2024/05/writemapper-dual-view-800.jpg" alt="writemapper-dual-view-800.jpg" title="writemapper-dual-view-800.jpg" />
              </noscript>
            </picture>

<h4 id="keyboard-shortcuts">Keyboard Shortcuts</h4>

<p>WriteMapper has plenty of keyboard shortcuts, but they’re very non-standard for a mind map app. You can, however, easily change the shortcuts in Preferences, and I now have it working more predictably (like Tab to add a child node). <span class="keycombo combined" title="Command-E"><kbd class="mod symbol">&#8984;</kbd><kbd class="key symbol">E</kbd></span> pops you right into the editor for the selected node, and when you’re done editing, Escape will get you back to the map.</p>

<p>As I mentioned, in the document editor you have your standard word processor key combinations available, such as <span class="keycombo combined" title="Command-I"><kbd class="mod symbol">&#8984;</kbd><kbd class="key symbol">I</kbd></span> and <span class="keycombo combined" title="Command-B"><kbd class="mod symbol">&#8984;</kbd><kbd class="key symbol">B</kbd></span>. There are also shortcuts for block quotes, horizontal rules, and lists.</p>

<p>While they don&rsquo;t show up in the Insert menu, there are also keyboard shortcuts for inline code and code blocks, and code blocks can be highlighted if you check the option in Preferences. Inserting Markdown syntax for these also works (three backticks works, indenting doesn&rsquo;t).</p>

<h4 id="other-features">Other Features</h4>

<p>Map views can be linear, nested, or sprawl, which is more of a traditional mind map layout.</p>

<p>WriteMapper can export as Markdown or OPML, but can also export straight to HTML, Word, RTF, and other formats.</p>

<blockquote>
  <p>For developers, the file format is a basic JSON file with an array of nodes in document order, with the content stored as HTML, so integrating this with Marked will be simple, and recovering old documents if WriteMapper ever stops working will be entirely feasible. Which are important considerations to me.</p>
</blockquote>

<p>The app can show you your total word count, character count, and reading time as you edit, and each node can be set to display its own word count. You can also set nodes to tasks and check them off as you complete them.</p>

<p>You can also open the same document in multiple windows for side-by-side editing of different chapters. You can&rsquo;t have multiple documents open in tabs, as far as I can tell, but if I need two documents open at once, I need them both visible anyway for copying between the two.</p>

<p><del>WriteMapper also supposedly has some AI features, but I haven&rsquo;t gotten it to accept my OpenAI key yet and haven&rsquo;t spent much time figuring that out. I&rsquo;ll do my own writing for now.</del> <ins>The developer contacted me after I published this and helped me work through my issues with the AI integration. I had mistakenly thought that pay-as-you-go with OpenAI meant I would pay as I used it, not that I had to maintain a balance, so my key was telling WriteMapper I was out of money. Also, you have to set the LLM to GPT-4. Now that I have it working, it&rsquo;s pretty cool &mdash; you can have it brainstorm topics, fill in copy, and improve your writing syntax, spelling, grammar, and punctuation.</ins></p>

<p><ins>Now that I have the developer&rsquo;s ear, I&rsquo;m angling to get him to add YAML front matter support so that I can more directly use WriteMapper for blogging on my various static sites. It&rsquo;s a pretty big ask, though.</ins></p>

<h3 id="wrapping-up">Wrapping up</h3>

<p>In summary, WriteMapper is a great tool for writing. A few quirks, but fully capable for my own needs. The export options are robust, and the document format is standard enough to be easily portable. And being able to construct a piece in a mind map is exactly the way I want to write. WriteMapper isn&rsquo;t cheap &mdash; a single license is US $89. I think it might be more comfortable in the $40-50 range, but I consider it money well spent and I&rsquo;m happy to support continued development.</p>

<p><a href="https://writemapper.com/">Check out WriteMapper here.</a></p>


<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112373371195015071">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F02%2Fwritemapper-writing-with-mind-maps%2F&text=WriteMapper+-+writing+with+mind+maps&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F05%2F02%2Fwritemapper-writing-with-mind-maps%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16671800.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Conductor fixes and improvements]]></title>
    <link href="https://brett.trpstra.net/link/535/16667786/conductor-fixes-and-improvements"/>
    <updated>2024-04-29T12:00:00-05:00</updated>
    <published>2024-04-29T12:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/04/29/conductor-fixes-and-improvements</id>
    <content type="html"><![CDATA[
<picture data-title="conductor.png">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/conductor_tw.png" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/conductor.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/04/conductor@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/conductor.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/04/conductor@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/04/conductor_tw.png 1x, https://cdn3.brettterpstra.com/uploads/2024/04/conductor@2x.png 2x" />
                <img class="alignright" data-original="https://cdn3.brettterpstra.com/uploads/2024/04/conductor_tw.png" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/04/conductor@2x.png" width="256" height="256" src="https://cdn3.brettterpstra.com/uploads/2024/04/conductor.png" alt="conductor.png" title="conductor.png" />
              </noscript>
            </picture>
<p>I&rsquo;ve made some important fixes and handy improvements to the <a href="https://brettterpstra.com/projects/conductor">Marked Conductor</a> since it was <a href="https://brettterpstra.com/2024/04/25/introducing-the-marked-conductor/">first published</a>.</p>

<p>I&rsquo;ve made my own config available as an example. Not all of the scripts are polished, but it&rsquo;s complete enough to show how I&rsquo;m using it. I still need to finish breaking my Jekyll preprocessor script into more manageable chunks, which is complicated because every little method has conditionals, but that&rsquo;s coming. In the meantime, you can find my <a href="https://github.com/ttscoff/conductor-config/tree/main">work in progress here</a>.</p>

<p>Here&rsquo;s the rundown.</p>

<h3 id="titles-and-stderr-output">Titles and STDERR Output</h3>

<p>Conductor now outputs more helpful information to STDERR, which you can view in Marked using Help-&gt;Show Custom Processor Log. It will display a list of conditions met for the current document, along with any errors. You can also now add a <code class="language-plaintext highlighter-rouge">title</code> key to any track, and it will be used in the STDERR output instead of the full condition, which is handy for long conditions with lots of booleans. So instead of:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code>Condition met: tree contains .obsidian AND (extension is md OR extension is markdown)</code></pre></div></div>

<p>You can just get:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight fixed"><code>Condition  met: Obsidian Document</code></pre></div></div>

<h3 id="multiple-scripts">Multiple scripts</h3>

<p>Conductor can now run multiple scripts in sequence. There are two ways to do this.</p>

<ol>
  <li>Instead of a <code class="language-plaintext highlighter-rouge">script</code> or <code class="language-plaintext highlighter-rouge">command</code>, you can use <code class="language-plaintext highlighter-rouge">sequence</code>. Then in an array list, you can define a series of <code class="language-plaintext highlighter-rouge">- script: xxx</code> and <code class="language-plaintext highlighter-rouge">- command: xxx</code> type lines and they&rsquo;ll be run in order, with the output of one being passed to the next, getting the final output from the last script/command in the list.</li>
  <li>You can add <code class="language-plaintext highlighter-rouge">continue: true</code> to any track or block. Normally, Conductor stops processing when a condition is met. With <code class="language-plaintext highlighter-rouge">continue: true</code>, it will continue matching conditions after processing the one with the key, again passing the output of each one to the next. This allows you to, for example, run a preprocessor on a narrow selection of documents, and then run those through a more generalized processor that catches more documents than the narrow selection does.</li>
</ol>

<h3 id="changelog">Changelog</h3>

<p>Here&rsquo;s the full changelog since release.</p>

<h4 id="new">NEW</h4>

<ul>
  <li>Test for pandoc metadata (%%) with <code class="language-plaintext highlighter-rouge">is pandoc</code> or <code class="language-plaintext highlighter-rouge">is not pandoc</code></li>
  <li>Add <code class="language-plaintext highlighter-rouge">sequence:</code> key to allow running a series of scripts/commands, each piping to the next</li>
  <li>Add <code class="language-plaintext highlighter-rouge">continue: true</code> for tracks to allow processing to continue after a script/command is successful</li>
  <li><code class="language-plaintext highlighter-rouge">filename</code> key for comparing to just filename (instead of full path)</li>
  <li>Add <code class="language-plaintext highlighter-rouge">is a</code> tests for <code class="language-plaintext highlighter-rouge">array</code>, <code class="language-plaintext highlighter-rouge">number</code>, <code class="language-plaintext highlighter-rouge">integer</code>, and <code class="language-plaintext highlighter-rouge">float</code></li>
  <li>Tracks in YAML config can have a title key that will be shown in STDERR &lsquo;Conditions met:&rsquo; output</li>
  <li>Add <code class="language-plaintext highlighter-rouge">does not contain</code> handling for string and metadata comparisons</li>
  <li>Added test for MMD metadata, either for presence of meta or for specific keys or key values</li>
  <li>Allow <code class="language-plaintext highlighter-rouge">has yaml</code> or <code class="language-plaintext highlighter-rouge">has meta</code> (MultiMarkdown) as conditions</li>
</ul>

<h4 id="improved">IMPROVED</h4>

<ul>
  <li>Return NOCUSTOM if changes are not made by scripts/commands, even though condition was matched</li>
  <li>Use YAML.load instead of .safe_load to allow more flexibility</li>
  <li>Trap errors reading YAML and fail gracefully</li>
</ul>

<h4 id="fixed">FIXED</h4>

<ul>
  <li>Use STDIN instead of reading file for conditionals</li>
  <li>String tests read STDIN input, not reading the file itself, allowing for piping between multiple scripts</li>
  <li>Always wait for STDIN or Marked will crash. Still possible to use $file in script/command values</li>
  <li>More string encoding fixes</li>
  <li>&ldquo;path contains&rdquo; was returning $PATH instead of the file path</li>
  <li>First-run config creating directory instead of file</li>
  <li>Frozen string/encoding issue on string comparisons</li>
  <li>Encoding errors on string methods</li>
</ul>

<p>Check out the <a href="https://brettterpstra.com/projects/conductor">Conductor project</a> for more details!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112355758886490475">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F04%2F29%2Fconductor-fixes-and-improvements%2F&text=Conductor+fixes+and+improvements&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F04%2F29%2Fconductor-fixes-and-improvements%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16667786.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Acorn giveaway!]]></title>
    <link href="https://brett.trpstra.net/link/535/16667597/acorn-giveaway"/>
    <updated>2024-04-29T08:00:00-05:00</updated>
    <published>2024-04-29T08:00:00-05:00</published>
    <id>https://brettterpstra.com//2024/04/29/acorn-giveaway</id>
    <content type="html"><![CDATA[
<picture data-title="Giveaway Robot with Acorn icon">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-acorn2024-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-acorn2024-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-acorn2024-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-acorn2024-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-acorn2024-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-acorn2024-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-acorn2024-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-acorn2024-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-acorn2024-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2023/09/giveaway-acorn2024-rb.jpg" alt="Giveaway Robot with Acorn icon" title="Giveaway Robot with Acorn icon" />
              </noscript>
            </picture>

<p>I&rsquo;m excited to offer the next giveaway, 2 licenses ($39.99 value each) for <a href="https://flyingmeat.com/acorn/">Acorn</a>. If you don&rsquo;t need the bulk of Photoshop but want all of the image editing power, check out Acorn. It loads up in seconds and offers all the image editing tools and flexible image processing you need. I absolutely <em>love</em> Acorn. In addition to standard image editing tools, it has capabilities for text on a path, photo effects, non-destructive filters, and the vector tools you need for design work.</p>

<p>From the developer:</p>

<blockquote>
  <p>Use non-destructive curves, levels, and filters. The GPU power of Metal 2. Add layer masks and selections to touch up your images or make something entirely new. Remove backgrounds, combine images, perform color correction, resize, transform, crop, and much much more.</p>
</blockquote>

<picture data-title="Acorn screenshot">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/acorn-screenshot-800_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/acorn-screenshot-800.avif 1x, https://cdn3.brettterpstra.com/uploads/2023/10/acorn-screenshot-800@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2023/10/acorn-screenshot-800.webp 1x, https://cdn3.brettterpstra.com/uploads/2023/10/acorn-screenshot-800@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2023/10/acorn-screenshot-800_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2023/10/acorn-screenshot-800@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2023/10/acorn-screenshot-800_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2023/10/acorn-screenshot-800@2x.jpg" width="800" height="515" src="https://cdn3.brettterpstra.com/uploads/2023/10/acorn-screenshot-800.jpg" alt="Acorn screenshot" title="Acorn screenshot" />
              </noscript>
            </picture>

<p>Check out the <a href="https://flyingmeat.com/acorn/">Acorn</a> site for more info.</p>

<p>Sign up below to enter. Winners will be randomly drawn on Friday, May 03, at 12pm Central. The drawing is for 2 licenses ($39.99 value each) for Acorn, one per winner. Note that if you&rsquo;re reading this via RSS, you&rsquo;ll need to visit <a href="https://brettterpstra.com/2024/04/29/acorn-giveaway">this post on brettterpstra.com</a> to enter!</p>

<p>New rule: All signups must have a <strong>first and last name</strong> in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!</p>

<p class="sorry"><em>Sorry, this giveaway has ended.</em></p>

<p>Stay tuned for <a href="https://brettterpstra.com/giveaways/upcoming/" title="Upcoming Giveaways - BrettTerpstra.com">more giveaways every week through September, 2024</a> (and maybe beyond).</p>

<p>If you have an app you&rsquo;d love to see featured in this series of giveaways, <a href="https://brettterpstra.com/contact/">let me know</a>. Also be sure to <a href="https://brettterpstra.com/subscribe/">sign up for the mailing list</a> or <a href="https://nojack.easydns.ca/@ttscoff/">follow me on Mastodon</a> so you can be (among) the first to know about these!</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112355167159285870">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F04%2F29%2Facorn-giveaway%2F&text=Acorn+giveaway%21&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F04%2F29%2Facorn-giveaway%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16667597.gif" height="1" width="1"/>]]></content>
  </entry>
  <entry>
    <title type="html"><![CDATA[Life after iThoughts]]></title>
    <link href="https://brett.trpstra.net/link/535/16666804/life-after-ithoughts"/>
    <updated>2024-04-28T17:35:00-05:00</updated>
    <published>2024-04-28T17:35:00-05:00</published>
    <id>https://brettterpstra.com//2024/04/28/life-after-ithoughts</id>
    <content type="html"><![CDATA[
<picture data-title="ithoughts-mindnode-rb.jpg">
              <noscript class="loading-lazy">
                <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/ithoughts-mindnode-rb_tw.jpg" />
                <source type="image/avif" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/ithoughts-mindnode-rb.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/04/ithoughts-mindnode-rb@2x.avif 2x" />
                <source type="image/webp" srcset="https://cdn3.brettterpstra.com/uploads/2024/04/ithoughts-mindnode-rb.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/04/ithoughts-mindnode-rb@2x.webp 2x" />
                <source srcset="https://cdn3.brettterpstra.com/uploads/2024/04/ithoughts-mindnode-rb_tw.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/04/ithoughts-mindnode-rb@2x.jpg 2x" />
                <img class="aligncenter" data-original="https://cdn3.brettterpstra.com/uploads/2024/04/ithoughts-mindnode-rb_tw.jpg" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/04/ithoughts-mindnode-rb@2x.jpg" width="800" height="226" src="https://cdn3.brettterpstra.com/uploads/2024/04/ithoughts-mindnode-rb.jpg" alt="ithoughts-mindnode-rb.jpg" title="ithoughts-mindnode-rb.jpg" />
              </noscript>
            </picture>

<p>So a lot of us are wondering what to do now that Toketaware has announced the sunsetting of the iThoughts mind mapping app for Mac and iOS. It&rsquo;s very sad to see it go, but I expect the current version to continue working for a few years to come. That said, I tend to favor software that has at least somewhat of a future. So I&rsquo;ve been testing the waters with some other contenders. The short story is I&rsquo;m moving over to <a href="https://www.mindnode.com/" title="MindNode:Mind Map &amp; Brainstorm Ideas">MindNode</a>.</p>

<h3 id="why-mindnode">Why MindNode?</h3>

<p>I&rsquo;ve always appreciated MindNode (and even added support for it to Marked), but there were some things that made me prefer iThoughts over MindNode. After testing the latest version of MindNode, I can no longer remember what those things were. It&rsquo;s not as feature rich as iThoughts, but for 90% of my mind map purposes, it looks like MindNode will do just fine. I think the last time I made the comparison, MindNode was lacking some of the features it has these days. I&rsquo;ll miss Presentation mode, boundaries and grouping, and things like task completion and priority, but MindNode will work.</p>

<p>I&rsquo;m not going into nearly the depth that Allison Sheridan did over on Podfeet with her <a href="https://www.podfeet.com/blog/2024/03/ithoughts-replacement/">mind map comparison</a>, but I&rsquo;ll list some of the pros of MindNode for my purposes:</p>

<ul>
  <li>Looks great</li>
  <li>Actively developed</li>
  <li>Mac and iOS versions</li>
  <li>Opens iThoughts (<code class="language-plaintext highlighter-rouge">.itmz</code>) files, so I don&rsquo;t have to fret about losing old mind maps</li>
  <li>Imports Markdown files</li>
  <li>Can create tasks from nodes (can&rsquo;t do much with them other than check them off, but it&rsquo;s handy for packing lists)</li>
  <li>Exports Markdown and OPML, among other formats</li>
  <li>Outline mode</li>
  <li>Works with Marked (File-&gt;Advanced-&gt;Preview in Marked)</li>
  <li>Good keyboard navigation with some customization options</li>
  <li>Quick entry from tool bar</li>
  <li>It&rsquo;s on Setapp</li>
</ul>

<h3 id="other-options">Other options</h3>

<p>If you&rsquo;re an Obsidian user, there are some mind mapping plugins available. The <a href="https://github.com/MarkMindCkm/obsidian-enhancing-mindmap">&ldquo;Enhancing Mind Maps&rdquo;</a> plugin is a decent option if you&rsquo;re in Obsidian all the time anyway:</p>

<p>Pros:</p>

<ul>
  <li>Built into obsidian</li>
  <li>Basic keyboard navigation</li>
  <li>Transparent layer over plain Markdown files, easily portable and future-proof</li>
  <li>Works great with Marked using the <a href="https://github.com/ttscoff/obsidian-md-filter">obsidian-md-filter</a> processor (via <a href="https://brettterpstra.com/projects/conductor">Conductor!</a>), and you can easily connect the two with <a href="https://github.com/ttscoff/Marked2-obsidian">my plugin</a> (which is still waiting for acceptance into the Community Plugins&hellip;)</li>
</ul>

<p>Cons:</p>

<ul>
  <li>Lacks a <em>ton</em> of features compared to MindNode</li>
</ul>

<p>I would also point out that the mind mapping built into <a href="https://www.zengobi.com/curio/">Curio</a> is pretty good, and has the benefit of fitting into the crazy cool integrations that Curio provides, linking to other notes and objects, and fitting into an overall project management system.</p>

<p>Like or share this post <a title="This post on Mastodon" target="_blank" href="https://nojack.easydns.ca/users/ttscoff/statuses/112351279881962515">on Mastodon</a> or <a class="twitter" target="_blank" rel="nofollow" href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fbrettterpstra.com%2F2024%2F04%2F28%2Flife-after-ithoughts%2F&text=Life+after+iThoughts&url=https%3A%2F%2Fbrettterpstra.com%2F2024%2F04%2F28%2Flife-after-ithoughts%2F&via=ttscoff" title="Tweet this post">Twitter</a>.</p>
    <hr style="margin:40px 0">
<p>BrettTerpstra.com is supported by readers like you. <a href="https://brettterpstra.com/support/">Click here if you'd like to help out.</a></p>
<p class="copyright">All materials &copy;2024 Brett Terpstra</p>
<p><a href="https://twitter.com/ttscoff" rel="me">Twitter</a> | <a rel="me" href="https://nojack.easydns.ca/@ttscoff">Mastodon</a> | <a href="https://github.com/ttscoff">GitHub</a> | <a href="https://brettterpstra.com/legal/privacy.html">Privacy Policy</a></p><img src="https://brett.trpstra.net/link/535/16666804.gif" height="1" width="1"/>]]></content>
  </entry>
</feed>
