Tuesday, December 30, 2014

Mac 2014 - I go into full Windows XP mode

I bought a Panasonic 8086 in 1986. Over the next 30 years I’d often use a Mac (Classic) at work or school and sometimes at home — but DOS/Windows and OS/2 were my primary environments.

That was not a pleasant time. The one happy memory I have is DOS 3.1 zooming on a 80386. Otherwise the Wintel world was a long, hard, slog. I bought an iBook in 2002, and a couple of years later we went all Mac. I’ve never regretted that — though I’ve written hundreds, maybe thousands, of posts about Apple bugs and issues.

You can guess where this is going. In 2014 the Mac feels a lot like Windows in 2002. iTunes 12 is a widely recognized disaster and iOS 8 is little better. The modern Mac doesn’t do nearly enough to diagnose and expose issues in our increasingly complex hardware environments. Every OS X version since Snow Leopard has been a regression.

It’s taken a while to get my head around this. Until last Friday I was in denial. Today, though, today all my XP experience came back to me. 

I’m now treating my OS X and iOS devices the way I used to treat Windows XP machines. 

I’ve configured Mavericks to restart at 6am daily. No more running weeks without a reboot.

I’ve configured mosts of our iOS devices to backup to iCloud and I no longer use a USB hub to charge iOS devices and sync to iTunes [2]. I bought a Brooks endorsed6 port Photive 50W USB charger and most of my devices now sync there. All this is to minimize interactions with iTunes and my iMac.

I’ve also removed Launchbar. I’ve used that utility for about 10 years, but, honestly, I never mastered it and it uses a huge amount of system memory. I can do most of what I need using Spotlight. No more TSRs.

For the few iOS devices I’m still syncing to iTunes I’m using Apple cables directly connected to a single USB port. 

Now to wait and see if Apple reboots itself. Otherwise, it’s gonna be XP for all of us … forever …

- fn -

[1] A very cheap passive USB 3 way splitter picked lets one port charge Fibit, bike lights and other oddball devices when needed. The other 5 ports are all for iDevices — we have nine currently.

[2] I’ve used a Plugable USB 2.0 10 port hub for about 2 years to simultaneously sync and charge, The power supply output says 5V and 2.5 Amps, that would be about 12.5W — but maybe it gets useful power from the iMac’s USB port. An iPhone charger supplies 5W, so I’ve been making a 12.5W-20W device do the work of a 60W device. I’m surprised it still runs.

Blogger's internal search is now very broken

I tried a search from Blogger’s web view. it returned 19 posts, the oldest from 2009. Using other methods it’s easy to find results back to 2003.

I don’t know when this stopped working, but Google turned off its Blog Search a few months ago.

I’ve been running a microblog on WordPress for a few years, but I’d put off migrating my primary blogs. Blogger has been a very reliable service — especially because Google largely leaves it alone. I guess I have to stop putting off the inevitable. This is gonna hurt.

Cancel Videotron internet service for a parent

My mother lived in Pointe Claire and received internet service through Videotron, a Quebec ISP. To cancel you have to call 1-888-433-6876 and have your name on the service. In our case my mother had passed, so a phone call from her would be supernatural.

I’d maintained her service, so I had her user name/password. Videotron’s web site doesn’t support canceling their service, but they do support adding a name to the service. I did that to add my name and contact information; then I was able to call and cancel. 

Cancellation went quickly once I mentioned she’d died. They need her cable modem and power supply back within 1 week or they’ll charge us $69, when it’s returned we have to provide her account number.

Saturday, December 27, 2014

Custom search engine for Apple Aperture photo management

I’ve created a Google custom search engine for Aperture.

Aperture: Find in Project will show empty project if there's a search filter on project

Aperture allows you to filter projects in the Library tab by substring. It also lets you search for a photo by name, and from the photo you can find the enclosing project.

However, if there’s a filter in Library that doesn’t match the container project, you’ll get an empty project. Kind of worrisome — you might think your Library is corrupted. Clear the Library filter and you’ll see the project.

It’s a bit of a minor bug really. Aperture should probably give an error message, like “clear Library filter to view project”.

