Monday, October 8, 2007

Eclipse Summit Europe: The Day Before

My flight from Toronto to Frankfurt yesterday afternoon was on time and very nice. Out of tact, I won't describe just how nice it was. The flight from Frankfurt to Stuttgart this morning was only slightly late. And the taxi ride was fast, i.e., 170km/h at times. I certainly got to the hotel in good time and they had my room ready when I arrived, so I could catch up on a bit of lost sleep.

I had a little bit of time to explore before dinner. The forum looks to be a nice venue.


It didn't take me long to find a cool garden too.


I ran into Don and Lynn, but they were eating early so I walked with them to their restaurant. Later, this snake caught my eye on the way to dinner with the Architecture Council folks, Michael, Pavel (I hope I spelled it right), Bjorn, the two Dougs, and Jeff.


It was a small but tasteful group and later we were joined by Ralph, Wayne and company, so it got to be a big group. Some of us left to make room for the late arrivals, and we strolled through the pretty town in the dark.


I'm looking forward to the modeling symposium and the sponsor's dinner tomorrow night.

Stay tuned for the next chapter!

Friday, October 5, 2007

Is EMF going to replace MOF?

Ian Bull directed my attention to a Model Driven Engineering poll which asks "Is EMF going to replace MOF?" The four choices are quite amusing:
  • Yes, MOF is about dead. That's really sad. I didn't even know it was ill!
  • It may influence it, but both will stay. This sounds a bit too future tense to me. EMOF and Ecore are effectively equivalent---we can read and write Ecore as an EMOF serialization---and that's not an accident. MOF was split into EMOF and CMOF (essential and complete) because of Ecore's influence. When we started work on EMF, MOF seemed to have a lot of nonessential things, so we eliminated those.
  • EMF will never supplant MOF, MOF is great. Since Ecore is an implementation of EMOF and existed before EMOF, I'll be just as happy if we compliment MOF rather than supplant it. If MOF is great, so is EMOF, and so is Ecore. Transitivity is such a useful property!
  • EMF is just for Java, it is too specific, MOF is great. Well, EMF is clearly a MOF implementation targeted to Java. I'm not sure if a Java implementation can be too specific for Java, but if so, I guess it could also be not specific enough, or it could hit the Goldilocks target of being specific but not too specific. Coincidentally, Reinhold Bihler is working on a .NET version of EMF and I know other folks have generated C from it. His version will be just for C# so it might be too C# specific but I expect it will be just specific enough. I'm still waiting to find out from Mike if a C# project can be hosted at Eclipse. That would be a first I think...
So in the end, I think all the choices are good ones, except maybe the first half of the last choice.

Like so many other folks, I'm very much looking forward to Eclipse Summit Europe next week. The Architecture Council group, of which I am a member, is planning to have dinner, which will of course accomplish next to nothing and hence will completely live up to the expectations based on the council's past performance. Oops, did I say that out loud? Just a little joke! Besides, I'm just quoting Bjorn who's never afraid to say what needs to be said. In all seriousness, the newly reformed council has yet to meet, so time will tell if we can become a functional body. If we can just become good mentors for the community we will have taken a positive step in the right direction.

On Tuesday there will be an all day Eclipse Modeling Symposium. Last year's symposium was way cool, so I'm particularly looking forward to this one. On Wednesday there are all day meetings about Big Models to look closely at issues of how EMF can best help support a massive collection of interrelated models. And by the way, don't ever Google for "big models". Oh my eyes. Some images are hard to erase after having been seared onto your retinas. My partner in crime, Rich Gronback, and I will be giving a cool demo. And of course modeling is ever so popular in Europe so there will be cool talks about oAW and compare. I'd never heard about Medany Platform before, so I'll be interested to find out about that!

Lots of people I've never met will be there, and meeting people is more than half the fun. I'm particularly excited to meet Tom Schindl. He's so incredibly helpful on the newsgroups and is doing such cool things. I can't wait.

So no garden pictures this time, but I'll leave you with this photo I took a few years back in Grenda with a rainbow to remind us that diversity in our community is the key to its long term growth:

Saturday, September 22, 2007

Predation, Parasitism, Commensalism, and Mutualism in the Garden and in the Community

Every fall death stalks my garden in the form of this beautiful but deadly predator, the Great Blue Heron. No frog or fish is safe and often one or two of the careless will disappear before I can dispatch Ruby to chase it away.


Predators come in many shapes and sizes, like this cute little toad:


Ruby had heard that toad licking was all the latest rage, but she tells me that no, licking a toad doesn't actually give you a good buzz.


The praying mantis is one of my favorite insect predators.


Predators serve a role, but they result in the death of the prey. Predators in the community are something we'd all like to live without, but predation is a fact of business life just as it is in our environment.

My garden is also full of parasites and of all these, the leech is the most disliked.


Parasites don't actually kill their victim, but they do cause harm. Apparently leeches have medicinal use because of the anti-clotting agents in their saliva but I'd still don't like them. Often a community will have a few parasites as well. There are always a few people who are just like leeches, i.e., they drain away your lifeblood until sated giving nothing in return but a scar.

