As I noted, the Little Chef next to my hotel has a WiFi hotspot. For some reason, they turn it off every night at 10 when they close. And the manager hasn’t told the staff that turning it on is part of the regular opening procedure. So this morning I came over at 7:15 for breakfast and a quick fix of Internet, and the WiFi was down, and the poor minimum-wage school-leaver who had just opened the store and restaurant had never heard of “WiFi” or “network”, and thought that the manager “might be getting in by 8:15.” (He wasn’t.)
Oh well, things are working now (mid afternoon). But I wonder why they turn it off at night. It probably takes less electricity than the Budweiser sign in the window….
Author: geoff
On vacation… where's the hotspot?
I flew over to the UK on Friday for a week’s vacation. Good points: Virgin Atlantic upgraded us from Economy to Premium Economy for free; service was excellent. Bad points: the flight was oversold, and it took Virgin an hour to sort out who’s on and who’s off. And it was a daytime flight – I was neutral, but my wife preferred it. After the event, I am no longer neutral. Daytime eastbound transatlantic SUCKS. Instead of having a short, broken night which stresses your body into taking up the new schedule, you have a short broken day, so it’s impossible to get to sleep. Never again.
Normally when we come to Oxford we stay with relatives, but this time it wasn’t convenient, so we stayed at a random motorway-type hotel at the A34/A40 intersection. On Saturday morning we walked into the Little Chef diner next door for breakfast, and I saw a WiFi hotspot sign. “Heaven, I’m in heaven…” So that’s where I am now. (And of course the setup time on my PowerBook was just as long as it took me to type in a credit card number to buy a few hours of credit. Sweet.)
The weather here is perfect, and forecast to remain that way for our stay. So more anon, with pics (and perhaps video).
I'm being traded???
While doing a little vanity Googling (speaking of which…), I came across this page: the BlogShare page for geoffarnold.com. It seems to be some kind of fantasy stock market in blogs; apparently my valuation is B$3,481.90. What the hell does this mean? Tim’s valued at B$96,968.51, which makes some (relative) sense, I guess.
Amazing how people change over 3 years….
Yesterday the faux-Democrat Zell Miller spoke at the Republican Convention, and lambasted John Kerry mercilessly and with visible anger. He ranted that “For more than 20 years, on every one of the great issues of freedom and security, John Kerry has been more wrong, more weak and more wobbly than any other national figure.”
Yet a scant three and a bit years ago, the same Zell Miller lauded Kerry as “one of this nation’s authentic heroes, one of this party’s best-known and greatest leaders – and a good friend”. In a speech introducing Kerry at the Democratic Party of Georgia’s Jefferson-Jackson Dinner in March, 2001, Miller waxed lyrical:
“In his 16 years in the Senate, John Kerry has fought against government waste and worked hard to bring some accountability to Washington. Early in his Senate career in 1986, John signed on to the Gramm-Rudman-Hollings Deficit Reduction Bill, and he fought for balanced budgets before it was considered politically correct for Democrats to do so. John has worked to strengthen our military, reform public education, boost the economy and protect the environment.”
Yes, it’s amazing how people can change – and I’m not referring to John Kerry! Zell Miller should be bloody well ashamed of himself, if you ask me.
Thanks to Mark M. for the tip.
UPDATE: Apparently Jimmy Carter was also upset with Zell, and wrote to him to say so.
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.
More on Interrelated Aspects of Interaction
I got a number of interesting comments on this piece. I think I’m going to follow up in a series of individual posts rather than one big chunk. Jim felt that most of the ideas were XORs rather than continuums (continua?). I suspect that this is because I was trying to pack too many ideas into each axis. Let’s try again.
I thought Vietnam was overseas
I’m confused. Dubya told an NBC Today Show interviewer that “had my unit been called up, I would have gone (to Vietnam).” But according to his Air Guard application (the one released by the Pentagon but not the White House), Bush checked the “No Overseas Service” box when he pulled strings to avoid the draft. Can someone explain?
(This is courtesy of William McTavish at Capitol Hill Blue; they have a mixed reputation, but this is irrefutable.)
CD of the week: "Stripped" by the Rolling Stones
Really brief this time – I have to get to bed; I’m supposed to be on a 5:30am flight from BOS to PHL tomorrow morning. (Customer visit.)
I’m an “early Stones” kind of guy: I’m afraid that I lost interest after Sticky Fingers. The great thing about this live-in-the-studio album Stripped is that they get back to their roots without a trace of sentimentality. They absolutely rip into Street Fighting Man and never let up. Great blues, kick-ass rock. Even Angie sounds good – much better than the original version. Essential stuff – and the multimedia content is nicely done too.
Confessions of a biblioholic
It’s always dangerous to let me loose in a bookshop. Today I think I went a little over the top. Let me share the list of my acquisitions with you, in the “full disclosure” style of some self-help groups. Perhaps it will help. (But what would success look like?) In no particular order:
- Doom 3 Prima Official Game Guide
- BBC: The Weather by John Lynch (glorious coffee-table book on all aspects of the weather)
- Dancing Barefoot by Wil Wheaton
- Hearts in Atlantis by Stephen King (A colleague read about my Dark Tower project and insisted that I should read this one. “Stephen King nails the 60s and Vietnam.”)
- The End of Faith: Religion, Terror, and the Future of Reason by Sam Harris (mixed reviews, but interesting)
- Cowboy Bebop #1 by Yutaka Nanten and Hajime Yatate (manga)
- What Philosophers Think edited by Julian Baggini and Jeremy Stangroom (Interviews with Searle, Dawkins, Don Cupitt, Mary Midgley, Hilary Putnam and others.)
Hmmm… a depressingly typical collection. I’ve got to start thinking outside the box.
The subversive writings of the Supreme Court
Just when you think things couldn’t get any more absurd… The Memory Hole is reporting a truly Orwellian attempt at censorship by the Justice Department. The ACLU had filed some documents as part of its ongoing case against the Patriot Act, and the Justice Department – as is their right, apparently – chose to black out portions of the material before it was published. The supreme irony is that the text that they blacked out is taken from a Supreme Court decision:
“The danger to political dissent is acute where the Government attempts to act under so vague a concept as the power to protect ‘domestic security.’ Given the difficulty of defining the domestic security interest, the danger of abuse in acting to protect that interest becomes apparent.”
Fortunately, the court rejected this redaction. I would love to read an interview with the Justice Department staffer who tried to censor the words of the Supreme Court. What mental processes were involved, I wonder. Any lawyers out there?