How to buy an xbox 360 skyrim add-on for your kid

It’s kind of nuts that I’m writing this, but Google didn’t have an answer when I asked “How do I buy an xbox 360 skyrim add-on for my son?”

Seems obvious right? But I couldn’t find any documentation. I figured I’d need an identity (“account/profile”) and I’d have to associate a credit card, and I knew each xbox user had a local identity and an optional xbox live/microsoft identity, but that’s about as far as it went. I didn’t know if purchases were associated with a console or an identity; Microsoft’s DRM docs suggested purchases went with a profile - which is wrong for skyrim add-ons.

Briefly, this is what I did. I’m sure there are ways to do it all from the Console, but if you try that be sure you connect a USB keyboard first. Trying to do data entry from the xbox controller will drive an old person (> 18y) mad. Also, if you get d0000034 when you try to buy add-ons from within Skyrim it’s just Microsoft’s brilliant way of telling you that you don’t have an XBOX/Live account/profile.
  1. Go to https://account.xbox.com and login if you have a Microsoft ID (I have one from Passport/Hotmail days) [1]. If you don’t, create one.
  2. Add your credit card information and then buy your skyrim add-on purchases. In another purchase I had to buy a "Game", that required me to click a download to 360 button after purchase.
  3. On your xbox console login with the profile you created, you'll want to plug in a USB keyboard to make entering your password less painful. Press the xbox control silver central button to see profile associated menu that shows downloads. The downloads window can take a  long time to appear (shows empty white screen) and downloads may be slow.
  4. After the download completes it should be available to all users of the console.  I’m not sure what happens if you are logged into more than one console at the same time. This is the language skyrim shows at purchase time:
    "The item you are buying is subject to usage restrictions. You can use this item on the first Xbox 360 console that you download it with. Access to this item will also be granted to all users on this first console. If you transfer the item using a memory unit or other storage device, you will also be able to use it on other Xbox 360 consoles, but you’ll need to sign in to Xbox Live with your Xbox Live account on that console before accessing the item."
I recommend not saving your profile password to the xbox, unless you, for example, trust your kids.

[1] If you had a profile on the xbox already associated with your Microsoft ID, you’ll see that here. However, if you decide to use this UI to change your gamertag, the profile on the xbox will lose its relationship to the xbox profile. Evidently the ‘key’ is the gamertag rather than the Microsoft account. Yeah, Microsoft is just like it always was.

xbox giving a d0000034 error when attempt purchase of skyrim add-on because ...

… because my son didn’t have an Xbox Live account.

This is the Microsoft I remember.

Google Chrome Pinboard integration with custom search engine definition

The health of software is not good. I was reminded of that when I went looking for Pinboard extensions that would better integrate my Pinboard collection with Google Chrome. The official Pinboard Chrome extension was last updated in 2011. That’s too old for safe use, and I don’t trust most 3rd party Chrome extensions.

Happily I remembered Chrome’s custom search engine feature (yeah, from 2011, the year software died, again).

Pinboard’s search string follows the classic pattern for extensibility, an embedded URL of the form:

search my stuff: https://pinboard.in/search/u:jgordon?query=ReplaceMe

search all stuff: https://pinboard.in/search/?query=ReplaceMe&all=Search+All

From these patterns I created two search shortcuts in Chrome in two of my identities [1], these will sync across my Chrome instances:



When I was done adding these and cleaning up others Chrome had added automatically [2] I had this:

Screen Shot 2014 12 27 at 12 46 28 PM

and here’s what Chrome shows when I type “p aperture” in the omnibus, prior to hitting enter/return:

Screen Shot 2014 12 27 at 12 48 17 PM

That’s better, and cleaner, workflow integration than any of the extensions I’ve seen.

- fn -

[1] My biggest Chrome frustration is that in Windows I can specify which identity Chrome should use at launch, but in OS X I have to launch then switch.

[2] It strikes me that this is an attack vector — there’s probably a way for a site to trick Chrome into adding large numbers of these, some with bad actions.

Friday, December 26, 2014

iTunes 12 and iPhone sync: time to treat OS X like Windows XP (usbmuxd bug)

