Roll 195 (Hasselblad 500C/M)

Sometimes I just need to blow through a roll when I'm bored. This is from the Hasselblad 500C/M and 80mm Planar on HP5 developed with HC-110(b). Thankfully, Alice was handy. These were all handheld at 1/30th, which is a terrible idea. The one of me is underexposed and full of dust. ¯\(ツ)

Permalink #

Adding weather to my Fish welcome message

Fish shell welcome message showing weather conditions

For some reason, I always want to know the weather conditions. I barely go outdoors, but I still like to know what's happening. I have a few shell scripts that kick out some version of the weather. Here's the one I use most:

    #!/bin/sh
    # Jack Baty, 2023 (https://baty.net)
    # Grab and parse weather info using WeatherAPI.com
    
    jq=/opt/homebrew/bin/jq
    
    # Save the response to temporary file
    # TODO: shouldn't this just be a variable or something instead?
    weatherfile=`mktemp`
    curl -s "https://api.weatherapi.com/v1/forecast.json?key=[SNIP]&q=49301&days=1&aqi=no&alerts=no" > $weatherfile
    
    now=`${jq} -r .current.condition.text ${weatherfile}`
    temp=`${jq} -r .current.temp_f ${weatherfile}`
    condition=`${jq} -r .forecast.forecastday[0].day.condition.text ${weatherfile}`
    high=`${jq} -r .forecast.forecastday[0].day.maxtemp_f ${weatherfile}`
    low=`${jq} -r .forecast.forecastday[0].day.mintemp_f ${weatherfile}`
    
    echo "${now} ${temp} | Low ${low}, High ${high}"

Right now, this returns: Light snow 21.9 | Low 20.1, High 26.4

I recently went back to using Fish shell. Fish has a function called fish_greeting that returns a generic welcome message with each new shell. I changed it so that it shows the time and weather. My ~/.config/fish/functions/fish_greeting.fish looks like this:

    function fish_greeting
        echo -n Time (set_color yellow; date +%T; set_color normal)
        echo " | " (~/bin/getweather)
    end

Neat, huh? Normally the weatherapi.com API is fairly responsive, but I can see this being a problem when it's laggy. I don't open that many new terminal windows, so it's fine for now.

Permalink #

GoAccess and HTTP Protocols

Using GoAccess to process my web server logs is going fine. It's nice not paying for an analytics service, but it's definitely a messier process.

I wrote a little about Filtering server logs for use with GoAccess recently, but have since tweaked things a little.

One thing I found annoying was that GoAccess reports requests separated by HTTP protocol. So HTTP2 and HTTP1.1 requests are counted separately. Not what I wanted, so I discovered --http-protocol no and --http-method no. I'm always going to want this, so I added the following to /etc/goaccess/goaccess.config

    http-protocol false
    http-method   false

Now the requests are combined, making the reports more useful to me.

Permalink #

Blog Questions Challenge (2025)

I was tagged by Kev Quirk to complete a "Blog Questions Challenge", so here we go.

The questions are:

  1. Why did you start blogging in the first place?
  2. What platform are you using to manage your blog and why did you choose it?
  3. Have you blogged on other platforms before?
  4. How do you write your posts? For example, in a local editing tool, or in a panel/dashboard that's part of your blog?
  5. When do you feel most inspired to write?
  6. Do you publish immediately after writing, or do you let it simmer a bit as a draft?
  7. What's your favourite post on your blog?
  8. Any future plans for your blog? Maybe a redesign, a move to another platform, or adding a new feature?

1. Why did you start blogging in the first place?

I started my first blog in 1999, so I honestly don't remember why I started doing it. It was probably part fascination with the still-new magic of the internet and part having fun playing with software. I lost that first year of posts, but the archives starting in 2000 are filled with links to internet-ey stuff. I liked sharing things I was thinking about or found interesting. This still applies today.

2. What platform are you using to manage your blog, and why did you choose it?

As of today, January 7, 2025, I'm using Kirby CMS. I had been using static blogging engines for years (with occasional forays into the big CMS options like Ghost or WordPress), but with Kirby I was (easily) able to build my blog to work the way I wanted. I love that Kirby lets me easily build the admin panel to work exactly how I like. It's fast, simple, and pleasant to use. Kirby is written in PHP and uses plain text files for content (so no database). This makes it easy to host, move, backup, etc. Not quite as easily as with a fully static site, but close enough.

3. Have you blogged on other platforms before?

