| Main |

January 31, 2008

Programmers, mind your hands

This week hasn't been the greatest ever for me. On Monday, I was swamped with support (it was coming in as fast as I was answering it), and ended up still at work at 7:30pm. Ditto Tuesday (7:30pm again), though that was partly because I started the day with a lot of replies to messages I'd sent on Monday (in reply to queries that had come in).

Then yesterday I woke up with a nasty headache.

But today is worse. Today, it has become apparent that I’ve injured my left hand. I’d been finding for a few days that my hand started to hurt a bit in the early afternoon (and I mean, somewhere inside the hand itself, not on the surface and not the muscles that control it). But today it was really unpleasant, a sharp pain, not unlike a bad headache but inside my hand. I tried resting it a bit, and the pain went away, so I suppose it must be a typing-related problem, and since I don’t want to end up like poor Ben Wing, that means typing one-handed and resting my broken hand.

Only, typing one-handed is slow and I make mistakes :-( :-(

I feel about as much use right now as a chocolate teapot.

January 25, 2008

Is this the world’s first anonymous declaration of war?

Matt Webb on an an anonymous declaration of war on the Church of Scientology.

I still harbour the hope that Scientology’s founder, L. Ron Hubbard, may have filed a document repudiating the claims of the Scientologists with a law firm or bank, with the instruction that it be sent to the press a couple of hundred years after his death, thereby giving just enough time to ensure that there is significant recognition of Scientology as a religion before its founder outs the entire thing as the second greatest hoax in human history (the first greatest, of course, being Abrahamic religion).

Sadly I think it’s unlikely.

January 24, 2008

ptrace() and the “freetards”

It seems some of the “freetard” community has decided that it’s unacceptable that Apple provides even a nod towards copy protection in its operating system. I’m referring, of course, to the PT_DENY_ATTACH flag that can be passed to ptrace() to prevent debugging tools from examining a process.

The fact is that without this type of measure in the operating system, it would be trivial to misuse debugging tools to circumvent copy protection measures in applications, and I don’t just mean iTunes. A lot of shareware and commercial software calls this function to prevent casual debugging of its registration and/or activation code. And that should be no surprise. Casual piracy over the Internet is a huge problem for software developers; it’s much worse than the old problem of people swapping floppy disks or letting their friends have copies of programs that they’ve bought… much worse, because people allow everyone to have copies, which fundamentally undermines the value of software. As a result, those of us who write software for a living have to do something to prevent that from happening.

The very idea that Adam Leventhal, Brendan Gregg et al. have some right to be offended at this feature just beggars belief. It is complete and unmitigated rubbish to suggest that this is about “preventing defects from coming to light” or that it is in some way a slight to Open Source software that Apple has done this (indeed, DTrace is released under the OpenSolaris License, which explicitly allows modifications; it doesn’t disallow modifications that the original developers don’t find politically correct).

It may be true that the current blocking of DTrace has some unintended consequences, in which case Leventhal should file a bug report with Apple, just the same way the rest of us do when we find things that are wrong or that we don’t like. But this business of grandstanding about it because of some anti-copyright ideology is just plain wrong, as is Landon Fuller’s intentional sabotage of PT_DENY_ATTACH, both in ptrace() and DTrace, which, in addition to being immoral1, is probably illegal under DMCA/EUCD.

Update: Landon Fuller says that he’s pro-copyright and even pro-DRM, but in spite of that I get the impression that he still feels that it’s appropriate to publicly distribute a workaround for PT_DENY_ATTACH, in which case I stick by my assertions above.

1 Why immoral? Because by calling ptrace(PT_DENY_ATTACH), the author of a program is making a clear statement that they don’t want their code to be inspected by a debugger, at least not without explicit permission. Publicly distributing a workaround undermines the wishes of the author. Private distribution of the workaround wouldn’t bother me that much, because it would show that Fuller was using his discretion when distributing his kext, rather than handing it to anyone for any purpose.

January 23, 2008

It’s a rock

Chris Lintott on why it’s just a rock.

Will identity cards be useful?

The government here in the U.K. is planning to issue identity cards. This is a great idea, in principle, as if it is done properly it could end or at least significantly curtail identity theft. The problem is that if it’s done wrong, it will just be a pointless waste of time and money.

The BBC is currently running a story about how the ID card scheme is to be delayed, in which it says:

They have also come under fire from experts, including Professor John Salt, of University College, London, who has advised the government on migration trends.

Asked by a House of Lords Committee on Tuesday if ID cards would help curb illegal immigration, Professor Salt said: "No, if they are capable of being forged - and that is probably likely to happen."

I think it’s a little mischievous of the BBC to use that quote like that; Professor Salt is a Geography professor, and since preventing forgery of these identity cards is a technology issue, it seems reasonable to question his expertise in suggesting that it is “probably likely to happen”.

Certainly I see no reason why it should not be possible to prevent forgery using smart card technology. You would ideally want a tamper-proof mask over the chip to prevent probing, and you would need a well-designed cryptographic system as well as careful software design for the card. But if those elements are in place, it shouldn’t be possible to forge or even copy a card, since the card wouldn’t provide any data except to a central government-run system, and even then it wouldn’t be possible to intercept the information given proper use of modern cryptography.

I don’t think forgery is the primary threat. On the contrary, I think the primary threats come from the mechanisms for (a) issuing cards in the first place, and (b) replacing cards that are lost or stolen. The issuing mechanism is an obvious point of attack, since people can present false documents in order to obtain a legitimate ID card. The replacement mechanism, likewise, requires some sort of identity check, which could potentially be defeated (that’s true even for things like iris scans, by the way).

Personally I’m broadly in favour of an identity card, and I think it probably will reduce the problem of identity theft, provided it’s relatively difficult to falsely obtain legitimate cards from the authorities themselves. The big question is how the government plans to solve that problem.

January 21, 2008

Northern Rock debacle

It must be pretty humiliating for Gordon Brown to have had the first run on a British bank in more than a century, but even worse is the government’s subsequent failure to get a grip on the situation and the £25bn of taxpayer-backed loans that have subsequently been extended to the failing Northern Rock bank.

The government should have nationalised the Northern Rock when it became apparent that there was no way for it to continue in private ownership without substantial taxpayer support. The fact is that even under the proposed rescue scheme, we, the taxpayers of the United Kingdom, are still going to be heavily exposed to the Rock’s uncontrolled borrowing for the foreseeable future. Yet the taxpayer is not going to see one penny of the Rock’s profits (should it make any).

Of course, I can see why the government is reluctant to nationalise the bank. It will trigger legal action from shareholders (but, frankly, too bad… they should have kept their Directors under control, but instead they allowed them to borrow huge sums of money and as a result have created a problem of such a magnitude that it could now affect every man, woman and child in the land). But worse, it is likely to mean that as the housing market deflates, the government would be put in the unenviable position of having to repossess peoples’ homes. My guess is that it is that that is putting the Brown government off nationalisation, but that is no excuse for saddling us with all the risk and allowing private shareholders to run off with any profit derived from that risk.