Dear kernel, no love

We fixed our bug.

Yeah. We spent hours on that, poring over bugs 38688 and 116996 trying to figure out what was stealing the memory addresses that by rights belonged to the SATA disk. And actually, I think there was a genuine bug with ide-disk stealing addresses from ata_piix, just like pnpacpi does in bug 38688 (38688 is a helpful bug for working with help one of my disks is missing confirmation). But it wasn’t the boot that blacklisted ide-disk that fixed the problem, it was the one two after that, after we tried switching the working DVD burner with the hard drive, and then moved the hard drive to a new slot.

I swore to myself while this was going on that it was not going to be A Learning Experience, as in I was not going to be all well, I did spend six hours in the depths of despair, but that’s OK, I learned something. But actually I do feel good for knowing more about the kernel now. GRRR.

Stupid fate

I have been rather talkative lately haven’t I? Well, never fear kiddies, because not only is my laptop dead (needs new power supply, spent $230 to get a fix that lasted for all of two weeks) but our trusty router/fileserver/machine of all trades also just failed completely in the middle of me switching USB plugs. Failed as in cannot boot as far as the BIOS. Failed as in the motherboard won’t even beep in alarm at us. Hopefully not failed as in ate all our data, but we can’t tell yet.

So I’m online-deficient for a while. Everyone keep Andrew’s laptop in their thoughts OK? Because it’s all we have left… sob.

Around the ‘net

Seeing Yellow: did you know that your printer is likely printing a unique pattern of dots on your printouts such that someone with appropriate information can identify which printer (and therefore which small group of people) printed it? Well, neither did I, until I read Mako’s blog entry about the Seeing Yellow project.

Fact about me you probably did know: my household doesn’t have a car.

Fact about me you probably didn’t know: my household doesn’t have a printer.

The Tyranny of Distance: Part 2, more reasons why being an Aussie geek in a big big world is a pain. If you head on over you can also see me account for some of the painful aspects of travel that I’ve only learned from living with someone who once commuted to London for four day’s work and has done so several times for a single week. (The amusing plan whereby he’d go to London for a week, come back for a foreshortened week’s holiday and go again for another week never came to pass though, so there’s no competing with those people I once saw in the paper talking about how they’d once flown to London for a single two hour business meeting and then flown straight back. Yeah, business class, but even so.)

Of course there’s some kind of offset we can apply for the considerable advantages all being either native speakers of English or fluent speakers with regular exposure to native speakers, plus wealthy, minus widespread monolingualism. How does the balance sheet look then? Not sure.

Photo management

Here’s a more genuine lazy-web request today: online photo management. But here’s the key: for internal use, not just for showing other people our photos.

At the moment, Andrew and I dump all our photos from our cameras into F-Spot. It’s an OK little program, but this is already a bit of a hacked together solution.

F-Spot is really designed to run on your desktop, suck photos from a camera, and store them on said desktop’s (or personal laptop’s) drive. This model doesn’t really work for us. Firstly, laptops get stolen. Andrew had his stolen in November 2005 and for a while we were worried we’d lost more than a year of photos. We hadn’t because at some point that neither of us clearly remembered but only dimly inferred, I’d bugged him until he dumped copies on our fileserver. So we want very regular backups onto another machine, or master copies stored there (with 15 GB of photos to date, 6 GB of which were taken in 2007, master copies is starting to make sense).

F-Spot has a per-user photo and tags database which is based on an assumption of each-photo-belongs-to-one-person just like my word processor’s equally false assumption regarding my documents, which has, I’m told, resulted in any number of variously buggy and expensive version control systems for Word. Only for code in plain text files has this problem really been solved well and often. Anyway we have a setup whereby we mount our photo disk on the fileserver over sshfs, and have symlinks to a shared photo database also on the photo disk, and F-Spot falls over and dies all the time and we kind of deal with it mostly.

F-Spot is also kind of difficult to use. It has tags, but you have to pick them from a huge drop-down list, meaning that to tag a single photo with all five of my family members in it can easily take me thirty seconds. (Or, yes, I could subcategorise them, but the Andrew and Mary tags then belong in about five categories each and it doesn’t allow that.) It doesn’t have albums either: you approximate that with tags, so you really do need a lot of tags… which means making the tag list even harder to use. I believe iPhoto, which is similar but more mature would be a bit better, but equally bad in the each-photo-belongs-to-one-person assumption, or possibly even worse because there might not be a workaround with mounts.

