Thursday, November 29


Just thought I'd share a picture of our new cat Oatmeal (or Oatey for short) who we got several weeks ago from a rescue organization. He's settled in very quickly and enjoys distracting me when I use my macbook at home - I'm beginning to suspect my wife is encouraging this behaviour ;)

this is Oatey in "cute" mode (warning: he also has a "biting+scratching" mode!)

Wednesday, November 28

EclipseCon 2008

Well, the submissions are in and it looks like there are some really great talks and tutorials out there - it's a shame there's only so much time available. There was a flood of OSGi related submissions just before the deadline, so Peter can rest easy ;)

If you want to see what's available, take a gander at:

the submissions process is open and transparent, so feel free to review them and comment on those you'd like to see, or ask for more details on any talks/tutorials.

Hope to see you at EclipseCon next year!

mmm... durian

One of the benefits of living in Malaysia is the wide range of food available*. It took me a while to get used to eating durian fruit, as the smell reminded me too much of ripe cheese - but now my wife and I can happily eat several in a single sitting.

I don't know exactly when it happened, but one day I was drawn to the smell rather than it putting me off - since then I look forward to durian season and enjoy savouring the different flavours and textures you can find here and in Indonesia. Every fruit is different - and now and again you find a really great durian that you just wish you could eat again :)

These days you can find durian in ice-cream, candy, mooncakes - even doughnuts!

perhaps this could even make Homer Simpson try durian?

(* I also like Indonesian salak but it's hard to find good supplies of this locally)

Wednesday, November 21

Pax Construct 0.6.1 Released

if you have 0.6.0 installed, you can use pax-update to upgrade your existing scripts (must be run from inside the scripts bin directory).

Release Notes - Pax Construct - Version 0.6.1


  • PAXCONSTRUCT-47 - Default classpath entry for an imported bundle is missing when source is unavailable


  • PAXCONSTRUCT-46 - Use latest release of Pax-Runner by default, instead of always defaulting to a known static version
  • PAXCONSTRUCT-49 - resources out of basic resource path included in details.bnd not copied when cloning, or fix for bundle build

New Feature

  • PAXCONSTRUCT-48 - Allow users to specify a different bundle groupId, rather than limiting them to the generated groupId

Friday, November 9

JayView Issue 14: OSGi - not just a four letter word

The latest issue of the Jayway magazine, JayView, is now out:

   JayView issue 14

it includes an article I wrote recently about OSGi - let me know what you think... (FYI, the cover shows the Petronas Towers, which are visible from the office where I work in Kuala Lumpur)

Wednesday, November 7

Peaberry: injecting OSGi services using Guice

Several months ago I blogged about Guice-OSGi, my OPS4J research project looking at using Guice to do dependency injection of OSGi services. Since then I've been distracted with other projects, moving house and our new cat (who almost managed to rewrite my DevCon submission when he took an keen interest in my MacBook, and then managed to disconnect the ADSL line - what a critic!)

Anyway, it seems that to officially use OSGi in a project name it must be an adjective, which is why Spring-OSGi has transformed into: "Spring Dynamic Modules for OSGi(tm) Service Platforms". Rather than try to compete with an equally long title, I decided to resurrect a name I'd previously used for a demo project: "peaberry", which is a special type of coffee bean. (as my wife will tell you, I really like coffee...)

So peaberry is the new Guice-OSGi, and is now hosted over at Google Code:

I decided to host the project there rather than at OPS4J because it makes it easier for people who know the Guice site to find their way to peaberry. BTW, if you're interested in helping out, let me know and I'll add you to the project team.

I've just made the first download available:


which is an OSGi bundle of the latest trunk version of Guice with patches for issue 49 (binding factories) and issue 94 (classloader interception of generated classes) which are needed to use Guice in a reloadable container, such as OSGi. Hopefully these patches will eventually be folded back into the main Guice tree.

The next step is to install a 'bridge' classloader (based on issue 94) to allow generated classes to see both the internal Guice code and external user classes without needing DynamicImport-Package:* in the peaberry bundle. After that I plan to migrate the Guice-OSGi annotation work over to peaberry (based on issue 49) and remove the need to extend a specific base class to bootstrap the service injection process.

As mentioned in my last post, I've submitted a talk about my work on peaberry to the DevCon site, so if enough people are interested I may get the chance to explain all the cool features in person.

Tuesday, November 6

OSGi DevCon/EclipseCon 2008

Only a couple more weeks left to submit talks or tutorials for the next OSGi DevCon. I've submitted one tutorial and a talk so far:

An introduction to Pax tools for OSGi

OSGi service injection using Guice

Have you got an interesting story or project involving OSGi? If so then submit it soon - I don't want to be the only speaker :)