Saturday, January 12, 2013

Removing 3500+ iCloud Contacts with no content (No Name) and Contacts.app use of 25GB of virtual memory

I suspect many people's iOS Contacts have been trashed by iCloud, but only a small percentage realize how bad things are. It may explain some of the mysterious data use and battery life problems some see.

I can't prove this of course; I'm not about to study a random sample of 100 devices. I can only go by my own disastrous experience and Emily's recent malfunction.

In my case the bug had to do with a change between MobileMe and iCloud in the handling of line endings resulting in large numbers of 'Groups' metastasizing between my devices. It was very hard to diagnose and fix that bug; since then things have seemed to go well with my use.

Emily's malfunctions seemed simple at first. I noticed she had both addresses on her device and in iCloud. I didn't expect that, but I figured it would be easy to clean up. [1]. Then I discovered about 3,500 entries in Contacts that showed up only as 'No Name'. This isn't a new problem and I don't know how long Emily had it. She never noticed, I suspect most non-geeks ignore that sort of thing. I wonder if it explains some battery life issues she's had, and even Spotlight and disk access issues on some of our older machines as these malformed entries propagated. (As noted below, during the removal process the OS X Contacts app used 25 GB of virtual memory and locked up my 27" iMac.)

Removing these malformed null-value entries was much harder than expected. Something about processing the deletes using Mountain Lion Contacts.app consumed vast amounts of virtual memory -- almost completely paralyzing my 2 yo iMac with the usual Spinning Beach Ball of Death (SPOD, SBOD, spinning wait cursor). (See: Getting control of a Mac when rogue software consumes virtual memory.)

