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

Espanso again

I’ve gone back to using Espanso for text expansion. As powerful as Keyboard Maestro is, every time I reach for it I feel like I’ve already lost a battle somewhere. Text expansion macros are about all I use KM for these days, so it’s not much of a disruption. I bookmark Espanso’s config folder in Emacs so I can jump right in any time. The expansion macros (“matches”) are contained in YAML files and can be as simple as: ...

March 17, 2025 · 156 words
Self-portrait in mirror with Leica MP. I'm alo holding a Polaroid SX-70

Roll 203 (Leica MP)

Finished a roll of HP5 today with some shots of my grandson, of course. Here’s 4 from the roll.

March 11, 2025 · 19 words