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.

Spots before the eyes

I guess I wasn’t paying attention to the Leopard previews earlier in the year, because OS X just blew my mind. I was editing an e-mail message, and decided to idly click on Time Machine to see what it was doing. Instead of the Finder going into Time Machine mode, my e-mail went into time machine mode. I clicked the back arrow a couple of times, and there was what my e-mail inbox looked like 2 days ago, complete with since deleted messages.

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.

Nikon, SCSI, Firewire, VueScan, Mac OS X

Since I know people find my web pages while searching for information about Nikon scanners and Mac OS X, I’d like to offer the following endorsement: The Ratoc FR1SX Ultra-SCSI to Firewire adaptor works perfectly with Mac OS X 10.3, and doesn’t need any drivers. Plug the unit in to the back of your SCSI-based Nikon film scanner, and you suddenly have a Firewire-based Nikon film scanner. This can then be used with Ed Hamrick’s excellent VueScan software to fulfil all your scanning needs.

RedPill 1.4.2

RedPill 1.4.2 is out. Adds Tiger compatibility. I haven’t upgraded to Tiger myself yet, so let me know if you find any problems… I was quite amused by the guy who wrote saying he was trying to get the source code to work under Tiger, and confessed that he didn’t know any C and could I help him? Right, yeah, I’ll do that. Also, yes, I know Tiger doesn’t include StuffIt.


Spent most of Sunday afternoon hacking on ElectricSheep to try and get it working on OS X again. One of the developers had e-mailed me asking if I could help. It turns out that the OS X version was developed as a ground-up reimplementation, which isn’t exactly ideal from a maintenance point of view. I’m trying to improve that a bit.


Yay! Mozilla now has a native OS X UI. It’s still kinda ugly in places (noteably the buttons top right), but it’s Aqua enough that I can stand to switch from IE at home. Windows 2000 was better behaved today. It didn’t flake out until around 16:30, when IS helpfully set things up so I could log in to the domain at work. When I logged in, EXPLORER.EXE would crash with some horrible error, and the desktop would fail to appear.

Blindingly obvious discovery

Just because Mac OS X has dynamically loadable kernel extension modules, that doesn’t mean you can move them while it’s running.


I just built my first functional Mac OS X Cocoa application, from scratch, without any help. By “functional”, I mean it has a window, menus, an input box and a button, does something notionally useful, and behaves like a proper Mac application. Not bad going considering a week ago I’d never seen a line of Objective-C in my life.

OS X update

I have the Palm Desktop 4.0 beta for OS X working via my Keyspan USB adaptor, which needs a special driver. I was slightly nervous that the necessary kernel modifications would screw something up, but it seems to have gone OK. I have a usable Palm Desktop once more! Now all I need is PhotoShop for OS X [I should point out that when I say “kernel modifications”, I don’t mean I went a-hacking.