I’m having so many iTunes 12/iOS Device sync issues with the 7 devices I routinely sync to one iTunes instance, including the usbmuxd file descriptor close bug described by Kelly Wickerson and FdeBrouwer/Oskapt (remind me of a 10.6 bug), that I’m going into XP mode. I really don’t have much hope of Apple fixing their exploding universe of bugs, I think Cupertino imploded around the time Jobs decided to build a monster corporate headquarters.

XP mode means:

  • I’ve bought a six port Anker USB charger to reduce the number of times iOS devices interact with iTunes 12/Mavericks. Much of the time kids devices connect to our USB hub they’re simply charging (I have automatic sync turned off).
  • When I do sync devices, I use the iTunes eject button to remote them. Long ago we needed to do this with iPods. I’m hoping iTunes will close its usb file descriptors when I do this.
  • I’m now rebooting Mavericks nightly. I used to do that with Windows XP, and at this point Apple is roaring past XP into the quality levels of Windows ME. Nightly reboots are the latest hotness.


I wrote about this post and measures taken in an Apple Discussion thread — nothing too harsh. Not only was my post removed, but when I tried a revised post to the thread I got this…

Screen Shot 2014 12 26 at 10 14 23 AM

Yes, banned from the thread. I’ve never seen that before. Apple’s skin is getting thinner.

Thursday, December 25, 2014

Using TruFon to create a local Canada number that forwards to US Google Voice

My 93yo father is a resident of a long term care facility in Montreal. It’s been working well for him, but it’s not easy to reach him. He hasn’t wanted a phone in his room, their landline phones are ridiculously expensive anyway, and he can’t manage a cell phone.

This wasn’t a terrible problem until yesterday. For most of the past few months he’s used a local-only phone to call my my mother. When she died last week we were all local, so it was easy to reach Dad. Now, however, the 3 kids are all back home.

That’s when I realized there was no way to reach him, and no way, short of an emergency, for him to reach us. Too bad I was back in Minnesota when this occurred to me. Not to mention it’s, you know, Christmas.

Obviously he needs to get a phone in his room (like it or not, alas) - but that would still be expensive to use long distance and it will take weeks to install. So I went looking for a local number he could use. 

Not surprisingly, given the Comcast-like state of all Canadian telecoms, you can’t get a Skype number in Canada. You can, however, use any one of about a dozen VOIP / DID Service Providers (DIDSP) to create a local Montreal number that forwards to a US Skype account or to any phone.

After a quick scan I divided the Canadian DIDSP market into short lifespan bottom feeders ($2-3/month), business market vendors ($20-$40/mo) and a few in the middle. Based largely on the plausible pricing, cancellation policy [1], and web site quality I chose VirtuFon and signed up for a $11/month Montreal number with 1,000 metered minutes and a 10 day “trial period” (can cancel without fee). [2]

I had to provide a credit card number, so I used my AMEX card — largely because of their fraud tracking and customer support. With most online vendors one has to assume credentials will be stolen — I doubt VirtuFon can withstand a modern hack.

It took only a few minutes to create a local Montreal number that forwards to my Minnesota Google Voice number. The number was immediately active with quite decent sound quality and latency. I was able to pass it on the nursing station at my father’s facility; about two hours later my cell rang. His call went from my Montreal VirtuFon DIDSP number to my Minneapolis Google Voice number to my Saint Paul iPhone.

It was a good conversation.

- fn -

[1] "Service is provided on a month-to-month basis. You are not obligated to a multi-month contract. To cancel service, simply click on the [Add / Cancel Services] link in the account management area of this website.” 

[2] VirtuFon’s marketing emphasizes using them as a gateway to Skype, which costs only $6/m. For various reasons I wanted to use my GV number instead.

Wednesday, December 24, 2014

Canadian mobile for Americans: A primer. (Koodo, Google Voice/Hangout)

It is hard for Americans to understand how awful Canada’s mobile and Internet options are. Imagine that your only option for cell and net access was the equivalent of Comcast. That gets  you half way there. Now double the cost.

Canada’s lousy net/mobile situation probably explains part of why, when I travel to Quebec, the web experience feels more like 1998 than 2014 (language requirements don’t help).

