A blog about everything, by Jack Baty

Sunday, May 7, 2023

I’ve been putting my daily notes/journal entries here at Baty.net for nearly a month and I’ve decided it’s totally fine. I’ve always thought I should keep my random short notes separate from real” blog posts but it turns out to be unnecessary. People can barely be bothered to visit one blog. Asking them to follow two of them feels presumptuous and maybe a little rude.


Tana is quite a compelling package, but after using it for a week I found it to be exhausting. I still occasionally check in to see how it feels and what new features have been added. I have (had?) no plans to integrate it into my workflow. It hasn’t felt like it offered enough to justify the planned $20/month subscription price. However, today I learned that they’re now thinking $10/month. Hmmm.

Saturday, May 6, 2023

And speaking of kings, I somehow still have my crown (from 1982).

The one true KingThe one true King


Whenever I go to Founders, a take a snapshot of this garage for some reason:

Garage at Founders BrewingGarage at Founders Brewing


Blog post about making Mu4e better for me: A couple of Mu4e improvements


I had to call the IRS about an issue with my tax returns. It was surprisingly not unpleasant.


I didn’t think I needed something like TextSniper on my Mac, but turns out I use it many times every day. Recommended.


I’m spending time today consolidating several Lightroom (Classic) libraries. In recent years, I’ve created a new library for the new year and then I’d merge them the following year. The idea was that it’s nice to start fresh” and not have to lug around 100k images all the time. Turns out that managing separate libraries is work, too, so I’m ditching that plan. One big catalog in LrC is fast enough, and less work.


Defederating an instance is an extreme measure and it should only be taken in extreme circumstances.

Finding out I might stop getting posts from people I explicitly follow because they happen to be on an instance being defederated by mine all because a bunch of admins I don’t know got in a spat over a user I don’t follow is just about the most annoying value proposition imaginable.

Rod Hilton, Mastodon

I like the idea of federation, but in practice (by Mastodon) does not instill confidence in the network. If Bluesky can implement federation as well as they have onboarding, I worry about Mastodon.

Also, right now Bluesky is a brimming with trans people having a blast. Meanwhile, Mastodon is loaded with people defensively sour-graping about proper” federation or scolding each other about CWs. I don’t need to tell you which one is more fun.

A couple of Mu4e improvements

I usually prefer reading my email using Mu4e in Emacs, but the Vim (“Evil”) keybindings have been broken since upgrading to 1.10.x. (See this PR for background). This added so much friction that I went back to Mail.app and Notmuch. Recent changes in evil-collection have fixed the issue but weren’t available yet when updating Doom. The fix for now was to (unpin! evil-collection) in packages.el. Much better!

Another snag I’ve run into while using Mu4e was that sometimes I also use Apple’s Mail on macOS and iOS and any messages I delete there would only be flagged as trashed” in Mu4e, so they would show up in the inbox, cluttering things considerably. The fix for this was to set Expunge Both in my .mbsyncrc file. Also much better! That one has been bugging me for a long time.

So the good news is that I’m back to using Mu4e for my email, and it’s now better than ever.

Prepending creation date to selected files using AppleScript (macOS)

I try to name all of my files using the file’s creation date as a prefix. For example:

20230504-MyNewFile.txt

If I forget, it’s a pain to rename them, so I created a short AppleScript to do it for me.

-- Prepend Creation Date to selected files
-- Install Location: ~/Library/Scripts/Applications/Finder
-- Last Modified: 2023-05-04

tell application "Finder"
    set selectedItems to selection as list
    -- Loop through each selected item
    repeat with selectedItem in selectedItems
        set creationDate to creation date of selectedItem
        set fileName to name of selectedItem
        -- Prepend the creation date to the file name
        set newName to my stringFromDate(creationDate) & "-" & fileName
        -- Rename the file with the new name
        set name of selectedItem to newName
    end repeat
end tell


