Confessions of a Mac convert
July 21st, 2008
First off, my apologies to both of my astute readers, who quickly realised that it’s been a long time since I blurbed anything to teh intertubes. I was having a vacation, this time almost for real, using computer only an hour or two a day. Ok, maybe more, but not much. Family and stuff, you know.
Where was I? Oh. Yup. I joined the ranks of purchasing a $3000 text editor. Ok, TextMate costs only 39 €, but it is available on Mac only, and if you’d love to have a 21st century Emacs -like überpower tool at your hands with seamless OS support, you want to get Mac—just to be able to run TextMate.
Nevertheless, I’ve been nothing but astounded by the usability and power of tools offered by OS X Leopard (not forgetting the very nice engineering of Apple hardware itself). To put it short, back in ye olde days Macs used to be scorned by the True Computer Geeks such as programmers, Unix gurus and other people familiar with deeper workings of computer hardware and operatings systems. Ok, it was generally admitted that Macs are good for novices who just want to do simple things like write memos and stuff. There were some other niche areas where Macs were often used professionally, like audio and video processing.
Now, that all has changed. To me, it seems obvious that when discarding the old OS 9 and beginning with OS X (pronounced “OS ten” to avoid embarrasing attention), which is the current Mac operating system, Apple wanted to preserve everything they were famous for and very good at, and to throw along bunch of capabilities required by the more geeky computer users and hackers. No, let me put it another way; to say throw lends for ill connotations—it sounds more like an afterthought, which couldn’t have resulted in such a seamless, consistent and fluent system as OS X Leopard is. No; they have to have designed it carefully from the very beginning, probably starting from scratch and perfecting it every now and then until the whole system, comprised of both the hardware and software, felt like a single, consistent entity.
I’ve been dissatisfied with both the Windows operating systems (XP/Vista) as well as Linux distributions for quite a long time (and I’ve tried many – I used solely RedHat professionally over two years for software development, Debian even for longer, and finally KUbuntu Linux). I mean, if you don’t want to spend hours configuring stuff and debugging problems, you have to appreciate ease of using Windows. Buy any hardware from the computer store and it just works in Windows. And if it doesn’t, you’re at least able to contact some commercial support service and have the problem fixed—after all, the product was usually designed for MS Windows, de facto standard OS, and very likely it came with some sorts of guarantee. And I won’t even mention the amount of software available for MS systems. Especially if you want to play games every now and then. But then there’s the problem of automation and customization of the system itself. If you have to do something that you don’t have special software for, or you like to do some rather complex things automatically, Windows gives very little support. Don’t tell me you use .bat or .cmd files for scripting production-quality software. Bah! Three words: date/time scripting. To accomplish such tasks, you either find a special purpose software for that, or you code one yourself. Of course, being a hacker you install Linux, used by every cool kid in the town. It sure is the king of hackable OSes. For example, if want to turn off unnecessary VGA display and keyboard support for some embedded software, you can always just recompile the kernel and take the parts off you don’t need. And when it comes to communication, Linux is famous for supporting any imaginable protocol, with the probable exception of smoke signals. However, probably the best feature of any(?) Unix system is the philosophy of pipes and filters combined with appropriate, simple but powerful tools such as grep, sed, tail and such. Those tools make it easy to do relatively complex tasks for processing text and/or system automation. For example, it takes only a simple shell script containing one to two lines to remotely back up all files more recent than two days over the network to some other machine using ssh or scp. Another example could be a poor man’s continuous integration tool, especially if combined with make (which is relatively standard unix tool). But in Unix world, there’s a price you have to pay, even though the OS itself and tools can be free. I mean, I’ve used Linux over 10 years and I have to admit that it’s not truly plug and play, even the Ubuntu versions, though sometimes you can use printer right after plugging in the usb cable, or wireless adapter. But problems in using external hardware are much more common than in MS world (understandably; it is not common that vendors give out the internal specs of their hardware, especially for free) and your mileage will likely vary. Moreover, not all software Unicen come with easy to use graphical user interfaces. In the long run, you have to learn syntax of several different configuration file formats as well as caveats and quirks. But the worst of all, which took me a long time to understand, is that most open source software suffers from certain development problem, obvious in all Linux distributions I’ve used and in several applications as well.
In my opinion, the problem is not technical but psychological. As a software programmer, I know that creating new features, starting new projects and making code work faster is much more fun than making it more robust and otherwise polishing it. Being driven by pure volunteerism alone, OSS developers attempt to make software robust only if they are enough disciplined or ambitious. I don’t mean this as an insult. Come on, it’s obvious! I know I’ve seldom finished any work I’ve written for free, and those that I have, I’ve never bothered to make them very robust, user-friendly or anything that is expected from software packages available at the store shelves. At work you’re more or less forced to, which is a good thing. Sure, Emacs is very robust and stable, capable of uptimes of months and more, but it’s been developed for decades. About time, you could say. Besides, it’s still ugly. But the reason for changing to TextMate is not ugliness but usability. Due to lack of elegant scoping system used in TextMate, Emacs keyboard shortcuts are way too long. And I don’t want to bother customizing all keyboard shortcuts to my taste in every machine I use. There’s wisdom in living with defaults, and TextMate defaults are just fine. Ok; at least I’ve switched to TextMate in Ruby (on Rails) development, because it’s the most supported editor for doing precisely that stuff. There are bundles for Ruby, Ruby on Rails, Merb, RSpec and whatnot. It might be that I still resort to Emacs when typesetting LaTeX documents, though I’ll definitely give TM’s LaTeX bundle a shot. Last, not all my computers at home are Macs. Yet. Crap.
As for the rant above about OSS, note that I’m not labeling all OSS as crap, or even blaming the open source model itself. However, I do have lost my trust in open-source operating systems deployed at end-user points. I still favor Linux in servers because setting up a DNS, mail or web server doesn’t have to be easy and it’s not something I do daily. But I do want to be able to run my routine tasks so that the tools are practically invisible and I can focus on the task at hand. And the illusion of invisible tools really does fade somewhat if the program dumps core, recovering from sleep mode leaves your screen blank forcing you to reboot, copying files from your digital camera requires editing of /etc/fstab using a syntax you always have to look up from the manual page, or anything similar. No, I only managed with Linux so far because it was the best choice I knew of, and I was mostly capable to fix the problems myself, or circumvent them if necessary. When Linux phenomenon started spread back in the ‘95 or so, it was so remarkable system back then and had so much potential that I really wanted to believe it reach superiority as a platform, no matter the task at hand. But that was mostly when I was still a single, and I didn’t realize that in reality, I spent many hours every week just trying to configure some things properly and searching for properly working versions of the software I wanted to use, alluring myself to the belief of ease of use.
Now, thanks to this 64-bit, pure goodness of an OS sporting a Mach-based kernel and supporting up to 4 TB (yes, that’s terabytes, equalling 4000 GB) of RAM I’m able to Just Get Things Done quickly and easily, be it programming, automating complex stuff or programming software with my copy of TextMate. And when I just want to watch videos, print stuff, listen to music, read e-mail or accomplish any of the more meager tasks without thinking about missing codecs, unsupported proprietary standards or incomplete implementations and ugly excuses for an interface, I just do it without hassles. Besides, the included software in OS X is far more usable than Windows counterparts. Take notepad/wordpad and paint as examples. Seriously? Even novices often abhor those tools due to lack of every single features except copy/paste and save as. Meh. With OS X you can actually get job done. TextMate is the only app I’ve purchased so far, and I’ll likely get iWork later, but it’s only $79 and offers a full office suite. Or I’ll just tug along using NeoOffice (Mac port of OpenOffice suite).
Oh, and did I mention how fast OS X is to use, and how quickly it recovers from sleep? ok, you wouldn’t believe it anyways. I won’t.
So far, after using Mac for a month my only gripe is the lack of commercial games. Sure, the situation is improving all the time and it’s way better than it was for Linux ever (even with Loki software around). Like, I can get World of Warcraft for Mac, or Lucasart’s Galactic Battlegrounds or even Empire at War, all native apps without any emulators or such; the situation is definitely better with current games, as current Macs are based on intel architecture as well (and NVidia graphics cards). But Apple store still mentions only about few hundred popular titles compared to thousands available for PC. Fortunately, I can probably play Company of Heroes using the Parallels software.
Sure, Macs come with a price tag a tad higher than PCs. But what you get is more than worth the extra cost. You just have to experience it to believe it.

