Saturday, November 26, 2011

Microblogging and Google Reader: Tumblr Fails

I got pretty far along on the Tumblralternative to Reader Shares. I even created a kateva.org subdomain with a Tumblr IP A Record to give my Tumblr blog a kateva.org URL.

I tested with Google Reader Mobile and desktop, but the workflow for micro-sharing was too awkward. That looked promising, but all the posts were going to my original Tumblr blog, not the full powered one I'd setup for sharing.

What was up with that?

That's when I discovered the weird world of Tumblr primary blogs ...

Help Center | Tumblr

... What is my “primary” blog? Your primary blog is the one created when you sign up for Tumblr. It represents you (with its name, link, and avatar) when you follow or like other Tumblr blogs. You can read about blog management to understand the differences between your primary blog and additional blogs. Can I switch my primary blog? It’s not currently possible to switch or move your primary blog to another account. You can read about blog management to understand the differences between your primary blog and additional blogs....

Cue the ominous music. I could see where this was going ...

Blog Management | Tumblr

Each Tumblr account comes with a primary blog. A primary blog can fully use all of Tumblr’s social features including Follow, Like, Reply, Ask, and Submit. But, a primary blog cannot be password-protected and cannot be multi-user.You can also create additional blogs on your Tumblr account. An additional blog can be password protected for privacy and security and can be multi-user. But, an additional blog cannot fully use all of the Tumblr’s social features...

The primary blog that is made when you create your Tumblr account will always be the primary blog for the account. It is not possible to reassign which blog on your account is the primary blog. And, due the way in which Tumblr is architected, it is unlikely that we will be able to support reassignment of the primary blog in the foreseeable future. It is also unlikely that we will be able to support password protection on primary blogs....

Yes, it's all about that d*mn closed-world money-making social stuff.

The primary blog is the one that receives my shared items from Feedly. It won't do for what I want.

So now, like Posterous, Tumblr has failed.

Only Twitter and, perhaps, WordPress microblogging, remain.

Oh, and, of course, HiveMined.

No. Please. Not ... not ... Blogger!

See also:

Friday, November 25, 2011

Aperture 3.2.1 recurrent crash - EXC_BAD_ACCESS (SIGBUS)

This ends well - because I have backups. Other than the necessity of backups, the main lessons of this post are;

  1. Aperture 3.2.1 Libraries can become corrupted.
  2. Aperture 3.2.1 has some wicked bugs.
  3. A few debugging tips.
  4. It is unwise to edit in Aperture until all import processing is completed.
  5. How to manage when disaster strikes

This morning I did a routine import of 30 or so CR2 images from my Canon T2i using Aperture Import. Import completed normally. As images were post-processed I worked on some red-eye editing. I mis-clicked somewhere, and the spinning pizza of death appeared. About a minute later Aperture crashed, leaving this crash log ...

Process:         Aperture [75650]
Path:            /Applications/Aperture.app/Contents/MacOS/Aperture
Identifier:      com.apple.ApertureVersion:         3.2.1 (3.2.1)
Build Info:      Aperture-201094000000000~2
Code Type:       X86-64 (Native)
Parent Process:  launchd [41554]
Date/Time:       2011-11-25 09:15:19.689 -0600
OS Version:      Mac OS X 10.6.8 (10K549)
Report Version:  6
Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: 0x000000000000000a, 0x0000000138d4d000
Crashed Thread:  23

I tried five more times. Each time Aperture opened normally, and about 30 seconds later, presumably as it resumed image processing, it crashed with the same error.

I knew I had backups, so I didn't have to panic. In fact, I have three backups:

  • Encrypted image with Carbon Copy Cloner to local drive nightly. This is a drive clone of course, but CCC also saves changed and deleted files in a 'just-in-case' folder. So it's a Clone+.
  • Encrypted image with Carbon Copy Cloner in my office that's 3 weeks old (offsite).
  • Time Capsule backup to a 2TB drive upstairs.

It was easy to demonstrate that the problem was in the Library. I option-launched Aperture and created a new Library. It was fine. I also removed my Aperture Preference files and Aperture still crashed on Library launch.

