iCloud and Outlook: Installation Order Matters!

Nice work, nVidia. Today marks the third time in three years I’ve had to send my Mac back to Apple to replace one of your faulty GPUs. What the hell happened?

I spent the morning setting up an old Windows box so I can at least keep up on e-mail while my Mac gets a less-broken logic board. Figured this would be a good chance to checkout iCloud on Windows, so I downloaded it, installed it, and then installed Outlook 2010. Went into the iCloud control panel, told it to synchronize my Outlook Contacts, and… no. Got this useful error instead:

Error: 0x8004010F: ZebraMapiCopySession::CreateMobileMeMessageStore: CreateMessageService failed

What the hell does that mean? Turns out, it means that you shouldn’t install Outlook after iCloud; you need to install Microsoft Office first. Uninstalling and then re-installing iCloud fixed the problem. Now I’ve got my calendar, contacts, and e-mail all showing up nicely in Outlook. Which would be awesome, except—it’s still Outlook.

And Apple? Your error messages could use some work…

Apple TV and iTunes Match

My 3rd generation Apple TV (with iOS 5) has some problems streaming media. First noticed it with NetFlix; the stream would pause for about 30 seconds every couple of minutes. iTunes Match had a different problem; after playing about 10 minutes of music, the screen would go blank (my TV started searching for different inputs, so I think the Apple TV’s output signal completely died), then return to the Apple TV home screen. I haven’t had any problems using NetFlix or iTunes Match on my computer, so I assumed the wifi (an Airport Extreme) and Internet connection weren’t to blame.

Finally seem to have tracked down the problem (or at least, one of them): it’s something in the Dolby Digital output. Go into Settings/Audio & Video/Dolby Digital and change the value to Off. I have my Apple TV hooked up to a receiver via an optical cable, so I’d turned this setting on to get surround sound. Since disabling, I’ve been able to listen to entire albums on iTunes Match for the first time—they had never made it past the 10 minute mark before. Here’s hoping a software update will fix this issue and restore the surround sound feature…

Update: Spoke too soon—just dropped the audio stream again, though it’s definitely not happening as consistently as before. *sigh*.

Yet Another WordPress Flash Uploader Problem (with solution!)

This was a new one for me. Every time I tried to upload a photo to a WordPress site, I received a very informative “HTTP Error” message while the upload progress bar read “Crunching…”. Thanks in part to the stunningly generic error message, it took a while to figure out exactly what was going on.  The problem, it turns out, was HTTP authentication; I had enabled Apache’s basic HTTP login for the site, but being a plugin, Adobe Flash was not similarly authenticated.  So, trying to use the Flash-based image uploader kept silently failing because it couldn’t authenticate with the server.  The fix is simple: just tell Apache not to use authentication for the script that handles Flash-based uploads.  You can do this by modifying the .htaccess file in the root of your WordPress directory like so:

<FilesMatch "(async-upload.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none

Making the Apple Keyboard Play Nice with Windows

After a long, long love affair with Logitech, I’ve finally finished a slow migration toward Apple’s input devices.  Their aluminum keyboard took some getting used, but once I’d grown accustomed to it on my Macbook, I decided to get one for my Windows 7 desktop.  It seemed like everything was working perfectly until I pressed the mute button; nothing happened.  Volume down?  No go.  In fact, all of the media keys (volume up/down, mute, play/pause, etc.) refused to do anything. For whatever reason, SharpKeys and other keyboard mapping utilities don’t recognize Apple’s media keys.  The solution, it turns out, is to install a pair of Bootcamp files from your Mac OS X installation DVD.

Here are the steps that worked for me.  I’m running Windows 7 x64 with a 2010 Apple aluminum keyboard, and have a Mac OS X 10.6 Snow Leopard installation disc.  As always, your mileage may vary:

  1. Insert your Mac OS X installation disc.  If it tries to auto-run anything, cancel it.
  2. Open Windows Explorer, right-click on your DVD drive, and select Open from the menu.
  3. Navigate to the Boot CampDriversApple folder.
  4. Copy BootCamp.msi (or BootCamp64.msi for x64 systems) to your desktop.
  5. Copy AppleKeyboardInstaller.exe (or x64/AppleKeyboardInstaller64.exe for x64 systems) to your desktop.
  6. Use a tool such as 7-zip to extract the AppleKeyboardInstaller.exe file.
    1. With 7-zip, can you do this by right-clicking on the file and selecting 7-Zip->Extract to “AppleKeyboardInstaller”.
  7. Navigate to the folder you extracted AppleKeyboardInstaller.exe to and run the DPInst.exe file to install the Apple keyboard driver for Windows.
  8. Click Start->All Programs->Accessories, right-click on Command Prompt, and select Run as administrator.
  9. In the command prompt, type “cd Desktop“.
  10. Install BootCamp by typing “BootCamp.msi” (or “BootCamp64.msi” for x64 systems) in the command prompt.
  11. Once the installation completes, you can delete the files on your desktop and remove the Mac OS X installation disc.  Reboot your computer and enjoy your new media keys!

April 2013 Update: I just tried this method using Windows 8 and the BootCamp drivers from Mac OS X 10.8 Mountain Lion. Apple seems to be preventing the new BootCamp.msi  (version 5) from installing on non-Apple hardware, so the above method will fail on Step 10. Luckily I had an old copy of Mac OS X 10.7 Lion BootCamp drivers (version 4) which worked perfectly on Windows 8.

August 2013 Update: Thanks to Tom in the comments section, who pointed out that Apple’s Bootcamp update will install on non-Apple hardware, so we can use the latest Bootcamp drivers on Windows 8! On my machine, however, these new Bootcamp drivers set the time incorrectly after each reboot. The fix is to open up regedit.exe and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation. Double-click the RealTimeIsUniversal key and set its value to 0. Reboot and enjoy!

Mapping Caps Lock to Control without Admin Access

Somewhere along the line, I picked up the habit of mapping the otherwise utterly useless caps lock key to act as another control key.  If you’re an Emacs user, this is sort of critical to avoid the wrist strain of constant pinky-stretches to the lower-left corner of the keyboard.  Its become second nature now, so when I recently found myself working on a Windows-based lab computer where caps lock actually performed as-advertised, the result was a lot of code THAT lOOKED LIKE thIS.  Unpleasant, to be sure.

Linux and Mac OS X make remapping this key extremely easy.  System Preferences on the Mac and the GNOME keyboard control panel on Linux include a simple option to enable.  Tada!  No more wasted space west of ‘A’.  Windows, of course, is a different beast.

The good news: there’s a very simple registry hack to remap caps to control.  Seriously, it’s floating all over the internet.  Except, there’s a wrinkle–you need administrative access to edit the HKEY_LOCAL_MACHINE registry tree, which is what all of these hacks do.  For whatever reason, our school has decided computer science graduate students aren’t to be trusted with administrative access to their own computers [another rant for another time], so what’s a wrist-strained user to do?

Muck around in the Windows registry, of course!  It turned out to be pretty straight forward.  There’s a duplicate of the keyboard mapping registry key under HKEY_CURRENT_USER, which non-administrators can modify, and it appears to behave exactly like the key under HKEY_LOCAL_MACHINE.  So, for anyone in a similar position, here’s the registry key to modify:

HKEY_CURRENT_USER→Keyboard Layout→Scancode Map =

You can download a registry update file here.  Save it to your computer, double-click it to update your registry, then reboot and enjoy your vastly-improved keyboard.