In retrospect I think I wonder if I should have disabled my network connection, made the changes, and then reconnected and let iCloud process the cached change list. In any event, this is more or less what I did to delete them; in our home we have 1 iOS device (Emily iPhone) and two OS X devices (Mountain Lion Contacts.app and older Lion-only machine running Address Book.app) that synchronize to her iCloud account.

  1. Work from our primary Mountain Lion machine, and create a local backup using the Contacts Archive function.
  2. Turn off iCloud synchronization from the other iOS and OS X devices and delete all local contacts. On iOS the OS will offer the delete option, on OS X you have to delete them manually. (With iCloud sync off delete is easy.)
  3. Open Safari to view changes there.
  4. Because of the problems I ran into I suggest turning off Time Machine and, if you know how to do it, disable Spotlight disk indexing. At least uncheck Contacts from the Spotlight Search Results in the Pref Pane. You'll add them back in after you are done.
  5. Close all other apps and log out all other users.
  6. Do this incrementally - delete a few hundred, then quit and restart Contacts. When I skipped some of the above steps and tried to delete all 3,500 at once my machine locked me out. After some geek gymnastics I found Contacts.app was using 25GB of Virtual Memory -- enough to store about 1,000,000 contacts. Very little CPU was being used, but that much VM use is fatal.
  7. When you're done run Contacts Cleaner if you own it.
  8. Restart OS X, reenable Time Machine, Spotlight, etc.
  9. On iOS (iPhone for example) reenable iCloud account. (In Emily's case this brought up the merge with local dialog -- the original small problem. See [1] for the easy fix for that, it does mean letting changes sync back to desktop as well).
  10. Once that's settled down, reenable iCloud accounts on other devices. Let Spotlight catch up indexing them. You can disable then reenable Contacts search if you like
It will be interesting to see if her battery lifespan and Spotlight behaviors improve.

[1] If that's your only problem here's the way to clean it up:

  1. Remove iCloud account from phone (you'll put it back).
  2. Make sure only local device Contact remain.
  3. Add iCloud back -- you'll get offer to merge them. Merge.
  4. Clean up duplicates, easiest to do that on a desktop account using Contacts Cleaner (with my latest version I didn't disable network connectivity when doing this) or the dangerous fully automatic built-in Mac desktop duplicate remove.

See also:

More on the No Name bug:

Getting control of a Mac when rogue software consumes virtual memory.

Adam Fields claimed something is deeply broken in OS X memory management. He says it's been partly fixed in Mountain Lion, but .. "the VM subsystem still falls over if you push it too hard".

That fits my experience when a bug with iCloud and Mountain Lion Contacts used Contacts.app to consume 25GB of virtual memory on my 8GB iMac. My system ground to a halt, even though CPU use was light. My system was locked up by disk bound memory paging.

Actually, it wasn't quite locked up. It was just excruciating slow to respond; a mouse click took minutes to process while I watched the OS X Spinning pinwheel.

I wanted to figure out what was happening, so I didn't simply power down. I was able to get control, which is how I identified the iCloud/Contacts bug and was able to gracefully quit Contacts, shut down normally, and then deal with the Contacts bug [1]

To get control I needed to get Terminal.app running. Terminal will work where most other things are frozen, and from Terminal I could control some of the usual bad actors. Note that I run with a non-admin account and I don't have root enabled.

At first I tried to ssh from a remote machine. To do that I needed to know the current IP address of my iMac; it didn't help to know the afp:// network path [2]. The only way I know to do that is to via this Mac OS X Hint. Note the hint has an error in the string, the comment versions are correct. From my remote machine I connected to iMac from the Finder and then used one of these Terminal commands (first is what I did and it works fine):

  • netstat -na | grep 548
  • netstat -f inet -n | awk '$5 ~ /\.548$/ {sub(/\.[^.]+$/, ""); print $5}'

Alas, that didn't help. I hadn't enabled Sharing:Remote Login for my iMac (I've since fixed that). So I had to return to my iMac and, carefully and slowly, get Launchpad [3] up and then Terminal. [5]

Since the account was non-admin I had to get Admin privileges so I could run sudo (root, superuser) commands:

  •  su Admin
Spotlight is always a problem with system resources are low, so my first action was to get it out of the way. This is hard to do; I've read that the process restarts when killed but I tried anyway so I'd get a clean version restarting:
  • sudo killall mds
Then I used renice to set spotlight priority to a lower value [4], first finding the process ID (it was 43702 at the time) then renicing it:
  • ps -acx | grep mds
  • sudo renice -n 19 -p 43702
That bought me more responsiveness. I was then able to slowly quit all running apps and gradually free up system resources until I could run Activity Monitor and figure out what was wrong with Contacts.app

[1] So there are at least two Mac bugs involved in this. One is a longstanding problem with OS X memory management that, I suspect, goes back to OS X 10.0. The other is one of several newer bugs with iCloud and Contacts. [2] That can be found by using Finder "Connect to Server" dialog from a remote machine. [3] LaunchBar and Finder weren't responding but Doc and Launchpad were slow but did respond. [4] It's annoying that renice isn't accessible from Activity Monitor -- in Windows there's a GUI for this control.  [5] I now put Terminal in the dock of my primary non-admin account for faster access next time and I enabled remote login in Sharing options: To connect use ssh username@ip_address, example "ssh molly@10.0.1.4".  If you have enabled root I think you can use "ssh root@10.0.1.4", but in my testing with ML where I have not enabled root that doesn't work.

See also:

Monday, December 31, 2012

iPhoto bug: black or all white photos when editing on MacBook Duo

I haven't used iPhoto on our white MacBook running Lion for years. I did so recently and I discovered I was afflicted by the Photo turns black while editing bug.

At first if I clicked the 'enhance' button the image vanished to be replaced by an all white icon. If I click Shadow or some other edit controls it went entirely black.

I upgraded to the very latest version of iPhoto (9.4.2) and repaired permissions/repaired database (cmd-opt-start). Now I have exactly this behavior:

iPhoto editing shadows makes displayed...: Apple Support Communities

... I am using a MB core 2 Duo at 2.16 MHz with 4 MB RAM with MacOS 10.7.4 and iPhoto '11 (ver 9.3.2) and have a problem with editing photos when I change the 'shadow or highlights'. The photo turns to black when I move the slider off the zero mark and the photo returns when I move the slider back to zero.

I had the same problem with the previous version iPhoto ('09 I think) and bought the new version '11 to try to fix the problem. The problem seemed to go away for a while but has returned. I have tried starting iPhoto using command/option and repairing the permissions, then rebuilding the thumbnails, then repair the database and then finally rebuilding the database. Each time I tried a repair, I tested the shadow/highlight edits and got the same black result. All other adjustments work fine. It is just the shadow/highlight adjustment that turns everything black ...

I moved the problematic library to my primary machine and, unsurprisingly, there were no problems at all.  I think there's a bug in iPhoto that renders it incompatible with my old MacBook's video processor. Apple is very unlikely to fix this.

Update: Aperture on the same old MacBook has no problems. If I adjust shadow in Aperture however, the image is all black in iPhoto.

This is a bug that affects rendering of at least some JPEGs following shadow/highlight edits on MacBook Duo with integrated Intel GPU.

Thursday, December 20, 2012

Making Siri Useful

I'm getting more value from Siri lately. I think it's partly the enhanced noise canceling of the iPhone 5, though that may have other problems.

The trick, of course, is that I'm getting trained to use Siri. Even in my post-50 state of degeneracy, I'm a quicker study that Siri (though she does seem to be learning my voice).

I mostly use Siri to create reminders, notes, appointments or text messages while driving. This means I can't look at the screen or touch the screen; in fact the screen is usually locked. In this use case this is what helps:
  • Assign relationship names (wife, etc) in Contacts. Siri cannot recognize my wife's name even with phonetic additions and multiple experiments, but she does recognize "Wife". You can do this in Contacts on OS X or even iOS, or you can tell Google directly (ex: "Steven F___ is my brother")
  • Tell Siri which Contact is "You". This is very important.
  • Train Siri at home (make test requests and correct errors)
  • Think of what I want to say (plan it out).
  • Turn off the fan (and radio of course) in my van before speaking a command.
  • Press Home button and raise phone from flat horizontal towards my face then sharp pivot to my right ear (seems to help activate Siri on a locked phone). If wearing a headset, any headset, press and hold the 'call' button.
  • Wait for the initial tone.
  • Say what I want ("Remind me in 1 hour", "Take a note", "Make an Appointment at 9pm", "iMessage My Wife".)
  • Wait for the tone.
  • Speak in a measured steady pace with a brief "pause" between words (these pauses are perceptual, not usually real). 
  • Use punctuation. It really helps to say 'period' when I'm done.
  • After I speak, wait quietly while Siri decides I'm done.
  • Use the critical words: Change and Cancel as needed. (Example: Change, or Change the ___ to...)
Incidentally, the iOS Google.app voice recognition is phenomenal. Siri is nowhere near as good, but of course the Google app isn't integrated with my iPhone. I assume it will eventually be integrated with Google's web services, but it will likely never work when an iOS screen is locked.

See also:

Tuesday, December 11, 2012

Blogger's comment infrastructure - the end of anonymous

Google's Blogger has fought the good fight against spam comments for years, but it's failing now in several different ways. In the spam wars, failing to keep up is equivalent to surrender.

I assume that Blogger, like Google Reader itself, is slowly going the way of Google Reader Shares. Blogger is legacy GoogleMinus, not a good fit for the post-2011 Google. A small but dedicated team doesn't have the resources to keep it healthy.

I have looked at Disqus but $1,200 a year for SSO is too much for my budget. Other suggestions are welcome; I'd like a commenting system for Blogger that:
  • Gives me control over what identity-authentication systems to enable, or, better yet, lets me define comment-rules on the basis of identity-authentication.
  • Lets me blacklist authenticated users.
  • Costs about $100 a year.
Anonymous comments would be nice to have, but they require spam filtering and CAPTCHA doesn't work any more. I'm afraid they are toast.

I suspect I can't get the commenting solution I want for Blogger, so I may have to switch to authentication via Google or turn them off altogether pending a future WordPress migration.
Update: I've revised the title of this post, because when I actually, you know, looked at the current Blogger options they include OpenID as well as Google's authentication. Blogger comments support is still dated by current standards, but I'll switch to Google/OpenID, reenable notification for comments by email when > 2 weeks old, and leave out CAPTCHA. No more anonymous comments sadly.

Monday, December 10, 2012

Voice call audio clipping and dropouts on iPhone 5: hardware failure, bug, or network issue?

Modern voice quality is highly variable at the best of times, and I don't do all that many business calls on my mobile, so it took me a while to realize there was something very wrong with the voice quality on my AT&T iPhone 5 phone calls over the MSP LTE/3G network.

This post in a 27 page Apple Discussion thread matches my experience (emphases mine), except that many reports are from Germany as well as AT&T.  Some have problems only at particular locations. The thread describes many different issues, some of which seem to be Verizon specific or defective headphones and the like -- but this is the one I get.

https://discussions.apple.com/message/20440496#20440496 (sk1sk1)

... when on a phone call on iPhone 5, the sound from the distant party cuts in and out, drops entire words and phrases, the beginning and end of utterances, and background and ambient sound from the distant party. I can hear everything on iPhone 4, but much of the sound is dropped by iPhone 5. I’ve found a way to reliably reproduce the problem, perhaps useful for showing Apple the problem we’re having. Use Apple’s headset. Call from a very quiet location. Place a call to a call center’s greeting recording, ideally one that’s long and recorded at a varying volume, not too loud. I used Hertz On Demand here in the U.S. Set the volume to the lowest setting (important). Turn on mute. On my iPhone 5, the sound cuts in and out on 100% of the calls on every iPhone 5 I’ve tried, whereas everything is clear (though quiet) on my iPhone 4. The Genius bar had the same experience with their iPhone 5. I think the guy at this link has the best graphic demonstration of the problem: http://www.iphone5callquality.com/measurements/. You can clearly see what the phone is doing – it is discarding quiet signals. Unforunately, that includes entire words and phrases, especially if you've got the volume set low. I want to hear everything, don’t you?

One report says it is fixed in 6.1. Other fixes are dropping LTE or enabling hearing aid mode (that doesn’t work with headset though).

In my testing I switched back and forth between an iPhone 4 and iPhone 5 on a single conference call. The effect was pretty dramatic. I think it gets more pronounced after the first 6-15 seconds of a call. It feels like some kind of audio compression or background noise cancellation gone bad. Curiously, I think I can hear better when I'm on a call in my noisy van with lots of background noise at my end.

Several reports claim disabling LTE helps, though my understanding is that on AT&T's network voice always uses 3G, LTE is data only. Others say 'hearing aid mode' clears the problem up for non-headset use, but has no effect on headset. One developer reported that 6.1beta fixes the issue, another than a full factory default reset helped. Others claim improvements with a replacement phone, and many have no trouble at all. WiFi on/off doesn't make any difference. Several report problems are site specific. iPhone 5 to 5 connections are  the worst.

On the other hand, there really aren't that many complaints overall. Most users seem to be unaffected.

I suspect it's a combination of certain phone serial numbers/chipsets with certain networks. It might be fixable by a software update or a true fix might require a phone replacement. I've scheduled an Apple Store appointment and I'll share what I learn here. If the store doesn't know of an issue I'll hold off on a repair/replacement.

I've tried the 'LTE off' "fix", but since AT&T uses 3G for audio I doubt that will work. I have also tried the 'Hearing Aid' fix -- I can imagine that would help with non-headset calls. If it does I'll avoid the headset for a while.

See alsoiPhone 5 Call Quality problem.

Update: from the Bouwmeester site: "HUGE NEWS from Apple Ireland: 'Your #iphone5 call quality issue is real, the next iOS version will solve it.'  but then:  "Apple: 'There MIGHT be a solution for the #iphone5 call quality issue in the next iOS but it is not guaranteed."...

Update 12/11/12: I had tolerable results both at my office and during the drive home using my Apple earbuds. Compared to my home the primary differences are different cell towers and more background noise. I don't think LTE settings make any difference for me. I do have 'hearing aid enabled' set but I doubt it makes any difference and, in any case, it's supposed to have no effect when a headset is used. I did try Settings:Reset:Resest Network Settings (you will need to reenter your wifi pw).

FWIW, I submitted a report to AT&T via email.

Update 12/12/12: I visited the local apple store, and, unsurprisingly, they hadn't run into this problem. The staffer I worked with felt it probably wasn't a hardware issue, he was wondering about a problem related to the noise cancellation function. He thought the very quiet setting of my home calls was a more likely factor than my local cell tower. He also suggested a network setting reset - which I'd done. He also wondered if my Speck candy shell was influencing the behavior of the microphone used for noise cancellation -- I'll try a call without it.

The other thing I'll try is some background mood music we bought years ago for our then toddlers -- be interesting to see if that reduces voice clipping on the incoming calls.

Lastly, I'll try lying the phone flat during some calls so the rear noise canceling microphone is either face down on a sound absorbent surface or face up.

ssspluto had a good summary in a Discussion Group Post dated 12/12/2012 - 8:19am

Update 12/14/12: I think I've traced this about as far as I can, and there is a workaround pending an Apple fix

I've ruled out a number of factors contributing to the problems I experience. For the record, I am iPhone 5, AT&T, St Paul area and I use a wired headset (Apple and 3rd party). My problem is audio clipping on my incoming audio.

I don't think my problem is a hardware issue, though in modern complex devices there is a thin boundary between software and hardware issues.

There is really only one circumstance I run into SERIOUS problems, though there are subtle issues elsewhere: a conference call on our corporate Global Conference system when I'm at home. I can connect to the same conference using an iPhone 4S and I get the normal (mediocre) sound quality of a VOIP based conferencing system.

Here are the things that don't seem to matter:

  • LTE on or off
  • WiFi on or off
  • Case on or off
  • Position of phone
  • Covering or uncovering the rear background-noise-canceling headphone
  • Resetting my network settings
  • Model of wired earset/headset
  • Restarting phone
  • Background noise where I am

Here is what works

  • unplug my headset when I've enabled 'hearing aid mode' and listen to the phone directly or use speaker phone.

I think there are multiple issues in this thread, but, as noted by a few contributors, this looks like an issue with the new-with-iPhone 5 noise cancellation software/hardware Apple is using and its interaction with AT&T's 3G compression in some cell towers.

The fix is 'hearing aid mode', which probably changes or disables noise cancellation when not using a headset. It is possible that a hardware problem on some iPhones is causing the noise cancellation product to misbehave, but since this is new software, and since for me the problem is so much worse with this one audio source and possibly even with selected cell towers, I'm somewhat optimistic it will be fixed with next iOS update.

I'm pretty sure Apple's engineers know what's wrong.

Update 1/9/13

The bug continues to annoy, but with the hearing aid setting I can do the problematic home-based Global Crossing conference calls on speaker phone or by old-fashioned handheld phone. In the meantime I read reports that the carriers know there's a problem, and one indefatigable Apple customer has a report from Amsterdam....

Yesterday I visited the Apple Store in Amsterdam to demo the call quality problem of my iPhone 5. Two employees from the Apple Store (an Apple Genius and a person from the Business department) made test calls with my iPhone 5 and had to admit that there clearly is a problem with the call quality. When you are on a call the incoming voice drops in and out, the audio sounds digitized and choppy.

We also tested my iPhone 4 with the same version of iOS (6.0.2). The call quality of the iPhone 4 was perfect. The Apple Genius decided to place more test calls with two of their own iPhone 5’s and experienced the same call quality issues. All test calls were made using the standard Apple EarPods.

To rule out that the problem could be caused by settings or installed apps, the person from the Genius Bar activated a brand new iPhone 5 for me. When we made test calls with this new-out-of-the-box iPhone 5 the result was the same: choppy sound on every call. The exact same effect that can be heard in my YouTube video.

The person from the Genius Bar concluded that this is a real problem that they cannot solve. He told me that he would do everything for me to find a solution for the problem and that I would hear from Apple soon. I hope that the Apple Store Amsterdam is more helpful than Apple Ireland.

 I was pretty sure Apple understood the bug and was working on a fix, but I am beginning to wonder ... 

Update 1/31/13

I think 6.1 fixed the problem I had, though I have yet to test from my home cell tower. I did a Global Crossing VOIP conference call from my car and it went well, I've seen other reports of success. I hope to test from my quiet home setting and home cell tower next week.

Sunday, December 09, 2012

Spotlight indexer (mdworker) priority is too high in Lion/Mountain Lion.

Spotlight was badly behaved in Leopard, but by late Snow Leopard Apple seemed to have most of the bugs worked out.

Not so in Lion/Mountain Lion. It's hogging resources and seems ever more prone to corruption. I think, among other things, Apple set the process priority too high -- perhaps because they're now coding for SSD storage. Spotlight can paralyze my 2 yo 27" iMac; sometimes a forced shutdown is my only option (which seems to corrupt the index -- so I pay back later).

Windows Process Explorer allows adjustment of process priority, but Mac Activity Monitor doesn't. There are ways to adjust mdworker priority by editing /com.apple.metadata.mds.plist attributes of LowPriorityIO and Nice, but these seem like risky system edits. On my currently too-slow MacBook running Lion I, will, however, experiment with the recommendations on this site:
Shortcuts I use to set up a new OSX user account
Set Spotlight indexer (mds, mdworker) to a lower processor priority:
sudo defaults write /System/Library/LaunchDaemons/com.apple.metadata.mds LowPriorityIO -bool true
sudo defaults write /System/Library/LaunchDaemons/com.apple.metadata.mds Nice -int 20
(there are several speedups on this page I'll try on the MacBook)
I think there's more than one bug with Spotlight in Lion/ML. For example, I think performance deteriorates over time. I need to restart my ML system much more frequently that Snow Leopard.

Apple needs to give lots of attention to Spotlight in its ML maintenance updates.

See also:

Google Drive crashes on startup (Mac)

With some reluctance, motivated by my grandfathered low cost 80GB of Google storage, Google's support for multiple identities [1], and my longterm use of multi-identity Google Apps, I've switched from using Dropbox to using Google Drive. Sadly some access points block the Dropbox domain, but not web access to Google Docs. (It's hard to block google.com)

Unfortunately Google Driver is crashing on startup on my Mac. If I start manually it seems to work well enough.

I checked Common errors in Google Drive and followed the advice to reinstall. Sure enough, it told me I had a dated version of the app -- the auto-update hasn't been working. The usual copy/replace didn't work either - even after I quit the app. I had to restart, disable sync of Google Doc items, let it run through a full sync check, then quit.

I wonder if this is related to having two-factor verification enabled on my Google account -- contrary to James Fallows I run into many issues with this. I also suspect there are issues with using multiple Google identities on Chrome vs. the single identity assigned to a Google Drive.

I've reenabled sync of Google Docs, now with offline viewing as well. I'll update with a report on how it works.

[1] Everyone needs at least 3 Net identities: Corporate/Business, Personal, and Tribal. Each must be separated from the other -- though in the Surveillance Economy separation is always contingent.

Friday, December 07, 2012

Corporate spam: my current blacklist and a proposal.

This summary is not available. Please click here to view the post.

Taming iCloud: Show stored files in Finder search, change default save location.

Perhaps, like me, you don't like having iCloud as the default location for all file actions. Disabling iCloud document and data storage will fix this, but you may want to know what you've stored on iCloud first.

You can't do that from the web UI. Instead you have to inspect the hidden local caches:

A quick way to see everything you've stored is to do a Spotlight search across Mobile Documents with the string '.' (A single period.)
 
Before you disable iCloud you can copy documents in the Mobile Documents folder to your local drive. After you disable iCloud Document store I believe Mobile Documents will empty. If you restore iCloud data then the data will again be locally cached.
 
Looking at what's stored in this folder I decided to hold off on disabling iCloud for now. I saved the 'any kind' Spotlight search described above to my Sidebar; now I have a quick way of seeing what documents are in iCloud. Instead I used this tip to revert the Mountain Lion save behavior to the old standard.

Incidentally, you can use iCloud as a general document store to pass files around, but this is unsupported. I used to use DropBox for this, but for various reasons I currently use Google Drive.[1]

[1] I'm sure someone has experimented with putting a symbolic link to a Google Drive folder inside the iCloud Mobile Documents folder.

Tuesday, November 27, 2012

Windows 7 Search: how to display appointment start date in results

Windows XP full-text search was a back-ported version of Windows 7 search. It was a regression from Lookout (Microsoft Acquired) but an improvement on Windows Live Search. The UI adapted to the result type, so Appointments showed different attributes than Contacts or Files.

Windows 7 Search is another regression, and a big one. When I hit Windows-F for example (only way to really use it), and use Details view (best view), my Outlook Appointments (meetings, etc) show with 'modified date'. That is not particularly useful.

Fortunately there are workarounds. I don't think they are well known, even after I figured this out I couldn't find any posts on this.

One work around is to switch from Details View of search results to Content View (control is a drop down in the explorer bar - right side). Content View shows attributes appropriate for the data type. Enabling the preview bar and you get something like the XP search interface - albeit without column sort or sub-search and, inexplicably, some standard objects can't be previewed on my machine (tasks?).

Alternatively stay in Details View, but right click on the columns (Name, Date Modified, etc). This will produce a very long list of attributes/columns that can be added. For appointments you want "Start date" and "End date" (if you don't know the name, good luck finding them). You can change sort order. You can add selected attributes for other items of interest. The result for many searches will be a sparse matrix, but you can sort by the columns of interest.

See also

Thursday, November 22, 2012

Using iPhoto and Aperture together - and merging iPhoto Libraries

My first post on merging iPhoto Libraries was published on January 17th, 2004.

Gordon's Tech: Apple - Discussions - iPhoto 4: Consolidate multiple libraries

... Using iPhoto Library Manager or similar software, open Secondary Library. Adjust albums so all images appears in EXACTLY one album. (Apple has an AppleScript to find images not in any library, see AppleScript site for iPhoto.)
1b. OPTIONAL. In Secondary Library edit roll names to descriptive names.
2. Burn Secondary Library to iPhoto Disc from iPhoto.
3. Switch iPhoto to Main Library. Insert iPhoto Disc.
4. Expand view of iPhoto Disc. Select ALL albums. Drag and drop on Main Library icon.

Almost 9 years later Apple has posted an officially supported approach to merging iPhoto Libraries - using Aperture.

Nine years ... nine years ...

I could cry.

I did this the hard (hard, hard) way about 6 months ago. I am sure it works a hell of a lot better now. Album Descriptions are still a problem. Both iPhoto Albums and Events can have Descriptions, but only Aperture Events/Projects can have Descriptions. In my testing with iPhoto and Aperture's new unified Photo Library I can edit or create Album Descriptions, but they aren't shown in Aperture.

Maybe this will be fixed in an Aperture update -- but I'm not holding my breath. Apple's description of how they reconciled Aperture and iPhoto doesn't mention this gap (you can submit a request on Apple's Aperture Feedback form). It does list several other issues, these are the ones that seemed significant to me:

  • Smart albums from each application are visible and fully functional in the other. However, the album settings must be edited with the application in which you created the album. 
  • Photos hidden using iPhoto's Hide command cannot be accessed in Aperture.
  • PDF files in Aperture libraries are not visible or accessible in iPhoto. (I remember when iPhoto supported PDFs btw)
  • If you activate Photo Stream for a library in iPhoto and then open it in Aperture, that library is still linked to Photo Stream. Only one library can be linked to Photo Stream at a time, so if you subsequently open another library and activate Photo Stream, the previous library is no longer linked. (I try to avoid Photo Stream for now - feels like it needs several more iterations)

In keeping with Apple's deplorable documentation policies they omit mention of real issues. Besides the Album Description gap, I would be very careful about using Keywords. Aperture's Keywords use a fairly complex hierarchy model, iPhoto keywords are a flat list; true interoperability is mathematically impossible. On inspection iPhoto only shows the very top of the Aperture Keyword tree; unless you want to go to a flat keyword model don't touch Keywords in iPhoto. Interestingly Smart Albums defined against Aperture Keywords still work in iPhoto even though the Keywords can't be displayed in iPhoto.

Lastly, since the two apps support different numbers of 'Stars' the ratings mapping must be lossy.

I've started cautious use of both iPhoto and Aperture together. I liked iPhoto 9's Event Management tools, and even though they've been dumbed down in iPhoto 11 they're still better than Aperture's. I'd hoped to use iPhoto to export albums to Picasa, but Google stopped support on the Mac Picasa Web Albums exporter and iPhoto PlugIn. It still shows in my iPhoto since it was previously installed, and supposedly it still works if you can find it. (Proof that I am the proverbial dinosaur  -- few seem to care that this app was discontinued.)

I'll update this post with what I learn over time.

Saturday, November 17, 2012

iCloud transition - Contacts take 2

Four months ago, when MobileMe was turned off, an attempt to move my OS X Lion Contacts to iCloud transition was a first class debacle. I still have PTSD from that disaster; it took several consultations over a week and some AppleScript intervention to undo the mess.

Since then I've maintained a test set of Contacts on iCloud while I sync my primary Contacts from iPhone to Desktop via iTunes. Now my primary machine is on Mountain Lion, iCloud presumably has fewer bugs, and my iPhone is on iOS 6.01. So I tried again, following this procedure:

  1. Create a backup copy of my contacts on my main mac - prior to iCloud migration.
  2. MacBook Air - remove all contacts. (Cloud empty)
  3. MacBook - sync, confirm empty.
  4. OS X: set up iCloud -- everything goes over.
    1. 1833 cards on desktop
    2. 1833 cards in web view of iCloud (a friggin miracle that they match) - thanks to Nigel Garvey's CR/LF cleanup script.  I did see an issue - the web view seemed to be hanging mid-way through the letter S. I edited the note for that contact, quit and tried again. Everything showed up. Don't know what that means.
  5. iPhone -- need to clear out existing Contacts (was synchronizing via iTunes). Can't just turn on iCloud contacts because it will try to merge with iCloud. i'm sure that would be a disaster.
    1. Turn on iPhone sync with my Google Contacts (usually that's off). iPhone offers to delete local. I accept.
    2. Turn off Google Contact sync
    3. Confirm no contacts left on phone
  6. iPhone - turn on iCloud contacts
    1. 1833 cards on iPhone (note that matches the above counts. Another flaming miracle.)
  7. MacBook Air - turn on iCloud contacts
    1. Yes, again, 1833. Whoopee.
  8. MacBook running Lion …
    1. Here I chickened out. I really don't use that machine much any more and I don't really need to replicate my Contacts there. Why take the risk of adding another OS in the mix, especially Lion? In fact, I plan to revert that machine back to Snowie with a fresh install. Then my house will be Snowie and ML - two decent versions of OS X.

So I'm back on iCloud again for Contacts, and I think a few bugs have been worked out.

Accessing Citrix "ICA" for Mountain Lion - Citrix Receiver, not Citrix PlugIn or Citrix Access Gateway

This is a narrow-interest post, but if you are affected I can all but guarantee you will appreciate it.

Many hospitals and healthcare delivery systems using Epic provide physicians with remote access to the Epic EHR. HealthPartners in MN, where my wife works does this.

The HealthPartners site recommends installation of "Citrix ICA Client" for Windows. It doesn't say what to do for a Mac. We've used the "Citrix Online Plugin" for Snow Leopard for years, but it's no longer supported. We uninstalled it.

So what should one do? Should one install, for example, the beta version of Citrix Access Gateway with 10.8 support? 

Briefly - no. Download and install Citrix - Receiver for Mac 11.6 or later. Citrix has an abysmal web site, but it appears that the 'Access Gateway' product is largely obsolete. Receiver is a supported product and it worked with the HealthPartner's Citrix gateway.

It works, but that doesn't mean it's quality software. The installation failed from a User account, even after granting Admin rights. I had to uninstall and reinstall from an Admin account. (It's also possible that there were bits of old Citrix app remaining and the uninstaller cleaned them up -- but I'd unstable previously.)

Snow Leopard to Mountain Lion - experience and bugs

After about a year of preparation, and six months of running Mountain Lion on my relatively new 11" Air, I upgraded my @2009 27" iMac from Snowie to ML.
 
I'll add to this post as I get more experience with the transition. For now, I'll list some early impressions, some bugs and what I did to transition.
 
Impressions
  • I've had worse upgrades, and I'm glad I was able to skip Lion -- the closest Apple has come to a Vista-class OS X debacle.
  • Mission Control and Full Screen are made for my 11" Air, but they're a bit awkward on my iMac. I might change my old and unloved "Magic Mouse" to Apple's Magic Pad. A lifehacker article helped with changes to Spaces, but this tip in comments is key: "You can assign applications to a space without any addons. Just right click on the item in the dock, and do Options > Assign To > This Desktop". Not all apps have this ML-specific feature; Aperture does but iTunes doesn't. [Turns out this is a bug, iTunes should have the option. See below.]

Preparation

  • Ran Mountain Lion on a secondary machine for a few months. So I know I can adjust to the mouse direction inversion.
  • Upgraded or abandoned a number of apps based on experiences with the Air prior to transition. FileMaker Pro and VMWare Fusion of course, but I looked at all the apps I use and either removed or upgraded them. Brought everything from App Store up to date that could run on Snow Leopard. Removed Rosetta apps (obsolete games for kids mostly). Removed Spanning Sync (no longer useful).
  • Uninstalled all PreferencePanes.
  • I should have removed all Login Items but forgot, created minor issues (below).
  • Disk Utility Verify Disk.
  • Uninstalled Citrix apps, my wife relies on that. I have a somewhat ML compatible version I'll install soon.
  • Uninstalled Magic Prefs, an app I've used to make the Magic Mouse somewhat tolerable
  • Attempted iCloud migration, that was a fiasco. I'm getting ready to retry with teeth firmly gritted.

Upgrade issues and bugs

  • Ran into a known bug with Login Items (see below) - esp. “SpeechSynthesisServer.app".
  • I had multiple failures with downloading Mountain Lion and a known bug with App Store "unknown error occurred" messages. (See below).
  • I was unable to save the Mountain Lion installer. (below)
  • When opened in it's Snow Leopard 'space-2' the iTunes Doc context menu was missing its 'Assign To' options. They were shown in other Spaces. I had to use those options in another Space to restore the menu in all Spaces. Looks like a bug with converting SL space-assignment prefs.
Known Login Item bug
 
This bug has hit a few people going from Snow Leopard to Mountain Lion. Details below from an Apple Discussion thread I contributed to: 

The document...: Apple Support Communities

… The document SpeechSynthesisServer.app could not be opened because it is damaged or incomplete….

… I think this bug may hit people whose user accounts have gone through a few versions of OS X AND are going directly from Snow Leopard to Mountain Lion. In my case my user account started out with 10.2 - so it's picked up some cruft.

There are several items in my non-admin user Preferences:Users and Groups:User:Login Items that are not in my Admin account user including an item called SpeechSynthesisServer. It had a yellow warning triangle next to it and the data type was unrecognized.

I removed it from Login Items, logged out, logged in, and the bug was gone. The LoginIn item is referencing a system app, that app is still present post upgrade: /System/Library/Frameworks/ApplicationServices.framework/Versions/A /Frameworks/SpeechSynthesis.framework/Versions/A.

I suspect the app is still important. DON'T TOUCH ANYTHING IN SYSTEM/LIBRARY. Just leave it alone iTunesHelper was also on the one user's LoginItems and I removed it.

I think there are a couple of bugs with the Login Item migration from SL to ML. For example, a disk image I mounted showed with a yellow icon too. I removed it, added it back in, and it was fine.

The known App Store "unknown error" bug and a probably App Store download bug

I was unable to successfully download the Mountain Lion Install from the App Store; two attempts failed with an App Stoer error message "An Unknown Error Occurred". I'd saved a copy from upgrading my Air, so I had to use that. During this process I ran into a bug with App Store error messages. I think there are two bugs here:

  • If the "an unknown error occurred" error appears after a failed App Store download, it will prevent future downloads. The fix is to use App store menu item for logging into your account and click the button to reset app store warnings.
  • I wonder if under some conditions a failed download can get "stuck" and block future downloads. I haven't yet down this, but I wonder if cleaning App Store caches would help [1].
Problem with saving the Mountain Lion Installer
 
i'm not sure if this is a bug or a change Apple made recently.
 
When I upgraded my Air from Lion to Mountain Lion from an Admin account the installers were initial saved to the Applications folder. If I quit the install procedure I could save it, then run install (original is deleted).
 
When I upgraded this iMac, starting from a User account I tried the same thing - quite the Installer. This time, however, it was not in Applications. After this my subsequent downloads failed with an "Unknown Error". So either Apple has changed procedures or there's a bug here. Probably both.

[1] from Apple Discussions, C Samit

… try deleting the cache, cookies, and preferences associated with the App Store. Quit the App Store if it's open. Now open the Finder. From the Finder menu bar click Go > Go to Folder Type or copy/paste: ~/LIbrary/Caches/com.apple.appstore Click Go then move the Cache.db file from the com.apple.appstore folder to the Trash. Type or copy/paste: ~/Library/Cookies Click Go then move the com.apple.appstore.plist file from the Cookies folder to the Trash. Type or copy/paste: ~/Library/Preferences Click Go then move the com.apple.appstore.plist file from the Preferences folder to the Trash.

Update:

After installing Mountain Lion I tried the App store download -- again using my User account. Again I canceled and it did not appear in my Applications folder. So either Apple has changed the download, or the trick for getting a local copy of ML only works for Admin accounts. This could be a permissions issue.

Also, I had to restart Google Earth so it would add its Login Item back.

Lastly, like all updates this one forces Spotlight to reindex. The combination of Time Machine/Capsule backup and Spotlight reindexing brings my system to a standstill. I recommend letting Spotlight finish before reenabling Time Machine.

Update 2: A major regression with Slideshows.

Mountain Lion includes many new slideshows, but only the "classic" supports dual monitors by showing different images on both displays. The new shows show the same image on multiple displays. That's bad enough, but Slideshow no longer supports nested folders (!). That's really stupid.

Updates

  • Auto-correct is annoying and buggy - it causes my cursor to periodically vanish. I disabled it and I disabled auto-character substitution. i think this was causing Citrix issues. Needs to be disabled for every user.
  • Spotlight activity can lockout user interaction. I've seen this in Lion too. This is bad enough to qualify as a bug.
  • Sceensaver/slideshow CPU use is ridiculous. An app.net correspondent suggested they were embedding Rosetta to run PowerPC code. Seems plausible.
  • So far Mountain Lion is substantially slower than Snow Leopard for many of the things I do on my 2009 machine. It's not intolerable, but I would have liked more optimizations.
  • Apple has not updated the Airport Express 5.6 installer to run on Mountain Lion, it's needed to configure older devices. This is a sh*t. I used Pacifist to install the app and configure the old express I use to for music.
  • Front Row is gone. I didn't notice this since I didn't use it. Still, disappointing for many.
  • Many users report power issues with Snow Leopard laptops.
  • It is exceedingly annoying that Save dialogs default to iCloud.
  • RSS support is gone from Mail.app. I expected that and didn't use Mail RSS, but an issue for some.
  • You can turn off horizontal scrolling on the Magic Mouse. Almost worth the update by itself. Two finger double tap for Mission Control is essential. Mountain Lion makes my old Magic Mouse tolerable.
  • Microsoft Remote Desktop Client is not officially supported in Lion or ML (must be end-of-life)
  • I thought ML was doing better than SL as a print server, but then my Brother HL-2140 printer stopped working. A search turned up a range of printer dysfunctions in ML. Truly, the CUPS experiment was a failure.