Much ado about scripting, Linux & Eclipse: card subject to change


Submitted for your consideration

On the plane to and from EclipseCON, I had the opportunity to watch a couple of episodes of Dexter -- kudos to Air Canada's new inflight a/v system. I was immediately hooked. At the end of the following episode, I saw this interesting juxtaposition:

Still from Dexter S01E04 end credits.

Considering the moralizing tone of the show, I find it intriguing that one of the Bush family is being personally thanked for assisting get this show on the air.

After all, it's all about deception, wearing masks, and using people to further your goals.


p2: Planned Parenthood (v3)

P2 is ready to drop this week.

And, like a human birth, it seemed like a great idea 9 months ago, has started to cause some pain and annoyance to its parents (the p2 developers) and relatives (the early adopters in the community), and comes with much excitement & some trepidation. (And some bugs.) I kid. ;)

Bear in there, though. As with human births, people will remember not the pain of birth, but the years of joy to come.

What's that you say? How can you help? Download the latest good Eclipse platform w/ p2, try it out, and report your successes/problems. Documentation from the newbie/end-user experience & related testing is (IMHO) urgently needed. If you configure your plugins with .eclipseextensions (eg., Update Manager) or .link files, just unpack zips or use some other approach, try p2 and see if the new dropins folder format or installer work for your usecase. Note also this patch, should you encounter a similar glitch.

Meanwhile, p2's proud parents have already started working on the nursery pending their new arrival: there' already a lot of documentation out there for you to explore.

People, don't blog when sick, tired, and under the gun to deliver 8 project builds. You risk being misread, as I clearly have. Apologies to those that saw and didn't appreciate the previous edits of this post.


When I'm Sixty-Four

There are now over 5 dozen committers on the Modeling Project!

Used to be modeling people were rare
Just a few of them
Now it seems that everyone talks 'bout modelin'
Over a beer or bottle of wine
If you're a modeler, but remain anon
Codin' with Ecore
Time to contribute, time to commit it
Cuz we're sixty-four!

Send me a postcard, drop me a line,
Stating point of view
Indicate precisely what you mean to say
Yours sincerely, modelin' away
Give me your answer, fill in a form
Set for evermore
Time to contribute, so I can commit it

The Beatles - When I'm Sixty-Four


Multiple monitors & screen real estate

Reading Seva Lapsha's blog got me thinking about my multi-monitor screen usage today. In the past, depending on the type of work I'm doing, I might have one monitor for code and another for testing... eg., Eclipse + a browser for web testing, or main dev Eclipse + a second eclipse for plugin testing, etc.