on stringFromDate(_date)
    -- yyyymmddhhmmss
    set _string to ""
    set _string to _string & my stringFromNumber(_date's year, 4)
    set _string to _string & my stringFromNumber(_date's month as integer, 2)
    set _string to _string & my stringFromNumber(_date's day, 2)
    return _string
end stringFromDate

on stringFromNumber(_number, _digitsToPad)
    return text -_digitsToPad through -1 of ("0000" & _number)
end stringFromNumber

I put the script into a Finder-specific folder, so it’s made easily available when Finder is the frontmost app: ~/Library/Scripts/Applications/Finder. (I use FastScripts to make things, er, faster).

I’ve also created a version for use via Raycast, which is identical but not compiled”, as that seems to break things in Raycast.

Thursday, May 4, 2023

I told you the move to microservices was a bad idea.

The move from a distributed microservices architecture to a monolith application helped achieve higher scale, resilience, and reduce costs.

Amazon, Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%


I’m moving my local backups from Time Machine and Backblaze to Arq Backup (Premium). Time Machine has been unreliable and I find Arq more configurable and approachable than Backblaze. So far I’m still using Backblaze B2 to backup the Synology.

Wednesday, May 3, 2023

It’s cute how each tiny new social network with like 47 users thinks it’s not going to be full of dickheads like on Twitter”.


Arc’s concept of tabs is much more akin to buffers in Emacs.

unknown

That’s a good analogy.


I was considering a web app only” experiment but after 10 minutes Tana wouldn’t load and I was reminded that dependency on the cloud is a bad idea.


Where’s the director’s commentary on streaming?

Damn good question, Verge! Audio commentaries are why I still regularly buy DVDs.

Monday, May 1, 2023

JessJess

Always nice when I get a chance to have lunch with my daughter

Sunday, April 30, 2023

Bluesky has a real You can’t come here if you’re not one of us” vibe right now. I mean, someone suggested that anyone even inviting someone bad” should be banned. What do you think is going to happen when it’s out of beta and anyone can join? People are people. I can’t wait to stop talking about Bluesky. I shouldn’t even have posted this, but it’s bugging my how both Mastodon and Bluesky think they can enforce culture at scale.



I’m eeking my way back into Mastodon. I’ve unfollowed a few and disabled boosts from nearly everyone. Let’s see how it feels.

Adding weather info to DEVONthink’s daily journals

Since I use DEVONthink Pro (DTP) to index and store my notes and documents, I sometimes revisit the idea of using it to create notes.

DTP includes a variety of built-in scripts for creating new content. These are mostly written in AppleScript. I was interested in the Daily Journal” template. By default, running the Daily Journal template would create a new Markdown document containing a random quote and a list of the 4 latest headlines from the New York Times website. I was OK with the headlines, but I didn’t feel the quote was necessary, so I replaced it with the current weather.

This turned out to be simple. I edited the existing script and added a getWeather() function:

on getWeather()
    tell application id "DNtp"
        try
            set theWeather to download markup from "https://wttr.in/90210?0q&format=%c+%C+%t"
        end try
        return theWeather
    end tell
end getWeather

The script calls the wttr.in weather website using a few parameters and that’s it. Here’s what it looks like here today:

⛅️ Partly cloudy +53°F

Then, I replaced the random quote bits in the script so that it now reads1:

set theWeather to my getWeather()
set myNews to my getNews()
set theContent to "# " & theHeadline & return & theWeather & return & return & "# Headlines" & return & return
...

I’m not sure I’ll continue to use DTP for daily journals, but it’s nice that I can tweak it if needed.


  1. I’ve put a copy of my version of the script here↩︎

Saturday, April 29, 2023

Oh good, Bluesky is fast becoming yet another venue for snide insiderism. Just what we need.


Jaron Lanier, on-point as always:

To me the danger is that we’ll use our technology to become mutually unintelligible

Jaron Lanier, The Guardian

(h/t Jim Nielsen)


I unsubscribed from scripting news today because it increasingly feels like Dave’s lost the thread.


Current Mood:


I tried venting using an alt account on Twitter just for shit posting. That’s a terrible way to be and it made me feel gross so I deleted the account.


Whenever someone announces that they Don’t care about…” something on social media you know that they kinda do.