{
   "version"      : "https://jsonfeed.org/version/1",
   "user_comment" : "Hello, human! This is a text-only feed which allows you to read the posts on this site in a feed reader like NetNewsWire or Feedbin. To add it to your feed reader, copy this URL – https://nostodnayr.net/feeds/json – and paste it into your feed reader.",
   "title"        : "nostodnayr.net",
   "home_page_url": "https://nostodnayr.net/",
   "feed_url"     : "https://nostodnayr.net/feeds/json",
   "author"       : {
      "name"      : "Ryan Dotson",
      "url"       : "https://twitter.com/nostodnayr",
      "avatar"    : "https://nostodnayr.net/graphics/ryan-avatar.png"
   },
   "icon"         : "https://nostodnayr.net/graphics/icon-512.png",
   "favicon"      : "https://nostodnayr.net/graphics/apple-touch-icon.png",
   "items"        : [
      {
         "title"         : "Unplugged",
         "id"            : "https://nostodnayr.net/2022/12/unplugged",
         "date_published": "2022-12-10T17:48:51Z",
         "date_modified" : "2022-12-11T18:15:53Z",
         "url"           : "https://nostodnayr.net/2022/12/unplugged",
         "summary"       : "Rebalancing the analogue and digital in my life",
         "content_html"  : "<p><strong><em>Rebalancing the analogue and digital in my life</em></strong></p><p>A few years and a couple of jobs ago, I spent much of my life on digital pursuits while work existed in the analogue world. Being old enough to have spent most of my childhood without a proliferation of technology to hand every moment of the day, this was a fine balance for me.</p>\n\n<p>Nowadays, that’s reversed. My work is all digital and filled to the brim with technology, so my life has become more and more grounded in the analogue. Again, this sort of balance works for me.</p>\n\n<p>However, even my ‘analogue’ world is peppered with technology: Radio comes through smart speakers or as a podcast played on wireless earbuds; the car is more and more a computer with motorised wheels; books are downloaded and displayed on a screen; TV programmes are delivered upon request over the internet. All wonderful things that would be worse without technological enhancement.</p>\n\n<p>Nonetheless, the balance between digital and analogue was starting to feel askew. I started to address this by spending far less time on my Mac. (My phone doesn’t draw much of my attention.)</p>\n\n<p>To really tip the scales, I started learning the piano again, after nearly 30 years away. Playing the piano has not only righted the balance between the tech and ‘real’ world, but also given me the creative outlet <a href=\"https://nostodnayr.net/2020/06/strings-strummed\" title=\"Strings Strummed · nostodnayr.net\">I’d been seeking</a>.</p>\n\n<p>Time at the piano has become a crucial part of my daily routine, so I’m strict about keeping its analogue sanctity. When I sit down at the piano, I set my phone to a largely impenetrable do-not-disturb mode to keep the outside world away. All my music is on paper. My metronome swings and clicks and to recharge it, I wind it up. It’s just me and the music.</p>"
      },
      {
         "title"         : "Get traditional coloured folders in Finder with Manila",
         "id"            : "https://nostodnayr.net/links/2022/03/get-classic-coloured-folders-in-finder-with-manila",
         "date_published": "2022-03-18T20:14:32Z",
         "date_modified" : "2022-03-21T22:00:07Z",
         "url"           : "https://nostodnayr.net/links/2022/03/get-classic-coloured-folders-in-finder-with-manila",
         "external_url"  : "https://github.com/neilsardesai/Manila",
         "content_html"  : "<p>I loved using labels in ‘Classic’ Mac OS to colour-code files and folders in Finder. We lost this in the modern era, replaced by tags. In earlier versions of Mac OS X, they nearly filled the gap, because the whole name was coloured, but the dots of today’s Mac OS don’t quite fill the gap for me. I much prefer a strong visual indicator.</p>\n\n<figure>\n  <img class=\"round shadow seventy\" src=\"https://nostodnayr.net/links/misc/2022/03/mac-os-9-labels.png\">\n</figure>\n\n<p>Fortunately we can still arbitrarily replace icons using the paste-over-icon trick in Finder’s Get Info window. Neil Sardesai’s Manilla is a Finder extension that automates that process, making it as easy as it ever was in the old days. It only works for folders, though, because it’s not compositing the icon with the hue. However, because I find the most utility in colour-coding folders, that’s enough for me.</p>\n\n<p><a href=\"https://github.com/neilsardesai/Manila/releases/\" title=\"Releases · neilsardesai/Manila\">Download Manila on GitHub</a></p>\n\n<p><strong>Link:</strong> <a href=\"https://github.com/neilsardesai/Manila\">https://github.com/neilsardesai/Manila</a></p>"
      },
      {
         "title"         : "Deal with text in AppleScript rationally with regular expressions in FastScripts 3.1",
         "id"            : "https://nostodnayr.net/links/2022/03/deal-with-text-in-applescript-rationally-with-regular-expressions-in-fastscripts-31",
         "date_published": "2022-03-12T00:43:31Z",
         "date_modified" : "2022-03-12T01:00:42Z",
         "url"           : "https://nostodnayr.net/links/2022/03/deal-with-text-in-applescript-rationally-with-regular-expressions-in-fastscripts-31",
         "external_url"  : "https://redsweater.com/blog/3822/fastscripts-3-1-streamlined-regular-expressions",
         "content_html"  : "<blockquote>\n  <p>This update introduces an expansion of FastScripts’s own built-in scripting additions, with three powerful new commands for searching, replacing, and splitting text with regular expressions.</p>\n</blockquote>\n\n<p>What a fantastic addition to a tool I use every day.</p>\n\n<p>I still spend more time than you might imagine writing AppleScript. For dealing with text manipulation, I’ve both called out to Perl or done the ‘native’ <code>text delimiters</code> dance and neither does the job optimally.</p>\n\n<p>Though I can’t rely on this for scripts I write for others necessarily, for anything that’s just for me, I look forward to using these the next time I have the itch.</p>\n\n<p><strong>Link:</strong> <a href=\"https://redsweater.com/blog/3822/fastscripts-3-1-streamlined-regular-expressions\">https://redsweater.com/blog/3822/fastscripts-3-1-streamlined-regular-expressions</a></p>"
      },
      {
         "title"         : "BBStylish version 2",
         "id"            : "https://nostodnayr.net/links/2022/01/bbstylish-version-2",
         "date_published": "2022-01-22T17:27:48Z",
         "date_modified" : "2022-02-20T19:27:21Z",
         "url"           : "https://nostodnayr.net/links/2022/01/bbstylish-version-2",
         "external_url"  : "https://github.com/nostodnayr/BBStylish/releases/tag/bbstylish-v2",
         "content_html"  : "<p>I published a modest update to <a href=\"https://nostodnayr.net/projects/bbstylish/\" title=\"BBStylish · Attractive, customisable BBEdit Preview CSS for Markdown\">BBStylish</a> today.</p>\n\n<p>In version 2, you can now customise the font to use for headings and set a background colour for quotation blocks. There are also a few small tweaks to make BBStylish just a bit more <em>stylish</em>.</p>\n\n<p>Instructions for how to use and customise BBStylish are in the <abbr>CSS</abbr> file. I hope you enjoy using it.</p>\n\n<p><a href=\"https://nostodnayr.net/projects/downloads/bbstylish-v2.zip\">Download BBStylish here</a> or <a href=\"https://github.com/nostodnayr/BBStylish/releases/tag/bbstylish-v2\" title=\"Release BBStylish version 2 · nostodnayr/BBStylish\">from GitHub</a>.</p>\n\n<p><strong>Link:</strong> <a href=\"https://github.com/nostodnayr/BBStylish/releases/tag/bbstylish-v2\">https://github.com/nostodnayr/BBStylish/releases/tag/bbstylish-v2</a></p>"
      },
      {
         "title"         : "Mac OS tip: Change brightness of a secondary display from your keyboard",
         "id"            : "https://nostodnayr.net/links/2021/11/mac-os-tip-change-brightness-on-secondary-display",
         "date_published": "2021-11-05T20:56:57Z",
         "date_modified" : "2021-11-05T21:09:25Z",
         "url"           : "https://nostodnayr.net/links/2021/11/mac-os-tip-change-brightness-on-secondary-display",
         "external_url"  : "http://hints.macworld.com/article.php?story=20120114184609800",
         "content_html"  : "<p>Hold down the Control key and press a brightness key (F1 and F2) to change the brightness of an external display. Probably only works with Apple displays.</p>\n\n<p>The Mac OS X Hints community is still providing immense value after all these years.</p>\n\n<p><strong>Link:</strong> <a href=\"http://hints.macworld.com/article.php?story=20120114184609800\">http://hints.macworld.com/article.php?story=20120114184609800</a></p>"
      },
      {
         "title"         : "Shōganai Spirit",
         "id"            : "https://nostodnayr.net/2021/03/shoganai-spirit",
         "date_published": "2021-03-11T16:34:13Z",
         "date_modified" : "2021-03-11T17:00:23Z",
         "url"           : "https://nostodnayr.net/2021/03/shoganai-spirit",
         "summary"       : "Learning to embrace the inevitable",
         "content_html"  : "<p><strong><em>Learning to embrace the inevitable</em></strong></p><p>It’s been ten years since a massive earthquake struck off the north-eastern coast of Japan. I had only moved to Japan a month prior. Hundreds of kilometres away, I still felt it. In part, I couldn’t help feeling excited. It was the first earthquake I’d ever experienced!</p>\n\n<p>It became painfully clear in the hours to come how devastating it was for those nearer the epicentre. It was months or years later before I saw the footage of what happened. It was terrifying.</p>\n\n<p>Engineering has prevailed over earthquakes in many ways. Buildings are built to be incredibly resilient to the shakes and waves beneath them. But tsunami are another beast entirely.</p>\n\n<p>Many inhabited coasts are lined with walls. Rivers are often terraformed to make them deeper so they can take the inflows of water should a tsunami come. </p>\n\n<p>There was no way any such preparations could’ve held back what came that day. <a href=\"https://youtu.be/4XvFFfgXwnw?t=189\" title=\"2011年3月11日 東日本大震災 宮古市を襲った&quot;黒い&quot;巨大津波【まいにち防災】\">It was beastly.</a> <a href=\"https://youtu.be/jbvBsgoEAe0?t=201\" title=\"地震の発生から津波の到達まで\">It was fierce.</a></p>\n\n<hr />\n\n<p>I’ve often thought about how much Japan has changed me, and there’s one thing I’ve adopted that stands out: the shōganai spirit. The attitude that there’s nothing you can do about it, it can’t be helped, so it’s best to move on with your life. </p>\n\n<p>Shōganai spirit pervades everything in Japan. Didn’t get that five-year residency permit you’ve requested every year for the past seven? <em>Shōganai.</em> Train’s delayed because of a (highly euphemistic) human-related accident? <em>Shōganai.</em> Have to work three seven-day weeks this month? <em>Shōganai.</em></p>\n\n<p>I both love and hate it. I love it for the freedom it can give – I don’t have to get worked up about everything around me, especially when it’s out of my control. I hate it for its restrictiveness – if I don’t push back, how will anything change?</p>\n\n<p>I’ve wondered where it came from. But as this anniversary came around, I had a thought. Consider that there’s an earthquake in Japan pretty much daily, and that the next one could be massive. Consider, too, that a tsunami could follow it and swallow up every stitch you call your own and everything around you.</p>\n\n<p><em>How could you not have a sense of powerlessness and resignation in the face of that and the aftermath?</em></p>\n\n<p>I suppose the shōganai spirit is a lot like religion, but with one important difference to me. Rather than pinning everything on a character from a fairy story, the power lies in me. I choose to embrace the shōganai spirit, release the anguish and put it behind me, and find a way forward.</p>"
      },
      {
         "title"         : "Kris Sowersby: The Art of Letters",
         "id"            : "https://nostodnayr.net/links/2020/11/kris-sowersby-the-art-of-letters",
         "date_published": "2020-11-17T14:31:23Z",
         "date_modified" : "2021-02-18T13:34:54Z",
         "url"           : "https://nostodnayr.net/links/2020/11/kris-sowersby-the-art-of-letters",
         "external_url"  : "https://www.kickstarter.com/projects/formist/kris-sowersby-the-art-of-letters",
         "content_html"  : "<p>Kris Sowersby’s art, his drawings of letters, move me just as much as any other art.</p>\n\n<p>If you’re reading this directly on my site, you’re steeping yourself in them. At this scale, your eyes float along, probably not thinking about them much. Look at them scaled up, though, and you start to see the beauty in the details.</p>\n\n<p><a href=\"https://www.kickstarter.com/projects/formist/kris-sowersby-the-art-of-letters\" title=\"Kris Sowersby: The Art of Letters by Formist — Kickstarter\"><em>Kris Sowersby: The Art of Letters</em></a> is a book that solves this problem by presenting 750 full-page glyphs from his typefaces. I couldn’t have pledged faster.</p>\n\n<p><strong>Link:</strong> <a href=\"https://www.kickstarter.com/projects/formist/kris-sowersby-the-art-of-letters\">https://www.kickstarter.com/projects/formist/kris-sowersby-the-art-of-letters</a></p>"
      },
      {
         "title"         : "Peter Lowe’s Block List for Little Snitch",
         "id"            : "https://nostodnayr.net/links/2020/09/peter-lowes-block-list-for-little-snitch",
         "date_published": "2020-09-13T20:52:17Z",
         "date_modified" : "2020-09-13T21:27:37Z",
         "url"           : "https://nostodnayr.net/links/2020/09/peter-lowes-block-list-for-little-snitch",
         "external_url"  : "https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions",
         "content_html"  : "<p>Peter Lowe makes <a href=\"https://pgl.yoyo.org/adservers/\" title=\"Blocking with ad server and tracking server hostnames\">a list of servers that provide adverts on the web</a> so that you can block them using software. He recommends using the <code>hosts</code> file for your operating system. It works without any extra software and it’s free, but it’s a little inconvenient. </p>\n\n<p>If you use Little Snitch like me, <a href=\"https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions\" title=\"Little Snitch rule group subscriptions\">Peter provides the list in its rule group subscription format</a>. Little Snitch can also update the list’s rules for you automatically.</p>\n\n<p>The advantage of using either method is that the rules work system-wide. I use Firefox on occasion, but only have an ad blocker set up for Safari. Now I have adverts blocked in both places without extra effort.</p>\n\n<p>I forgot about this when I first heard about it a couple of months ago. I set up a new Mac recently and started using this list, and I hope that it can adequately replace my ad blocking software.</p>\n\n<p>The next logical step would be to set up a <a href=\"https://pi-hole.net\" title=\"Pi-hole – A black hole for internet advertisements\">Pi-hole</a>. I’m not opposed to the idea because it would allow me to drop ad blockers on my iPhone and iPad. It might make for a great project over the winter holidays.</p>\n\n<p><strong>Link:</strong> <a href=\"https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions\">https://pgl.yoyo.org/adservers/news.php#littlesnitch-rule-group-subscriptions</a></p>"
      },
      {
         "title"         : "Strings Strummed",
         "id"            : "https://nostodnayr.net/2020/06/strings-strummed",
         "date_published": "2020-06-28T17:22:10Z",
         "date_modified" : "2020-07-02T01:00:35Z",
         "url"           : "https://nostodnayr.net/2020/06/strings-strummed",
         "summary"       : "Finding creativity and rediscovering GarageBand",
         "content_html"  : "<p><strong><em>Finding creativity and rediscovering GarageBand</em></strong></p><p>I haven’t used GarageBand since it was released in 2004. Not for any particular reason, mind. I’ve never been much of a music <em>maker</em>, so I didn’t have any occasion to use it. Clearing out my iPad last night, I realised I still had the app installed. Bored, I opened it to have a look around. I’m glad I did.</p>\n\n<p>I was immediately taken by the magic and pleasure you get from playing an instrument, and I was surprised at how good – realistic – the instruments sound. You can download even more, including some really fun ones like toy instruments.</p>\n\n<p>After spending a fair amount of time playing instruments I found the loops and lost myself completely. It was so easy to start building music that sounded <em>great</em> with no effort. I was able to just ‘get in the zone’ and be <em>creative</em>. It was a lot of fun, and .</p>\n\n<p>I’ve been struggling with creativity for the past few months. Lots of factors have contributed to this – not least of all my job change – but a bevy life and lifestyle changes, too. Some of the creative spirit has returned the past couple of weeks, and making music last night resonated deeply. It’s time to blow out some of the cobwebs.</p>"
      },
      {
         "title"         : "StopTheMadness stops DuckDuckGo’s madness",
         "id"            : "https://nostodnayr.net/links/2020/06/stopthemadness-stops-duckduckgos-madness",
         "date_published": "2020-06-16T00:26:08Z",
         "date_modified" : "2020-06-16T14:32:51Z",
         "url"           : "https://nostodnayr.net/links/2020/06/stopthemadness-stops-duckduckgos-madness",
         "external_url"  : "https://lapcatsoftware.com/articles/duckduckgo.html",
         "content_html"  : "<p>Jeff Johnson, author of <a href=\"https://underpassapp.com/StopTheMadness/\" title=\"StopTheMadness\">StopTheMadness</a>:</p>\n\n<blockquote>\n  <p>…DuckDuckGo still uses JavaScript to intercept your link clicks, and there's no good reason for it. One consequence of this clickjacking is that your Safari browsing history gets messed up.</p>\n\n<p>…To stop DuckDuckGo clickjacking, install <a href=\"https://underpassapp.com/StopTheMadness/\" title=\"StopTheMadness\">StopTheMadness</a>, create custom website options for <code>duckduckgo.com</code>, and then enable the “All mouse clicks” option.</p>\n</blockquote>\n\n<p>I find myself caught by this at least once a week. JavaScript remains a menace.</p>\n\n<p><strong>Link:</strong> <a href=\"https://lapcatsoftware.com/articles/duckduckgo.html\">https://lapcatsoftware.com/articles/duckduckgo.html</a></p>"
      },
      {
         "title"         : "Erin",
         "id"            : "https://nostodnayr.net/2020/01/erin",
         "date_published": "2020-01-05T20:28:53Z",
         "date_modified" : "2022-04-05T23:38:46Z",
         "url"           : "https://nostodnayr.net/2020/01/erin",
         "summary"       : "A remembrance",
         "content_html"  : "<p><strong><em>A remembrance</em></strong></p><p>I seem to love endings, and due to some flaw in my nature, the messier and more unsettling the better. When I was a teacher, it was like I had a subscription. Every year, more goodbyes. And in most cases, for forever.</p>\n\n<p>Maybe not <em>forever</em> forever, though. <em>Maybe.</em></p>\n\n<hr />\n\n<p>There are no maybes today. Erin is gone. She was my best friend, my pseudo-sister, my platonic soulmate.</p>\n\n<p>She left Japan and moved home a few years ago. We had our goodbyes, both quite certain we’d see each other again before five years had passed – unequivocally certain before ten had done. But that was before the illness, the malevolence that broke all certainties, except for one: it would kill her in three.</p>\n\n<p>At our parting, we decided no tears were to be shed – <em>it wasn’t forever</em>, after all. I wish I could have kept that pledge, but this time it <em>was</em> forever and such things cannot be helped.</p>\n\n<p>Goodbye, my love.</p>\n\n<p><img class=\"round shadow sixty\" src=\"https://nostodnayr.net/misc/2020/01/erin-small-beer.jpeg\"\n     alt=\"A photograph of a woman, Erin, presenting her unusually small glass of beer at a restaurant in Japan.\"></p>"
      },
      {
         "title"         : "GitFocus",
         "id"            : "https://nostodnayr.net/2019/12/gitfocus",
         "date_published": "2019-12-29T23:12:01Z",
         "date_modified" : "2019-12-31T14:06:57Z",
         "url"           : "https://nostodnayr.net/2019/12/gitfocus",
         "summary"       : "Automate entering GitHub & GitLab issues into OmniFocus",
         "content_html"  : "<p><strong><em>Automate entering GitHub & GitLab issues into OmniFocus</em></strong></p><p>If you needn’t read more, <a href=\"https://github.com/nostodnayr/gitfocus/releases/latest\">download GitFocus from GitHub</a>.</p>\n\n<p>I recently started a new job where all of our documentation is managed through <code>git</code> and a lot of my work comes from issues and merge requests filed on GitLab. To keep track of them, I turn to OmniFocus, <a href=\"https://omnifocusbook.com/\"><em>no surprise</em></a>.</p>\n\n<p>It was clear by the second day that I didn’t fancy making all the actions by hand, though. Because of security concerns, I couldn’t turn to a web-based service like Zapier to help, so I decided to write an AppleScript. That’s more my pace anyhow.</p>\n\n<h2>How the scripts work</h2>\n\n<p>I had two goals: make the action title attractive and save it to an OmniFocus project corresponding to the GitLab project.</p>\n\n<p>Fortunately for me, GitLab and GitHub alike have page titles that are information-rich, and it’s trivial to use AppleScript to fetch those titles from Safari. On the other hand, I had no desire to deal with processing that text in AppleScript. For that, I wrote two small Perl scripts, which feed their results back in to the AppleScript.</p>\n\n<p>Together, they perform four primary tasks:</p>\n\n<ol>\n<li>Collect information about the web page from Safari.</li>\n<li>Transform the page title into an action title.</li>\n<li><em>Based on your specifications</em>, determine which OmniFocus project the action is saved to.</li>\n<li>Make the action in OmniFocus.</li>\n</ol>\n\n<h3>Titling</h3>\n\n<p>The first Perl script called is the <code>titler</code>, which transforms a web page title like this:</p>\n\n<blockquote>\n  <p>Update 'this thing' to 'that thing' and link to them from each (#8155) · Issues · content / web / support / en · GitLab</p>\n</blockquote>\n\n<p>…into an action titled:</p>\n\n<blockquote>\n  <p>resolve ❮#8155❯ – ‘Update 'this thing' to 'that thing' and link to them from each’</p>\n</blockquote>\n\n<p>I put the ticket number at the front so that both it and the titles would start in roughly the same position for each action, improving readability. The heavy angle brackets are there to help the issue numbers stand out to make them scannable.</p>\n\n<p>If you want to change the verb, capitalisation or anything else about the action title, instructions can be found in the <code>gitfocus-titler.pl</code> file.</p>\n\n<h3>Sorting</h3>\n\n<p>The resulting action gets sorted into a corresponding OmniFocus project based on the <code>sorter</code>. Beware, for it to work, <strong>it must be configured</strong>.</p>\n\n<p>Full instructions for how to set up the sorter are in the <code>gitfocus-sorter.pl</code> file. In short, the script checks if a search string is in the page title. If found, the project name is passed back to the AppleScript. For the current example, I’d use the following to save the action to the <em>Support Pages</em> project in OmniFocus:</p>\n\n<pre><code>print \"Support Pages\" if $page_title =~ m`content / web / support`;\n</code></pre>\n\n<h3>Action Creation</h3>\n\n<p>All being well, once the script has all the information it needs, it will make the action and save it to the project as specified. If the script is called on a page that’s not GitHub or GitLab, or if it fails to recognise the site correctly, the new action is dropped in the quick entry window.</p>\n\n<h2>Into the wild</h2>\n\n<p>I was content leaving this in a rough state for myself, but hearing about my work, Rose’s ears perked up. I shared the scripts with her and she decided she wanted a little more information in her actions. With a quick bit of JavaScript wizardry, she had the script saving the issue content and author in the notes field. Then, <a href=\"https://discourse.omnigroup.com/t/show-task-in-new-window/12411/6?u=nostodnayr\">with thanks to Ken Case</a>, she added a button to reveal the created action in OmniFocus.</p>\n\n<p>After all the work, she thought we should write it up to share with others. I agreed, but if it were to be presented to a general audience, I wanted sharp edges padded where possible, and where not, explained. Thus, I wrote up some documentation and added a little error handling, particularly because the issue content and author are prone to failure, should GitLab change their page markup.</p>\n\n<h2>Get GitFocus</h2>\n\n<p>Perhaps unsurprisingly, <a href=\"https://github.com/nostodnayr/gitfocus/\">GitFocus lives on GitHub</a>. You can always <a href=\"https://github.com/nostodnayr/gitfocus/releases/latest\">download the latest version</a> there.</p>\n\n<h3>Issues, Bugs, Feature requests</h3>\n\n<p>Should you encounter any problems with the scripts, <a href=\"https://github.com/nostodnayr/gitfocus/issues\" title=\"Issues · nostodnayr/gitfocus\">file an issue on GitHub</a> or <a href=\"mailto:rd@nostodnayr.net\">email me</a>. I will review pull requests and accept those that fix bugs or add features that seem fitting.</p>\n\n<h3>To use GitFocus</h3>\n\n<ol>\n<li>Copy all three script files to the Safari scripts folder at: <code>~/Library/Scripts/Applications/Safari/</code></li>\n<li>Edit <code>gitfocus-sorter.pl</code> to add your GitLab or GitHub, and OmniFocus projects.</li>\n<li>Run the AppleScript. You can invoke it from the system Scripts menu, but I recommend using a keyboard shortcut assigned with <a href=\"https://red-sweater.com/fastscripts/\" title=\"FastScripts\">FastScripts</a>.</li>\n</ol>"
      },
      {
         "title"         : "NetNewsWire 5 for iOS – Public TestFlight",
         "id"            : "https://nostodnayr.net/links/2019/12/netnewswire-5-for-ios-public-testflight",
         "date_published": "2019-12-24T02:07:33Z",
         "date_modified" : "2019-12-24T02:08:23Z",
         "url"           : "https://nostodnayr.net/links/2019/12/netnewswire-5-for-ios-public-testflight",
         "external_url"  : "https://ranchero.com/netnewswire/test-ios",
         "content_html"  : "<p>I’ve never been happier with an RSS reader on iOS than I am with NetNewsWire 5. I’ve been using it for two months, and not just because I was writing the <a href=\"https://ranchero.com/netnewswire/help/ios/5.0/en/\" title=\"NetNewsWire 5 for iPhone and iPad Help\">Help Book</a>, I haven’t used another RSS reader since.</p>\n\n<p>Nothing else feels as natural on, or fits in to, iOS than NetNewsWire. As someone who finds little joy in using iOS these days, this pays off. The interface and I are not adversaries. Ostensibly innovative user interface too often provides more frustration than innovation. I have no time for this.</p>\n\n<p>Do not read this as a pejorative: NetNewsWire is <em>adequate</em>. Not ostentatious, it is designed for reading. Two features not yet in the Mac OS version, Filters and Reader View, are no different. Though both tick boxes on the feature list, that’s not their objective. I open NetNewsWire, I read.</p>\n\n<hr />\n\n<p>As a life-long fan of NetNewsWire – <em>its</em> life – I’m elated to see it continue to evolve. Brent wrote:</p>\n\n<blockquote>\n  <p>NetNewsWire is a team.</p>\n</blockquote>\n\n<p>Isn’t it just. I do my small part, writing documentation, but that’s still nothing compared to the engineering and design that makes it all work. It’s wonderful to be part of that team, but it’s still only part of the whole. The reason we do it is for the larger part of the team – the users, <em>the readers</em>. Long live the open web.</p>\n\n<p><strong>Link:</strong> <a href=\"https://ranchero.com/netnewswire/test-ios\">https://ranchero.com/netnewswire/test-ios</a></p>"
      },
      {
         "title"         : "Armin Briegel’s ‘Moving to zsh’",
         "id"            : "https://nostodnayr.net/links/2019/12/armin-briegel-moving-to-zsh",
         "date_published": "2019-12-05T01:10:27Z",
         "date_modified" : "2019-12-05T01:12:34Z",
         "url"           : "https://nostodnayr.net/links/2019/12/armin-briegel-moving-to-zsh",
         "external_url"  : "https://scriptingosx.com/2019/11/new-book-release-day-moving-to-zsh/",
         "content_html"  : "<p>If you spend any time at the command line, it’s worth spending time to learn how it works, and customising it to help you work faster.</p>\n\n<p>Now is the perfect time to do that, as Mac OS begins the transition to using the Z Shell (<code>zsh</code>) as the default shell. Though the <code>zsh</code> documentation is plentiful, it’s technical and dense – I wouldn’t suggest anyone read it except as a reference.</p>\n\n<p>Armin Briegel’s <em>Moving to zsh</em> on the other hand is completely readable. He does a wonderful job of scaffolding, easing the reader into understanding a shell’s job before getting in too deep.</p>\n\n<p>The chapter on customising <code>zsh</code> is what shines. It’s overflowing with good information – you are certain to find several features that would be useful. This information provided is enhanced with lots of examples, recommendations and advice for working with <code>zsh</code>.</p>\n\n<p>At US$10 (available on Apple Books), it’s a thoroughly inexpensive addition to your reading for the winter holidays.</p>\n\n<p><strong>Link:</strong> <a href=\"https://scriptingosx.com/2019/11/new-book-release-day-moving-to-zsh/\">https://scriptingosx.com/2019/11/new-book-release-day-moving-to-zsh/</a></p>"
      },
      {
         "title"         : "Styled to a ‘B’",
         "id"            : "https://nostodnayr.net/2019/10/styled-to-a-b",
         "date_published": "2019-10-15T02:11:16Z",
         "date_modified" : "2019-10-16T01:51:05Z",
         "url"           : "https://nostodnayr.net/2019/10/styled-to-a-b",
         "summary"       : "BBStylish – attractive, customisable BBEdit Preview CSS",
         "content_html"  : "<p><strong><em>BBStylish – attractive, customisable BBEdit Preview CSS</em></strong></p><p>To repurpose a <a href=\"https://en.wikiquote.org/wiki/Douglas_Adams\" title=\"Douglas Adams - Wikiquote\">Douglas Adams</a> line:</p>\n\n<blockquote>\n  <p>It can hardly be a coincidence that no language on Earth has ever produced the expression ‘As pretty as Times New Roman.’</p>\n</blockquote>\n\n<p>I’m being uncharitable, of course. And besides, in this case, it’s <em>not</em> Times New Roman, but rather <em>Times</em>. Though you’d be forgiven for mistaking the two. Be that as it may, Times is, to my eye, no more attractive than its cousin.</p>\n\n<p><em>This is the first and most noticeable problem with previewing Markdown files in BBEdit.</em></p>\n\n<p>Speaking with Rose the other day, she lamented this fact. I had largely put the default look of the <em>Preview in BBEdit</em> window – which comes from WebKit – out of my mind.</p>\n\n<p>Annoyed by excessively long lines, small text and, yes, Times, I made my own default stylesheet for previewing Markdown ages ago. I don’t know how many other people have gone to this trouble, though.</p>\n\n<p>I considered sharing my stylesheet for others to use. Knowing that I’m pretty picky about things like this, when I considered the idea, I saw a glaring problem. Other people are bound to want slightly different text sizes, fonts, colours – and all the rest. Fine, but will everyone be willing or able to edit the <abbr>CSS</abbr>?</p>\n\n<p>Perhaps not, so I came up with another solution – I made a new stylesheet but made it approachable and more easily customisable. As is tradition, I named it with a ‘BB’ prefix and called it <em>BBStylish</em>.</p>\n\n<h2>Introducing BBStylish</h2>\n\n<p><a href=\"https://nostodnayr.net/projects/bbstylish/\" title=\"BBStylish project page\">BBStylish</a> is a stylesheet for BBEdit’s Preview window that offers attractive defaults, but which can be customised with little to no knowledge of <abbr>CSS</abbr>.</p>\n\n<p><img src=\"https://nostodnayr.net/misc/2019/10/bbstylish-sf-light.png\"\n     alt=\"Screenshot of this article previewed using the BBStylish stylesheet in the ‘Preview in BBEdit’ window.\"\n     style=\"width: 90%; margin-left: 5%;\"></p>\n\n<p><a href=\"https://nostodnayr.net/projects/downloads/bbstylish-latest.zip\">Download BBStylish (Version 1)</a></p>\n\n<h3>How BBStylish works</h3>\n\n<p>You can customise BBStylish to better suit your preferences. Out of necessity this requires some precision, but I’ve tried to make it approachable, even if you’re not familiar or comfortable with <abbr>CSS</abbr>. Explanations and examples are given for each of the ‘settings’.</p>\n\n<p>The setting (variable) is preceded by two hyphens and ends with a colon, like so:</p>\n\n<pre><code>--text-zoom:\n</code></pre>\n\n<p>Your setting goes after the colon, followed by a <em>semicolon</em>. Thus a full setting line looks like this:</p>\n\n<pre><code>--text-zoom:  120;\n</code></pre>\n\n<p><strong><em>Important:</em></strong> This bears repeating – the line must end with a semicolon.</p>\n\n<p>Apart from that, the other important note is that spaces and tabs are ignored, except between quotation marks.</p>\n\n<h4>How this works, more technically</h4>\n\n<p>I’ve made the setting system using <abbr>CSS</abbr> variables, calculations and by concealing the various units like <code>em</code>, <code>ch</code> and, for consistency, <code>%</code>. The variable names are understandable and there’s an excessive amount of comments to explain what each does, and how to edit them to get the desired effect.</p>\n\n<p>Thus, to change the line height in the Preview window, and have it affect – and keep beautiful – the rest of the page, you need only edit the value for one line instead of eight:</p>\n\n<pre><code>--line-height: 1.65;\n</code></pre>\n\n<p>In the case of line height, a unit isn’t necessary. But for others, like <code>--footer-space</code>, it is. I hide this away and only ask the user enter a number. Then, in the <code>body</code> selector I use the <code>calc</code> function to effectively convert it (second line):</p>\n\n<pre><code>margin-top: calc( (var(--line-height) * 2.5rem) +\n                  (var(--footer-space) * 1rem) );\n</code></pre>\n\n<p>The converted value is added to the default to help ensure the layout stays attractive and readable. Negative numbers also work.</p>\n\n<h3>How to use BBStylish</h3>\n\n<p>The <code>DefaultCSS_Markdown.css</code> file must be placed in the <em>Preview CSS</em> folder of BBEdit’s Application Support folder. The easiest way to open that folder is from the menu bar: choose <strong>BBEdit › Folders › Preview CSS</strong> and drag the file to the folder.</p>\n\n<p>Then, <em>write</em>.</p>\n\n<p>When you’re ready, open the Preview window: <strong>Markup › Preview in BBEdit</strong> (⌃⌘P)</p>\n\n<p><strong><em>Note:</em></strong> If the name of the file is left unmodified, BBStylish will be used as the default stylesheet when you preview any Markdown file. If you don’t want that, rename the file and ensure that the <code>.css</code> extension is maintained. When you want to use it, choose the file from the ‘CSS’ pop-up menu in the Preview window.</p>\n\n<h3>Customising BBStylish</h3>\n\n<p>All the instructions for editing the settings for BBStylish are included in the file. And obviously the best way to edit the file is <em>in BBEdit</em>.</p>\n\n<p>You can open the file directly from the Preview window, hold down the Option (⌥) key as you choose the file from the CSS pop-up menu. When you save the file, the changes are reflected immediately.</p>\n\n<h3>Dark Mode and BBStylish</h3>\n\n<p>When your system appearance, or the BBEdit appearance, is set to dark, BBStylish will use the <code>--dark-mode-</code> colours specified in the file. Enjoy.</p>\n\n<p>If you always want the light or dark version, despite the appearance, duplicate the desired colour values to be the same for both sets.</p>\n\n<h3>Font choices</h3>\n\n<p>Every Mac comes with some fantastic typefaces you could use for BBStylish. I chose the system <em>San Francisco</em> font as the default because it pretty much always looks good. <em>Georgia</em> can also look nice:</p>\n\n<p><img src=\"https://nostodnayr.net/misc/2019/10/bbstylish-georgia-dark.png\"\n     alt=\"Screenshot of this article previewed using the BBStylish stylesheet, this time using the New York Small font.\"\n     style=\"width: 90%; margin-left: 5%;\"></p>\n\n<p>Excellent choices abound – Gill Sans and Hoefler Text, for example – try different ones, with different text zoom factors and line heights, to find your favourite.</p>\n\n<p>Fortunately BBEdit can, unlike Safari, still access your locally-installed fonts so anything you’ve got installed is also fair game.</p>\n\n<hr />\n\n<p>I love the <em>Preview in BBEdit</em> window. I use it for <a href=\"https://nostodnayr.net/2019/04/custom-bbedit-previews\" title=\"Custom Markdown Previews in BBEdit · nostodnayr.net\">previewing articles on my site</a>, checking work-in-progress NetNewsWire Help Book files, and of course, previewing any Markdown file. I hope this will make you love it a bit more too.</p>\n\n<p>If you have any questions, comments or suggestions about BBStylish, please email me at <a href=\"&#x6D;&#x61;&#x69;&#108;&#x74;&#111;:&#114;&#x64;&#64;&#110;&#111;&#115;&#116;o&#x64;&#110;&#97;&#x79;&#114;&#46;&#110;&#x65;&#x74;\">&#114;&#x64;&#64;&#110;&#111;&#115;&#116;o&#x64;&#110;&#97;&#x79;&#114;&#46;&#110;&#x65;&#x74;</a>.</p>"
      },
      {
         "title"         : "Welcome, Number Thirteen",
         "id"            : "https://nostodnayr.net/2019/10/bbedit-thirteen",
         "date_published": "2019-10-02T01:55:07Z",
         "date_modified" : "2020-01-07T20:15:10Z",
         "url"           : "https://nostodnayr.net/2019/10/bbedit-thirteen",
         "summary"       : "There’s nothing unlucky about BBEdit 13",
         "content_html"  : "<p><strong><em>There’s nothing unlucky about BBEdit 13</em></strong></p><p>I’ve heard tales of <em>other</em> text editors for the Macintosh but I find such stories hard to believe. To my mind, there is <em>no</em> other text editor than BBEdit.</p>\n\n<p><img style=\"width: 16%;margin:0 42%;\" alt=\"The BBEdit logo\" src=\"/misc/2019/10/bb13-logo.png\"></p>\n\n<p>It’s been my companion for over twenty years. I’ve never seriously considered any alternative – BBEdit doesn’t let me down, and is never anything short of helpful.</p>\n\n<p>Today we welcome a new version, BBEdit 13. Throughout its twenty-six years, each release has refined and improved what appears to be something so simple – editing text. <em>Plain text.</em></p>\n\n<p>Version 13’s opening move is in search and the editor. BBEdit’s various search capabilities have always been a killer feature, thanks in no small part to its integration of a regular expression engine. The editor – obviously <em>the</em> killer feature.</p>\n\n<h2>BBEdit 13 Editor Updates</h2>\n\n<h3>New line bar and gutter</h3>\n\n<p>I suspect the first thing you’ll notice when you launch BBEdit 13 is the new line number bar and gutter. Rather than being peripheral to the editor, they’re now fully integrated. This comes with two big changes: the current line is highlighted and the numbers are displayed using the same font and size as the editor.</p>\n\n<p>Though I wasn’t complaining, I like both of these changes. The one sticking point is that I still prefer a smaller text size for the line numbers. Fortunately it’s easy to set a maximum size using an expert preference. I write in 18 point Consolas, so I set the line numbers to be a maximum of 12 points:</p>\n\n<pre><code>defaults write com.barebones.bbedit MaximumLineBarPointSize -float 12\n</code></pre>\n\n<p>The change takes place immediately, so you can try different sizes to see what fits you best, if the default doesn’t suit you. (If you use a Unix Worksheet, you needn’t even leave the app.)</p>\n\n<p>Though I’m not one of them, some people write in BBEdit using a variable-width font. Line numbers in such a font might not look right, so you can instead use the system font’s fixed-width numbers instead:</p>\n\n<pre><code>defaults write com.barebones.bbedit UseSystemFontForLineBar -bool TRUE\n</code></pre>\n\n<h3>Large interface appearance</h3>\n\n<p>My favourite enhancement is to the editor’s status bars – a large text option. My eyes are still good enough to see the normal size but the large version is just a bit more comfortable to read. Importantly, though the widgets are larger, they don’t feel it. </p>\n\n<p><img src=\"https://nostodnayr.net/misc/2019/10/bb13-small-large-status-bar.png\"\n     alt=\"A comparison between BBEdit’s status bar in normal (left) and large (right) appearances.\"></p>\n\n<p>As the change notes state, the <em>status bars</em> name is chosen for brevity. Other items, like pop-up menus, increase in size with the large appearance setting. Weary eyes be eased.</p>\n\n<p><img src=\"https://nostodnayr.net/misc/2019/10/bb13-small-large-functions.png\"\n     alt=\"A comparison between BBEdit’s functions pop-up menu in normal (left) and large (right) appearances.\"\n     style=\"width:100%;margin:auto;\"></p>\n\n<p>The only problem is that it leaves me wanting more. There are many places in the app where the text is (subjectively) small. Nonetheless, having some of the most commonly tread paths be more accessible is a great improvement. Perhaps such an affordance will be made by the operating system instead some day.</p>\n\n<h3>System Appearance and BBEdit Colour Schemes</h3>\n\n<p>BBEdit 13 changes how its colour schemes and the Mac OS appearance (light or dark mode) interact. I find the new system easier to understand, but it’s still (necessarily) complex.</p>\n\n<p>You can tell BBEdit to <em>always</em> use either light or dark mode, irrespective of the <abbr>OS</abbr> setting. Alternatively, BBEdit will follow the system setting, changing to fit in.</p>\n\n<p>Also in the interest of fitting in, BBEdit maintains a separate colour scheme setting for each appearance. That way you can use one scheme for light mode and another for dark. How this works, or <em>that</em> it works isn’t explicitly stated. Just know that when you change a theme, the change sticks for the current system appearance.</p>\n\n<h4>An aside on colour scheme switching</h4>\n\n<p>The change is not quite a solution to my problem. I generally want to use a light colour scheme during the day and a darker one at night, but without changing the OS appearance. An esoteric request, which I wouldn’t expect to be accommodated.</p>\n\n<p>In BBEdit, such a situation can often be solved by creating one’s own features using scripting. This is no different, though it doesn’t use the traditional AppleScript approach. Changing the colour scheme preferences using the Mac OS <code>defaults</code> command takes effect immediately. Thus it’s trivial to write a shell script to automate changing schemes.</p>\n\n<p>To change the Light Mode colour scheme:</p>\n\n<pre><code>defaults write com.barebones.bbedit SelectedColorSchemeName \"BBEdit Light\"\n</code></pre>\n\n<p>And Dark Mode’s scheme:</p>\n\n<pre><code>defaults write com.barebones.bbedit SelectedColorSchemeNameDarkMode \"Toothpaste\"\n</code></pre>\n\n<h2>Search in BBEdit 13</h2>\n\n<p>Search is surely synonymous with the Find window, and with good reason. It’s not the full story, though. There’s also Live Search and Multi-File Search. Going deeper, there are the line processing commands in the <em>Text</em> menu – and more.</p>\n\n<h3>Searching with grep regular expressions</h3>\n\n<p>All of these, and other commands, have the power of regular expressions, <em>grep searching</em>, at their behest. For the uninitiated, chapter eight (né seven) of BBEdit’s user manual has long been an excellent learning resource, offering a crash course in writing regex. It’s where I and doubtless many others first learnt of their sorcery.</p>\n\n<p>BBEdit 13 takes steps to bring those teachings into the application proper. First, with the addition of a regex <em>cheat sheet</em>, which lists nearly every possible useful option with a brief explanation of what it does.</p>\n\n<p><img src=\"https://nostodnayr.net/misc/2019/10/bb13-grep-cheat-sheet-normal.png\"\n     alt=\"BBEdit’s 13 regular expression (grep) cheat sheet\n          pop-up menu.\"\n     title=\"Click on an entry and it’ll be inserted to get you started. (Menu in ‘normal’ appearance.)\"\n     style=\"width:60%;margin:0 20%;\"></p>\n\n<p>Upon entering a search pattern into a Find window, you’ll now also see potential matches highlighted in the editor, similar to Live Search. It’s great for writing grep searches because it means you can immediately see how much, or how little, you’re matching.</p>\n\n<p><img src=\"https://nostodnayr.net/misc/2019/10/bb13-search-highlight.png\"\n     alt=\"BBEdit’s 13 Find window and a text document showing the new live search result highlighting.\"\n     title=\"A thoroughly overwrought example.\" \n     style=\"width:100%;margin:auto;\"></p>\n\n<h3>Pattern Playground</h3>\n\n<p>Writing a regular expression can be challenging and error-prone for even the most experienced practitioners. When using them for creating replacements using capturing parentheses and backreferences, doubly so.</p>\n\n<p>Enter the Pattern Playground – an extension to the Find system which helps you build search patterns.</p>\n\n<p>The first way it helps is by providing feedback about errors in the entered pattern. If you forgot to close a character class, or missed out an escaped <code>]</code>, you’re told of it immediately. It helps make the grep search less of a black box.</p>\n\n<p>The other help comes when using capture groups and replacements. Say you want to convert this list of dates from a difficult to understand format (month-day-year) to something more standard (year-month-day).</p>\n\n<p>If you want to try along, open a Pattern Playground window, choose <em>Scratch Space</em> from the contents menu and paste in this text:</p>\n\n<pre><code>06-20-1967\n05-11-1993\n08-04-1997\n05-04-1998\n11-06-1998\n</code></pre>\n\n<p>Then enter this search pattern:</p>\n\n<pre><code>(\\d{2}-\\d{2})-(\\d{4})\n</code></pre>\n\n<p>The pattern has three parts:</p>\n\n<ol>\n<li>A group for the two-digit month, a hyphen, and a the two-digit date</li>\n<li>A hyphen</li>\n<li>A second group for the four-digit year</li>\n</ol>\n\n<p>Entering that pattern into the Pattern Playground, you’ll see a listing of what each group is capturing (group 0 is always the whole match). Even better, if you enter a replacement pattern like <code>\\2-\\1</code> you’ll see how the current match will be affected by the replacement.</p>\n\n<p><img src=\"https://nostodnayr.net/misc/2019/10/bb13-pattern-playground.png\"\n     alt=\"BBEdit 13’s Pattern Playground window showing\n          the search and replace pattern and a list of dates.\"></p>\n\n<p>Using the <em>Next</em> button, you can step through each match to check your pattern works as expected. Once you’re happy with it, click the <em>Use for Find</em> button. The pattern will appear in the Find window, whereupon you can perform the operation.</p>\n\n<p>The Pattern Playground is a brilliant help when making any complex pattern. It’s also good for, as the name implies, <em>playing</em>. You might use it to learn or better understand regex, or to improve pre-existing patterns. I find it a perfect complement to the existing search tools.</p>\n\n<p><strong>One small tip for when writing complex regular expressions:</strong> Don’t forget that you can turn on Perl-style expanded patterns using <code>(?x)</code>. Newlines, tabs and spaces will no longer have an impact on the pattern, meaning you can write a more readable pattern. For clarity, also consider adding comments <code>(?# … )</code> to any pattern you might save for repeated use. Here’s the pattern from above, transformed:</p>\n\n<pre><code>(?x)\n(\\d{2}-\\d{2}) (?# month-day)\n-             (?# add this back in the replacement)\n(\\d{4})       (?# year)\n</code></pre>\n\n<h2>Other BBEdit 13 Changes</h2>\n\n<p>I couldn’t possibly list and explain all the changes in BBEdit 13. But I needn’t anyhow, as it’s already been done: <a href=\"http://www.barebones.com/support/bbedit/notes-13.0.html\" title=\"Bare Bones Software | BBEdit 13.0 Release Notes\">BBEdit 13.0 Release Notes</a>.</p>\n\n<p>Enjoy reading through them with a nice hot drink, and maybe a bit of cake – we’re celebrating! There’s nothing unlucky about this thirteen.</p>"
      },
      {
         "title"         : "Madness Meets Modernity",
         "id"            : "https://nostodnayr.net/2019/08/madness-meets-moderntiy",
         "date_published": "2019-08-20T18:30:06Z",
         "date_modified" : "2019-08-21T01:04:15Z",
         "url"           : "https://nostodnayr.net/2019/08/madness-meets-moderntiy",
         "summary"       : "Options for using old Movable Type today",
         "content_html"  : "<p><strong><em>Options for using old Movable Type today</em></strong></p><p>I’m a fan of Movable Type – <em>the de facto blogging platform</em></p>\n\n<p>…of the 2000s.</p>\n\n<p>Movable Type is a static site generator by default, but since its fall, the web has moved on to much lighter static site generators. None of them is as elegant in design or templating to my admittedly nostalgia-tinged eyes. (I dare not consider the other side, with the <abbr>PHP</abbr> behemoth.)</p>\n\n<p>It’s not just the web which has moved on, of course. The language Movable Type is written in, Perl 5, has changed too. Most notably, since version 5.14 or so, the language has started to evolve and break old syntax. It is because of this that Movable Type no longer runs correctly, or at all, with modern Perls.</p>\n\n<p>That’s not to say <a href=\"https://movabletype.org/downloads/archives/\" title=\"Movable Type Software Archive\">Movable Type 4</a> <em>won’t</em> run today – it and even earlier versions will, but it takes a little work. We must either:</p>\n\n<ul>\n<li>edit the <abbr>MT</abbr>4 code (and potentially plugin code) to run under modern Perl</li>\n<li>run <abbr>MT</abbr>4 using an earlier version of Perl</li>\n</ul>\n\n<p>There are problems with both approaches. Once you find the offending lines, <a href=\"https://marc.info/?l=mtos-dev&amp;m=150715198230126&amp;w=4\" title=\"MTOS-dev mailing list archive – Updating Movable Type 4.3x for Modern Perl\">editing the Movable Type code</a> is not too difficult, provided you understand a bit of Perl. This was my approach at my former web host and it worked pretty well. There were still lingering problems, though – there were frequent warnings and image manipulation functions in <abbr>MT</abbr> didn’t work. I accepted the trade-offs as a temporary solution. Besides, that was my only option on shared hosting.</p>\n\n<p>Once I moved this site to its own server, running an old Perl became feasible. But again, modernity brought problems. Understandably, any current and supported distribution of Linux is likely using Perl 5.26 or later. Though I may be comfortable running old software for myself, I <em>will not</em> run a publicly-accessible server on a so-called <em>end of life</em> operating system.</p>\n\n<p>Then, CentOS 6. Distributions of CentOS are supported for a <em>very</em> long time and version 6 shipped with Perl 5.10. It was perfect for my needs but it too was a temporary solution. The operating system is only receiving the most critical updates at this point and all support will end in late 2020.</p>\n\n<p>It is necessary to go another way: build and run your own Perl. This version must run parallel to the system’s Perl, and only for those applications which need it. Unless you’re a well-seasoned sysadmin, the process is a bit of an undertaking. It’s imperative to configure the building and installation of the Perl core, and its modules, so as not to disturb the system Perl.</p>\n\n<p>Though it may take effort, and perhaps multiple attempts, it is possible to do on your own. It’s probably not advisable, though.</p>\n\n<p>I am not the only person who has wanted to do this – perhaps even you might. Many people have the need and for that reason, the <a href=\"https://metacpan.org/release/App-perlbrew\" title=\"App-perlbrew-0.86 - Manage perl installations in your $HOME - metacpan.org\">Perlbrew</a> utility exists. It handles the messy details for you. <em>This</em> is the first step to getting a web app like Movable Type 4 running on modern systems.</p>\n\n<hr />\n\n<p>Perlbrew is only part of the solution, but it’s probably the majority. You also need to get the web server to use the new <em>old</em> Perl and this takes some additional preparation and work. In a follow-up to this piece I intend to share the details of how I got it working on my machines. For anyone else out there who loves Movable Type and is slightly mad.</p>"
      },
      {
         "title"         : "Fizsh",
         "id"            : "https://nostodnayr.net/2019/07/fizsh",
         "date_published": "2019-07-25T01:35:33Z",
         "date_modified" : "2019-07-25T01:51:01Z",
         "url"           : "https://nostodnayr.net/2019/07/fizsh",
         "summary"       : "Fishy zishy",
         "content_html"  : "<p><strong><em>Fishy zishy</em></strong></p><p>Armin Briegel, author of <a href=\"https://scriptingosx.com/\" title=\"Scripting OS X – #! is not a curse word\">Scripting OS X</a>, has been writing a series of articles on his transition from Bash to the Z Shell (<code>zsh</code>). So far there are seven parts, touching on a number of things encountered in <code>zsh</code>:</p>\n\n<ul>\n<li><a href=\"https://scriptingosx.com/2019/06/moving-to-zsh-part-2-configuration-files/\" title=\"Moving to zsh, part 2: Configuration Files – Scripting OS X\">Configuration files</a></li>\n<li><a href=\"https://scriptingosx.com/2019/06/moving-to-zsh-part-3-shell-options/\" title=\"Moving to zsh, part 3: Shell Options – Scripting OS X\">Shell options</a></li>\n<li><a href=\"https://scriptingosx.com/2019/07/moving-to-zsh-part-4-aliases-and-functions/\" title=\"Moving to zsh, part 4: Aliases and Functions – Scripting OS X\">Aliases and functions</a></li>\n<li><a href=\"https://scriptingosx.com/2019/07/moving-to-zsh-part-5-completions/\" title=\"Moving to zsh, part 5: Completions – Scripting OS X\">Completions</a></li>\n<li><a href=\"https://scriptingosx.com/2019/07/moving-to-zsh-06-customizing-the-zsh-prompt/\" title=\"Moving to zsh, part 6 – Customizing the zsh Prompt – Scripting OS X\">Prompt customisation</a></li>\n<li><a href=\"https://scriptingosx.com/2019/07/moving-to-zsh-part-7-miscellanea/\" title=\"Moving to zsh – part 7: Miscellanea – Scripting OS X\">Miscellanea</a></li>\n</ul>\n\n<p>I’ve really been enjoying reading these articles. There’s at least one more big article to come, covering scripting with <code>zsh</code>. </p>\n\n<p>I was always a <code>bash</code> user because that’s what OS X shipped with. I had put some time in over the years  customising aliases and functions, but never anything too deep. After all, I didn’t spend <em>that</em> much time in the Terminal.</p>\n\n<p>About a year ago I started spending more time at the command line and changed my shell to the ‘modern’ shell called <a href=\"https://fishshell.com/\" title=\"fish shell\"><code>fish</code></a>. It comes with lots of nice in-built features like <em>colourisation</em>! Not just in syntax highlighting on the command line, but you don’t even need to specify a <code>--color</code> or <code>-G</code> flag to get colourised <code>ls</code> output, for example. Holding down Option and pressing the left or right arrow key also does what I expect (as a Mac user), and jumps word-by-word.</p>\n\n<p>Reading this had me wondering whether I should move to <code>zsh</code> myself. Last weekend I spent some time setting it up, moving over aliases and customising my prompt. I’ve been using it since and in that limited time I’ve not found a lot compelling – but I’m also not using any plugins like <a href=\"https://ohmyz.sh/\" title=\"Oh My Zsh - a delightful &amp; open source framework for Zsh\">oh-my-zsh</a>. I agree with Mx Briegel on the matter. I’d rather configure it how I like without assistance, at least at first.</p>\n\n<h2>Scripting</h2>\n\n<p>Both shells offer nicer scripting syntax. Here <a href=\"https://leancrew.com/all-this/2019/06/deprecating-scripting/#fn:zsh\" title=\"All this\">I agree with Dr Drang</a> who wrote:</p>\n\n<blockquote>\n  <p>I think people who script in the shell—any shell—are masochists.</p>\n</blockquote>\n\n<p>Most scripts I’ve got are simple enough that writing them in Perl instead might qualify as more masochistic. However, the script I wrote a couple weeks ago started simple and grew to the point where I was regretting it. I bumped up against bugs and incorrect or poor documentation of the <code>fish</code> specification. </p>\n\n<p>As a result the script is less robust and featured than I’d like, even if it’s only something I’ll use. My mistake. Naturally the bugs and documentation should be corrected, but I should have been using a better tool for the job.</p>\n\n<p>For now I suspect I’ll stick with <code>fish</code>. I can imagine a situation where I might use both: <code>zsh</code> on Linux but <code>fish</code> on my Mac. I will, however, continue to use <code>zsh</code> for a while as I explore features and maybe try some plugins.</p>"
      },
      {
         "title"         : "Announcing ‘Nested Folders’",
         "id"            : "https://nostodnayr.net/links/2019/07/nested-folders",
         "date_published": "2019-07-17T13:46:26Z",
         "date_modified" : "2019-07-17T13:50:18Z",
         "url"           : "https://nostodnayr.net/links/2019/07/nested-folders",
         "external_url"  : "https://heyscottyj.com/2019/07/16/announcing-nested-folders/",
         "content_html"  : "<p><a href=\"https://rosemaryorchard.com/blog/introducing-nested-folders-a-productivity-podcast/\" title=\"Introducing Nested Folders, a Productivity Podcast\">Rosemary Orchard</a> and Scotty Jackson, two of my favourite people, have a new podcast, <a href=\"https://nestedfolderspodcast.com/\" title=\"Nested Folders Podcast\"><em>Nested Folders</em></a>.</p>\n\n<blockquote>\n  <p>We’ll discuss all manner of productivity topics, mostly centres around philosophies, techniques, and approaches, so that listeners can benefit from our experiences, regardless of apps or systems they might use.</p>\n\n<p>Also, a huge thanks and shout out to Josh Hughes for the amazing cover art. Love this!</p>\n</blockquote>\n\n<p>Josh also designed the cover for <a href=\"https://omnifocusbook.com/home/\" title=\"Build Your OmniFocus Workflow | Build Your OmniFocus Workflow\"><em>Build Your OmniFocus Workflow</em></a>, my and Rose’s book. (Oh, and some <a href=\"https://omnifocusicons.josh-hughes.com/\" title=\"Perspective Icons for OmniFocus 3, by Josh Hughes\">fantastic OmniFocus icons</a>, too!)</p>\n\n<p><strong>Link:</strong> <a href=\"https://heyscottyj.com/2019/07/16/announcing-nested-folders/\">https://heyscottyj.com/2019/07/16/announcing-nested-folders/</a></p>"
      },
      {
         "title"         : "EFF Donation Drive 2019",
         "id"            : "https://nostodnayr.net/links/2019/07/eff-donation-drive-2019",
         "date_published": "2019-07-12T17:58:56Z",
         "date_modified" : "2019-07-12T18:01:34Z",
         "url"           : "https://nostodnayr.net/links/2019/07/eff-donation-drive-2019",
         "external_url"  : "https://www.eff.org/r.jxmr",
         "content_html"  : "<p>The EFF are working to protect people’s rights online. They also produce and support <a href=\"https://certbot.eff.org/\" title=\"Certbot\">Certbot</a>. It automates the process of installing <a href=\"https://letsencrypt.org/\" title=\"Let's Encrypt - Free SSL/TLS Certificates\">Let’s Encrypt</a> <abbr>SSL</abbr> certificates on a web server.</p>\n\n<p>A donation of any amount is welcome, I have no doubt. From US $20, you can get a gift in exchange for a donation. For the next two weeks you can get a <a href=\"https://www.eff.org/files/2019/07/09/lapel_pins.jpg\">set of four pins</a> depicting the EFF logo and four symbols representing advised actions and habits:</p>\n\n<ul>\n<li>Locks: <em>use two-factor authentication</em></li>\n<li>Keys: <em>use an encrypted messaging app</em></li>\n<li>Die: <em>use a password manager</em></li>\n</ul>\n\n<p>Even if you don’t plan to donate or have no interest in the pins they’re still <em>all good ideas</em>.</p>\n\n<p><strong>Link:</strong> <a href=\"https://www.eff.org/r.jxmr\">https://www.eff.org/r.jxmr</a></p>"
      },
      {
         "title"         : "Paycasts",
         "id"            : "https://nostodnayr.net/links/2019/07/paycasts",
         "date_published": "2019-07-10T11:14:47Z",
         "date_modified" : "2019-07-13T19:54:33Z",
         "url"           : "https://nostodnayr.net/links/2019/07/paycasts",
         "external_url"  : "http://richardberry.eu/podcast-or-paycast/",
         "content_html"  : "<p>Richard Berry, an academic in the field of radio and podcasting asks and answers:</p>\n\n<blockquote>\n  <p>When is a podcast not a podcast? When it’s a paycast.</p>\n</blockquote>\n\n<p>No argument from me. </p>\n\n<p><strong>Link:</strong> <a href=\"http://richardberry.eu/podcast-or-paycast/\">http://richardberry.eu/podcast-or-paycast/</a></p>"
      },
      {
         "title"         : "The Shed Project",
         "id"            : "https://nostodnayr.net/links/2019/07/the-shed-project",
         "date_published": "2019-07-07T01:41:51Z",
         "date_modified" : "2019-07-07T01:41:52Z",
         "url"           : "https://nostodnayr.net/links/2019/07/the-shed-project",
         "external_url"  : "http://leejohnphillips.com",
         "content_html"  : "<p>Lee John Phillips is cataloguing and illustrating every item in his late grandfather’s tool shed. The objects are mostly incredibly mundane – screws, washers, pliers – but his delicate drawings make them incredibly <em>interesting</em>. You can see some of them on his site, but also in <a href=\"https://www.buzzmag.co.uk/shed-project-interview-lee-john-phillips/\" title=\"LEE JOHN PHILLIPS: THE SHED PROJECT | ART INTERVIEW • Buzz Magazine\">various</a> <a href=\"https://about.zealous.co/articles/featured/featured-creatives/lee-john-phillips-the-shed-project/\" title=\"Lee John Phillips: The Shed Project | About Zealous\">interviews</a> and <a href=\"https://www.boredpanda.com/grandfather-died-illustrations-tools-shed-project-lee-john-phillips/\" title=\"Artist Celebrates Late Grandfather By Drawing Each Of The 100,000+ Items He Left In His Toolshed | Bored Panda\">profiles</a> around the web.</p>\n\n<p>His site says that he anticipates the project will take five years to complete. Six years after starting it, he has amended that projection suggesting it is his ‘life’s work’ sketching the estimated 100,000 items.</p>\n\n<p>What an wonderful way to honour someone’s memory.</p>\n\n<p><strong>See Also</strong>: <a href=\"https://twitter.com/BBCWales/status/1137774609065897985\" title=\"BBC Wales on Twitter: Video: &quot;Meet the artist who is drawing every single item in his grandfather's shed to honour his memory.… &quot;\">A short video interview with Mr Phillips</a> produced by BBC Wales.</p>\n\n<p><strong>Link:</strong> <a href=\"http://leejohnphillips.com\">http://leejohnphillips.com</a></p>"
      },
      {
         "title"         : "World Lighthouses",
         "id"            : "https://nostodnayr.net/links/2019/07/world-lighthouses",
         "date_published": "2019-07-01T21:01:56Z",
         "date_modified" : "2019-07-01T21:03:07Z",
         "url"           : "https://nostodnayr.net/links/2019/07/world-lighthouses",
         "external_url"  : "https://geodienst.github.io/lighthousemap/",
         "content_html"  : "<p>This is an interactive map of the world’s lighthouses showing their flashing pattern and colours. I don’t know why, but I find it difficult to pull myself away from it.</p>\n\n<p>Of note on the map is Europe, which plainly <em>loves</em> lighthouses, lighting up its coastlines like a Christmas tree. Norway’s coasts, though, are remarkable – not just for the fjords. Its Antarctic and Atlantic coasts are thick with lighthouses of every colour. Beautiful.</p>\n\n<p>(Via <a href=\"https://themorningnews.org/p/an-interactive-map-of-the-worlds-lighthouses-and-their-signal-patterns\" title=\"An interactive map of the world’s lighthouses and their signal patterns.\">The Morning News</a>.)</p>\n\n<p><strong>Link:</strong> <a href=\"https://geodienst.github.io/lighthousemap/\">https://geodienst.github.io/lighthousemap/</a></p>"
      }
   ]
}