As an experiment I used EasyFind to locate the images I'd imported. I'd renamed them on import ("_Thanksgiving_") so it was "easy to find" them using EasyFind's package search option. I moved them out of the Aperture Library. This time it launched normally.

Whatever was wrong with Aperture, it was something related to processing the images I'd imported that morning -- or a problem with the images themselves.

I then used ImageCapture [1] to bring in the suspect images from my SD card. There were no problems. I added these to an empty Aperture Library. No problems.

By then my 45GB restore had completed so I put the images into the restored Aperture Library. No problems. Just to finish the cycle off, I again performed the red eye correction associated with the big crash. No problems.

One experiment I didn't do was use Aperture First Aid to repair or rebuild the Aperture database. Speaking of that kb article, I suspect this paragraph is relevant to my problem ...

...If Aperture does not open, it may help to defer creation of previews. Press the Shift key immediately after you start Aperture to prevent preview generation for that session. If a damaged image in your library is preventing normal opening, this may allow you to start Aperture...

i don't think the original images in my Library were damaged, but I do think something went wrong with Aperture's preview creation. Actually, I have a hunch that the problem is related to Aperture's face processing -- the EasyFInd recovery process I experimented with returned a number of face "thumbnails' -- but only a number. As though face thumbnail processing was not completed.

I hope the fixes I've outlined here will help others. The bottom line - be sure you have a full backup of your Aperture Library. I prefer two fully automated backup methods that have almost nothing in common. Backups are too unreliable to trust a single backup method.

[1] This app has its own really annoying bug. When used it stores the path it last saved images to. If you change drives it keeps asking for the old drive -- and tries to mount it. Dumb. Easy to delete preferences to fix.

Update: Terence Devlin - an Apple guru, also suspects the Faces process.

Update 12/20/2011: I suspect it was due to bit rot (bad sectors) on my drive.

Thursday, November 24, 2011

WordPress.com - Blogger Import

I'm continuing to examine exit strategies from Google 2.0 as I prepare to delete my TrueName G+ Profile [1].

Other than Gmail and Google Apps, my strongest Google Connection post Reader Social is Blogger. It hosts this post, for example.

I've considered Posterous and Tumblr, but both have fallen short. I think I'm going to have to learn the WordPress world, starting with hosted at WordPress.com and migrating to self-hosted.

I suspect that will take a while, but I'm starting to experiment, starting with an experimental import of tech.kateva. org to WordPress.com. It's not a complete import, draft posts are not included. For example, import dialog shows 3738 Gordon's Tech posts, but that omits 467 draft posts. For Gordon's Notes it shows 5754, so 1277 draft posts are omitted.

Wordpress also supports import of a Blogger Atom export file. I don't know if that will include Drafts, but I may experiment with it.

I can live without the draft posts, especially since I'll still have access to those drafts post-migration. I can plumb those that look interesting and abandon the others.

I don't expect any quick changes. In any case I own the domain kateva.org, so the changeover ought to be relatively invisible to my visitors (though I bet feeds will need to be revised).

If you'd like to inspect the results of the import, here's Gordon's Tech at WordPress.com - http://gordonstech.wordpress.com/. It's pubic but not-indexed with a temporary URL. The import went more smoothly than I'd expected, but it uncovered two surprises, both of which make me keen to move sooner than later ...

  • The "New" Blogger has no UI control to move to the earliest post. The "Old" Blogger UI has this.
  • Old Blogger doesn't show my 2003 Blog posts, it starts with 2004. WordPress imported them.

[1] I'll keep my John Gordon profile -- until Google deletes it as a TrueName violation.

Tuesday, November 22, 2011

Google's Omnibox and implementing Google search alternatives

Since I'm distancing myself from Google 2.0, I was receptive to Phil Bradley's alternative engine advice. I'm testing blekko (spam free) and Duck Duck Go (no tracking). I believe both are wrappers that enhance Google search.

Naturally, this experimentation works best with Chrome's Omnibox. It's very easy to add search engines; Chrome 'detects' an engine during a search site visit and adds them to it's collection. You can make any a default, and define a text shortcut. Type the shortcut in the Omnibox, hit spacebar, and your custom search is ready.

I made Blekko my default, and assigned it the letter 'b'. Google gets 'g', etc.

