Twitter github

All that Jazz

For those who haven’t heard of Jazz yet, it’s IBM’s next generation team collaboration platform. What the heck does that actually mean? Well, I think it’s better just to watch a video and find out. However, I’m not incredibly convinced of this so called “Community Driven Commercial Development.” If I learned anything so far in my career, people in commercial development are bad at community building and open-source style of development (note, this is a generalization, but this is what I’ve mostly seen).

On a side note, all I can say is that Jazz loves Eclipse Forms. Who said you can’t do cool things in the Eclipse UI?

IRC and Europa

It’s that time again, my semi-annual lambasting of people to get on IRC. With the Europa release, getting on IRC should be easy as pie with ECF (heck, you don’t even need to leave Eclipse anymore to chat!). I tend to keep my IRC presence in a fast view so it’s easy to hide and bring up when I feel I need to chat or someone pings me. There are two main channels, #eclipse (for everyone) and #eclipse-dev (for committers).

For those who don’t “get IRC,” well, it’s the way it works in open-source. Open-source users these days expect to find help on IRC from open-source projects. Having a strong presence on IRC tends to be equated to having strong community outreach (when is the last time someone said something bad about Gentoo‘s community?) I would love to see more CDT and PDT people on IRC as there are a lot of questions that go unanswered in this area. It’s also a good opportunity to get to know your fellow committers.

In the end, I mean, even Wayne managed to get things working, and he doesn’t get IRC at all 😉

The More You Know…

In the spirit of those “The More You Know,” commercials and my insatiable need to spread Eclipse knowledge, I want to talk about something cool I stumbled across recently. If you ever visited the EMF website (or any Eclipse Modeling related project) you may have noticed that there seems to be a nice consistency to all the download pages of the various components. There are also cool tools Release Notes. Imagine being able to see every bug that goes into a build, cool huh? There’s also something called Search CVS which allows you to search CVS commits quickly. Ideally, this is something I would like to see more Eclipse projects adopt, as having a unified download page along with some cool infrastructure around it is awesome. As a person who had the pleasure to work in release engineering for a short period of time, having a standard set of build scripts and infrastructure would help greatly (I mean, how many times can you write code that generates an RSS feed for builds… I mean… come on!). To do my part, I will at least make it easier to generate simple automated builds in the future.

Is a new project proposal in order, who knows, not sure how many interested parties are out there… Unfortunately, release engineering is one of those things people don’t care about until there’s a crisis. This is a bad attitude to take, as release engineering is completely critical to the success of a software project. It is the fundamental building block of ensuring the adoption of your project.

On the other hand (I have to admit), I have an ulterior motive in blogging about this, Nick Boldt has done some good work in this area particularly, and this is my way of getting him to blog more about his excellent work.

Europa Coming Along

This morning I had to setup an Eclipse installation to demo Europa for some new interns and I was elated to see that some of the projects are using the updated welcome framework feature.

I wasn’t too excited to see nothing from DTP, WTP, EMF, GEF :/

I think for next year’s release train, we should shoot to make it a requirement for people to add welcome content to help with initial usability.

SWT_AWT Love

Gordon Hirsch has written an informative article at Eclipse Corner on how to deal with Swing/SWT integration, check it out! The article does a really good job covering the nuances related to Swing/SWT integration… it covers most of the topics that made me scream profanities (e.g., @#$%ing focus!). Thank you Gordon for the great resource!

Contacts on a Plane

On the plane to Boston, I managed to fairly quickly implement something I’ve wanted in a messaging client for years, the ability to quickly browse and message a contact via a keybinding to prevent the usage of the mouse (similar to how Ctrl+Shift+T in Eclipse rocks).

I implemented this feature for ECF (which is becoming my main chat client since it’s nice to have it all within Eclipse). How did I do this? Well, I used the wonderful FilteredItemsSelectionDialog from the Platform. And by wonderful, I mean it was wonderful once I got everything working 😀 I then took advantage of the new Platform Command Framework to wire things together (there was a PDE template that helped me with this). Look for this functionality post 1.0 ECF. I encourage people to file bugs and feature enhancements against ECF to make it more fully-featured.

Eclipse Jobs

I was prompted to post this after one of my good friends from college just finished his Masters of Computer Science and was asking me how to get a job that would let him work on something Eclipse-related (although, by Eclipse-related, I think he means someone to let him play World of Warcraft all day).

I’m not sure how many people are aware of this, but there is an Eclipse employment newsgroup. I tend to monitor this newsgroup quite a bit… if you want a job to work on something Eclipse-related, this would be one of my first stops. Great companies from the Eclipse eco-system tend to post jobs here.

In the end, it’s easier than applying for a job at IKEA 😀

Babel

It looks like their is a new project proposal to help with the translation issues Eclipse has. I hope we have something like the Ubuntu translation tool to help with translations in the future. This could open new doors for more contributors in the Eclipse community (you don’t have to be just a coder to contribute!)

Target Definitions

I tend to joke around with Wassim that PDE has certain things that only one person (hi Jeff) in the world uses. A good example of that is Target Definitions which people only come across accidentally when trying to create a Product Configuration. Why is it that only “one” person in the world uses Target Definitions? Is it a doc problem? Maybe, but it’s my opinion that feature adoption always comes down to evangelism via proper channels. However, that’s another discussion, back to Target Definitions 😉

In simplest terms, Target Definitions allow you to manage your target platform in ways you didn’t think was possible before. For example, you may be developing a product or component that only needs a specific set of plug-ins or features. As an example, let’s say you were a handsome developer working on the new Equinox provisioning effort. As a new Equinox provisioning developer, you know that you don’t need the whole SDK checked in your target platform so you used to manually check plug-ins that you didn’t want included. That kind of sucks…. as a smart Equinox provisioning developer you decided to create a target definition that would represent the target you are developing against (provisioning).

Once you do that, it’s easy to craft your target platform the way you want and also share that target platform with your fellow provisioning developers (since target definitions are contained in a shareable .target file).

That’s Target Definitions in a nutshell. I tend to use Target Definitions frequently when working with products that serve as platforms and I’m working with a component that exists on top of a product. So now that you know about them, go use them and file some bugs (or enhancements).

Simple GEF Example

I just noticed Anthony Hunter from the GEF/GMF team posted a simple GEF 3.3 example. This should be helpful for people looking at an updated example (it also demonstrates how to use the same code in an RCP application).