Tuesday, November 28, 2006

Mac OS X vs Windows

I've worked on Windows computers much longer than I've worked on Macs. As a software engineer, I've realized a couple key issues with Windows.

Windows Registry
This is a single point failure on Windows. The registry database is used to store the settings and options for Windows' users, applications, preferences, and hardware. When Windows boots up, it reads this database of settings. If the registry gets corrupted, it can render Windows unbootable. When applications install and uninstall themselves they update the registry. When a program fails to uninstall correctly, it can leave cruft in the registry which can lead to performance and stability problems. This is why Windows computers really do slow down, over time, as you install and uninstall more and more applications.

How does Mac OS X get by without a registry? Simple, each application has preferences which are stored in preferences folders. For user specific preferences, the folder is stored under the user's home folder. For system wide preferences, the folder is stored in a globally accessible location. The preferences data is a human readable file (called a plist which is short for property list), which can be edited by hand - but manually editing a plist is rare. The plist file is only read when needed - unlike the Windows Registry, which must fully load to complete the boot up process. If the plist file becomes corrupted it can usually just be deleted and the respective application will create a new one the next time it loads.

Networking
On the desktop computer there are basically two operating systems: Windows and Unix.

Windows 98, ME, NT, 2000, etc, are different flavors of Windows with roots that go back to MS-DOS circa 1980. Free BSD, Linux, Open BSD, AT&T, Solaris, and Mac OS X all have their roots in unics [sic] circa 1969.

In the world of high-tech, new usually means better, but that's not the case when it comes to security. MS-DOS got its start on PCs in the early 1980s when there was no local area network and there was no need to log into a PC. Unix, on the other hand, ran on mainframe computers which were accessible by multiple users at once. So, from the beginning, unix had the concept of users, permissions, and security.

Retrofitting security into Windows has been its biggest Achilles' heel. Of course, with more than 90% of the desktop market share it's also a big target.

I joke that Windows is an "open system" in that all of its ports and services were left wide open for attacks.

Design & Marketing

Design
That's the single word that best describes Apple. Not just industrial design, but UI design, software architecture design, design through layers of abstraction. The product of this is elegance and simplicity.

Marketing
It's about the marketing. Microsoft is, first and foremost, a marketing company. Although they lose when it comes to innovation, they clearly win when it comes to marketing and, obviously, money. Simply put, you cannot gain 90+% of the desktop market share without being the marketing king.

Apple vs Microsoft?

"Apple should have licensed the Mac's operating system."

No, not really.
Direct comparison of the two companies' business models is - pardon the pun - like comparing apples to oranges. Seriously, Apple is a hardware company, like Dell or HP, and Microsoft is a software company. Just to be clear, hardware companies make their money selling hardware and vice versa. Not to mention, changing business models of this magnitude is not simple. (IBM, who successfully did this in the mid 1990s after a near death experience, is the rare exception.)

Apple appears to be the personal computer company that's been around the longest. Although a big chunk of Apple's revenue comes from the iPod how many other multi-billion dollar computer companies, after 30 years, are still selling what they sold on day one?

As an Apple shareholder, I much prefer comparing Apple, with its $78B market cap, to Dell, with it's $61B market cap.

(Yes, I know Apple did license its OS in the mid 1990s.)

Monday, November 27, 2006

Lousy Safari Experience Fixed




I've been getting a little frustrated with Safari since moving to a machine with an Intel processor due to the spinning beach ball popping up way too often. But, I think I figured out what the problem was... the problem was especially noticeable on Web sites that made heavy use of Flash.
To fix the problem, I downloaded the latest Flash plug-in from Adobe. I'm thinking that my version of Safari, which was moved over from my PPC box, may have had a Flash plug-in that was compiled for the PPC; hence, it had to use Rosetta to translate the plug-in from PPC to Intel.
I haven't confirmed this scientifically, but I'm definitely noticing an improvement. Or maybe, the plug-in version I downloaded, dated 11/14/06, just had some big improvements. Either way, I'm happy.


PS- To take a perfect screen shot on Mac OS X, just press CMD-Shift-4 and, when you see the cross hairs, press the spacebar. Your cross hairs will turn into a camera icon. As you move the camera icon over each window it'll be highlighted. Just click the mouse on the window and the screen shot will be saved to your desktop as a PNG file. To save the screenshot to the clipboard, press CMD-Shift-CTRL-4 instead.

Sunday, November 26, 2006

New MacBook Pro Data Migration


Whenever I get a new computer, my biggest problem is migrating all my old stuff to my new machine. Usually, I just use Carbon Copy Cloner to mirror the old hard drive to the new one, but that won’t work since I’m moving from a PowerBook with a PPC processor to a MacBook Pro with an Intel processor (my PPC version of Mac OS X is not Universal).
Of course, Apple has already solved this migration problem for me. The first time I turned on the new MacBook Pro, it asked me if I wanted to move my data from another Mac. I simply connected the computers using FireWire and everything was moved to the new computer including my home folder, preferences, apps, and network settings. There was one minor exception: I had to manually install Apple’s developer tools since that folder isn’t kept with the regular applications.


Disclaimer: I’ve worked for Apple for eight years. Not only had I never used a Mac before coming to Apple, but for my first three and a half years at the company I only worked on Windows NT and Windows 2000 on a daily basis.