Back to Org-roam (from Denote)

Update: I think Org-roam is the right answer for most people, but I could not resist the simplicity and lack of dependencies of Denote, so I am back in Denote as of June, 2023.

Using both Org-roam and Denote for my notes is not sustainable. I had to make a call one way or the other.

I went with Org-roam.

This is a bit disappointing because I prefer the philosophy of Denote. I like that Denote is agnostic about file types (I can mix and match Markdown and Org-mode files, for example). I like that it forces a consistent file naming scheme. I like that it doesn’t depend on Org-mode features or any other complex dependencies. I like that it doesn’t try to do too much, but is easily extensible. Plus, I’m not trying to build some sort of zettelkasten or anything, so simple is preferable.

But, I keep finding things in Org-roam that I “need”. I use aliases all the time. I like to use several tags on a file, but don’t want them all in the file name. I like the full-featured daily notes functions. I like the ability to extract a heading out to a new roam file. Or I can use org-roam-refile to move a heading to another file in the Org-roam directory. I’m sure I could find ways to handle some of these things in Denote, but with Org-roam I get them out of the box.

What I really like in Org-roam, and have come to rely on, is the ability to have individual Org headings become their own independent roam nodes. For a while, I thought this added unnecessary complexity, but it turns out to be super useful. For example, I have a books.org file, with each book as its own heading. (See Book logging in Emacs). Since moving this file into Org-roam, I’ve turned each book’s heading into its own node, making it easier to search for a book or to link between the book and its author note or a concept note. And I can still create summary tables within the books.org file.

Then there’s the Graph. I make fun of the Graph because it really is mostly useless, but dammit it’s fun to poke around in.

Part of my org-roam graph

Add Org-roam’s larger ecosystem to the above list, and the decision to keep my notes in Org-roam becomes hard to argue with. I’m slowly moving my Denote notes back into Org-roam and fixing links, etc.

I don’t know why I’m so sentimental about Denote. Not using it makes me a little sad. Prot is brilliant and I like the way he thinks. Denote is a terrific, smart, simple Emacs package, but right now Org-roam makes more sense for my notes.

Permalink #

Renumbering my index cards

When I started building a new index card note box, I followed Scott Schepard’s lead and used the Wikipedia Academic Disciplines as the overarching structure. I’ve come to dislike that system. It’s too dependent on hierarchy, and one I don’t really follow. So, this morning, when trying to install a new note about Libertarianism (topical!), I became frustrated and renumbered everything.

I’m now using a simpler, more Luhmann-like card numbering system. (Some would call it “Folgezettel”, but I’ll stick with “numbering system”).

Each new card gets a number, with the first being 1.1. If a subsequent idea plays directly off the first, it gets 1.1a. If it’s on the same general topic, but unrelated to the first, it gets 1.2. The next completely unrelated idea gets 2.1, etc. If I stick to this, I’ll end up with numbers like 134.3a1b and that’s just fine because I know what’s nearby and I always have the index to fall back on.

Bob Doto does a nice job of explaining all this in How to Use Folgezettel in Your Zettelkasten.

Now I don’t need to worry whether “Libertarianism” falls under “Political Science” or “Mythology”. I can just file it somewhere behind my existing thread on, say, “Selfishness”.

Permalink #

Viewing Caddy logs by date in GoAccess

UPDATE: I’ve had trouble getting GoAccess to parse the logs consistently after changing the date format.

I’ve been using GoAccess on the VPS running my static sites for keeping an eye on web server access logs. It works great and requires no tracking scripts. I run a cron job every five minutes to process my site logs and generate an HTML report. This is fine, but GoAccess always processes the entire log file and offers no way to filter the results. Sometimes I only want to see stats for, say, today or for the past week.

To do this, I run GoAccess on only a subset of the log file using the command line directly on the server. The GoAccess man page includes some examples using sed so that’s where I started. The first problem I ran into was that Caddy’s log files use json by default rather than the trusty old common or combined formats. The default log format uses a UNIX timestamp for dates, so the first thing to do was to change the format to iso8601 in Caddy’s configuration, like so…

daily.baty.net {
    log {
        output file /home/jbaty/logs/caddy/daily.baty.net.log
        format json {
            time_format iso8601
        }
    }
}

