Some quality-of-life improvements to the darkroom

I made some quality-of-life improvements to the bathroom darkroom this morning. I finally have a real "wet side". Previously, I was using the sink and counter, but there was barely room for 3 (8x10) trays. Now, I've got room for 6 or more. Or larger trays if I want to print bigger.

It's just two cut-to-size closet shelving sections and some PVC for support. It's a little rickety, but I can set it up or tear it down and store everything in about 30 seconds.

The wet side
Permalink #

Thursday, September 12, 2024

I'm still undecided about where to put small posts. It's easy to put them here, collected into a single daily note, but things feel like they get lost this way. I tried getting back into Micro.blog but that's just confused things more. Plus, I'm in a "control the stack" mood. I'll either end up continuing to put everything here, or I'll split small posts off to daily.baty.net using Tinderbox. The individual Tinderbox posts can then be syndicated via EchoFeed to Mastodon. Still noodlin' on it.

My second sewing project is finished

I'm still taking sewing lessons. The first week we made pillowcases and it was actually fun, other than having to rip a whole seam and start over :).

Monday's project was this drawstring bag.

Week 2: A drawstring bag

This was my first time cutting fabric, and I found it harder than expected. There's nothing to work against for the first cut, if you know what I mean. After taking forever figuring out the cuts, I was having trouble with my sewing machine. I still haven't figured out what the problem was, but it seems OK now. The class is 3 hours long and I was there for 3.5 hours and still didn't get to the drawstring. I finished the drawstring this morning. It was tricky because I don't have an edgestitch presser foot for my machine, so I was a bit all over the place. I missed a small section, but I'm choosing to ignore it.

Oops, missed a spot

Sewing is hard, but it's really cool to walk in with a random pile of fabric and walk out with an actual thing I made with it. Can't wait until next week.

Permalink #

Tuesday, September 10, 2024

Painting I made in high school
Melting Face (1982)

In high school, I mowed lawns for extra cash. I remember vividly the time I was mowing our neighbor's back yard and I had the idea for a painting (see above). I actually stopped the mower and went inside to start painting immediately. I miss feeling so creative that I'd stop whatever I was doing because I had an idea.


Had second sewing class yesterday. We made drawstring bags. Well, tried to. I struggled with the sewing machine for half the class. It kept jamming. And when it wasn't jamming, I was mis-threading it. We cut several pieces of fabric for the first time. That was harder than I expected. Like my dad often said while building something, "I cut it twice and it's still too short." I didn't finish. I still need to make and thread the drawstring.


People think too much of themselves. We're not that special. Or important.


Early this year, I decided I was Hanging up the Hobonichi. As is normal for me, I changed my mind and ordered the 2025 Techo, just in case. FOMO, mostly.


You can't read the room if you're not in the room.


I was considering bringing back ox-hugo for generating posts here, but according to this comment, he plans to remove support for YAML frontmatter, and I'm not using TOML, so that's a no-go.


I feel like if Apple just said "Screw it, we're sick of this" and stopped making iPhones altogether, we'd all just go buy some Android phone and it would be fine. Then maybe we could collectively shut up about Apple and that would be even better.

Adding Expires headers to Caddy

Performance is important, of course, but I honestly don't fuss too much over it on my sites. At least I don't let it get in the way of publishing how I want to publish. For example, I don't bother with a CDN because I don't want to futz with the links and I don't want the dependency.

Some things, though, are unintrusive while being helpful. Expires headers being one of them. I was getting "B" performance ratings, and the main culprit was a lack of expires headers, so I added them.

Here's how I did it in Caddy:

(static) {
	@static {
		file
		path *.js *.css *.ico *.gif *.jpg *.jpeg *.png *.svg *.woff *.woff2 *.json
	}
	header @static Cache-Control max-age=5184000
}

Then, in the baty.net configuration block, for example, I added an import static line.

Now, I'm an "A" student again.

Permalink #

Monday, September 09, 2024

Kelly (2014). Hasselblad 500C/M.

Why do Apple people spend so much time gossiping about the future? Speculation about Apple bores me to tears.


Blog mood today: I want a blog, a wiki, and a social media account. One of each. The blog is for writing. The wiki is for keeping various bits and bobs, and social media is for sharing the above and others.


Why is it that the first part of every issue of every newsletter is about either changes to the newsletter format or apologizing for being late with the newsletter?


