A blog about everything by Jack Baty

Category: Tech

Alternatives to using Gutenberg

Let’s say, for the sake of argument, that I’d like to stick with WordPress for a while. Let’s also say that I dislike writing anything more than a sentence or two using the Gutenberg editor. (I don’t enjoy block editors anywhere.)

What are my options?

iA Writer offers my favorite writing environment. It’s just so damn nice1. It publishes to WordPress fine. The issue is that it’s a one-and-done situation. Once I hit “Publish”, any edits need to be done in WordPress. I write fast and loose, so there are always edits. Also, Writer only allows for publishing Draft posts. I never post drafts. Or, more accurately, all my posts are drafts forever. Just let me put it out there.

MarsEdit is a complete and powerful way to publish. It handles a variety of scenarios and takes many parts of WordPress into account (e.g. Featured Images, etc.). It does two-way publishing2, meaning I can write and edit in either/both Gutenberg or MarsEdit and not lose anything in translation. It has a handy plugin for extracting quotes and links from web pages. It’s author, Daniel Jalkut, is very helpful. My only beef with MarsEdit is that it’s beginning to show its age. I know, shallow, but I can’t help but be a little put off by it.

Otherwise, there’s Ulysses, but I recently uninstalled it, so that’s out.

Anything else? Maybe it’s less hassle in the long run to just use Gutenberg.


  1. I’m typing this post in iA Writer. ↩︎
  2. Now I’m editing the published post in MarsEdit. ↩︎

RSS as security risk?

While looking for a way to enable xmlrpc in this Siteground-hosted WordPress installation, I ran into this:

20230929 Security Optimizer  Site Security  Rudimentary Lathe  WordPress

RSS continues to struggle with maintaining traction, and this doesn’t help.

Grab the weather forecast using weatherapi.com

I like to record the weather in my journals. For several years, I’ve used https://wttr.in via curl. Recently, wttr is often unreachable or throws errors, so I took a look at weatherapi.com

Designed for developers by developers, Weather API is the ultimate weather and geolocation API

The free account limits are generous, so I created an account. The default JSON results are very thorough. I created a little shell script that uses jq to parse the JSON and returns only the high/low temps and a text summary of the forecast:

#!/bin/sh
# Jack Baty, 2023 (https://baty.net)

jq=/opt/homebrew/bin/jq
weatherfile=`mktemp`

curl -s "https://api.weatherapi.com/v1/forecast.json?key=MYAPIKEY&q=MYZIPCODE&days=1&aqi=no&alerts=no" > $weatherfile

condition=`${jq} -r .forecast.forecastday[0].day.condition.text ${weatherfile}`
high=`${jq} -r .forecast.forecastday[0].day.maxtemp_f ${weatherfile}`
low=`${jq} -r .forecast.forecastday[0].day.mintemp_f ${weatherfile}`

echo "Low ${low}, High ${high} - ${condition}"


The output looks like this:

Low 52.1, High 72.6 – Patchy rain possible

Easy enough. I wrote a small lisp function that calls the script and inserts the weather in Emacs:

(defun jab/insert-forecast ()
"Use weatherapi.com to insert the weather forecast at point"
(interactive)
(let ((w (shell-command-to-string "~/bin/getweather")))
(insert w)))

RSS feeds as emails using Notmuch and rss2email

I’m all-in with Emacs after once again failing to get along with Obsidian.

I’d stopped using Notmuch in Emacs for email, but I brought it back after re-reading Paul Ford’s article in Wired: I Finally Reached Computing Nirvana.

Could I too start storing things as email and find them later using Notmuch?

So far, I’ve solved RSS feeds. Rather than reading feeds in NetNewsWire or Elfeed, I’m using rss2email to convert RSS feeds to emails and reading them in Notmuch.

A good reference for getting started with rss2email is LinuxBabe’s How to Install and Use rss2email on Ubuntu

The tricky part of rss2email is actually sending the emails. I eventually got things working using msmtp, which would have been fine, but it’s a lot of extra hoohah. If only I could save the RSS items directly into Notmuch. Guess what, I can!

rss2email supports writing to Maildir files. It was as easy as adding the following to my rss2email config:

email-protocol = maildir
maildir-path = ~/Mail/Baty.net
maildir-mailbox = Feeds

rss2email supports importing OPML files, but I decided to clean things up and add feeds one at a time, like this:

r2e add BatyBlog https://baty.blog/feed.rss

Then, when I want to read my feeds I run r2e run and everything ends up right in Notmuch. I don’t want them tagged with “inbox” along with my real email, so I added a filter to the post-new hook in Notmuch.

notmuch tag +feed -inbox -- '(from:jack+rss@baty.net)'

I have the rss2email sender configured as jack+rss@baty.net so it’s easy to filter just those messages. With that hook, new RSS feed items do not appear in the inbox, but I can easily read them in Notmuch by searching for tag:feed AND tag:unread.

So there, I’ve moved my RSS feeds into emails and manage them via Notmuch.

Hiding scheduled TODO items in Org-mode

Many of my TODO items in Org-mode include a SCHEDULED property, which lets me ignore them until a specified date in the future. This keeps my Org agenda nice and tidy.

