Printing my Journelly journal

I have a well-established monthly routine for getting my org-journal exported to a nice PDF for printing. Converting this process to my Journelly journal needed to happen in order for me to seriously consider switching.

It needs a lot more work, but here's how I did it this time.

Create monthly file

First, copy and paste the month's entries from my Journelly.org file to a new file, e.g. 2025-04.org.

Add my usual export front matter to the file...

#+title: Journal - April 2025 #+date: #+setupfile: ~/Documents/Notes/org/_SETUP/EXPORT #+setupfile: ~/Documents/Notes/org/_SETUP/jack-latex-journal-twocolumn.setup #+latex_class_options: [10pt,twocolumn]

The EXPORT file has a bunch of settings for handling the Org export...

#+AUTHOR: Jack Baty #+OPTIONS: toc:nil num:nil <:nil ':t #+OPTIONS: *:t -:t ::t <:nil H:4 \n:nil ^:{} arch:headline #+OPTIONS: broken-links:t c:nil creator:nil #+OPTIONS: author:t title:t date:t #+OPTIONS: d:t e:t email:nil f:t inline:t num:nil #+OPTIONS: p:nil pri:nil prop:nil stat:nil tags:nil tasks:nil tex:t #+OPTIONS: timestamp:nil toc:nil todo:nil |:t #+SELECT_TAGS: export #+EXCLUDE_TAGS: noexport nolatex

The .setup file is my variation on the default Pandoc template. I haven't touched it in years, so I don't remember how all of it works. Still...

Sort entries

Journelly creates entries in reverse-chronological order, so the order needs to be reversed. This is easily done by selecting all the entries and running M-x org-sort and choosing "time".

Reformat headings and dates during exports

Another issue is that each Journelly entry begins as a top-level Org heading containing an org-formatted timestamp and location, like so...

* [2025-04-10 Thu 05:54] @ Computer * [2025-04-09 Wed 06:31] @ Computer * [2025-04-08 Tue 12:52] @ Mom and Dad's

That wouldn't look great as headings in a PDF, so I needed to reformat the dates during export. It turned out to be trickier than expected. Org has hooks that do most anything during exports, but I struggled with it. The lisp I eventually found in this post helped me get the exported dates to render as e.g. "Saturday, May 3, 2025"

(with-eval-after-load 'ox (add-to-list 'org-export-filter-timestamp-functions #'env-filter-timestamp))

(defun env-filter-timestamp (string _backend _comm) "Remove [<>] around time-stamps from STRING. The filter receives the entire output timestamp as STRING and then processes it before saving." (if (string-match-p ":" string) (format-time-string "%A, %B %-e, %Y" (org-time-string-to-time string)) (format-time-string "%A, %B %-e, %Y" (org-time-string-to-time string))))

I use a quick M-x regexp-replace to remove the location: @.* part of the headings.

Export!

Then it's a matter of running the export via the export dispatch in Emacs. For me, that means C-c C-e l o and boom, there's a nice PDF of my month's Journelly entries. Here's a less-than-ideal sample page from April that doesn't include too much personal info:

The odd thing with this is that when I exported, all the images were rendered upside-down. I had to go into Photo Mechanic and run "Apply JPEG Rotation" on the images. This is probably due to adding photos on the iPhone, but I'd like to figure out how to avoid this step in the future. This all worked fine for my first export. It's close enough, but I'll want to automate as much as possible. I have a month to figure it out 😄.

Permalink #

Tuesday, April 29, 2025

So I have a couple of static blogs and two kind-of-static blogs. This is fine, I suppose, because I consider both blogging and software to be hobbies. But man, what a mess I'm making. I'm sensing the urge to recoil from all of it.


I'm feeling like the whole Linux thing is a rabbit hole leading nowhere. Also, trying to shoehorn everything into Emacs is not yielding the benefits I read about in the brochure.


From BMW to Honda

I bought a new car today. Before we get to that, I'd like to tell you about my old car.

Ever since I've been able to drive, I've been fascinated by BMWs. Reading Car and Driver magazine from cover to cover was a monthly routine. Car and Driver loved BMWs.

BMW was marketed as "The Ultimate Driving Machine" and I believed it.

In 2019 I was shopping for used car. I walked into the local CarMax intending to buy a Jeep Grand Cherokee. As we were walking around the lot, I spotted a black 5-series BMW and thought it would be fun to take a look. I asked how much they wanted for it, and it turns out that BMWs depreciate wildly in the first few years, because the price for the 2016 BMW was comparable to the Jeep I had my eye on. In other words, it was within my budget.

I looked at the car and thought, "Wow, that's gorgeous." I sat in the car and thought, "Man, this is nice!" I drove the car and said, "Ok, I want it."

So for the past six years I've been a BMW driver. The car is everything I'd hoped for. It's beautiful, perfectly proportioned, and aggressive-yet-restrained. Fit and finish is outstanding and it's the most fun I've ever had while driving.

2016 BMW 535i XDrive. (Photographed using a 4x5 Speed Graphic) :)

