Imagine this: A REST microkernel

Here at QCon, I realised that the Googly “cloud as middleware” track was probably not going to deliver what I want to discover, which is where Google thinks it is going with all its diverse offerings, being mostly about third-party services such as Yahoo Pipes and Amazon Web Services with which I am already familiar. I therefore went instead to what proved to be a fascinating session on programming REST (REpresentational State Transfer). Peter Rodgers of 1060 Research spoke about his NetKernel, which is a kind of REST runtime. “I’m typing byte code”, he explained, as he put together URI strings that performed various operations. He observed that much computing can be reduced to doing something to some resource with another resource, and that this can be expressed as a URI. Here’s an example:

Active:toUpper+operand@ffcpl:/demo/data.xml

In effect this is functional programming via URIs.

Unfortunately I had to leave a little before the end of the session; but one of the points I notice from the 1060 research site is that URI-based programming is tailor-made for caching results, with potentially improved performance.

A thought-provoking session; my quick reaction is that he may be onto something.

The session was packed; I’m not sure if this is because folk were interested specifically in NetKernel, or whether like me they just went along because REST is a focus of activity right now.

Technorati tags: , ,

Erich Gamma on Eclipse and Jazz

Erich Gamma spoke at Qcon London on the subject of “How Eclipse changed my views on software development.” Or did he? This was a somewhat schizophrenic talk; in part an articulation of general development principles, and in part a description of how Eclipse is developed. Gamma spelt out the Eclipse philosophy, the starting point being that everything is a a plug-in; that APIs matter a lot and its better to get a small API right rather than get it wrong and have to support it for ever.

He then talked about iteration, a key tenet of agile development. He showed a great slide which charted the progress of some projects, from “all the time in the world” at the beginning, to “say goodbye to your loved ones” at the end, followed by total exhaustion after the thing is shipped. Iterative development with continuous builds and sign-offs every 6 weeks is less stressful and more productive.

It’s a great point, but does this work in every instance? What if you have a game to ship for the Christmas market?

He also talked about the benefits of open source development: transparency between developers and customers, critical mass of community activity, frequent feedback, and so on. Nothing new here; but perhaps this simply demonstrates the extent to which the merits of the open source model have become accepted.

Gamma then focused more sharply on Eclipse. He says there is a major new release every year, and they don’t want to ship in the summer or near Christmas, so they ship in June.

He described how the Eclipse project manages its large international team. It comes down to components: developers are divided into teams on specific sites, and each team manages one or more components, and has its own process for planning, building and testing. A weekly integration build prevents incompatibilities between components from getting out of control.

Towards the end of his session, Gamma gives us a tour of Jazz, IBM’s open source but commercial project for collaborative software development. Interesting, but I’m not sure that this product pitch belonged in a talk that was billed as something more general.

Overall: good insight into how Eclipse comes together, but not too exciting. I don’t envy these guys who face heightened expectations because of significant contributions they have delivered in the past. Nobody can change the world daily.

Technorati tags: , , , ,

QCon London

Today I’m at QCon in London. I enjoyed this conference last year, when among other things I got the scoop on Microsoft’s Volta (then LINQ 2). First up this year is Erich Gamma of Design Patterns and JUnit fame, who will be talking about how Eclipse has influenced his view of software development (others would talk about how Gamma has influenced Eclipse). I’m also intrigued by what Google’s Gregor Hohpe is going to say about “The Cloud as the new middleware platform.” It’s going to be an interesting contrast to Microsoft’s Mix08 conference last week. Be sure I’ll be reporting back here; or if you’re here too, by all means get in touch.

Technorati tags: , , ,