Surprise Functionality from a Moribund Product

When I moved to Japan I bought in the US two Sonos Play:1 speakers primarily to play music (Jazz & a martini when I got home) & Audible audiobooks in my living and bed rooms.

And then Sonos lost the ability to play Audible.

Plan B was to get a Play:5 and an Apple AirPort Express, both also from the US, and connect them together via audio cable. This allowed me to fire the speakers via AirPlay from my Apple devices. It worked, but imprecisely and with problems. I unhooked the Play:1 speakers (the problems) and they sat on a shelf for the better part of a year. The Audible audiobooks and podcasts from Overcast mostly worked streamed from my Apple devices. BTW, I had kept up with the developments from Sonos but did not think any of my devices were in scope, so I considered them moribund.

Here’s the thing: I spent a big chunk of my home furnishing budget on those damn “smart” speakers and then doubled down to get them to work. I ended up making many other ill-advised purchasing decisions to cover the sunk costs. Economists will tell you I made at least four incorrect decisions. I will tell you that four seems conservative.

Today I cleaned my apartment. I moved, hid, trashed, and organized many things while waiting for the rain storm that did not come. Part of my big tidying was the relocation of my older technology for repurposing. To do so, unplugging all the things was required including the Sonos Play:5, the one bit of my audio setup (with the AirPort)  still in occasional service.

In fiddling to fix audio problems I checked the Sonos iOS app. An update was pending, which I executed. Surprise, surprise! Suddenly the speaker gained AirPlay 2 functionality! And Audible!

It worked slightly better than the AirPort, so I unhooked its audio cable. Still good. On a whim I pulled the Play:1 speakers out of storage and powered them on. They worked, after upgrades and in the short window in which I tested them, better than they ever had.

I am fortunate to get some new value out of my purchases. These are still early days in the Sonos rehabilitation but I am guardedly optimistic. If they don’t end up panning out I am sure the person who buys them from me will enjoy them to no end with lower expectations.

P.S. – I will think long and hard before I buy another Sonos product. I’ve been advising friends and family to avoid their kit. If this pans out, maybe I will alter my tack.

Also on:

Apple Maps Japan Reboot Start Line

Apple Maps Japan Reboot Start Line:

Here are possible changes I will be on the lookout for:

  • Higher contrast cartography with better Japanese text labeling
  • Less map vomit: default view with far fewer, better designed icons and 3C icons reserved for map search
  • Intelligent indoor mapping for major Japanese stations
  • 3D mapping that doesn’t obscure surrounding map information
  • Traffic, Lane Guidance, Speed Limits and other missing iOS features of Apple Maps Japan
  • More Apple collected Japanese map information with missing pieces proved by top tier JP map supplier Zenrin. The less 3rd rate 3rd party JP map data from Yelp, Foursquare and IPC the better
  • Destination check lists: smart transit information that updates on the fly and lets me set more than one destination

It will be slow but slow, constant intelligent updates will get Apple Maps Japan where it needs to go and finally deliver a good service for Japanese iOS customers.

(Via Ata Distance)

Also on:

Agenda for iOS & macOS seems very Orgmode like in approach

Agenda for iOS Review

Agenda … is one of the most interesting note-taking apps I’ve used. The app is simultaneously structured around projects, like a task manager, and dates, like a calendar app.

What makes Agenda a little bewildering at first is its use of dates and projects, which sometimes makes it feel like a calendar app and other times like a task manager, even though it’s neither. The app doesn’t try to force you into a predefined system. Instead, Agenda gives you multiple ways to organize and view your notes through tagging, filtering, sorting, and searching. The upside is flexibility that should accommodate almost anyone’s workflow. The downside is that it can take time and experimentation to discover how it can work for you.

(Via Mac Stories)

The parallels with Orgmode are, at least to me, obvious and surprising in a good way. I played with Agenda on iOS. The metaphor was a visual analog to how I use (or, more correctly, strive to use) Orgmode for Getting Shit Done.

Hmmm … I wonder how long until there’s a way to integrate the two …

Finder’s Stationery Pad Feature – How Is This Not More Well Known? →

Finder’s Stationery Pad Feature – How Is This Not More Well Known? →:

Tim Hardwick, writing for MacRumors:

Stationery Pad is a handy way to nix a step in your workflow if you regularly use document templates on your Mac. The long-standing Finder feature essentially tells a file’s parent application to open a copy of it by default, ensuring that the original file remains unedited.

Follow the link for a way to set any file on your Mac to be a template file, so you don’t overwrite it. I don’t feel bad for not knowing about this trick, since I’ve never heard it discussed, and since the name doesn’t really describe what it does. On the other hand, I feel stupid for never wondering what that checkbox does. This will be very handy for automation tools like Keyboard Maestro.

∞ Permalink

(Via 40Tech)

Pretty useful feature I may have to play with more.

Send a Link from iOS to any macOS browser

Over on there’s an article on how to sling links from your iPhone (or an iOS device) to your Mac.

The author is one of the developers of a tool I use daily. It’s called Bumpr [App Store], and it lets you chose any of your installed browsers to open a given URL.

The other bit of this recipe uses AirDrop, a utility built into Apple’s operating systems. This is a bit of tooling I’ve never used. Essentially I forgot the thing even exists.

Step one is to install the afore mentioned Bumpr utility on your Mac. 

Also on:

Using the hosts file for system-wide ad blocking


There are potential issues with web site functionality, ethics, and breaking your OS if you follow the below steps. Your Mileage May Vary. If you break something or find yourself in existential anguish over the moral implications of this recipe (see Ethics, &c. below), they are totally on you.


