How to selectively run Keyboard Maestro macros in a synchronized environment

A challenged I’ve always faced in running Keyboard Maestro on multiple Macs, is the maintenance of macros that are common to all, i.e. when updating a macro on one machine (say, changing the API keys of a service I’m accessing), I have to remember to go make the same updates on the others.

Keyboard Maestro provides a solution to this problem, by allowing you to synchronize your macros across multiple machines. Their implementation, however, and in contrast to say, Hazel’s folder-scoped implementation, is all or nothing—meaning that you can’t have macros on one machine that don’t exist on the others. And that can become a problem, especially with macros that are scheduled to run periodically.

Keyboard Maestro provides two approaches to address this problem:

The first is the ability to, for any given group (folder) of macros, to click, “Disable on this Mac”.

Unfortunately, there’s a number of shortcomings to this option. For example, anytime you add a new group of macros to a given machine, you have to remember to potentially go around disabling them on the others.

The second approach, and better in my opinion, is to condition the execution of any macro on the UUID (universally unique ID) of the machine on which the macro is running. Here’s an example of how this works.

The first step is to maintain a macro that determines the UUID of the current machine, and defines a list of named UUIDs for machines you’ll later be referencing. I run the following macro daily, and whenever I add a new machine, I’ll add its UUID to the list of named machines by temporarily running the disabled action that copies the current machine’s UUID to the clipboard.

With this in place, I can now condition the execution of other macros by machine. The following is an example of a macro that runs daily, and quits FaceTime on my MacBook Pro.

If I wanted this macro to run on two machines, I could add a second UUID check, and change the condition to “any”.

While this approach requires additional effort in creating your macros, it provides big benefits in being able to manage from a single machine, the conditioned execution of macros on all of your machines.

How to perform a currency lookup in a Numbers spreadsheet

Apple recently introduced in the Numbers spreadsheet the ability to pull live stock prices from the internet, making it now possible to track portfolio performance.

To access this feature, you use the STOCK function:

Since the feature pulls data from the Yahoo finance service, the symbols you should use for reference are those used at Yahoo. For most stocks that I’ve come across, the symbols are the same as those used at Google, but they do seem to vary slightly for non-US stocks and currencies.

To track the Euro/USD exchange rate, the symbol used at Yahoo is “EURUSD=X”, but using this symbol in the Numbers STOCK function returns an error. The solution, as I found in this discussion at Apple is to use the CURRENCY function:

My awful experience installing Windows 10 in VMWare Fusion 8

In reviewing Lance’s performance at the Spanish national championship this past weekend, the GM trainer from Andalucia strongly encouraged us to buy “ChessBase” as a tool to keep up with the latest in opening theory. Since Lance already runs Windows 7 in VMWare Fusion—in order to run PlayChess and TeamSpeak—I didn’t expect there to be any issues installing ChessBase (which is only available for Windows.)

I was wrong. Trying to install ChessBase in Windows 7, I got an error that some C++ runtime was missing. I downloaded the runtime from the link included in the error message, but it wouldn’t install either.

