Back Story · I am a certifiable Olde Unixe Hacke - I did real work on a PDP-11/44 running V6 back in 1979 or so, was a full-time sysadmin in the days of 4.1bsd (and the earth-shaking arrival of 4.2) on 11/780s, reported emacs V12 bugs to RMS in 1985 or so, wrote code for a genuine commercial shipping Motif application (lots of it XLib), wrote a filesystem benchmark named Bonnie in 1990, an improved version of which appears in a couple of Linux distros, and most recently ground out a fairly big & hairy C-language Apache module.

But I've been carrying around a Windows laptop for the last decade or so. Some of the reasons are:

  • I've never had enough patience to put up with X's clunky configuration or pathetic font-rendering.
  • As a businessman I just gotta be able to send Word docs and Excel spreadsheets back and forth with no fuss and bother.
  • I do a lot of conference speaking and have become pretty well addicted to PowerPoint.

Finally, I am devoted to emacs for all serious text-editing tasks, and emacs works better on Windows than on Unix or linux. Do I hear gasps from the crowd? Well, the fact of the matter is that on Windows there is no confusion as to which key is backspace and which is delete and what the function keys and Home and End keys are called... and no escape sequences! I've used the same .emacs file with only a couple of minor changes for the decade I've been on Windows, and it seems that I have to fiddle with it every time I go near another flavor of linux or Unix or X or terminal emulator.

OS Xual Attraction · Well, my excellent little Toshiba laptop had been suffering under the weight of 2 years of heavy traveling. Win98 was getting slow and flaky, then on a 4-day road trip its modem croaked and I was without email. I was looking at the prospect of either upgrading to Win2K and getting the thing overhauled, or getting another box - and I must say the latest ultralight Toshiba is pure industrial-design poetry.

But recently I've noticed that a lot of my grizzled contemporaries, and quite a few younger open-source luminaries, are starting to carry Macintoshes. The reasons seem to be:

  • With the arrival of OS X, a Mac is actually a full-featured Unix system.
  • It has a well-thought-through, consistent, and rather beautiful user interface that requires neither sending money to Redmond nor editing Xt resource files nor knowing what a "termcap" is.
  • It has really, really, REALLY fast suspend/resume. Open the laptop up and by the time your fingers are on the keyboard it's ready for you to start typing. The amount of time the entire human population spends sitting in front of Windows boxes waiting for them to be ready to work is probably in aggregate worth the GDP of a medium-sized country.

So I went and bought myself a Powerbook; fast processor, a half-gig of memory, all the I/O gear anyone could want (gigabit ethernet fergosshakes). When I got it home and turned it on, I was initially ravished by the general beauty of the screen and interface. This quickly morphed into heavy frustration, as I couldn't get anything to work. Some time later, I have the machine more or less doing what your typical Windows-hardened Unix hack would like, but it took too long.

Fixing the Mouse · Some people don't like touchpads, but I do, and the Mac's is excellent. However, it comes with the defaults set up basically all wrong... you have to click the stupid button with your thumb instead of just tapping the pad. Find the "System Preferences" entry under the Apple menu and select all the options under "Use Trackpad For". Then with a bit of practice you can do it all - select, activate, drag - with just one finger and you won't miss your mouse-wheel at all. Or if you do, plug any reasonably modern mouse into a USB port and you've got a full-function mouse-wheel, and you get context menus on a right click, just like in Windows!

The System Preferences Menu · You need to use this to fix up your mouse, but for lots of other stuff too, so it's nice that it's always there under the Apple menu. You owe it to yourself to visit each and every sub-menu and investigate what it does. I changed something in just about every one.

There are a few little lightweight apps you can download for free or as under-$10 shareware that really help System preferences. TinkerTool is pretty essential, and then there's a couple of things worth picking up at Unsanity that are worthwhile, especially "Fruitmenu".

