Life with Macintosh

At the end of January 2008, I finally bought myself a brand-new computer for the first time since my first PC (mid-1992). To make things more interesting, I moved from a 7-year-old Compaq Armada M700 - 450MHz Pentium III, 320MB RAM, 40GB hard drive, Fedora Core Linux 6 - to a MacBook with a 2.2 GHZ dual core chip, 1GB RAM and 160GB drive. This page is my collection point for my experiences with the new toy. Expect it to update every so often as I discover new things.

First things first: it's pretty. It's matte black (mildly surprised at that, since I was expecting glossy), things are all nicely flush and smoothly fitted together and so forth. The keyboard is better than I expected for a laptop, but could do with backlighting for low-light situations. My model claims to have a UK keyboard, but it's not really - it has a pound sign, but the keyboard layout is 90% US, with the tilde key on the left, at-sign at shift-2, double-quotes on the right, and no sign of the hash key (turns out it's Alt - I mean Option - 3).

The setup wizard was a little more inquisitive than I'd like, wanting a full address from me as well as my picture... wireless networking setup did not give me the ability to use a hex key until I'd gotten the machine properly up and running. After I'd gotten it sufficiently happy with who I was and where the Internet was, I left it to do a full software update. For a fresh machine it needed quite a few downloads...

And so I crashed it. I set up iTunes to import my music from an extensive library served by a crappy little fileserver that was busy doing other things, and left it overnight; in the morning, I found that it had had some unspecified difficulty with the network, and this caused iTunes to hang. So I tried a few things, eventually resorting to asking it to shut down; it suggested Force-Killing iTunes, which I agreed with, and then it blanked the screen, displayed a spinning pinwheel, and refused to respond to any further attempts to make it do anything. Eventually I just hard-booted it. Tut tut.

Second crash was only an app, not the whole machine; took exception to my mail server in some unspecified way, and sat there unresponsive but consuming 175% CPU. Yes, 175%. That's an artifact of the dual-core processor, I guess. I fired up a terminal, found the process, failed to figure out what it was actually doing and just nuked it instead.

I should note that I'm making an effort to use the proper Mac tools, or as near to proper as actually exists, so I've not installed Firefox, or Thunderbird, and I'm doing my best not to live in a shell window like I normally would.

Spaces is a must for me, since I do like to keep my apps on separate desktops rather than in a stack. Setting it up was pretty easy, including telling it that Mail should go on desktop one, etc. I even managed to map the same set of keys I use on Linux for flipping from one to another (the two shift keys around the arrows, plus the arrows; on the Linux box, it's Ctrl-Shift; on the Mac, it's Option-Shift). The zoomed-out view is pretty neat, too.

I had a look at a few peoples' must-have-mac-apps lists, and grabbed one or two. Stuffit is largely unnecessary at this point, but I loaded it anyway. iChat is nice, but you really want Adium for the multiple-IM-network access it brings. Adium also syncs with your address book, except it could do it a bit better, and every so often it seems to lose the connection to the address book (at least, going by the log messages) and all your contacts revert to whatever goofy names they have assigned on the IM systems.

GPG support does not come natively. Both Apple and Microsoft seem to think that digital certificates are the way to go for email signing, and so you only get GPG if you go for third-party apps. For reasons that aren't clear to me, the Mac GPG stuff doesn't integrate with the keyring, which would seem to be a completely obvious feature to me. Maybe it's not possible to integrate with it, or something.

iSync wanted me to install the Palm tools before it would agree to sync anything with the Palm pilot, so I did. iSync then refused to have anything to do with my phone; I've read up on this a bit, and managed to get it to recognise the phone, but then it broke when it tried to sync, so I've put that back on the to-do list.

More iTunes: I installed iScrobbler, and I suspect it wants me to enable Disk Access for the iPod, because I get a "could not sync: error -48" message every so often. I need to look into that. iTunes also had a problem with podcast files that hadn't been URI-escaped, but that was a two line fix in the code I use to generate said podcast. The odd thing is that Windows iTunes had no problem with the same feed. Oh, and one last iTunes thing: it wanted me to reformat the iPod before it would deign to check it for iPod OS updates. This seems a little odd, but I shrugged and went ahead with it.

I have less hatred for the touchpad than I expected, but I'm far slower with it right now than I am with my preferred setup, which is either a mouse or a mouse nipple (stick mouse). Probably the thing that's slowing me down most is that I expect to be able to drive the mouse with my finger and use my thumb to click, and I'm not quite getting that to work smoothly for me with the touchpad. Two-finger scrolling rocks, though.

I killed Safari. Actually, I somehow caused Safari to hang, and then when I went to kill it I managed to kill its parent process instead of the process itself. Which flushed everything off my desktop, but didn't reboot the Mac. Hard boot time again! I need to not use terminal windows for process management, since there's a process management tool in the Utilities folder already.

