PicoContainer 2.5 is out and its been a while since I blogged about a release. There are various improvements, but most interesting is more support for generics. PicoContainer can now satisfy some generic dependencies, but only if the implementing class has been 'concreted over' :

  class Foo {
    public Foo(List<Bar> bars) {
  class Baz extends ArrayList<Bar> { }

You get the picture. Its definitely a feature that Guice pioneered. I don't feel too bad though PicoContainer pioneered Constructor Injection some years before Guice was started and Bob suggested (at a Greg Stein pissup) that we "got it right first time" or some such :-).

JRemoting 2.0 has been released too. That's been a six year journey for me, and many of the early committers gave up long before now. If we'd have released it six years ago, it would have been newsworthy, but being busy with other things has meant that it was not released and consequentially a ton of technologies have scratched the same RMI & RMI-IIOP suck itch, and shipped in the meantime. Plus which there are other justifiable strategies that are counter to the transparency one. Check out thrift. Still, JRemoting has niche. If both of you endpoints are within your company, and you typically upgrade and develop both ends together, JRemoting can make like easier for developers than dealing with definition languages or cumbersome libraries. JRemoting works over shared wifi over 2.5G phone network whilst one the move - if you count 1 request per second, but its not recommended at all.

In 2003 before I abandoned Avalon's style of IoC, I penned Enterprise Object Broker (again with others). It took the transparent-remoting idea to the enterprise application space. Erik Dörnenburg even presented a session of that at JAOO in 2003 - though he and I regret that because we got to miss Matz present on Ruby which was running concurrently. Damn you JAOO schedulers.

Still though that conference was memorable for many other reasons - Matz borrowing a TWers Libretto power pack (left his in Japan) and hanging at the ThoughtWorks couch. Aslak pairing with Matz on Rico (the first DI container for Ruby), Aslak telling Ward Cunningham about wikis. Me lowering my Ward number to one, then waiting for Ward to head to the airport and telling Aslak - who promptly ran off looking for Ward with laptop under arm. Martin Fowler reverse-heckling the the guy whose session followed his keynote (topic: MDA). Me embarrassing myself by suggesting the DHH that Rails would not scale into the enterprise, but making a note that we should 'hire that guy'. Gregor Hohpe's carpet imprint on his forehead. Bjarne Stroustrup plucking my chest hair in a bar and expressing surprise that it was real. That sort of thing.

Oh, and both PicoContainer and JRemoting use XSite for doco - to tie into today's other posting.


July 30th, 2008