Finally, if you have occasion to plug in multiple screens (and you should if you can, OS X handles it really well, take the "Displays" option to "Show Displays in menu bar", as this puts everything you need two clicks away.

The Screen, the Interface, and All That · The world of long-time Macintosh loyalists resounds with gnashing of teeth because some old Mac software hasn't made the leap to OS X, and there are just enough changes in the interface to get in the way of their long-accustomed work patterns. For people coming out of the Unix/Windows world, since it's all new, it all just seems to work, pretty much.

The "Dock" thingie seems like a reasonable way to park things and one-click launch them, once you get the idea how it works. It seems kind of dumb that programs go on this side, while minimized-apps and file/directory shortcuts on that side, but still. It also seems weird to show little pictures of windows that are minimized but not those that are active. You may want to turn off the dock's silly "magnification" or shrink it down a lot smaller than Apple ships it, or even hide it and get it to auto-show.

Another thing you'll probably want to do is pop up the Finder preferences and unclick the thing where it shows your hard disks on the desktop. The reason is that if you let Finder do this, it puts the disks where it wants on the desktop, not where you want them (you can move them, but next time you log in they go back where OS X wants). It's smarter to make aliases (see the online help) for any disks you care about and put those where you want them. Of course, when you connect to a Windows server or put a silver disk in the machine, OS X is going to put those icons where it wants, but these are kind of special situations and this doesn't seem to be a big problem.

IMAP, SSH, and Port Forwarding Hell · Obviously any computer is an expensive brick until you can do email with it. I currently have two email lives, my private-life POP3 address, and my at-work IMAP setup.

IMAP can be a problem if you want to get at it from at work, home, and on the road, particularly if you're reasonably security-sensitive. At work, I just point an IMAP client at the server named "mail". Anywhere else, I have to ssh to a gateway machine at work and do some port forwarding. To keep things simple, I have two ssh setups, internal and external; each maps the localhost's IMAP port (143) to the appropriate machine; then my mail client is set up to point at "localhost" and works the same wherever I am.

Port forwarding on OS X is a bitch. You have to be root to forward "privileged" (I assume this means less than 1024) ports, and OS X really doesn't want you to be root - it ships with root's password disabled. Here's how I did it; there may be a better way:

  1. I went into Netinfo (a Windows-registry-like config editor, find it under "Applications/Utilities"), copied the encrypted form of my password and pasted that value in for root. Then I su'd to root with my password (and gave root another password).
  2. I used visudo to enable my account to run the ssh command as root without giving any password. This required inserting two lines (my account is "tim", the machine is called "vikram"):
    Defaults:tim !authenticate
    tim vikram = NOPASSWD: /usr/bin/ssh

  3. I made myself a $HOME/bin directory and put a little file in there called roaming, like so:
    #!/bin/sh
    sudo ssh tim@gateway.timsjob.com -L 143:10.1.1.1:143

    where 10.1.1.1 is the address of the IMAP server in the office's internal network. I also have a file there named office; the contents are left as an exercise for the student. You may want to add another -L option to remap SMTP, depending on your setup.

Now I start up a terminal (any Unix hack will want to put a terminal in the Dock for one-click access) and type either "roaming" or "office", give it my password at work, and I'm off to the races. It dawns on me that with a little hacking I could figure out whether I'm in the office or not by poking at network settings, and reduce these two files to one.

At the moment, I'm IMAPping with Mozilla, which is pretty comfy since I'd already been using it on my Windows box and it works about the same.

Eudora Hell · I've been doing my POP mail with Eudora almost since I've been using Windows, and Eudora started life on the Mac, so I thought I was home free. Unfortunately I have a legacy problem - tens of thousands of emails in dozens of mailboxes in a handful of directories. Eudora.com helpfully includes directions for migrating from Windows to the Mac, but they require processing each mailbox with FTP, or using a utility from a site that's no longer there, both to fix the well-known CRNL problem (Windows separates lines with CR-NL, Mac with just CR). Neither of these seemed like a good alternative, so I cooked up a perl script to fix the CRNL problem, not exactly rocket science, and when I'd munged my mailboxes and fired up Eudora, it popped up a little window saying 'In' doesn't look like a mailbox. Bye. I tried all sorts of tricks and Eudora is doing some sort of hidden magic and hiding things where I don't see them.

I interacted with Eudora tech support (I'm a paying customer) and... I'll stop there because anything I say will be a flame. Long waits, no help at all.

I gave up (bye-bye forever, Eudora) and went to Plan B:

  1. Use Mozilla 1.0 on Windows to import the Eudora Universe.
  2. Use tar to pack it up and copy it over to the Mac.
  3. Untar it on the Mac, and rename In to Inbox along with its .msf metadata file.
  4. Observe where the Mac was putting the files for my POP account, in a directory under my $HOME/Library named pop.tims-isp.com.
  5. Rename that to pop.old, and unpack the Moz directory under a newly-made pop.tims-isp.com.
  6. Observe that Moz still sees the old stuff, and poke through the menus to observe that it has somehow auto-magically decided that the files are in pop.old... obviously there are more things going on in this Mac than meet the eye. Tell it to use the pop.tims-isp.com directory again.
  7. Shut down & restart Mozilla. They're there! O frabjous day!
  8. Whenever I hit one of my old mailboxes for the first time, it says building summary and decides that all the thousands of messages are new and unread. Sigh... time will solve this problem.

So I have my POP email and I have the last decade of my life back. But it shouldn't be this hard.

Web Browsing · The box came with Microsoft IE 5, which seems to be the latest version. It's pretty darn standards-compliant and most pages look noticeably better to my eye than in Win/IE6 - but that may just be the fabulous LCD screen on this puppy.

I wanted to try Mozilla, but there was some weird problem with IE (maybe my firewall?) that kept ftp: URLs from working, some port number thing, so I couldn't use IE to get Mozilla. The same problem kept me from using IE to get the developer download from Apple - see below - and while I live behind a diligently-administered Linux-based firewall, I suspect that if I have this problem, others will too.

I could however use IE to get Netscape 6.2 though, which unfortunately is always a few releases behind Moz, and also seems awfully slow. And with Netscape, I could get Mozilla just fine.

Mozilla rendering looked a little dingy until I switched the default serif font from Times to Times New Roman. Given that, if there's a difference in the user experience between IE5.1 and Mozilla it sure doesn't jump out at you - the button layouts are probably the big things, and they're pretty configurable. IE is a bit faster than Moz, but Moz is fast enough not to be irritating. And it's a long time since I've hit a site that I actually wanted to visit and was IE-specific.

I suspect Moz will get faster, because there's another version of it at Mozdev.org called "Chimera" that uses native OS X events and is really snappy and by combining the Gecko engine with anti-aliased rendering, produces about the most beautiful renditions of Web pages that I've ever seen.

No Compiler?!?!?!? · While caught in the bowels of Eudora Hell, I wanted to write a teeny C program to make sure that \n meant what I thought it did (and there's another whole essay in that). But there didn't seem to be a C compiler. Huh? Isn't this Unix? What was really weird is that on Google, no permuatation of "gcc", "Darwin", "OS X", and "compiler" got me anything useful.

The answer is this: you go to the Apple Developer web site, sign up and get an ID (it's free), and download the Mac OS X Developer Kit. That's a 215M download, but they'll cut you a CD for $20 if need be. Installing it costs the best part of a gig of disk space.

This gets all sorts of wondrous goodies, but all I cared about was being able to say cc -o testnl testnl.c, which I could. It turns out that cc is Darwin cc which is actually gcc, so that's good.

Of course, the machine comes with Perl and lots of other stuff pre-installed.

SMB (Windows Disks) · If you want to get at Windows disks from ... well, anything ... you have to use a protocol called SMB - on linux there's the excellent open-source "Samba" facility. OS X has SMB support built in, kind of. You can attach to those Windows disks but you can't always find them even with the Jaguar release, you have to know the server and "share" name, and type all this in with the username and password. Fortunately, you only have to do this once, since once you've found a server you can put it in a favorites list and go back easily. The syntax for addressing one of these things makes sense, but only if you've seen it once:
smb://StupidWindowsBoxName/StupidWindowsShareName

What's Good ·

Suspend/Resume
This alone justifies making the switch. The OS is robust enough that I very rarely reboot, so my waiting-for-the-OS time just shrank from several minutes to a few seconds per day. That adds up.
The Screen
Mac laptops have better screens. My eyes are 4 decades old and really appreciate this.
Unix
I can use perl, vi, sed, emacs, and all the usual Unix suspects without thinking, they're wired so deep into my hindbrain. There are various workarounds on Windows that get you almost there, but having the real thing makes a difference. Here's a little 1-liner that I call lh and a version of which should be in everyone's bin directory; it reminds you what you've been doing lately:
#!/bin/sh
ls -lt $@ | head -10

Net Switching
When I first turned the computer on, I went looking for the network settings to tell it to use DHCP, and was getting irritated because I couldn't find the right place, but then it turned out I was already on the net because it had figured out it should DHCP. Even more impressive, I have different network address setups at work and home, but DHCP both places, and it seems to be smart enough to recheck the DHCP leases when you suspend/resume, or switch cables, or lean back and yawn - the effect is that wherever I am, I plug in the network card and it's on the net. This kind of magic makes me a bit worried - what happens when it doesn't work, how do I fix it? - but so far it's worked every time. This is what the Internet is supposed to be like.
Compatibility
I pump Word and Excel and PowerPoint files back and forth between Windows and my new Mac box, and nothing's broken yet. The user interface on Mac Office is different in quite a few ways from Windows, so there are some adjustments there, but it's pretty good.
Movies
This thing is a wonderful movie platform, as long as you don't try to use the silly onboard speakers. The wide screen format helps.
The Battery
I've run it for 5-and-a-half hours, and there was still juice left. I've never got a Windows box to run for three hours.
Software Installation
Most software comes as either a directory containing an Application file and some other stuff, or just an Application file. If it's on your disk it's installed. Put it where you want - there's a helpful "Applications" folder where I put everything, but OS X doesn't seem to care. Windows and Linux could both learn something here.

What's Bad · So, are there any reasons not to run out and get a Mac? Here are a few:

$$$
The Mac is damn expensive, a big chunk of change more than an equivalently-configured Windows box. Plus if you need to use Office, you can't buy an upgrade based on your old Windows install, so you're going to pay some serious money. On the other hand, if you work out the money you save by not wasting time for reboots and restarts, you may still come out ahead.
Performance
Considering how fast this sucker is - when you're in a shell running perl and other Unix programs, it's a blazer - the UI could really be a lot faster. Adobe Acrobat in particular is a total dog, window resizing is sluggish, and a lot of times, when you hit a scrollbar or other control, it has to think for a moment before things start happening - scrolling through big lists of email messages is irritating. People tell me that every update of OS X has sped things up, so there are grounds for hope.
The Finder
The Finder - the equivalent of Windows Explorer - is a really stupid program. There doesn't seem to be any way to tell it to start up in list mode and stay in list mode. If you get a big directory and scroll down to look at one of the files at the bottom, then go into another directory, it stays scrolled down and so lots of times it looks like you're in an empty directory. I thought Apple were supposed to be leaders in UI design; this is really shabby work.
The Keyboard
It feels OK, but seems to be missing quite a few keys: PgUp/Down, Home, End, and Backspace (there's a Delete key which functions as Backspace, but there's no real Delete key). OS X wants to use the function keys for turning the volume and screen brightness up and down. You can use the Function keys as Function keys, and you can turn the arrows into PgUp/PgDown/Home/End, by holding down the "fn" key. Hrrumph.
Alt-TAB
Command-TAB switches between applications, but if I have 3 browser windows or two terminal windows open, there doesn't seem to be an easy way to cycle between them.
Keyboard Shortcuts in General
Windows is just a lot better at this - once you're used to an application, you can do almost all the menu stuff without taking your hands off the keyboard, and most times without even looking. The Mac has tons of menu commands that you just have to use the mouse for; You can switch focus to the menu and arrow-navigate to anything, but that's no faster than mousing.

The Take-Away · I take lots of pictures, and have got pretty addicted to Paint Shop Pro as a pretty cheap, pretty easy, reasonably powerful picture editor. On the Mac, "iPhoto" is a joke, I guess it's a good way to organize pictures into directories if you're not smart enough to do that, and of course the serious photohound will get Photoshop, which costs big bucks and you have to get a Ph.D. to use effectively.

Sitting in the sweet spot in between is Graphic Converter, which comes with the machine; it doesn't seem to do quite as much as Paintshop, but the interface is really sweet - the things you do all the time (scale/crop/color-correct) fall right under your fingers.

I just recently plowed through about 50 pictures I took of my little boy playing on the beach, and after I got into the rhythm, I was croppin' and fixin' and savin' at lightning speed just like you see those Mac heavies do in the booths at trade shows; I felt like I was going to have to start wearing black clothes and an anguished expression, have homoerotic fantasies about Steve Jobs, and give up my Life for Art...

Acknowledgements · Most this was worked out over the course of a single weekend when I was supposed to be at home entertaining houseguests (sorry Lauren, sorry Mom, sorry Sean). Apple has some not-bad Mac OS X resource sites, and there are a couple of indie sites too, but mostly I just plowed back and forth through Google, typing in things like os x smb client. Thanks to the good folks at Google and the resource sites.


author · Dad · software · colophon · rights
picture of the day
June 21, 2002
· Technology (85 fragments)
· · Mac OS X (118 more)

By .

The opinions expressed here
are my own, and no other party
necessarily agrees with them.

A full disclosure of my
professional interests is
on the author page.