Wrong premise, misleading conclusion

My colleague Warren posted a thoughtful and comprehensive response to Craig McMurty’s piece on Jini and Indigo. I just wanted to point out another angle on one of Craig’s assertions.
Craig says, “In the years since Jini, though, we have learned a lot about how NOT to design those programming models, and those lessons suffuse Indigo”. Now from the Microsoft perspective, I’m sure that this is true. Over many years they had pushed a distributed programming model (under various names) that was inextricably tied to the Windows OS. (Yeah, I know about Mono – wake me up when it’s real.) I’m quite sure that their customers told them that this was a bad idea; I know that some of them have said to me, face to face, “We have to work with you, because Microsoft doesn’t understand decoupling and layering.” But because of their obsession that Windows was The One and Only True Platform, Microsoft decided – incorrectly – that the only solution was to move to a (relatively) platform-neutral approach. As a result we got the wholesale shift to WSDL and XML web services. But because Microsoft still believed in the old COM model, and didn’t want to give up any of the functionality, they were forced to layer tons of new protocols, starting with SOAP and ending with the WS-splat Tower of Babel. (And while some of these are open, not all of the schemas will be.)
What’s wrong with this picture? First, most customers weren’t asking for a new pile of stuff to learn! They simply wanted a distributed computing model that was decoupled from the OS and hardware platform, to give them some choice up and down the stack. And the technology to do that already exists: it’s called Java.

Short digression: I spent some of the last year talking to large IT organizations (not all Sun customers) about their distributed computing plans. One of the questions that I regularly raised was, “How are you planning to integrate your existing applications into your future architecture?” And the answer that I heard over and over again was, “We’re going to wrap them in Java.” Never “Wrap them with .NET”. (OK, one company was planning to implement a SOAP interface in Cobol, but…)