Now I can parse the logs based on the date using sed:

#!/bin/sh

sed -n '/'$(date '+%Y\/%m\/%d' -d 'today')'/,$ p' logs/caddy/daily.baty.net.log | goaccess -a --unknowns-as-crawlers --ignore-crawlers -

Now when I run ./stats-today on the server, I get something like this:

GoAccess in a terminal on the server

Check me out with my 5 whole visitors so far this morning! 😆

Permalink #

The Spark File

Ten years ago, Steven Johnson wrote The Spark File, in which he describes his process for keeping track of hunches, ideas, etc. in a single text file.

I, of course, thought this was a great idea and immediately started keeping my own spark file. It began in 2012 and I was reasonably consistent with it until 2016. After that, there was a lull, but it picked up again for a short time in 2021, after which I sort of forgot about it.

I ran into the file today and reviewing it has been quite a trip. The short version is that I’ve only done a few of the things I’d written down. This is fine since many of them are things I’m either no longer interested in or were too ambitious anyway. I have, since I last checked, completed a few of them. Crossing them off the list was fun. There are others that are still good ideas and that I may pursue.

Since the file is an org-mode file, I’ve added a capture template to my Emacs config that lets me quickly capture new entries. Now I just need some hunches or ideas to capture.

Permalink #

A fix for backlink display with Org-roam and Doom Emacs

I’ve been tracking an issue with the way backlinks are displayed that affects my use of Org-roam. Someone (hwiorn) finally discovered a workaround when using Doom Emacs: delete the compiled version of org-roam-utils. Like this:

rm .config/emacs/.local/straight/build-*/org-roam/org-roam-utils.elc

Now my links show up correctly. Finally! I’ll probably need to delete the file every time I sync or update but I don’t care as long as there’s a fix. It was driving me nuts.

UPDATE: And a few hours later, it was fixed for good in this commit.

Permalink #

Using jAlbum for photo galleries

The jAlbum UI

I’ve been a Flickr user since 2004 and a SmugMug user for nearly as long. For some reason, I prefer looking at my photos via online galleries rather than, say, my Photos library, and both Flickr and SmugMug have helped me do that.

I’ve also kept standalone static web galleries for the odd side project, such as a memorial to my dog Leeloo. Recently, I’ve been creating more of these, so I started looking for easier or better ways of generating static web galleries from a selection of photos. There are what feels like a thousand options. Everything from giant GUI apps to the nerdiest little command line utilities.

After looking around a bit, I’ve settled on jAlbum. I didn’t expect to like it. After all, it’s from that time (2004) when software was named so that everyone knew what it was written in. And I developed an allergy to Java not long after that. Go figure!

jAlbum is surprisingly robust and capable, while still being simple to use. The defaults are mostly fine, but it lets me tweak the dickens out of it, should I want to.

I’ve only spent the morning with it, but I have created some initial galleries at static.baty.net/photos. I think it already looks fine, and I haven’t even begun to tweak it.

jAlbum has built-in (S)FTP capability for automating the process of getting everything out to my server, but it doesn’t support ssh keys so I can’t use that. I’m instead using rsync via a tiny Makefile, so all I need to do is type make and the changes are deployed.

Permalink #

Leica SL2

The Leica SL2 felt inevitable. After an almost accidental run with the Panasonic S5, which I didn’t enjoy at all, I tried going back to the Fuji system. I’ve always liked Fujifilm cameras and their classic control layout. I purchased a new X-T5 and a few nice lenses late last year, but it didn’t grow on me. The X-T5 is a great camera and I had nothing to complain about. Except it just didn’t give me The Feels. Not the way, say, a Leica does.

I decided that I wasn’t going to be satisfied until I was back with Leica for my digital camera. My heart wanted me to buy another M10-R but we all know how that turns out.

A project I’ve had on the back burner for a couple of years is shooting formal portraits of my extended family. I’d like to get started on that, so I thought I’d move toward a more flexible mirrorless system and decided this was a good time to move to an SL2.

I’ve owned the lower-resolution SL2-S before, and it was fantastic. At the time, I was more interested in digital black and white, so I traded the SL2-S for a Q2 Monochrom. That was fun for a while, but this time I need to be more practical, so I opted for the 47 Megapixel SL2.