Hahahaha...ehem... I mean yes, I have. There are very few viable platforms I havent used. I've written a number of custom versions using ColdFusion, PHP, and Ruby on Rails. I used Blosxom for quite a while. I even wrote a little PHP CMS for generating Blosxom sites. It was called PHPetal because I'm clever that way. After Blosxom I moved to Movable Type. After that it's a blur of TextPatternWordPressJekyllBlotFargoTumblrTinderboxGhostEleventyHugo, and probably others I don't remember.

Trying new blogging platforms is a hobby for me. Other people golf, I guess.

4. How do you write your posts? For example, in a local editing tool, or in a panel/dashboard that's part of your blog?

This depends on the platform I'm using, but with Kirby I write 90% of posts in the Kirby panel, on the server. Occasionally I'll mix things up and edit in Emacs or iA Writer or BBEdit.

5. When do you feel most inspired to write?

Usually, right after I learn or do something interesting. I like sharing things as they happen. I don't have a ritual or plan or anything.

Do you publish immediately after writing, or do you let it simmer a bit as a draft?

Immediately, if not sooner. I often hit "Publish" even before I'm finished writing. Having something half-assed out there motivates me to finish it. Nothing ever simmers. This lends itself to incomplete thoughts and weak writing, but it's how I've always done things.

7. What's your favourite post on your blog?

I'm sure I don't have one. There are thousands of posts. Most of them are short and messy and none really stand out enough where one would say, "Now that's a good bit of writing!" I wouldn't, anyway.

Any future plans for your blog? Maybe a redesign, a move to another platform, or adding a new feature?

Yes, all of that, and probably sooner than I should. During 2024, I switched platforms every 30 to 60 days. That's nuts, but I can't seem to stop doing it. I would very much like to keep my writing in one place and to use the same Kirby-based tooling and workflow for _at least_the rest of 2025.

I can hear you all snickering at that.

Onward!

Permalink #

My first 3D print

Back when I regularly maintained a "Spark file[1]", I wrote the following on Aug. 26, 2012:

Do something with a 3D Printer

Me, in 2012

Today, I can finally cross that one off the list.

It

The Bambu Lab A1 arrived yesterday, so I did what everyone does and printed the little "Benchy" tugboat. The A1 only came with 20g of filament, and of course I forgot to order more with the printer, so the starter filament is all I had to work with. It's so cute, though!l. k

3D printers have always seemed really cool, but also more trouble than they're worth. I'm as much a nerdy gadget-guy as anyone, but I never felt like being an expert in calibrating and maintaining 3D printers. In the past couple of years, printers seem to have reached a tipping point in ease-of-use, with the Bambu models seemingly leading the way.

I bought the lower-end A1 model because it seems like more than enough for what I need. Besides, I don't even know what I plan to print, to be honest. Here's the printer, set up and ready:

Bambu Lab A1

I have a roll of PLA filament arriving later today, so I'll probably spend the afternoon looking for ideas on what to print. I have no interest in printing toys or anime or Marvel characters. No Harry Potter props, etc. I'd like to make some useful things like tool holders or organizational gadgets. Eventually I'd like to make accessories for my film photography hobby, but I don't know what that might be yet. Seems like there ought to be something I could make, though. Anyway, I'm happy to be able to try this new hobby. It's been a long time coming. I hope Benchy is just the beginning.


  1. See The Spark File, by Steven Johnson ↩︎

Permalink #

Trying Ghostty

Ghostty is a new, platform-native terminal app from Mitchell Hashimoto. I've been alternating between Ghostty and Apple's Terminal for about a week.

I like Ghostty. It feels nice right out of the box. Configuration is done via a simple text file, but almost no configuration is necessary. Sensible defaults always make a good first impression, and Ghostty makes a really good first impression.

Most of the early reviews I've read begin with raves about how fast Ghostty is. Is it that fast, though? It's pretty fast, actually, but it's not noticeably faster on my Mac than Apple's Terminal. I keep comparing the two, and I find no meaningful difference in speed for anything I do with a terminal. It's not slower than Terminal, certainly, but I suspect that all this talk about speed is partially because we like new things and because everyone else says it's fast. We're an impressionable lot 😀.

Either way, give me a nice, free, native-but-cross-platform terminal app with lots of nice features, while at the same time being at least as fast as anything else, and I'm in.

I recommend trying Ghostty. It's a damn fine terminal app.

Permalink #