It's also been surprisingly reliable. At nearly 90,000 miles, it remains solid and problem-free. I've only had one minor non-routine repair. There are no squeeks, rattles, or other faults with the car. It's still a blast to drive. It's just tight, you know?

But there was a problem. I know I shouldn't worry about it, but there's a stigma associated with BMW drivers. Especially drivers of black BMW sedans. Many people assume that all BMW drivers are assholes. It's a Douche-mobile.

Try as I might, I could never shake the feeling that I was being judged. I go out of my way to drive politely, correctly, and defensively. I conduct myself on the road as if it's my personal duty to rid the world of a misconception. Except I don't know that it's a complete misconception. A lot of BMW drivers are assholes. It's a group I grew tired of being associated with, whether the stigma was justified or not.

Given that the car is going on 10 years old, I decided to start shopping for a replacement. BMW repairs are notoriously expensive, and I wanted out of the feeling that at any moment I could be in for thousands of dollars of repairs. I wanted the opposite of a BMW. I wanted reasonably-priced, reliable, and boring. I wanted to be invisible.

I wanted a Honda.

The first car I ever bought was a 1976 Honda Civic.

Me and my first Honda (1983)

I've owned a number of other Hondas.

  • 1976 Honda Civic
  • 1990 Honda Civic
  • 1994 Honda Accord
  • 2006 Honda Civic
  • 2009 Honda Accord Coupe

All but the first one were great, reliable, solid cars.

So I bought a new CR-V.

2025 Honda CR-V EX-L in Urban Gray Pearl.

I've only ever bought one brand new car, and told myself I'd never do that again because it's financially unsound. Except the used auto market has changed since last I checked. Used cars, Hondas at least, aren't significantly less expensive than new ones. I found a couple of 2023 CR-Vs, but they had at least 25,000 miles on them and were only a few thousand dollars less than new. I opted for the peice of mind of a full warranty and backing of a reputable dealer.

I'm scheduled to pick the car up today. I'm a little excited about it!

The idea is that I don't want to think about my car for the next 5 or 10 years. Hondas are kind of boring to begin with, and the CR-V is so popular that every 3rd car on the road will look just like mine. It's a few steps down from the fun, over-engineered driving excellence of the BMW, but it's a notable improvement for my mental well-being on the road. The Honda is like an invisibility cloak and that's exactly what I wanted.

Permalink #

Friday, April 25, 2025

Yeah, I've been distracted by a couple of new static blogging tools. I think both are interesting and worth a serious look by anyone looking for simple, local-first, Markdown-based blogging. I'll try to write a bit more detail about them, but for now, check them out yourself. BSSG is a complete static site generator written in Bash. The only dependency is a markdown processor. Cmark is recommended and simple. I use Pandoc. It's simple, fast enough, and has a refreshingly easy to use theming system with a ton of built-in themes. Then there's LMNO.lol, which is even easier. Create a single Markdown file with all your posts, then just drag and drop the file into lmno.lol and boom! you have a blog. This one is a hosted service. Check them out! I did: linux.baty.net and baty.blog are BSSG blogs and lmno.lol/jbaty is at lmno.lol.


Consolidating my email handling in Emacs

If I were to only have one computer, I’d use notmuch for email in Emacs. I might also import non-email stuff as notmuch messages so I can search everything in one place.

But, I now have 3 computers; 2 running macOS and one running (Fedora) Linux. Notmuch takes too much of my energy to keep synced between machines. So what about Mu4e? Mu4e is probably the “nicest” Emacs package for managing email, but it still requires a local synced copy of all my messages. This means configuring mbsync on all machines, etc.

It’s a lot, so I’ve decided to “simplify” things and use Gnus exclusively for email in Emacs. Gnus is weird and hard to get ones head around, but it’s built-in and it only requires a ~/.gnus.el file on each machine. Gnus works directly with my email service's IMAP back end, so everything is the same everywhere, without having to think about it.

I don’t get the fancy search features of notmuch, and I don’t get an offline copy of my email store. Honestly, having local email is one of those "but what if...?" things that never need an answer.

With Gnus, I get fewer dependencies and not nearly as many “How do I keep this all in order?” issues.

Permalink #

Tuesday, April 22, 2025

Merlin knows:

The bummer is we miss so many great little things because it doesn't conform to the implastic version of ourselves that lives in some blindingly lit menagerie where everything is just so. Where we store the notional version of ourselves that's never existed.

And who do we imagine all that certainty is impressing? Eventually, you can make up someone plausible, I suppose. But, more basic bitches like me and you are stuck trying to puzzle it all out in a world full of people who've decided we're misunderstanding the world wrong.

Merlin Mann - It takes a worried man.


I did yardwork today instead of blogging. I'd prefer not to do that.


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.

The original content has been archived[1] as a static version and moved to blot.baty.net for posterity.

I don't know what I'll use it for, but Blot isn't something I'm ready to give up completely, yet.


  1. I created a static site using wget: wget -mirror -F -E -k -p https://baty.blog ↩︎

Permalink #

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.