The moment I picked up the SL2 I knew I’d done the right thing, and promptly forgot about the price. The SL2 is dense, heavy, solid, and feels perfect in hand. And most importantly, it gives me The Feels.

I no longer have any native Leica L-mount lenses, but I do have a couple of very good Sigma lenses: The 35mm f2.0 DG DN “Contemporary” and the amazing 85mm f1.4 “Art” lens. I also intend to spend a lot of time with my Leica M lenses mounted via the Leica M-Adapter L. The SL2’s viewfinder is second to none and, with focus peaking, makes using manual focus lenses as easy as it gets.

Now it’s up to me to go do something with it.

Obligatory first shot with new camera

Permalink #

Taking notes while reading

Reading notes for

In a recent post, My Antinet and Barthes’ “Camera Lucida”, I wrote about having shelves filled with books that I remember nothing about. Seems like a waste, no?

Writing notes (by hand) while reading new books has completely changed the way I read and I am finding many benefits: More deliberate consumption, better recall, and a physical residue of the things I’ve read.

As I read, I find myself looking for things to “keep”. I write brief keywords, quotes, and short phrases as references on 4×6 index cards. After completing a book, I re-read the notes and, if something triggers further interest, I re-visit the referenced pages and make longer notes on separate cards. Lots of people do something similar, but this is what I do and it’s been a great help.

(I know this is all very “Zettelkasten-ey”, but I’m trying to avoid using trendy, sound-smart words for what’s basically just a box of notes.)

Permalink #

Sold, Leica M6

Leica M6

Long story, short, I sold my precious Leica M6 (Classic). I could no longer justify having two modern Leica M cameras, so I decided to keep the beautiful MP and pass the M6 on to someone else. I’m sure I’ll regret this. (It’s the second time the camera has been sold, but the previous buyer returned it, for spurious reasons). Onward!

Here’s the final frame I shot with the camera:

Self-portrait in mirror, Leica M6

Permalink #

Using tags for org-refile-targets

Today I learned that I can use tags in Org files as a filter for org-refile-targets. My refile targets are mapped to org-agenda-files but limit them to only top-level headings in order to keep the list under control. Once in a while, though, I would like to make a more deeply nested heading available for refiling. I can do this by using (:tag . "refile"). Who knew?!

(setq org-refile-targets '((org-agenda-files :maxlevel . 1)
                           (org-agenda-files :tag . "refile")))
Permalink #

Are there really only three things to photograph?

There are always cameras loaded with film scattered around my house. I don’t go out much, so sometimes I’ll pick up a camera and take a random photo just for the feel of it and to use up some film. These photos are almost always one of three things: Myself, my dog, or my desk/workspace.

Case in point, I recently finished the roll that’s been languishing in the M6 by taking the following mirror self-portrait.

Self-portrait in mirror. Leica M6/50mm Summilux/HP5

I actually like the photo. It’s playful and well-executed overall. But the rest of the roll? It’s chock full of shitty mirror self-portraits and random dog and workspace photos. I really do need to get out more.

Permalink #

Things I can’t quit, Film photography and Emacs

I know that film photography and Emacs are completely unrelated, but I have been thinking about both of them quite a lot recently.

Since moving back to shooting film in 2003, I have regular thoughts of switching to all-digital again. It’s just easier. I have rooms full of “stuff” in support of film photography, and things would become so much faster and easier without all of that. A nice digital camera, a good RAW editor, an inkjet printer, and some hard drives, and I’m all set.

And yet, I still enjoy shooting film and have found it impossible to quit. I like how film looks, I enjoy working in the darkroom, and I love my Leica rangefinder cameras. Having binders full of negatives sitting on my shelves is a comfort to me. They’re real, you know? I prefer real things.

In a completely different arena, I would like to stop using Emacs for everything. The great benefit of Emacs, that it can be anything and do everything, is for me also its greatest drawback. I can’t stop futzing with it. And I can’t stop trying to use it for freaking everything all the time. I just need to write stuff and keep track of some tasks. Why then do I use it to read emailRSS feedsMastodon, and whatever other things I can shoehorn into what should be a simple text editor?