Handling Kirby content vs code

One of the things that frustrated me about Kirby last year was handling code/template changes vs content changes. I complained about it here.

Ideally, since Kirby is a PHP CMS, I would do everything directly on the server. What I've done more often instead, is to run a full copy locally and rsync the final product (code, blueprints, content, images, etc.) to the production instance. Content is kept in plain text files, so both code and content changes need to be kept in sync.

Except I don't want to run Herd or whatever locally all day and I don't want to rsync everything every time for a site that's not completely static.

There are probably a dozen ways to handle this, but here's how I'm doing it:

I edit content directly on the server via the Kirby panel, as I think is intended. I make code/layout changes locally, running a local copy via Herd. But now what? I still use rsync via a Makefile. So when I want to pull down the most recent content, I run make pull. When I want to update code, I run make deploy.

The "pull" recipe rsyncs everything from the /content/ directory on the server to my local site. The "deploy" recipe rsyncs everything from /assets/ and /site/ directories up to the server.

I like this because managing which files should and shouldn't be shared is a hassle. Things like the cache, media, logs, etc need to be ignored. I've goofed in the past and caused myself all sorts of grief. This way, the code is one thing and the content is another.

Here are the relevant parts of the Makefile:

SERVER_HOST=my.server.host SERVER_DIR=/srv/baty.net-kirby/public_html PUBLIC_DIR=/Users/jbaty/Sync/sites/kirby-blog/ TARGET=Hetzner

checkpoint: git add . git diff-index --quiet HEAD || git commit -m "Publish checkpoint"

pull: rsync -avz $(SERVER_HOST):$(SERVER_DIR)/content/ $(PUBLIC_DIR)content
--delete

deploy: checkpoint @echo "\033[0;32mDeploying updates to $(TARGET)...\033[0m" rsync -v -rz
--checksum
--delete
--no-perms
--exclude /logs/
--exclude /cache/
--exclude /config/.license
--exclude /sessions/
$(PUBLIC_DIR)site/ $(SERVER_HOST):$(SERVER_DIR)/site rsync -v -rz
--checksum
--delete
--no-perms
$(PUBLIC_DIR)assets/ $(SERVER_HOST):$(SERVER_DIR)/assets

# Just in case, this sends everything deployall: checkpoint @echo "\033[0;32mDeploying updates to $(TARGET)...\033[0m" rsync -v -rz
--checksum
--delete
--no-perms
--exclude media/
--exclude Caddyfile
--exclude /site/logs/
--exclude .git/
--exclude .htaccess
--exclude Makefile
--filter=':- .gitignore'
--exclude .gitignore.swp
$(PUBLIC_DIR) $(SERVER_HOST):$(SERVER_DIR) open raycast://confetti

It's messy, but seems to work without causing too much trouble. I commit everything each time I deploy, so even content changes are covered (assuming I've make pull-ed recently. I should investigate some of the Git plugins for Kirby and see if there's some simpler way to do this. If you know of any, please let me know.

Permalink #

The Notebook Situation for 2025

It's the same old story. I don't know whether I want to use one or multiple notebooks. Or even if I want to use paper notebooks at all. Here are some random thoughts about my intended notebook use for 2025.

Each year for the past 13 years I have ordered a Hobonichi Techo. Some years, I write in one nearly every day. Other years, I fill the first few pages, then it remains mostly blank for the rest of the year. This morning, I (optimistically, as always) set mine up for 2025.

My go-to notebook for journaling, logging, and bullet-journaling for years has been the Leuchtturm1917. It has an index, numbered pages, and decent quality paper. Or at least they used to have good paper. The paper in the last couple have been worse. Flimsier, somehow. Show-through has been more pronounced, even with non-fountain pens. I hear they've released a version with heavier paper, so I may try one of those.

Paper type is an issue, too. I prefer 7mm ruled paper. The Leuchtturm uses 5mm and the one I'm currently using is dot grid. I don't like dot grid pages. They feel like a half-assed compromise between plain and ruled pages, rather than the best-of-both-worlds solution that some people claim.

I am just over half-way through the current Leuchtturm. I planned to move to a nice 7mm ruled Midori MD Notebook for 2025, but I seem to always bail on notebooks before they're finished, and I'd love to stop doing that.

