Monday, April 24, 2006

A Profile in Courage

Last Friday, Brian Bauman, of Austin TX, was granted his commit rights to the PDE component, making him Eclipse's newest committer.

Unlike Lady Liberty who lets in just about anybody with a pulse to the NY harbor ("Give me your tired, your poor, your huddled masses yearning to breathe free, the wretched refuse of your teeming shore..."), we have a much higher standard for admission into the Eclipse committer club.

Incidentally, Brian becomes the second Eclipse committer to have run a marathon (3 hrs 46 minutes on his first attempt). Veteran committer/runner Darin Swanson's time is 3 hours and 1 minute.

Congratulations, Brian!

Tuesday, April 18, 2006

People Who Need People

At EclipseCon 2004, Kevin Haaland delivered the most memorable line I have heard at a conference anytime anywhere:

"Code is more important than process. People are more important than code."

Sunday, April 16, 2006

4 Years and 60 minutes

This week marks my four-year anniversary working on PDE, so this calls for a stroll down memory lane.

Instead of enumerating all the New and Noteworthy features that went into Eclipse over the past 4 years, I thought it would be more interesting to look back at my first PDE task.

Picture it. April 2002. The milestone was 2.0 M6. The most important problem du jour was to find a way to enable the user to create and run his first plug-in in less than 10 minutes. Our solution was to provide customizable templates for the platform's more popular extension points in the New Plug-in Project creation wizard.

The first template that I wrote was the XML editor template, which became the starting point for many fine editors including the Eclipse Ant editor.

During the 3.1 cycle, history repeated itself and enabing the user to create and run their first RCP application in a few minutes was a top priority. Enter the Hello RCP and RCP Mail templates.

Templates remain one of the most popular PDE features and we can never have too many templates. Continuing with the tradition, the inaugural task for every new member to the Toronto Eclipse team is to provide a new template. More recently, Shaun Skelton, of the Platform UI team, contributed a few templates and chronicled the process on his blog. Shaun is PDE's new best friend.

Of course, at some point during the past 4 years, I got old and turned 30. The first sign of old age was during a workout when I complained to the manager of my local gym that the place was too cold.

Another sign of old age is unwinding on Sunday nights by watching 60 minutes. In addition to the show's hypnotic ticking stopwatch, I enjoy Andy Rooney's social commentaries. I find his nihilistic pessimism to be very uplifting. One of my favourite Rooney commentaries is when he cleared the good name of the used-car business after he successfully tracked down his old Lexus.

Friday, April 07, 2006

Attracting a Younger Audience

Eclipse Top Ambassador 2006 nominee Chris Aniszczyk, who also happens to be the inventor of the term 'backie', writes from time to time on how important it is to have a strong Eclipse presence at universities and colleges. I could not agree with him more.

Case in point: Over the years, we have been very fortunate to have very talented committers under the age of 25 working on PDE. They tend to be very passionate about the technology and adept at learning the Eclipse Way.

I am no marketing genius, but here is a tip on how to easily attract younger talent: When posting jobs or advertising events and code camps, try to spell plural words with a Z instead of S. For example, "plug-inZ" instead of "plug-ins"; "skillZ" instead of "skills". Today's kids eat up crap like that :-)

Incidentally, not to be outdone by Chris, I have been trying to get the adjective 'buckety' to catch on, where buckety is defined as "of or pertaining to a bucket". Spread the word!

Monday, April 03, 2006

PDE, Harmony and the Foosball Prodigy

An exciting pattern that has emerged in the past year is that the Eclipse PDE (Plug-in Development Environment) has found a following among non-plug-in developers.

At EclipseCon, Tim Ellison showed how the Apache Harmony project (a compatible, independent implementation of JSE 5.0) uses PDE as a "module development environment".

Harmony developers are not developing Eclipse plug-ins, but they want to tap into the cool tooling that is available to Eclipse plug-in developers .

The Harmony code base is split into modules. Each module is self-describing and uses an OSGi bundle manifest to define its API (via the Export-Package header) and describe its dependencies on other modules (via the Import-Package header).

The use of OSGi bundle manifests in the Harmony modules automatically qualifies these modules for free classpath and target management by PDE.

By using the PDE container to dynamically compute the classpath, .classpath files become sharable and the developer does not need to update his project's classpath ever again.

Access rules are used in the manifest file to enforce API discipline among modules. PDE translates these runtime visibility rules into compiler access rules at development time, resulting in compiler warnings/errors when an API violation occurs.

By setting the target platform to the location of the Harmony JRE, developers free themselves from having to import all modules into their workspace. All they need in their workspace is the subset of modules they are working on; the rest can be referenced on the file system transparently via the PDE container.

So if you want to modularize your code base, PDE can help.

On a related note...

Also working on the Harmony project is a young man named Oliver Deakin. A fine developer in his own right, Oli also happens to be a Foosball prodigy. Take a look at a short video of some of his trickshots. The video will knock your socks off, so please have an extra pair of socks handy :-)