River is back with two new blog entries from Baghdad. Her thoughts on viewing a (bootleg copy of) Fahrenheit 9/11 are essential reading. Speaking about Lila Lipscomb, the mother of the US soldier killed in Iraq, River says:
I can’t explain the feelings I had towards her. I pitied her because, apparently, she knew very little about what she was sending her kids into. I was angry with her because she really didn’t want to know what she was sending her children to do. In the end, all of those feelings crumbled away as she read the last letter from her deceased son. I began feeling a sympathy I really didn’t want to feel, and as she was walking in the streets of Washington, looking at the protestors and crying, it struck me that the Americans around her would never understand her anguish. The irony of the situation is that the one place in the world she would ever find empathy was Iraq. We understand. We know what it’s like to lose family and friends to war- to know that their final moments weren’t peaceful ones… that they probably died thirsty and in pain… that they weren’t surrounded by loved ones while taking their final breath.
As for her comments on watching Bush and Allawi on television…
The elections are already a standard joke. There’s talk of holding elections only in certain places where it will be ‘safe’ to hold them. One wonders what exactly comprises ‘safe’ in Iraq today. Does ‘safe’ mean the provinces that are seeing fewer attacks on American troops? Or does ‘safe’ mean the areas where the abduction of foreigners isn’t occurring? Or could ‘safe’ mean the areas that *won’t* vote for an Islamic republic and *will* vote for Allawi? Who will be allowed to choose these places? Right now, Baghdad is quite unsafe. We see daily abductions, killings, bombings and Al-Sadr City, slums of Baghdad, see air strikes… will they hold elections in Baghdad? Imagine, Bush being allowed to hold elections in ‘safe’ areas- like Texas and Florida.
Sad to say, I actually can imagine the latter. Maybe I need to get out more.
Debating WS-*
Tim Bray continues to discuss the relevance of the so-called WS-* stack: the collection of specifications related to XML-based web services. I’m not going to dive into the technology or business issues here; however Tim referred to a piece by Dare Obasanjo which argues that WS-* Specs are like JSRs. I tried to add a comment to this, but Dare’s blog engine collapsed in a mess of XML, so I’ll just post it here. Hopefully you’ll be able to get back to read the original piece if you’re interested. [Update: It looks as if my comment made it into Dare’s blog after all.]
Just out of curiosity… if WS-* are like JSRs, what’s the equivalent of the JCP? Where’s the process documented, and what’s the governance model? The statement “A JSR is basically a way for various Java vendors to standardize on a mechanism for solving a particular customer problem” ignores the fact that it’s not just any old “way”; it’s a particular “way” that has been publically codified, ratified by the community, and evolved to meet the needs of participants.
And then Mike [Champion] writes, “One difference of course is that Microsoft exerts a lot more architectural influence over the WS-* stuff than Sun attempts over JSRs. I think that’s generally a positive thing”. Hmmm: does this mean that he and his employer were actively engaged in JSR-171, JSR-215 and so forth, arguing in favour of stronger architectural influence by Sun?
Update: Over in LooselyCoupled, there’s a response to Tim et al which essentially takes the position, “let a thousand flowers bloom, let mutually consenting parties decide what kind of daisy-chains to weave”. My response is that this is fine until cookie-cutter garland tools start stamping out the same bloody flower patterns everywhere….
"Political Compass" test
Just took an interesting little test called The Political Compass. Yeah, I know it isn’t new, but it’s still fun.
I scored:
° Economic Left/Right: -3.38
° Social Libertarian/Authoritarian: -5.03
pretty much as I’d have expected.
CD of the week: "An Audience with Tony Benn"
I know, I know: you see “CD of the week” and you expect music. Not this time. An Audience with Tony Benn is a double CD that I picked up in Oxford recently. It’s simply a recording of the former MP and Labour politician Tony Benn on stage, speaking about politics and answering questions from the audience over the course of a couple of hours. Sounds boring? Anything but.
Tony Benn retired from Parliament a few years ago “to spend more time with politics”, and listening to him one remembers that politics is about ideas – big ideas, about how we organize and govern our lives, and how power is acquired, transferred, and controlled. It’s a refreshing – and somewhat wistful – realisation. To most people, he’s identified with the label “left-wing extremist”, or “socialist”. While that may have been his assigned role in the bizarre game of day-to-day politics, here he simply talks about common-sense, uncomplicated ideas, with the clarity that marks a superb thinker and orator.
A couple of years ago, while visiting England, I turned on the TV late one evening and found myself watching an hour-long conversation between Tony Benn and Michael Portillo, the former candidate for the leader of the Conservative Party. Here were two prominent politicians from opposite ends of the political spectrum, having a quiet, civilized discussion about the state of politics in Britain over recent years. Obviously they disagreed about many things, but they agreed on many more – on the responsibility of those in government, and the dangers of the “politics of personality”, among other things. They clearly liked and respected each other, and enjoyed the interplay of ideas. Voices were not raised, slogans and sound-bites were eschewed. It was wonderful. I thought of American politicians, and tried to imagine such an exchange occurring. Mario Cuomo and Newt Gingrich? Ted Kennedy and Bob Dole? Alas, my imagination wasn’t up to the task.
Did I say that?
One curious feature of search engines is that they remember stuff better than you do. I bumped into this truth earlier this morning, while testing the new a9.com search engine from Amazon. I naturally(?) began by searching for my name. After getting the usual hits, I found a bunch of stuff I’d never seen before – things like email exchanges about the NFS implementation in the BSD/386 distribution, and JXTA discovery. And then I came across this article by James Odell from 2002: Objects and Agents Compared. This post-dated my active involvement in the autonomous agents community, but nonetheless James quoted me twice – and both seem relevant to my recent pieces on software engineering, such as this.
On synchronous vs. asynchronous interactions:
According to Geoff Arnold of Sun Microsystems, “Just as the object paradigm forced us to rethink our ideas about the proper forms of interaction (access methods vs. direct manipulation, introspection, etc.), so agents force us to confront the temporal implications of interaction (messages rather than RMI, for instance)”.
On typing:
Geoff Arnold has considered the question of third party interactions which are very hard for strongly typed object systems to handle. Here, two patterns come to mind. The first involves a broker that accepts a request and delegates it to a particular service provider based on some algorithm that is independent of the type of service interface (e.g., cost, reachability). The second involves an anonymizer that hides the identity of a requester from a service provider. Models based on strong typing, such as CORBA, RMI, and Jini, cannot easily support these patterns.
Hmmm. I wonder what else I said. In the meantime, I’ll happily cite myself as these issues unfold….
Sky Captain
We* went to see Sky Captain and the World of Tomorrow yesterday. Wonderful! Visually it’s an art deco treat, from the searchlights over the skyscrapers to Polly’s aluminium-framed dark glasses, from the Royal Navy’s “air ships” to the ray gun. (“Just shake it.”) And film buffs will have so much fun identifying all of the references…. I’m sure that when the DVD comes out there’ll be a “director’s commentary” explaining all of them, but until then it’s going to be a great game.
This is one to see again.
* “We” being The Fellowship, the group that went to each of the Lord of the Rings episodes together, plus my son Chris, who’s visiting from Seattle.
"I see no ray of light on the horizon at all"
Sobering reading from The Guardian, also available here:
According to the US military’s leading strategists and prominent retired generals, Bush’s war is already lost. Retired general William Odom, former head of the National Security Agency, told me: “Bush hasn’t found the WMD. Al-Qaida, it’s worse, he’s lost on that front. That he’s going to achieve a democracy there? That goal is lost, too. It’s lost.” He adds: “Right now, the course we’re on, we’re achieving Bin Laden’s ends.”
And the politicians can’t blame the military for this.
After the killing of four US contractors in Fallujah, the marines besieged the city for three weeks in April – the watershed event for the insurgency. “I think the president ordered the attack on Fallujah,” said General Hoare. “I asked a three-star marine general who gave the order to go to Fallujah and he wouldn’t tell me. I came to the conclusion that the order came directly from the White House.” Then, just as suddenly, the order was rescinded, and Islamist radicals gained control, using the city as a base.
As David J. Morris writes in Salon:
The mainstream press has largely overlooked the fact that in the case of Fallujah, the White House unnecessarily injected itself into the military’s tactical decision-making process in Iraq, ignored the informed opinions of ground commanders, and in effect micromanaged the battle. According to many observers, the seemingly contradictory U.S. military actions over the course of the siege were largely the result of the wishy-washy directives being issued by the Bush administration and its failure to appreciate the implications of sending in a large Marine force to seize a notoriously hostile town.
To both outside observers and former high-placed officials, including former U.S. Central Command chief Anthony Zinni and historian Robert Kaplan, it appeared as if the Bush administration had ordered the punitive campaign out of anger and then lost nerve when Arab outrage over civilian casualties rose to a fever pitch.
I don’t care about Bush’s ANG career, or even that he was a pathological liar at college. I care about the fact that he’s demonstrated that he’s totally incompetent, and that his bad judgment has caused thousands of deaths. He deserves impeachment, not re-election.
The computer is the network is the computer
In a recent blog posting, Masood Mortazavi waxed lyrical on the importance of the fundamental statement of Sun’s vision: The network is the computer. He wrote:
In my mind, there’s no more revolutionary concept in computing, networking and information technology than the motto which Sun coined in many of its corporate PR campaigns: The Network is the Computer. […] Many others, including Tim O’Reilly, have opined on the motto.[…] To me, it has an almost esoteric meaning.
I added a comment that I then decided to reproduce here:
Masood: I agree absolutely. As a 19 year veteran, I have found that “the network is the computer” has always been at the core of what Sun means to me. Occasionally we get distracted: we focus on the components and lose sight of the vision; but we always come back to it. You’ve reminded me to do something that I’ve wanted to do for a while, now: grab the domain name thecomputeristhenetwork.com. I want to use it to talk about some of my thoughts on the future of computing. Much of what I do revolves around the question that Rob Gingell asked a few years ago: “If the network is the computer, what is the computer that is the network?” It sounds Zen-like, but there’s a profound issue here. Hint: it’s NOT a Von Neumann machine. And no, it’s not isomorphic to a Turing machine. Turing machines are fundamentally synchronous. The network is fundamentally asynchronous.
The future of software – postscript
Jim Waldo expressed an understandable skepticism about my inclusion of autonomous agents in my piece on the future of software; I thought I’d share my reply to him:
I think that autonomous agents may be an ever-receding category, a bit like AI. Remember how every advance in AI would provoke the retort, “But that’s just X – that’s not A.I.” Every time we add a bit more autonomous capability to a software component (advertisement, peer group discovery, self-monitoring for SLO, negotiating over a shared security context,….) people will say, “Oh, yes, I see how you can do that, but that’s not REAL agent behaviour.” Some people will insist that we expose the inner workings, and if there isn’t an obviously “AI-like” mechanism like multi-level planning or BDI they’ll deny that it’s an agent. Whatever. [shrug] I just want software systems that are a bit more robust, a bit more tolerant of version skew, a bit better about proactive resource management and self-diagnosis, a bit more flexible about how they organize themselves with their peers.
The future of software
Many of my colleagues at Sun are busy blogging about the software technologies that they work on – Solaris 10 features like zones (sorry, N1 Grid Containers), ZFS and dtrace; Java platforms (J2*E) and applications like speech synthesis and phone games; even Perl. And all of this is important – as Bruce emphasized, it’s important to articulate who we are and what we do.
I spend much of my time thinking about the future: about what cutting-edge systems and software will look like three or five years out. Now I know that this isn’t fashionable: Jonathan’s priorities for the year, immortalized here, emphasize the tactical rather than the strategic, and that’s just fine with me. And I also know that for most people the answer will be “same as it ever was”, because innovation in computing tends to be additive: augmenting rather than replacing. But the beauty of the future is that it’s already happening. Check out two articles in last week’s Computerworld if you don’t believe me.
Have Jini, will travel describes how Orbitz built their travel reservation system using Java and Jini. To quote from the article:
Under the Orbitz architecture, a customer request to book an airline ticket passes to a Java servlet container — the Jini client — running on BEA Systems Inc.’s WebLogic application server. The Jini client uses the Jini discovery protocol to find a Jini lookup service, which sends a proxy back to the Jini client. Through the proxy, the Jini client uses the lookup service to find a Jini service that can do what it needs. The lookup service then delivers the Jini service proxy back to the Jini client, and the client uses the proxy to communicate directly with the Jini service.
Orbitz registers its 1,332 Jini services on multiple instances of lookup services for redundancy, so there’s never a single point of failure in the event of a power supply or hard drive failure. It also builds redundancy into the servlet containers and the services themselves, scaling horizontally through Intel-based dual-processor PCs running Linux. The PCs act as servers in the Orbitz environment. “It’s not just redundancy; it’s also capacity,” says Hoffman. “If you need today 10 boxes to service a particular request and your traffic doubles, we can just add 10 more, and it’s not only handling twice the capacity but it’s now twice as redundant as it was before.”
While analysts are starting to label every kind of new software methodology as “Service-Oriented Architecture”, Orbitz is running a system consisting of thousands of services, with a high degree of self-configuration and self-healing. It’s a compelling vision. And it’s happening right now. (Shameless plug: I used Orbitz to book last week’s vacation trip to England.)
So what will all of these thousands of application services be doing in the future? Another article in the same paper, Agents of change, looks at the current developments of autonomous agent software. (This is an area that I worked on some years ago; some of our thoughts are summarized here.) Agents represent a paradigm shift as fundamental as object orientation: from building software as a bunch of reactive services and wiring them up according to a fixed pattern, to creating a community of self-interested goal-driven agents that can negotiate with their peers to solve complex problems. (The anthropomorphism is inevitable.) What I find interesting is that the ideas apply at so many levels – to application business logic, as described in the article, but also to service lifecycle and systems management.
What links these two articles is that today the technologies are widely regarded as rocket science, or even science fiction. It’s tempting to hand-wave and assert that a little syntactic sugar and tool-building will allow us to transform these powerful techniques into Lego components for the journeyman programmer. Well, maybe. But we should also consider how they might be used to solve intrinsically complex problems – the kind of thing that today we don’t even try to tackle. One size definitely won’t fit all.
(The other thing that links them is that they describe how our customers are building the future today. And that’s a tactical business opportunity – right, Jonathan?!)