Tuesday, August 30, 2011

Migrating Contacts from Outlook/Exchange server to OS X Address Book via MobileMe

For the past year I've had one set of Contacts in Outlook/Exchange server and another set in OS X Address Book/MobileMe. My iPhone pulled in both sets, so they met there. (I'll omit the added complexity of how I sync to Google.)

This worked quite well, but now I need to bring all my Contacts into OS X Address Book. There are several ways to do this [1], but in the midst of some quick Google searches I remembered I'd written about this. I like my approach best, as detailed in two 2009 posts (neither of which rank highly on Google fwiw [2]):

The value of this approach is it uses Apple's own software to manage the Outlook to Address Book translation. The problem is that it requires MobileMe, which is no longer publicly available. I'm hoping Apple will do something similar with iCloud -- assuming they don't shut Windows out entirely.

The software I use is the Contact Sync tool built into MobileMe for Windows. These are the components:

  1. MobileMe (alas, closed to new users ... maybe iCloud will work one day?)
  2. Outlook 2007 running on XP (in my case, in a VM)
  3. MobileMe Control Panel for Windows (no support for Outlook/Exchange, only Outlook standalone)
  4. OS Address Book.

The first step is to get a copy of my Contacts into Outlook 2007 at home.

  1. Clean out all Contacts from Outlook 2007.
  2. Using MobileMe control panel and "sync reset" I sync everything from MobileMe into Outlook 2007.

Second step is to copy my Contacts from Exchange Server to a PST file. This has the added benefit of transforming X400 style email addresses to standard format.