Not wanting to waste time on all this, I figured the best way forward would be to just update to the latest Windows—i.e. Windows 10. And so began the following nightmare:

  1. When you go to the Microsoft store to buy Windows 10, you’re presented with three options—(1) Free upgrade for Windows 7, 8, or 8.1 (2) Buy Windows 10 (Download), and (3) Buy Windows 10 (USB – English). (I’m not sure why “English” is listed on the USB option…)
  2. Here’s what you see when you click the free upgrade option—a screen that suggests you buy a new PC, and provides zero information about how to upgrade. Heavy sigh, but having to jump through hoops to get something free didn’t strike me as surprising.
  3. Again not wanting to waste time, I decided to just buy the thing. And the purchase process turned out to be a lot more straightforward than the free upgrade process, as expected.
  4. After my purchase, I had to choose which version to download: Windows 10, Windows 10 N, Windows 10 KN or Windows 10 Single Language. Of course, there’s no explanation of what the differences are, so I just rolled the dice and chose the first.
  5. Then you have to choose “Home” vs “Pro”. Again, no explanation of the differences, so I just chose “Home”.
  6. Then you have to choose 32-bit or 64-bit. You’d think Google could help with this, but not really. Rolling the dice again, I just went with 64-bit. Bigger is better, right?
  7. I was then given a download link to an .iso file, and product number. I downloaded the .iso file, and used it to start the process of creating a new VM in Fusion 8. Fusion asked for the username, password and product number—all of which Windows later asked for again.
  8. When the Windows 10 installation window opened, it asked for the product number. I entered mine, and was told the number was invalid. Of course. After a bit of Googling, I learned that you actually don’t need a product number to install Windows 10 (Was my purchase for nothing?) so I clicked, “I don’t have a product number”.
  9. The next screen asked if I want to do an “Easy Install” or a “Custom Install”. According to Google, one shouldn’t touch the Custom Install!
  10. Clicking “Easy Install” led me to a screen saying that I’d booted my Windows machine from “Windows Installation Media”, and that I needed to disconnect that, reboot windows, and then re-insert the media when prompted. WTF!?! Now, you would think that somebody else would have ran into this, and you’d also think that VMWare Fusion themselves would have run into this while installing Windows 10, but the internet offers no solution to this problem.
  11. In desperation, and feeling I’d hit a complete dead end, I decided to give the dreaded “Custom Install” a try. I clicked that, surprisingly wasn’t asked to make any custom choices, and the Windows 10 installation proceeded to complete successfully. Un-believ-able.
  12. In order to get reasonable integration with your Mac, the first thing you have to do when a new VM boots is install “VMWare Tools”. Unfortunately, for me, the “Install VMWare Tools” menu item was grayed out. Google said the problem is that VMWare Tools requires a virtual CD-ROM device to be attached. (Why on earth?!?…) Unfortunately, in my case, there was no way to add a CD-ROM to the VM, because neither my MacBook Air nor Lance’s iMac have a physical CD-ROM! Trying to add one anyway using the “Auto-Detect” setting led to a boot error, “Can’t attach to the Sata 0.0 device”. And again, unthinkably, neither the VMWare website nor Google could seem to help!
  13. The solution, as I eventually discovered, was to manually download VMWare Tools (which of course comes with no README; just a bunch of .iso files), attach the Windows 10 VM’s CD-ROM device to the “Windows.iso” file included with the VMWare Tools manual download, boot the VM, and then install VMWare Tools manually from the attached “virtual CD-ROM”. Apparently, this was only needed on the first installation of VMWare Tools, and that in the future it’ll be able to upgrade itself without a virtual CD-ROM attached. We’ll see…

At this point, almost five hours later, I could finally install ChessBase under Windows 10, and provide it access to our shared network device.

To me, it seems absolutely crazy that it hasn’t occurred to anyone at VMWare to write up a tutorial documenting what I imagine is a common use case of someone wanting to purchase Windows 10, and then create a Fusion VM, with VMWare Tools installed.

Update—After posting this article, a couple other observations came to mind, illustrating just how crazy this Windows world is:

  • When you install MacOS, you’re shown a progress bar. The progress might not be accurate, but at least you’re shown the visual indication that something is happening. When you install Windows 10, you get a screen that shifts between dark and light blue (is it breathing?) and says, “We’ve got some great features waiting for you.” It’s not really clear that something is going on in the background. In fact, at some point, I clicked the screen just to make sure it wasn’t waiting for me to do that to continue!
  • The biggest hilarity happened when installing ChessBase. The first time you launch the app, it asks you to enter its product code. That’s normal. What’s not normal, though, is that it also asks you to respond, on the same screen, to a CAPTCHA! Can you imagine? An installer with a CAPTCHA! But it gets worse. All the letters in the CAPTCHA are capitalized, and the input field auto-capitalizes whatever you type in, which, OK, seems to make sense if they want to remove case-sensitivity from the operation. But here’s the thing—if you type in a lowercase letter, even though it gets upper-cased in the input-field, the lower-case letter gets sent to the validation, and IT IS case-sensitive! So even though it looks like you’re submitting an upper-case letter, you’re not! Insane!

How to switch wifi networks with Keyboard Maestro

