Monday, June 26, 2023

...when I live in the same place for everything, I start feeling sort of tool-sick.

--Mike Hall, "Mingling notes and todos"

I like his phrase, "tool-sick".

With all the huffing and proselytizing and scolding, on Mastodon specifically, I care less and less about the "Fediverse" with each passing day. I feel a little guilty about that, but feelings are feelings.

If I'm lucky, I should have around 20 good years left. Do I really want to spend them getting angry at people on social media? Or worrying about which note-taking tool I should use? Or Lightroom vs Capture One? Or WordPress vs Hugo? Really?

Unfortunately, we love to group people into generational buckets so that we can assume things about a person without actually knowing anything about them. For example, I'm technically a "Boomer" (1964, the last year). This means that I, and my generation, have destroyed the future for everyone by making the decisions we made in the world we were born into. Fine. As a result, I've decided to call everyone born since then "Hindsighters".

Permalink #

Sunday, June 25, 2023

Occasionally I would like to send a few bucks to the author of a newsletter or blog. When I click the link in an email to their Paypal or whatever, and the request is blocked by my filters (NextDNS) due to the link using some click tracking service, as often as not I just don't bother. I'd say it's worth considering how much that click data is costing you.

The subtext here seems to be that Denmark doesn't want DHH either.

"Hahahah I'm so clever, I made ChatGPT say something WRONG see how stupid the whole concept of AI is hahahaha."

Somehow CTRL-e stopped moving the point to the end of the current line in Emacs because it's mapped to evil-copy-from-below for some unfathomable reason. Could this be the last straw?

I'm typing this in iA Writer because it's so damn pleasant and it never surprises me.

I have been switching between note-taking apps so frequently that I feel like I'm going to vibrate apart into tiny pieces.

When someone says, "I use photography to find beauty in the mundane." I hear, "I don't have any ideas so I just shoot whatever boring crap I find nearby and call it Art."

Permalink #

Saturday, June 24, 2023

Looks like the RudimentaryLathe.org Ghost blog isn't going anywhere, eh? I'm not surprised. My pointy-clicky phases are usually short-lived.


What if I were to just drop words and photos in the main content area up there on the top every day? Transient stuff that stays out of the feeds. It would be a kind of easter egg for those few souls who actually visit the site. Then, if I choose, I could move anything especially juicy into the daily post. Worth a try, I think.


Advice I am not good at following

Thinking is not doing.


I decided to channel my anger. And by channeling, I mean combining it with drinking.

Jack Handey, "The Stench of Honolulu"


An unscientific observation: The most creative and productive people I know don't have a note-taking "system". Many of them just use Apple Notes all willy nilly and never think about it.


I have notes from 10 years ago in Apple Notes. A decade of "But what if...?!" anxiety around future-proofing. I'll probably worry about it for another 20. All this fretting feels more and more like a giant waste of time.

Permalink #

Friday, June 23, 2023

I spent (and by "spent" I mean "wasted") an hour and a half this morning trying to get my custom delete command mapped to the "D" key in notmuch. Reading that sentence only reinforces the fact that I've once again lost a good portion of a day on something that would be a non-issue in anything other than Emacs. My key binding still doesn't work. I've given up. Next!


I just paid $25 for 24 ePub books in the Essential Knowledge book bundle. I'll start, ironically, with "Analog" from Robert Hassan. The bundle seems like a good deal to me.


Usually I can’t afford Glenriddance, or even the cheaper version, Glencockie.

--The Stench of Honolulu by Jack Handey


Of course it was a tragedy, but they weren't "explorers". They were tourists.


Permalink #

Editing Hugo's Markdown directly (not using ox-hugo)

I have been wondering if the benefits of using ox-hugo just so I can write posts using Org-mode format is worth the extra layer of abstraction. I prefer Org-mode to Markdown, but Markdown is fine. In fact, Markdown-mode makes editing Markdown in Emacs quite pleasant. Ox-hugo is a great package, but increasingly seemed like a clever but unnecessary abstraction. One of its best features is that it makes creating new posts super easy. I never liked using the Hugo CLI, so ox-hugo solved that problem.

I started looking for a way to make generating posts easier, but without using Hugo. At first I figured I would need some kind of wrapper around the CLI's hugo new post/... command, but then wondered if I should do something right within Emacs. I mean, someone's had to solve this problem before, right?

