Sunday, 28 September 2008

Milestones

Milestones mark not only the progress of the development process at Eclipse, e.g., the passing of Milestone 2 and the delivery of Ganymede Service Release 1, but more generally the significant points in life's journey through time. On Sept 17th, my parents celebrated their 50th Wedding Anniversary.


That's a pretty amazing milestone that all too few people will ever achieve! I've noticed that time passes more quickly the older you get! I bought my parents a headset so that my mom can use skype on my Dad's computer to phone her sister in the Netherlands any time she wants. Her first call was to thank her sister for the flowers:


With the end of summer, sunsets are coming noticeably earlier every day. Colder temperatures threaten to put an end to the garden.


Eclipse project and components leads should take note that with the arrival of fall, their standard plans are almost due. Specifically they're due September 30th, a milestone that is all too rapidly approaching. No one is exempt. Has your friendly helpful PMC member reminded you of your community responsibilities to be involved in this open and transparent planning process? If not, consider this a reminder (and consider reminding your PMC members of their responsibilities as leaders at Eclipse). Don't be sad, it's really not much work; just copy from someone who has already done it!


A particularly happy milestone that's rapidly approaching for me is the end the writing for the EMF book's second edition. Frank has used some of his personal vacation time to help write an appendix to cover significant new things added for EMF 2.3 (generics) and 2.4 (improved support for REST). We're hoping the book will be available at a store near you before Christmas!

Wednesday, 17 September 2008

Make My Day

I flew out to Dallas today for the Eclipse Board meeting tomorrow.


We have some tough problems to solve, so we decided to tackle them the American way. We headed out as a group to look for the right tools for the right job.


Some of the folks where familiar with the equipment and headed straight for the back room.


The rest of us watched and instructional video, complete with a legal disclaimer, which Janet was kind enough to review for us.


Then we were ready to roll. Check out Chris' technique, taking note of the spent cartridge flying out. Like me, he succumbed to peer pressure.


Tracy literally had a blast!


And Emma, who was laughing maniacally on the way to the range, has us all a little worried. But she was quite the marksman! See the bullet hole? Unfortunately I had to crop the rest of the bullet ridden target for political correctness. Suffice to say she was like a one woman war on terror.


Although I was very skeptical about the whole gun thing, it was quite thrilling to load my Glock 17 and fire off a few rounds; maybe even a bit too thrilling!


Check out the accuracy! This is the first time I've ever fired a gun!!


I took the bullet ridden target back with me. I blew its head off too. That really made my day! Thanks Doug for helping ensure the gun didn't rip by finger open, Todd for arranging this fun outing, and Mike for reminding me not to point the gun at him. It was an accident, really!

Tuesday, 16 September 2008

You Gotta Have Friends!

As Bette Middler so eloquently sang "you gotta have friends, the feeling's oh so strong!" I'm reminded of this when I noticed today that Eclipse has more friends than a leap year has days. It's a great feeling to have so many friends!


Thanks to Darin for having helped get the ball rolling. Thanks to the foundation staff for helping set it up. Thanks to the web masters for ensuring that the download mirror selection page features this prominently. Thanks to Chris for trying to feature it on the Eclipse welcome screen. And of course, most of all, thanks to all our friends!

Friday, 12 September 2008

The Metamorphosis of Macro Modeling

It's been a hectic week, but like thunder storms, such turmoil passes quickly. When the sun comes out again afterward, it's an especially beautiful thing.


As part of my partnership with itemis, I needed to set up my own little contracting company to benefit from all the tax advantages of self-employment. Well, it's finally done: Macro Modeling is born, registered, and open for business. I knew you'd be blown away!


I'm preparing for my trip to MDSD 2008 in Elmshorn next month where I'll be talking about the unbearable stupidity of modeling as well as presenting an introductory workshop about EMF. I hope to see some of you there. It will also be my first opportunity to visit the itemis folks at their headquarters too, so I'm doubly excited by the juxtaposition of two cool things!


As Kenn has already pointed out, we now have irrefutable proof that, despite it's apparent popularity at Eclipse, modeling is definitely unbearably stupid: Microsoft thinks it's a good thing and has joined the OMG. Clearly it is the beginning of the end! Although you have to ask yourself, why go micro when you can go macro? After all, just try to get Microsoft to fix a bug for you in next week's build. Good luck to you!


In an even more surprising turn of events, the very next day Richard Soley offers me permanent guest membership status at the OMG; he'd like me to give my "stupid modeling" presentation. Talk about lowering your standards, and that for a standards organization! Could the Microsoft thing just be a coincidence you think? I did notice the air space above my house filling up.


And then I noticed that someone had been taking satellite photos of my yard. Okay, it was just Google, but still! I should be the only one capturing images of my yard.


In case you haven't noticed, modeling is my passion. I like to help other people be successful with modeling, so it's personally gratifying that Skyway Software has appointed me to their Board of Advisors. Like itemis, they're an agile company that applies all the excellent principles of model driven software development as part of their core business. Skyway's business focuses on easing the development of applications in the Java EE space and they're building on Eclipse technology as their foundation. The grass grows greener on Eclipse's fertile ground.


I think these smaller more agile company's are better able to take quick advantage of technical innovation and to drive it forward. When you really think about it, Microsoft seems to be more of a Johny-come-lately in the modeling space. In this fast paced world, if you snooze, you lose. The sun shines brightest on the most agile.