Anyway, if someone has a web service whereby we could dump all our photos onto it and manage the metadata there mor dynamically there, we’d probably use it, and pay for it (assuming that we got access to an acceptable backup mechanism). But the thing there is a whole different set of assumptions with online photo management: that we want to show someone the photos we upload. This is only true of about a tenth of our photos in reality, the rest of them suck even more than the ones we do end up uploading to show people. The rest of them we just have sitting around because, hey, they’re in focus and hard drive space is cheap. We need something that combines we’d like to show people some photos with we have a lot of photos we just store and annotate. And then there’s the lock-in (most people I know have photos on Flickr, and won’t see anything I post off Flickr), Plus Flickr at least also has more than a bit of a each-photo-belongs-to-one-person assumption behind it and also doesn’t seem to have a mechanism for this photo is a version of that one like the desktop apps do.

So, is there something that could do this for us? I suppose bonus points if I could occasionally cross-post to Flickr.

Measuring performance

James Gregory has an entry up called Metrics, on metrics as used to measure the performance of your software product: is it as fast as we need, as stable as we need, as tested as we need? He then goes on to talk about measuring the performance of your coders:

There’s other metrics you should watch as well: the deficit between a programmer’s estimate on time to fix a bug and actual time taken is honestly the only way to start getting good time-estimates. Which is another important point: metrics don’t just let you improve your product now, they help your staff get better at their jobs.

Similarly, it’s imperfect, but trends from time-lines of bugs open, and rates of bugs opened per unit time show interesting trends. I’ve found these to be good indicators of project completeness in the past, but these metrics are dangerous: it’s easy to be misled by this stuff, so treat such metrics with suitably large salt-grains.

He goes on to note Joel Spolsky’s objections to measuring programmer performance like this, which are in Spolsky’s article The Econ 101 Management Method. James says:

The example [Spolsky] gave was in reference to his company’s bug-tracking software, and he submitted that once you can measure the bugs-closed per unit time value, programmers will start artificially inflating their count by lying to the bug-tracker and to you. I frankly find this position a bit offensive, but if such situations exist it reflects poorly on management rather than the engineers. You need to be accepting of metrics that show problems, because if people hide the problems, you can’t solve them, but similarly: if you can’t measure, or, don’t look for the problems, you can’t solve them either.

Spolsky has an argument from psychology too, which I’ll get to, but first I thought it was worth noting that while James who is (let’s stipulate) a good manager needs to work with, optimise around or fire bad engineers occasionally, we as (let’s stipulate) good engineers need to defend ourselves against bad managers. I can come up with all kinds of amusing or horrifying stories about managers who’ve gotten bees in their bonnet about various metrics or other ‘signs’ that a project is going well or badly, or that they’re being undermined or are about to get a bonus or whatever. For every manager who is trying to notice patterns like every time you tell me a bug fix is going to take a day, it actually takes a month there’s one who is roaming around reminding people triumphantly that all version control commit messages must have at least 100 words in them. [I should note that this example is hypothetical: no actual crazy managers were harmed in the making of this blog entry. That said, I’m sure there’s some manager out there doing this right now.]

That’s a bad manager! isn’t much consolation when you work under said manager.

Anyway, as far as it goes, I suppose Spolsky’s point is that programmer performance is unlikely to be measured by a single metric any more than product quality is in James’s post, with increases in speed needing to be balanced against security, stability and maintainability metrics. But, if you do make the mistake of relying on a single metric for product quality, as James notes, you get a very fast piece of software which barely works. That’s one thing. But Spolsky is arguing that if you rely on a single metric for programmer quality, you not only get say, a low bug count at the expense of tests, you also get worse programmers:

Intrinsic motivation is your own, natural desire to do things well… Extrinsic motivation is a motivation that comes from outside, like when you’re paid to achieve something specific.

Intrinsic motivation is much stronger than extrinsic motivation. People work much harder at things that they actually want to do. That’s not very controversial.

But when you offer people money to do things that they wanted to do, anyway, they suffer from something called the Overjustification Effect. “I must be writing bug-free code because I like the money I get for it,” they think, and the extrinsic motivation displaces the intrinsic motivation. Since extrinsic motivation is a much weaker effect, the net result is that you’ve actually reduced their desire to do a good job.