So, I frequently fire up Obsidian, BBEdit, Logseq, Roam, iA Writer, TheBrain, Tinderbox, and oh right, none of these does the things Emacs and Org-mode can do quite as efficiently and with so much flexibility. After a few days away, I end up back in Emacs and farting around with capture templates or trying to decide between Denote and Org-roam.

The truth is that I’ll probably always shoot film and I’ll probably always use Emacs. I just wish that I could convince myself of this, then move on and actually do something creative or useful with them.

Permalink #

The iPad as a diversion

I’m tired of computers. I spent hours today rummaging around my notes and trying to figure out if I should write some new thing in Emacs or Obsidian or Tinderbox or what? It’s confusing and frustrating, and I need a break.

I’m typing this on my iPad Pro using the Magic Keyboard. I won’t lie, the iPad is too limiting for me under nearly all circumstances. But that’s exactly why I need it right now. I’ve gotta stop tweaking and start doing something instead. That something might just be watching Netflix, but at least that’s not going to make things worse.

But should I have written this post using iA Writer instead? ☺️

UPDATE (2 days later): I’d be better off selling the iPad(s). They’re not a diversion, they’re a distraction. Putting an iPad into rotation forces me to use software and workflows that work on mobile and that’s always a reduction in capabilities for me. I should consider the iPad solely for consumption.

Permalink #

Eleventy and my Daily Notes

Somehow, for reasons unknown, I’ve rebuilt daily.baty.net using Eleventy.

It started when I struggled to make some tweaks to the site, which is (was) generated using Tinderbox. Tinderbox, being Tinderbox, is ridiculously powerful and flexible, but it wasn’t doing what I thought I was telling it to do. So I stepped away and started tinkering with its inspiration, my Drummer blog. For a hot minute, I considered going back to using Drummer, even though I worry about its longevity. Drummer is how blogging is supposed to work (at least in my head), so I started looking at it again.

Then Twitter decided to shut off its free API, which Drummer depends on for identity. Thankfully, Dave is working on a path around the Twitter problem, but in the meantime has temporarily shut down Drummer.

While I waited, I wondered if instead, I could make Hugo look and work like my Tinderbox blog, but I quickly realized that I’m never going to understand Hugo’s templating process/language enough to do anything clever with it.

What about Eleventy? I’d never really considered Eleventy but I know some people really like it. When I saw that they had recently announced the v2.0 (beta), I figured it was a good time to see what it was all about.

The short answer is that I like it! I found the basics much easier to grok than Hugo. I had a simple blog put together in a couple of hours. It was one of those incremental things where I experienced small, early wins, so I was encouraged to continue.

I pulled the (admittedly outdated) CSS and markup from my Tinderbox templates and shoehorned them into Nunjucks files. It was surprisingly easy, so I kept going and was so successful that within a few more hours I’d decided to go all-in and now daily.baty.net is running Eleventy. Good times!

Permalink #

My Antinet and Barthes' "Camera Lucida"

The first book I read with my Antinet in mind was “Camera Lucida: Reflections on Photography” by Roland Barthes. I’m not doing a book review here, but I wanted to say a few things about the process of reading with the goal “installing” notes into my Antinet.

Camera Lucida and my bibcard

I’m not someone who needs a Zettelkasten. I’m not working on a book or paper or anything. I want to use what I've read. Even better, I’d like to integrate the things I've read with my own thoughts. I want to learn.

The problem for me has been that I don’t remember what I read. I have several bookshelves packed with books and I couldn’t tell you the first thing about what’s in most of them. It’s frustrating, and such a waste. I’m sure I must’ve gleaned something from all that reading, but what? And what can I actually do with it?

I have always believed that using an analog (pen and paper) process is better for thinking, but I’ve been so enamored with digital “Tools for Thought” the past few years that I’ve spent much of my time reading blog posts about “How to Take Smart Notes” using Obsidian or Roam or Emacs or what-have-you. All I have to show for it is a thousand text files and a useless bubble graph. I don’t need a “second brain” I need to better utilize the first one.

After reading Scott Scheper’s book, “Antinet Zettelkasten”, I was sufficiently inspired to go all-in with the Luhmann method, so I sat at my desk with "Camera Lucida", a pen, and a blank 4x6" index card.