Speaking of Java EE, I wonder how many people would be interested in having generated models, or even dynamic ones for that matter, that support java.io.Serializable? Have a look at 245014 if you're interested; it's pretty much working already.

Saturday, 6 September 2008

Meandering Down the Garden Path

I was just telling Amber and Ruby about the spaghetti incident. Amber couldn't believe letting perfectly good leftovers go to waste while Ruby misunderstood thinking there might still be some available. Sorry girls waste not want not isn't everybody's style.


As a little diversion, I thought I'd lead you down the my garden path. Things are late this year but it's prettier than ever.


Ruby likes to jump right in!


Isn't the garden path inviting? See what you're missing Ralph?


I still remember when we first moved here in 1999 and had a scale model of the back yard drawn out on grid paper; the yard was devoid of a single living thing at the time. The neighbor looked at it and asked "don't you have the grass and the beds backwards?" Um, no, I don't think so. "Oh well, it will never actually look that way," he follows up. Well, you know something? It doesn't usually pay off to underestimate me. What does pay off is to model it first. Ruby fancies herself a model.


She's been told she's pretty, smart, and sweet a few too many times I think. But telling her she's as pretty as a pink sunflower is just over the top.


Her little ego is getting swollen, so I'd better tone it done. Just keep in mind that the things you imagine can be realized if you set your mind to them. You just need to follow the right path...

Friday, 5 September 2008

Open Collaboration on E4

Nearly as exciting as the schools of 200 cardinal tetras and 100 rummy nose tetras I added to my tank the other day was the meeting I just had!


At yesterday's e4 call, Boris offered to review the modeled workbench prototype he, Tom, and Eric have been working on. Getting early feedback is always valuable. We hooked up on skype, for free, and figured out how to screen share using Yugma, for free, so we could freely collaborate on software that we're going to give away for free; I wonder if that makes us freetards? I like to think of it as thrifty and generous, though I've been accused of having a distorted view of reality; but I digress.

Once we got over the technology hurdles, we called up Tom and Michael and started the show. What you're seeing here is a simple "Photo IDE" application in the navigator, where the structure of the workbench is modeled using Ecore, an instance of that model is open in the editor, which is then used to initialize the running application shown on the right.


Boris demonstrated how changes to the model are reflected in the structure of the application when it is launched. He also showed how cool it could look with some styling applied to it. The styling stuff isn't available yet, but is in the works:


He even showed how he easily integrated a view that displays the map location for the GPS coordinates of the selected photo:


Too cool hey? We had lots of interesting discussions and ideas for what to do next. It's very exciting to see this all unfold live and in person! I'm surprised more people didn't take up Boris' offer.

What's being done with e4 relates closely to some of the model-based work Michael is doing, so he took the opportunity to demo a few of the things he's working on. He's got this funky model that lets him rapidly configure how a table displays data in various fancy ways.


He complained a little bit about EMF's viral nature but I remained silent while my nanite servants actively reshape his thinking. When all his models have been integrated with the collective, he'll be convinced that it was a good viral infection.

It's cool that four people, from four different oranizations, in four different cities, on two different continents can get together to collaborate freely for free. Isn't life grand!

Monday, 1 September 2008

The Unbearable Stupidity of Modeling

Modeling is simply over-hyped promises all of which fall far short of the mark like so much of the technobabbel generated by the world's software marketeers. Have you ever been told you'd see a beach guarded by frogs turned to stone? Seems unlikely, doesn't it?


The reasons why modeling is doomed to failure are seemingly endless.
  • The learning curve is too steep. Only someone with a Ph.D. can actually understand UML, or at least do a good job pretending.
  • When I hear the word "meta model" it turns me cold; talk of "meta meta models" makes me want to cry.
  • Modeling's complexity will only distract me from solving the problem at hand thereby slowing me down.
  • Modeling is totally redundant. Java already has a reflective object model, so why would I need another one? Learning one general purpose programming language is more than enough of a challenge and should be more than sufficient. They're Turing complete after all, so it's provably true.
  • Modeling is simply too restrictive thereby limiting my creative abilities.
  • It's patently ridiculous to believe that modeling will be sufficient to generate my whole application without need for writing actual code.
  • Generated code is of poor quality, performs poorly, and is difficult to understand and maintain. I can do it much better myself by hand.
  • I don't like all those stupid diagrams. They just don't scale. A textual representation is far more manageable. I simply don't need a graphical rendering of my code.
  • Domain specific languages will create a Tower of Babel rife with formalisms that only the original developer understands.
  • XML Metadata Interchange (XMI) is unspeakably horrible. I want nothing to do with it.
  • Modeling is just a ploy to ensure that I'll need to buy expensive tools. Tool vendors tend to support their tools for only a few years before changing them all around as part of some new marketing campaign, thereby risking my long term investment.
  • I won't be able to do agile iterative development but rather will be stuck with an onerous formal waterfall process.
  • My project isn't big enough to need all that formal modeling overhead.
  • If modeling really did work well, I might as well out source my high tech job to the developing world.
Clearly modeling is doomed to failure, unless of course these are all misconceptions... In fact, like this witch captured in stone, they are exactly that.

I'll explain why at various conferences this fall, including MDSD and perhaps JAX and ESE. Today is the last day for ESE submissions, so don't delay!