I take a “defense in-depth” approach to security. While I use ad blocking add-ons in my web browsers and often use text-only browsers to reduce the attack surface, they don’t help for other apps. Here is how I keep my hosts file updated for another layer of ad blocking on my hosts.

First, we need to get the latest version of an ad blocking hosts file. I get mine from

cd ~/Downloads

Then we need to calculate the difference between the system’s current hosts file and the one we downloaded.

diff -ud /etc/hosts hosts.txt > hosts.patch

Let’s back up the hosts file including permissions in case we make an error.

sudo cp -p /etc/hosts hosts.bak

Next, we apply the patch to the hosts file as root.

sudo patch -b /etc/hosts hosts.patch

Finally, we need to refresh the DNS cache to reflect the changes.

sudo killall -HUP mDNSResponder && echo macOS DNS Cache Reset

If you find something is wrong with your host or your soul, you can revert the change.

sudo cp -p ~/Downloads/hosts.bak /etc/hosts

… and then re-execute the DNS cache refresh command just above.

For Windows hosts, download the file from the above link. It includes a batch file to automate the process.

For GNU/Linux, BSD, and Unix hosts something similar to the macOS instructions will work for you.

Ethics, &t.

Many will argue that this type of system-wide ad blocking is unethical up to and including theft. This is a valid argument. However, I do subscribe to the sites and services I value the most, such as the New York Times & Japan Times for home delivery(!), magazines like the Atlantic, and websites like the Brooks Review.

There are security risks, privacy concerns, and system performance issues that are equally valid. And some ads (auto-playing videos, anyone?) consume an inordinate amount of bandwidth at additional cost to me when I am on a metered network. These tip the scales toward blocking, in my humble opinion.

Once ad networks and the sites that use them prove their commitment to effective security practices, exhibit proper security hygiene, and respect users’ privacy by default I will reconsider my approach.

Please feel free to comment constructively. Don’t be evil.

Also on:

How to Add a Recent or Favorite Items Stack to Your Mac’s Dock

I love this tip for adding a Recents stack to macOS:

Most users are aware that you can drag any folder into the right-hand side of the Dock to turn it into a stack, but the following lesser-known trick creates a unique stack type containing your most recently opened applications, documents, or servers.

Alternatively, you can also set this unique type of stack to show the Favorite folder locations and Device links that appear in your Finder’s sidebar.


This saves me time, especially when dealing with MS Office files. I work with several to dozens in a day, so having this stack instead of relying on the built-in Powerpoint or Word, &t.functionality makes a noticeable difference.

Now, if I could just trigger and navigate it with the keyboard …

Anyway, open a terminal window and enter the following:

defaults write persistent-others -array-add '{"tile-data" = {"list-type" = 1;}; "tile-type" = "recents-tile";}'; killall Dock

The stack should appear on your Dock. Right click it and tailor it to your needs. Please note:

Note that you can change the number of items shown in a recent items stack in the following way: Click the Apple () logo in the menu bar, select System Preferences…, open the General preference pane, and choose another number from the Recent items dropdown menu.


Also on:

SSH keys & macOS High Sierra Keychain

I struggled figuring out this little gem. I will spare you my journey to resolution. Suffice to say the process is easier than it seems and High Sierra will dymanically load the required keys as you access systems.

Here’s a simple post of what worked for me:

-1. Don’t execute a ‘ssh-add -A’ at any point in this process. A lot of advice recommends this at various steps. It is not needed in my experience.

  1. Edit or create $HOME/.ssh/config, adding the following lines:
Host *
AddKeysToAgent yes
UseKeychain yes

If you already have a config file, add the two lines ending with ‘yes’ to the ‘Host *’ section. If you have different keys for different destinations, make sure you specify them in the host definition sections that should come before the ‘Host *’ definition. If you don’t know what I’m talking about, these exceptions don’t apply to you.

  1. For each of your private keys on your macOS host, do the following from the terminal:
/usr/bin/ssh-add -K $HOME/.ssh/id_dsa

… where ‘id_dsa’ is the name of each of your private key files, one file per command. The important part is that the ‘ssh-add’ command needs the full path to the private key files. If you get an error on the ‘-K’ option, try dropping it.

  1. Open your keychain properties on your macOS host and search for ssh. The keys you added should be listed with their full paths.
  2. From the terminal, execute the following:

/usr/bin/ssh-add -l

… to list your keys. It should return none of your keys. This is expected.

  1. SSH to a destination host that already has your public key in the $HOME/.ssh/authorized_hosts file. It should work.
  • Back on your macOS host, again execute the following:

  • /usr/bin/ssh-add -l

    At least one of your keys added above should be in the list.

    This is an imperfect recipe. My MacBook Air is otherwise unavailable so I am working off of memory. I will replicate this on my home Mac Mini and edit this post for accuracy as I go.

    Also on:

    Remapping Enter to Control?

    I don’t know if I buy this as useful, but cool that it’s an option:

    That’s actually even better than what I had originally suggested, as here it’s also suggested to use CapsLock with a dual purpose as well – Control when held down and Escape otherwise. I have no idea how this never came to my mind, but it’s truly epic! A crazy productivity boost just got even crazier!

    From <a href=””></a>

    PSA: Importing the OS X Path into Emacs

    PSA: Importing the OS X Path into Emacs:

    The exec-path-from-shell package is a must-have for the OS X Emacs user. Before I found it, I could never get the search path for Emacs configured correctly. Once I installed it, all those problems disappeared and I haven’t thought about them since. Really; if you’re using Emacs on a Mac, you need this.

    (Via Emacs – Irreal)

    Here’s the recipe from my config:

    (when (memq window-system '(mac ns))
    (use-package exec-path-from-shell
    :ensure t
    ) )

    Since I use the same config on multiple OSes the opening line makes sure it only installs on a OS X/macOS host.