I'd used a package called Easy Hugo before, but it's way overkill for what I need.

After a brief search, I spotted a post from Jeremy Friesen which included a function that does something very close to what I needed. (Thanks, Jeremy!).

My theme at the time of this writing is Congo. Congo pushes one toward using Hugo bundles for posts, meaning rather than posts being in a file named my-blog-post.md I need to name them index.md in a folder for each post. I tweaked Jeremy's code a bit and now I can just call jab/post-new and I instantly get the proper folder, file, and front matter and can simply start typing. Here's the code:

(defun jab/post-new (title &optional)
  "Create and visit a new draft blog post for the prompted TITLE."
  (interactive "sTitle: ")

  (let* ((slug (s-dashed-words title))
         (default-directory (concat "~/sites/blog/content/posts/"
                                    (format-time-string "%Y/%m-%B/%Y-%m-%d-")
                                    slug "/"))
         (fpath (concat default-directory "index.md")))
         
    (make-directory default-directory)
    (write-region (concat
                   "---"
                   "\ntitle: '" title "'"
                   "\ndate: " (format-time-string "%Y-%m-%d %H:%M:%S %z")
                   "\nslug: " slug
                   "\ncategories: [\"\"]"
                   "\ntags: [\"\"]"
                   "\ndraft: true"
                   "\n---\n")
                  nil (expand-file-name fpath) nil nil nil t)
    (find-file (expand-file-name fpath))))

I create two slightly different kinds of posts, regular posts (which are created using the above function) and "journal" posts, which use a different file name and URL structure. Rather than modifying the existing functions with a bunch of conditionals, I did what all professional programmers do, I copied and pasted the existing function and tweaked it to suit. It's called jab/post-daily and looks like this:

(defun jab/daily-new ()
  "Create and visit a new j blog post for the prompted TITLE."
  (interactive)

  (let* ((slug (concat (format-time-string "%Y-%m-%d") "-journal"))
         (default-directory (concat "~/sites/blog/content/posts/"
                                    (format-time-string "%Y/%m-%B/")
                                    slug "/"))
         (fpath (concat default-directory "index.md")))
         
         (make-directory default-directory)
    (write-region (concat
                   "---"
                   "\ntitle: '" (format-time-string "%A, %B %d, %Y") "'"
                   "\ndate: " (format-time-string "%Y-%m-%d %H:%M:%S %z")
                   "\nslug: " slug
                   "\ncategories: [\"Journal\"]"
                   "\ntags: [\"\"]"
                   "\ndraft: true"
                   "\n---\n")
                  nil (expand-file-name fpath) nil nil nil t)
    (find-file (expand-file-name fpath))))

The only real difference is the folder name and slug are different and the title is pre-determined so there's no need for a prompt.

I'll miss the one-post-per-heading-in-one-big-file approach of ox-hugo, but editing the Markdown files directly has fewer dependencies and feels cleaner to me.

Permalink #

Thursday, June 22, 2023

Nothing inspires arrogance like a lifetime spent controlling machines that are incapable of criticism.

--Edward Snowden


I've stopped using ox-hugo for writing posts and started Editing Hugo's markdown files directly


Another change to the blog is that I'm no longer assigning "featured" images to posts. The Congo theme does a great job of handling them, but I don't like feeling like I have to include a featured image with every single post, and I don't like how the home page renders when some posts have them and some don't.

Permalink #

Wednesday, June 21, 2023

I don't have anything to say here today. Here's a photo of the likely cause:

Some days a notebook and a pencil is all I want
Permalink #

Tuesday, June 20, 2023

There was something about the PaperMod theme I was using here that didn't sit right with me. It's a nice theme, but off somehow. So I've gone back to Congo. I have some issues with Congo, too, but it's well-supported and being actively developed, so I'm hopeful I can sort it out.


What am I going to do with this thing?

Apple IIc
Permalink #

Monday, June 19, 2023

I'm still working on my from-scratch Emacs config. I don't know yet if I'm wasting my time or if this is the future.


Bluesky isn't really doing it for me.


I swear that if the "You're using it wrong!" and the "Block Meta / Don't block Meta!" or similar arguments don't stop over on Mastodon I'll go back to Twitter.