The dark horse here is the reMarkable tablet. If I was working, the reMarkable would be my tool of choice for meeting notes. I'm not working, though, so what is it for, then? I'm not sure. While the tablet is a terrific piece of hardware, it's not a paper notebook. Duh. The upside is that I can choose different paper types for every "notebook", and even on individual pages. I sometimes think that this device solves most of the problems I have with paper notebooks. Except it's not really paper, is it? I love the feel of paper. I love flipping back through pages. I love pasting in ticket stubs or little photos or magazine cut-outs. I love my pens. As good as the reMarkable is, it's not the same, and I don't think it's good enough to replace real paper. Sometimes I want the smell of a freshly-sharpened pencil.

Where does this leave me for 2025? Nothing will change, probably. I'd like to keep using the Leuchtturm until it's full. I'll use it to journal, log my day, write commonplace entries, record tasks, glue stuff, doodle, etc. Then, some days, I'll jot some todos or record some events in my Hobonichi, just as a change of pace.

You know, the usual.

Permalink #

Reduce & Simplify - Redux 2025

On this day, one year ago, I wrote a post titled "Reduce & Simplify". In that post, I wrote about how I planned to get rid of complexity and remove unnecessary "stuff" from my process.

I did almost none of those things. In fact, I may have made it worse.

So, I'm going to try again in 2025. This time, instead of switching to "simpler" apps, I plan to use the ones I'm already invested in. Mostly, that means Emacs. I'm pretty good at using Emacs. I've been at it for more than a decade. It has everything I could need for notes, publishing, etc. It can be a difficult app, but after all this time, it's actually simpler than the alternatives, because I don't need to learn anything to get stuff done.

I'm planning to apply this thinking to as many things as I can. It's not easy for me. I like to play with software. It's fun to try new ways of doing things. As long as I can distinguish between playing with something new and "OK, THIS is the way I'm doing everything from now on!" I should be fine.