A few of the things I never want to think about:

  • Timezones
  • Retina versions of graphics
  • Unit tests
  • Git branches
  • Code linting
  • Pen testing
  • Licensing
  • Build pipelines
  • Docker

Sunday, September 08, 2024

Reflection in store front. Grand Haven, MI (2024)

I'm having a lot of trouble staying away from social media. The idea was to limit myself to checking once or twice a day, but I still find myself reaching for it every time there's a lull in my thoughts or as soon as I finish something. It's insidious. I'm convinced that social media is bad for my brain and it's definitely bad for my attitude. I'll keep trying. I don't think I should even allow the once-a-day checking. Perhaps I'll bookmark just the notifications tab and check that, since I don't want to be rude and not respond to people.


I dare you to read the Denote manual and not feel 100% like it's software you can trust. Prot is just so damn thoughtful about everything.


What would my brain feel like if I didn't have the urge to share every single thing I do or think? Better, I bet.


Haven't settled on whether to continue combining notes into these daily posts or to split off certain ones into Micro.blog or Tinderbox. Or even as small separate posts here. I like all of the approaches, so it comes down to my mood.


My kind of joke right there. (source unknown)

How many times am I going to fix RSS images for the first time?

OMG I never learn. Even when I write stuff down.

Every time I switch back to Hugo, I complain about the fact that when using relative image links in Hugo's Page Bundles, they don't work in the RSS feed. Then I spend time digging around old forum posts or whatever trying to fix the problem.

Except I already have fixed the problem. At least twice. Maybe just check your own notes, Jack.

I like the PaperMod theme's built-in figure shortcode, so this time I made a local copy of that and tweaked it.

I copied the theme's shortcode to ./layouts/shortcodes/figure.html and added two lines to the top of the file:

{{ $imgname := .Get "src" }}
{{ $img := $.Page.Resources.GetMatch $imgname }}

I don't understand Hugo's templating language at all, but I think what this does is look for a file in the page bundle that matches the figure shortcode's src attribute. The problem is that if there isn't one, the site won't build, so I added a quick and dirty conditional to my copy of the shortcode template:

<img loading="lazy" src="{{- if $img }}{{ $img.Permalink }}{{ else }}{{ .Get "src" }}{{ end -}}...

If you see the following adorable photo of my grandson in your RSS reader[1], and didn't before, it worked.

Here's my tweaked copy of the figure shortcode from PaperMod:

{{ $imgname := .Get "src" }}
{{ $img := $.Page.Resources.GetMatch $imgname }}
<figure{{ if or (.Get "class") (eq (.Get "align") "center") }} class="
           {{- if eq (.Get "align") "center" }}align-center {{ end }}
           {{- with .Get "class" }}{{ . }}{{- end }}"
{{- end -}}>
    {{- if .Get "link" -}}
        <a href="{{ .Get "link" }}"{{ with .Get "target" }} target="{{ . }}"{{ end }}{{ with .Get "rel" }} rel="{{ . }}"{{ end }}>
    {{- end }}
    <img loading="lazy" src="{{- if $img }}{{ $img.Permalink }}{{ else }}{{ .Get "src" }}{{ end -}}{{- if eq (.Get "align") "center" }}#center{{- end }}"
         {{- if or (.Get "alt") (.Get "caption") }}
         alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" | markdownify| plainify }}{{ end }}"
         {{- end -}}
         {{- with .Get "width" }} width="{{ . }}"{{ end -}}
         {{- with .Get "height" }} height="{{ . }}"{{ end -}}
    /> <!-- Closing img tag -->
    {{- if .Get "link" }}</a>{{ end -}}
    {{- if or (or (.Get "title") (.Get "caption")) (.Get "attr") -}}
        <figcaption>
            {{ with (.Get "title") -}}
                {{ . }}
            {{- end -}}
            {{- if or (.Get "caption") (.Get "attr") -}}<p>
                {{- .Get "caption" | markdownify -}}
                {{- with .Get "attrlink" }}
                    <a href="{{ . }}">
                {{- end -}}
                {{- .Get "attr" | markdownify -}}
                {{- if .Get "attrlink" }}</a>{{ end }}</p>
            {{- end }}
        </figcaption>
    {{- end }}
</figure>

If there's a better way to do this, please let me know.


  1. Many RSS readers automatically expand the URL themselves, so it may have always appeared to work for you. ↩︎

Permalink #

Saturday, September 07, 2024

Grand Haven (2024)

Notes from today

