Battery Exchange Program For Your MBP

How good is that? My MBP and MBP battery have the matching serial-number family, so I’ll receive my new battery in 3-5 working days. Be hasty.

At least one upside of being an early adopter: getting a new battery after 6 months. Thank you, Apple!

The Not So Cool Things About The Great USA

This is a living post. I will add more items as I remember them. Here’s the not so-short list:

  • Obsolete banking. For some reasons, people in the great United States of America are clingy to the obsolete mean of paying others: checks. Can you believe that? CHECKS! Checks are problematic, slow to process, easy to misplace, untrustworthy, killing trees, impractical, and having equal if not greater risks of identity theft. And you know how we pay bills in USA? By checks! Some major banks offer online services called “Paying Bills Online”. Great! But coming from a country where we literally wire transfer bill-payment, I set a high expectation on this “Paying Bills Online” system. It turned out that this system is merely an order system for the bank to write checks on your behalf and then send the checks to the biller through snail-mail. How primitive and insecure is that? It’s like the old telephone switching system: cool on the outside (you can talk to anyone as long as you know their number), but not-so-cool in the inside (operators have to literally “connect” you to the right port manually in order for you reaching the intended number; and of course, “wrong numbers” reply were so common back then). Besides, I have to pay my bills 5-7 days in advance of the due date to ensure “timely” payment. That 5-7 days window is the time allowed for the snail mail to reach the biller address, and then it’ll obviously take the biller another 2-3 days to clear and cut the checks. With BPAY system in Australia, I can pay my bills 1 or 2 business days before the due date and I believe my biller can access the money as soon as the wire arrives. People in US love checks so much, that IKEA warehouses have to tell them off (politely of course). IKEA put posters on every cashier that in a nutshell say something like “technology is advance these days, so we regrettably only like your debit or credit cards; but not your checks”. Thank you IKEA, you remind these folks how several light-years behind they are. And ooh, US banks actually charge you if you transfer money online to your buddies, but they don’t charge you if you use checks. It’s the opposite in Australia.
  • Power outage. I live in Australia for 7 years and not even once, I experience power outage. I’ve been in New York only 2 months, and already experienced my first black-out. Unbelievable…
  • 110 Volts…, and therefore no electric kettle. Have to go back to whistling stovetop kettle. DARN!
  • Self-service multibay car-wash with high-pressure water guns is rare as hen’s teeth.

7 Habits of Highly Effective Programmers

You heard about the "7 Habits of Highly Effective People" before, now it's time to be specific and unfold the secrets of 7 Habits of Highly Effective Programmers. Good read! Check it out.

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.

Oh How Much We Fall from Grace

Great words to ponder from Proverbs:

When pride comes, then comes disgrace, but with humility comes wisdom – Proverbs 11:2 

Pride only breeds quarrels, but wisdom is found in those who take advice – Proverbs 13:10

A man’s pride brings him low, but a man of lowly spirit gains honor – Proverbs 29:23

A friend loves at all times, and a brother is born for adversity – Proverbs 17:17

Like clouds and wind without rain is a man who boasts of gifts he does not give – Proverbs 25:14