Thursday, February 19, 2009

The itemis Cloudsmith Eclipse Foundation Summit

There was an itemis Cloudsmith Eclipse Foundation Summit at my place yesterday. Bjorn was the first dignitary to arrive and of course hooking into my high speed wireless network was the first priority.


Mitch Sonies arrived shortly before lunch so after hooking into the network we were ready for a meal.


We had a great many interesting discussions followed by some of my fine cooking for dinner. Too bad you weren't here.

Sunday, February 15, 2009

Kim Horne: Diva of Design

My office is graced by Kim Horne's original artistic master piece "Bumblebee Pollinates Lupine." She was inspired by one of my photos. I had her watercolor framed just this last week and now I've put in right above my monitor as a graphic reminder of the talented and generous people in the Eclipse community:


Ruby is in complete agreement that Kim Horne is truly a goddess of design. I'm eyeing Kim's latest creation with great fondness; it was also inspired by one of my photos. It's much nicer than the "Spider's Web" water color that you can see in the picture above.


I wonder if she'd be willing to part with it...

Monday, February 9, 2009

Wild Thoughts

I learned last week that Amazon sales rankings are quite different for each country, so I was on the hunt for some interesting statistics about the second edition of the EMF book. These statistics change faster than underwear, so one needs to do a little screen grabbing to capture the moment. Apparently the EMF book was exceedingly popular in France on Saturday with these number one rankings:


By the time I clicked on the overall ranking in English books, I noticed that the EMF book was more popular than my favorite children's book!


I hope the EMF book isn't being used to lull children to sleep. Oh well, enough self promotion; it seems a little rampant these days. You might have noticed that the board elections have begun and that I'm a candidate. Of course I'm very busy digging up dirt to smear the other candidates because I believe we need a little more controversy and divisiveness in our close knit community. Not only that, there's nothing that improves one's relative stature quite as much as degrading the stature of others. You have to get up awfully early in the morning to fool scheming political hack like me!


I think Doug Gaff is particularly electable given that he's done such an excellent job for the committer community over the last year. I'd definitely vote for him, if I wasn't so completely self centered. He'll certainly need a lot of attention in my smear campaign. Speaking of highly electable people, I sure hope Mike Taylor is reelected as a sustaining members representative. His recent e4 survey is just one example of his proactive efforts to help the Eclipse community. I'm glad I don't need to smear him to get ahead.

Friday, February 6, 2009

The itemis EclipseSource Summit

There was an itemis EclipseSource Summit at my house these past few days. Peter has been here since last Friday.


As with all important summits, the security for the dignitaries was tight, complete with trained guard dogs. Unfortunately one of them has grown inordinately fond of Chris, who arrived Wednesday, and has lost her killer instinct.


Jeff arrived last night, so I made one of my gourmet dinners for everyone. We had many stimulating conversations. Too bad you weren't here.


That being said, not everyone found the conversations equally stimulating.

Even with all the excitement this week, I found a bit of time to make a diagram of the e4 application model.


It's been a busy week.

Monday, January 26, 2009

Diversity: It's Essential

As most of you know by now, I love diversity as the spice of life, so naturally I'm very pleased with how well how my new cichlid tank is doing. Wikipedia describes the cichlid family as "both large and diverse," just like the modeling community!


The diversity of EMF's documentation is improving as well. James Sugrue along with the fine folks at DZone helped to create a brand new refcard titled Essential EMF. I hope the community finds it useful. James will be doing a book review later in the week and there will be books available as prizes, so stay tuned. James and I make a fine pair, if I may say so myself.


Speaking of fine pairs, this Thursday Eike Stepper and I will be presenting a webinar about CDO. Attendees will be eligible to win a copy of the second edition of the book.

Sunday, January 25, 2009

Mega Modeling Mania: The Sequel

I'm feeling rather reflective these days. Is it merely coincidental that abstract reflection is one of the key aspects of modeling that makes it so powerful? Certainly the modeling community is vibrant, diverse, and rapidly growing, and that reflects well indeed!