In a recent blog post I explained how I secure my home network with a VPN. In that article, I also explained how I enabled external access to my home network, using the Slink software running on a Mac mini server, whose primary network interface is wifi connected to my ISP router, and second network interface is ethernet connected to my home gigabit switch.

This setup works great, but it did require solving a tricky problem:

My home wifi network (created by the AirPort Extreme) is called “Hacienda”, and the wifi network created by the ISP router is called “HaciendaOlive”. Since I want all my home devices connected to Hacienda, that network is given first priority over all other known networks on my iPhones, iPads, etc.

The problem is that that network priority list propagates to the Mac mini (and all my devices) via iCloud, and so anytime there’s a network interruption or the machine reboots, the Mac mini connects to the Hacienda wifi network (instead of HaciendaOlive)—which of course kills my external access to that machine.

What I need is that the mini, and only the mini, has HaciendaOlive set as its highest priority wifi network. But this doesn’t see to be possible, unless I’d be willing to disable iCloud on that machine.

My solution to this problem was a Keyboard Maestro macro which runs every five minutes, checking whether the computer is connected to the HaciendaOlive network, and if not, switching it to that network. This required researching some obscure AppleScript code, and so I thought I’d post the macro here for the benefit of others searching for how to switch wifi networks using Keyboard Maestro. The blurred text in the image, is the wifi network password.

Enjoy!

How to protect your home network with a VPN router

In this article, I describe how I added security to my home network by installing a router that directs all internet traffic through an encrypted VPN connection. The adventure includes my experience with the FlashRouters company, the Tomato router firmware software, an OpenVPN connection to the Cloak network, the Linksys E2500 router and the Netgear Nighthawk R7000 router.

Continue reading How to protect your home network with a VPN router

The importance of external bootable backups

This morning I posted an article about some CrashPlan-related issues discovered when migrating my wife’s dead iMac to a new machine. Another lesson learned in that situation was about the importance of external bootable backups.

My wife’s old iMac, dating back to 2011 I believe, had an internal 256GB SSD and a 1TB internal hard drive. Back in the day, I thought I could improve her desktop tidiness by doing without an external drive, and creating a 256GB partition on that 1TB drive, for the purpose of maintaining a bootable backup.

What I didn’t consider at the time is what actually happened last week—green bars suddenly appeared on her screen, followed by a shaking and shifting of the image, increasing in frequency until the whole screen went white—and the machine shut down. And then upon reboot, the whole ordeal would start again!

Evidently the machine was dying, and it occurred to me then that the only bootable mirror I had for migrating to a new Mac was the hard drive inside that dying iMac!

Since the bulk of the computer’s files lived on the other portion of the 1TB drive, managed by BitTorrent Sync, the start drive itself contained relatively little data. So I had hopes that I could keep the machine booted long enough for Carbon Copy Cloner to mirror the startup drive to an external USB drive. Lucky for me, after a third reboot, the machine stayed up long enough—barely!—for CCC to finish its backup. The machine repeated its meltdown literally seconds after the backup completed.

Lesson learned: Always maintain an external bootable backup of important machines!

Mac OS X — admin vs wheel group (and how that affected CrashPlan)

Last week my wife’s four-year old iMac died. When the new one arrived, I set it via migration in the form of a USB-connected drive containing a mirror of her old system.

After booting up the migrated machine, I ran into an issue in which the CrashPlan app wouldn’t start, and the menubar app reported “Can’t connect to backup destination”. I tried running the CrashPlan uninstaller, and then doing a fresh install, but unfortunately it didn’t help.

Checking the console, I found messages reporting that the file “.ui_info” couldn’t be found in the directory /Library/Application Support/CrashPlan. Which was strange, since I could clearly see that file existed in a Terminal directory listing.

What I also noticed was that the CrashPlan directory was owned by the “wheel” group, while most of the other directories in Application Support were owned by the group “admin”.

I then tried manually deleting the CrashPlan directory in the Terminal, and running the CrashPlan installer again. This time, the CrashPlan directory was owned by the “admin” group—and, consequently, the CrashPlan app successfully started up.

