Monday, November 02, 2009

Mo, Mo, Mo, Movember

What started out as a crazy idea on Friday afternoon, with a little encouragement from Kevin Barnes, is starting to take off. We now have an Official Eclipse Mommitter team -- a team of Eclipse contributors who plan on growing Mustaches during the month of Movember to raise awareness (and funds) for men's health issues.

But if you're reading this blog it means you're interested in Eclipse and you are encouraged to join the team. In fact, I would like to put a challenge out there: let's try and get 20 people to join the Eclipse Mommitters (no voting needed). Considering there are close to 1,000 committers, 20 people is only 2% of that population. Considering the release train is known to have a few million users, that's less than 0.002%! It would also be cool to get at least one committer from each top level project. (And someone from the Foundation too).

Since November has already started (it's likely November 2nd when your reading this) we have to act quick. There are a few things you must do:
  1. Checkout
  2. Join the team: If the link doesn't work, search for the team Eclipse Mommitters
  3. Run home and shave (no head starts)
  4. Start raising a few bucks and a ton of awareness
Our awesome Eclipse Release Engineers are considering using our Mommitters logo during one of the integration builds to help raise awareness too -- You could be part of Eclipse history!

No doubt you have a few questions, so here are answers to some of the more common questions:

What is Movember?

Movember (the month formerly known as November) is a moustache growing charity event held during November each year that raises funds and awareness for men's health.

At the start of Movember guys register with a clean shaven face. The Movember participants, known as Mo Bros, have the remainder of the month to grow and groom their Mo, raising money along the way to benefit men's health. -- In Canada we are raising funds for prostate cancer, however, different countries are raising funds for local charities related to men's health.

How can women get involved?
While growing a Mo is left to the guys, Mo Sistas do a lot of important work for Movember. Mo Sistas can get involved by:
  • Registering online, recruiting a team and raising money
  • Organising events like Mo Parties
  • Making a donation to a Mo Bro
  • Supporting and showing love for the Mo
I already have a Mo - how can I participate?
If you already have a Mo you can do a ‘reverse Movember’ and have people donate to you to shave it off. Alternatively, you could shave off your moustache at the start of Movember and then re-grow your Mo throughout the month…. Maybe it’s time to try a new Mo style?

Are goatees or beards allowed?
The definition of a Moustache:
  1. There is to be no joining of the Mo to side burns – That’s a beard.
  2. There is to be no joining of the handlebars – That’s a goatee.
  3. A small complimentary growth under the bottom lip is allowed (aka a tickler).
Remember, it’s Movember, not ‘Beardvember’ or ‘Goateevember’

Thursday, February 05, 2009

What's up with Chisel

Every wonder what happens in the Chisel Lab (that the Computer Human Interaction and Software Engineering Lab).  Well now you can find out.


This is the research group that gave you such tools as Shrimp, Zest, Jambalaya, Creole, plus a whole host of research on cognitive support :-).

Sunday, January 11, 2009

Welcome Lily

If finishing school, buying a house and starting a job wasn't enough excitement, on Friday my wife gave birth to our second daughter, Lily Marie Bull.   Lily weighed in at 8lbs 7oz, and is already starting to understand the complexities of Graph Visualization, Modeling and of course, p2. :)  Both Tricia and Lily are doing Great!

Friday, November 21, 2008

Curved Connections

Pop Quiz: How many connections exist between Node 1 and Node 2?

Since connections are drawn on top of one another, it is not always easy to tell. This is a problem that many people using Zest have faced. To assist with this, I have added a new API on GraphConnection. You can now call GraphConnection#setDepth to curve the connections.

GraphSnippet11 shows how this API can be used. I still have to add the functionality to the JFace viewer, but the functionality should be there by the time M4 comes out.

Tuesday, October 14, 2008


Last weekend was thanksgiving in Canada, a chance to enjoy a great turkey dinner (by candle light in Victoria), take a day off of work, and kick off the new NHL season (Go Leafs Go!). This year I have a lot to give thanks for. Not only did my wife and I celebrate our 5th wedding anniversary and my daughter celebrated her first birthday, we also found out that we are expecting our second child (ETA January 2009). As well, on July 9th I successfully defended my PhD, bringing 13 years of computer science education to an end.