Have you ever looked into your completely disheveled pantry and said, "That does it! I'm fixing this right now!"? I did that today. After two hours of, "What the hell is this doing here?", everything that doesn't belong in the pantry is not in the pantry, and everything that remains in the pantry is where it belongs in the pantry. This feels really good.


More on Micro.blog

I'm a week into my Micro.blog Revisited experiment and have not come to any conclusions. There are two questions I need to answer:

  1. Do I need a separate micro/daily blog?
  2. Should that blog be run at daily.baty.net or jack.micro.blog?

The more I continue to enjoy using the Hugo blog, the less I feel the need for a separate blog. If I could simply make the call that I only have One True Blog, things would become much easier.

Sometimes, though, I want to quickly and easily share an image or quote or link. That's where Micro.blog shines. Plus, it will syndicate to my social media accounts. Micro.blog also federates nicely with Mastodon, etc. Seems like a no-brainer.

But! My Tinderbox blog is the result of a long slog of wrangling Tinderbox into building the blog I really want. It works great for that, now. Plus, it's in Tinderbox, which is one of my all-time favorite bits of software. Plus, I control the entire stack. And I can syndicate using something like EchoFeed.

The answer is that I don't yet have an answer, so I'll continue tinkering until I do[1].


  1. Which may be never. ↩︎

Friday, September 06, 2024

Notes from today

How every news article about a court ruling sounds to me:

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


I'm feeling the urge to keep daily notes here. Remember when I used to separate long-but-not-enough-for-a-separate post notes with a heading? And the table of contents adds a nice touch, I think.


Freddie deBoer - The Temporal Copernican Principle

I often vigoriously disagree with Freddie deBoer, but I also often love how he puts things. In The Temporal Copernican Principle, he considers Yuval Noah Harari to be a charlatan, and says this about his continual optimism around technology:

Lately, Harari’s interest has (of course) been in AI, insisting as so many do that contemporary systems primarily used to generate B- essays for lazy college students and logos for fantasy football teams are, somehow, going to orchestrate the most consequential revolution in the history of our planet, and soon.

I mean, right?

And then:

The value associated with improvements to fossil fuel extraction, electrification, modern plumbing and sanitation and hygiene, drug development, motorized vehicles, germ theory, flight, telecommunications, etc, that were born from 1830ish to 1970ish are just immensely more consequential in human terms than the iPhone.

I tend to agree.


Org-rainbow-tags

I don't normally use tags in Org-mode files, so I hadn't noticed that tags on DONE headings use the same face as the heading itself. This makes the tags difficult to spot. Every theme I tested failed to differentiate between heading text and tags on DONE headings.

Here's my books.org file:

Notice the indistinguishable tags in the list of DONE books

After failing to find an easy way of changing the face of tags, I cheated and installed org-rainbow-tags. Now my tags are wildly different from the headings. And from each other, for that matter:

Vivid tags!

I'm not sure I like this for every org-mode file, however, so I only enable the mode in my books file. This is done by setting a local variable in the file itself, like so:

;; Local Variables:
;; eval: (org-rainbow-tags-mode)
;; End:
Permalink #

Books.org redo

For a couple of years, I kept my reading list in an Org-mode file. I found it a bit tedious, and the only thing I did about that was to stop doing it. I mean, I always seem to be on the verge of abandoning Emacs anyway, right?

Well, I'm back in Emacs, hard, so I want my books there again. I started out by building a capture template for adding books. This should be fine, but just for grins I did a quick search and found the org-books package. This looked like more than I needed, but I tested it anyway. Turns out I liked it. The problem was that it required Helm, which I don't use, and some of the functions weren't working for me. Then I found this fork by goderich which removed some dependencies, fixed some issues, and added support for TheStoryGraph.

I forked the goderich fork, tweaked a couple of things, and was off and running. I caught up with 2024's books. It was so easy this way!

My books.org file

To add a book, I copy its URL from TheStoryGraph and call org-books-cliplink and the book and metadata are added for me.

The configuration for org-books is pretty straight-forward[1]:

(use-package org-books
  :ensure t
  :load-path "~/.config/emacs/lisp/org-books"
  :config
  (setq org-books-file "~/Documents/Notes/Denote/20230406T053322--books__meta.org"))

Since several of the :PROPERTY: names were the same as my old template, the column view works just fine.

The rendered book table from column view

