2024.01.01.

Bookmarked “Tofu · Amar Sagoo”

Tofu was designed to help you read text on your Mac.

Text is often very wide, making it hard for your eyes to jump from the end of one line to the beginning of the next. That’s why newspapers have narrow columns: it makes them faster to read. Another problem is that vertical scrolling can be disorienting, as lines of text all look pretty much the same and are hard to track as they move.

Fuck yeah, there is an update to Tofu!

2023.12.26.

2023.12.24.

2023.12.23.

2023.12.21.

2023.12.19.

It is more than funny (and sad) that Electron apps are so bloated now that they can’t even offer a proper universal binary. You have to pick the CPU family on download.

New Hookmark scripts for Reminders

I updated my Reminders/Hookmark integration script recently to make it faster on Sonoma. I also made sure that I have a “New Item” part too, so I can create reminders directly from Hookmark.

The “Get Address” script uses the backing SQLite database to find the ID of the selected reminder by title.

There are some caveats to keep in mind:

  1. We have to replace the remindersDatabasePath property with the proper database path which is different for everyone.
  2. Reminders are matched by title, so if we have multiple reminders with the same title, the script may fail to link the proper one.

Here are the scripts updated for Sonoma:

Get Address

use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions

-- Replace this with your Reminders database path.
property remindersDatabasePath : "/Users/yourusername/Library/Group Containers/group.com.apple.reminders/Container_v1/Stores/Data-some-UUID.sqlite"

tell application "System Events"
    tell its application process "Reminders"
        tell its window "Reminders"
            tell its splitter group 1
                tell its UI element 3
                    tell its UI element 2
                        tell its UI element 1
                            set reminderOutline to first UI element whose selected of UI element 1 is true
                            set theReminderName to value of UI element 2 of UI element 1 of UI element 1 of reminderOutline
                        end tell
                    end tell
                end tell
            end tell
        end tell
    end tell
end tell

set theSQLCommand to "/usr/bin/sqlite3 \"" & remindersDatabasePath & "\" \"SELECT ZCKIDENTIFIER from ZREMCDREMINDER WHERE ZTITLE = '" & theReminderName & "'\""
set theReminderIdentifier to do shell script theSQLCommand
set theURL to "x-apple-reminderkit://REMCDReminder/" & theReminderIdentifier
return "[" & theReminderName & "](" & theURL & ")"

New Item (this one can be a bit slow unfortunately)

tell application "Reminders"
    set theName to "$title"
    set theBody to "$user_link"
    set theReminder to make new reminder with properties {name:theName, body:theBody}
    set theReminderURL to the id of theReminder
    set theReminderURL to do shell script "echo \"" & theReminderURL & "\"|sed 's/x-apple-reminder:\\/\\//x-apple-reminderkit:\\/\\/REMCDReminder\\//g'"
    activate
end tell

theReminderURL

I haven’t tested these on earlier systems.

2023.12.17.

2023.12.12.

Follow-up on Apple and journaling:

I like the Journal app, even if it’s barebones as all 1.0 apps usually are. Since I mostly use default Apple apps, the recommendation feature works well for me.

It is a good base for more advanced features in the future (I guess we see nothing new until the next WWDC).

I’m going to keep Everlog around as an archive though.

2023.12.09.

2023.12.08.

Read “Michael Tsai – Blog – Mac Menu Bar Icons and the Notch”

On my 13” Intel MacBook Pro, the icons reached to about halfway across the screen. On the 14” M3 MacBook Pro, ironically a machine with a larger display, at least 3 icons get hidden.

This “design” (or lack thereof) is so dumb. It is utterly ridiculous to me that this is still how it “works” two years after the introduction of the redesigned MacBook Pro with a notch. How hard could it be to add an overflow menu with a “«” (or should it be “»”?) button that shows the remaining apps and icons that can’t be displayed? This entire situation with the notch is ironic, because the iPhone notch and “dynamic island” are so thoughtfully designed with zero compromises regarding the functionality of iOS. In fact, they actually provide a better user experience. Yet on the Mac, how the notch interacts with macOS is laughably incompetent. It is shockingly lazy regarding attention to detail, and results in an outright disruptive and confusing user experience.

Here’s my current menubar:

I try to keep my less frequently used icons (like Hookmark) on the left because I mostly invoke them from the keyboard anyway. But I hate when Docker gets stuck behind the notch, and I have to quit other apps on the right to get Docker back to the screen.

Apple should do something about this behavior because it’s really annoying. And no, I’m not going to install a 3rd-party app to fix these issues, even if I love its icon.

2023.12.06.

Read “Web Apps Are Better Than No Apps”

Since web apps can’t just use the components provided by the operating system, they have to recreate everything from scratch. And this creates a lot of burden for developers and, I think, lowers the quality floor. Creating beautiful, compelling apps is possible, but it requires so much work. People building native apps get it all “for free”. In fact, this could be one of the reasons Apple still has such a vibrant ecosystem of great artisanal apps since developers can build most things out of nice ready-made components.

Well, yeah!

2023.12.05.

2023.12.02.

2023.12.01.

2023.11.29.

Follow-up on Liked “MailMate”:

I just bought MailMate a couple of minutes ago. It turns out I love to use plain-text email for writing and reading. It’s just way easier to edit my emails in MacVim than to fuck around with the Mail.app compose window.

The Things integration is also pretty cool. I can get the complete plain-text email in the to-do note, which is way more excellent than the jumbled text-fest I had previously parsed by the Things mail service forwarded from Mail.

I’m still developing my workflow around the rule-based smart mailboxes, which are pretty powerful.

I’ll write more about this app in the future.

2023.11.27.

2023.11.25.

2023.11.23.

Publish bookmarks from DEVONthink

  • I’m messing with my bookmarks today.

  • I keep a lot of cool articles in DEVONthink as my central repository, but I also want to share some of these links here.

  • I’m testing a simple workflow for this using a DEVONthink smart group, which shows me all my bookmarks from my Decoding database that aren’t published yet.

  • This workflow desperately needs automation, but I want to start as simple as possible and see how it works in practice.

  • Here’s a demo video.

Liked “MailMate”

MailMate is an IMAP email client for macOS featuring extensive keyboard control, Markdown integrated email composition, advanced search conditions and drill-down search links[…]

Sometimes, I wonder if I should try to use MailMate instead of Mail.app (at least for some specific tasks). It’s an app made for nerds.

I think it’s even have MacVim integration, and still makes emails available in the filesystem instead of closing them away for Spotlight only.

Related

2023.11.01.

Apple and journaling

Jason has concerns about the format of Apple Journal:

Like Apple Notes, the Journal app works without the Files app. Instead of your journal entries being discreet text files or similar that can be managed in the file system, they’re built into the app itself. It might work, like Apple Notes, using a SQLite database within the Journal app container.

I’m also moving into using more open formats for journaling, although I think there is a slight difference between a journal and a diary.

  • Keeping a journal in general is a mindfulness practice for keeping track of what I’m doing throughout the day.
  • Keeping a diary is more personal on the other hand. It helps us to write about our feelings and nice or bad things that happened to us.
    • This is the reason why I like to have the On This Day notification from Everlog in the morning.

Both of these practices provide a clearer picture, bringing us closer to the state of the past than just a simple memory.

Our memories give a false image because we can only remember the good things. This distorts the past and overvalues things that were not as good as we remember.

We can’t trust our memories, but we can trust a diary/journal, since it acts as a bookmark to the past, showing what happened in our lives. It functions as a backward tickler file, bringing things from the past to us. This retrieved information helps us to better understand ourselves in the future. We can see the difference between the past and our current state clearly, which can provide a new perspective on how we handle a current situation.

In essence: both of these practices allow us to compare our present self with our past one and draw conclusions.

So back to Apple Journal…

The only thing I see myself using Apple Journal for is the missing “add a description to multiple photos” app for now.

Sometimes I want to have a short description of an event that is stored in Photos, and since both apps are from Apple, hopefully, the integration will be better than duplicating my photos into yet another app as attachments.

Otherwise, I don’t see myself migrating away from Everlog in the foreseeable future.

2023.10.31.

TaskPaper as an interstitial journal

I mentioned that I want to find a use case for TaskPaper, because I adore the app. Turns out™ it’s actually pretty good at being a journal and an outliner app. I created a new file and started logging today’s stuff. This is what it looks like.

Screenshot 2023 10 31 at 16 32 41

It is a mix between a capture tool, a journaling tool, and a temporary task management tool. Basically the digital replica of my Field Notes notebook.