Thursday, May 21, 2009

Why are all my Windows 2003 server folders read-only with a gray checkbox?

In the midst of a Kafkaesque episode of IT torture, I realized that all of my Windows 2003 server folders on every drive had a grayed-out (greyed-out) checkbox in the read-only attribute. The value of the checkbox could not be changed. (That is, it appears that it can be cleared, but on review it's set again. This is true even if one requests that changes propagate down the tree.)

In theory this means that somewhere in the tree of child folders there exists a read-only folder.

Was this related to the mind-crumbling miseries of my past week of IT hell?

Probably not, but the truth is dark enough. Microsoft has a kb article on this. I've cleaned it up, the original is poorly written. Emphases mine ...

You cannot view or change the Read-only or the System attributes of folders in Windows Server 2003, in Windows XP, or in Windows Vista

... Unlike the Read-only attribute for a file, the Read-only attribute for a folder is typically ignored by Windows ... you can delete, rename, and change a folder with the Read-only attribute by using Windows Explorer.

The Read-only and System attributes are only used by Windows Explorer to determine whether the folder is a special folder, such as a system folder that has its view customized by Windows (for example, My Documents, Favorites, Fonts, Downloaded Program Files), or a folder that you customized by using the Customize tab of the folder's Properties dialog box.

As a result, Windows Explorer does not allow you to view or change the Read-only or System attributes of folders.

When a folder has the Read-Only attribute set it causes Explorer to request the Desktop.ini of that folder to see if any special folder settings need to be set.

... if a network share that has a large amount of folders set to Read-only, it can cause Explorer to take longer than expected to render the contents of that share while it waits on the retrieval of the Desktop.ini files. The slower the network connectivity to the share the longer this process can take to the point where Explorer may timeout waiting for the data and render nothing or appear to hang.

Let's walk backwards to appreciate the horror of what Microsoft did here.

Suppose you want to display NTFS metadata like a file's name or comments in an Explorer view. This is a handy way to do what, millennia ago, we did using things like PC Magazine's dirnotes.com utility. Well, it's easy to enter that data, but how does Windows know to display it.

Ahh, here's where the horror of the hack sets in.

The metadata directions are stored in Desktop.ini files for each folder. It would be slow, however, for Windows to check that file every time an Explorer view is to be shown. So Windows 2003 needs to know when to check.

Cue dramatic music.

Some poor benighted soul realized that Windows (95? 98? NT? 2000?) doesn't use the read-only attribute for much. So he (must have been) had a brilliant idea. He'd hijack that attribute, and use it as a way to tell Windows that it needed to check the Desktop.ini file.

We know how the play unfolds now. Once this data value had been used this way the meaning changed. The text says "read-only" but the meaning is "look at the desktop.ini file".

We call that semantic drift.

Of course there's no reason for an attribute that really means "look at desktop.ini" to change the UI for a parent folder attribute of the same name, but that was inherited from the original use of the folder "read-only" attribute. It's a hack side-effect.

Finally, since "read-only" now meant "look at desktop.ini" it had to be reserved for system use, so Windows Explorer can no longer change that attribute. Of course attrib. exe can still change it, but probably you don't want to -- you're really telling Windows then to "ignore desktop.ini".

The Horror, The Horror.

Tuesday, May 19, 2009

Ping.FM: a router for status updates ... with just one small problem.

There are some disadvantages to being a mid-western geek of a certain entropic state.

If something doesn't show up in my Feed stream, I don't hear of it from my peers.

Take Ping.FM - for example. It's not new, but a GR search shows none of my sources called it out (but they did mention it -- with the assumption that any reader would know what they meant).

I found mention of it in a corporate blog I track at work ...
lbenitez . Luis Benitez . Socialize Me 
"... Ping.fm allows users to update their status in the following services from any of the following clients...".
So Ping.fm will update my status on LinkedIn, Facebook and Twitter. Great! Just what I've been looking for.

Except ...

Ping.fm needs my username and password for each of these accounts.

Riiigggghhhht.

Ok, that's a FAIL.

Maybe that's why no-one I read is keen on Ping.FM.

I'll check back if they're able to implement on OpenID mutual authentication framework.

Update 9/14/10: A relevant xkcd comic.

Sunday, May 17, 2009

Address book Google synchronization weirdness

Now this is really weird.

Here are the OS X Address Book "General Preferences" on my 10.5.7 MacBook (where I sync my iPhone):


And here are the same settings on my 10.5.6 iMac


Right. The 10.5.6 iMac has an option called "Synchronize with Google".

How the #$! did that get there? Why doesn't the MacBook have this option? (By the way, Google Apps Exchange Sync still doesn't work in 10.5.7).

Lifehacker has the answer. Turns out this is quite old (I even sort of remember reading about it):
Mac OS X Leopard only: Today's release of Mac OS 10.5.3 added a juicy little tidbit to Address Book: the ability to automatically sync your Google contacts. After you've run Software Update and gotten 10.5.3 (and restarted your Mac), hit up Address Book's Preferences pane. At the button of the General tab, check off the "Synchronize with Google" box to get started. Be sure to back up your address book before you sync, and see the FAQ for more info. Update: Several commenters rightly point out that this capability only exists for iPhone and iPod touch owners by default, which is quite possibly a crappier move than forcing Safari onto Windows users on Apple's part. Time to switch to Linux. Update #2: Only a few hours later, a workaround surfaces. Non-iPhone/iPod touch owners, here's how to enable Google Contact sync.
Alas, I read through the comments on the hack to enable Google Contact sync without an iPhone/iTouch and it sounds problematic.

Based on a similar story with Exchange Sync this feels like a side-effect of iPhone synchronization. It's obviously disappointing that none of this stuff improved with 10.5.7. I'll take a look at the Google sync, fortunately it's easy to restore contacts. I'll just make sure I turn off MobileMe sync before I experiment.

Saturday, May 16, 2009

Plaxo - just not a good feeling

An informed comment on my latest Project Contacts windmill tilt led me to take another look at Plaxo. I ended up deciding to wait and see what happens elsewhere over the next few months.

Plaxo launched about 6-8 years ago, and had a very nasty reputation for quasi-spyware behavior about 4-5 years ago. They've cleaned up their act and since been acquired by Comcast.

Nowadays they're sort of a cross between LinkedIn and Facebook -- leaning more to the former. Their secret sauce is contact synchronization across Outlook, OS X Address Book, and some phones. It sounds like that's reasonably robust. They also provide some calendaring services, but there's no support for CalDAV, calendar subscription, feeds, etc. It's all proprietary. Their only outward link is to Facebook, and you can share status updates with FB (so a Tweet can go to FB and then to Plaxo).

They can authenticate with a Gmail or OpenID account -- so I didn't need a new un/pw to try them. Based on my Gmail address they suggested links to everyone who has that address in their Plaxo Contacts -- which turned out to be a lot of people I know.

So what turned me off for now?
  1. It's really unclear how they make money. Their premium services are pretty mediocre. I know how LinkedIn, Google and Facebook make money.
  2. The complete lack of standards support (ICS, CalDAV, Feeds, vCal, etc).
  3. No clear way to subscribe to calendars, just their sync.
  4. All their sync and import/export require that they get my Google un and password!! Huh? In Jeff Atwood's words, that's a total FAIL. I'd sooner give them my DNA.
  5. The stuff I care about seems to be an increasingly distant second thought to their Facebook-play.
  6. They are incredibly obnoxious and persistent about trying to get me to give them access to my Gmail and other accounts and the rights to invite everyone in those accounts to Plaxo using my name.
So I'll give this one a pass for now. Let's see if Google gets their Contacts act together in the next few months -- even if that means I have to shell out for a year of Apple's sub-mediocre MobileMe while the smoke clears.

Update: Faheem responds in comments. He avoids all the Google and other password issues, strictly deals with iCal and Outlook and Address Book sync. He avoids all the social stuff and Plaxo arm twisting and just concentrates on Contact sync. He sure is persuasive; I'm convinced he knows this turf at least as well as I do.

Blogger editing madness

Switching between editing posts using Windows Live Writer, Blogger in Draft with Safari 4, and Blogger draft/standard using Firefox 3.x leads, sooner or later, to bizarre line space problems.

Not to mention applying blockquote operators to Blogger in Draft text with Safari causes new space doubling.

I fear it's all tied up in the ancient wars between unix, mac and dos (yes, DOS) around CR, LF and CR/LF pairs.

Interestingly IE 8 behaves like Safari 4, so Firefox may be a bad actor.

Update: It's worse than I'd thought. I wonder if Google is screwing this up again, I remember a period about a year ago when the line spacing behavior went berserk.

Update 5/23/09: I've experimented further. It's fubared. I have learned that if one uses the rich text "remove formatting" tool the formatting becomes more predictable. It's the interaction between source text formatting and the rich text editor that makes things really messy. I wonder if Google is giving up on blogger.

Friday, May 15, 2009

Project Contacts: Now mixing Outlook/Exchange, PST file, Outlook/Home, MobileMe Sync, OS X Address Book and the iPhone.

A recent Apple Discussion Thread led me to take a new direction with Project Contacts.

To put it mildly, there’s a lot of complexity in this post. However initial results are very positive. This method will require me to purchase a MobileMe account, something I was hoping to avoid. (See below for a partial index to past efforts.)

The end result is that I have a single collection of work/home contacts across iPhone and OS X Address book at home. The work contacts portion of this collection is updated weekly. At this time the update is one way, from Work to Home.

For anyone who may be facing these challenges, I have provided a skeletal outline here of what I did and what I would do if starting from scratch. You will see how insanely complex this is. Note that as of this writing the care PIM data that was once in Palm/Desktop is now scattered across Google (Calendar and a detached set of Contacts), Outlook/corporate, Toodledo and MobileMe. Everything does come together in my iPhone. The current solution involves a wide variety of vendors. For example, Apple's MobileMe calendaring is pathetic; far weaker than Google Calendar and a joke compared to Outlook (which makes Apple's no-show on tasks even more crazy). On the other hand Apple's Contact framework is very robust, much stronger than Google and a rival to Outlook.

