Posted on 09/27/2002 1:41:37 PM PDT by big'ol_freeper
Regular readers of this column already know there is no lost love between me and GUIs. In fact, I rarely use them; I do most of my work from the regular console, using a variety of tools to do all the things I'd ever need from a GUI: Multiple terminal sessions (screen, Linux virtual terminals, Emacs, vim) and a good e-mail client (nothing beats pine).
Yes, I know. Nowadays you can really get productive with a Linux box and KDE or Gnome. StarOffice; or better yet OpenOffice; works as well or better than the Windows classic suites. However, for the life of me I can never get used to the ugly fonts, to the amateurish look of it all, and to the abysmal multimedia performance. Add the fact that it takes a guru to install and operate a simple wireless PCMCIA card on a Linux-driven notebook and you begin to understand why Linux succeeds first and foremost in the server market. Sure, some key Linux players, like IBM, are trying to make us believe that we actually like the GUIs available for Linux and that big corporations want to switch their thousands of expensive Windows workstations to dirty cheap Linux desktops.
The reality is, it ain't happening. UNIX is for servers, Windows is for desktops. Right? No, wrong. Turns out nowadays you don't need to use that ugly W word to have a decent desktop and office environment. Enter Mac OS X (and people do insist you pronounce the X as "ten," not as "eks"). Many see it has the cool new kid on the UNIX block, while others feel that their Linux machines are in some way threatened by the new Mac OS.
I happened to install Mac OS X on a Mac Power8500 back in 1999. That was a pre-pre-pre-beta, and not much besides the installation worked. Aqua wasn't in that version yet, and so I quickly decided that Mac OS X was going to be a nonissue for me.
Meanwhile, I continued to be generally unhappy with the Linux desktop environment. Recently I went to give a speech at a conference and was startled to see all these cool Mac iBook and PowerBook laptops. It being a Linux conference, I was convinced they all had Linux running on their notebooks. But then, a young geek of maybe 19 or 20 sitting next to me in a conference room opened up his iBook. I was immediately attracted by a very intriguing and pleasant desktop on the laptop's gorgeous screen. I looked closely and it wasn't anything I knew, certainly not Linux. The kid's wireless card worked flawlessly while Linux on my IBM Thinkpad insisted there was not enough signal where I was sitting. Then, I recognized the unmistakable dock bar of Mac OS X.
I watched in jealous disgust as the guy next to me fired up a terminal window and ssh'ed to some server and ran a pine mail session. During the conference I saw maybe 20 or 25 people running Mac OS X. They outnumbered the few people usually coming to Linux conferences with FreeBSD, NetBSD, or OpenBSD on their notebooks. That's it, I decided. I am going to get a Mac OS X laptop, too. That was a few weeks ago.
I am now typing this column on a Mac G4 Powerbook (800 MHz with 512-MB RAM, a combo DVD/CDR and a gorgeous 14.1 inch screen). I am connected to the Net through an AirPort wireless card and then from the Compaq wireless base station out through my aDSL. This review unit runs the Mac OS X 10.2 Jaguar operating system. It correctly recognized my webcam and disk-on-key device. It even played my DVD movies out of the box, something I have never managed to do satisfactorily on my Linux notebooks. The editor I use for my writing is MS Office version X, which includes all the standard Office components.
Fair enough you say, that's what you should expect from a Mac. But how good a UNIX is Mac OS X? Can I use it for development? Do I get all my standard productivity tools?
Well, you see, Mac OS X is a UNIX. Under the surface it runs a 4.4 BSD kernel derived from FreeBSD 3.2. That, in turn, runs on top of a Mach 3.0 message-passing microkernel. Microkernels were all the rage in OS research about 15 years ago, but are now generally considered to be underperforming for most purposes. Richard Stallman's perennial OS project, GNU Hurd, is based on the very same Mach 3.0 microkernel. An interesting side note is that both the Mach 3.0 microkernel and FreeBSD also run very nicely on the Intel i386 platform. It would, therefore, only require a recompilation of Mac OS X to run on the Pentium. There are rumors, indeed, that Apple does have such a port ready internally.
It took only 24 hours from the moment my review PowerBook arrived to the moment I felt comfortably at home with all my various development and productivity tools.
The first thing I check when I sit down at a UNIX workstation is which compiler I have. Max OS X Jaguar has the Gnu C compiler, gcc 2.95-2, which is a good choice for most purposes and also guarantees good C++ compatibility. I actually prefer the 2.96-3 version of gcc; it took only a few minutes to get that and install it, using nothing but the terminal window and a locally compiled "wget." Once I had gcc2.96-3 working, I used a nifty Mac OS X tool called gcc-select to switch compilers system-wide.
Then, I proceeded to obtain Emacs 21.2.1 and again compiled it locally. The usual ./configure, make, make install worked on the first try for most tools, except procmail and Python. In these two cases, I first had to get missing libraries and compile them locally. Something you will miss when coming from a Linux distribution are tools like apt-get or rpm to easily get and install packages and resolve dependencies.
I had no problems either with other important tools: gdb (the debugger), vim (the great editor), pico, Perl, Eiffel, Rebol, bash, pine, ssh, and what have you. They all either compiled or can be downloaded precompiled from one of the many Mac OS sites. You will typically find that FAQs and installation instructions are written for people switching from Mac OS 9 or similar. To those people, the very concept of opening a terminal to edit a configuration file in an editor like vi is new and appalling. Many installation and configuration documents for the Mac OS X go like this: "Click on that button to open up a terminal window. Type vi /etc/hosts. Then, move to the line where you want to modify an IP address (see below for explanation of IP address) and press 'dd'." In short, a typical Linux user is bound to have no problems at all adapting to the Mac OS X environment, possibly without ever having to open a manual.
As an example, look at this very standard series of commands, used to install Perl 5.8 on my system:
[macosx:~] cd /usr/local/ [macosx:~] sudo mkdir src [macosx:~] curl -O ftp://ftp.cpan.org/pub/CPAN/src/perl-5.8.0.tar.gz [macosx:~] tar zxvf perl-5.8.0.tar.gz [macosx:~] cd perl-5.8.0 [macosx:~] make distclean [macosx:~] make [macosx:~] make test [macosx:~] sudo make install
You couldn't tell this was Mac OS X if I hadn't told you, right?
MySQL and Postgres both install as easily and predictably as PHP and Apache. In no time I had my web site (www.moshebar.com) served from within the iBook.
Next, I tried to develop a native Cocoa application on my laptop. Cocoa is like a library to a standard C++ environment that makes use of all the cool features of Mac OS X. There are tons of examples on the Apple developers site for Cocoa.
The sample code below is all that is needed to give a file selection list to the GUI user, similar to an "open" dialogue under Windows:
for (i=0;i<[filesList count];i++)
{
filePath=[filesList objectAtIndex:i];
[songs insertObject:filePath atIndex:row+i];
}
Easy and clean, no? You can do all your development in Apple's Project Builder, which is their IDE. Or you can choOse to buy the more widely known CodeWarrior from Metroworks. I must admit I don't yet understand the various development components one must use on Mac OS X, but I found that I can write my usual C or Perl programs, and everything continues to work as advertised. There is even a QT port to the Mac OS X.
If you have been using Linux for some time and just love its stability and performance, and find it a natural platform for development, you'll feel right at home on the Mac OS X. On the other hand, if you feel at times frustrated by the difficulty with which modern devices (like wireless, DVD, or FireWire devices) work on Linux, then you might find Mac OS X to be what you've been longing for. I for one, am convinced: I am switching my laptop to Mac OS X. And best of all, you don't have to be ashamed to go to a Linux guru meeting with Mac OS X, because it's just a UNIX with a very nice GUI.
For more of Moshe's columns, visit the Serving With Linux Index Page.
Wanna be Penguified? Just holla!

