2 Weeks with MacBook Pro
Okay, it’s been 2 weeks since I got my hand on the beautifully engineered MacBook Pro. I felt guilty I haven’t documented any photos or the switch experience. But I can tell you that it was surprisingly pleasant and smooth, no big drama, no fuss, no frustation. The first couple of days I left my MacBook Pro at home, because I couldn’t stand the high-pitched noise (yes, I got that problem unfortunately!) and I need to use laptop I’m comfortable to work with, I didn’t feel it that way at that time. I didn’t have time to install Windows XP on the MacBook Pro with the hacky method of OnMac, where I have to create a custom Windows XP installation CD with a tweaked boot image and homebrew EFI file to boot Windows. No disrespect to these brilliant people who made it happened, it’s absolutely great if only Apple didn’t come up with Boot Camp.
Although Boot Camp is credited for doing the heavy-lifting to set up Mac OS X and Windows dual-boot, it’s actually the firmware update the does the magic. But Boot Camp is so good, that I could set up dual-boot without baby-sitting it for longer than 15 minutes. After upgrading the firmware, I just need to resize Mac OS partition (graphically) to make room for Windows partition, burnt XP driver CD, then inserted Windows XP SP2 with answer file (for non-interactive install) and rebooted the machine. Checked half an hour later, all done, inserted the driver CD, it installed essential drivers and only left minor devices that you can live without, such as the IR port and iSight. The driver installer also includes handy goodies such as “Startup Disk” control panel applet to set default partition to boot, AppleCDEject application for making your Eject key works, and program called Brightness that sits on the tray to help with screen brightness.
While Boot Camp almost perfectly set up my Windows XP to work with MacBook’s devices, there’re still some pieces missing:
- How do you do your Ctrl-Alt-Del on that MacBook keyboard? The delete key on the keyboard is actually a Backspace. To solve this problem, you either attach an external keyboard to the laptop, or remap the Delete key to one of those redundant keys (such as the right Apple/command key or the numeric keypad enter key on the bottom of the keyboard). There’s a utility to do that called remapkey, which you can download as part of Windows 2003 resource kit. The utility will store the key remapping information into [HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout\Scancode map] registry value. Reboot, and there you go, you got your Delete key.
- The built-in trackpad doesn’t have a right click, and Windows doesn’t understand Ctrl-Click as right click. To solve that problem, you need the Apple Mouse Utility. Extract applemou.exe to [%windir%\system32] folder, then add “%windir%\system32\applemou.exe /s” to [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] registry key to start it up silently upon Windows logon.
- Accessing files on your Mac OS X drive from Windows. Unlike Mac OS X understands NTFS, Windows doesn’t understand HFS+; but MacDrive from Mediafour can help with that.
By the way, I feel compelled to justify why I “poison” my beautiful MacBook with Windows XP. For a start, I wrote applications for Windows for a living. Two, because I work from home sometimes, I need to VPN to the corporate network. Whilst Apani Contivity VPN client works great, my company only provides Contivity VPN Client for Windows.
Now, the Mac OS X experience. First couple of days was a bit challenging. Installed Microsoft Remote Desktop client, and because it’s not Universal Binary yet, it ran like a snail. Typing onto remote box lagged horribly. So found rdesktop as an alternative, but for mortal Windows users like me, that wasn’t straightforward to set up. I had to learn using Fink to download and install libs required to compile rdesktop, installed X11 from Tiger CD, and finally compiled rdesktop source code. It’s all good now, and rdesktop really flies compared to Microsoft Remote Desktop client.
It didn’t stop there. I thought I need a good UI for rdesktop. Obviously, tsclient is the one, but unfortunately it requires some Gnome libraries that are not available for Mac OS X. So I looked at Automator and saw an opportunity to learn Cocoa by developing Automator Action GUI with XCode and InterfaceBuilder. I’ll revisit my Cocoa learning experience in near future if I have the time.
One thing from Windows that I missed on Mac OS was the ability to hibernate (safe-sleep) on-demand. I didn’t even know that Mac OS is capable of doing that until I put my MacBook to sleep for several hours, and when I woke it up, it unusually displayed a progress bar with monochrome background of the last screen state before it was put to sleep. Ok, so Mac OS is capable of hibernating when required, just need to know how to make it do so on-demand. Follow this instruction, and then the next minute, my MacBook couldn’t boot when I restarted it. Great, the display showed a nice blinking globe. Found this helpful troubleshooting tips, and my MacBook was back in business after I pressed the combo keys (command-option-P-R), and it now hibernates on-demand (actually it now hibernates everytime I put it to sleep). Sad, so I can only have regular sleep or safe-sleep, but not both. Why I need hibernation so desperately? Because I would like to prolong my battery life expectancy, I removed the battery at 50% charge (conforming to Apple instructions); so if I don’t hibernate and the so-easily-detached MagSafe decides to come-off, I’m screwed. And by the way, I hate that MagSafe. I’ve never tripped on power cable before and I didn’t live with someone clumsy enought to trip on power cable; so apart from annoying me several times because it easily disconnected power upon contact with my laps, MagSafe is pretty pointless to me. Ah well, can’t make everybody happy.
One more thing…, the high-pitched noise in my MacBook is gone when I boot Windows and back when I boot Mac OS X. While I can get rid of the noise on Mac OS X by running Photo Booth, I don’t see that as an elegant long-term solution. My MacBook has revision C motherboard (serial starts with W8610), and according this, I should be able to swap my MacBook mobo with the latest revision. I’ll see how it develops before turning in my MacBook. I believe playing waiting game in this case will pay incentive.