My Blot website: 2017-2025

I started using Blot for my blog in 2017. Blot is a really nice way to publish a blog from a folder full of Markdown files. Blot’s author, David, is exceptionally helpful. This morning I made an offline backup of everything and deleted all the content from Blot’s folder. Then I canceled my subscription. Five minutes later, I restarted my subscription. I’m grandfathered in to the original $20/year pricing, so I decided it’s so inexpensive that it’s worth twenty bucks just to have it available. Also, it supports a great project by a nice developer. ...

April 22, 2025 Ā· 144 words

More breaking changes in Hugo

Hugo is actively developed and still gets a lot of attention. This is fine. What’s not fine is that it seems like every third update introduces breaking changes. I updated to 0.146.5 and my site failed to build. This was a theme thing, and thankfully the theme maintainer was on it. Still annoying. I like using Hugo and I like my theme and I like having a static website. What I don’t like is not knowing if things are going to still work next week. ...

April 22, 2025 Ā· 97 words

FiiO CP13 Portable Cassette Player

Nostalgia is some powerful stuff, ain’t it? My old Nakamichi cassette deck stopped working a few years ago, and I never bothered to replace it. I’ve been into vinyl and still have a good CD transport, so I didn’t see a need for cassettes. Occasionally, though, I’ll spot a cassette somewhere and think I might like to bring mine out and play them. I didn’t want some ancient ā€œvintageā€ cassette deck, and I didn’t want to spend much. ...

April 15, 2025 Ā· 277 words

BSSG (Bash Static Site Generator)

Today I learned about BSSG, a static site generator written using Bash. I’ve been chugging along with Hugo for a minute, but you just know I have to try every new thing I discover, so… bssg.baty.net How fun is that!? Written by Stefano Marinelli, BSSG is so simple and easy to use that I had a blog started in, I swear, two minutes. The only thing I had to do was change MARKDOWN_PROCESSOR to use pandoc, and I was off and running. Nice. ...

April 11, 2025 Ā· 191 words
Black and white photo of man cutting birthday cake

Roll 207 (Leica M3)

It’s my dad’s 84th birthday. I had the M3 with a roll of HP5.

April 8, 2025 Ā· 14 words

Feynman on computers

ā€œThere is a computer disease. Anybody who works with computers knows about it. It’s a very serious disease and it interferes completely with the work. The trouble with computers is that you ā€˜play’ with them!ā€ Richard Feynman, ā€œSurely You’re Joking, Mr. Feynmanā€

April 6, 2025 Ā· 42 words

I don't care what you think

I don’t mean to be rude, but I don’t care much what you think. OK, that’s not exactly true, I care deeply what you think. Maybe it’s more accurate to say that I don’t worry about what you think. Are you mad that I keep switching platforms? Sorry, not sorry. Are you annoyed that I use words like ā€œjustā€ and ā€œmaybeā€ and ā€œreallyā€ too often? Yeah, me too. We’ll get over it. Does it bother you that I don’t do enough throat-clearing before mentioning something that has become problematic? You’ll be fine. Would you prefer that I only write about Emacs? Not happening. ...

April 5, 2025 Ā· 154 words

Handling robots.txt with Caddy and Kirby CMS

