Firefox Tip of the Day

If you’re using Firefox and are browsing a messy/ugly site that neglects to provide a “printable” version, you can turn off CSS styles. Just select View/Page Style/No Style from the menu. Often times, this will leave you with a nice plain page with Just The Content.

Look Ma! Two fingers!!

When I recently broke my finger (the pinky on my right hand) I realised that I’m a better typer than I thought. Because losing the use of just the finger has slowed me down significantly. I’m almost back to two-finger hunt-and-peck typing. Hopefully I’ll be able to un-learn the bad habits when it heals.

I suppose I should be greatful it wasn’t my left hand, since that would make using Emacs almost impossible.

What customers look for

I learnt something today. I’ve been involved in evaluating vendor reponses to an RFP for a small-ish bespoke system development. The functional spec and “detailed design” had already been completed for the system, so it was purely the build and deploy phase to be done. My role was evaluating the technical competence of the vendors' proposals.

So I read the proposals, I listened to their presentations, I asked probing questions. And I formed an opinion. Then it came time for the evaluation team to get together and compare notes.

For one of the vendors, I had significant concerns about their lead technical “architect”. He was clearly a cowboy, and had a sloppy approach (a small example: the proposal defined MVC as “multiple virtual storage”… wah??). He seemed to have a shallow understanding of J2EE architecture and fundamentals. When I raised this with the evaluation team, I was met with “but he responded calmly under the pressure of our questioning”.

The “business” people on the evaluation team (that is, the representatives of the system’s end users) were quite openly stating that they were less concerned with the vendor’s actual technical ability and depth than with their ability to “remain calm under pressure”. Sure, I can see that’s important, but what’s the use if the pressure grew out of their inability to actually do the work in the first place?

This is a triumph of form over function. The management of this large corporation were effectively saying “we care more that the vendor puts on a good front, and has someone to kick, than actually builds a well designed system”.

Reinforcing this was my second lesson. Part of the evaluation process involves going through a spreadsheet scoring the vendor’s response against requirements (functional and non). There are four sheets, one of which is for the technical element (the others are project management, commercial and vendor stability). The technical part was weighted at 10% of the total score! Again, management is saying “we care more that the vendor looks good and presents a good management face than whether they can actually deliver the system”.

I’m being perhaps a little unfair. As stated above, this project was purely for the build phase, the initial design being already complete. I suppose in this circumstance, project management does play a large role in determining success, on the assumption that all the big technical and architectural decisions have already been made.

But I think it’s an interesting lesson for those of us who care deeply about technical quality, right down to the level of implementation. I may care, and if you’re reading this perhaps you do too, but in the corporate world, it’s just not that important. What’s important there is making the right sounds and playing the right game.

Self-signed certificates in Mail.app

I run my own mail server, including an IMAP server. I use SSL, but I was not about to pay Verisign (or anyone else) for a signed certificate. I had been putting up with the “trust this certificate?” messages every time I started the Apple Mail.app, until I came across this Apple support article.

It describes how to import your self-signed certificate into your key chain, so Mail doesn’t bother you any more.

All's well that ends well

Two weeks ago, I was sitting at the table eating breakfast and browsing the news on my Powerbook, as I am want to do. In front of me was my bowl of cereal, and to my right, the carton of milk. And just beyond that, my two year old daughter.

You can probably guess what happened next.

The milk went over the front half of the Powerbook, luckily missing the keyboard and speakers. It still seemed to work ok, so I mopped up, packed up and went to work.

When I got there, I noticed the lid catch was a little sticky, but it opened ok and still worked. At the end of the day, I shut the lid and came home.

This was when things turned bad. That evening, I opened up the Powerbook to check my email, and was more than a little disturbed to find the bottom two thirds of my screen didn’t work. Like, it was black. And then, it wasn’t black, but wasn’t being refreshed. weep

I found that by moving the screen back and forth, I could usually get it to come good, but it wasn’t very satisfactory. It seemed get better the longer it was on… probably heat related. But it was pretty much unusable when first fired up.

The service guys at my local AppleCentre had a look, and were suitably impressed. They thought it might just be a loose connection, since the screen cable runs down to the front to connect to the logic board. Or it could be a fried logic board, which would only cost about AUD2,500 to replace. Sigh

Anyway, they booked it in, and called me on Wednesday to say they had time to look at it. So I took it in yesterday. I spent a nervous day working on my linux box, and hardly ever checking the Apple site to review the specs of the newly announced upgraded Powerbooks…

That afternoon, they called with the good news… There was nothing obvious wrong with the hardware, so they just stripped it down, cleaned everything up, re-seated the connectors and put it back together. And that seemed to do the trick. :-D