This ruddy mess is a real indictment of Apple and a fat opportunity for the PalmPre.

So much for prelude. Here’s the outline, strictly for the uber-geek:

Here’s what I actually did:

  • Copying contacts from Outlook/Exchange root to Outlook PST caused the EX (Exchange server x.500) email addresses to be updated to SMTP (standard internet) email addresses.
  • PST on thumb drive to home (simple)
  • Copy into Home Contacts
  • Sync to MobileMe
  • In MobileMe web assign all to a Group
  • Sync to OS X Address Book (small conflicts)
  • Sync to iPhone (ok)
  • Sync to Outlook Home: Each Group in OS X Address Book became a Contacts Subfolder in Office 2003. This means the cardinality relationship to Address to Group may have to be One to One.

Expected problem:

  • Contact belongs to two Groups in OS X Address Book (multiple inheritance)
  • Contact assigned to ONE Subfolder in Office 2003.
  • In OS X change Group assignments.
  • What happens in Outlook?

Here’s what I suggest doing (LOTS of backups of OS X Address Book as go along)

  1. Outlook/Corporate create PST file, copy work contacts. Do not copy lists or groups of contacts, only contacts.
  2. PST file to thumb drive
  3. Home Outlook mount PST data file. Make sure Contacts folder is empty
  4. Sync iPhone to OS X Address Book
  5. Create new group in OS X Address Book that will hold corporate contacts
  6. Sync to fresh MobileMe Account
  7. Sync fresh MobileMe account to home Outlook
  8. Now Outlook will have an empty subfolder. Dump the Contacts transported into the PST file into that empty folder.
  9. Sync from Outlook to MobileMe
  10. Sync from MobileMe to OS X Address Book
  11. Sync to iPhone