While I was at it, I defined a search string for one a Google custom search engine that searches my own content (web pages, blog posts): <http://www.google.com/cse?cx=009911250981951822495%3Aphjhjp-tdfa&ie=UTF-8&q=%s>. I already had one for searching my dev team's Rally project.

I can distrust Google and still appreciate Chrome ... right?

Update 11/24/2011: I ran a search on moving from blogger to wordpress on both Blekko and Google. Blekko wasn't just a bit better. It was immensely better.

    Monday, November 21, 2011

    Porting a mobile number to Google Voice

    We had two kids on our AT&T family plan when AT&T hit us with their smartphone tax. The cost of each kid phone went from @$16/month to $32/month (estimated real costs) and that includes a data plan we don't want.

    I think we know why AT&T is making these desperate price hikes, but we're not playing along. After reviewing several options we expect to save about $600 over the next two years with these 3 steps [1]:

    1. Cancel the phone account for our youngest. Turns out he's not interested in either phoning or texting. He'd prefer we put a fraction of his phone bill into games and movies. In retrospect he could have waited another year. So we've canceled his account -- with a twist. We're porting his AT&T number to Google Voice.
    2. Replace our $30/month family texting plan with a combination of Google Voice, WhatsApp and Facebook Messenger (yeah, it's still messy).
    3. Canceled a now useless SmartLimits account.
    4. Use DataMan Pro to help keep my son under his 200MB/month data limits. We disable Safari and YouTube on his phone, so iTunes is the main data drain. So far he's doing well.

    When we canceled #2's phone I decided to salvage the phone number. It's a memorable local number and when I recently added a GV line to my business number there were no local numbers available. I ended up choosing an area code from my former home town - Escanaba Michigan. Since I was going to cancel his phone with a memorable local number, I decided to make it mine.

    I followed Google's minimalist number porting directions. Unfortunately you can only do this with a mobile number [2] - at least for now. Here's how it went:

    1. In Voice Settings:Phones I clicked the Change/Port link.
    2. Checked lots of warning checkboxes.
    3. I tried following the phone confirmation directions on the old Nokia that currently holds my son's SIM card. (We pulled it from his iPhone when we got hit with the rate increase.) It didn't work -- Google couldn't recognize the touch tones!
    4. I put his SIM into his 3GS -- Google recognized those tones.
    5. I filled out my AT&T account information.
    6. I paid $20 into a new Google Wallet account (on my work account)

    In theory the transfer will be done in 2-3 days and my old GV business number will work for about 2 months before dying.

    In theory my son's AT&T number will disappear and that account will close. I'll check in 2-3 days. Of course since this is a family account things will probably be messier. He's not under any contract (no subsidized phone, he "brought his own phone"), but we'll see what happens. I'll update this post.

    john

    [1] Since we're paying for a data plan (200MB/month). [2] It's convoluted, but I assume you can move a landline number to a mobile number, then from there to Google Voice. I'm thinking about that ...
    [2] Presumably we could move it to a family mobile account, then from there to Google Voice. Bit expensive and a hassle.

    See also:

    Update 11/22/2011: The next day my AT&T account showed #2 was gone. I tested the number and it called Google Voice. I called AT&T and was told the account had been cancelled. Since AT&T bills monthly service in advance (who new?) I've already paid for the billing cycle that ends in 6 days. There's no rebate on that $12 fee. Any expenses incurred this month (overage fees, long distance) will show up on next month's bill. So this went smoothly.

    Sunday, November 20, 2011

    Google Apps and Google Account integration problems

    Over the past year Google has been consolidating previously separate Google Apps and Google/Gmail accounts.

    For example, consider kateva.org. At one time if I wanted the Google Apps users jgordon@kateva.org to have Reader access, I had to create a Google/Gmail account with the username jgordon@kateva.org. They were separate services. After the merger they are supposed to be unified. The merge process was, unsurprisingly, rocky. Some things could transfer, some not. Relics of the discarded identity may remain in an orphaned Google/Gmail account with a peculiar URL.

    It's still not working. Emily, for example, has problems authenticating with some Google services. Relics of her old identity produce odd error messages, especially with Google Reader. Some third party apps, don't work at all. Reeder.app for example. Seems she's not alone ...

    Reeder

    ... Having issues signing in with your Google Apps account? Some users reported that changing the password did the trick. If this does not help, enabling 2-step verification and creating an application specific password should get Reeder working again. Please see this help article (Getting started with 2-step verification) for more information...

    I wonder if current problems are tied to Google's troubled and incomplete migration to two factor authentication.

    We'll try Reeder's fixes, though two factor is not something I want to inflict on Emily. I fear James Fallows and Ezra Klein greatly overstate the usability of Google's work.

    Beyond this immediate glitch, these problems reinforce my sense of where Google 2.0 is going. The train has changed direction, and I need to get off. Unfortunately, Google 1.0 crushed the competition, so there's nothing to get off too. It's a 100 mile walk through the Sahara to the next watering hole. It will take years for niche vendors to move into the spaces Google has opened up.

    Update:  What I did to try to clear up the Google Apps vs. Google authentication issues.

    First I found the email notification services associated with the account merger we performed in July 2011.

    After the merge/migration of last July her old account data was associated with a modification of her old Google/Gmail username.  The domain is gtempaccount.com, the username is the old email address with % replacing @:

    emily%kateva.org@gtempaccount.com (not her real domain).

    I entered her old password was taken to a set of dialogs similar to those I saw in July. The dialogs told me data was successfully migrated. There were bugs of course; Google is supposed to be able to show data associated with her current accounts and that failed. Nonetheless I felt reasonably sure what we cared about had been migrated. So I found the tiny "delete account" link, walked through the warnings process, and deleted the remnants of  her old independent Google/Gmail account.

    Then, a few minutes later, I tried logging into Reeder. It worked.

    I never changed her Google password and I didn't try two step verification. All I did was delete the remnants of her old account.

    I think this Google bug shows up after account mergers between Google Apps and Google/Gmail when the same password was used for both.

    Thursday, November 17, 2011

    Navigon and the dark side of the iOS marketplace

    One of the downsides to the iOS App Store model is that vendors can change the rules -- and it's very hard to avoid an update.

    NAVIGON used to bundle maps withe the purchase price. At $50 it was a good price, and even though there was no commitment to map updates they were updated. Yes, it was a 1.8 GB download -- but that was a rare event.

    The price is even better than it appeared, because if a family shared an iTunes account the $50 covered all family iOS devices.

    Now Navigon has moved to the in-app purchase model. The default "update" is "free" and only 48MB, but the maps are in-app purchases and they are not free. Old maps are removed during the "update" (and so are "favorites", which is not nice). I am not certain, but I suspect in-app purchases are tied to a phone and iTunes account, not to an iTunes account alone. So each user in a family will buy their own maps. (I seem to be the only one whose noticed this.)

    This may not be a terrible deal for new users, but old users are moving Navigon to a 1 star rating.

    Unfortunately there's no way to prevent app updates and no way to keep an old version of an app. iTunes will nag forever. So I made a copy of Navigon 1.8.2.ipa and put it in a safe place. That way when it's "updated" I can delete the update and restore the original.

    PS. What should Navigon had done? Forget the evil "update" trick. Create and sell Navigon "Pro" as a separate app and stop updating Navigon 1.

    See also:

    Update 11/19/11: I tried a few experiments

    • I "locked" NAVIGON 1.8.2.ipa in the Finder then tried updating. Alas iTunes ignored the Finder lock, it just deleted 1.8.2 and kept v2.
    • I dragged 1.8.2 into the iTunes app window and iTunes let me replace v2. It, however, put v2 back on my free update list.
    • I changed permissions on 1.8.2 so I had read-only permissions. Then I tried the Update again. This time iTunes installed v2 and showed it in the app list. However the 1.8.2 file was still in Mobile Applications. I quit iTunes, deleted 2.0 (must put in trash and empty trash) and restarted. iTunes still listed 2.0, but when I tried it I was asked to locate the missing file. I pointed it to 1.8.2. The available update appeared again.

    So it looks like while I can't truly fool iTunes, by changing permission I can protect 1.8.2 from deletion. If I accidentally update to 2.0 I can revert.