This experienced prompted a couple of observations:

  1. Even when authenticated by an admin user, the CrashPlan uninstaller was unable to remove its CrashPlan directory in Application Support.
  2. A fresh install of CrashPlan didn’t set the correct group ownership of the CrashPlan folder in Application Support, which led to the app being unable to start.
  3. I have the impression that the “wheel” group may have been deprecated at some point in the OS X evolution, but still getting passed on from machine to machine in migration upgrades. I wonder whether it would be a good idea, or even safe, to do a global change of anything on the computer owned by “wheel”, changing it to “group”?

If you know the answer to the third, please let me know in the comments. Thanks!

How I migrated my snippets from TextExpander to Keyboard Maestro

TextExpander is a Mac utility for creating auto-expanding text shortcuts—“snippets”—that can save you time on things you repetitively type, such as email signatures, your telephone number or boilerplate responses to support emails. With version 6, Smile decided to move away from paid upgrades, to a subscription plan that would cost roughly $5 per month. The move was controversial, a situation which is well documented at Michael Tsai’s blog. I’ve been using TextExpander for 10 years, but decided against continuing with a subscription plan.

Continue reading How I migrated my snippets from TextExpander to Keyboard Maestro

Need to remove PGP Whole Disk Encryption from a Mac

In dire frustration, I just posted the following to the Symantec forums:


I have a mid-2011 iMac, with an SSD startup drive. At some point during the lifetime of this Mac, I installed—and thought I uninstalled—PGP Whole Disk Encryption. Certainly the startup drive has not been encrypted for years.

It’s now 2015, and I can’t upgrade this Mac to OS X 10.11. When I try to reboot the machine after an upgrade, the strike-through circle is shown, indicating that there’s no OS installed. The problem, I’m discovered, is related to this:

Apparently, the startup partition is of a scheme type:

com_pgp_wde_GUIDPartitionScheme_v2

Trying a clean install, I’ve determined that no combination of disk formatting or re-partitioning using Apple’s Disk Uitilities can fix this. It seems the disk is instrumented with WDE in a way that simply can’t be removed.

Trying to get this solved through Symantec support is a nightmare — the support portals have been migrated so many times since 2011, that the account information I see when logging in makes no sense. And just like the work-flow for posting in this forum—PGP for Mac isn’t listed, and I have no idea what “community” to choose—all of Symantec seems designed for large corporation IT departments, rather than individual consumers.

The last PGP product I owned, was licensed back in 2011.

I’m hoping with this post, that someone here might be able to help me figure out how to get PGP definitely off this drive, so that I can upgrade the operating system. Thanks so much in advance.

Best regards,

Matt Henderson


Update — Symantec support on Twitter hooked me up with a great support engineer at Symantec named Mike Ankeny. His suggestion was:

  1. Boot to the OS X installer.
  2. Open the terminal utility.
  3. Run the following command in terminal: fdisk -u /dev/disk0
  4. Install OS X or restore from backup.
  5. Boot the system.

Can clarified that the reason for doing this was:

That command is actually going to rewrite the entire boot sector. The partition showing as com_pgp_wde_GUIDPartitionScheme_v2 is a false positive. The actual issue comes from an incomplete uninstall of PGP. The boot partition still retains some PGP flags, which try to redicrect the boot to the PGP configuration files, which no longer exist, so no operating system is found. Even though new boot information is written to the disk, the PGP data stuck in there gets in the way. A standard reinstall of OS X does not clear the boot partition first. After clearing the boot sector and reinstalling OS X, you should be back to a normal partition scheme.

I tried this, and ran into an error:

Could not open MBR file /usr/standalone/i386/boot0: 
No such file or directory. Do you wish to write new MBR? [n]

I answered the second with “y”, hit return, and was returned to the prompt. Running the fdisk command again resulted in the same thing. All my data remained on the disk, and so it seems nothing was done to the disk.

So I’m waiting for Mike to follow up.

How to create a kill-switched VPN on Mac OS X with Little Snitch

In this post, I describe why, after years of using the wonderful Mac/iOS VPN product, Cloak, I’m experimenting with an alternative approach, that combines Private Internet Access (PIA) and Little Snitch. (2015-08-28 — As mentioned in an update at the end of the article, I’ve actually now switched back to Cloak, but using Little Snitch as the kill-switch.)