Why is it so bad and why don’t Canadians scream more? Geography always factors into Canadian economics - a country that’s 5,000 miles wide, 100 miles high, thinly populated, and sitting atop a monster, is always gonna have weird markets. There’s also culture — Canadians don’t whine enough. (We Americans lead the world in whining, wailing, and complaining. Gotta be good at something.) And maybe a bit of a Blackberry hangover. [2]

It’s so bad now even Canadians are getting fed up. There are rumblings about turning net/mobile access into a regulated utility — some of my relatives think Rogers and Shaw are getting nervous. We’ll see. Canadians can tolerate a lot of abuse.

This is on my mind now because I’m trying to figure out the best options for my sister.

I currently have her on an American AT&T iPhone 4 [1] and a $17/mo Virgin Mobile prepaid plan (Virgin is a Rogers MVNO). On her plan voice costs 0.40/min (!) and she gets 100MB a month of data (iMessage, Facebook, email). This plan costs about 4 times my kids H2O wireless plan and delivers less value [3]. It’s not great and she needs voice services [4]. 

Koodo, a Telus MVNO, seems to be the value choice (the dread CDMA acronym appears). The IMEI for my sister’s AT&T 4 passed the Koodo compatibility test, so it’s possible her current/future AT&T 4/4s would work with their SIM.

Looking at the options, and starting with these assumptions…

  1. 500+ min of talk
  2. No home internet service (so tethering [7], which is supported, is the only way to use, say, an old 32bit Mac Mini running Snow Leopard [5])
I end up with, tentatively [9], two Koodo options [6]. One caveat — Koodo, weirdly, does not support Canada’s Interac system for making payment [9].
  1. Postpaid: $60-$70 month (1-2GB) + fees
  2. Prepaid:  $90 (at time of purchase a 13% HST is typically paid)
    1. $35: text and unlimited incoming calls
    2. $30: data (1 GB)
    3. $25: 500 anytime minutes

Which brings me to Google Hangout/Voice. Having GV on her phone would provide some nice cost-saving options. Alas, even though Google has .ca domain documentation on Google Voice, neither GV nor Hangout are available in Canada (nor Skype!). One workaround uses a US Skype number to full Google, but of course that would give her a US number — not terribly useful actually [8]. Sigh.

So I think it’s going to be Koodo — either postpaid or prepaid depending on hidden fees with postpaid.

 - fn -

[1] The 4 (soon to be 4s) has been compatible with Rogers/Virgin frequency. I recently tried my unlocked AT&T 5s with a Virgin SIM however and the data service failed completely — I don’t know if this was due to Virgin’s fragile infrastructure or a frequency problem with the 5s chips.

[2] More culture. Canadians love BlackBerry, the little company that could. It’s dead now, but Canadians are a loyal bunch. So their expectations of mobile are kind of 2005.

[3] One twist — in Canada some cell plans don’t use minutes for incoming calls. Some do. Koodo does on some plans at some times. Complex, but if you know the rules you can text and ask someone to call and thus talk for free. Koodo’s old crappy website has an “unlimited incoming call” add-on for about $10/mo - but it’s unclickable on a modern browser. By the way, the website offers the same add-on for unlimited minute plans — where it adds no value. I wonder how many are paying an extra $10/mo to Koodo.

[4] If we cancel her home phone she needs 500+ minutes of talk a week.

[5] The best desktop device/OS combination Apple ever made — before the mediocrity hit. You can’t buy something as good today though there are obvious security issues with such an old OS.

[6] In US postpaid plans there are many hidden fees and taxes. I don’t know if that’s true in Canada, but in some provinces taxes add 25% to costs. I know the Virgin prepaid plan has no additional taxes, I assume that’s true of Koodo too. Makes prepaid/postpaid comparison harder.

[7] Desktop OS are not made for tethering — they randomly suck volumes of data. Modern “cloud” devices are big offenders, so a pre-iCloud Mac has an advantage. Still, it’s a worry esp. for a postpaid account. I don’t know how Koodo handles overages on a prepaid account; in the US H2O seems to just cut coverage but Ptel (Tmobile) will burn the number with a huge overage cost.