I need to clean up the inconsistent rating display and scale, but otherwise this is nice. And it's now easy enough that I might actually keep it updated.


  1. Yes, I converted my books.org file into a Denote note. ↩︎

Permalink #

Roll-176 (Leica M3)

This roll of HP5 from the Leica M3[1] was shot mostly in Grand Haven during one of our frequent walks through town and on the pier.

Gail
Grandma walking Lincoln
Grand Haven Pier
Well-dressed kids on beach
Beach grass, rocks, and sand
Gift store in Grand Haven. Closed.

  1. It was the M3, not the MP as the post's original title said. ↩︎

Permalink #

Roll-175 (Canonet G-III QL17)

Self-portrait in mirror with Canonet

I first decided to sunset the Canonet, in 2022 due to a few issues making it less than ideal to use. I have a short memory, and was feeling badly about the camera sitting on a shelf, so I loaded it up with a roll of HP5.

Processing the roll yesterday reminded me why I'd set it aside:

I can’t seem to focus it and I don’t trust the shutter speeds. Also, it has scratched a couple of negatives and the frame spacing is all over the place.

All of these things are still true, and focusing is even more difficult than I remember. Something's up with the rangefinder, that's for sure.

Just look at the frame spacing from this sample...

Since I was mostly indoors, and focusing is difficult, I slapped a manual flash on top so I could shoot at f/8 @125th. I completely guessed at exposure, but was close enough.

I think it's time to retire the Canonet for real this time.

Lincoln eating my Apple Watch
Self-portrait in mirror
Apple Extended Keyboard II and HHKB
Lincoln is
Sneaky Lincoln
Permalink #

Thursday, September 05, 2024

Whenever I visit Kottke.org I'm reminded that he just posts anything and everything all day. Long posts, short posts, anything. It's kind of a beautiful mess and I shouldn't worry about mine so much.


As much as I'm enjoying using only one blog, I'm still drawn to the way my daily.baty.net blot works for short posts throughout the day. Plus, I love finding excuses to use Tinderbox. If the daily journal posts here disappear or become sparse, that's why.


Posting to social media without being "on" social media

I'm finding it difficult being "off" social media right now. Every time there's a lull in my thoughts, I want to reach for one of my feeds. It's how I avoid doing anything useful.

I want social media to be a source of information and not purely entertainment, but it usually ends up being entertainment. Also, it's often infuriating, which is why I stepped away in the first place.

One thing I've noticed is that when I'm not sharing things, I feel kind of invisible. I like sharing things. My blog(s) are good for sharing. It's what they're for. But not having comments on the blogs means there's not much actual engagement. I like engagement :). That's what Mastodon (and more recently, Micro.blog) is good at, which is why I find it difficult to leave.

What I'd like to do is to continue posting to my social media accounts, but stop reading the feeds. Is that rude? It feels rude. Is it reasonable and acceptible to post things to social media without being "on" social media? Is it even possible?

Permalink #

Wednesday, September 04, 2024

I can't figure out how to coax Hugo into generating full URLs to images when I'm using Page Bundles. The whole point of bundles is that I can use links to images like [](yet-another-self-portrait.jpg) and it just works. But it doesn't work in RSS feeds. Not all RSS readers automatically figure out the full URLs. The figure short codes should at least work, but don't. Frustrating.


Wild God

The new record from Nick Cave and The Bad Seeds is called "Wild God" and it's fantastic. Nick Cave in a good mood is a rare and wonderful thing.

Permalink #

Tuesday, September 03, 2024

Accidental iPhone photo from inside of my pocket

With all of the free time and curiosity I have, you'd think I'd be good at something by now.


I'm starting to figure out that if I don't know where to put something, I probably shouldn't be keeping it to begin with.


Monday, September 02, 2024

Grand Haven, MI. September 2, 2024.

I was partially successful at avoiding social media yesterday. Whenever there was a lull in my thoughts, I'd "Just check for mentions real quick." This would be fine, but then I'd jump over to the feed and do a quick scroll through. That's the part I'm supposed to be off. Trying again today, but it's hard to resist.


Org-mode may be the Betamax of text formats, but if you recall, Beta was the better format. VHS won, but not because it was better. Why would I use a lesser format for my notes than Org-mode? "Everyone uses Markdown" is not an answer.


We walked the channel in Grand Haven, today. A large boat cruised by sporting a giant Trump flag. That itself wasn't unusual, but the boat's name was "Insurrection". It made me want to do violence.