EclipseCon will be an opportunity for the community to show its stunning colors.



I've proposed a BoF: Mega Modeling Mania: The Sequel. Last year's success simply screams for a sequel. With so much diversity, there's always an interesting new perspective.



It's important to keep in mind that although those in the foreground will tend to catch your eye, there's much more going on in the background, than you might notice.



There are many ways to look at any one particular thing, so a BoF will be a perfect place to look at familiar things from a surprising perspective.


You might learn something from seeing old things in a new way.

Sunday, January 18, 2009

The EMF Ultra Slim Diet

Are your objects feeling bloated? When you look in the memory analyzer, do unsightly bulges around the heap upset you? Do embarrassing OutOfMemory exceptions mar your social life? Well hide in shame no longer. With the new EMF Ultra Slim diet, you can quickly shed those unwanted bytes to a reveal a new and slimmer you. That's right, this is not a gimmick. Go to your GenModel now, find the "Root Extends Class" property, and enter the special promotional code below.


Then regenerate your model, sit back, relax, and let EMF do all the work. Unlike other fad diets, with EMF Ultra Slim, there is no risk of nausea, hair loss, depression, insanity, or premature death because no drugs are involved. Of course smaller objects have to work harder to get the same job done, so you may experience a small decrease in performance. If this disturbs you in the slightest, immediately stop the treatment, or better yet, take the steps outlined below to allocate the fields you really need to get the most out of life.

Please note that Ecore itself has taken the EMF Ultra Slim challenge so extenders of Ecore may notice that the eContainerFeatureID has disappeared, unless of course they too take the EMF Ultra Slim challenge themselves, in which case, references to this field will vanish along with the unsightly extra bytes it consumed. If this disturbs you, recall that I've repeatedly explained that extending Ecore is done at your own risk because binary compatibility of the implementation classes is not guaranteed. If you're feeling inclined to complain about that, please address all correspondence to Hello!@DoILookLikeICare?.com and prepare for a long wait because you're more likely to see the moss in this picture grow than to get a response.


How does this copyrighted new miracle treatment work without the aid of drugs? The wonders of open source reveals all. MinimalEObjectImpl has only two fields: an int eFlags field and an Object eStorage field; they are private, so I can change them in the future. The flags field is used to represent three things: whether notifications should be delivered, the container feature ID, as well as bits to indicate what's in the storage field. It's designed so that the field needs no initialization, i.e., the default value of 0 represents the correct ground state. Additional values, such as the container, adapters, dynamic class, dynamic settings, proxy URI, and resource are maintained in the storage field. If only one such value is needed, it's stored directly in the storage field. If more than one is needed, an array of objects is allocated to hold all the required values.

But wait, there's more! The adapters list is no longer stored as a list. It's stored as an array with a wrapper list being allocated only as needed. Not only that, if this array has the same contents as that of the container, the array of the container is shared. This fits very nicely with a common pattern of usage where all objects in a containment tree share the same adapters. It's a thing of beauty.


So what if you decide really want a field all the time for some specific value because you know your objects will always have it and you'd like the storage field itself not to end up allocating an array to hold multiple values. Worry not. By overriding two or three simple methods in your derived class, you can make that design choice yourself. The nested Container class of MinimalEObjectImpl does exactly that, i.e., it allocates a field to store the container. After all, most objects are contained by other objects so having a field for this is a good thing.

So what will this fantastic new therapy cost you? Not a penny, just the time it takes for one simple treatment. Of course generous donations to Eclipse will be most welcome. Don't forget to mention EMF Ultra Slim when professing your undying gratitude to Eclipse; in addition to a fast mirror, you'll receive a special reusable "fast help" coupon that you can use in the EMF newsgroup. As a footnote, MinimalEObjectImpl is the very first file I've ever committed that actually contains my name: "Copyright (c) 2009 Ed Merks and others."