I don't want to migrate to something else...again...but I'm thinking about it.

Permalink #

Monday, April 21, 2025

I hope everyone had a relaxing weekend. I did, at least up until I tried setting up a new(ish) iPhone for my mom. She got a hand-me-down iPhone 12 to replace her, surprisingly still working, iPhone 6. Between Find My/anti-theft issues and forgotten passwords, it was much more frustrating than I'd hoped. Still, she has a new phone and that's good.


I'm typing this on the ThinkPad, even though my Mac is /right there/. It's probably the novelty, but at least it's happening. This is a first for me. here's the latest.


Today, I want to be the guy who only has a paper notebook, a beat up Linux laptop, and a film camera...and is happy with it.


Saturday, April 19, 2025

Sometimes I create this daily entry without having anything to write about in mind. It seems necessary, but is it? Probably not, yet I keep doing it, anyway.

Friday, April 18, 2025

I'm rarely in a hurry, so why do I spend so much time working on ways to do things faster? Working on the Linux laptop this week has made so many things slower. I don't have a text expansion utility configured yet. I don't have something like Raycast on the Mac. Still, I don't feel like I'm doing less. In fact, my mind has been calmer. Writing on the ThinkPad feels more like using a typewriter. OK, that's an exaggeration, but you see the point. There's much less going on, here. I have the usual urge to "improve" things, but I may just wait a minute on that and see if I can settle in with something simpler.

Thursday, April 17, 2025

I've been busy with my Linux experiment. I'm writing about it there, if you want to follow along.

Today, I put a Framework laptop in my cart. This whole experiment only got rolling because I thought I might like Linux on my desktop, so why am I looking at laptops when I have a perfectly servicable (2015) ThinkPad X1 Carbon (that I'm typing on right now)? I can't explain it. Most likely it's because I have an Apple Studio Display and (I'm told) it's quite challenging to use it with Linux. I'm not changing monitors for this, the Studio Display is too good (and expensive).

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.

Enter the FiiO CP13.

FiiO CP13 and Deep Purple

I impulse ordered one after watching someone review theirs on YouTube or somewhere. "I NEED THAT!" I said :).

It arrived, so I quickly went to grab my 1980s cassette case with all my cassettes. Except I couldn't find it. I looked everywhere. Nothing. All I found was a tote back with a dozen or so "rejects". Tapes I'd recorded myself, broken tapes, or just things I stopped liking.

Now, I know I wouldn't throw away my tapes, so I'm sure it'll turn up. In the meantime, I'm entertaining myself with the rejects. This meant fixing the ones I have. All of my cassettes are at least 40 years old. The problem I see most is missing pressure pads. I ordered a fix-it kit from Amazon and set to repairing what I could.

Fixing what I can.

I'm listening to a bunch of Aerosmith tracks I recorded off something in 1980.

I can't tell you how the player sounds, because my tapes are in such poor shape that it's impossible to know if it's the player or the tape. What I will say that I'm having a blast with it.

Permalink #

Monday, April 14, 2025

Linux is fun, but frustrating. I'm trying to stick with it long enough to blame Linux rather than my inexperience for my troubles. As a way to help remember the process, I've started a new blog at linux.baty.net[1]. The new blog is a journal of things I'm learning or struggling with. I'd normally be taking these notes locally but I thought it would be worthwhile to publish them.


  1. I must admit that this was also a fun excuse to play with BSSG. ↩︎

Saturday, April 12, 2025

My dog sniffing a branch

So, yeah, I seem to have four blogs at the moment. It's fun, but not sustainable. Anyway, good morning!


I mean, maybe I'm meant to be the guy who has a bunch of different blogs and nobody wants to follow because he's inconsistent and spread so thin. Is that so bad?


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.

But there a lot of SSGs out there. Why BSSG? It's the themes! Every blogging platform for the past 10 years has featured themes that feel like a personal branding exercise. Like something you'd want to feature on your LinkedIn profile. Gross.

BSSD has like 50 themes ready to go. Many of them are so weird and retro that I fell in love. I mean, look at the "BBS" theme...

My test blog using the bbs theme

I don't need a new blog, and I promised myself I'd keep baty.net on Hugo, but damn, I feel like finding a use for this, just for the fun of it.

Permalink #

Friday, April 11, 2025

My grandson walking away from me in yard

Dammit, now I'm posting journal posts in two places. I get bored doing things the same way every day, so I change things. I don't know if this makes me interesting or if it's a symptom of some deep-rooted mental issue.


Read Mike's Deft, Markdown, Marksman/Emacs LSP, iA Writer and then spent an hour playing with Marksman and I ended up getting nowhere and now I'm upset that I can't get wikilink completion in random Markdown files. This is why I shouldn't be using Emacs.


You know how I say that I'd rather not think about my blogging software and just concentrate on writing instead? And you know how sometimes I try to do that by changing my platform and workflow? Yeah, I sometimes miss the irony of doing that. There's almost nothing in my existing workflow that needs changing, if I'm honest. If I wanted to, I could "not think about blogging software and just write." So why don't I, then?