Third step is ...

  1. Back up OS X Address Book contacts.
  2. Add the PST file as a data file and drag and drop Contacts into a subfolder of Contacts (see above articles for details, this is how Apple's sync software treats OS X Address Book Groups -- as Contacts subfolders).
  3. Sync again to get them all to MobileMe and inspect MobileMe.
  4. In OS X sync to get them all to Address Book.

I'm reminded of something I'd forgotten -- how vastly better Outlook is for managing contacts than OS X Address Book -- especially since Microsoft Access can manipulate Outlook contacts. It's reason alone to have my VM keep synchronizing with MobileMe.

[1] CSV export doesn't work very well. There are some utilities that probably work; one reader of mine had success using Plaxo.
[2] A splog that had stolen a post of mine ranked higher than my stuff. Maybe I should start taking Google's ads?

Lost and found: putting contact info on iOS and OS X login screens

Most people are reasonably honest, and for some integrity is a point of pride.

So if you lose your iOS or OS X device there's a good chance it will be found by an honest person. Alas, at that point they're stuck. They have no way to know who to return the device to, especially if it's encrypted (as it should be).

It's easy to remedy this for an iOS device. You can make any image the background for the iOS login screen. I typed my contact info into an iOS Note, saved it as a screenshot, then made it my login background. For good measure I taped a business card into the back of my Speck iPhone case.

Things aren't as easy for OS X, including Lion. There's no tool for changing the login screen background, you have to hack it. On an Air, you can't even tape a business card or write contact info on the battery. (Yes, you could try a Sharpie on the back. That takes a Vulcan dedication to logic!).

For my Air I put my contact info into the password "hint" box. If someone clicks on the question mark next to my name on the login screen they'll see it. This is subtle though, so I'll probably hack the login screen too, and use a pixel editor to put my contact info there too. I did something like this once with a digital camera.

Apple should make it easier for honest people to help us out ...

Update: Yay! There's an official way to do this in Lion. KimH had the tip in comments. I'm starting to like Lion a bit more ...

Gmail and Google Contact Groups: At last, simple paste of a list of email addresses

I've not seen mention of this, but for me it's the biggest improvement to Gmail/Google Contacts in months. Heck, it may be the most valuable thing Google has done for me in 2011.

Years ago, when Gmail was definitely beta, we could create email "lists" (Groups) by pasting a list of email addresses into a text field. Gmail would digest the list and create a Group. Google removed this functionality, perhaps to reduce abuse by spammers. Instead we had to create Groups one member at a time. This was a serious PITA for the various sports teams and organizations I work with.

I gave up hope that Google would ever restore this functionality, but today I discovered they have -- probably in the past few weeks.

It's subtle, but the UI for creating a Group, or adding email addresses to a group, is now an expandable multi-line text box. If you paste in a list of email addresses Google will match them to existing Contacts and add the Contacts to the Group. Failed matches become new email-address-only members.

Tuesday, August 16, 2011

My Lion bugs - collection

I'll be using this post to collect the Lion (OS X 10.7) bugs I run into, and track which are fixed. I think Lion will ready for general use by summer 2012.
  1. Not a new bug -- but Lion Parental Control log display, like all prior versions of OS X, truncates the visited or blocked site descriptions.
  2. You can't create a guest account on a FileVault 2 encrypted disk. The option to do this is grayed out. If you are careful you can rest a mouse pointer on the checkbox and get an explanatory text. This makes sense, but the bug is a failure to notify the user; the UI doesn't work.
  3. There are problems with security and privilege escalation when users do administrative tasks from non-admin account. I think these will take a while to fix. They probably play a role with these bugs; I use a non-admin account most of the time.
    1. Printers shared by 10.6 machine are not visible to Lion machines. I was able to get the printer to show up by applying a pending 10.6 update and restarting both the print server and my Lion (Air) client. I have a hunch this is somehow related to the 'download from internet' bug (see below) and at root it's a security bug.
    2. Lion does not remember 'download from internet' 'do you want to open' choices. It can persist is asking them.
File these under criminally negligent design rather than mere bugs ...
  1. iCal
  2. Address Book

Friday, August 12, 2011

OS X: Firewire 400 networking faster than Gb ethernet

I've idly wondered about this and today I had a real world test.

I am copying a 64GB VM image between machines.

I knew it wouldn't work, but for fun I tried 802.11n. That was estimated to take days.

Then I tried Gb ethernet. OS X estimated 6 hours.

Then I tried firewire 400. It's little known, but 10.6 and earlier supported networking using Firewire (probably using Bonjour/Rendezvous discovery). Both machines assigned the one another an IP address and they connected (there was a little pizza spinning because I forgot to dismount a network share first).

The transfer was initially estimated to take 5 hours. Now it looks like it will complete in 30 minutes.

So it appears that OS X Firewire networking is much faster than Gb ethernet, which one wouldn't guess from the specs (Gb > 400 Mb). On the other hand, the firewire estimate started out as 5 hours and then suddenly sped up, so there's something quirky here.

Incidentally, doing firewire networking makes the laptop run hot. It's working ...

Shrinking a pre-allocated Mac VMWare Fusion virtual machine image

My "pre-allocated" VMWare image was taking up 120 GB on my drive for about 40GB of data. I found many references on how to shrink these images (.vmdsk), but they were largely obsolete and misleading. It takes a while, and the steps are weird, but it's fully supported by VMWare 3.

At a high level, here are the steps. Alas, I'm short of time so no details.

  1. Close down the guest OS.
  2. Using VMWare settings for 'hard drive' you can change the image from pre-allocated to the default. This takes hours but it works.
  3. Open the guest OS and run XP defrag.
  4. In the guest OS update VMWare tools.
  5. In the guest OS Run VMWare tools "shrink". Takes hours.
  6. In the guest OS Defrag again as a nice-to-do.
  7. Shut down and restart to make it all nice and clean.

My image now consumes about 45 GB of drive space. It's not pre-allocated, so it will get host OS fragmented as it grows but I can live with that.

Wednesday, August 10, 2011

Strangest sync error ever - Google Calendar

This is very strange.

I use Google Calendar Sync to sync an Outlook/Exchange calendar to Google Calendar.

On that machine I authenticate with two Google accounts, one has two factor authentication.

It looks like Google Calendar Sync is posting transactions to both accounts even though it has only one account's password.

At least, that's the best explanation I have so far.

Again - one of the weirdest things I've seen in a while, even allowing that sync is fraught with weird errors.

Tuesday, August 09, 2011

Steve Jobs hates me: Viewing Mac OS X Lion Parental Control logs

OS X Lion is not all bad. [1]

Yes, it's a memory hog (64 bit hurts). Yes iCal and Address Book drive strong geeks to drink. Yes, it's insane that it can auto-quit background apps (really, that's nuts).

On the other hand, 10.7.0 is less buggy than 10.6.0 or 10.5.0. That's progress. I might even upgrade my main machine after version 10.7.3 instead of waiting for 10.7.4.

Better yet, Mission Control and Full Screen are very nice on an 11" MacBook. Well done Apple.

Indeed, Mission Control is so good I dared to hope that Apple had fixed one of the most ridiculous bits of OS X -- the non-resizeable Parental Control log file window (See: Viewing Mac OS X Parental Control logs).

In 10.5 and 10.6 this screen has a control for a resizeable window, but it would only extend vertically. Most of the logged URLs were unreadable.

So what happened in 10.7?

You are guessing nothing. You would be wrong. The resize control was fixed. It now correctly indicates that the window can only be sized vertically.

Think about that.

Apple recognized there was a bug. They put some (small) amount of resources into fixing the bug. Instead of making the window resizeable however, the engineer fixed the control.

That can't be incompetence. That has to be malice.

There's only one possible explanation.

It's personal.

Steve Jobs hates me.

[1] The best review isn't the celebrated, and quite good, Ars Technical Review. It's Robert Mohn's Macintouch review. If you are only going to read one, read that one.

Sunday, August 07, 2011

Blogger search: no longer complete

For years Blogger's search of past posts worked well. Lately I've found it misses strings in some older posts, even strings that appear in post titles. So there's some unannounced limit been placed on search, possibly for performance reasons.

I hope Google will fix this, though it's a bad sign that they didn't bother to announce it. In the meantime I'm looking into what I can do with Blogger's export to "Atom Export Format". On first pass, it's not too promising. Gordon's Tech produced a 14MB XML file, including comments but excluding images (Text Wrangler opened it without blinking).

What I want is an HTML archive I can view locally and let Spotlight index. The sort of repository I used to create by running a robot against blogger.com. Maybe I need to try that again.



Saturday, August 06, 2011

What do do with an old iMac that shuts down unexpectedly?

Our 6yo G5 rev B iMac is shutting down unexpectedly. It's mostly likely the power supply, which is sold for about $150 with shipping. (This was an exotic Apple model -- it was designed for easy repair.)

It's an old machine with a partially delaminating monitor. So it probably only has a couple of years left in it anyway. That argues for replacing it with a mini and a monitor for about $800.

On the other hand, the kids use it when their MacBook is busy and it doubles as a movie theater and media server. It can run Classic, so it's valuable to people and businesses running legacy software; it still has a resale value of about $450. Throwing it out will cost money, plus that kind of waste hurts my soul.

Yet again, do I know the sudden shutdowns are a PSU? Could be something else. The costs of investigation are high ... but not as high as the pain of buying and configuring a new machine.

Decisions ...

I'm probably going to do a hardware test (if it will run long enough), reset the SMC/PMU and physically inspect the capacitors and mb. If it does well there I'll order the PSU.

Update: Capacitors look good, but it shutdown during the hardware test. I'm 90% sure it's the power supply, there was a brief recall five years ago but it was fine then. It's long past the time even a generous vendor would replace a PSU, so I ordered a "new" one from iFixit. The quotes because "new" in this context means Apple sourced -- I very much doubt anyone is making truly new G5 iMac PSUs. iFixit was $15 more than the lowest price, but they have by far the best reputation of the vendors I found. I will also be using their install directions, so I like to encourage them.

Update 8/10/11: The replacement came from iFixIt in a couple of days. It was very well packed. iFixIt includes a mailer to return the old supply so it can be "recycled". I think that means returned to Apple to be refurbished. Please do that, there can't be too many of these in circulation.

As usual, installation was trickier than the iFixIt  video suggests. I suggest look at user notes on all the G5 supplies they sell to get more tips. Here's what I wrote:

1. It is very hard to disconnect the optical sensor cable from the motherboard. There's no hidden catch, you just have to insert your spunger/thin screwdriver blade between the fittings and gently twist. I used a surgical clamp to also pull on the cable -- that did it. (The cable is being replaced, so you don't need to worry about it).
2. The top right screw is hard to remove. I had to partly remove it, then lever the power supply up as in the video while continuing to loosen it.
3. I used thin wide screwdriver blades to disconnect the power supply connect, my spudger wasn't rigid enough.
4. The supply has clearly been used before. In the context of something this old "new" means Apple refurbished. That's fine.
5. Beware the optical sensor, it's glued to the power supply. Look for it. When you insert the new supply place it first.

Even though my supply lasted a reasonable (but not great) amount of time, I've been annoyed at Apple for the high failure rate on the G5 iMacs. Going through the removal process though, there's nothing "cheap" about this bizarre and exotic "power supply" with its attached optical sensor. Apple must have been very unhappy with the manufacturer; I bet there's an interesting story buried in this supplies high failure rate.

iFixit included a $5 off coupon code. I'll never remember it, so feel free to try it: 5611FIXIT.

Lastly, the repair does seem to have worked. With the old supply machine shutdown less than two minutes into the hardware test. This time it completed a 1.5 hour hardware test.

Thursday, August 04, 2011

Oracle ODBC access with 64 bit Windows 7

I know it's a dying technology, but I still get a lot of value out of Microsoft Access manipulation of data stored in Oracle tables. I have a Windows 2003 server VM that runs Access 2003 and has 32 bit driver access to our corporate Oracle tables.

We're moving to Windows 7 (finally, and boy is Win 7 ugly), so in addition to my ancient VM I looked into using Access 2007 with those tables. The first thing I discovered was the 64bit Oracle 10.x installer didn't install the expected Oracle ODBC drivers. I also noticed that Windows no longer includes Microsoft's ODBC driver ...
Data Access Technologies Road Map

... Oracle ODBC and Oracle OLE DB: The Microsoft Oracle ODBC Driver (Oracle ODBC) and Microsoft OLE DB Provider for Oracle (Oracle OLE DB) provide access to Oracle database servers. They are built by using Oracle Call Interface (OCI) version 7 and provide full support for Oracle 7. Also, it uses Oracle 7 emulation to provide limited support for Oracle 8 databases. Oracle no longer supports applications that use OCI version 7 calls. These technologies are deprecated. If you are using Oracle data sources, you should migrate to Oracle-supplied driver and provider....
I spent a few minutes poking around the net, and it looks like there's no easy way to install Oracle's drivers into 64bit Windows. Indeed, it's not clear they exist. I'll do a bit more research with some more focused searches and post an update here.

Progress, as is usual, is a mixed bag. Access was an ugly, awkward Frankenstein application, but there's nothing like it for mixing and matching a wide range of disparate data sources. The deeply nested and reusable query modules could be horrendously slow -- but for what I do the performance was often adequate.

I'll miss Access.

Update: Superuser.com tells me that there exists a 64bit Oracle 11g driver. However, the user's unspecified version of Access is 32bit and it can't use the 64 bit driver. We're on Oracle 10g.

Wednesday, August 03, 2011

Wet iPhone: prevention and treatment

The iPhone is too precious. The fragility is not the big problem; any well made case seems to make an iPhone as durable as most any other phone. It's the water resistance. Or rather, the lack of resistance. When it comes to water, the iPhone makes Barack Obama look a tough negotiator.

It doesn't have to be this way. There's not much good to say about the obsolete Blackberry, but it's pretty good at surviving a swim. Maybe Apple will make some iPhone 5 or, more likely, iPhone 6 improvements. For example, they could go to a different connector, or get rid of the water-vulnerable home button.

In the meantime, every iPhone user needs to know the water drill. Go right now and read the Apple Core's overview. I've been through the rice version of this drill several times (family of five + 1 dog = 5 iPhones with 3 SIM cards = water practice). The key steps are:

  1. Wipe (shirt can work), remove case, wipe/shake water off.
  2. Power down the phone. Don't check to see if there are problems.
  3. Dry thoroughly. (I avoid compressed air, might push water into case).
  4. Place in a sealed container or baggie of rice (brown is best) or, if you have some stockpiled, surround with DampRid pouches (Amazon sells 'em).
  5. Leave in a hot dry environment for 24 hours. Some experiment with car in sunlight -- I worry a bit about too much heat. I like using radiant heat from an incandescent bulb.

Memorize and be ready. Remember, a new iPhone 4 is through;">$600-$700 $250 or so. You don't get the subsidized price unless your contract is up, and then you get a new contract a non-warranty iPhone repair will cost about $270 or so. [1]

That's treatment. Prevention is better. Most iPhone cases don't seal off vulnerable areas; I'm considering the Otterbox Commuter because of the port plugs. If you're boating, or even biking/walking in a downpour, you want a waterproof pouch like the Seattle Sports Dry Doc Digi Case. I bought one for my bike bag, but after my the middle kid's phone did yet another night in a rice bed I made it his phone case:

He can use the phone through the case in most locations, including anywhere outdoors. In his bedroom and in the water-free living room he uses the naked phone. He's happy with this arrangement, and I'm buying another waterproof case for my own phone and (another post) my MacBook Air.

[1] Correction! Martin reminded me in comments. I was thinking replacement, but in this case the phone is not lost. Apple will do refurb swap for about $270. I don't know, however, if this implies a contract extension.