It was amazing. First, sitting at a desk while reading is a great idea because I didn't fall asleep after three pages like I normally do. More importantly, I found myself reading with a goal. I was actively looking for things to remember, and writing them down. This was in contrast to my usual approach which is looking to "have read" the book. I filled my "bibcard" with quotes, references, and ideas from the book as I read it. These notes are meant to be processed and "installed" in my Antinet later, but even if I were to skip that part, I gleaned much more from the book than I normally would. I'm remembering more than from, say, highlighting passages in the Kindle. I'm telling you, there's something to this whole paper thing! :).

I don't know if my Antinet will ever amount to much more than a half-assed attempt at "Knowledge Management" but so far the simple act of creating it has paid dividends. I'm excited to see where it leads.

Permalink #

Indexing my paper notebooks

I keep a simplified version of a Bullet Journal in paper notebooks. I write in it every day. In it, I write tasks, log meals, write journal entries, copy quotes, etc. This way of working fits my brain, and I see no future in which I'm not doing some version of it.

But I must admit that y'all are right, searching paper notebooks kind of sucks. However, I'm not moving my notes to digital just so I can search them more easily. That's not a trade-off I'm interested in. Instead, I'm working on a system that makes my paper notebooks easier to search. Or perhaps it's better to say that I'm working on making it easier to find things I've written in my paper notebooks.

A year ago I started highlighting my notebooks (see Highlighting in Notebooks). This works great. It lets me quickly scan my notes and pick out important topics. What I'm now doing is adding those topics to an index. I already maintain a table of contents in each notebook, but that's not the same as an index. My index is kept in a box of 3x5" index cards (see photo).

