Roy T. Fielding, Phd
Chief Scientist, Day Software
-----------------------------

The Keynote address from Roy really was a talk describing his extensive work on computing technologies since 1986. This was fascinating for me, a short history of UNIX from his perspective, and I'm so glad I was able to hear it.

Roy began work on WICAT minicomputer in 1986, with a 50Mb hard drive, which was very large at that time. He was an Apache founder in 1995. He is focused on 'engineering for serendipity'.

His work has been about a constant set of commands, simple construction of co-routines, that are reusable and extensible, pipe and filter.

This progressed to visualization of pipelines with images and image processing. In 1993 he designed protocols for Web architecture. And in 1994 he designed HTTP 1.1 components-based REST, representational state transfer.

Then he moved on to Apache, httpd2.x Filters and modules that could filter incoming and outgoing messages with Apple Automator. Apache had the framework to chain filters. Now, he's working on 'Plagger' for feed, these are pipelines that take blog entries, images, find where to take data, do operations (filter and feed through routines), then output: Yahoo Pipes.

He discussed then some deficiencies:

UNIX pipes: only single stream, no meta-data
HTTP: only one stream, each direction with meta-data up front
RSS/Atom feeds: go over HTTP, take meta-data in XML, still single-stream

Now he currently works on the 'waka' protocol to replace HTTP. With this protocol, the message has the entire request embedded, works over any transport mechanism. Imagine a hierarchical network of cache messages, client could broadcast message to cache and immediately take back best message without delay. Better interconnectedness. Imagine proxy that takes requests and at the same time sends request to the rest of the world, send two parallel requests and overlay the results when they return.

[note] This totally reminds me of Xenocide. So cool.

He then talked about what he means by engineering serendipity, the land of unexpected benefits. This means to intentionally design for things you don't expect. To him, this has been THE major component of success for all of his projects.

As far as OpenSolaris, he said to get involved in the Constitution. Sun needs help to give up control of the project. The existing Solaris processes do provide tight quality control ensuring deployed interfaces don't change. However, this results in lack of innovation and makes it hard to get changes into the system.

Engagement: his purpose is that UNIX can go on forever, by maintaining multiple active communities, sometimes working on competitive projects, to learn from each other.

Issues with the OpenSolaris community: knowledge of where decision-making happens.

[note] The context for the type of decision he is talking about is important here, he means decisions about whether we should release, or whether a certain interface should change. Not the regular and commonplace decisions that engineers make in their daily work.

There are two options:
1. individual developer makes decision
2. project groups make decisions

So, Roy feels that, once we have a newly elected OGB, we need to re-organize communities and projects so that they have the decision-making powers they need to be successful.

Comments:

Post a Comment:
Comments are closed for this entry.

This blog copyright 2009 by MissMichelle