Wednesday, January 14, 2015

dd, the Mac OS X (Unix) native solution to hard drive testing, cloning, drive recovery ...

App.net’s gaelicwizard posted this approach to hard drive testing back in Oct 2013. I’d lost it for a while but just found it again today:

$ dd if=/dev/disk1s2 of=/dev/null If it hangs indefinitely, replace the hard drive. If it I/O Error’s, replace the the hard drive. If it completes without problem, the hard drive has no bad blocks.

I’ve not seen this mentioned anywhere else recently, but I found a related MacOS X Hint from 2005 that explains what dd is, and how it can be used for drive recovery and as an alternative to “Norton Ghost”:

The Unix program dd is a disk copying util that you can use at the command line in order to make a disk image. It makes a bit-by-bit copy of the drive it's copying, caring nothing about filesystem type, files, or anything else. It's a great way to workaround the need for Norton Ghost.

Normally, in order to make a disk image, the disk you're copying from has to be able to spin up and talk -- in other words, it's OK to make a copy if the disk is healthy. But what happens when your disk is becoming a doorstop? As long as it continues to spin, even with physical damage on the drive, dd and Mac OS X will get you out of the fire.

We had a situation recently where a friend sent a disk to us that had hard physical errors on it. It would boot in Windows, but then it would hit one of these scratch marks and just die. We fired up dd, and it started OK, but stopped at the same physical error location -- complaining about a Hard Error.

So the workaround was to designate the dd mode as noerror -- which just slides over the hard stops, and to add the mode sync, which fills the image with nulls at that point. We did it on BSD Unix, but as long as you can get the hard drive attached to your Mac, the command is the same:

dd bs=512 if=/dev/rXX# of=/some_dir/foo.dmg conv=noerror,sync

… Once you’ve established the disk image (in this example, foo.dmg), you're almost home. Here's where your Mac OS X box is far and away the best thing to have. In this example, the dd output file is foo.dmg. You have to realize that this is an exact copy of a busted drive, but the "holes" are filled with nulls. As long as the damage isn’t to the boot sector, though, when you double-click on it, Mac OS X mounts it without breathing hard … who cares if it's FAT32, NTFS, whatever...

On a Mac or Unix machine “man dd” will provide the explanations of the parameters in @gaelicwizard’s example:

  • if=file Read input from file instead of the standard input.
  • of=file  Write output to file instead of the standard output. 

So the command reads every byte of disk1s2 and writes it to “null” (Nowhere). Why disk1s2? It’s a common boot drive. You can use “diskutil list” to find out the name of attached drives. On my machine the result looks like:

/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Stanford 999.3 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *2.0 TB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_HFS Media 2.0 TB disk1s2
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *3.0 TB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_CoreStorage 3.0 TB disk2s2
3: Apple_Boot Boot OS X 134.2 MB disk2s3
/dev/disk3
#: TYPE NAME SIZE IDENTIFIER
0: confidential *102.4 MB disk3
/dev/disk4
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS BACKUP_B *3.0 TB disk4

I tested dd on disk4 (my backup disk). I found I had to run from my admin account, I needed to use sudo, and I had to unmount the drive first (or I got “resource busy” error message):

Admin$ sudo dd if=/dev/disk4 of=/dev/null

Please be careful what you type — especially for the of parameter. One little typo and you could be writing data anywhere.

It runs silently, you can stop with a Ctrl-C. It then reported:

1451352+0 records in

1451352+0 records out

743092224 bytes transferred in 48.218709 secs (15410869 bytes/sec)

I’ll let this run overnight on one of my backup drives some time, but it looks like an inexpensive way to test a hard drive. I’m surprised it’s not described more frequently. gaelicwizard knows the dark arts.

Monday, January 05, 2015

Aperture Tip: ⌘↑ or ⌘↓ will change focus to selected image

You select an image in Aperture, one among thousands. Now scroll up. How do you get back to your selected image? ⌘↑ or ⌘↓ will change focus to selected image.

Sunday, January 04, 2015

Google Voice for the home - Obihai SIP/VOIP devices and porting landline number to Obihai/Google Voice.

Obihai Technology is marketing Google Voice use with their Obi VOIP-landline bridge products (SIP & OBiTALK VoIP services, $40 on Amazon).

Unfortunately there’s no way to port a landline number directly to an Obi device. Instead you have to use the T-mobile hack - port to T-Mobile then port to Google Voice (best documentation of this hack I’ve seen by the way). Once you’ve made this irksome port however, you do get to use GV’s great features from a home landline and VOIP. (Compare, however, to mix of GV, Bluetooth, Mobile, landline.)

Alas, the future of Google Voice is problematic — we know it’s going to be replaced by Hangout, but we don’t know what Google Voice features will survive. 

Still, it’s amazing to watch the twisty-turny evolution of voice communication. This is NOT what we expected back in 1994; then we expected voice communication to become essentially “free” by 1998. Remember that the next time someone predicts the evolution of the marketplace based on technological innovation. The market is very good at fighting back - for example. (Use a fax machine lately?)

See also

Saturday, January 03, 2015

Wanted - a way to make an old style landline work over a cellular connection.

My 93 yo father is a resident of a Canadian Veterans long term care facility. He’s doing pretty well there, but it’s a bugger to reach him. Their landline costs are very high, and installation seems to take eons. Vets who can use a cell phone are fine, but that’s hard for him.

What I need is a cell phone that looks and acts like this phone:

1

I’m sure they make these for the China market, they’ve turned everything into a cell phone.

The closest I can find in the US market is the Panasonic Link2Cell Phone (note, however, complex compatibility grid.pdf - 3GS is borderline).

Screen Shot 2015 01 03 at 8 22 52 PM

I could put an old iPhone in his room, leave it permanently plugged in and maybe this would work. It’s pretty complicated though he has used similar devices. (I think these are sold to people who  get rid of their landline and transfer the landline number to a cheap cell, but want to share a home phone.)

I fear what I really want is only sold in China  It’s either mobile that looks just like old red except that it has a plug rather than a phone cable, or it’s a bluetooth device that fools an old style phone into thinking it’s on a phone line.

Update: I found a few other options…

2

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:

https://pinboard.in/search/u:jgordon?query=%s

https://pinboard.in/search/?query=%s&all=Search+All

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.

Update

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.