Skip to content

macOS

Updated: Find Keyboard Maestro macros by shortcut

Note: Revised on December 4, 2018 with a much better implementation of the pop-up palette, and some changes in timing and mouse movement.

One of the "problems" with Keyboard Maestro is that it's so useful I use it a lot, leading to a large collection of macros. Due to the number of macros, sometimes when I want to add a new shortcut, I can't remember if I've used that shortcut before or not. Today's tip comes in two flavors to address that problem: Simple and Complex.

The Simple solution

Short of just trying the shortcut, there's a way to check from within Keyboard Maestro itself: Type the macro's activation keys into the search box, as seen in the box at right.

You can't do this by pressing the actual shortcut keys—you have to type their character representations. You can do this with the "Show Emoji & Symbols" option under the flag icon in the menu bar, if you've enabled it in the Keyboard System Preferences panel. But finding those few special keys (if you even know how to search for them) is a pain.

Technically, you could also use the pop-up character palette macro I wrote, except there's an issue: When the palette activates, it deactivates the search box, so the characters don't make it there. It's also overkill for this task, because there are characters that wouldn't be part of keyboard shortcuts, and you'd never need the HTML codes, just the characters.

So I wrote what wound up being a set of new macros that make searching for assigned keyboard shortcuts much easier.

[continue reading…]



Easily see any app’s bundle identifier

I occasionally need to help one of our customers get the bundle identifier for a given app, for some purpose with one of our apps. While the task isn't complicated—the value is stored in a file named Info.plist within each app bundle—it's not something that's necessarily easy to explain to someone who doesn't have a lot of Mac experience.

I figured there must be a less-complicated solution, and I was right, though it's probably higher on the geek factor. After some searching, I found this thread at Super User, which offers a number of solutions. The simplest—and always working, in my experience—was the very first one: Open Terminal and run this command:

osascript -e 'id of app "Name of App"'

The "Name of App" is replaced with the name of the app as it appears when hovering over its Dock icon. For Excel, for example, it'd be:

osascript -e 'id of app "Microsoft Excel"'

Run that command, and it returns com.microsoft.Excel, which is just what I need—I just have the customer copy the output and email it back to me.



Fujitsu ScanSnap software and the 64-bit-only future

A fair number of my apps are still 32-bit—see how many you still have—though many I don't really care about all that much. But there's one suite of apps that I use every day, usually multiple times a day: Fujitsu's ScanSnap apps. This is the software bundled with the ScanSnap ix500 scanner.

While Fujitsu has been good about updating their software in the past, I was a bit concerned about the upcoming 64-bit transition. So I both tweeted at them and sent them an email. I haven't seen a reply on Twitter, but a (clearly form letter) reply to my email is at least somewhat encouraging:

There is no problem in the behavior of the application or the OS concerned. The message is only inform that the application needs to be modified for compatibility with next-generation macOS (which should be available near the end of the year). PFU is going to resolve this, but the resolution date is not set yet. In the meantime, please continue using the latest version of the software available.

This blurb was obviously prepared as a response to those complaining about the new 32-bit warning dialog in macOS 10.13.4, but it does seem to address the longer-term question: Fujitsu is planning to "resolve this," which hopefully implies 64-bit versions are in our future, though at some not-yet-disclosed date.

There are very few things in my workflow that I couldn't replace…but replacing my ScanSnap and everything it does for me would be quite difficult. Hopefully we'll see a 64-bit ScanSnap suite before this fall's deadline.



A look at seven years of my Mac App Store activity

The other day while browsing the Mac App Store, I clicked on an app's web site link, only to be greeted with this lovely "Can't Find the Server" error message in Safari…

That got me wondering about just how often that happens—how many apps are out there that are still in the store, yet their developers have closed down their work and moved on to other projects? I thought it might be interesting to look at my App Store purchases and see just how many of them had broken web site links in their App Store entries.

Then I thought that as long as I was looking at each of my purchases, I might as well collect some additional data. So I put together a simple FileMaker Pro database with a few fields for each app…

During my spare time over a few days and nights, I went through every entry in my App Store Purchased list (after unhiding some apps that I'd hidden). I installed them (if they weren't already installed), tried to run them, and completed the above data card for each app.

I then tried to answer some questions about my App Store purchases over the years…

  • How many apps have I purchased? [116]
  • How many do I still use? [35]
  • What types of apps do I purchase? [A variety; lots of games]
  • How many appear to have no-longer-there developers? [5]
  • How many of the apps are still in the App Store? [90]
  • How recently have those apps been updated? [Check the chart]