Continue reading How to create a kill-switched VPN on Mac OS X with Little Snitch

Feature request for 1Password — Provide PIN opening on TouchID enabled devices

The passcode to unlock my 1Password keychain is long—very long—and typing that in on an iOS device is time consuming and error-prone.

Fortunately, Agilebits provides two short-cuts:

  1. For iOS devices that support TouchID, you can open 1Password simply through recognition of your fingerprint, in the same way you unlock the device itself.
  2. For iOS devices that do not support TouchID, 1Password allows you to set a four-digit PIN that can be used to unlock 1Password after you’ve initially authenticated once with your passphrase. This option remains secure, in that you only get one chance to enter your PIN; if entered incorrectly, the app again requires full authentication with your passphrase.

Either from having naturally sweaty fingers, or living in a humid, costal environment—or a combination of both—TouchID does not reliability work for me. In fact, it only works about 10% of the time I try to use it. From scan-setup of the same finger multiple times, to complete resets, I’ve tried every recommended approach to improve TouchID—but all to no avail; it simply doesn’t work for me.

As a consequence, while 1Password is usable for me on my iPad mini via the PIN mechanism, it’s awful to use on my TouchID-enabled iPhone 6. Every time I need to open 1Password, I have to type in that very long passphrase.

For that reason, I wish that 1Password would offer the PIN access mechanism on TouchID devices, as an option.

Speaking with the support staff at Agilebits, they’ve communicated that this isn’t possible, because the current implementation is to offer TouchID on supported devices, and fall back to offering PIN access on devices that don’t. But that’s just the way it’s currently implemented; there shouldn’t be any technical reason why 1Password couldn’t offer both options on TouchID devices.

I understand that I’m in the minority, and that for most people, TouchID works just fine. And I know that many product decisions are made considering trade-offs related to the size of affected groups. My hope, however, is that the people at Agilebits can consider that the cost in usability of this particular problem, for those in the minority like myself, is huge, and creates a situation encouraging the use of a shorter, less-safe, passphrase.

And perhaps considered in that light, they’ll add both options to 1Password running on TouchID devices as well.

Should I restart my Mac each day?

I transport my MacBook Air daily between home and the office—closing the lid to put it to sleep, and opening the lid to wake it. Twice per day, every day.

I’ve always hoped that the Mac OS is designed to handle these interrupts gracefully, but I’m beginning to wonder. It seems that each time I restart my Mac, I see evidence that things are getting suspended or stuck—Carbon Copy Cloner alerts me to the fact that my backups haven’t run in a while, HazelHelper starts posting literally thousands of notifications, OmniFocus alerts me to 900 items that need archiving, and even the visual appearance of icons on the desktop change.

So I’m beginning to wonder whether I should get in the habit of just restarting the machine every day.

Inconsistencies and irritations in Mac OS X Photos

Just wanted to document a number of additional annoyances I’ve run across in using Photos.app on Mac OS X.

No feedback when violating sharing constraints

I’ve selected all the photos in an album, and would like to upload them to Facebook. Clicking the Share icon, here’s what I see — no Facebook!

I probably spent 20 minutes trying to track down how I’d somehow messed up my Mac’s Facebook account configuration. After finally confirming that Facebook is properly configured on the machine, I then turned my attention back to Photos, and ultimately figured out the problem — Photos limits you to sharing a maximum of 50 photos at a time to Facebook.

Selecting less than 50 photos and clicking the Share icon, Facebook reappears:

Heavy sigh. Whether this limitation comes from Facebook, or somewhere else, it would be useful if the Photos UI would somehow communicate that I’ve violated a Facebook sharing constraint, rather than simply hiding the option.

Inconsistencies in share processing

Here’s what happens when I share photos to Flickr — After configuring and confirming the sharing modal, Photos.app spawns a progress window, and let’s me get back to working in the app.

Now, here’s what happens when I share photos to Facebook — After configuring and confirming the sharing modal, the modal remains active while uploading — blocking continued usage of the app and providing no information at all about the state of progress.

In fact, the first time I experienced this, I just assumed that the app had gotten stuck, force-quit it, only to later discover 20 or so photos had been uploaded to Facebook!