I started studying computer science in 1995 at the University of Waterloo. Throughout my undergraduate degree I had a chance to work at some pretty cool places, including Manulife Financial, ATI Technologies, and Trilogy Software. In 2000, when most of my friends were heading off to industry to take advantage of everything the dot-com boom had to offer, I decided to head back to Waterloo for a Master's degree. I studied reverse engineering under Dr. Andrew Malton in the Software Architecture Group (SWAG). I completed my Master's in 2002 and in 2003 I headed west. Landing in Victoria, I decided to start a PhD with the Computer Human Interaction and Software Engineering Lab (CHISEL) under the supervision of Dr. Margaret-Anne (Peggy) Storey. I could not imagine working for a more encouraging supervisor. Peggy, your kindness and enthusiasm will never be forgotten. In addition to studying at UVic, I was also given the opportunity to work with the IBM Centre for Advanced Studies (CAS). My IBM mentor was Ed Merks.

Now, after 13 years of school, I am finally heading out to the "real-world". Because of the enthusiastic community and great technology, I have decided to take a job that will bring me even closer to Eclipse. I will be working with Jeff, Chris and Scott at Code 9. I will be spending some time doing Zest development, but this job will also bring me much closer to Equinox and the Eclipse run-time space. I will be transitioning throughout the fall as I am still teaching a course at UVic and finishing off a few projects. I'm looking forward to working with all of you!

Friday, September 05, 2008

GWT and OSGi

A number of people have asked me how I configured GWT and OSGi. Some detailed steps are available here, however, following wiki pages is not always the easiest thing. I have created a small "hello, world" example. You can get the projects here.

To use this, simply import the zip file into eclipse: (File->Import, select Existing Projects into Workspace).

Once it is imported, you should have 3 projects in your eclipse workspace:
The GWT project is simply the GWT jars wrapped in a bundle.

The client project is the client side code, and the server project is the servlet we use (it simply returns the word "World" to complete Hello, World.)

I have included an external tool to compile the client side code. Make sure you select com.example.gwtclient ant_build.xml in the external tools list.

After this runs, you should refresh your workspace (press F5). Under the com.example.gwtclient you should have www directory.

Finally, you can use the provided launch configuration to actually launch OSGi, the Jetty engine and the servlets. To do this, go to Run Configurations..., and select GWT Example Launch.

This will launch the Jetty server on port 80. If you want to change this, go to the Arguments tab and set -Dorg.osgi.service.http.port=8080 in the VM arguments.

Once running, simply hit: http://localhost/index.html

If anyone is interested, we could extend this and make it part of the Eclipse Examples project. However, there may be some licensing issues as it currently includes the GWT jars.

Thursday, May 22, 2008

A p2 Success Story

With all the good / bad and the ugly posted about p2 lately, I thought I would share a positive experience I had today with Eclipse, Modeling and p2.

It all started when I saw a new video about ECore tools. If you haven't seen ECore tools, and you are a fan of EMF, you really should check it out. (It will likely be featured in my Ganymede Top 10 List). After the video I decided to take ECore tools for test run.

1. Grabbed the latest Ganymede milestone for modelers.

2. I launched Eclipse and tried to create an Ecore Diagram (using Ecore tools)

Problerm: the Ganymede package for modelers doesn't contain ECore tools.

3. I launched Help->Software Updates and searched for ECore tools

4. Ok, no ECore tools... So I selected "Manage Sites" and selected the Ganymede Site

5. Now when I search for ECore tools, p2 returns some Installable Units

6. After selecting Install, and accepting the license, Eclipse suggested I restart

7. And in less than 5 minutes, I was up and running with ECore tools.

While I realize that there are still bugs / features / requests outstanding, this was the first time in all the simultaneous releases that it truly felt like I could just point at a piece of software, and have it up and running without worrying about dependencies, 3-5 minutes to load the UM, broken connections, etc...

I know p2 doesn't work for everyone, but the negative comments often seem to overshadow the positive ones, so I thought I would share with everyone the good experience I had.

Note: I did not write this to start a war, or downplay the problems people are having; this was simply my experience today.