August 8th, 2008 at 07:14
I can’t comment on Max OS X since I don’t have any experience on them but I have to say that until this day what you said was my impression of Linux machines prior today.
But ever since yesterday I installed new Ubuntu I have been like wow, this is the first Linux system I have tested that works. For example, I bought a new printer, it didn’t install on Windows Vista (USB error?), I only managed to get it working on XP (after installing manually from CD), but on the ubuntu it was running in 10 seconds. Amazing. Also setting up printing service was intuitive using graphical user interface, I have not touched a single inetd.conf -file so far and still have Samba and printing service working even from my Vista… he can see the printer, but doesn’t know how to print to it without drivers, which so far have failed to install.
The packet installers have gone a long way too I see. I did it the old way, which was I must say easy, but there’s this Adept Manager UI looks like a dream. Almost everything I have done with brand new Vista installation has been pain, meanwhile the Linux system seems to roll easily. Something I never thought possible.
Currently I’m installing the new Office on Vista. Ok, I see that the system has to be restared before the installer can continue. I mean heavens and earth combined, didn’t someone tell me back in the 90’s that moving from Windows 95 to NT meant that you don’t have to reboot after installing every little piece of software – well Office is not little, coming with two disks. Phew. Good old times. Remember when you had like 12 floppy disks so you could install Corel Draw on Windows 3.1? I can’t wait to see what’s coming on the other CD.
I’m sure that people with Mac OS X are laughing now, but I didn’t buy these computers expecting that they were easy to use. I bought them because I can run some software on these platforms that are supposed to be easy to use. But I was at least expecting this Vista be to something worth of it’s huge price tag. To be honest, without Office being industrial standard so far I see no reason to adopt to Windows based systems in professional use – anything else than the huge code base already existing for Windows, meaning of which is declining every day.
August 13th, 2008 at 06:49
Thanks for the comment.
I can easily relate to what you just said. However, I have to say that Your Mileage May Vary a lot with (K)Ubuntu. I’ve used Ubuntu for more than two years now, and sometimes things work very smoothly – maybe even better than in Vista. But sometimes you just cannot get stuff to work at all. Eg. my laptop (compaq nx9105, 4+ years old piece of junk) /w Ubuntu cannot use wireless network at all, no matter how hard I tried. It just doesn’t detect the hardware. In the error log, I see bunch of kernel error messages related to the adapater, but I really don’t care to work them out (and I doubt I ever could – I’m not a kernel hacker). And sleep/hibernate mode is broken, which is much worse than lack of wireless network: if I want to save energy, I have to shutdown the system. Both suspend to ram and disk results in blank video after I try to get back to using the system. And it’s not because of nvidia drivers, the symptom stays no matter the display driver I use (nvidia or generic).
Nevertheless, due to Unix tools and shells (zsh!) and apps like Emacs I’d still choose Linux over Windows any day (guess I already said that? now I rant again). But I really, really would like to have what’s good in both Windows and Linux. Nope, Mac OS X isn’t quite there yet, but it’s darn tootin’ close and likely there soon enough, when Apple drops the support for old PowerPC arch and starts to develop for intel hardware only.
But as I said, don’t just take my word for it. :)
August 14th, 2008 at 11:44
True. When using Unix or Linux there always comes a point where graphical user interface suddenly “ends” and road to (s)hell begins.
But for some stange feeling I prefer using Linux for some tasks and Windows for other tasks. Btw. I’m not completely unsatisfied with Vista, the advanced search which indexes all the documents from the hard drive is really a day-saver -class invention. This is something that perhaps comes wider adopted as UI-standard, people just haven’t realized yet that what Google actually did was to revolutionize how we look for information. The same UI principle can also be applied to other tasks like creating a help system for first-time users or people who just can’t find the link to the page where new user ID’s were created and so on. Just type in what you want to do or what you want to look for and that’s it. I guess it’s not so far that computers are at least partially speech controlled. The scary thing is that when they will be brain-controlled.
August 22nd, 2008 at 08:38
On Vista’s advanced search feature: you should try sometimes OS X’s spotlight, or even better, QuickSilver. Both are apps that make file explorers and similar almost unnecessary.