The contents of my index differ from that of my Antinet experiment (which I'll write about later). This index is of personal notes, observations, interactions, etc. The Antinet is for topics I'm interested in.

Have you tried keeping an index like this? If so, I'd be interested to hear how you're handling it.

Permalink #

Survey results - Blog post format preferences

I can never decide which blog post format I should use on my home page(s). Should I use full posts so that all of the content is available by simply scrolling? Should I shorten each post to just a title and a short summary, making it look more consistent and easier to scan? Or maybe I should only include a list of titles, and let people dig in based on that.

To find out what readers actually preferred, I asked the following question on Mastodon and Micro.blog:

When visiting a blog (not via RSS), which layout do you prefer?

  • Full posts
  • Titles and brief excerpt
  • Titles only

I received 64 replies. Here are the results:

Results of my informal web poll

I wasn’t surprised by these results, other than the Micro.blog responses leaned quite heavily toward full posts, while Mastodon was split closely between full posts and excerpts.

This helps me with how I present posts on my blog. I will continue using full posts, but I’ll truncate longer articles with a “read more” link to reduce the amount of scrolling needed.

Thanks to everyone who responded!

Permalink #

Blog posts - Macro, Micro, (and Nano?)

I remain incapable of consolidating my blogs, social media, etc.

I’m realizing that I have three types of blog posts, “macro”, “micro”, and “nano”.

Normal long-form posts are “macro” posts. Shorter posts or images with commentary are “micro” posts. Then there are the little snippets and random thoughts I can’t help blurting out for some reason. Those are “nano” posts.

could put them all at baty.net and be done with it, but I have yet to find a way to do this using WordPress (or Hugo, for that matter). I never like the way themes render all three types.

I thought I could do macro posts at baty.net and the rest at jack.micro.blog, but for some reason, I hesitate to post my little nonsense thoughts there because it feels weird having them saved as “real” blog posts. I can’t explain it, but those little “nano” posts make more sense to me on an actual social network like Mastodon.

This morning, I spun up a new Mastodon instance as my “official” social media presence. I wanted my own domain, and baty.social is as good as any. It’s eponymous, short, and I’d already paid for it a few months ago. So now I’m posting the nano posts at @jack@baty.social.

Micro.blog can act as an account on the Fediverse, but I think I prefer using Mastodon for that.

I’m not sure that there’s a meaningful difference between micro and nano posts, so this is an experiment. If it continues to feel right, great. If not, I’ll try something else.

Permalink #

Evernote in 2023

![](/img/2023/ /img/small/evernote.png )

You all remember Evernote, right? For years (beginning in the late 2000s), Evernote was the note-taking tool for many of us. Then, they got weird, started selling merchandise and branded scanners, and made odd tangental mobile apps for some reason. Evernote seemed to have lost focus.

After a couple of years of that I, as someone who loves trying new software, didn’t hesitate to move on to newer, shinier tools for my notes.

Lately, I’ve been frustrated by all of my note-taking options and workflows. I use Emacs and Org-mode for just about everything I write, but I’m still constantly trying new things and it’s exhausting. Org mode can do anything, but it’s not good at everything. It’s good at text. It’s not good at images or non-text files. I’ve gotten reasonably adept at using org-attach and Dired for handling files, but it’s still awkward.

What I need most of the time are Org mode and an Everything Bucket. Enter Evernote.

I’m trying an experiment. I’m using Evernote as my repository of clippings, web pages, PDFs, etc. As I wrote 10 years ago in Digital Recordkeeping, “Evernote is my junk drawer”. It’s really quite good at it.

Using Evernote in 2023 is about as uncool as it gets. It’s old and decidedly un-trendy. And v10 was recently released, rewritten as a (GASP!) Electron app. That might be what I like about it. Using Evernote feels like a small rebellion against the onslaught of “Tools for Thought”. There’s none of the data-entry-intern feelings of using Tana, or the horror scape of plugins that is Obsidian. Evernote is what it is.

I miss having a good junk drawer. I’ll let you know how it goes.

Permalink #

My posts…what goes where?

Am I overthinking it? Of course I’m overthinking it.

Let’s face it, I enjoy trying different ways of publishing and tinkering with the tools for doing so. Once in a while, I spread myself a little too thin and consider drastic consolidation. You know, the dream of One True Blog™.

In an effort to figure this out, I thought I’d write down the types of content I post most frequently, and where that content might belong.

Blog Posts. Blog posts are longer posts of several paragraphs or more, and often include images. You’re soaking in it! This is the easy one, blog posts go here on my main blog at Baty.net.

Daily Notes. Daily Notes are all the little things I think about throughout the day. They’re incomplete, inconsistent, and not ready for prime time. I post these all over the map. I’ve written them on my wiki, at daily.baty.net, and as part of my main blog under the Journal heading. Most recently, they’ve been going to baty.blog because I quite like how that site looks and works (it uses Tinderbox for publishing).

Social Posts. Social posts are a subset of my Daily Notes. They’re the things I want to share socially. I don’t have rules around what qualifies. It’s just me thinking, “Hey, I’d like people to see this.” For many years, this was Twitter’s domain. But later, and up until yesterday, social posts had been going to my Mastodon account.

Photos. Photos have, since 2004, gone to Flickr and, more recently, to Glass. But they also belong everywhere, depending on whether I want to add some context or not.

Yesterday, I restarted my subscription to Micro.blog in hopes of combining a few of the above into a coherent stream at jack.micro.blog. I’m not sure it’s working out the way I’d hoped.

Micro.blog is great because it handles posts of all kinds, and can optionally feed them out to the “fediverse” via ActivityPub. People using Mastodon or other services like it can follow me on Micro.blog just the same as if I were also using a Mastodon account.

So what’s the problem? The problem is that the distinction between things I write as a daily note and the things I write for social networks overlap, but not completely. Many of the things I write on baty.blog are not meant for general consumption. The difference is that on baty.blog, every little thing I write doesn’t end up in someone’s social feed, begging for commentary, likes, or whatever. Sometimes I’d rather not have to chat about (or defend) something I’ve written. Sure, the daily notes are public and available via RSS for the truly interested, but otherwise are mostly just for me and the few lunatics who visit the site or subscribe via RSS.

This means that Micro.blog can’t actually replace Baty.blog. But can it at least replace Mastodon? I think so. My only hesitation is that if I’m not using Micro.blog for all the great things it can do, do I need it at all? The community is fantastic, so interactions there are always pleasant and fun. But it’s kind of like Emacs in a way; If I’m going to use it, I always feel like I should use it for everything. Know what I mean?

I’ll keep fiddling with it, but right now we’re all going to have to deal with me posting to three places: baty.net for blog posts, baty.blog for my daily notes (although this could end up moved to daily.baty.net soon), and jack.micro.blog for social posts.

Am I overthinking it? Of course I’m overthinking it.

OMG I just remembered I wrote basically this same post less than a month ago in Say vs. Share. What is wrong with me? 😆

Permalink #