Back to the barn with nothing – Mike Johnston

But just because we always come back to the barn with “results” doesn’t mean we got anything. When we get nothing, we have to have the discipline to know we got nothing, and not try to force it to be “something”

So much of the photography I see on the internet is made of snapshots that don’t work. Most of the stuff I post fails in the same way. One thing I’m doing to improve my self-evaluation is to immediately delete photos that don’t show me something first thing. This is riskly, but I’m betting that 99% of the time I’m right. This way I don’t spend hours trying to make something from nothing.

Writing everything in TiddlyWiki and publishing just the public parts

I take all my notes in TiddlyWiki now, and publish most of them to

For the past few years, I’ve published my wiki using TiddlyWiki. I write daily, publicly sharable notes there. Private stuff goes elsewhere…or did, until yesterday.

It’s the “elsewhere” part that drove me nuts. I have a private Roam database in which I would track things I don’t want to share. Or maybe I should write it in Org mode. Or Obsidian, or Craft, or or or. The difficult part for me has been that I want to take a note about, say, a new camera purchase. There are two components to it, the information about the camera itself, and information about the purchase. The former is public, the latter is private. This means I create one note in TiddlyWiki and one in, let’s say, Roam. There are dozens of examples like this, and it’s crazy-making. I thought I could manage this using links or copy/paste but it sucks trying to do that. I could also make everything public or private. Neither of these are feasible.

If only I could keep everything in one place, but only publish things I wanted public. Then, a few days ago, Soren Bjornstad came to the rescue with his video, A Tour Through My Zettelkasten.

Wow, other than building an amazing Zettelkasten, Soren has implemented nearly everything I needed in order to go all-in with TiddlyWiki for my own wiki.

A few highlights:

  • Public and Private tiddlers
  • Sensible tagging and organization
  • Override the “copy permalink” feature to substitute public URL when on localhost
  • Scripted rendering and publishing of public wiki
  • Specific behavior when viewing public vs private editions
  • A number of other nice touches

I borrowed some of these and integrated them into Rudimentary Lathe. Now, I’m taking all my notes in TiddyWiki. I’ll describe the process a little.

Editing the wiki locally.

I use TiddlyWiki as a local Node.js app. While one of TiddlyWiki’s great features is that can be just a single HTML file, running it locally as a single-page web app via node.js makes things a bit more flexible. Also, it’s the easiest way to allow for saving changes in Safari. The file structure looks like this:

├── files/
├── plugins/
├── tiddlers/

All tiddlers are kept as separate “.tld” files in the tiddlers folder. Here’s an example:

created: 20201220181044760
creator: jack
modified: 20210505182021507
modifier: jack
revision: 0
tags: Public
title: Leica APO-Summicron-SL 35mm ASPH
type: text/vnd.tiddlywiki


I prefer primes, so this is the one I've chosen for the [[Leica SL2-S]]. Watching Peter Karbe admit it's is desert-island lens and suggesting it's the best lens Leica has ever produced made the decision a little easier.

I have over 2300 of them currently. Another nice side effect is that git diffs are much more usable on individual text files than on a giant HTML file.

Public vs Private content.

Any tiddler I want to be public gets a “Public” tag. That’s it. The export script is smart enough to automatically include all system tiddlers, etc so that everything works.

As a useful helper, each tiddler displays a “Publish this tiddler” checkbox to make adding the tag easier, as well as serving as a handy indicator of private vs public status. The export script updates one of the configuration tiddlers so that the published version doesn’t show this checkbox.

I can’t tell you how huge this is. Not having to choose the tool or app for new notes is so liberating. I can now write and link freely with everything and can still share most of it publicly.


I’ve never used Github Pages for hosting any content, so thought this would be a good opportunity to try it. Basically, I keep a separate repo of the public version and pushing to that repo automatically publishes it. Super easy to set up.

Publishing workflow.