Kirby CMS uses plain .txt files for content. Since the bare .txt files should not be accessible with a browser, one normally uses a path matcher in Caddy and then denies requests based on a path, like so… path *.txt /content/* /site/* /kirby/* /.* But what if I want a /robots.txt file? Turned out to be a simple answer, but it took me a while to find it. I’m writing it down here in case anyone else might need it. Here’s the whole block from my site’s Caddyfile: ...

April 2, 2025 Ā· 140 words

Journelly - Org mode-backed journaling for iOS

I saw the Irreal post about Journelly, but mostly ignored it because I wasn’t looking for a new iOS journaling app. He did mention that Journelly is by Ɓlvaro RamĆ­rez, author of Plain Org, lmno.lol, and others, so that made things more interesting. What intrigued me most, though, was learning that Journelly is backed by plain-text Org Mode files. Bonus! Now it had my attention. Ɓlvaro was kind enough to let me into the TestFlight, and I’m putting it through its paces this morning. ...

April 2, 2025 Ā· 380 words

Daily.baty.net is running Kirby now

I’ve migrated daily.baty.net to Kirby CMS. It has been a static site managed byĀ TinderboxĀ for a long time. I love Tinderbox, but now that baty.net is back on Hugo, I wanted a playground for learning more about Kirby, without moving the main blog back and forth between Hugo and Kirby. So, here we are. Your RSS feed is probably complaining right now. Sorry about that.

March 29, 2025 Ā· 66 words

Mu4e transient menu

I ran across something neat while reading the Mu4e release notes A (experimental) ā€œtransientā€ menu has been added for mu4e. You can use it e.g., with something like: (require 'mu4e-transient) (global-set-key (kbd "C-c m") #'mu4e-transient-menu) It’s very handy!

March 29, 2025 Ā· 38 words

Annotating an image with weather

I thought it would be neat to include the date and weather on the images I use for my journal entry covers here on the blog. It turned out to be neat, but not fun. I spent nearly 3 hours on all sorts of failed approaches. I figured it might be useful to write down where I ended up. I leveraged two of my existing bash scripts that deal with the weather, and wrote a new one that uses ImageMagick to put things together. ...

March 28, 2025 Ā· 456 words

Emacs lisp function to update exif data in film scans

I maintain a list of shell commands for updating Make/Model/Lens information in film scans. I’ve always run this via babel in a code block in an Org mode file. Something like this: #+begin_src sh cd ~/Pictures/_Scans exiftool '-m' '-Make=Leica' '-Model=Leica MP' -overwrite_original . exiftool '-m' '-LensModel=Summilux-M 1:1.4/50 ASPH' '-FocalLength=50mm' -overwrite_original . #+End_src Easy enough, I just copy and paste from a list of commands, depending on the lens and camera. However, it occurred to me that I’d prefer to simply have Emacs prompt me for the information, and then take care of the shell commands for me. Also, instead of hard-coding the path, I wanted to use marked files in a Dired buffer. ...

March 27, 2025 Ā· 426 words

Using the Obsidian Web Clipper with Denote

I was feeling envious of theĀ Obsidian Web Clipper, which is quite fancy, so I thought I’d try leveraging it for use withĀ Denote. My first run at this involves a couple of steps: Tweak the web clipper to save files using Denote’s format and front matter Save the file without adding it to an Obsidian vault Move the saved file into my Denote folder Here’s the Web Clipper template configuration I ended up with: ...

March 25, 2025 Ā· 282 words

Upgrading php to 8.3 on the (Ubuntu) server

I upgraded PHP to v8.3 (from 8.2) today on the server running baty.net. I don’t pretend to be an Ubuntu sysadmin, so I’m writing it down, just in case. sudo apt update sudo apt install php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl,gd,xml} sudo apt install php8.3-fpm sudo a2enconf php8.3-fpm # enable it sudo vi /etc/caddy/Caddyfile # replace socket path with 8.3 sudo systemctl reload caddy sudo sudo a2disconf php8.2-fpm # disable 8.2 sudo apt purge php8.2* # in fact, just delete 8.2 The site runs on Caddy, so I needed to change the path to the fpm socket. Here’s the Kirby section of the Caddyfile… ...

March 24, 2025 Ā· 119 words

Roll 204 (Hasselblad 500C/M)

I’ve not been shooting much film recently. Yesterday, I was bored and in a mood, so I grabbed the Hasselblad and fired off a roll using Alice as my model. Only one frame was good enough to share. I really like it, so it was worth sacrificing the other 11. Alice

March 23, 2025 Ā· 51 words

A change to my everything.rss feed

For a while, I tried maintaining a combined RSS feed that included posts from all my sundry blogs. I kept it at /everything.rss. It was managed as part of my WordPress blog, and since I’ve stopped using WordPress, I’ve been redirecting /everything.rss to the feed for baty.net, which is either /feed or /index.xml, depending on my blog platform of the day. I think that instead of that, I’ll piggyback off myĀ @batybotĀ account on Mastodon.social. I crosspost most stuff from my sites to @batybot viaĀ EchoFeedĀ already, and Mastodon offers an rss feed for each account. Mine isĀ https://mastodon.social/@batybot.rss.Ā ...

March 22, 2025 Ā· 150 words
Closeup of Nikon Z f camera dials

Five weeks with the Nikon Z f

A few quick thoughts after just over a month with the new Nikon Z f

March 21, 2025 Ā· 300 words

Fixing the terrible scrolling behavior with Logitech MX Master on macOS

Scrolling with theĀ Logitech MX MasterĀ in Safari sucks out of the box. The following fromĀ this Reddit threadĀ helped, even though it required installing 2 additional packages. Here’s the useful part of that thread: Install Logitech Options+ (sigh) and set: Logi Options+ (Plus): Customization App for Logitech Devices What a gross bit of software, but it’s necessary here. I’ve read that once this process is done, I can delete the app completely, but I haven’t tried that yet. ...

March 19, 2025 Ā· 294 words

Listing today's notes in Denote journal entry

While tinkering with Obsidian recently, something I liked was having a daily notes template with a Dataview query showing the other files I’d added that same day. I added something similar for Denote. It’s a Yasnippet: # -*- mode: snippet -*- # name: Denote insert today's links # key: dnl # -- #+begin: denote-links :regexp "^`(format-time-string "%Y%m%d")`$0" #+end I just run that after first creating the daily note and I get a list of links to the other Denote files from that day. There’s probably a way to automate that, but this is good enough for who it’s for. ...

March 18, 2025 Ā· 99 words