"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Saturday, October 23, 2004

Principled Design

Roy Fielding writes...

Software development is still driven by fads and fashion. In order to become well known, you need to hire some sexy models and generate press. Personally, I'd rather that people just learn a little more about software architecture and principled design.

Who Cares?

S. Mike Dierken in the rest-discuss Yahoo group...

I've only met two or three people that understand - much less care deeply - about REST. I have met people that quickly recognize the value when I explain the basics, though. Amazon is full of very smart & quick people.
Put me in that latter category. Not that I am very smart or quick, but I recognize the value of the basics. I still get lost in the details when even the people who care deeply debate them.

I like this from Roy Fielding, which may be enough for me...

In short, if you can draw a state machine in which each state is self-described (resident on the client), the transitions from that state are also self-described (instructions for the client to initiate), and each transition is invoked using a self-descriptive message, then you have a RESTful application. All of the rest of the constraints fall out from the need to be self-descriptive...

Note, however, that it isn't necessary for all components to understand all of the semantics. It is only necessary for them to know when they do understand them and also when they do not. That way, applications can be deployed within the subset of the network that does understand without adversely impacting the components that do not (assuming they are implemented according to the communication standards).

And then there's this follow-up from Dave Pawson...
Following this most recent thread makes grabbing eels look easy.

Friday, October 22, 2004

Another Kind of Scaling

Joel captures the anti-institutional aspect of Web 2.0, although he hasn't expressed it this way.

First, Joel on Microsoft...

If I were Bill (Gates), I think I'd fire about three quarters of the people working on that (the presentation system). Not because they are incompetent. But because there are too many people creating too many technologies.
Compare with the Web 2.0 paradigm, e.g. Basecamp...
Aren’t big payrolls and large head counts Web 1.0?
Back to Joel, this time on Google...
One of the mistakes Google is making is applications like Gmail are great on the Google platform. But if Google was really paying attention, they'd say we have to have outside developers writing applications for Google. There should be 27 different e-mail systems using the Google infrastructure.
And finally, Joel on other Web 1.0 institutions...
Nobody's ever going to use SharePoint in college. Ever. So no startup is ever going to use SharePoint because none of the kids who leave college are going to know it. This was BEA's big problem. Kids in college, when they want to learn about Web development, they learn Perl, PHP, maybe Microsoft's (ASP.Net) stack. They don't learn about Domino or BEA...

It's weird Microsoft doesn't recognize this with things like SharePoint and InfoPath. .. the only way those guys [BEA, MSFT, etc.] have hope of getting mind share in the market is to have an extensive sales force.

Half Mast

The computing flag is at half mast. Ken Iverson has died at the age of 83.

As the inventor of APL, Iverson was truly one of just a handful of original thinkers of programming.

Thursday, October 21, 2004

The Syntax and Semantics of Coordination

Don Box...

To anticipate Patrick's comments, I'm a huge fan of minimal kernels of abstraction (like lisp) upon which we define entire universes.

SOAP is minimalistic enough for me - it's sad (but not terminal) that SOAP's defun, WSDL/XSD, is as complicated as it is.

Had we started with a simpler basis (perhaps Relax NG + some SOAP-specific extensions), my guess is we'd be having different discussions right now.

This seems to be arguing about syntax, more or less. I think the more interesting argument is about semantics. In particular, the semantics of coordination.

Looking for a minimal *coordination* kernel (a machine) upon which we define entire *coordinated* universes, SOAP is merely a syntax for defining the right machine primitives. SOAP is a general purpose *language* kernel. We still need to define the machine kernel, whether we use SOAP or something other language to describe it.

What would make a good coordination machine kernel?

It should have enough primitives to be useful for the simplest cases. Those primitives should be fixed and yet composable for most of the interesting, complex cases.

RESTful POST's

The rest-discuss Yahoo group is in the midst of a useful discussion of what makes for RESTful uses of HTTP POST. Roy Fielding's description of a RESTful client-based state machine was a point in the conversation that I could latch on to.

From there I was able to go back and forth through the chronology of messages to piece together the points of discussion. Mark Baker's arguing for a more strict definition of RESTful POST (I think) than Roy, but I'm not sure yet whether this is a communication issue or a technical issue with HTTP itself.

IBM and Smalltalk, Dynamic Languages

Is IBM blowing their Smalltalk ship out of the water just when the tide is heading again for dynamic languages?

Sunday, October 17, 2004

Mosaic

A creative mosaic memorial.

I am not an economist...

...so this could either concern me or lull me to sleep...

The Chinese currency is currently overheated, with inflation there approaching double-digit levels and threatening to lead to economic collapse. Prevailing view is that if China doesn't immediately revalue its currency upwards by 20-25% (so much for the benefits of offshoring!), it will suffer a hard correction and severe recession. The consequences of that will be a sharp, inflationary increase in the cost of Chinese goods, and great difficulties for the many, many American companies that are now utterly dependent on cheap Chinese goods for their survival. Thanks, Wal-Mart!

Who'da thunk it?

Cornell University News...

According to a new Cornell University study, Bush's approval rating rises every time the federal government issues a new terrorist warning, by an average margin of 2.75 points.

Saturday, October 16, 2004

Email and stardecisions.com is back

My domain as well as email to stardecisions.com has been down and in transition (really limbo) for quite a while. If you've sent email to patrickdlogan at stardecisions.com in the last month or so, I probably haven't seen it.

But now I have the domain running on a hosted user-mode Linux box at linode.com. Postfix is running and email is flowing again, for better or worse.

User-mode Linux is a great way to run at least a low-traffic server where you want full control over the systems you run. And webmin is a convenient way to administer all the typical services you'd want to run.

