Precision decision

I have a new laptop: a Dell Precision M4300. Thanks to everyone who gave feedback to my request for recommendations about laptops. I really did take your suggestions to heart: but when I realised that (a) I'd run any laptop I bought into the ground, and so didn't need to go refurbished to obtain maximum greenness and (b) I was going to get a one-off deal if I bought a Dell, then---I bought a Dell.

Because it's a fairly new model (newer than I actually realised), Ubuntu is stretched rather thin on it, but it works really remarkably well without seriously irreversible hacks. Thanks to my co-worker and systems genius Nick I now have a kind of bleeding-edge combination of Feisty Fawn and Gutsy Gibbon running. This was necessary in order to use the similarly paint-still-wet v100.14.09 NVidia drivers to get the full 1680-pixel, widescreen resolution and TrueLife sweetness from the screen.

The experimental Ubuntu display tweaks also work pretty well, which makes the whole thing feel very Vista/OSX. When the switch between two of my four workspaces looked like the rotating of a cube across the screen for the first time, I almost wept. Linux oughtn't to look this good. It was the same realisation that I had when I first opened a terminal in OSX, but in reverse: you can build good-looking, responsive interfaces on top of solid, well-built cores; patience can, in the end, produce far better results than compromise.

You can mix and match your own Ubuntu distributions far more easily than you'd imagine. apt is really a clever piece of software, and you can configure it via "pinning" to obey certain preference "policies"---these are configured in the file /etc/apt/preferences. Here's my copy of that file:

# If no priority given for a package, it's set to 500.
# So setting a lower priority than 500 deprecates a repository type
# Setting a higher priority preferences that repository type

# All packages - gutsy has low priority
Package: *
Pin: release a=gutsy
Pin-Priority: 200

# libc6 and libc6-dev - gutsy has higher priority than any other repository type
Package: libc6
Pin: release a=gutsy
Pin-Priority: 600
Package: libc6-dev
Pin: release a=gutsy
Pin-Priority: 600

# Kernel images begin linux-, so gutsy gets higher priority for those
Package: linux-*
Pin: release a=gutsy
Pin-Priority: 600

If you run apt-cache policy X then apt will tell you exactly what policy it will follow when prioritizing all possible candidates for package X.

Beautiful, really. Not perfect---I'll put up a list of Nick's necessary fixes shortly---but as far as coping with really quite new hardware goes, this was a triumph for open source. I just wish I'd waited till after Dell's announcement to run Ubuntu-enabled laptops in Europe....