So Spolsky has a point beyond you’ve got to be careful that you don’t mistake the metric for what it’s measuring, although that’s part of his point. This is a point that scientific method training hammers into you: you need metrics to help you decide what reality is doing, but the metric is not the same thing as reality, it is only ever an approximation to it, and is only good insofar as it is a useful approximation.

Spolsky’s other point is that regardless of whether you, the stipulated good manager, mistake the metric for reality, the people judged based on the metric will: they’ll even start mistaking the metric for their conscience. This, I think, is a point James hasn’t addressed yet.

Buying a laptop from the US: not impossible, just whine-worthy

Russell Coker interpreted my post about how laptops are expensive in Australia as a lazy-web request for instructions on how to buy a laptop from the US, and posted accordingly. His blog is down, so I thought I’d clear it up here: I know how to buy a laptop from another country.

It can even be much easier than he suggests: some US sellers will happily post or courier a laptop to me directly, without the need for me to find a friend about to visit Australia. And I can also get someone in the US to take the delivery and re-post it, if I need to. In any event, it comes to Australia, it gets held by Customs, I pay import duties, and it still ends up being much cheaper than buying it from an Australian importer (import duties will be 10% of the purchase price, give or take, but Australian markup for pre-imported laptops over US sale price is closer to 100%).

So why a post at all then? It wasn’t a lazy-web request, it was just a complaint. There’s a cheap method of buying a laptop, in which I shop on US websites after finding one that will take a non-US billing address, bother my friends, spend a lot of time researching the minutiae of warranties (I’m at a loss, for example, for how I check Russell’s claim that ThinkPads have international warranties unless I already own one), spend a bunch more time on Customs paperwork with which I’m utterly unfamiliar and then receive it. There’s an easy method of buying a laptop, in which I walk into an Australian store, give them money and receive a laptop. One takes many hours of my time, one involves twice as much money. And thus a whiny blog post was born.

Conference networking software

A lot of the time when I hear about new social software I wrinkle my nose. Take this post hoping that people will take up Dopplr, which is apparently a site where you enter your travel details and it tells you if you’re going to be in the vicinity of friends while travelling. Why did I wrinkle my nose? Because the beneficiaries of this kind of site are people who travel a hell of a lot. The rest of us are just being harangued into entered our very occasional trips in order to provide the pool of people that our well-travelled friends might or might not hang out with. The chances of me personally finding someone to hang out with when travelling are much higher if I just post an itinerary to my blog and hope someone sends me an email saying huh, I’ll be in town that weekend!. (Speaking of which, anyone I know going to be in Iaşi, Romania, between July 22 and August 6? Thought not. Let me know if you want a postcard though.)

Be that as it may, here’s a social software idea that sounds useful: Crowdvine + Pathable, a combo which FOO Camp people used to hook up people with similar interests. Conferences should indeed do more of this stuff: you and him, you guys need to talk! There are meet ups and BOFs and such things of course, but it does sound like it’s possible to develop the matching a lot if you can persuade people that it’s worth their while to do up a decent profile.

The pain and the agony

Kirrily Robert discusses The Tyranny of Distance: Why it sucks to be an Australian geek, prominently featuring the price of bandwidth, the price of books and the price of electronics.

This bears highlighting, because I need a new laptop fairly urgently. The Lenovo T60, when purchased in the United States, costs AUD 1300 or a bit less at the current exchange rate. When purchased in Australia, it costs about AUD 2500, that is, around about double the US cost. (Memo to USians whose major exposure to the Australian dollar was a few years ago: it buys USD 0.80, roughly, not USD 0.50 as you may have become accustomed to assuming, which means that doubling the US cost to get a price in AUD is no longer just a function of the exchange rate.)

A few other models at current actual sale prices on the official websites (not RRP, which the US models are typically discounted from):

  • Dell XPS M1210: 1050 AUD in the US, 1400 AUD in Australia, about a third more expensive
  • Dell Latitude D630: 990 AUD in the US, 1900 AUD in Australia, a bit less than double
  • HP Compaq nc2400: AUD 1800 in the US, AUD 3000 in Australia, a bit less than double

It’s not clear to me what one does from here. I bought my recently deceased Fujitsu Lifebook S6120 in the US, but I never had to exercise the warranty, so I don’t know whether or not I could have had it serviced in Australia. I don’t know if there are any manufacturers who will honour warranties locally on self-imported laptops. And of course, I have to put it through Customs myself.