At the end of the day the idea of platform neutrality looks pretty lame anyway. The whole WS-splat mess has grown so complex that customers are going to be forced to treat it as another platform in its own right. And given the competitive sniping and politicking that seems to characterize these “standards”, it’s unclear if the result will be any less proprietary than before. The upshot is likely to be either (1) customers will focus on a small subset of the whole steaming pile (perhaps RESTful), or (2) they’ll shrug, push the button in Visual Studio, and treat it all as COM++, just another proprietary stack.
The Jini proposition is very simple. If you are developing in Java – and many people are – it makes sense to use Java as your distributed service model as well as your application platform. You avoid the problem of lossy mappings between different representations, you get end-to-end type safety, you don’t need to learn new languages, or exception models, or security frameworks. And as a bonus, you can use the best protocol for the job: you don’t have to reduce everything to the lowest denominator of XML.
We wouldn’t claim (most of us 🙂 that Jini was right for every case. Always mistrust sweeping generalisations! On the other hand, Craig seems to be doing exactly that: asserting that Indigo reflects the one true way. That’s utter nonsense. In fact it smacks of an Aesop’s Fable. Microsoft was assailed for coupling their programming model to a monopoly OS on a monopoly chip. Since they were incapable of distingishing between platform and OS, they were forced to go “platform neutral”, and wound up creating another platform (and a depressingly baroque one at that).
Java and Jini suggest a different approach: make the programming platform independent of the host OS and hardware. It meets many of the customers’ needs (as we’ve seen), and seems to represent a more elegant way of doing things. (And for those who argue that elegance is an inappropriate property, I recommend Samuel Florman’s wonderful book The Existential Pleasures of Engineering.)
[Hmmm. On re-reading this, let me draw your attention to the disclaimer at the top of the sidebar, for what it’s worth.]

Posted in 1K

Antony Flew: at last, the book

The story so far…

Last year there was a flurry of media attention around the “revelation” that Antony Flew, the British philosopher, had renounced his lifelong atheism and now believed in god. The main impetus for this was the publication of a book and video of a “debate” between Flew and a number of Christian writers and philosophers. In response to questions from various people, Flew made a number of comments, which I documented in previous blog entries. He also advised people to wait for the new edition of his 1966 book God and Philosophy, and promised that the new introduction to that book would answer all questions. I have now obtained a copy of this. Now read on….

First, a comment on the book itself. It was out of print, and has now been reissued by Prometheus Books. Apart from a Publisher’s Forward and the new Introduction, the text is unchanged, so if you already have God and Philosophy (also published as God: A Critical Enquiry) you should only buy this if you really have to have the new Introduction – 7 pages, plus a page of end-notes. As for the place of this book in a library of the philosophy of religion, I’d recommend it only for “completists”; it has largely been superceded by newer treatments of the subject.

“But what does he say in the Introduction?”, I can hear you asking. The short answer is: nothing earth-shattering. Flew does not claim any particular position, whether atheist, desist, theist, or whatever. (Indeed if it were not for the Publisher’s Forward by Paul Kurtz of SUNY Buffalo, there would be little reason to pay much attention to the Introduction.) Rather, Flew lists a number of recent developments which “any intending successor to God and Philosophy would need to take into account”, but without indicating whether such developments have caused him to change his position. As Kurtz notes, there were four drafts of the Introduction submitted to Prometheus, and “it is up to the readers of his final introduction published below to decide whether or not he has abandoned his earlier views.”

Those who were looking for a definitive answer to l’affaire Flew can stop reading here. Those who would like to dig for clues will presumably want to learn which “recent developments” Flew considers significant. Let’s examine them in order.

  • Flew first draws attention to the “multiverse” theory, citing Geneziano and Paul Davies. He doesn’t explain why this is relevant, and in re-reading his treatments of the Cosmological Argument and other classical moves, I couldn’t see how they would be changed by replacing the Big Bang by a multiverse model. (One form of the multiverse idea would rehabilitate the notion of an infinite chain of causation. Since this would presumably remove any need for an “uncaused cause”, it wouldn’t give comfort to any theist.)

  • Secondly, Flew raises the “fine tuning argument”. His choice of words is careful, yet disturbing: he simply says that “whatever [its] merits or demerits, it must… be allowed that it is reasonable [for believers in theistic religions] to see [it] as providing substantial confirmation of their own antecedent religious beliefs.” But this, surely, is beside the point: believers have many reasons for their positions which are wholly out of the scope of rational inquiry. The fine tuning argument would only be relevant to a successor to God and Philosophy if it constituted a substantial move in the debate. And it doesn’t: it is a wholly specious proposition that falls apart under even a cursory examination. (I’ll defend this position in a subsequent blog posting, for reasons of space.)

  • The third point that Flew raises is that of abiogenesis: how the first forms of life on Earth might have arisen from inanimate matter. Flew is “delighted to be assured” that science has this question in hand, and cites Richard Carrier’s excellent papers on the subject.

  • The fourth “development” is puzzling. Flew simply draws attention to Roy Abraham Varghese’s book The Wonder of the World, and says that it “provides an extremely extensive argument of the inductive argument from the order of nature”. Now Flew’s review of this book is on the web. In it, he wrote “until a satisfactory naturalistic explanation has been developed, there would appear to be room for an Argument to Design at the first emergence of living from non-living matter…. You have in your book deployed abundant evidence indicating that it is likely to be a very long time before such naturalistic explanations are developed, if indeed there ever could be.” Thereafter Flew noted that his views diverged with Varghese. Yet just above we noted that Flew was “delighted” that the scientific accounts of abiogenesis were in good order. So which is it?

  • The fifth “development” cited by Flew is a “revival”, due to David Conway, of “the classical conception of philosophy” and the Aristotelian notion of god. If one re-reads the original text of God and Philosophy, it seems that Flew has already considered all of the points that he raises (at inordinate length) in this “development”; there is, literally, nothing new here.

  • Finally, Flew says that “mention must be made of the radically new and extremely comprehensive case for the existence of the Christian God made by Richard Swinburne in his Is There a God? Radically new? Why haven’t we been told?! In fact, as Flew is forced to admit, Swinburne’s argument, “is, like the fine tuning argument, something that [believers] may very reasonably see as… confirmation.” For myself, I found Swinburne’s arguments remarkably unoriginal: he merely recycles the Paley argument for design and then makes an unsupported move from designer to personal montheistic deity.

So what’s the verdict? My reading is that Flew got drawn into an unsustainable position, realized his mistakes (as noted in my earlier blog entries), backed off, and removed anything controversial from the Introduction. However he still felt compelled by duty of friendship to give a favorable reference to those that he corresponded with during 2004: Varghese, Swinburne, and Conway. The end result, despite Paul Kurtz’s attempt in the Forward to whip up a controversy, is a damp squib. Oh, well.

Posted in 1K

Got the car

Subaru Legacy GTI finally picked up my new Legacy GT this afternoon after a couple of scheduling hiccups. The Subaru dealership kindly sent a young salesman over to pick me up; unfortunately he managed to get lost in West Roxbury. I still need to get an inspection sticker on it; I’ll do that first thing tomorrow.
The car is a dream. (N.b.: this is a stock photo, but it’s the right colour.) Handling and acceleration are just awesome: it corners as though it’s on rails. It’s a 2.5L turbo powerplant giving 250 HP; I didn’t notice much turbo lag under acceleration, but it did catch me out a couple of times when the turbo came on strong before I expected it. This should be easy to adjust to, though. The transmission is a 5 speed automatic, with Tiptronic-style manual override using switches on the steering wheel (or the regular shifter, if you prefer). The sound system is pretty neat, too, with an in-dash 6 CD changer. I “baptised” it with a mix CD that started with Faithless doing God is a DJ and included Sunscreem, Groove Armada, and a couple of tracks from Free by Libera.
We celebrated by driving over to Lucy’s for dinner, taking a longer, twistier route than usual….

Posted in 1K

A quiet day

Still on vacation. This morning I closed the deal on the new car: I decided to go with the Subaru Legacy GT after all. Reasons? I spent a few days observing my driving style (with as little observer-induced change as possible), read the latest Wired magazine (all about hybrids), chatted to a few Prius owners, and decided that I really didn’t have the right driving style/temperament for the Prius. Plus I remembered the advantages of AWD on our icy driveway in the winter. And finally our local Subaru dealer cut me a really nice sub-invoice deal. So I’m picking up the car first thing on Friday. (Not tomorrow, because I’ll be in Cambridge all day.)

I spent this (unseasonably warm) afternoon at Tufts, working in the library and then going to class. The end of the semester looms, along with the due date for the term paper and the final examination. Lots to think about. Later. For now, I’m relaxing at the end of the day, watching Newcastle vs. Manchester United, sipping a finger of single malt, and ripping the Claude Challe Nirvana Lounge 03 double CD into iTunes.

Posted in 1K

To Prius or not to Prius….

I’m thinking of replacing my trusty Mercury Cougar (I’ve had it 7 years), and I’ve been doing some preliminary research. While I’ve always had a soft spot for the Subaru WRX, and the Scion tC looks like an amazing value, and the Mini Cooper is… well, a Mini, the geek in me keeps coming back to the Toyota Prius. Any Prius owner care to supplement (or contradict) the ecstatic opinions of the motoring press? Does that amazing powerplant work as well as they say?
(Of course the fact that my latest fill-up was at $2.29 a gallon has nothing to do with my thinking. It’s the Prius’s optional Bluetooth support….!)

Posted in 1K

Carrier on Flew

I’ve just come across a lengthy post on the Internet Infidels DB by Richard Carrier, which goes into considerable detail about the Antony Flew debate.
Key quotes:
“It bothers me that Flew has not […] even bothered looking for critiques of Schroeder, much less considered them. He told me so–just as he told me he has not kept up on current science, even of biogenesis, much less cosmology.”
“[Flew] thinks that life started with a DNA molecule (that is false–no biologist today believes that), and that the smallest possible replicating DNA molecule is so complex that it could not have arisen by chance (that is also false–or at most remains unproven–even assuming life did begin with a DNA molecule).”
“It is still unclear to me why or how Flew’s imagined Deity thus accomplished the origin of life if it was (essentially) physically impossible, without supernaturally interfering in the natural order of the universe (since Flew insists he does not believe his Deity does that). This is one of several contradictions in Flew’s overall position that bothers me. Flew’s conclusion makes more sense as resulting from a fine-tuning argument, not an impossibility-of-life argument, yet he tells me the fine-tuning argument isn’t what impressed him. I can’t make sense of this.”.
Carrier’s other comments are extremely interesting, and will have me re-reading some of Flew’s earlier work. (As for probabilities and protobiont sequences, see Ian Musgrave’s excellent tutorial.)
[UPDATE] Richard Carrier has now updated his piece on SecWeb about Flew’s “conversion”.
“Antony Flew has retracted one of his recent assertions. In a letter to me dated 29 December 2004, Flew concedes: ‘I now realize that I have made a fool of myself by believing that there were no presentable theories of the development of inanimate matter up to the first living creature capable of reproduction.’
Flew inaccurately blames Dawkins for this. According to Carrier, he goes further: “Flew also makes another admission: ‘I have been mistaught by Gerald Schroeder.’ He says ‘it was precisely because he appeared to be so well qualified as a physicist (which I am not) that I was never inclined to question what he said about physics.’
Sad, but c’est la vie. If Flew does indeed feel that I am just too old at the age of nearly 82 to initiate and conduct a major and super radical controversy about the conceivability of the putative concept of God as a spirit,, perhaps it would have been wiser if he had resisted the temptation to publicise his recent series of statements and retractions.
In the circumstances, Carrier’s conclusion, though harsh, seems to be justified: “Flew has thus abandoned the very standards of inquiry that led the rest of us to atheism. It would seem the only way to God is to jettison responsible scholarship. […] Theists would do well to drop the example of Flew. Because his willfully sloppy scholarship can only help to make belief look ridiculous.”

Posted in 1K

More on Antony Flew

Update on my recent blog entry about Antony Flew:
The Raving Atheist published an unhelpful satirical piece, and in a comment to this someone posted a link to an interview between Flew and the philosopher/theologian Gary Habermas. In the interview, Flew accepts Habermas’ description of him as a “deist”, in the tradition of Thomas Jefferson and other 18th century thinkers.
Perhaps the most disheartening statement by Flew was this: I am very much impressed with physicist Gerald Schroeder�s comments on Genesis 1. [in Schroeder’s The Science of God: The Convergence of Scientific and Biblical Wisdom] That this biblical account might be scientifically accurate raises the possibility that it is revelation. The idea that Flew believes Schroeder’s laboured interpretation of Genesis might be “scientifically accurate” simply shows how little Flew knows of science. Schroeder’s bizarre notions of probability would cause him to fail Statistics 101, and his howlers in genetics and relativity are equally juvenile. (For a thoughtful analysis of Schroeder from a religious – Jewish – stance, I recommend R. David Hazony’s review in Azure.)
Towards the end of the interview, Habermas asked: “Do you think any of [Bertrand Russell, J. L. Mackie, and A. J. Ayer] would have been impressed in the direction of theism? “ Flew replied, enthusiastically: “Russell would have regarded these developments as evidence.” On this, I think Flew is dead wrong. Russell was, first and foremost, a mathematician: he would not have been taken in by the innumeracy and illogic that pervades the works of Schroeder et al.
The bottom line seems to be that Flew has decided that the scientific evidence demands a designer. It’s unfortunate that he doesn’t seem to have bothered to ask any real scientists: cosmologists, geneticists, geologists. What a pity.

Posted in 1K

The Anthony Flew brouhaha

While I was visiting my mother, she mentioned that she’d heard that “Anthony Flew has got religion”. This means that the rumours of Flew’s possible recantation must have spread from the phil. of religion blogosphere to BBC Radio 4, so I thought I’d check out the state of play.

In October, Richard Carrier documented the history of Flew’s supposed conversions in a piece in SecWeb, and reported that Flew was questioning whether an “impersonal spirit” of some kind might be the best explanation for “why a universe exists that can produce complex life”. Carrier’s recently updated the piece with some quotes from Flew himself, explaining this Deist-like position:

My one and only piece of relevant evidence [for an Aristotelian God] is the apparent impossibility of providing a naturalistic theory of the origin from DNA of the first reproducing species … [In fact] the only reason which I have for beginning to think of believing in a First Cause god is the impossibility of providing a naturalistic account of the origin of the first reproducing organisms.

Is this simply an argument from incredulity? In his 1993 Atheistic Humanism, Flew points out that “Absent excellent evidencing reasons […] it becomes preposterous to postulate a” CEB [Cosmos-Explaining Being]; in the same chapter he also argues against the uncritical use of various forms of the anthropic principle. Recently Flew has admitted to being impressed by Gerald Schroeder’s The Hidden Face Of God, but Schroeder’s (widely criticised) arguments seem to fall short of the “excellent evidencing reasons” that Flew demanded 12 years ago. (See Perakh and Carrier.)

Various religious types have been running around claiming Flew’s supposed “conversion” as evidence for the supernatural. J. P. Moreland made this argument on PAX TV, and Carrier quotes Flew as emphatically rejecting it: “my God is not his. His is Swinburne’s. Mine is emphatically not good (or evil) or interested in human conduct”.

However Flew seems to have gone beyond the position that he described to Carrier, although it should be noted that the source is a story in Fox News. Last May Flew took part in a debate organized by author Roy Abraham Varghese’s Institute for Metascientific Research in Garland, Texas; a video of the debate has been released under the title Has Science Discovered God?. Typically, the press release from Varghese’s “Institute” is triumphal in tone, and does nothing to distinguish Flew’s “impersonal spirit” from popular religious notions of god. And to increase the confusion (according to Fox),

Flew told The Associated Press his current ideas have some similarity with American “intelligent design” theorists, who see evidence for a guiding force in the construction of the universe. He accepts Darwinian evolution but doubts it can explain the ultimate origins of life.

All of this is frustratingly incomplete, of course, and I hope the arguments will be fleshed out in the new edition of Flew’s God and Philosophy, coming next year. Presumably if Flew is postulating an intelligent designer, he has an answer for the question of “who designed the designer”, as well as all of the other arguments that he himself has articulated over the years in books such as the account of his debate with Terry Miethe. Nonetheless it’s hard to know how to reconcile alignment with “intelligent design” with his assertion that he “has in mind something like the God of Aristotle, a distant, impersonal ‘prime mover.’ It might not even be conscious, but a mere force.” Perhaps we expect too much: as Carrier wrote:

Flew’s tentative, mechanistic Deism is not based on any logical proofs, but solely on physical, scientific evidence, or the lack thereof, and is therefore subject to change with more information — and he confesses he has not been able to keep up with the relevant literature in science and theology, which means we should no longer treat him as an expert on this subject.

Of course such a disclaimer is unlikely to prevent people like Moreland and Varghese from using Flew as a poster child for their causes.

POSTSCRIPT, 12-Aug-05: To my amazement, this entry continues to attact comments 8 months after I wrote it. The sad thing is that so many of the comments raise points that I addressed in later postings. So please: if you stumble over this entry, and feel compelled to comment, please read the other entries on Flew before you do so. See here, here, and here. And thanks.

Posted in 1K

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….

Posted in 1K

Interaction: Typing

[This won’t make much sense unless you’ve read the original piece first….]
There are at least three issues packed up in this topic:

  • An implementation issue, about whether the middleware even permits the sending or receiving of messages that do not conform precisely to a particular encoding and type/schema.
  • The relationship between the type(s) of messages that can be exchanged and the description of the service.
  • The extent to which message types are accessible, manipulable, and negotiable. Another way of thinking about it is how early or late message types are bound.

[DIGRESSION: For different distributed computing frameworks, we need to distinguish between feasibility (is it possible?) and idiom (is it a natural way of working within the framework?). For example, I can use XML to encode a rigid, unchanging message structure based on a well-known DTD; I can also use Java RMI to exchange opaque blobs that I interpret using some private mechanism; neither of these reflects the natural, idiomatic use of the technology.]
When we talk about “untyped”, we must recognize that it’s a relative term. Eventually there has to be a semantic match: the request must be expressed in a form that the service can interpret, and the response must be comprehensible to the requester. In that sense, the client and the server must structure their messages using mutually compatible formats, schemas, types, whatever.
Some mechanisms (e.g. CORBA, RMI or COM) bind the message type at design time. They depend on the use of software tools which typically generate client and server stub code that is, literally, incapable of handling messages that do not conform to this type. The client cannot generate invalid messages, and the service application logic never even sees invalid messages; they are rejected at a lower level. There are XML-based mechanisms that support this kind of model, using XML simply as an object serialization format.
In some cases it may be desirable to defer type binding to run time. This is particularly true if a service is identified by a persistent identifier (such as a URI) with no, or weak, type information. The most common example is a simple XML/HTTP web service: the client sends an XML message via an HTTP POST, and the service parses the message to determine whether it corresponds to a request that it can handle. In simple cases, the service only understands one type, and if the request doesn’t conform it will be rejected. Semantically this is similar to a classic RPC; however it is likely to be less efficient, and the failure modes are different. However we are not restricted to such simple cases. A service may, for example, delegate the request to another, more capable service; or it may invoke a translator to map the request into a form that it can understand. Such examples highlight an assumption that is not found in the RPC world: that type matching is not always a simple black-or-white, true-or-false proposition. This in turn requires [or is that too strong?] that the message be expressed in a language that supports some form of composition.
[DIGRESSION: I was trying to imagine how one might do this in Java. Given a blob that represented a serialized Java object, one could deserialize it into something like a Java bean that supported introspection so that for each property you could obtain both accessor methods and type information that could be used by a classloader. This feels convoluted, but maybe someone has done it.]
The interface type is also involved in service descriptions. In some cases, such as Jini, a service description is based on the annotated interface type: it makes no sense to talk about discovering a service independent of its type. At the other extreme, a service is simply a network addressable end-point, with no type information specified or even available. And then there’s WSDL, the web services definition language which is rich enough (or perhaps over-engineered enough) to describe a spectrum of service types. Although the specifications suggest that it can be dynamically interpreted at runtime, the complexity and (relative) rigidity of WSDL seems best-suited to design-time use. (Curiously, there is no standard way of retrieving the WSDL corresponding to a web service URI, although there are some common practices.)
So why is all this important? Well, as distributed systems scale in various ways – number of services, number of replicated component services, number of cross-domain service dependencies, lifetimes of services, and so forth – there is increasing interest in services that are relatively loosely coupled, with more flexible, less brittle, often asynchronous interactions. (Most of this is additive, not alternative: existing RPC-style services have advantages that are still important.) Maybe it’s a throwback to the Internet mantra of “be liberal in what you accept”, maybe it’s influenced by agent-style anthropomorphism, maybe it’s the result of overloading the simple HTTP protocol to do distributed computing, maybe it’s just a recognition of a world in which version skew is a way of life. In any case, one way in which we decouple these components is by deferring type binding, from design time to run time, and by making the type of a message accessible to the application rather than being hidden below the marshalling and serialization infrastructure.
Is this a dichotomy or a spectrum? I can certainly identify a number of styles which I can order in various ways, so it feels like more than just an XOR. But that’s all for now.

Posted in 1K