Twitter github

GeeCon 2010

I’m totally behind on the blogging but last week, I had the opportunity to talk about EclipseRT at GeeCon held in majestic Poznan, Poland.

One of the coolest things about the conference was that it was held in a movie theater. What does that mean? You get a gigantic screen to do your presentation and demos on!

From now on, I’m a huge fan of any conference or event that uses movie screens. Anyways, it was great meeting the Polish Java community, I was stopped repeatedly to discuss Eclipse and OSGi related things. It was also great to catch up with a couple Red Hatters who were at the event from the JBoss side of the world.

In the end, thank you conference organizers for a great conference and I look forward to next year.

Things I munched on in Poland…

When I travel, I’m generally a fan of all things food and drink. In my dream of living as Anthony Bourdain for a day, I decided to sample the variety of culinary delicacies in Poland. My first stop as with any place I generally visit is to get some local beer. In Poznan, there was a great brewery in the city center… they have a great Hefeweizen that I was a fan of…

For breakfast, all I had to do is see this and have some… I mean… come on…

The next culinary destination was ogórki ze smalcem. Apparently this was a meal popular with peasants and other common folks… essentially it’s pickles and lard you spread on bread. At 8 zloty ($2 USD), this dish could have fed a small army.

Next on the list was some plums wrapped in bacon… I mean… anything wrapped in bacon is delicious… it’s the chocolate of meats…

The other item I ate was Sledzie. This was an item I avoided in my youth as I just don’t do pickled fish. My mom would be proud to know that Sledzie was offered for free with every shot of vodka you took (a sign of a great food apparently).

And to top off any meal in Poland, no better way to do it then with some Polish vodka.

In the end, I loved my culinary adventure in Poland.

API Usage Scan against Helios

Last year, I did a API usage scan against Galileo, well this year, I’m happy to report I have done the same against Helios M7.

How else am I going to build my naughty or nice list this year?

What type of things that an API usage scan can find? Well, let’s look at an example by looking at who references org.eclipse.core.contenttype

It looks like PDT is referencing some internal code from org.eclipse.core.contenttype when it probably shouldn’t be. Not to blame the PDT only, but there are many other Eclipse.org projects referencing internals…

I encourage Eclipse.org projects that are shipping part of the Eclipse Helios release to look at the API usage report. While there are valid reasons sometimes to access internal code, there are many times that internal code is referenced when there is a perfectly fine set of API available. On top of that, being API clean is going to be important when migrating to Eclipse e4.

Daisy 5K 2010

This morning I had the opportunity to run the Daisy 5K hosted by Austin Runners Club (ARC).

After two weeks of travel, I’m at least happy to report I can run a sub 20 minute 5K. I ended up finishing in 19:45 and finished third in my age group. That’s about 90 seconds away from my PR so I have a lot to do to get back on the running wagon. On top of that, I signed up for three 60K trial races in the Austin area. I’m looking forward to training seriously again now that my travel is going to die down quite a bit. Anyways, kudos to ARC for another superbly organized race.

e4 @ Poznan JUG

Last Tuesday, I had the opportunity to speak at the Poznan JUG.

I cobbled up a presentation and demo about Eclipse e4 with the help of Boris Bokowski and Lars Vogel…

There was a lot of interest in e4 and people said they learned something new so I’m pleased. I also had the opportunity to meet Geertjan Wielenga from the Netbeans side of the world. He gave an interesting presentation on the status of the Netbeans platform and where they are headed. Good to see that Netbeans finally cares about OSGi… we had our own module system back in the day at Eclipse and realized that it’s better to just adopt a standard than hold onto your own. Anyways, kudos to the Netbeans team exposing OSGi to their user base. Ed Burns gave an interesting talk about the history of user interfaces and ways to classify them via an ontology, fascinating stuff.

On the whole, a special thanks to Adam Dudczak and the rest of the Poznan JUG team for the invite.

b3 aggregator powers Helios

Yesterday, Henrik Lindberg had a great in depth blog post about the b3 aggregator. On top of what Henrik already mentioned about the b3 aggregator, most people don’t realize that it’s really one of the unsung heroes of the Eclipse simultaneous release (David Williams being one of the other heroes). As part of the Eclipse Helios release, the b3 aggregator combines repositories from various projects into a new aggregated p2 repository that everyone is familiar with when they open their Eclipse and point to: http://download.eclipse.org/releases/helios

