I have been an owner of a shiny Mac Book Pro for about a month now. I figured I will share a few of the tricks I have learned so far. If you own a Mac you probably already know all of these, but maybe this will help to jump start a discussion about nifty tricks, and cool apps to download.
One of the first things I noticed about my Mac was that F5 did not refresh any pages. I knew about the single mouse button, and command/control clicks, so that did not surprise me. I was however a bit taken aback when I tried to refresh a page an it would not work. It turns out that the universal Refresh button on Macs is not F5 but rather a combination of:
Yeah, I know – it’s kinda strange, but in a way it makes sense. In fact, it is probably easier to reach than F5. You don’t even need to take your fingers off the home row.
Another thing that pained me was lack of middle click. I absolutely love the multi-touch pad on my Macbook. I actually recently used a Dell laptop with a multi-touch pad and it was not even in the same league. Mac’s pad is much more sensitive and much bigger and thus comfortable. But I hated command clicking on links because it forced me to put my left hand on the keyboard. Usually when I just read, I have my right paw on the mouse/pad and my left under my chin (or behind my head when I’m in bed for example). So opening links in a new tab was forcing me to shift position, and that would not do.
But I have a multi-touch pad, no? I should be able to bind for example a three finger click to middle mouse without any problems, right? Wrong. It turns out that there is no built in support for this. There are a dozen applications that extend Macs touchpag gesture support though. I ended up settling on Magic Prefs. I’m currently only using it to middle click with three fingers, but the app allows you to bind a stunning array of pad and mouse gestures to various actions. It may not be the best app like this out there, but it works good enough for me – and if I ever want to bind some action to say swiping two fingers sideways while keeping the thumb on the pad, I can.
My third gripe was the short timeouts for screen dimming and standby mode. I could of course extend them, but I actually like the default short intervals. It means that if I accidentally leave my machine on my desk and go off to do something, and get distracted it will quickly lock itself, and go to low power mode. This prevents people from getting on my machine, and the battery draining down to zero while I’m away.
That said, sometimes I would be watching a longer Youtube video and would have to swipe my fingers across the pad every few minutes to prevent the screen from dimming. Caffeine is an app that does exactly that for you. It temporarily suspends the standby mode while you are watching a movie, or just reading something. You just have to remember to click it off before shutting the lid, because it has a nasty habit of keeping the computer awake while closed sometimes. But not always – you know, just to keep you on your toes.
Spaces – Apple’s version of virtual desktops are actually not enabled by default for some reason. I actually did not realize this and spent a lot of time trying different key combinations (Ctrl+2, Ctrl+F3, Ctrl+Arrow keys etc..) to see if I can change desktop that way. It turns out you have to go to System Preferences and Expose & Spaces to enable it by hand. Then key combos such as Crl+Number or Ctrl+Arrow work as intended.
Finally I needed something that would let me install all the *nix tools on my machine. After all, one of the reasons why I got a Mac was that it was a Unix system with a nice, polished UI on top. I did not want just a toy laptop – I wanted a toy laptop with some real power underneath. Unfortunately OSX ships only with bare minimum of POSIX apps, and unless you are a glutton for punishment and like to compile everything by hand, you will need some package management tool that will download and instal *nix apps for you. There are 3 big ones out there and each one has some disadvantage:
- Fink is essentially an apt-get clone. It downloads and installs binary packages for you. Normally it would be a no brainier choice, but it turns out that it is the flakiest of the three services, and it is very prone to create clustefuck dependency issue if you are not super careful with it.
- MacPorts is the most popular service of the three and it has the biggest and most up-to-date library of packages. It is basically an emerge clone – it downloads code, and compiles it for you automatically. Most of the packages are the latest and greatest version which is good, except for the fact that it does sometimes create problems. Your mac actually ships with an assortment of unix tools and apps already installed, but they are often not the latest versions. So your python, bash and perl for example may be a bit behind. If you download a MacPorts package that has one of them as a dependency, it will cause issues. MacPorts gets around it by hosting all these dependencies off their repository. This leads to funny situations in which a 20Kb command line app forces you to download hundreds of megabytes of dependencies (it requires the latest python, which in turn requires latest something else, etc..). If you re really trigger happy, you may end up with like 3 versions of the same framework or scripting language on your machine. Needless to say it is prone to create clusterfuck scenarios of it’s own.
- Homebrew is a MacPorts replacement which aims to resolve these issues. It has a smaller package library, and their stuff is not always at the latest and greatest version but they do work hard to make sure their stuff works with preinstalled OSX packages.
Personally, I opted for Homebrew because it seemed like the least painful to use.
Which one do you use? Do you have any Mac tips you would like to share? Leave them in the comments below.
I use Macports on my 2 PPC machines (a G5 Powermac tower and an old Luxo lamp styled iMac) only because Homebrew does not support PPC. I rarely run into issues with it, although I had forgotten how long it takes to compile code after using so many Debian based Linux systems.
I have installed Homebrew on my Macbook Pro, but have barely used it other than to get “pianobar” (a CLI Pandora client, highly recommended) running on it.
I missed middle click for a long time, and on my G5, I use a bluetooth mouse and have middle click mapped to spaces. Never found a good way to use it on my MBP, and no longer care.
At one time, I had a MacBook, an iPad and an iPhone. Now I have none.
I am both happy and sad, which no emoticon can express.
Install X11 to get some more unix tools from apple (although X11 itself is a dead-wrack old version that no one bothers using). Maybe install XCode (I think version 3 is still free?) to get some nice Developer tools.
Install GeekTool. Way to waste hours writing little code scripts that do nice things for you desktop.
Python, Perl, PhP, Apache are all already pre-installed – if you dont need any of the newer versions features, stick with the older but apple-supplied pre-installed ones.
Take a quick look at AppleScript and Automator. Automator does some nice automatition (who had guessed) and Applescript is a PitA first (obnoxious pseudo normal language) but it can be a _really_ good glue-langue to mix bash and perl into some nice mac gui.
Have a look at the way apple stores preferences (.plist files) and how to tweak some things… http://www.mactricksandtips.com/2008/02/top-50-terminal-commands.html
Use TimeMachine. When you dive down into the deeper levels of os x, and toy around with unix tools, sooner or later something will get messed up. (Some unix tool replacing an apple tool that has a slightly other syntax for option, etc.).
Oh, and install “Visor” for a Quake Like Terminal. It comes in really handy…
If you’re a git user checkout http://gitx.laullon.com/. And http://code.google.com/p/macvim/ if you’re a vim user. (You can also build it with brew). And I use http://www.boastr.de/ for customizing multitouch stuff.
Super spam: Packets of Knowledge: OSX Tips and tricks.
I haven’t tried fink or homebrew, but ports works in a satisfactory fashion. It’s funny, because when I first wrote that sentence it was “I use macports and loathe it”, but it’s mostly because of the compile times (which is why I use debian/arch not gentoo on my workstation/servers).
Having said that, if I need to do real work (scientific computing) I am practically required to jump over to my ubuntu partition (dualboot).