Saturday, March 07, 2015

Fixing Google Chrome Mac Update Error: 12 - success after years of failure.

I’ve been waging a desultory war on a Google Chrome Mac Update Error 12 bug for years. I can’t remember when Chrome updated itself correctly on my Mac, but I didn’t really dig into the bug. I figured Google would fix it sooner or later, in the meantime I’ve been manually downloading Chrome installers every few months (not a great idea obviously).

Today I gave up on Google and started work on the bug. The key to finding the answer was logging into my admin account, starting Console, clearing the log, then watching what showed up as I started Chrome and opened the About screen while Chrome tried to update and generated the usual error: 12 message. I saw something like this:

 …. CODE SIGNING: cs_invalid_page(0x1000): p=809[GoogleSoftwareUp] clearing CS_VALID …

Searching on that string I found an old AskDifferent post on a related topic. That pointed to 

 /Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources

where, like Daniel Azuelos, I found these file dates. 

Screen Shot 2015 03 07 at 11 35 16 AM

Yeah, 2012.

The fix is to quite Chrome, delete  /Library/Google/GoogleSoftwareUpdate (root Library, not User), reinstall Google Software Update Installer and restart. Then you get something like this:

Screen Shot 2015 03 07 at 12 02 44 PM

Yeah, 2014. A bit better.

Then, still from my Admin Account, I ran Chrome and stepped through several versions of the Chrome About screen:

 Screen Shot 2015 03 07 at 11 35 50 AM

then

Screen Shot 2015 03 07 at 11 37 41 AM

Do the relaunch, then ..

Screen Shot 2015 03 07 at 11 37 57 AM

Setup up Automatic Updates for All Users (I’ll be impressed if this actually works!):

Screen Shot 2015 03 07 at 11 38 08 AM

First automatic update in my memory.

I suspect this problem arose from years of several intersecting bugs — some belong to Apple’s famously buggy permissions infrastructure, some related to how Google interacts with people who run OS X as non-admin users, some related to how Google Chrome/Updater manages install errors, some related to how Google mangled OS X Library structures over the years.

Once I’d fixed the problem I read Google’s tech support note more carefully (with Mavericks/Mountain Lion their sudo instructions only work if you run as admin, they kind of left that out). This is the relevant bit:

Run the following command. Be careful to enter the command exactly as written:

~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/install.py --uninstall. It may result in a "No such file error"; the next command will address that.

Now run this following command. Again, carefully enter the command exactly as written:

sudo /Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/install.py --uninstall

The first command runs against the User account library. Google acts like there’s ONE user account on the machine, instead of say, an Admin account and many user accounts. Anyway, I didn’t have anything like that in either my Admin or Non-Admin account.

The second is closer to the real fix, but look back at 2012 files. There’s no Install.py file there. The answer was to delete parent folder in /Library, not to try to run a non-existent installer.

PS. MarsEdit image upload really needs a lot of work. Hope the new competition from Blogo will help. Also, this is relevant.

Thursday, March 05, 2015

Work around for the Lion Connect As bug

There’s a bug in Lion that causes all network connections to Connect As the current user. You can’t Disconnect and then get a username/password prompt; if you click Disconnect you’ll briefly see the “Connect As” button flash by. Then you’re back as the current machine account.

I think the bug hits when the username on the Lion machine matches the user name on the remote machine.

There are several workarounds, but this is the easiest for me.

Go to Finder:Go:Connect to Server. Look for something like: 

afp://Molly_afpovertcp._tcp.local

Now put the username you want to use on the remote server in there:

afp://myname@Molly_afpovertcp._tcp.local

Now you’ll be asked the password.

(Yeah, still have a Lion machine. Old dual USB MacBook with a swapped drive. Won’t die.)

Sunday, March 01, 2015

How to find the damned MAC address for an Airport client so you can configure access times

There is such a thing as too few features. 

Apple stripped a lot out of Airport Utility between v5 and various v6 iterations. Among other things they made it much harder to find the MAC address for a connected device. You need this address to control access times.

The trick is to Option-double-click the base station to get the Summary tab, from which you can see the MAC address. You can’t copy paste that address however. To do that run the terminal command [arp -a]. Look up the IP and MAC address, that you can copy paste.

Of course you may find copy-paste isn’t all that useful. I tried a copy-paste operation into the MAC address field of Airport Utility 6.3.2 and the “Save” button stayed unclickable. I had to type the MAC address in character by character to enable the Save button.

Dumb. Really.

Thursday, February 26, 2015

iTunes Cloud videos not showing up? Maybe you're over the device limit Apple is now enforcing.

Recently Apple revised their US family sharing policy … "… up to 10 devices per account, only five of which can be computers … Not all products, including In-App Purchases … eligible for Family Sharing. “

Recently I think I ran into the policy limits. All of our family devices use a single iTunes account, but I’ve not run into trouble before. I think Apple has changed more than the Family Sharing policy. I think the new limit applies to wise old timers who’ve always used a single iTunes ID for the entire family (though everyone has their own iCloud account).

There’s no error message, instead my son’s iPhone 5 simply failed to show our Cloud video resources (TV/Movies). It would only show what was on the phone.

This happened after we introduced an i6 to the family. Emily doesn’t want anything bigger than a 5, so she got my 5s. Most importantly #2 finally got rid of his dying 4 in favor of a fairly fresh 5. 

Except the 5 wouldn’t show his Cloud video. They simply weren’t there. Signing in and out of the store did nothing.

So I pulled his old 4 out of the reserve bin and logged out of iTunes there. A few minutes later the videos showed up on his 5.

Looks like we went over the (new) limit. Turns out it’s not simply for Family Sharing, it’s for devices associated with an iTunes account.