It’s amazing enough that we are able to ship 40 or so disparate projects on time this year as part of the Eclipse Helios release but having the b3 aggregator helps make things easier. I highly recommend looking at the b3 aggregator if you’re interested in building targets or mirroring a complex set of repositories. If you want to dive a bit deeper on how the aggregator is used as part of the Eclipse Helios release, I’d recommend taking a look at the Helios build project and in particular, the helios.build file…

And to think… in a little over a month we will ship another successful simultaneous release at Eclipse! What other open source community out there can say the same? It’s really something to be proud of in my humble opinion.

Speaking at Poznan JUG

I’m excited to be heading back to the motherland next week.

My main focus will be GeeCon, however, I got invited to present at the local Poznan JUG with some other folks. I was initially going to talk about API evolution and management but I got roped in to talk about e4. While I’m no Boris Bokowski when it comes to e4, I’m sure I can educate and entertain people for around 30 minutes on where the the Eclipse platform is headed. So if you’re in the area and want to learn a bit more about e4, please consider attending!

I’m also thrilled to meet Dariusz Luksza in person who is currently being mentored by Matthias Sohn (SAP) and the EGit team for Google Summer of Code 2010 at Eclipse. He’s doing some great work around adding tagging support to EGit and will be focusing on the synchronize view soon along with the rest of the EGit team.

Anyways, see you in Poland next week!

SWTBot and Eclipse Forms

When it comes to user interface testing in Eclipse, I’m a big fan of SWTBot. I had some long plane rides recently and a need to add some functionality to SWTBot so I decided to see if I could tackle an outstanding feature request in SWTBot to add Eclipse Forms support. On top of that, I also had a selfish reason to learn more about the internals of SWTBot. After forking Ketan’s copy of SWTBot on GitHub, I pushed my changes which adds an SWTFormsBot class as the primary handle to drive user interface tests.

So your test code would look something like this…

public class SWTBotImageHyperlinkTest extends AbstractSWTBotFormsTestCase {
 
	@Test
	public void findImageHyperlink() throws Exception {
                FormView view = new FormView(shell);
                SWTFormsBot = new SWTFormsBot();
		SWTBotImageHyperlink link = 
                     bot.imageHyperlink("Image link with no image");
		assertNotNull(link);
		assertEquals("Image link with no image", link.getText());
	}
 
}

We’re looking to eventually integrate this into SWTBot proper, just pay attention to this bug if you’re interested.

Enjoy.

Cinco de Mayo in Mainz

This year, I spent Cinco de Mayo in Mainz, Germany. In Austin, I usually end up having a lot more fun due to our close proximity to Mexico so I had to make due of what I had in Germany. In preparation for the festivities, I knocked out a beautiful 17K run around the Rhine…

Afterward, it was all about securing a margarita to celebrate Cinco de Mayo. I ended up settling for a mojito because something about Frozen XXL Margarita didn’t sound appealing (Cuba is close enough to Mexico). In the end, my friends and I secured some Kaiserschmarrn for dessert… easily one of the greatest things ever… who knew caramelized pancakes could taste so good?

There’s Cinco de Mayo in Germany for you.

The Open Source Developer’s Dilemma

Over a couple frosty beverages yesterday, I had a lively discussion with a colleague about open source contributions from a developer’s perspective. In my opinion, open source developer’s have to walk a fine line when it comes to working with new contributors and not killing all of your time while doing it…

What do I mean here? Well, when you get a contribution it’s pretty rare that the contribution is just perfect and ready to be submitted to the main line. The reality is that you get contributions that generally need some form of tweaking before they are ready for the world. It’s the tweaking where things get interested. There’s two attitudes you can generally take.

The first position is you can simply be happy that you got a contribution in the first place and just make the necessary tweaks your self and push it to the mainline. The upside to this is that the contribution actually gets contributed quickly. The downside is that this consumes a bit of your time to polish the contribution and that you may also miss out on the opportunity on cultivating a contributor. The second position is that you can do a thorough review of the patch and force a contributor to polish the contribution to meet your standards. The upside is that your this may result in higher quality patches from contributors in the future. Heck, if contributors become really good, they may even make the jump to a full blown committer on your project. The downside is that patches may go stale because you may discourage contributors if you ask too much from them.

I’ve seen both approaches in a variety of open source communities. I’m generally happy just to get a contribution from anyone. I don’t think there’s a silver bullet approach in the way you treat contributors, you probably have to do things on a case-by-case basis. In the end, I felt like I needed to do a brain dump of the discussion I had yesterday. On top of that, I find the question of how to attract contributors without killing all of your time while keeping quality high… just fascinating.

What do you think about this problem… from either a developer’s or a contributors perspective?