Why I bought a Mac (again)

While I use Linux for my day-to-day work, I have given in and purchased another Mac for my personal computing. This new MacBook Pro is a beautiful piece of hardware. The old one was, too. After some shaky early adventures with conventional aluminium casings, Apple settled on their unibody design, in which the entire machine is carved from a single piece of metal. This makes it amazingly robust, and basically lets the entire body work as one big heatsink.

Steam in a box?

I’m not a fan of locked-down hardware. People have asked me what I do about video game consoles. My answer is that I buy them, even though they are locked down, because there’s no good alternative. Yes, there’s PC gaming, but then you’re financially supporting the Microsoft empire, and that’s even worse. Plus there are the endless DRM and driver problems, the software updates, the periodic reinstalls, and all the other things that make Windows miserable.

RPM fail

It’s 2010, and RPM still sucks. Transaction Check Error: file /usr/share/man/man1/xdelta.1.gz from install of xdelta-1.1.4-1.el5.rf.x86_64 conflicts with file from package xdelta-1.1.3-20.i386 file /usr/share/emacs/site-lisp/psvn.el from install of subversion-1.6.12-0.1.el5.rf.x86_64 conflicts with file from package subversion-1.4.2-4.el5_3.1.i386 # rpm -q subversion subversion-1.4.2-4.el5_3.1 subversion-1.4.2-4.el5_3.1 # rpm -e subversion-1.4.2-4.el5_3.1 error: "subversion-1.4.2-4.el5_3.1" specifies multiple packages Apparently i386 and x86_64 versions of packages count as different packages for the purposes of installing and removing, but are listed identically. This means that yum will fail to work out that it needs to uninstall the 32 bit version and the 64 bit version as a unit, before it can install any kind of upgrade.

Why I won’t buy a Nokia smartphone

In 2007, the Nokia N800 came out. Nokia released Maemo OS 2007, and dropped support for the N770 they had been selling a few months before. The OS2008 / Maemo 4 release wasn’t released for the N770 by Nokia, though hackers released an unofficial distribution. Next came a point release, which was a major pain to install, but added APT support so that the OS could be updated without having to mess with firmware tools.

Reflections on a Macless month

On December 23rd, my MacBook Pro died. The screen started flickering, and the entire graphical layer died. The underlying Unix system was still responsive, and I could SSH in, but that was it. Rebooting the machine, it would run for a while, then die with the same fault. I used rsync to create a full backup–I already had a Time Machine backup, but better safe than sorry. After a couple more reboot cycles it stopped booting entirely.

Advertising slogan

“I thought a repository was something you shoved up your ass until I discovered Ubuntu.”

KDE 4 UI critique

Human beings have different kinds of memory; they remember things in different ways. Three common classes of memory are spatial memory, visual memory and verbal memory. (There’s also chronological memory, but that’s not relevant to my point here.)

I have excellent spatial memory. It’s what I rely on most. For example, if I start to think about how to get to a given place in town, I literally find 3D visualizations of my route flashing into my consciousness. I also have pretty good visual memory; when I make the journey, I verify that I’m going the right way by comparing the visual appearance of buildings and landscape that I pass with the scenes I remember.

My linguistic memory is terrible. If you asked me to name the actual streets on the route, I’d have a hard time remembering them. My mental map of London, for example, only has 6 street names. This makes me a really bad person to get directions from. “You take the narrow road that heads off at a thirty degree angle, right at the place with the green copper roof, over the light colored bridge…”

There’s an upside to my condition. If you rely on verbal memory to navigate, as soon as you step outside your known area you are pretty much lost until you can find a familiar street name. In contrast, I have a pretty good chance of navigating between two known points, even if the area in between is totally new to me.

This hierarchy of types of memory also applies in my interaction with computers. When I want to find my password manager, I don’t remember its name. Instead, I remember that it’s in the bottom hierarchical menu of my KDE menu, positioned near the top, and has a green icon.

I know this experimentally, incidentally: back in the System 6 days there was a joke Mac INIT that removed all the text from the menus. I tried it, and was quite startled to discover that I could still use most of my favorite applications.

With that background out of the way, I would like to talk about why for me, the new KDE 4 application launcher is a user interface disaster of epic proportions.

BlackBerry Curve review

In mid November, our contract with AT&T (formerly Cingular) expired. We switched to T-Mobile and got BlackBerry Curve phones. I was a BlackBerry skeptic for a long time. I didn’t think I wanted a phone with a full QWERTY keyboard. This changed when we looked at the phones available. It turned out that the Curve was only marginally wider than the average phone, perhaps a centimeter or so. It’s otherwise comparable to mid-range phones in size.

Kindle

Dear Amazon, You’re so almost there with your new Kindle e-book. There are just a few minor details you need to fix to get me on board. First of all, you need Mac support, and preferably Linux support as well, both for content creation and for reading books. There’s really no excuse for not having reader support, as you have a working Mobipocket reader in Java that will run on Mac and Linux, you just haven’t taken the time to package it up properly.

Cleaning up bash customizations

One of the things I found confusing about bash was its startup scripts: there were so many of them. Eventually I snapped and sat down with a terminal and the man pages, and worked out how it actually behaves. Here’s a summary. File Interactive login Interactive non-login Non-interactive Remote shell /etc/profile A /etc/bash.bashrc A† ~/.bashrc B A ~/.bash_profile B2 ~/.bash_login B3 ~/.profile B4 ~/.bash_logout C BASH_ENV A On startup, bash executes any script labeled A in the table above, followed by the first script B it finds.