Linux Still Not Ready for the Desktop

Saturday, December 30th, 2006

Recently I decided it might be easier to install a recent libxml on Linux rather than try to figure out how to get one on the Mac. I’d forgotten my password for the Linux box I hadn’t turned on in about half a year, and I didn’t seem to have it written down anywhere, so I decided I might as well upgrade. Linux is clearly improving, but is equally clearly not ready for an end user yet. If you like compiling and installing libxml from scratch, Linux is for you. If, on the other hand, “compiling and installing libxml from scratch” is unintelligible techie gibberish, it’s not.

Test Your Code, Please!

Friday, December 22nd, 2006

No this isn’t another rant about agile programming or test-driven development or test first programming. There’s a depressing phenomenon in some open source projects (including Jaxen and PHP) where a programmer goes off in a corner, gets a cool idea, writes it up, contributes it, has it checked in, ships it to millions of users; one of whom has the distinct pleasure of being the first to ever actually use this code.

I am getting really tired of discovering code that is broken by design; not merely buggy but partially to completely non-functional and unable to be fixed. The worst case I ever saw was in Jaxen where I once spent two days trying to write unit tests for a package that had been contributed years ago (without any tests of course) and banging my head against the wall trying to figure out how to reach that code. Only after this time, did careful analysis of code paths reveal that the code could never be reached, no matter what. It never could have been reached.

No, I will not add you to my whitelist

Thursday, December 21st, 2006

I am so sick of companies that scream about adding their addresses to my whitelist so they can get through my spam filters. Here’s one example from Hewlett Packard:

To ensure you properly receive your HP Technology at Work newsletter, and driver and support alerts, please add to your book. If you also receive the following e-mails from HP then add these addresses to your book:

  • HP Monthly promotions newsletter:
  • Events and other general HP customer communications:
  • Order and support e-mail confirmations:

I have news for the corporate zombies and clueless marketdroids that design these sites and their e-mail bots:

If you’re getting caught in my spam filter, it’s your own damn fault!

Murphy’s Law of Co-occurrence Constraints

Wednesday, December 20th, 2006

Co-occurrence constraints are a perennial topic at XML conferences because the usual schema languages (DTDs, W3C Schemas, RELAX NG) can’t handle them. Consequently they’re a fertile source of papers like XML 2006’s keynote from Paolo Marinelli on Co-constraint Validation in a Streaming Context.

However, I mentioned in hallway conversation that I wasn’t sure how common or necessary co-occurrence constraints really were. In fact, I didn’t think I’d ever found one in the real world. Naturally two days later I stumbled across several of them in a very common, very frequent real world example.

The 90 Second Rule

Friday, December 1st, 2006

While reading Paco Underhill’s Why We Buy, I was struck by his discovery of the 90 second rule:

We’ve interviewed lots of shoppers on the subject and have found this interesting result: When people wait up to about a minute and a half, their sense of how much time has elapsed is fairly accurate. Anything over ninety or so seconds, however, and their sense of time distorts—if you ask how long they’ve been waiting, their honest answer can often be a very exaggerated one. If they’ve waited two minutes, they’ll say it’s been three or four. In the shopper’s mind, the waiting period goes from being a transitional phase in a larger enterprise (purchasing goods) to being a full-fledged activity of its own. That’s when time becomes very bad. Taking care of a customer in two minutes is a success; doing it in three minutes is a failure.

I suspect the rule applies to a lot more than merely shopping. (more…)