Soren was kind enough to share a version of the script for publishing his wiki (, which I’ve modified slightly. Here are the highlights.

FILT='[is[system]] [tag[Public]] -[[$:/plugins/tiddlywiki/tiddlyweb]] -[[$:/plugins/tiddlywiki/filesystem]] -[prefix[$:/temp]] -[prefix[$:/state]] -[prefix[$:/sib/StorySaver/saved]] +[!field:title[$:/sib/WriteSideBar]]'

“FILT” is the tiddlywiki filter for determining which tiddlers to include (and exclude). The [tag[Public]] bit is the key to the public/private thing.

Then we export tiddlers based on the filter and settings above.

"$(npm bin)/tiddlywiki" "$PRIV_FOLDER" --savewikifolder "$pub_wiki" "$FILT"

Next, generate a single HTML version of the wiki and copy over the separate image files..

"$(npm bin)/tiddlywiki" "$pub_wiki" \
    --render "$:/core/save/all" "$WIKI_NAME" text/plain
cp -r "$pub_wiki/output"/* "$pub_ghpages"
cp -R "$PRIV_FOLDER/files" "$pub_ghpages"

Isn’t TiddlyWiki amazing!?

Finally, we commit and push the public wiki to Github…

if [ "$1" = "--push" ]; then
    echo "Pushing compiled wiki to GitHub..."
    cd "$pub_ghpages" || exit 1
    git add .
    git commit -m "publish checkpoint"
    git push
    echo "Not pushing the wiki to GitHub because the --push switch was not provided."

And voilà!

A few nice odds and ends.

Soren’s “Reference Explorer”, seen at the bottom of individual tiddlers, replaces my handmade backlinks display. His is much fancier. I removed a few tabs I don’t use, and may exclude the tags at some point. I conditionally exclude the explorer from my Daily Notes pages. (anything tagged “DailyNote” hides the explorer.) Another nice tweak is that if I add a “refexplorer-hide” field to any tiddler and set it to “true”, the explorer is not shown on that tiddler. Nifty.

TiddlyWiki comes with a button for copying a permalink to each tiddler. The problem with that for me is that when I’m running the wiki locally, permalinks look like this

http://localhost:8080/#CommandLineInterface, which obviously won’t work. Soren’s version of the button replaces localhost:8080 with the live hostname, e.g. This saves me a ton of copy/paste/edit hassles.

Putting it all together.

When I’m ready to publish, I open a terminal and type prl (for “publish rudimentary lathe”)

prl is a script…


cd ~/Sync/rudimentarylathe
./scripts/ --push

That’s it.

I wish more people would spend time getting to know TiddlyWiki. It’s amazing. It’s a Quine, which makes it ridiculously flexible and powerful. And yet it’s very simple. It’s also a free, local-first, easily-distributable, storable, backup-able single HTML file.

TiddlyWiki is fun, fancy, and future-proof. I live there now.

A headroom so high you’ll never see it again – Riccardo Mori

Software-wise, this incredibly powerful iPad is as capable as a 2014 iPad Air 2 (the oldest iPad model that can run iPadOS 14). There is still, in my opinion, a substantial software design gap preventing iPads from being as flexible as they are powerful. Software-wise, iPadOS still lacks flow. Don’t wave Shortcuts in my face as a way of objecting. Shortcuts are a crutch. A good one, no doubt, but a crutch nonetheless. Software automation can do great things for an operating system, but if an operating system comes to depend on it to become usable, then maybe you have to rethink a thing or two.

“iPadOS still lacks flow”. Indeed, and that’s not all it lacks. I wish it were better.

May is “Easy Mode” month

I’m exhausted. I think it’s because I haven’t been working in more than a month and my brain has had too much free time to “figure stuff out.” (Yes, I know how it sounds to complain about exhaustion while not having a job!)

As an experiment, I’m going to live the month of May in “Easy Mode”. This means I’m going to solve problems with quick, obvious, easy solutions. I’m going to use the easy-to-use tools. And I’m going to make various processes as easy as possible.

Examples? Sure!

  • Roam not Emacs
  • Lightroom CC not Photo Mechanic and Capture One
  • Things not Org mode
  • Day One not Org Journal
  • WordPress not Hugo
  • Streaming music not FLAC/MP3 files
  • Netflix not Plex
  • Books not Kindle
  • Walks not Workouts
  • Mac not Linux

It could be argued that some of these are backwards, but this is where I’m starting, and the gist is: nothing fancy for a while.

reMarkable is sleeping

I’ve been using the reMarkable 2 tablet for almost three months now. I’m often asked what I think of it. The short answer is this:

I use the reMarkable tablet every day. I love writing on it, but it won’t be replacing my paper notebooks.

If you are thinking about getting one, I have no reservations recommending that you do. The hardware is very nice and the experience of writing on it is terrific. It’s not exactly like paper, but it does feel analog. It feels “real”, unlike using the iPad and Apple Pencil, which feels like writing on a computer screen.

Here are what I’ve been using it for:

  • Morning pages. I don’t write morning pages as a practice, but I often open a new page first thing in the morning and make marks on it.
  • Brainstorming. The reMarkable is great for sitting down, away from the computer, and thinking something through. Sketches, scribbles, and a few notes are a perfect use for the tablet.
  • Drafting blog posts. I’m drafting this very post using it.

A common thread here is that they’re all throw-away notes. I have not been using the reMarkable for things I’ll want to reference later. It’s great for raw materials to be used later in some other format, but less so for long-term notes. I find that it’s still too much trouble to quickly jump between notes on the reMarkable. Swiping from page to page is slow, and getting to an overview of a notebook’s pages requires tap, wait, tap, wait, tap, and wait. This makes paging around in a notebook rather cumbersome for certain things.

I use the reMarkable nearly every day, but only a little. It spends most of its time sleeping.

I keep a paper notebook open on my desk, not the reMarkable. The reMarkable wakes quickly at the touch of a button, but a paper notebook never sleeps.

I use paper for:

  • Personal journaling. Nothing beats paper and a nice fountain pen.
  • Tasks and quick notes. This is my lightweight version of bullet journaling.
  • Jotting things down. Phone numbers, names, anything I need to remember.

As great and convenient as digital tools like the reMarkable are, there is one thing about paper notebooks that I never want to live without, and that is the artifact itself. There is no substitute for a shelf lined with full notebooks. I can pick one up today, or in twenty years, and easily skim around in it. No digital format, as convenient as they may be, can replace that.

★★★ 3 stars by default

Here’s my star rating system for everything:

⭐️⭐️⭐️⭐️⭐️ Loved it!
⭐️⭐️⭐️⭐️ It was good
⭐️⭐️⭐️ It was OK
⭐️⭐️ I didn’t like it
⭐️ Hated it

With me, everything gets 3 stars by default. Books, movies, photographs, everything: 3 stars right off the bat. I always assume that this new thing or person or conversation will be OK at the very least. This applies to more than just media. It applies to people, too. Sometimes I’m disappointed and end up with 1 or 2 stars, but more often than not I’m surprised and delighted and my opinion of something or someone goes up rather than down.

Too many people seem to start out assuming everything and everyone only deserve 1 or 2 stars. They expect to dislike everything by default. This doesn’t seem healthy to me. Why go out of your way to look for trouble?

Tools and Toys

…skip any definitive conclusions, as we know you might change those at any time. 😏

@ron on

Ron was referring to my still-forming opinions about the reMarkable tablet, but he could be referring to any number of things. I have a reputation for frequently changing up my process/tools/systems/workflows/what-have-you. This reputation is not unfounded, but for some reason I feel the need to explain (defend?) myself.

Or perhaps it’s easier to describe what I’m not doing:

I am not looking for the perfect tool or system. I simply like to try new things.

Many people seem to assume that I’m wasting time constantly searching for some better, more-perfect solution. I don’t believe that’s it at all. I’m not wasting my time, I’m having fun!

Let’s look at note-taking and cameras as two good examples.

I don’t need any new note-taking tools. I don’t need a different process for taking notes. I don’t need to take “smarter” notes. Note-taking is a solved problem. If I want to write something down, I open a text file and write it down. Now, that could be done using Vim or BBEdit or Emacs or whatever. Doesn’t matter, as long as what I’ve written is in a text file and I can find it later if needed. This would be different if I was an academic or an author working on a novel, but I’m neither of those.

However, I’m fascinated by how other people do things and the tools they use. I love seeing how different tools solve different problems for different people. I love novelty. This is why I started using Vim in the early 2000s when BBEdit worked just fine. I’d heard so many people rave about modal editing with Vim that I had to try it. Turns out they were right. Modal editing has informed nearly every text-editing decision since I learned it. One can’t dig into Vim without also hearing about how great Emacs is. I tried and failed to get into Emacs a few times, but then Spacemacs came along and made it easy for Vim users to adapt. Then Doom replaced Spacemacs because it was simpler and faster. And one can’t use Emacs without running into Org mode. Then Roam showed up and made automatic backlinks a thing, and I loved that. I still do. In fact, I still enjoy using all of them: BBEdit, Roam, Vim, Emacs, Craft, Obsidian, Logseq, Mem, iA Writer, Ulysses, and on and on. Hell, I still use paper about half the time.

It’s the same with cameras. I want to experience them all; big, small, cheap, expensive, old, new…all of them. I have or have had some of the (objectively) “best” cameras ever made. (And no, the best camera is not the one you have with you if what you have with you is a shitty camera.) I don’t make photographs for a living, so it’s incorrect to describe a camera as “just a tool.” For me, cameras are toys! Sure, I look for the ones that work well with the way I like to take pictures, but they all have good and bad qualities. I like trying cameras with varying combinations of those qualities.

This all happens because I want to try the things I read about. If someone writes passionately about something they use, whether it be software, hardware, or process, I want to try it for myself.

But let’s be clear, I don’t need any of it beyond a basic text editor and, say, my iPhone.

All this stuff is like a giant toy box. And much like Andy in Toy Story, sometimes I find a new favorite toy. This means that old favorites get left in the box for a time. Then one day I re-discover an old favorite and out it comes. There need not be anything “definitive” about it.

Old friends

HEY or Fastmail? The Answer.

TL;DR: I’m sticking with HEY for my email, but there’s a surprise twist: I’m also sticking with Fastmail. Hear me out.

I was initially disappointed with the implementation of custom domains in HEY. You can read the whole almost-rant here, but the short version is that I thought I was going to lose both my address and my access to HEY World for quick blogging. And it would cost me $20 more per year for the priviledge. If I wanted to keep my address and HEY World, I’d have to pay for both accounts at something like $199/year. That wasn’t something I was interested in. I later learned that there is a discount for current users. This put the total at a much more reasonable $123/year for custom domains, my old address, HEY World, and the additional features of “HEY for Domains”.

HEY with the discount on HEY for Domains made more sense, but didn’t allay my original concerns about switching everything to HEY; the biggest being lack of standard IMAP access to my email. Dumping my most important account into a proprietary service still gives me hives and I’m not sure I’ll ever be comfortable with it, so I did the math on keeping both my Fastmail and HEY accounts. Here’s how it breaks down.

HEY for You$8.25$99
HEY for Domains$2.00$24
HEY for You$8.25$99

This means that if I keep both HEY for You and Fastmail, I’m paying $25 more per year, but I get everything:

  • Great email experience (HEY)
  • My address (HEY)
  • Blogging with HEY World (HEY)
  • IMAP access to my email (Fastmail)
  • Inherent backups (Fastmail, but email will remain in both accounts)
  • Keep all history (Fastmail)
  • Fall back in case the HEY folks lose their minds or just go away.
  • Additional user for $30/year (Fastmail, my wife isn’t interested in using HEY)

The only thing missing would be the “Team” features of HEY for Domains, which I don’t need.

It seems I’ve been able to rationalize keeping both services and thereby avoiding the need to actually make a decision 😜. I have until May 30th to decide if this works.

Is email worth $150/year? To me it is. Am I missing anything?