[8] The site also recommended “tellfi.com", but if you try to visit that site Google warns that the cert expired 270 days ago. Don’t go there unless you want your computer to serve Russia.

[9] Koodo’s website is broken — the add-ons can’t be selected using Chrome or Safari. There may be more options if the add ons features worked. I think the broken web site/funding situation may also explain their lack of Interac support.

Tuesday, December 09, 2014

Tablet WiFi only vs. WiFi/4G: $9 Android, $120 iOS

I'm used to paying more for Apple devices. I don't like it, but there you go. A 20% premium over a comparable competitor device is typical. A 50% premium is painful.

But a 1,200% premium?!?

ASUS Nexus 7-Inch 32 GB Tablet (NEXUS7 ASUS-1B32-4G) 2012 Model: Electronics

iPad Air 2 - Buy iPad Air 2 - Apple Store (U.S.)

$9 vs. $130 for cellular connectivity? Yeah, the iPad is LTE and the ASUS is "4G", but that's one hell of a price premium.

How long does Apple think they can keep this premium? I'd assumed a lot of it was IP licensing, but clearly not...

Saturday, December 06, 2014

iTunes sync misbehaviors - the drive fails Tech Tools Pro bad block scan. And a new rotation policy.

It took 18 hours of disk scanning with Tech Tools Pro to uncover the hard drive bad blocks that probably contribute to some of my recent iTunes sync errors. Errors that had left me on the verge of paying $200 to repair an iPhone 4s — I’m now going to hold off on the repair until I test that iPhone against a replacement drive.

I bought Disk Tools Pro 3 years ago when my primary iMac drive developed bad blocks, so it’s paid for itself a couple of times over. Once again Disk Utility found no errors and the SMART status was “fine”.

The drive is dead, modern drives are not allowed any bad blocks. The drive's onboard computer remaps bad blocks dynamically, when they show on this kind of test the drive has exhausted its reserve. So I need a replacement.

Lately I’ve been buying Western Digital Green SATA III 5400 RPM 64 MB Cache Bulk WD40EZRX drives, a few months ago the sweet spot was 3TB, this time it's 4TB. I don’t worry about performance on this external drive — I use my internal SSD for apps that need speed. I like that these drives run cool.

I also don’t need 4TB of storage — for one thing my backup drives are only 3TB. I assume that a 4TB drive will have a larger set of remappable blocks and that’s helpful.

The 4TB capacity will come in handy when this drive gets rotated out to backup. I’m getting tired of drive failures — mine seem to last 2-3 years at best. So I’m going to start replacing my secondary external drive every 18 months. At that time if it passes a full block scan it will go into the backup pool, and I’ll junk my oldest backup drive.

PS. If iTunes were really having trouble accessing data from this drive, the polite thing would have been to write something useful to Console.app log files.

H2O Mobile and data services: the Profile is not backed up, needs separate restore

A few months ago I discovered that I could enable cellular data on the kid’s iPhones, powered by $40/year H2O wireless [1] …

Gordon's Tech: ptel Real Paygo vs. H2O with data

… H2O now allows data use for iPhones [1]. I believe this is new, I learned of it via chat support as a last step check prior to migrating our daughter to Ptel [2]. The data service requires installing a new carrier profile from an ominous looking and quite mysterious web site: http://www.locusapi.com/pcs/apn.php

Today I learned that the profile isn’t part of an iOS backup. When I switched my daughter’s iPhone H2O wireless cellular data stopped working.  Reinstalling the profile fixed the problem.

[1] $10 every 3 months covers all the text/voice the boys need. My daughter needs about $80 a year, still very cheap. We enable cellular data for Maps, Messaging, email, calendar and a few other low bandwidth services.

OS X - moving files between users on one machine - how Apple expected this to work (13 years later)

I think my first version of OS X was 10.1 - “Puma” - probably in the fall of 2001, at the dawn of the Forever War. I certainly remember Jaguar.

OS X had roots in BSD Unix, so it was naturally multi-user with UNIX style permissions from the start. The multi-user bit has worked well, the permissions bit not quite so well. Windows style permissions have always been less troublesome than Mac/Unix permissions.