A partial index to past and related efforts at work/home Contact integration:

Update 5/15/09: Now that I've got this working I'm trying various optimizations. For example, my contacts don't change that often. It's easy to create a view in Outlook that sorts by modified date. It's fairly trivial to send out a few changed .msg in an email and let Outlook at home merge them in. I still have to think about how to work with Google's Contacts, but I'm seeing a few interesting options.

It's weird how powerful MobileMe contacts are, yet how feeble MobileMe calendaring is. We're due for a MobileMe relauch, so I expect some developments before September.

Lastly, I should probably mention why I took this route. The more I looked at the workarounds for getting Outlook/Exchange corporate contact data to Google or the OS X Address Book the worse they looked. Their are problems with data models, problems with the intractable horror of the Outlook Add-In architecture, problems with Exchange server and problems with corporate access. This approach is crude, but for me, once I figure it out, fairly painless. I think it will fly until we get something better.

In the meantime, I'm rooting for the PalmPre to humiliate Apple and make them reconsider the direction they're taking.

Update 5/15/09b: Now that I've got this setup working I can see weird new affordances. For example, one of my top 10 OS X frustrations is the inability of FileMaker to work with the Address Book SQLite data stores. Ahh, but now my address data is synchronized between Outlook/Home and Address Book, and I can use Microsoft Access with Outlook/Home. So I can clean things up there, and MobileMe sync will propagate my fixes. I think I'll find a way now to get my Google Contacts into the battlefront.