In our case we have 6 active iPhones, 1 Apple TV and 3 Apple computers. We seem to be right at the 10 device limit, so #2’s old 4 pushed us over the limit.

It’s not documented but the iTunes App Store account information now provides some info. According to Account info we had 4 authorized computers and 10 devices. The device detail list provides some policy information:

Screen Shot 2015 02 26 at 10 45 36 PM

There’s no additional information on the 4 authorized computers. I know of 3 and an Apple TV. I could reauthorize them all and reauthorize but that’s a bit of a pain.

Interestingly the 10 devices includes 2 computers (should be 3) and doesn’t include the Apple TV or my own phone! It does, however, include several devices no longer in use. I removed all of those, but I needed to figure out why my new iPhone 6 wasn’t on the list.

Poking around with Apple ID on my own phone I saw this: “Enabling Automatic Downloads … or downloading a previous purchase … will associated this device with your Apple ID for use with iTunes in the Cloud”. So I launched a video and updated an app on my iPhone 6 Sure enough, I now show up on the list.

So we are again under the limit — for the moment. Buy some iPads though, and we’ll be in trouble. I think we’re done buying iOS devices for a while. We need to stay under the limit. The limit is likely to fall; the RetinaLock [1] screws are tightening…

… patent pending 2040) RetinaLock™ (Palladium Inside!™). The RetinaLock™ prevents any access to DRMd material by control of visual inputs. BrainLock does the same for auditory, tactile, and olfactory inputs. BrainLock Enhanced™ (mandatory upgrade 2045) makes it impossible to consider any action that would circumvent the workings of the BrainLock™ (thereby ending the trickle of death sentences related to violations of the DMCA amendment of 2043). 

[1] Incidentally, Google couldn’t find that 2005 blog post. Duck Duck Go had it #2 on the list.

Update 2/27/2015: I wonder now if the syncproblems I saw four months ago were related to bugs with Apple’s implementation of this device cap.

Wednesday, February 25, 2015

Aperture 3.5.1 empty project bug - a workaround

Maybe this is fixed in 3.5.2 — but I doubt it. This bug has been around for years.

Periodically Aperture will show a project as empty on opening — event though an image count is displayed and images scroll if you mouse over the project. It’s a dangerous bug, with some configurations it would be easy to accidentally delete an image filled project.

The usual fix is to restart Aperture.

The only other fix I’ve found is to create a truly empty project, then drag the apparently empty project into it. All the images reappear.

Saturday, February 21, 2015

Clearing thousands of Star tags from Gmail - two techniques and notes on Star support in OS X, iOS and Airmail.

Remember Inbox Zero?

Perhaps you’re there. Maybe, by dint of filters, of carefully constructed responses, of terror induced in potential correspondents, you’ve finally achieved productive nirvana.

You’re feeling good about it. Proud perhaps.

I’m here to ruin that. Because beyond Inbox Zero lies Sentbox zero.

In Outlook Sentbox zero means the “Sent” folder has no emails in it save those awaiting a response. They may have a flag that goes red 2 days after initial send. All other Sent emails have been deleted or (most often) dropped into the “keep” bin [2].

In Gmail things work differently. I don’t have/use folders; I make sparing use of a handful of tags. So I need a different way to tag sent emails that are awaiting a response.

There are several ways to “tag” such emails. I could use a Gmail tag/label, or a star, or a priority flag. The Star option is quick and synchronizes well across Google Gmail desktop, Google.app on OS X, and Mail.app on iOS and OS X (alas, Airmail doesn’t quite work [1]). So I went with the Star.

The problem was that I had 4,500 stared emails in Gmail - largely from 2007 and prior. Maybe in those days I used the star? Maybe Google automatically set it? Long ago, but I needed to clear them out.

My web searches for a quick way to clear 4,500 flags failed. app.net@jwssuggested using an undocumented? Gmail keyboard shortcuts (edited here):

If you use desktop web UI with shortcuts, search is:starred or whatever and then *a to select all. Gmail then provides a link/offer to select all results, not just those on page. 

Once you’ve selected hitting ’s’ will toggle starred status.

I couldn’t test however, because I’d already used OS X Mail.app to clear the Stars. In Mavericks Mail.app maps the Star to a “red” (Default) flag — so I elected all of those and cleared the flag. Mail.app then updated and cleared the Gmail flags.

No that my Flags are cleared, I can create and clear flags on my Sent emails that are awaiting a response. So now I can implement Sentbox zero-equivalent on Gmail.

- fn - 

[1] My copy of Airmail did not have a STARRED folder mapped to Gmail Star status. I had to create one using an obscure method. Pick any email and “star” it. Assuming preferences has Automap enabled, a new starred folder is created. On restart Starred now shows in the Folders section of the app title bar. Unfortunately it does’t work correctly, items starred in Gmail web app don’t appear in Airmail.app Starred folder — updates are one way from Airmail to Gmail. Fail.

[2] Not filed of course. Subject line is precisely correct and has key words used by search, retrieval will be by metadata search.

Tuesday, February 10, 2015

You can delete Facebook ID and Google ID, but Apple IDs are eternal (also iCloud).

My mother died on Dec 14, 2014. She was fortunate to live in Quebec, which manages the dying process far better than anywhere in the US. It went about as well as it could, and, thanks to all that socialism stuff, she left her family the estate she was determined to pass on. Points for a stubborn woman.

Dying is a complicated business, and I’m only now getting around to cleaning up her online accounts. They are a bit simpler than mine — I had only 3 identities to remove - Facebook, Google and Apple.

Facebook and Google were simple.

Apple — not so much. There is no way to remove an Apple ID, or to remove the associated iCloud data. Apple IDs are eternal.

Sigh. Oh Apple, you get away with so much.

The best I could do was to change her password to something awesomely strong by today’s standards and hope it doesn’t get hacked around 2040 or so.