Maybe that’s why it has taken me 13 years to figure out how to share files between users without having to geek-out and explicitly change permissions (which is what I’d always done). Note that I have always kept a single admin user account separate form the accounts I and other family members use and my personal account is non-admin (which partly breaks Google software btw, Google expects Mac users to be admins) [2].

It goes like this:

  1. Ted logs into Ted account.
  2. Ted creates a folder in /Users/Shared with files for Alice.
  3. Alice logs into Alice account.
  4. Alice copies folder from /Users/Shared to Alice Desktop.

This is what’s happening to permissions…

  1. The folder in Shared, and all files in that folder, are Read & Write for Ted, Read only for everyone else.
  2. After the copy operation, the folder and files on Alice’s desktop is Read & Write for Alice, Read only for “everyone” [1].
Note Alice can’t delete the folder in /Shared, only Ted or an Admin can do that. (Since most Mac users run as Admin they don’t know this.)
There you go, it’s documented at last. Not that many people will ever need to know! Most Mac geeks run as admin, so they can probably work with the Shared folder directly.  Or, more often, they just use Google Drive or Dropbox to share files [3]. Non-geeks don’t even see the Shared folder — Apple has deprecated its use in Mountain Lion and later; Apple expects file share to be mediated by iCloud rather than a local file system.

- fn -

[1] Except for OS X veterans who have been infected by Apple’s “fetching forever” viral bug. We get someone else called “Fetching” with Read Only access.

[2] This has worked well for me, and I like the extra security layer it provides. It’s also a quick test of cruddy software — if the app won’t run well without admin privileges it’s a shoddy app. Google’s software is the annoying exception - a shoddy bit of Mac software I use anyway.

[3] We are a Google Apps centric family, so we share with Google Drive.

Friday, December 05, 2014

Troubleshooting iTunes misbehavior - move the library

I’ve had an outbreak of iTunes and iOS sync misbehavior lately. I’m not the only one.

While I wait for Apple to fix their bugs [1] I figured I’d try a refresh of my iTunes Library. It’s unlikely to hurt, and I have abundant backups. [2]

It’s a very old trick — so old I’d all but forgotten it. You just move your iTunes Media folder (advanced prefs, organize, etc). I’ve done this a few times over the past 10-12 years and it’s generally worked well. It’s really a copy, not a move, so if everything is fine you can delete your old files [3]. You need a lot of disk space of course, but external drives are cheap these days.

During the move it’s a good idea to turn off backup, especially Time Machine. Otherwise you’ll run into drive churn slowdowns. Just be sure to create a reminder to turn backup on again the next morning. (On my system this takes hours to complete, so I run it overnight.)

I figure if there are any file or database corruption problems this might clear them up. At least it ensures that everything has been touched by the current (icky) version of iTunes and all files have been freshly written to disk.

- fn -

[1] Given all of Apple’s recent software quality problems, I sometimes wonder about industrial sabotage.

[2] I’m at the point where I’m looking for hardware issues. One trick is to switch to WiFi sync — eliminates issues with USB cables, USB hub, USB ports, etc.

[3] I like to rename the original folder and let it sit for a few weeks. I create a reminder to delete it then.

Update 12/6/14

The library move seemed to go as smoothly as ever. Subsequent syncs were quick and trouble free, but only time will tell if anything has truly improved.

Monday, December 01, 2014

One theory on what is so screwed up with iOS 8.1.x and iTunes 12 synchronization

This comment on a thread about the hot mess that is iTunes 12 / iOS 8.1.x sync fits my theory…

Revisiting iTunes/iOS sync issues | The Robservatory: "incomplete syncs due to bad disk sectors in just a couple of songs (apparently when it hit the bad sectors it quit entirely–and silently–rather than moving on to the next song)"

My theory is that there have always been bugs and problems with iTunes sync, but when an error occurred iTunes moved to the next operation. It didn’t quit or hang. It also didn’t log anything useful to Console.

Now iTunes still doesn’t log anything useful to Console, but it doesn’t continue. It just quits the sync operation (might move to next one).

I hate you Apple.