Network shares are giving me some grief. I intially had it mount my fileserver via the SMB connection, but what I really want is for it to use NFS. Of course, it had set up my waider account with a different UID to the one I use on the rest of my network, so I had to find out how to change a UID... having solved that, I'm still unable to get the Finder to disregard the SMB share and go for NFS instead. I'm suspecting it's cached the SMB connection somewhere. I tried fiddling with the Directory Utility, and set up an NFS mount there, but it failed to verify (not actually telling me why) even though it mounted the drive correctly. And the mounted drive doesn't show up anywhere useful. I suspect some further reading is required on the subject.

I wound up having to hit up MacPorts in order to get tools in place for my website management scripts. This in turn led me to install XCode, so I now have a compiler toolchain on board. Woohoo! Next stop, Hello World! I also had to build a few Perl modules, but to avoid cluttering up the system before I understand what I'm doing I just installed them in my home directory. Perl for some reason comes without the GDBM_File module, which I was using, so I guess I'll either have to figure out how to graft it onto the current Perl installation, or I'll have to switch to one of the other DBM variants. Or maybe SQLLite.

I am seeing the occasionaly goofiness on the network side, where Safari refuses to resolve but will work fine if I ask it for - i.e. adding a trailing dot. This is very peculiar.

More peculiarity. After having spent over a day syncing (don't ask) my iPod is now claiming to be sync'd with another library. So I've gone for erase-and-sync to fix this, but why'd it happen in the first place? The whole point of waiting a day for it was for the previous erase-and-sync (and incidentally reformat to HFS) to take effect.

The iPod sync problem turns out to be a known bug and an odd one at that. I'm currently waiting to see if following that procedure actually works for me.

Yep, that worked!

The network goofiness turns out to be that the Mac causes my wireless router (3com Officeconnect device with a 4-port ethernet switch, a wireless access point and a fifth ethernet connection which plugs into your bridging ADSL modem) to crash. The problem seems to be triggered by heavy network access. Time for a new router, I think.

Having used Linux systems for years, I'm slightly appalled at the lack of a native package management system akin to RPM or DPKG. I realise a lot of apps are managed by adding them to or removing them from the /Applications folder, but that just seems... ad-hoc. Am I missing something here? (I'm equally sure some crazy people have ported RPM to MacOS).

MacPorts seems to be the current go-to guy for random open-source packages. I installed one of the GUI Managers - Porticus - and frankly it's a bit pathetic: you can't kill off an in-progress build, it can't do hierarchical uninstalls for you, and there's no help to tell you what the various things mean. I'll probably ditch it in favour of another such tool if I can find one. Or if I still need one.

I ran Software Updater today, and it grabbed a bunch of things, including a security update released in December 2007 which evidently didn't get noticed by the update I did the day I got the Mac... and it steadfastly refused to install the update, insisting that I didn't have permission to save the downloaded file. So I poked around on the Mac downloads area and manually fetched it instead. Bizarre.

Figuring out what it is that Mac doesn't like about my NFS server: it doesn't provide NFS over TCP. MacOS apparently spends its verification time trying to hit up port 2049 and getting no response from my UDP-only server. My server's old enough that it doesn't support TCP for the nfsd connection, and adding udp to the Mac's NFS options appears to have no effect whatsoever. I should also note that the default appears to be to attempt to connect from an "insecure" port, which my server wasn't happy with, either.

There is a tool for building plugins for new phones for iSync. I've not had much luck with it so far, however, but then again I've just been randomly pressing things on it to see what happens. For some reason it can't get a proper connection to my phone via USB-serial: the various identity commands return empty strings, according to the UI, which I'm taking to mean they time out.

Funny: I have a file, let's say it's called "Foo: Bar.jpg". On the filesystem, this shows up correctly as "Foo: Bar.jpg"; in the Finder, it appears as "Foo/Bar.jpg". Hurrah for legacy! (: used be the MacOS path separator; evidently it still is in some places).

I've had more iPod crashes - and bizarre ones, like everything working perfectly except for no actual playback happening - since I switched to iTunes on the Mac and Macintosh (I presume HFS+) formatting on the iPod. I find this rather ironic.

I am seeing an apparently known bug in where it makes multiple drafts while you're typing up an email, but on sending the mail only deletes the most recent one. It's not a big deal, but it is mildly annoying.

Eventually I got sufficiently fed up of MacPorts to wipe it all. I've tried out Fink, but the OSX 10.5 version seems to mostly consist of support for building itself and not a lot else. I also tooled around briefly with RPM so I'd have something to track installed software, but it's a lot of effort to get to the point where you can cleanly do something like rpm -Uvh rpm or even rpm --rebuild rpm, and I'm not sure I have the patience to do it, particularly since every specfile I touch will need to be updated to look for .dynlib files instead of .so files.

It's insanely great!