I can’t think of any reason for the difference in share handling between Flickr and Facebook, but the inconsistency is certainly confusing.

Why the Flickr Mac Uploader needs to stop auto-creating albums

Recently, Flickr introduced a Mac Uploader application, promoting the idea that with 1TB of free storage, Mac users could now store a copy of all their photos at Flickr, conveniently and automatically. In the interest of redundancy, I installed the Mac Uploader, and pointed it to the “Photos Library.photoslibrary” package file that’s managed by Photos.app.

Soon afterwards, I discovered a potential show-stopper in my use of the Flickr Mac Uploader—it auto-creates a Flickr album for every sub-folder it finds within the local folders it monitors. So today, in this tweet, I mentioned that if Flickr do not change this behavior, I’ll have to stop using the Uploader.

The folks manning the lines at @FlickrHelp responded in a way that would suggest that they do not understand the distinction between how people locally manage their photos, and how people want to use Flickr.

Flickr needs to understand the following:

  1. People commonly store their photos locally in a folder hierarchy. That folder hierarchy contains all their photos.
  2. People commonly use Flickr as a place to create a curated set of albums. These curated albums represent a subset of the person’s photos.

FlickHelp’s response would suggest that their expectation is that all my photos are stored locally in one big, flat folder.

In my case, within Photos.app on my Mac, I organize my photos into albums like, “2015-06 Trip to Granada”. At the filesystem level (inside the package file), Photos.app then stores the Master files in a sub-folder with the same name.

Historically, after organizing my new photos in contextually logical albums in Photos.app, I’ve always then selected a curated sub-set of these photos—generally no more than 30—and uploaded just those into a new album at Flickr, for personal enjoyment and sharing.

So whereas my local photo storage contained all my photos, Flickr has always been the place for just the best.

But the problem now is that the Flickr Mac Uploader sees all these sub-folders created by Photos.app in its local storage, and then auto-creates albums at Flickr, completely breaking the fundamental purpose for which I’ve always used Flickr. Now, my Flickr albums now containing all my photos, instead of just the best!

Hopefully this now explains the situation, and hopefully this makes its way in front of whoever at Flickr has the authority to make a change, and remove the behavior in the Mac Uploader of auto-creating albums, or at least provides a preference to disable that behavior.


Update — Having read my article, the folks @FlickrHelp replied with a suggestion that I point the Flickr Uploader to a folder called, “Best”:

I get that they are trying to be friendly and helpful, but after reading this, I’m now almost certain that the people behind @FlickrHelp neither manage their own photos, nor use the Flickr service. In a nutshell, here’s what he (or she) is suggesting:

  1. I create a local folder called, “Best”, and point the Flickr Uploader to it.
  2. Within that folder “Best”, I create sub-folders for the albums I want in Flickr.
  3. From within Photos.app, I export the photos I want in Flickr to those album sub-folders in my “Best” folder.
  4. Flickr Uploader then uploads those photos, creating my desired albums.

And here are the two obvious issues that anyone familiar with photo management and/or Flickr would immediate understand:

  1. This suggestion kills Flickr’s own promoted benefit, of putting all your photos in the service.
  2. If I only want a subset of my photos in Flickr, using the on-demand Flickr uploader that’s built into apps like Photos.app would be infinitely more convenient than the process described above!

Initial impressions of the Overcast podcast app

Since starting to listen to podcasts a few years ago, I’ve always used the Instacast app. Recently, though, I decided to check out Overcast, by Marco Arment. Having used Overcast for about a week now, I’ve collected some observations and initial impressions.

Continue reading Initial impressions of the Overcast podcast app

Auto-creation of albums in Flickr uploader for Mac

For years, my photo management workflow has involved:

  1. Importing my photos into whatever Mac application I was using at the time—beginning with iPhoto, then later Aperture, most recently, Photos.

  2. Organizing those imports into a chronological folder structure of events.

  3. For those really special events, selecting a sub-set of edited photos (usually less than 30) and uploading those into a new album at Flickr.

<

p>And so Flickr was the place that contained our family’s collection of publicly accessible, carefully curated photo albums.