Going Upriver

The documentary "Going Upriver" is available on-line.

Friday, October 15, 2004

Playing with Fire

Dave Winer writes about the Valerie Plame case, in which one or two senior Bush officials very likely broke significant laws...

If it's true that Bush Administration is using dirty tricks to silence critics, playing with people's lives for crying out loud (something that as far as we know even Nixon didn't do), doesn't the electorate deserve to know?
There is significant evidence the Nixon campaign in 1968 played with lives by interfering with peace talks held by the Johnson administration that might have ended the war half a dozen years than what turned out to be the case. The Nixon campaign apparently was sending backchannel messages to the enemy that if they held out for a Nixon victory, the new administration would cut them a better deal. There is also evidence that Johnson and Humphrey were onto the covert operation, but perhaps did not have enough evidence to go public before the election.

Nixon probably played with about 20,000 American lives with this one since the adminstration found it more profitable to continue rather than end the war. Who knows how many Vietnamese, Cambodians, Laotians, and others would not have died had the peace talks ended the war in 1968.

Should anyone complain I am just an ardent Democrat (I'm not even a registered Democrat!) I will also state the obvious that Johnson also played with tens of thousands of lives (at a minimum), through events the least of which was not the Gulf of Tonkin.

Fascism

Fascism: [n] a political theory advocating an authoritarian hierarchical government (as opposed to democracy or liberalism)

From Bend, Oregon, via the Associated Press...

“We chose this phrase specifically because we didn't think it would be offensive or degrading or obscene," said Tania Tong, 34, a special education teacher.

Thursday’s event in Oregon sets a new bar for a Bush/Cheney campaign that has taken extraordinary measures to screen the opinions of those who attend Bush and Cheney speeches. For months, the Bush/Cheney campaign has limited event access to those willing to volunteer in Bush/Cheney campaign offices. In recent weeks, the Bush/Cheney campaign has gone so far as to have those who voice dissenting viewpoints at their events arrested and charged as criminals.

Thursday’s actions in Oregon set a new standard even for Bush/Cheney – removing and threatening with arrest citizens who in no way disrupt an event and wear clothing that expresses non-disruptive party-neutral viewpoints such as “Protect Our Civil Liberties.”

It's time to choose, Americans. Do we move closer to fascism or not?

Lisp T-shirts

Get your Lisp t-shirts now. John McCarthy on the front, and a cons cell on the back.

Here.

(Via Lemonodor.)

Thursday, October 14, 2004

Angels in America

Chris Sell's started Angels in America and did not go for it. Early this morning as a matter of fact I just completed the second of two DVD's.

I thought it was an amazing script presented by several powerful actors (playing multiple roles), produced and directed beyond belief.

Chris did go for Emma Thompson. She plays more than a classic angel, actually something like a hierodule.

Angles in America is a play simultaneously ancient and modern, set in the 1980's, and created with production values from the 21st century.

Daily Zen

Deep among ten thousand peaks
I sit alone cross-legged
A solitary thought fills
My empty mind
My body is the moon
That lights the winter sky
In rivers and in lakes
Are its only reflections.

- Han-shan Te-ch’ing (1546-1623)

Toward a Discipline of Coordination and Action

Don Box on verbs...

I completely agree with the first two paragraphs.

As for the last paragraph, I would argue that HTTP POST is a "coordination" verb and that WSDL is typically used for defining "action" verbs. It's not clear from Patrick's post whether we agree or disagree.

I don't have a large set of examples of SOAP systems, but I've not seen any except for Ruple (PDF) that distinguish between coordination verbs and action verbs. The uses of POST are typically many clients to one server, where the server coordinates the sessions to perform each request. So I don't see a clean distinction there either, in practice or intent.

A new set of verbs or a new discipline (like this one from Vanessa Williams) will be required to achieve the distinction. Again, Ruple is an example of a new set of verbs for coordination. (Was it just ahead of its time, or would it have been more successful if the implementation was more open?)

WS-Transfer (PDF) , like Ruple, appears to be a set of SOAP verbs for coordination. The intent is not as clear to me (it's new without much to go on save the spec itself), at least not as clear as with Ruple. Assuming the intent, I am then not sure about the relative value of WS-Transfer vs. Ruple. For example, Ruple (based on Linda) uses content-based addressing via XML patterns and queries, while WS-Transfer uses direct addressing, WS-Addressing (PDF).

Is this a problem, given a separate query mechanism that yields a direct address that becomes the target of a transfer method? I would argue that (but experience will tell whether) this complicates the coordination responsibilities of the participants. Consider a query-then-delete sequence. In Ruple this is one atomic method. In WS-Transfer a mechanism or convention outside of the specification itself is necessary to coordinate this sequence.

As referenced above, Vanessa William's Restful Tuple Spaces is such a convention using HTTP methods. As she writes...

Clearly, this isn't as simple as sending a few SOAP messages back and forth over some reliable message service.
Maybe there is a need for one more WS-xxx. (Did I say that out loud?)
BTW, Patrick, I hope you'll be at the SellsCon next week.
I can't make it this time, and the location is perfect. I've stayed there, it's great, so maybe this will become its new home.

Tuesday, October 12, 2004

Micro-Workflow: Separating Coordination and Action

Dragos Manolescu's Micro-Workflow is another example of separating "coordination verbs" from "action verbs".

Paradigms of Coordination

What I would consider paradigms of coordination: CSP, Linda, Erlang/OTP, and OVAL, nee Object Lens, nee Information Lens. I'm sure there're some good ones I've omitted.

One thing each of these have in common: the separation of verbs for coordination from verbs for action.

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.