Or multiple Eclipse instances sharing plugins (one with a workspace which actually contains plugins, the other with a second, empty workspace in which the other projects are imported with Import > Existing Projects). (Why? To keep the contents of the workspaces smaller and to make startup faster, esp. considering bugs like this happy li'l PDT bug.) :)

Since the Eclipse 4.0 path has now started, here's a few ideas for ways to improve the UI experience. I'd like to see Eclipse one day work like GIMP, where detached views show up in the task bar (or maybe they do, it's just KDE that's filtering them? -- I can ALT-TAB between detached windows, but I only see one Eclipse item in my task bar). Or allow detached views to dock against each other into composite view blobs like they do when they're not detached. Or allow me to grab a set of docked tabbed views and detach them all in one go, instead of having to drag each one out, one by one. Or, even better, just let the whole editor area be detachable. And while we're at it, how about the toolbars?

If anyone else agrees with these ideas, please consider opening a bug to track them. Or better yet, bug your PMC so you can become a committer on E4 and contribute to the work effort.

At any rate, I agree with Seva: putting all your panels on one screen and the editor on the other is certainly a handy way to take advantage of all those extra pixels, esp. when your 20" 1600x1200 monitor dies and you're stuck dropping back to a 19" 1280x1024 one. :(


EclipseCON 2008: News from the collective

In no particular order, here's what I've learned from this year's con:

  • p2 is going to rock (though it's unfortunate that Pascal's slides aren't online yet -- hint, hint!). While my first view of it was a bit disappointing, the new story -- including backwards compatibility for existing Update Manager sites, the ability to generate the new metadata from the old stuff & shared bundle pools (akin to C:\Program Files\Common Files or /usr/share/) to improve the functional-but-hackish alternatives -- promises to make things not just different, but better.

  • Modeling is not just alive and well, it's everywhere!

  • While some people have Planet-blog-photo-angst, it's not enough to stop the onslaught diversity. :)

  • ant4eclipse looks like a possible stripped-down approach to pde/basebuilder, for tiny projects like the microcomponents planned for Nexus or the stuff on Eclipse Spaces. Something to explore, anyway.

  • The Modeling build has lots of room for improvement -- some great suggestions have been logged and added to my list, including the use of JET to templatize and wizardize creation of new .releng projects. The same should be said about my tutorial, which I think would have benefited from a more overarching introduction before the hands-on work began.

  • The Google Summer of Code 2008 is just around the corner. Have a great idea you want to see built at Eclipse, but don't have time to do it yourself? Suggest it and mentor a student instead!

  • Martin Taal has some great new web-based form UI functionality that I'd love to use for the UIs I do (eg., for builds or for Dash).

  • I'd also like to start playing with BIRT in Dash, and not just to earn an animated t-shirt, since I think that ship has, sadly, already sailed.

  • TaskTop, or Mylyn on steroids, is pretty damn cool as a way of integrating everything I do into one UI. Because of networking issues w/ linux this week, I've only been able to test it with Windows... which means, sadly, the embedded browser experience sucks a little because it's IE, not Firefox. Still, the idea of having a context for web and local files I'm working on all in one trackable, toggleable interface, with connections to GMail and Google Calendar makes the whole thing very slick. If the linux experience is as good or better, it's only a matter of time before I buy a copy. $60 is pretty reasonable for something that will, ultimately, support Mylyn's continued growth. (Though you don't get a "Friends of Mylyn" logo.)

  • WinXP + Eclipse + Flock + Pidgin + Cisco VPN client = BSOD, even though Windows Loves Java, apparently. (To be fair, this one was the Cisco VPN client's fault.)

  • I want an IBM Access Connections for Linux. Switching between the Hyatt wifi network and the Eclipsecon network via text file updates and shell scripts sucks elephant balls compared to just magically switching networks with no effort. Am I missing something? Is there some better x-, k-, or gnu-based app I could be using?

  • I should be using Platform Releng Packager instead of custom-packing zips after signing them. I recall vaguely hearing about this last year, but haven't had a use for it until now, with Master Features and signed builds.

  • It's possible to generate test coverage documentation from JUnit using Bumblebee.

  • If your project doesn't already define a How To Contribute document, it should.

  • Using the Autopin tweaklet with Mylyn is probably a bad idea, as it introduces a lot of manual labour (pinning tabs by hand). This has been preventing me from getting the most out of Mylyn.

  • Denis & Karl have outed me as being not one person but an array of clones. I'm just not sure how to define the syntax for identifying which clone is which... suggestions? (This is clone #1, or $nick[0], nick:0.) The process is still imperfect, but I hope to be able to open source it one day. If you're curious about how it's done, all I can say is that it involves division by zero.
Thanks to everyone at this year's con -- planners & attendees alike. We[] had a blast.


Eclipse Death Rock Groups: Live!

So tonight I'm listening to a track by the Gothsicles called "Mix This Song Into A23's Maps of Reality" (skip to 14:11) and surfing the planet, when I stumble upon Doug's Awesome Lyric Challenge (tm).

While I prefer to take on more popular songs as I feel knowing the tune helps to give the parodied lyrics better flow, I'm never one to pass up a chance to rip some song a new one and make light of some squabble or conflict. (I've got a few thrash songs I've been wanting to try, but I've never thought to attempt something like speed/death/dark metal.)

Anyway, it seems that the members of ECLIPSE have beaten me to the punch, as their song Mirror (copied verbatim) clearly foreshadowed the the whole e4 imbroglio as early as 2001:

Nesting in the farthest places of the planet
I saw people's disputes
Dirty, wandering from place to place
Anger and hatred walking in pairs
Giving oneself away to lustful kisses
And love - full of fear, grey and sad
Was hidden in the middle of it all... somewhere deep
And I brought out the sword of truth
I wanted to disperse the darkness

So, Doug, here's MY challenge. Get one of these 15 bands called Eclipse to headline (or keynote?) at next year's EclipseCON.

In other news, kudos to the webmasters for their plan to provide Standardized Rock Groups. Too long have we had a Mötley Crüe. Here's to their plan going Supernova -- in a good way, that is. (Sorry, couldn't resist.)

Oh, and because it's under a week away, I guess I should mention once again that I'm speaking at EclipseCON on Monday and Tuesday.

, eh?

If you're interested in running, testing, or publishing builds, generating releases notes, Bugzilla, CVS, or anything in between, please drop by and have a listen. For the tutorial, please make sure you've got Eclipse 3.4M5 and EMF 2.4M5 installed and running with JDK 5.0 or later.


Eclipse The Universe

Dear Members, won't you come out to play?
Dear Members, greet the brand new day
The sun is up, e4 is new
But it won't work, sans all of you
Dear Members, won't you come out to play?

Perception, don't think about slights
Perception, focus on what might (be)
The code is new, and we all sing
That you are part of everything
Perception, won't you focus on what's right?

Look around round
Look around round round
Look around

Committers, let me see you smile
Committers, travel many miles
e4 will be a gravy train
So let me see you smile again
Committers, won't you let me see you smile?

Dear Members, won't you come out to play?
Dear Members, greet the brand new day
The sun is up, e4 is new
But it won't work, sans all of you
Dear Members, won't you come out to play?


You say you want a e4'lution
Well you know
We all want to help Eclipse
You tell me no more evolution
Well you know
We all want to change Eclipse
But when you talk about division, now
Don't you know you can count me out

Don't you know it's gonna be alright
Alright, alright

You say time for a real solution
Well you know
Let's all work to make a plan
You say you'll make a contribution
Well you know
It'll fail without YOU, man
Cuz it seems to me that this was tried last year
But no one came forward, so it disappeared

But this time it's gonna be alright
Don't you know it's gonna be alright
Alright, alright

Across The Universe (Soundtrack) - Dear Prudence & Revolution (Lennon/McCartney)

Great movie, BTW. Especially if you're a fan of The Beatles, Bono, or Eddie Izzard. ;-)

Pain Points

I hate buzzwords as much as the next geek, but as I live with someone with chronic pain, the concept of a "pain point" is way more than a PHB or marketroid buzzword.

Pain points are just that -- the points in a system which cause pain. Without pain, there's no desire for change. If you don't hurt somehow, there's no motivation to do anything differently.

As the recent discussions around e4 have shown, there's a lot of pain. Pain motivating a new approach to Eclipse 4.0, pain in how this new project has been perceived as closed, already fully-fledged, unopen to contribution, or too Blue.

Ed and Bjorn have recently blogged about the fact that perception is often more important than reality. Fact is, we perceive pain sometimes when there's nothing there. It could be a perceived slight, or it could the result of feeling someone's solving the wrong problem, or solving it in a way you didn't expect or want. I'm not trying to say that one's perception is necessarily wrong, only that it may not have been intended, or that in terms of the bigger picture, it may not be helpful.

Let me give you a recent example from my life. My dad attended a conference recently in Niagara Falls and at the end of it, came up to Toronto to spend a little time with my brother and I. When it was time to get him to the airport, I called the car service I've used for the past couple years and Sam came out -- arriving early as always -- and took him to airport. (They make a point of -- if possible -- always sending the same driver.) But when I told my father that instead of driving 45-60 mins to and from the airport I was putting him in a car and outsourcing the task, he was offended. Apparently, this was not the solution he'd been expecting.

Let's look at the pains here:

Pain Point #1: Dad needed to get to the airport.
Pain Point #2: I didn't want to waste 90-120 mins of my life driving across the 401 and back.
Pain Point #3: I hate driving, and avoid it as much as possible. I'm a cyclist/ hiker/ walker/ kayaker, not a driver.

And the expectations:

Expectation #1: Dad expected I'd drive him.
Expectation #2: I expected that the goal was to get him to the airport, method notwithstanding.
Expectation #3: I expected to pay for the transportation to the airport, either in time (90-120 mins) and money (gas), or else just in money (hiring a car). To my engineer's brain, assuming my time is worth $50/hr, the cost of driving him would be $75-100 and the time lost. Hiring a car would be $60-80, including tip, with no time lost. A no-brainer.

As Ed discussed in his post, sometimes even when you solve a problem, people feel it could have been handled in a better way.

What's the lesson here? Like it or not, we are all marketers. Everything we do colours reality, changes perception, and controls how our work is seen by the world. Even as geeks, it's sill not enough to build great products, solve unsurmountable problems, or right wrongs. You have to take away the pain and give your customer/user/colleague/manager/stockholder a buzz while you're at it. Like amputees experiencing phantom limb, you can take away the pain but the bad perception can linger on, so it's important to sell it right the first time.

And if you do screw up and need to spin a mistake into a success, do it like Coke did.