Recently Flickr rolled out a new auto-uploader utility for Mac. Like many people, I decided to take advantage of the free terabyte of data Flickr now offer, and use the uploader to monitor and upload all photos from my Photos library. By default, all uploaded photos are marked private, and so I figured this system would serve as a good backup of my photo library.

After uploading some 30,000 images, however, I discovered a huge problem: The Flickr uploader created a new Flickr Album for every single folder of photos I’ve ever created in the above-listed Step 2.

So now, instead of a carefully curated set of perhaps 100 albums at Flickr, I now have over 1,400!

The situation is made worse:

  1. There’s no way to select multiple albums for batch-deletion.
  2. There’s no way to auto-arrange albums alphabetically in Flickr. So I now have albums with names like “1998 Nepal” listed ahead of albums like “2010 Trip to San Francisco”, and the only way to correct this is to manually drag the album around within the “Organizr” interface.

I recognize the convenience in auto-creating albums, and so I can’t really complain that Flickr chose to do that. But for goodness sake, Flickr, please improve album management, so that I can reasonably clean-up the particular mess I’ve found myself in.

Search for the elusive, perfect file & screenshot sharing tool

In my daily work, as well as the maintenance of three blogs, I frequently need a tool that allows me to conveniently share files and screenshots. This article discusses my search for that elusive perfect app.

Continue reading Search for the elusive, perfect file & screenshot sharing tool

Face management in Photos.app version 1.0

Mac OS X 10.10.3 introduced version 1.0 of Photos.app, Apple’s iCloud Photo Library enabled replacement for iPhoto and Aperture. Over the past couple of weeks, having finally uploaded my 120GB of photos and videos into iCloud Photo Library, I’ve had the opportunity to begin exploring the new application, and much of that time has been spent in “Faces”—the area of the application that allows you to associate photos to people. I previously documented some sync issues related to faces, and in today’s article I’ll highlight some face management issues.

The Faces section of the Photos app is separated into two regions:

  • The tall region at the top displays the named faces of people you’ve already tagged. Double-clicking one of these faces drops you into a chronological listing of all the instances of photos you’ve tagged of that person. Control-clicking on any instance of the face in that area allows you to set that particular instance as the key face for that person (used in the main Faces screen) or remove the image altogether (in case you accidentally mis-assigned someone to this face.)

  • The short region at the bottom displays a row of “Suggested Faces” that Photos has auto-detected. Double-clicking any of these faces triggers a search/input field to assign a name to that particular face. Control-clicking on any of these faces allows you to instruct Photos to “ignore” the face, removing it from the Suggested Face row.

<

p>In terms of face management in this first release of Photos, I’ve observed two major shortcomings:

  • In my Photos app, “Suggested Faces” currently contains far more images I want to ignore, than images I want to tag. Unfortunately, Photos does not allow you to “ignore” multiple faces at once, hence requiring you to control-click-ignore faces one by one by one.
  • Since ignoring faces has become unworkable, my next approach was to scroll along horizontally, finding and adding those faces I do want to tag. But what’s equally frustrating, is that when I do tag a face, the Suggested Faces scroll snaps back to the start of the row—thereby losing my scroll position! The inability to ignore multiple faces at once, combined with the loss of my scroll position when looking for faces I do want to tag have become show-stoppers in my use of “Suggested Faces”.

Apart from those major issues, I’ve noticed a couple of lesser issues:

  • There’s no way to filter the upper region of faces. If you want to change the key photo for a particular face, or correct a face assignment mistake, you have to either visually hunt for the face in question or use the app’s general search mechanism to find the person, and then make the edit in an environment different than that optimized for face management.
  • When viewing an album of photos, I haven’t found a way to enter the Faces management mode, scoped to just those photos. This was possible in Aperture. So within the context of an album, you have to manually identify and name each face.
  • When associating a Suggested Face to a known existing person, Photos will often display several other photos it believes contains the same face, allowing you to add (or exclude) those in batch. I expected to find this feature available in the screen you’re shown when double-clicking on an existing person in the upper region of the Faces area, but alas, it isn’t. Currently, Photos knows of several photos containing my son, but I can’t confirm those until I find him being proposed for management in the Suggested Faces list.
  • I had hoped that setting the key-image of a person associated with one of my Contacts, to update the image used for that person in Contacts, but that doesn’t seem to happen.
  • If I work in the Faces management area for an extended period of time, I begin notice the program slowing down. For example, I begin to experience noticeable delays when typing into the search/input field, having double-clicked a face. So it appears there’s some room for performance improvement in the app as well.
  • One of the photos the app identified in Suggested Faces was the cover of the Steve Jobs biography. For a moment, I found myself surprised that Photos didn’t auto-recognize that particular face!