Permalink #

Father's Day

I spent Fathers' Day with my dad and my daughter, so that was pretty perfect.

My dad and I on Father
My daughter and I on Father
Permalink #

Sunday, June 18, 2023

I spent much of the day trying a from-scratch Emacs configuration. It's going…ok. Emacs from scratch (again)


Alice

This photo of Alice (above) is from a roll of HP5 that I put through the the Hasselblad (500C/M) yesterday. The Hasselblad V series are my favorite cameras alongside the Leica M. Medium format film renders in a way that 35mm doesn't. And the Zeiss lenses are so good. I wish I used it more often. Maybe I will.

Permalink #

Emacs from scratch (again)

I've been fighting the urge to rebuild my Emacs configuration from scratch. Doom Emacs is powerful, complete, and offers all I might ever need, but I sometimes get twitchy around relying on it. I'd like to free myself from its wrapper macros like after! and map! so that I remember how Emacs works by default. I like the SPC leader configuration in Doom, but I worry that my muscle memory will become useless one day. And Doom is big. It makes me feel like I'm dragging things around that I'll never need or want. This is more imagined than real, but it nags me.

Sometimes I want to feel closer to the tool.

I'm about four hours into it and it's not going great. Have you any idea how many quality-of-life improvements Doom includes? It's a lot, I'll tell you that.

I thought a starter kit would be helpful, so I tried the new beta of system crafters' Crafted Emacs. I don't think it's for me. Using custom.el for everything seems weird. Maybe I'll revisit once they're through the beta period.

My next step was to swipe some of Will Schenk's configuration from his post Setting up emacs re-re-dux. Will's sensibilities seem to align pretty well with mine, so this was helpful. Also, he's using NANO Emacs, which gets me to a nice-looking and well-behaved setup without a ton of magic or unnecessary overhead.

…another three hours later…

I've pulled in the best parts of my Org-mode configuration, tweaked anything that depended upon Doom, and now I'm typing this.I haven't cursed in nearly an hour, so I must be getting closer. I still need to fix the feeling that I'm about to die by 1,000 cuts, but this is the first time I've done this and not gone crawling back to Doom within an hour or two. And I'm sorry if this seems shallow, but I think it's because NANO Emacs makes the whole thing look very nice.

Technically by using NANO Emacs as a crutch, I can't call it "from scratch" but it's the closest I've ever been to a non-Doom-mostly-hand-rolled config and I'm kind of excited about it.

Permalink #

Saturday, June 17, 2023

I wanted to make a list of the types of information I need to record and what the requirements and attributes of each of them are. The goal was to learn and try to determine which tool or tools might actually work for me. You know, based on what I need, not just what I want to play with. But, and get this, I couldn't decide where to write it, so I didn't. My note-taking process has become unmoored and I don't know how to fix it.


I spent time with the Zed editor. It's fast and feels crisp and snappy in a way that VSCode never has. But it's primarily a programming editor so too many of its features aren't relevant to me.


