My first Mac

Today I finally received an Apple MacPro I ordered several months (!!!) ago. I thought I would quickly review my first impressions.

  • The machine is sexy. There is no other word for it. My Linux box looks like a russian car (not insult intended toward the russian folks) in comparison.
  • The machine is fast, but it takes forever to boot up. It takes longer to boot than a slow Linux box that has 12,000 boot-level services.
  • Took me some time to find out where the console is, but once you have it, you can create a link on your desktop. The console is good, comparable to what you have under Linux. It looks like it uses bash by default. However, I do not seem to have color support in the shell. No hint anywhere how to turn it on. (Update. Will says to check an article on macosxhints for the color support, but says he prefers iTerm.)
  • The on-disk help is pretty good. Clearly, Apple cares about helping you find a solution to your problems. Unlike Microsoft who is happy to confuse you into depression. (And Linux, well… Linux has Google as documentation…)
  • The machine comes with lots of preinstalled software. I don’t know what any of it does so far, but it looks like Apple is not cheap software-wise.
  • The keyboard French Canadian layout sucks. It differs from the established standard found in both Windows and Linux.
  • I could not find the equivalent of the “Home” and “End” keys. I still don’t know where they are. This means that it takes five minutes to select the content of a text box.
  • Having the menu all the way to the top of the screen is really a drag when you have two screens. When my application is on the second screen and I need to go in its menu, I have to go back to the first screen, move up and click on the menu.
  • It took two of us about 15 minutes to even find out if I had a DVD reader. Turns out I do, but it does not appear anywhere. I can open it by pressing one of the keys on the keyboard (the “eject key”).
  • Setting up a ssh server was not too hard. It looks like I can manage my Mac from home just like a Linux box. So far so good. Though I don’t have gcc up and running yet. My main problem is that the connection speed with my lab. is not great, but the sysadmin, Mihai, says it will get better.
  • You can configure the mouse so that you have an actual right button. Very nice. You can even configure it as a 3-button mouse. Excellent! Those of you who don’t know why you need 3 buttons clearly are missing on some great classical software such as xfig.
  • Installing Firefox (first thing I did) created some kind of “mounted disk” that now resides on my desktop. When trying to put this useless icon in the garbage can, the machine complained that it could not unmount the disk. Which disk? I suppose that what I downloaded was some kind of disk image that MacOS mounts as a virtual disk. Fine. But how do I get rid of it now that Firefox is installed? There must be a trick to it.
  • Security seems weak. It appears that I can install everything using my initial account. No root account? (Or maybe I have both a user and root account? I’m confused.)
  • The second thing I installed was Fink. Fink is the MacOS equivalent of “apt-get” (debian) or “portage” (gentoo) or “rpm” (redhat/mandriva). Took me some doing to get it running, and it seems very useful, though, by default, very few packages are available. I tried moving to CVS access which opens up many more packages, but it said, quite rudely, that I needed something called dev-tools. Alas, doing sudo apt-get install dev-tools fails with a comment to the effect that there is no such package. The command sudo fink install dev-tools is more informative as it tells you to go and register as a developer with Apple. You are supposed to guess that dev-tools is “Apple talk” for a package called xcode. I did find it, sold my soul to Apple, and now I’m downloading a huge image of what I hope is the dev-tools thing. This file is really gigantic (1GiB!). By the way, I do this remotely so I had to do sudo apt-get links to use the links browser (links is really a good browser). So far so good. I just hope I’ll be able to mount the disk image I’m downloading through my ssh access. The command hdiutil attach allows one to mount dmg files. It looks like cd /Volumes/Xcode Tools; sudo installer -pkg XcodeTools.mpkg -target / will install Xcode without any need for a GUI. Oh! And fink install python cvs svn gnuplot gnuplot-py xfig kile tetex transfig anacron numeric wine pdftk imagemagick swig koffice kopete looks like a decent way to start. I still don’t know whether it will work, but there is a detailed page on building KDE on Mac.


Daniel Lemire, "My first Mac," in Daniel Lemire's blog, November 15, 2006.

Published by

Daniel Lemire

A computer science professor at the University of Quebec (TELUQ).