Got root?
Even his little quibbles like this are already addressed. See The Fink project.
What it comes down to is that everybody that does Unix/Linux work is gonna want to have a Mac portable. i.e. whoever has a job that will pay for the Mac, will get one.
For the ones without a bunch of money (college students, hackers, etc.) they'll stick with the Intel clone hardware. Also, the Intel clone hardware will always be the choice for large numbers of server deployments on cost basis alone.
Linux is certainly a nice OS but it is even nicer to have a good looking and functional GUI and be able to run applications like Word, Internet Explorer, Canvas, and Carrara. I'm torn over whether I want to put PPC linux on an old iMac or whether I just want to install Jaguar. The only downside is that OSX uses file extensions to type files. Definitely a step back to the best technology the '70s had to offer thanks to Microsoft.
Good. I don't know a single *nix user who doesn't know how to at least do simple scripting in Perl.
Very good.
I sure hope so.
Hey. This guy has my system. Been a Mac user for 17 years and an OS X user for 8 months.
Only one complaint with the PowerBook G4 Titanium--the antenna stinks. It has very limited range with an airport. The iBook's antenna is much better.
Here is the core of a build it yourself that will work great with Windows 2000/XP (each a stable O/S) or Linux.
A7V133 board by ASUS $45 (overclockable if you like it)
512MB module of PC133 memory $29 (So cheap you could buy 2 and have one gig of memory)
Athlon XP 1600+/ 1.40GHz $53
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.