Something that always bugged me is that this worked fine in the Agenda, but not the global TODO list. It finally bothered me enough that I went looking for a solution, which I found in like twenty seconds:

(setq org-agenda-tags-todo-honor-ignore-options t)

Now, my global TODO lists don’t include future items. This is great.

One other thing I learned is that some of the ignore options take a numeric value. This means that I can set org-agenda-todo-ignore-deadlines to something like 7 and those items with a deadline more than a week out, don’t show up in global TODO lists.

org-agenda-skip-scheduled-if-done t
org-agenda-skip-deadline-if-done t
org-agenda-todo-ignore-scheduled 'future
org-agenda-todo-ignore-deadlines 7

Org-mode is cool.

SetApp Apps I use

The apps I currently have installed via SetApp

During frequent bouts of Subscription Fatigue, I always glance sideways at SetApp, thinking that I could cancel my subscription. Then I look at the apps I have installed via SetApp (see above) and once again realize that it might be the most useful $10/month subscription I have. So it stays.

On Tools and the Aesthetics of Work – Cal Newport

On Tools and the Aesthetics of Work – Cal Newport:

The modern computer, with its generic styling and overloaded activity, creates a cognitive environment defined by urgent, bland, Sisyphean widget cranking

He’s got that right. Also, check out the Mythic I that he links to in the article. Beautiful!

Another quote that Newport highlights is the following from Keegan McNamara:

That combination of craftsmanship and utility, objects that are both thoroughly practical and needlessly outrageously beautiful, doesn’t really exist anymore. ‘And it especially doesn’t exist for computers.

It would be cool if it did.

Org-journal stays

My org journal. September.

I’ve been keeping a journal using Org-journal in Emacs since 2016. I’ve got the writing process nailed. I’ve configured it so that with just a few keystrokes I can export it to a nice PDF file every month for archiving and printing. I have no complaints.

The looming problem is that I can feel myself pulling away from using Emacs for everything. Org-mode uses the most powerful markup language and tooling there is, but I haven’t been feeling the need for such powerful features. I just want simple, uncomplicated tooling that doesn’t lend itself to endless fiddling. Emacs is the granddaddy of endless fiddling.

Org-mode does task management better than anything, but I’m perfectly happy with Things or OmniFocus or even Apple Reminders. Email is cool and fun to play with in Emacs, but it’s not easy and definitely too much work.

Objectively, Org-mode’s markup is superior in nearly every way, but if I’m being honest I get along fine with Markdown. As we all know, Markdown’s VHS beat Org-mode’s Beta in the mindshare race, so everything works with Markdown while almost nothing works with Org files1

My latest experiment with Obsidian for notes is going better than with earlier attempts, so one of my heaviest uses of Org-mode, note-taking, is at risk.

But nothing I’ve found is as good at journaling as Org-journal. Day One is pretty and is probably more appropriate, but I don’t like writing in it. I could use Obsidian’s daily notes feature, but I already use that for more of a lab notebook. I just really like using Org-journal, is the thing.

For now, then, my use of Emacs has been reduced to writing my journal and for when a note would benefit from a longer outline format.

  1. Please don’t send me examples proving otherwise. I know about them. ↩︎

Personal Knowledge Management is exhausting

I’ve been testing the hot new Tana app for the past week, and I’m exhausted.

First, I don’t need a Zettelkasten. If you’re being honest, you probably don’t either. And yet, we spend hours or days learning the “proper” way to build one. Then we set up our new system, using paper or digital or both, roll up our sleeves, and waste time putting stuff into it.

The worst part isn’t the putting of stuff into my PKM (Personal Knowledge Management) system. The worst part is all of the tinkering around where to put stuff and how to classify/tag/organize it.

I made the mistake of reading “How to Take Smart Notes” by Sönke Ahrens and browsing the forums and that sent me on a spiral of worrying about atomicity, what to do about “fleeting” notes, how big is a Zettel? and so on. In other words, I was more concerned with finding the proper method of managing my notes rather than focusing on what was actually in them and what they were for.

This week’s tinkering with Tana hasn’t helped. Tana is the next iteration of tools based on things like Roam ResearchNotion, etc. I like it. It’s a bit like TiddlyWiki and Tinderbox in that it allows for additional attributes to be associated with each node and makes these ontologies easy to search, link, parse, summarize, etc. It makes some complicated workflows pretty easy to implement. I think a lot of people will dig it.

The problem is that this flexibility leads to a lot of hand-wringing over the best way to utilize all this power. The Tana Slack channels are teeming with questions about workflows and structure and attributes and on and on. It makes me tired just reading about it.

I’m not sure I need a system around, for example, the best way to surface the minutiae from interstitial journaling. In fact, just using the phrase “interstitial journaling” is a dead giveaway that I’ve already been overthinking it. Settle down, Jack!

Anyway, I’ll keep playing with Tana for fun, but I’m probably not going to continue using it for my notes. It’s not something I will benefit from, especially considering the amount of effort I’ll put into setting it up and getting everything “right”. I’m exhausted and I think I’ll go back to using paper. Or maybe Emacs.

Powered by WordPress & Theme by Anders Norén