Twitter github

PlanetEclipse Stats (Part Deux)

I posted some PlanetEclipse statistics awhile ago. Since Alex rained on my parade ;p, I figure I would give people an update that covers up till last June.

I’m personally happy with the increase in bloggers. One of my committer representative items was to get more committers blogging, that looks like it’s going well. If you want more information, let me know and I’ll try to get it into the stats. I’ll let you know how next month turns out!

Eclipse BugDay

Ok, I’ve finally done it… I’m putting together a bugday for Eclipse! The first bug day will be July 27 2007. Don’t know what a bugday is? Please check out the FAQ.

Note, this will be a small experiment first to see how things go. If we get a lot of contributors from the community stepping up to participate in bugday, we’ll continue having them and expand the number of committers that participate!

If you’re a community member and ever wanted to have code included in an Eclipse release, well now is your chance 🙂 Check out the FAQ to learn how to participate. It will be as simple as picking certain bugs (these are keyworded as ‘bugday’ ) chosen by the projects participating in the first bugday. Don’t worry, these bugs are geared for first time contributors. For example, ECF has a bug that wants to add a default IRC server. WTP has a bug to reorganize the location of some wizards. If you’re interested in any of these bugs, please let the bug authors know in the bug and update the wiki with your intentions.

Other than that, I hope some people choose to participate as the Eclipse Foundation has offered some swag to the first participants of bugday. Feel free to ask me any questions via email or on this blog via a comment.

Also, thanks to everyone on IRC that has helped put this together (Nitin, Remy, Paul, Kim), couldn’t do it without you guys.

Tales from the Crypt

Sometimes, while browsing source code, you come across things that make you think twice. While working on an enhancement recently, I came across this snippet:

public static boolean canWrite(File installDir) {
if (installDir.canWrite() == false)
return false;

if (!installDir.isDirectory())
return false;

File fileTest = null;
try {
// we use the .dll suffix to properly test on Vista virtual directories
// on Vista you are not allowed to write executable files on virtual directories like "Program Files"
fileTest = File.createTempFile("writtableArea", ".dll", installDir); //$NON-NLS-1$ //$NON-NLS-2$
} catch (IOException e) {
//If an exception occured while trying to create the file, it means that it is not writtable
return false;
} finally {
if (fileTest != null)
fileTest.delete();
}
return true;
}

It seems Vista has a really stupid problem in regards to writing executable files. I was aware of the new virtual directory madness in Vista, I didn’t know of this particular workaround. I guess you learn something new everyday 😉

Equinox and Security

Well, from the looks of it, Equinox will soon have code checked in to deal with security (ie., JAAS,Login,JCA,etc…) support. This is great news as this is one of the most requested features when I’m at conferences and people talk about security and Eclipse. The tricky part will be how to integrate some of ECF‘s concepts into what is produced… I guess this could be discussed at the Equinox Summit in (insert kind words to describe Ottawa in September) Ottawa.

We’ll see where this code takes us in 3.4 🙂

The Awesome Button

I don’t know if people had this experience, but searching on help.eclipse.org was painful for me (by painful, I mean I couldn’t find anything I wanted quickly). I recall requesting the UA team implement a feature in the 3.3 cycle that involved grouping search results. Lo and behold, the team just did that:

Thank you UA team!

Polar Water Bottles and 3.3 Menus

A few days ago, I created a new icon using my rudimentary graphics skills:

I was inspired by my recent ‘Open Contacts‘ work (I hope the icon quality is good enough, noone seems to take me up on my GraphicsZilla idea ;p)… and now that I had the icon completed, I released my code so you have a pretty menu and toolbar entry:

How did I do this? Well, I could’ve been lame and used actionSets, but I decided to try out the new Platform Command Framework because I’m a big fan of learning new things. After looking at the wiki page, I was a bit depressed at first because it looked like a lot of work to get my pretty little icon where I wanted it 🙁

Never fear though, PDE was there for me like always with a new template for the 3.3 edition.

After looking at the code generated by the template, I had a better idea of how to work with the new command and menu story. The trickiest part was the locationURI attribute on the org.eclipse.ui.menus extension point. For the menu entry (pictured above), the locationURI was menu:navigate?after=open.ext3, which means insert me into the navigate menu (see IWorkbenchActionConstants for valid identifiers) after the open.ext3 group. For the toolbar entry, the locationURI was different, toolbar:org.eclipse.ui.main.toolbar?after=additions.

That wasn’t too bad right :)?

On a side note, as part of my “not to gain a ton of weight while working in the software industry” diet, I like to bike about ~100 miles (~160 km) a week. In the Texas summer heat (100F / 37C), nothing is more precious than cold water for me 🙂 These new polar insulated water bottles seem to do a really good job keeping the water cold for a typical 2-3 hour ride in high heat.

GANTT-tastic

Since I’m having a bad day (can’t find my beloved BlackBerry in Austin), I figure I would spread some love to the Eclipse community. It looks like there will be some new widgets coming into the Nebula project soon (after they pass IP review of course, thank you Emil!). My favorite of the three new widgets is the Gantt one 🙂

PDE + 1

The PDE family is growing! One of PDE’s beloved committers, Brian Bauman, is a brand new father! Say Hi to Trent!

Europa Article

I forgot to mention an article I did on Europa was posted. I went around and asked committers from various projects what they thought their project offered for the Europa release. Let me tell you, getting quotes from every Europa project wasn’t easy. I don’t know if I will be able to handle it next year for Ganymede, at the current pace, Eclipse seems to be doubling the number of projects on release trains (in Callisto there was 10, in Europa there was 21).

Thanks to everyone who provided a quote! I owe you a beer at the next EclipseCon.

Community-Driven Commercial Development

Reading Vineet’s blog post about Community-Driven Commercial Development yesterday had me thinking about a potential problem with this development approach. First off, I think there needs to be a training class on how people should build development communities and interact with an open community.

Why? From my experience, people from a commercial development background tend to have a harder time working in open communities. There are really no managers out there in open communities, you’re typically on your own. There’s no climbing up the chain of people to force someone to do something. In open-source communities, you tend to be on your own and need to learn some skills to help your project survive.

I hate to admit this, but I’ve seen a few examples in the Eclipse community of new projects (that will remain nameless) with developers (commercial backgrounds) come in and do a poor job of building a community. Some concrete examples are not responding to inquiries of people willing to help on newsgroups or even just being downright mean in bugs. On the other hand, I’ve seen many great examples in Eclipse of community building. For example, I remember when Boris Bokowoski was helping this guy named Tom Schindl. For people who don’t know Tom, Tom was responsible for a lot of JFace improvements in 3.3, and without Boris’ patience and willing to help, this wouldn’t have been possible. I’ve also seen many great examples of community building around Eclipse’s Summer of Code program.

As members in the Eclipse community, how do we fix this problem? Is this something even fixable, or some people just better at community building than others? Should we have something part of our committer bootcamp to help new committers? In the end, the ability to build a community around your project is paramount, because the community is the lifeblood of your project.