But, in a community, commensalism is the norm. The users of open source software benefit and in doing so cause no harm. Just as this frog uses a lily as a convenient platform from which to ambush its prey without harming the flower.


What we'd like to achieve in a community is mutualism where both parties in the interaction benefit. This bee on a sunflower is a prime example, benefitting from the nectar and the pollen while ensuring the diversity of the sunflower gene pool by transporting the pollen from flower to flower:


A thriving community is driven by mutually beneficial behaviors. Users help test the software and help make it better with suggestions. Some individuals eventually become contributors and will directly enhance the software. Others might help document it thereby making it more consumable for others. A few will even strive to become committers to invest even more of themselves.

For quite a few weeks now I've been watching the geese practice flying in formation. They tend to do this every evening for the late weeks of summer.


I find this a particularly striking example of mutually beneficial behavior at work. Most folks probably know why geese fly in formation and it's not because they just love to hang out together. The goose flying the front has to do the most work, and those behind benefit by virtue of getting a little bit of extra lift from the turbulence created by the goose in front. They need quite a bit of practice to learn how to fly in this way. Each goose will take turns leading, and when it tires, it will peel away, falling back to the rear, allowing the next goose in line to take the lead. In this way, all the geese benefit and get to their destination with less effort than it would take to get there alone.

Let's try to be like the geese and act cohesively for the mutual benefit of our whole community.

Wednesday, September 12, 2007

Diversity is More Than Just a Symbol

With all this recent talk about diversity, imagine my surprise when I got up just past the crack of dawn this morning to see the very symbol of diversity arching across my backyard.


This is just too coincidental and clearly something that I feel compelled to share with those who sleep in well past the crack of dawn.


Do you see how all the different colors of the flowers are complimented by all the different colors in the rainbow? Diversity isn't just nice. It's pretty too. And for a successful project at Eclipse, it's even expected if not absolutely required.

Sunday, September 2, 2007

The World Reflected in the Eyes of Another

The unofficial end of summer is always a time for reflection, so it's kind of cool to see myself reflected in the eyes of a frog:


From this perspective, it's clear that I'm rather large and intimidating which helps to remind me that others are likely to perceive me very differently from how I might intend...

It's also apparent that I'm not the only one always on the lookout for bugs!


The bugs themselves are busy too. This bee is absolutely covered with summer's bountiful harvest of pollen.


I'll bet most people have never stopped to notice how many kinds of bees are really buzzing around out there. This one's busy lapping up sweet nectar as well as collecting protein rich pollen on her hind legs.


I'm sure that even fewer people notice that the flies too are rather pretty if you take the time to look really closely.


Life is a rich tapestry full of the unexpected. I don't even know what kind of bug this is, but it's certainly fierce looking!


Contrary to popular believe, I don't spend my whole life answering newsgroup questions. It's certainly one of the gardens I nurture with perhaps a little too much zeal. But I do have time for my other gardens too.

In EMF-land, we're just finishing off polishing the final chapters of the second edition of the book and we've decided that since it's been so incredibly painful we should prolong the short term pain by writing an appendix to describe the new features of EMF 2.3 so that we can avoid the longer term pain of ever having to write a third edition. Like my hardy Hibiscus, it's taken a long time to bloom.


I'm also pleased to have finished a prototype for a more flexible and powerful URI converter along with support for content types; please see 191077 for patches. The enhanced URI converter APIs support things like exists, delete, timeStamp, and isReadOnly to allow one to build a fully functional application without hard dependencies on the backing store APIs used to prop up your resources. In addition, it supports contentType to allow one to define resource factories based on resource content rather than on file extensions. I'll need to write some documentation to describe how best to exploit these new capabilities. Probably it will be easier for folks to provide feedback once we commit the changes and start providing builds for EMF 2.4. Just as the garden gets better each year based on experiences from previous years, so too EMF keeps getting better.

So let's say goodbye to summer with the attitude that there will always be more summers and likely even better summers. These sunflowers are most certainly a very lovely way to say goodbye.

Sunday, August 26, 2007

On the Lookout for Bugs

I'm always on the lookout for bugs. Since EMF has so few of them, I have better luck finding them in my garden. The big dragon flies are laying eggs now and this one doesn't seem to have her partner to help her:


If you time it just right, you can catch them in mid flight!


They're quite the amazing creatures dating back to the earliest days on earth when life first took to the skies. Good solutions have real staying power on this planet!

Thursday, August 23, 2007

Closely Supervised Work

I recently gave up my office at the Toronto lab to work at home full time and to also enjoy the tax benefits of having a home office. You might ask yourself though, who supervises whether you are really working when you are at home and not just puttering in the garden of Eden, or is it the garden of good and evil? Anyway, let me assure you, my every keystroke is closely monitored at home more so than at the office.


As you can see Amber prefers to be on top and is far more vigilant than Ruby in her supervisory duties. You can imagine that neither of the girls likes it when I need to use the mouse, being right handed and all, so for their comfort and enjoyment, I bought a very cool USB ThinkPad-style keyboard with the UltraNav button right on the keyboard. Now they can rest their little chins and paws on either arm in style and in comfort without all those annoying lurches for the mouse. It's good to keep your supervisors as happy as possible!