So now I have my baby back, and it seems as good as new. A happy ending to a potentially disastrous story. And now I make sure there is a good distance between open milk cartons and children.

I've done it

I’ve finished it. At last. The Baroque Cycle, Neal Stephenson’s three volume mega novel, sort of a prequel to Cryptonomicon. Roughly 3,000 pages, and when you get as much time as I do to read fiction (i.e. very very little), that can take a while.

It was certainly an enjoyable read, but my rather disjointed reading style did not lend itself to absorbing the complex interrelationships between all the characters and plot threads. I think I spent almost as much time flipping back and forth trying to reestablish the context as I did just reading.

Oh well, maybe when the kids have left home and I’ve retired I’ll read it all again in a single sitting. :) And then I’ll also follow all the historical references and read them too. Right.

Word is not text

Note to self: next time you have occasion to commit a Word document to CVS (dog forbid), make sure you tell it that it’s a binary file, not text.

I foolishly let Eclipse decide for me… and it picked text. Sigh. So a week after I had left the project, I get a call from my ex-manager complaining that certain documents could not be opened. Since one of the last things I did before leaving the job was to wipe my PC’s hard drive, I was a little concerned.

But a quick inspection of the “corrupt” Word document confirmed my suspicion. Every newline (0x0a) character was indeed preceed by a carriage return (0x0d). DOS line breaks! Thanks for that one, Bill!

Anyway, [this] 1 small piece of Perl hackery later, and the document opened fine (in OpenOffice anyway).

Aqua Emacs Installer

I have been occasionally building Emacs packages for the Mac from CVS. Anyone can do this, of course. Just get the latest source code:

cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co emacs

change into the “mac” directory:

cd emacs/mac

and run make-package. You need to pass it some options that it gives to autoconf:

./make-package --self-contained -C,--enable-carbon-app -C,--without-x

This will result in a normal Mac installer package, EmacsInstaller.dmg, in the current directory. You can double-click on it in Finder, or use the magic “open” command from the terminal:

open EmacsInstaller.dmg

and install a lovely aquafied carbon emacs.

I’ve found CVS HEAD for emacs to be pretty stable, but it is under active development, and is not an official release, so could be broken on any given day. On the up side, what will become Emacs v22 has some pretty neat new features.

You can download my package, built from HEAD when I get around to it from time to time, here.

Spotlight Weirdness

I’ve had the uneasy feeling for some time that spotlight was not quite the full deal. I’d search for something, and not really be satisfied with the results.

Anyway, today, I needed to find a phone number that I’d mentioned in an Adium chat last week. Something to do with Anthony, and it had two 8s in it. But spotlight denied any knowledge of such a file. :-/ In the end, I browsed my Adium logs manually and found it, but it annoyed me enough that spotlight couldn’t even perform this simple task, that I started looking into it.

The file (that I found manually) was definitely being indexed, since mdls returned all its metadata. But neither the GUI spotlight nor mdfind found it. A bit of googling around turned up no better suggestion than “blow it away”. That is, apparently the spotlight index can become corrupt, and forcing it to rebuild is the only way to fix it.

This is accomplished with the command:

sudo mdutil -E /

(which erases the index for the startup volume).

Of course, OS X will then go and rebuild the index, which in my case took less than a couple of hours.

And now I can find that Adium transcript!

iPod Redux

A couple of cool things of note about my iPod and iTunes 4.9. First, and this has probably been there forever and I just didn’t notice, but when you’re playing a track, and click the “select” button (the centre of the click wheel), the progress indicator changes from a bar to a diamond. I couldn’t figure out why, until yesterday I happened to “spin the wheel” while in this mode–and I was zooming through the track! Cool! This is a much quicker way of moving around in a long track than my previous technique of holding down the forward or back buttons, which would cause the player to fast forward (or back) at about 20x normal speed.

Second, and this is definitely new in iTunes 4.9 (well, firmware 1.4 for the mini anyway): syncing podcasts now checks for what ‘casts will be removed in a sync (because they’ve been played) as well as what will be added before calculating the available space. Previously, it had pained me greatly (having “only” a 6GB mini) that I’d have to manually juggle my iPod contents when syncing if I had lots of new ‘casts. Even though those on the ‘pod that I’d listened to (and would be removed by my smart playlist) would have freed enough space for the new ones, iTunes was not smart enough to work that out. But with the new explicit support for podcasts (they’re a “first class” thing on the iPod now, not just another mp3), the sync removes played ones before updating news ones. Cool++!

I know it sounds like a cliche (ok, is a cliche), but podcasting is really changing the way I think about radio–most of the podcasts I subscribe to are ABC or NPR radio shows, and now I can listen to them when it suits me, not just if I happen to be near a radio (and sufficient silence) when they are being broadcast.