Update 5/16/09: Great comment by Faheem, who's achieved a similar outcome using Plaxo without paying for MobileMe. I took a look, but Plaxo didn't feel right for me.

Tuesday, May 12, 2009

Outlook contacts to OS X Address Book - 3 techniques

In 2006 MacWorld outlined 3 ways to move Outlook contacts to OS X Address Book. It's rather annoying that Microsoft doesn't provide a standards-compliant export from Outlook; they're usually a bit better about data mobility of this sort.

Outlook contacts to Address Book | Root | Mac 911 | Macworld

... Under Outlook 2002 you could simply open your contacts and drag them to the desktop to turn them into vCards. No longer. Try this and the contacts are converted to messages.

While you can select a single Outlook contact, choose File -> Save As and, in the resulting dialog box, choose vCard Files from the Save as Type pop-up menu, this works only for individual contacts—you can’t export a group of contacts this way.

You have a few options for eventually getting the things out of Outlook. The first is to select all your contacts and choose Action -> Forward as vCard. Outlook will create a new email message that contains all your contacts as individual vCard attachments. Send this message to yourself, pick it up on the Mac, drag these files into Address Book or Entourage’s Address Book and you’re good to go.

Or Sperry Software can lend a hand with its $20 vCard Converter Add-in for Microsoft Outlook. This adds a service that enables Outlook to export all your contacts as a single vCard. (Yes, it’s galling that OS X’s Address Book lets you do this for free.)

Or you can use a go-between application to get the contacts out of Outlook and into an application that offers more flexible export options. That application is the Windows version of the free cross-platform email client, Thunderbird. Within Thunderbird you’ll find the Tools -> Import command. Choose it, select the Address Book option, click Next, and in the Import window select Outlook and click Next to import your Outlook contacts into Thunderbird...

I tried the Action - Mail feature, but it doesn't work for 980+ contacts.

Next on the list is the now $25 vCard Converter Add-in for Microsoft Outlook, but I fear all Oulook Add-Ins. I think the Outlook Add-In architecture is 75% unstable antimatter. (Alternate source?)

It's not on this list, but a few months ago I tried the export to Google to Address Book route. It was "ok", but I ran into problems with EX style x.500 email addresses.

So this time I think I'll try the Thunderbird option first, and if that's not satisfactory I'll try the (currently) $25 vCard converter add-in.

Once I have the Work contacts in OS X Address book, then they'll go to my iPhone ...

Update: Thunderbird had the same X.500 (EXchange server) email address translation problem as CSV export. Also, I couldn't limit import to a single contacts collection, it brought them all in. Lastly, it was very slow. If the Sperry product can do the x.500 to internet standard email translation I'll give it a try.

Also, this export utility has a 30 day trial.