Just spin up a goddammed forum and be done with it. (re: #reddit)


I'm well and truly bored with people pointing out mistakes made by things like ChatGPT.

Permalink #

Friday, June 16, 2023

A thing I'm trying: Forming some kind of Rudimentary Lathe


MWeb is a "Markdown writing, note taking and static blog generator" for macOS and iOS. I played with it briefly, since I'm on another of my "wean yourself from Emacs" kicks. It's nice. The site generator looks pretty good. I'd say if you're a folder-full-of-markdown-files person, MWeb is worth a look.


Whenever I decide to edit a file in something "nicer" than Emacs, I start out feeling relieved. Then, ten minutes later, I'm so annoyed that I crawl back into Emacs.

Permalink #

Thursday, June 15, 2023

I need a reset. A re-calibration of some sort. I have been spinning my wheels for months, with little to show for it. I want a job, but haven't been putting the necessary pieces into place. I spend my days changing my process, my software, my priorities, and my plans. I'm thinking about all the wrong things. I need to find a way to stabilize all this.


Most of the time, Emacs feels like a superpower. Other times, though, it can feel like a gigantic waste of time and energy.


Normal Person: "Is there a better way to do the things I need to do?"

Me: "I should create a complex, overwrought process using every tool at my disposal just in case one day I need to do something with it."


Permalink #

Wednesday, June 14, 2023

Blot.im has been down for going on two days now. I assume this is due to Amazon's AWS issues over the past 24 hours. Still, it's a bummer. As a defensive maneuver I've moved the site back to Hugo, at least for now.

Update: Blot is back online after the "server was caught in a deathloop", so perhaps it had nothing to do with AWS. Still, I'm going to hang out here in Hugo for a bit.


Mike Hall is on a roll with his Denote setup. I'm following it all closely because I use a nearly identical set of tooling, except mine is not nearly as well thought out or complete as his. His latest adjustment is around org-gtd and Things. I've been using org-gtd for a week or so and I'm also not sure it'll stick. Mike created a nice way to generate links between Denote notes and Things that has me thinking.


Speaking of Mike Hall, He recently posted about how he's generating a searchable, static HTML version of his Denote notes so that he can look stuff up while on his phone. All I want from my Denote notes on iPhone is the ability to find and read them. I asked Mike to share his setup, which he kindly did. A few path tweaks and I was up and running in no time.


If y'all were born in the 50s or 60s you'd have done things exactly the same as we did. And if we were born in the 80s or 90s we'd be bitching about it, same as you. Just like your kids and/or grandkids will be bitching about all the stupid things you're doing that will turn out to have been mistakes.


This is how too many headlines read to me:

"Court refuses to overturn rejected ruling not banning those refusing to undo denying a double negative."

Permalink #

Renaming an item in DEVONthink to match the name of its parent group

When creating a new project folder (group) in DEVONthink, I often make use of Templates. Templates are just files in a folder somewhere that get copied into the DEVONthink database. For example, I have a project "starter" Tinderbox document named "Basic Project Template.tbx". When inserting the template file into my DEVONthink project, it uses the same name as the original, which isn't helpful. DEVONthink is very scriptable, so I wrote an AppleScript to rename the selected document the same as the enclosing group/folder.

Well, I didn't exactly write it. It's more like I conjured it.

I first tried copying an existing script that seemed like it would give me a head start and set to modifying that. I didn't know how to refer to the enclosing group in AppleScript so I started to browse DEVONthink's dictionary. It occurred to me that maybe I could just ask ChatGPT for help, so I typed:

"Write me an applescript to rename an item in DEVONthink to the name of its enclosing folder"

ChatGPT wrote the following:

tell application "DEVONthink 3"
    -- Get the currently selected item
    set selectedItem to content record of viewer window 1
    
    -- Get the enclosing group (folder) of the selected item
    set enclosingGroup to parent 1 of selectedItem
    
    -- Get the name of the enclosing group
    set enclosingGroupName to name of enclosingGroup
    
    -- Get the name of the selected item
    set selectedItemName to name of selectedItem
    
    -- Generate the new name by combining the enclosing group name and the selected item name
    set newName to enclosingGroupName & " - " & selectedItemName
    
    -- Rename the selected item with the new name
    set name of selectedItem to newName
end tell

It worked great on the first try. The only change I made was to remove the "selectedItemName" from the final name. What a world.

Permalink #

Coming to my senses about Mimestream

I woke up from my trance and bailed on my disjointed bricolage of Fastmail->Gmail->Mimestream. Cobbling various pieces together just so I can use a single mail client on my Mac seemed...shortsighted. Mimestream is nice, but not that nice, you know?

So I'm back in MailMate and/or Mu4e. Oh, and sometimes Apple Mail. But I'm thinking about switching back to notmuch from Mu4e. Now that I say it, I'm not sure this is any better :). At least I'm not relying on Gmail now, I guess.

Permalink #

Saturday, June 10, 2023

Dammit I just lost an hour on Mastodon even though I'm supposed to be "off" social media. I have nothing to show for it, either. It's insidious!


I lost my head for a second and thought maybe I'd do the whole "Emacs from scratch" thing again. This time, I tried the new beta branch of Crafted Emacs because I like their approach on the new version. But yeah, it's beta and things broke and I'm not good enough to troubleshoot. Back to Doom for now.


There's a difference between "The simplest thing that could possibly work." and "The simplest thing that might actually work."


I've stopped using subheadings with multi-paragraph contents in these daily notes because I like scanning a list of titles as a way to find stuff. Burying them in daily notes makes it harder.

Permalink #