3 thoughts on “My first Mac”

  1. Congrats! To answer the Home/End key question…….the best solution I have found is to press the Apple Key + Left Arrow for Home, and Apple Key + Right Arrow for End.

    Your default account should be the “root” account or administrator which Mac OS X calls it. When installing things on the system level you will be asked for an administrator password before installing.

    As for installing Firefox, like most apps that come in a Disk Image (.dmg) file, once the disk image is mounted you drag the firefox icon in the disk to your applications folder, which copies it and installs it. You can then eject the mounted disk image. My guess is you couldn’t unmount it because you were running Firefox from within the disk image.

    Check out my Mac Related post on my blog, you may find some useful links.

    I suggest you download and try out Quicksilver (my most used mac app, fully customizable and hackable too ;)) and VoodooPad (a desktop wiki)).

  2. Why did it take “months” to deliver your Macbook Pro?

    I just ordered one last week and it’s been shipped today… Hopefully it will arrive on Monday.

  3. You’re very brave! 🙂

    Let’s see now. I can offer a few random suggestions here.

    By ‘console’, I presume you mean the Terminal app. (If not, you may want to look — it’s in /Applications/Utilities). It has a few handy features, but I generally prefer to use X clients like plain old xterm, or maybe rxvt. They both have colour support. Setting up the official Apple is pretty much essential for someone coming from the Linux world. You can set up X through Fink too, but the Apple version has some nice integration features, expecially copy/paste between the X and OSX clipboards.

    Regarding keyboard layout, I have no experience with anything other than standard US English layouts. As a random thought, what happens if you plug in a non-Apple keyboard that has a layout you like?

    I forget what the start and end keys are (I do see Sean’s comment, but I think there is an alternative). On my PowerBook (which has a different keyboard) you can use Fctn-PageUp and Fctn-PageDown for this purpose. But I don’t remember whether a standard Apple keyboard even has a Fctn key.

    You may also be interested to know that many text boxes support simple emacs keybindings for navigation. There is a strange dichotomy in the Mac world now: apps can be written against one of two different APIs. The Carbon API is very similar to older MacOS offerings, and made porting pre-OSX apps simpler. But Cocoa is a much more powerful API, inherited almost intact from NextStep. Cocoa apps (which can use the Carbon API) get a lot of support for free. Carbon apps can use the Cocoa features, but it requires specific code to be included and not all apps do it. So it can be hard to tell which framework the app was written for. Most new things, including many of Apple’s own apps, are Cocoa.

    I went off on that tangent because it affects where you find emacs key bindings. Every piece of text in a Cocoa application (editable or otherwise) is drawn by the Text class that supports everything from simple labels up to a full RTF editor with tabs and rulers and spell check and whatnot. That means that all text entry fields in Cocoa apps support things like spell check, emacs key bindings, etc. Try it in Safari or something (spell checking is a big feature of Firefox 2, not to mention Vista — Cocoa apps, and before them NextStep, have been doing it since 1988).

    Congratulations on finding the Eject key to reveal the hidden drive. 🙂 You may also want to know specifically what the drive can do. You can look under the Apple menu (left side of menu bar) to get info about the computer. Somewhere in there (I don’t have my Mac in front of me — it’s something like the “More Info …” button on the “About this Mac” dialog) there is a button that launches the system profiler utility (which you will find in /Applications/Utilities). It will give you specifics about DVD drives, including precisely which types it supports. The info is quite detailed, including things like power levels on USB buses and such.

    Also note that, unlike XP, there is a lot of built-in support for CD and DVD burning. You don’t have to go off looking for third party utilities. I won’t go into the details unless you ask — it’s probably a good test for that online documentation.

    Did you set up your own copy of the SSH server? It comes preconfigured. You can turn it on and off through the system preferences. I think it’s off by default. Two advantages of using the Apple approved version are (1) it adds/deletes the appropriate firewall rules as you toggle the checkbox to turn it on and off — one-click convenience, and (2) Apple will track the security patches for you.

    I think the relevant settings are in the Sharing section of the System Preferences. A handy new feature of System Preferences is the Spotlight integration. If you’re looking for something, type a keyword or two (e.g., “ssh”) into the search field at the top right of the preferences window and a spotlight will highlight the relevant configuration sections. Cute.

    I think Sean covered DMG images pretty well. The ‘eject’ option is in the context menu when you right click on the mounted disk icon. You may also want to investigate the Disk Utility app. It allows you to build DMG images, which have some nice properties if you need to archive things (and is one of the apps that lets you burn disks). In particular, the HFS+ filesystem has some properties that aren’t easily captured in other filesystems. You can get the most authentic archive by building a DMG and burning it as a single file to a disk. It will then automount as a read-only filesystem on Macs (and be completely useless on non-Macs, AFAIK).

    Regarding root privileges, I’ll add a bit to what Sean (correctly) mentioned. Darwin uses sudo under the covers — and it’s available on the command line as well. An administrator account on OSX is not the same thing as on XP. It’s really the equivalent of being in the wheel group, or the sudoers file — it means you have permission to assume root privileges, but you don’t automatically run with them. As Sean noted, apps will prompt you for your password whenever they need root privileges. Non-admin accounts won’t have access to those capabilities. It’s actually a very nice setup from a security point of view because it makes a secure configuration relatively painless.

    Yes, getting the dev tools installed is a pain. But it’s really essential if you want to use a lot of stuff from Fink. Building from source is the best way to ensure compatible builds of everything. The nice part about Fink is that, like the FreeBSD package system (and unlike pretty much all Linux distros), there is a single, unified package archive whose maintainers strive for internal consistency. You never have to hunt down package dependencies, or worry about version forks and things.

    I’ll throw in one more thing, even though you didn’t ask. Things like user groups, printers, the hosts file, mail aliases, etc. are handled in FreeBSD (and hence Darwin) with the traditional text files in /etc. You will find these files in OSX, but you should also notice the comment in them that says they aren’t actually used. OSX inherits the old NextStep NetInfo system, which was a great improvement on Sun’s yellow pages in its day (though experienced AD admins may sniff a bit). You can use NetInfoManager (also in /Applications/Utilities) to adjust these things. There is also a command line interface to netinfo (see niload and nidump) that knows how to translate between the file formats and the NetInfo representation. So for example, you can dump the group definitions to a file, edit the file, then re-load it. That’s generally how I do things, rather than fighting with the less familiar GUI app. Don’t forget sudo when you niload.

    On the other hand, the open source components like Apache and Samba that are intergrated into OSX DO use the standard configuration files, which are generally in subdirectories below /etc.

    Don’t despair. The learning curve should only seem steep for a few days.

Leave a Reply

Your email address will not be published.

You may subscribe to this blog by email.