As someone currently building a version 1.0 of a new product, I can deeply sympathize with the need to prioritize features, and release something closer to an MVP. In this respect, I think Apple has done an astounding job with the initial release of Photos. That said, at least in the area of Faces management, there are some important deficiencies that need addressing, and I look forward to those receiving some attention from Apple in future updates.

Using Tresorit to manage and share confidential data on a Mac

Earlier this year, I described how I used a combination of Espionage and Dropbox to share confidential documents among our family’s Macs. Unfortunately, that approach proved too problematic and I’ve since had to switch to a new approach—based on the Tresorit service—which, while not a perfect solution, does represent an improvement.

Continue reading Using Tresorit to manage and share confidential data on a Mac

Beginning of the end for 9to5 Mac?

For many years I was an avid reader of TUAW, “The Unofficial Apple Weblog”, for my daily dose of Apple-related news. But then something happened. Things changed.

It all began when I noticed that the full contents of the TUAW articles stopped appearing in the RSS feed—thereby requiring me to visit their site (and see their ads) if I wanted to read their content.

Soon afterwards, TUAW’s content began to grow in volume, while at the same time decline in value (can you say, “Caturday”?) As a final step in the decline, the business was shut down completely.

Just before TUAW’s demise, I was happy to discover a service that was similar to what TUAW used to be—9to5 Mac. 9to5mac replaced TUAW in my RSS reader, and all was again good.

Until today. Today, when I opened Reeder, and clicked on the 9to5 feed, I saw this, which I hope doesn’t mark the beginning of the end:

Photos for Mac

Great collection of commentary by Michael Tsai on the new Photos for Mac app.

Some time ago, I switched from Aperture to a file-based approach to photo management, automatically uploading first to Everpix (until they went bankrupt), then to Loom (until they were sold to Dropbox) and finally Picturelife (who has just been sold to StreamNation).

Getting back to Apple, for the long-run, will be great. But I’ve got some head-scratching to do to figure out how to get all those photos into Photos for Mac, and in a way that preserves as much meta-information and organization as possible.

How to secure Mac and iOS devices with the Cloak or PIA VPN

A while back, I ran across an article (which for the life of me I can’t find now) in which the author meets with a computer hacker at a public location—a Starbucks coffee shop—and demonstrates the surprising amount of information he can collect by intercepting the traffic between the Starbucks public wifi and the locally connected customers. It is truly scary!

Continue reading How to secure Mac and iOS devices with the Cloak or PIA VPN

Why can’t Twitter fix their Mac app?

The Twitter app for Mac OS X appears to be full of bugs, the worst of which, for me, is that the timeline displays tweets for people I’ve muted at Twitter.com.

With Tweetbot for Mac, I used a private list, my “A-List”, to effectively create a timeline filtered to the 10 or so people I really want to read on a daily basis. The default display of this list in Tweetbot survived app restarts.

But as we’ve known for a while now, Twitter have stopped supporting third-party developers, and this is beginning to show in apps like Tweetbot. For example, the historical scope of searches appears to extend only back about a week in time.

With the official Twitter app for Mac, to view my “A-List” list involves clicking the list icon, then hunting through the inexplicably non-alphabetically-sorted list. And I have to repeat this each time I launch the app, as the previous view on quit isn’t preserved.

When Twitter announced dropping support for third-party developers and clients, the stated justification was that Twitter wanted to ensure that every user received the best Twitter experience possible, and that could only be achieved if Twitter themselves controlled all vehicles through which users experienced the platform.

Fine, but how can we reconcile that position with the awful state of Twitter for Mac today, and the fact that it is apparently receiving zero attention within the company?