« November 2006 | Main | May 2008 »

August 31, 2007

Making Mac OS X more bearable

At my new job I was, to my surprise, issued an iMac (the white kind, not the new metal model) to work with. Way back in the mid-90s, my first main home computer was a Power Macintosh 7100/80. I fell in love with it for the interface and ease of use. However, around 2000 I discovered Linux, and switched over to it by degrees - first running Mac-on-Linux, and then eventually just Linux itself. I never looked back.

When Mac OS X arrived, in 2001, I immediately disliked the glossy new interface that replaced the crisp, almost cartoonish GUI of the old OS. More than disliked, actually; I experienced an immediate, visceral repulsion from a number of facets of the new look. As a result, I stayed away from Macs for a long time, until, in fact, this month. However, my current place of employment contains a large and, for the most part, inscrutable systems department, who for reasons of their own decided to give me an iMac. It took me only a few minutes to discover a range of irritations within it, and start looking for fixes. Here's what I found. Software is free unless otherwise mentioned.

Essential fixes

A non-Apple keyboard and mouse

Essential. Even though I was a Mac user for years, and have no problem with the key layout, there's something about the key spacing that's just wrong. I found myself making way more typing errors than I do usually (which isn't many, I'm a good typist). So I got a typical Windows USB keyboard instead. Setting it up to work properly is not as easy as you'd expect, considering Apple's otherwise rather good hardware support. Luckily, Phil Gyford has produced a handy guide to using a British/UK Windows keyboard with an Apple Mac in OS X, including a keyboard layout file you can install.

In addition, Apple's mouse (with the cringe-makingly awful name of Mighty Mouse - pass the sick bag) is abysmal.

  • Instead of having buttons, it does left- and right-clicking by detecting when you press on the left or right side of the mouse. Sounds great in practice, but for me it caused unexpected "right-clicks" on a regular basis.
  • They've also replaced the scroll wheel with a sort of mini trackball thing. It's horrible to use - too small to get a decent roll distance, and with an itchy, tickly physical feedback instead of the ratcheted rolling sensation of most modern scroll wheels. Plus, the "360°" aspect of the ball is totally useless in 99% of applications (I'm being generous, here; I have yet to actually see anything that supports it).
  • It has a shiny, slippery surface. Call me crazy, but I like using objects with a texture.
  • The pill shape just doesn't suit my hand at all.
  • Finally, it has these "squeeze buttons" on the side. You have to press them pretty hard for a button. I didn't use them/it - they both act as one button - at all except to see what happened when I did (some unnecessary zoomy thing appeared).

Solution: I bought a cheap but perfectly good mouse. My comfort level just shot up.

FruitMenu
The new Apple Human Interface Guidelines say: "The Apple menu provides items that are available to users at all times, regardless of which application is active. The Apple menu’s contents are defined by the system and cannot be modified by users or developers." Well, in the old days you could put whatever you liked in it, because that was useful. This handy "haxie" from Unsanity restores that behavior. For me, having all the control panels - I'm sorry, "System Preferences" available as a sub-menu justifies the $10 cost of this software alone. I also put my Applications folder in it.
TinkerTool
I don't like the Dock much. It took about a day before I turned off the zoomy stuff. Shrinking the icons down helped a bit, as did sticking it on the right-hand side of the screen and turning on auto-hide. But it still insisted on being vertically centered, and I'm a corner kind of guy. Happily, TinkerTool, a sort of PowerToys for the Mac, allows you to stick the thing wherever the hell you want it to be.
WindowShade X
Another feature that the new OS X lost was WindowShade. In the classic System, double-clicking a window's title bar would cause it to "roll up" into it. It was a very useful way of temporarily moving windows aside without actually moving them, or letting you "stack" lots of windows on the screen at once. In OS X, you can only hide windows away on the Dock. No thanks. WindowShade X, another $10 Unsanity haxie, brings that back, as well as a great "minimize in place" feature that lets you turn your windows into live thumbnail versions of themselves with a keypress.
ShadowKiller
Another Unsanity haxie - free this time. Kills those bloody awful drop shadows (on three sides of windows and even menus - what the hell?) stone dead.

Enhancements

Growl
Displays application event notifications in various attractive but low-key ways.
Mail.appetizer
Displays excerpts from new mail arriving in Mail.app in Growl notifications and lets you read it, delete it or mark it as read on the spot.
Hey Folders!
Colors labeled folders' icons as well as their names, as it used to look pre-Mac OS X. (Can you spot a theme in my suggestions developing?)
VirtueDesktops
Virtual desktops for Mac OS X. Not being developed any more as virtual desktops ("Spaces") will be a feature in Mac OS X 10.5, but useful until then.

Essential applications

Firefox
Obviously. The downside is a slightly awkward set of key shortcuts (for example, Command-shift-H for History instead of Command-H, since the latter triggers the global "hide application" shortcut), but I can live with it. Safari just isn't good enough, and Camino, which is essentially Firefox with a more Mac-like appearance, is crippled by the fact that as a native Mac application, regular Firefox extensions (many of which are essential, and I may write an article on these later) can't work with it. You might as well buy a sports car with a V8 engine and rip out half of the cylinders. I'll stick with the real thing, thanks.
iTerm
A terminal emulator and big improvement over the default Terminal.app included with the system. For one thing, it has tabbed windows.
Adium
A great multi-protocol instant messaging client.

After all this, I finally have a Mac I can use comfortably. And who knows, I may even get one for myself at some point. Five months later: No. I'd rather shoot myself in the face.

Posted by Earle Martin at 5:43 PM |

August 30, 2007

Was Chairman Mao a programmer?

Probably not. But even for a mass murderer, he was a surprisingly clear thinker. Here's some advice of his that all programmers should take to heart:

It is well known that when you do anything, unless you understand its actual circumstances, its nature and its relations to other things, you will not know the laws governing it, or know how to do it, or be able to do it well.

Posted by Earle Martin at 2:07 PM |