Sunday, December 12, 2004

Seven deadly sins of distributed systems

A paper by Steve Muir at the Usenix Workshop on Real, Large Distributed Systems (WORLDS'04) caught my eye: The Seven Deadly Sins of Distributed Systems catalogues a number of real problems that arose during the development of PlanetLab. PlanetLab is a very large distributed computing environment (I think we're supposed to call them Grids these days), allowed large scale distribution and virtualisation of apps. Muir's paper describes some very practical problems they encountered, and describes what they did about them. For example:

There’s No Such Thing as “One-in-a-Million”
In a distributed system with hundreds of nodes running 24/7, even the most improbable events start to occur on a not-too-infrequent basis. It’s no longer acceptable to ignore corner cases that probably never occur—those corner cases will occur and will break your application.

Very salient stuff. I'm currently adding web-services capability to Nuin. I have some facilities for handling errors, but it's nowhere near as robust or complete as I would like. After reading Muir's paper, I think that I ought to worry about this more than I already do. Much more!

WORLDS'04 workshop proceedings via Hack the planet

Monday, December 06, 2004

The Law of Standards applied to the semantic web?

Sean McGrath points to an interesting piece by John Sowa (he of conceptual graphs fame) on The Law of Standards. Sowa's hypothesis is that successful standards are codifications of existing practice, whereas unsuccessful standards are by and large attempts to create new technology. He illustrates the point by reference to programming language design, such as the design of Ada resulting in the widespread adoption of C.

I'm not sure I entirely agree with the characterisation. Firstly, there are successful new standards for novel technologies. Consider CDROM and DVD formats, for example. It seems to me that a more significant difference is that it is obvious with the successful standards what they are for. Nor does ratifying an existing practice always make a decent standard - by the time ISO had finished standardising Prolog the developer community had by-and-large forgotten that the langauge existed.

However, if we take as a starting point that complex technical standards without a really obvious application are often replaced by a simpler de facto standard, it rather begs the question what, if anything, will do this for the semantic web. We see a roughly bi-modal distribution of users on the Jena list: some just want really simple taxonomies and properties, while others want complex DL reasoning with persistent data, or else want to do funky things with all the freedom inherent in OWL Full. Sowa claims that the complexity of OS/2 drove the adoption of the Windows API. The other school of thought is that Microsoft have always tried hardest to woo developers with the best tools. So, maybe the answer to the complexity of the semantic web is even more, even better semantic web tools.

Most Hated Advertising Techniques

I agree with about 80% of what Jakob Neilsen says, and 100% with the latest AlertBox on the Most Hated Advertising Techniques. Should be required reading for all web advertisers and ad agencies.

Amtrak's customer-facing AI system

Interesting collection of AI Alert topics this time, including Amtrak's "Julie" - an automated front-end to their ticketing process.