tinyapps.org / blog

Creating HTML or PDF contact sheets in macOS #

Automator's "New PDF Contact Sheet" action hung on a simple job, but it led to finding MakePDF.app hiding in "/System/Library/Image Capture/Automatic Tasks/" along with "Build Web Page.app":

/mac | Feb 20, 2019

Alternatives to dark mode extensions in Safari #

Unlike Content Blocker extensions like Wipr, dark mode extensions for Safari require extensive permissions (e.g., "Can read sensitive information from webpages, including passwords, phone numbers, and credit cards on all webpages" and "Can see when you visit all webpages").

Safer alternatives include:

/mac | Jan 24, 2019

tree: hide control characters and display Japanese properly #

After installing tree in macOS (brew install tree), running it did not produce the expected results:

$ tree
└── 宮?\216駿
    ├── 1\ 風?\201?谷?\201??\203\212?\202??\202??\202?.iso
    ├── 2\ 天空?\201??\237\216?\203??\203\222?\202\232?\203??\202?.iso

Specifying the character set sadly did not avail, and saving results to a file seemingly exacerbated the problem:

$ tree --charset utf-8 -o list.txt

Partial view of file as it appeared it Sublime Text:

├── list.txt
└── <0x1b>[01;34må®®å´\216駿<0x1b>[00m

The solution was to use the -N ("Print non-printable characters as is") and -n ("Turn colorization off always", which hides the color control characters / ANSI escape codes) options:

$ tree -Nn
└── 宮崎駿
    ├── 1 風の谷のナウシカ.iso
    ├── 2 天空の城ラピュタ.iso
    ├── 3 となりのトトロ.iso
    ├── 4 魔女の宅急便.iso
    ├── 5 もののけ姫.iso
    └── 6 千と千尋の神隠し.iso

1 directory, 6 files

/mac | Jan 15, 2019

"Your account has been disabled in the App Store and iTunes." #

Attempting to download or purchase items in the iOS App Store suddenly began returning:

Your account has been disabled in the App Store and iTunes.
Your account has been disabled in the App Store and iTunes.

Testing in iTunes under macOS returned the same message, though with a thoughtful addendum:

Your account has been disabled in the App Store and iTunes. For assistance, contact iTunes Support.
Your account has been disabled in the App Store and iTunes. For assistance, contact iTunes Support.

Logging in via iCloud.com still worked, so next tried changing payment info via https://appleid.apple.com/account/manage > Payment & Shipping > Edit, sadly to no avail:

Payment information could not be updated. This Apple ID has been disabled, and cannot redeem codes.
Payment information could not be updated. This Apple ID has been disabled, and cannot redeem codes.

Called 1-800-MY-IPHONE. Transferred to "iTunes Support" (for which a direct number was not available, I was told (later discovered that https://getsupport.apple.com offers email, phone callback, and chat support for iTunes)). Instructed to click "Generate PIN" at the bottom of the https://applied.apple.com page and share it with the customer service rep, who kindly resolved the issue (which she said had been caused by the credit card having been replaced following a fraud alert).

/mac | Jan 02, 2019

Last chance to buy a proper MacBook #

Model Base Price Ports Keyboard SSD replace-able? Battery glued? MagSafe 2 Other
MacBook Air (13-inch, 2017) $999

Two USB 3 ports

One Thunderbolt 2 port

MagSafe 2 port

SDXC card slot

3.5 mm headphone jack

In retrospect, the best MacBook keyboard ever


Standard NVMe SSDs work beautifully via Sintech ST-NGFF2013C.

No Yes

Going back to my Macbook Air

MacBook Air. Apple’s best product ever

MacBook Air (Retina, 13-inch, 2018) $1199

Two Thunderbolt 3 (USB-C) ports

3.5 mm headphone jack

Worst. Keyboard. Ever.:

The New MacBook Keyboard is Ruining My Life

Unreliable MacBook Pro Keyboards

The 2018 MacBook Keyboards Have the Same Old Problems

Apple Engineers Its Own Downfall With the Macbook Pro Keyboard

An ode to Apple’s awful MacBook keyboard

No No, but must remove logic board to replace No:

Apple is killing off MagSafe, one of the MacBook's best features

Please Apple, don't kill MagSafe

Why oh why did Apple kill MagSafe?

Apple removed its safest, smartest invention ever from the new MacBook Pros

5 things we wish we could change with the new MacBook Air
MacBook (Retina, 12-inch, 2017) $1299

One USB-C port

3.5 mm headphone jack

No Yes Charge or plug in a peripheral!
MacBook Pro (13-inch, 2017, Two Thunderbolt 3 Ports) $1299

Two Thunderbolt 3 (USB-C) ports

3.5 mm headphone jack

Only with a proprietary SSD Yes

Don't buy the MacBook Pros even on sale, in my opinion

MacBook Pro? No

MacBook Pro board design flaw

MacBook Pro flexgate shows Apple might be losing its touch

MacBook Pro (13-inch, 2018, Four Thunderbolt 3 Ports) $1799

Four Thunderbolt 3 (USB-C) ports

3.5 mm headphone jack

No Yes

/mac | Nov 19, 2018

MacBooks without batteries severely throttled #

/mac | Nov 15, 2018

Best Linux distro for a 2009 MacBook Pro? #

See also Breathing new life into a 2006 MacBook and Apple's New Hardware With The T2 Security Chip Will Currently Block Linux From Booting

With OS X 10.11 El Capitan no longer receiving security updates1, unsupported but otherwise excellent hardware like the MacBook Pro (15-inch, Mid 2009) can be revitalized with Linux.2

After some false starts with the usual suspects (namely Linux Mint 19 (both Mate & XFCE), Elementary 5, Fedora Workstation 26, and Pop!_OS 18.04 LTS), I decided to give Manjaro XFCE 17 a try after seeing it regularly mentioned in HN comments.

After struggling with previous distros, Manjaro was a dream: boot and shutdown times were halved (at least), the boot splash screen displayed properly (rather than just displaying a black/blank screen like so many others), WiFi and video drivers working right out of the box, and there was no screen flickering or taskbar weirdness. In short, Manjaro presented the most polished experience, from start to finish, of the bunch.

However, during install, Manjaro requires creating a password for the root account, which is subsequently enabled. If you prefer to disable it after installation is complete:

$ sudo passwd --status root
root P 10/29/2018 -1 -1 -1 -1

$ sudo passwd --delete --lock root
passwd: password expiry information changed.

$ sudo passwd --status root
root L 10/29/2018 -1 -1 -1 -1


$ su
su: Authentication failure

To reenable root:

$ sudo passwd root
New password: 
Retype new password: 
passwd: password updated successfully
$ sudo passwd --status root
root P 11/01/2018 -1 -1 -1 -1


  1. Why doesn't Apple just come out with an official macOS support policy? It's clearly and consistently been 3 years from release on modern versions, why not share that with consumers? Speaking of which, why not warn them when they are running an unsupported and unsafe version (something even Microsoft, hardly renowned for its stellar consumer support, did for Windows XP)? Within the last week or so, I've had two different people contact me with problems which turned out to be caused by running OS X 10.7 and OS X 10.8 respectively! See also No more security patches for OS X El Capitan, time to upgrade and Apple has released Mojave 10.14.1 update, and Security Updates for Sierra and High Sierra.

  2. There's also Collin's kind patcher collection of course (macOS Sierra Patcher Tool for Unsupported Macs, macOS High Sierra Patcher Tool for Unsupported Macs, and macOS Mojave Patcher Tool for Unsupported Macs) if you don't mind disabling SIP, limited WiFi support, and trusting third-party, closed source software with deep access.

/mac | Nov 01, 2018

# Mojave - Where did DVD Player.app go? #

It's been moved from /Applications/ to /System/Library/CoreServices/Applications/. Due to SIP, "Make Alias" is not available from the Finder's context menu in that directory, nor does the new Make Alias keyboard shortcut (Ctrl+Cmd+A - really, Apple?! Cmd+L does not appear to have even been reassigned!) work.

If you'd like a Finder alias for DVD Player in the Applications folder*, one can be created via AppleScript like so:

tell application "Finder" to make alias file to (POSIX file "/System/Library/CoreServices/Applications/DVD Player.app") at (POSIX file "/Applications")

* To its credit, Apple still provides the "CDs & DVDs" preference pane, which offers an option to open DVD Player when a video DVD is inserted, but some may prefer another action or to launch DVD Player manually to play VIDEO_TS files, etc.

/mac | Oct 23, 2018

OS X / macOS printer drivers #

As reported by Howard Oakley, Apple has stopped maintaining its printer compatibility list and is apparently only supporting AirPrint going forward.

I scoured support.apple.com for the final printer driver versions, preferring to archive them locally rather than rely on Software Update. The inconsistent naming conventions and system requirements sections have been preserved intact:

/mac | Oct 19, 2018

Contacts.app: Batch add existing contacts to group via text file and AppleScript #

tell application "Contacts"

-- Path to file containing list of contacts (one per line) to add to group
set groupList to "Macintosh HD:Users:foo:grouplist.txt"

-- Read lines from groupList
set groupMembers to paragraphs of (read file groupList as «class utf8»)

-- Add each name to a pre-existing Contacts.app group named "Friends"
repeat with i in groupMembers
set aMember to (first person whose (name is i))
add aMember to group "Friends"
end repeat


end tell

-- Any mismatch between names in grouplist.txt and Contacts.app will return an invalid index error along with the errant name, resulting in no names being added to the group.

-- Tested in macOS 10.12 and 10.13

-- Hat tip: mklement0's script and Tetsuro Kurita's AppleScriptHTML

/mac | Sep 12, 2018

Subscribe or visit the archives