Here's the idea, as of today:

  • Notes: Emacs (avoid Tinderbox or Obsidian or TiddlyWiki except for specialized tasks)
  • Tasks: Org-mode (with OmniFocus for capture and mobile)
  • Photos: Lightroom Classic (Trying to wean myself from Capture One. If I get really ambitious, I might even drop back to using only Bridge and Camera Raw.)
  • Terminal: Apple Terminal (Ghostty is cool, but I don't live in a terminal, so Terminal.app should be fine)
  • File management: Finder. (No more DEVONthink, which I love, but is unnecessary.)
  • Notebook: Still working through this. Probably just one, the Midori "MD Notebook" lined. Not sure if I'll use the Hobonichi.
  • Camera(s): Leica MP, Olympus OM-2n, Hasselblad 500C/M, Ricoh GRIII. (There's no way in hell I'm going to be able to limit myself to one camera/one lens)
  • Blog: Just this one. Using Kirby. (Any bets on this?)

I am finding it difficult to make some of these decisions. I may determine that I don't want to decide on some of these things. Still, the background noise throughout all of it will be "Reduce & Simplify". It's good to have goals.

Permalink #

Saturday, December 28, 2024

I don't feel like writing full-on blog posts, lately. What I'm interested in is journaling...in public. I don't like this Hugo template for that purpose, but I have learned that changing Hugo templates isn't worth the trouble. Now what?


I want to be entirely self-sufficient, but I don't want the job of maintaining anything. How's that supposed to work?


DVD is dead. Long live DVD.

In a media landscape where the only sure thing is that there are no sure things, our best bet is still to put a disc in a drive


After spending hours trying to find a decent alternative to Photo Mechanic, I ran across this post, by me, from June Photo Mechanic in 2024 | Baty.net, in which I describe how I ended up paying for a year subscription then. I'm very confused, because I don't remember doing that. At least I have 6 more months with PM, right?


Friday, December 27, 2024

I was working on a little shell script for generating GoAccess reports on the web server but I was running into a minor problem that I couldn't figure out. I asked ChatGPT for help and immediately had the solution, and a better overall script than I had written. The side effects of LLMs suck, but there's no denying their utility right now. I feel dirty, but I have a nice script, I guess?


Thursday, December 26, 2024

I'm deleting a bunch of old files. There's a significant psychological difference between "zipping them up and putting them on some hard drive somewhere" and actually deleting them. Deleting, where feasible, is better.


Wednesday, December 25, 2024

You woke me for this?

Merry Christmas. Christmas arrives without much fanfare around here, but we do spend time with family. Maybe I'll even step away from the computer for a while.


Still true: I'm tired of organizing things


I watched the Ken Burns' "Leonardo da Vinci" documentary and now all I want to do is write in my notebooks...and dissect things.

Tuesday, December 24, 2024

My beloved Focomat IIc Enlarger

I was going through my Braintoss messages and this one from April, 2023 jumped out at me:

there's a low-level specific pain in having to accept that putting up with you requires a certain generosity of spirit in your loved ones

Ouch 😬 (It's from ― Emily St. John Mandel, Sea of Tranquility)

Also this one:

The thing I miss most about working is canceled meetings.

And this:

you know I think I want to read a book about minimalism as a concept but really I just want somebody to tell me how to organize my closet


I hate to judge, but I have trouble taking you seriously when you use a half-naked anime character as your desktop background.


Monday, December 23, 2024

I thought maybe I'd change themes here just to change things up a bit, without completely bailing on Hugo, as I'm wont to do. Changing Hugo themes is almost as much of a pain as changing blogging engines. I gave up after an hour.


Friday, December 20, 2024

jAlbum is pretty good at creating nice static web photo galleries. I made an elaborate gallery last year. It was nice, but now I can't find my copy (or settings, originals, etc.) I'm not mad because I have to start over. I'm mad because all I do is organize stuff and despite that, I still can't find things. Probably because of that, honestly. Anyway, starting over.


I need some new sources. Everything I read is related to AI or social media or some gadget I simply must buy. I'm bored with all of it.


Thursday, December 19, 2024

See, the thing is, I need to somehow keep the the "Reduce & Simplify" dream alive. It's OK if my system takes a little work to maintain, but it has to be one system. I can manage one. What I can't do, is have a bunch of completely different setups that each take "a little work" to maintain. I've become overwhelmed as a result of my never-ending urge to tinker (combined with boredom). So here we are, on baty.net, doing daily notes again. One Blog, One Life or some such thing, right?


Speaking of limiting my systems, I just paid for an entire year of Adobe Photography 1TB plan (~$250). That committment requires that I don't renew my Capture One subscription, which is about the same cost, but C1 doesn't include Photoshop, LrC, Bridge, and 1TB of cloud storage. Seems like a no-brainer, but I still find it difficult to decide. Lightroom it is, I guess.


I'd rather have Reddit posts slurped up by AI than hit a bunch of [deleted] dead-ends when I'm trying to find the answer to something just because someone left in a huff.


Maybe my favorite "feature" of Flickr is...it remains Desktop-first. Mobile phones ruined proper photo sharing.


Sunday, December 15, 2024

See how the way I'm doing this blog ruins the archives?...

Part of my Archives page. Useful, huh?

Emacs from scratch once again

I've been happily using Doom Emacs again, but I missed the feeling of having built things myself. I mean, if I wanted everything done for me, I could just use Obsidian, right?

There's a certain level of geek pride in building one's own config, although I don't always feel it's worth the trouble, knowing Doom exists. Other times, however, I miss feeling the satisfaction of being in complete control of my environment. I spent the day starting over.

When I say "from scratch" I don't mean without any help from anyone. There are things that have become defacto standards when making Emacs "nicer", so I went hunting for a leg up.

The first option I considered was to start with minimal-emacs.d from James Cherti. I'd used this for my previous vanilla setup. It's quite fast and the defaults are sensible. This time, though, I was hoping for a little less magic in my config. I decided to look for something else.

I ended up taking the best bits from Protesilaos' basic and capable configuration. Prot is so pragmatic and thoughtful that it's always valuable to look at how he does things.

Something Doom is very good at is fast startup. With all my crap included, Doom would start in about 1.5 seconds. It's one reason I moved back to Doom in the first place, as my config had blown up to around 8 seconds and I didn't have the energy to optimize it. My unofficial target for the new config was under 4 seconds. I don't launch Emacs that often. A few seconds once or twice a day won't kill me.

I brought over the particulars from my earlier configs (for Org-mode, LaTeX, org-journal, etc.) and, long story short, I have a leaner, newer configuration that I (sort of) built myself. Startup is around 3 seconds, so I have a bit of room if I need it. Or maybe I'll learn about garbage collection and compilation and see if I can improve things.

One thing I didn't bring along was Evil mode. I don't know if I want to run Emacs without it, but I'm going to try living with stock Emacs bindings with some tweaks. We'll see how it goes.

There's no public repo for this yet. I worry that my cobbled together stuff would do more harm than good if someone started copying things from it. Maybe later.

Permalink #