Monthly Archive for July, 2008

LiveMesh Lands On Mars

In April I wrote the following to a colleague after reading ZDNet’s article on the announcement of LiveMesh:

I have absolutely no respect for Ray Ozzie as an architect. Everything he’s ever created has been overcomplicated shite only an architecture astronaut could love. Seeing the current confusion over “what *is* this thing?” doesn’t give me much hope he’s going to change that pattern this time around.

Since I got the term “architecture astronaut” from reading Joel Spolsky it was a happy circumstance to find that he has a similar (though wittier) opinion of Ozzie’s LiveMesh:

Windows Live Mesh is not just a way to synchronize files. That’s just the sample app. It’s a whole goddamned architecture, with an API and developer tools and in insane diagram showing all the nifty layers of acronyms, and it seems like the chief astronauts at Microsoft literally expect this to be their gigantic platform in the sky which will take over when Windows becomes irrelevant on the desktop. And synchronizing files is supposed to be, like, the equivalent of Microsoft Write on Windows 1.0.

It’s Groove, rewritten from scratch, one more time. Ray Ozzie just can’t stop rewriting this damn app, again and again and again, and taking 5-7 years each time.

And the fact that customers never asked for this feature and none of the earlier versions really took off as huge platforms doesn’t stop him.

By the way, here’s the “insane diagram” I assume Spolsky’s referring to. Or maybe it was this one.

What’s the lesson here? Well, for one thing, that when Steve Jobs put a bullet in OpenDoc, he did the right thing. What other astronomical architectures would be better put out of our misery?

FYI, A Couple of Broken Things

First, I notice a lot of interest in my old post on configuring a JXTA peer using Spring. Be advised that a) this article is out of date and the technique will no longer work due to changes in the platform, and b) I have promised the JXTA community to look into what changes might be needed to restore the declarative configuration technique to viability, submit the feature requests and/or patches, and write a new article on how to do it. In the meantime, it would be best if people avoided the old post because it will only lead them astray.

Second, I notice my blog is partially b0rked–the sidebar modules don’t work anymore. I have some suspicions about why that is, and when I get a decent chunk of time I’ll try to fix it (hopefully without completely b0rking everything!) Please be patient. “Technical difficulties are temporary…”

Genetic Programming Example in JavaScript

While researching genetic programming as one possible way to discover near-optimal solutions to the Travelling Salesman Problem (TSP), I came across this cool interactive demonstration of genetic programming using JavaScript. I found myself playing with it for a good while, enjoying watching the solutions evolve and converge under different fitness constraints.

The page itself doesn’t provide much information on what’s going on, but you can get a quick overview of genetic programming here. For deeper investigation, try genetic-programming.org, a site maintained by John Koza, one of the major figures in genetic programming research. There are links to all sorts of resources including all of Koza’s publications, many of which are available online.

Government Hypocrisy on Drugs

Of course, that topic could fill a book… but for now, note that the U.S. Government claims marijuana has no legitimate uses and insists on keeping it illegal. Why, then, has it patented the medical use of cannabinoids as antioxidants and neuroprotectants? Flipping hypocrites. I’ve always believed that the U.S. Government has no intention of eliminating drugs; it only wants to control their distribution and sale and the immense profits therefrom. Call me paranoid now!