If you want more detail than the [bracketed tl;dr notes] provide, keep reading…

[continue reading…]



The future of some older games on the Mac App Store

As part of this longer post on my purchases from the Mac App Store over the last seven years, one particular bit really struck me: Based on my purchases, at least, there are a a lot of rarely-updated apps—and games in particular—in the Mac App Store.

Of the 116 purchases (or free downloads) I've made since the App Store opened, 90 are still available in the App Store today. At first glance, that seems pretty good—78% of what I have is still in the App Store. But it doesn't look quite so good if I examine when each of those 90 apps was last updated:

Yes, 51 of those 90 apps (57%) have been updated within the last year, and that's good. But what's not good is that the remaining 39 apps (43%) haven't been updated in at least a year—and of those 39 apps, 21 of them (over half!) haven't been updated in four or more years.

Digging into those 21 apps reveals that four of them are utilities, five are general use apps, and 12 of them are games.

[continue reading…]



My choice for a Quicken 2007 replacement

The coming of "not without compromise" 32bit app usage in the fall 2018 macOS release finally forced my hand: I was going to have to update my single longest-used app, Quicken 2007. I've been using Quicken in some form since 1994, but stopped with Quicken 2007—I found the newer versions worse than Quicken 2007, so I never upgraded.

Yes, I was using an eleven-year-old app to track our family's spending and investments. Why? Basically because it worked (most of the time), and I didn't like any of the alternatives, which I would occasionally test. But Quicken 2007 was showing its age. In addition to its 32bitness, it had other issues: The UI was tiny and horrid, the windows never opened where I closed them (Moom's saved layouts to the rescue!), and online access to my accounts was nearly non-existent. Worst of all, it would crash on occasion, necessitating rebuilding all my data files. It was finally time to find its replacement.

After reviewing lists of alternatives—and asking on Twitter—I focused on three apps: Bantivity, Moneydance, and Quicken 2018 for Mac.

After looking at all three, I surprised myself by deciding that Quicken was the best tool for our use. Going in, I was dead set against it, mainly due to its annual subscription structure. (I hate subscription software in general, but as it turns out, this one isn't really a subscription.)

Read on for brief overviews of each of these three apps (with more detail on Quicken) and my rationale for deciding on Quicken.

[continue reading…]



Quicken 2018’s subscription isn’t really a subscription

When Mac Quicken 2018 was announced as subscription only, I vented on Twitter

"Quicken is now sold on a membership basis."

Screw that—it'd cost me $50/year just for quote downloads, basically. #Quicken2007Forever

However, as part of my work on finding a replacement for Quicken 2007, I discovered that Quicken has done themselves something of a disservice with their marketing: Quicken 2018 is not a typical software subscription, it's more of a traditional model.

Note: For those who aren't aware, Quicken is no longer owned by Intuit; they were bought by an investment bank. That's both good and bad. It's good that they're out from under Intuit's lack of interest in the Mac app, but it's possibly bad in that an investment group only buys a company for one reason: To later sell it at a big profit. However, to profit, you need to provide things people want, so New Quicken should be focused on providing excellent apps.

In a modern software subscription plan, as with Microsoft's Office 365 or Adobe's Creative Cloud, you only have rights to use the software while your subscription is active. Stop subscribing, and you can't use the apps any more. (Though I believe Office will run in view-only mode.)

But that's not how Quicken's subscription works. Quicken's subscription is backed by something they call the Data Access Guarantee, which insures you'll always be able to access your financial data. From that page, with my emphasis added:

…whether you renew your subscription or not, you'll always have full access to and ownership of your data. You can view, edit, export, and manually enter transactions and accounts, even after your subscription ends.

Access to online services, such as transaction download, quotes, and mobile sync, along with access to Quicken Support, will end if your subscription does.

Even if I stop subscribing, I'll be able to continue using Quicken 2018 (or 2019 or whatever) much the same way I use Quicken 2007 today: As a standalone app without access to online services or Quicken's support services. (Note that this doesn't apply to the Starter edition, just Deluxe and Premier. But Starter is very limited; I imagine most users will have at least Deluxe.)

This policy allays my fears about the subscription: If I decide I don't need the online services, I can stop subscribing and still use the app manually. If they had communicated this more clearly up front, I wouldn't have had any qualms with supporting their new approach, nor would I have vented on Twitter.

The ability to continue using the app after my subscription ends allays my main fear with subscriptions: Once you start, you're locked in because you lose the software if you ever stop paying. Thanks, Quicken, for taking this approach.



Find and fix non-searchable PDFs

I use a ScanSnap ix500 scanner to scan a lot of paper into PDFs on my iMac. And thanks to the ScanSnap's bundled optical character recognition (OCR), all of those scans are searchable via Spotlight. While the OCR may not be perfect, it's generally more than good enough to find what I'm looking for.

However, I noticed that I had a number of PDFs that weren't searchable—some electronic statements from credit cards and utility companies, and some older documents that predated my purchase of the ScanSnap, at least based on some tests with Spotlight.

But I wanted to know how many such PDFs I had, so I could run OCR on all of them, via the excellent PDFPen Pro app. (The Fujitsu's software will only perform OCR on documents it scanned.) The question was how to find all such files, and then once found, how to most easily run them through PDFPen Pro's OCR process.

In the end, I needed to install one set of Unix tools, and then write two small scripts—one shell script and one AppleScript. Of course, you'll also need PDFPen (I don't think Pro is required), or some other app that can perform OCR on PDF files.

[continue reading…]



View app-specific log messages in Terminal

March 29 2018 Update:

When this tip was first posted, it didn't work right: The log command ignored the --start, --end, and --last parameters. Regardless of what you listed for parameters, you'd always get the entire contents of the log file. I'm happy to note that this has been resolved in macOS 10.13.4, as log now functions as expected:

$ log show --last 20s --predicate 'processImagePath CONTAINS[c] "Twitter"'
Filtering the log data using "processImagePath CONTAINS[c] "Twitter""
Skipping info and debug messages, pass --info and/or --debug to include.
Timestamp                       Thread     Type        Activity             PID    TTL  
2018-03-30 09:26:15.357714-0700 0xc88a8    Default     0x0                  5075   0    Twitterrific: (CFNetwork) Task <9AD0920A-7AE7-4313-A727-6D34F4BBE38F>.<250> now using Connection 142
2018-03-30 09:26:15.357742-0700 0xc8d7a    Default     0x0                  5075   0    Twitterrific: (CFNetwork) Task <9AD0920A-7AE7-4313-A727-6D34F4BBE38F>.<250> sent request, body N
2018-03-30 09:26:15.420242-0700 0xc88a8    Default     0x0                  5075   0    Twitterrific: (CFNetwork) Task <9AD0920A-7AE7-4313-A727-6D34F4BBE38F>.<250> received response, status 200 content K
2018-03-30 09:26:15.420406-0700 0xc8d7a    Default     0x0                  5075   0    Twitterrific: (CFNetwork) Task <9AD0920A-7AE7-4313-A727-6D34F4BBE38F>.<250> response ended
 --------------------------------------------------------------------------------------------------------------------
Log      - Default:          4, Info:                0, Debug:             0, Error:          0, Fault:          0
Activity - Create:           0, Transition:          0, Actions:           0
$

This makes it really easy to get just the time slice you need from the overly-long log files. You can use s for seconds, m for minutes, h for hours, and d for days as arguments to these parameters.

This article provides a nice overview on interacting with log and predicates to filter the output—there's a lot you can do to help figure out what might be causing a problem.

And now, here's the rest of the original post…

[continue reading…]



Sorting—or not—bookmarks in Safari in macOS 10.13.4

One of the unpublicized nuggets in macOS 10.13.4 is this little doozy in the release notes:

Enables sorting Safari bookmarks by name or URL by right-clicking and choosing 'Sort By…'

This has been a feature request for nearly as long as Safari has existed—Safari was released in January 2003, and I found this MacRumors forum thread from April 2003 asking how to sort bookmarks. So this feature was nearly 15 years in the making!

Sure enough, right click on an entry in your Bookmarks list, and you can sort by name or URL:

I have a junk drawer in Safari where I bookmark stuff that I might someday want. Like a real junk drawer, it gets filled pretty quickly, and sorting the entries is a great way to trim the out of date entries. But when I tried to sort my junk drawer…

…there was no such option available. Stumped for a moment, it struck me that there may be a limit on the number of entries, as that was the only difference between this folder and others. I removed half the entries, leaving 546, but still, no Sort entry in the contextual menu.

After a bunch of back-and-forth moving (which takes some time, when you move hundreds of bookmarks around), I found the limit: 450 entries.


So if you have a large folder of bookmarks in Safari that you need to sort, you'll have to split it into multiple folders, none of which can have more than 450 entries. Weird but true.