Twitter github

Posts Tagged with “eclipse”

Eclipse Galileo Review

Since I have reviewed the past two Eclipse release trains, I’d figure I’d throw in my thoughts for Galileo.

In the last Eclipse annual release, Ganymede, there were 23 projects on the train. On the Galileo train, we have grown by 10 projects and are at 33 projects. In terms of enhancements, there are so many new things in Galileo that I’ll only talk about my five favorite things from the various projects.

SWT Cocoa

For Mac users, Eclipse 3.5 will be great since now it’s possible to use Cocoa as the windowing library. As a result of the Cocoa port, you can also run Java 6 since Apple has only provided a 64 bit Java 6 VM. Furthermore, you can even use the new SWT.SHEET style bit to make your Eclipse-based applications look more native on the Mac:

SWT.SHEET

In the end, it was amazing to see how quickly the Cocoa port was developed. I was one of the early adopters helped shape the port by quickly filing bugs with any issue I came across. I have to admit the first month was a bit rough as some of the crashes were very unforgiving, but hey, we’re past that now, right Kevin ;)?

Target Definitions

As PDE project co-lead, one of the biggest things we pushed for was for revamping the target management story in Eclipse. For many years, we had a terrible preference page where you just pointed to a location on disk and got your target setup. There’s really no way to manage that in any sensible fashion so the first step was to come up with a way to specify what composes a target platform. We came up with the concept of target definitions and bundle containers. Along with that concept, came a new editor that allows you to compose target definitions and share them with your colleagues:

PDE Target Editor

As a result, we also revamped the target platform preference page to be simpler and just list all the target definitions we can find:

PDE Target Platform

From early feedback, most people have been very pleased with the work that the PDE team did. All I can say is that in Eclipse 3.6, look for more improvements in this area. Our goal is to make bundle development as easy as possible for people!

API Tooling Enhancements

It shouldn’t be a secret, but one of my favorite projects at Eclipse is PDE’s API Tools. The main reason is that once you start building complex applications with OSGi, good version management tools are critical. The main reason for this is that people tend to treat versions as a marketing number and not an indication of contract. The travesty of how we treat version numbers in the software world deserves its own posting, so I’ll save that for later. API Tools helps us crafting the right version number based on the changes in our code. Add a new API method, well that will be a minor version bump for you! Break API? Well that will be a major version bump for you!

In Eclipse 3.5, the API Tools team added support for execution environment validation:

PDE EE Validation

This basically solves the problem of developing for a certain version of Java and using methods from a newer version of Java. Inside the Eclipse platform project, we’ve had many builds broken due to people doing this so we finally invested in creating the tooling to rectify the situation.

Another thing that was added was the ability to compare baselines within the UI:

PDE API Tooling Changes

You are now easily able to compare a bundle in your workspace with one in your baseline to see what’s changed. You can easily take a gander at what methods, fields and classes were added or removed.

In Eclipse 3.6, look for the PDE API Tools team to further improve the tooling and focus on package level versioning.

MAT

The Eclipse Memory Analyzer (MAT) project makes it debut this year as part of the Galileo train. In my opinion, it’s one of the hidden gems at Eclipse. In short, MAT will is the best heap dump analyzer out there. It has the magical ability of finding memory leaks. The best thing I can say is snap a couple heap dumps from your application and run it through MAT… see what shows up. Here are some useful resources to get you started:

Packages

We have two new packages part of the Galileo release which really representing Eclipse’s growing constituency of developers:

EPP Packages

There is a PHP Package now for the PHP community. It’s quickly becoming one of the more popular packages people download at Eclipse.org based on the stats. The other new package is Pulsar which was built specifically for the Mobile Java community. Pulsar is essentially a mashup of the Eclipse SDK and the Eclipse MTJ projects with the ability of downloading more tools from different handset manufacturers.

I wonder what next year will hold for new packages?

Thanks for reading and hopefully I’ll see you next year for the Helios release train πŸ™‚

Eclipse/OSGi enthusiasts in D.C.?

I’m in the Washington, D.C. area today and tomorrow doing some EclipseSource stuff.

washingtondc

Obama canceled our lunch plans, apparently he had some more important stuff to do.

If anyone is interested in talking Eclipse, Equinox or OSGi over a frosty beverage… let me know!

Twitter Bird…

So I was having my espresso-laden coffee this morning at the Whole Foods HQ and what do I see?

Twitter Bird

For a second, I thought the Twitter bird came to get me because I didn’t update my Twitter status within 24 hours… however, I decided to use this serendipitous moment as inspiration to let everyone know that Eclipse has a burgeoning Twitter community. Furthermore, you can follow the Galileo release on Twitter!

Personally, I was a bit worried that the Twitter bird was going to use my MacBook as a toilet…

Rock the Eclipse Board Vote 2009

Howdy committers, if you checked your email recently, you know what time it is… the annual Eclipse Board of Directors elections is going on!

I have the honor this year to be up for re-election as a committer representative. I’ll try to keep this short of why I think I should earn your vote but it boils down to my passion around Eclipse. I’m the guy who tries to attract new projects at Eclipse, I mentor a slew of projects and simply have the desire to see Eclipse succeed. My two main goals as a committer representative this year will be to look at getting DVCS support at Eclipse and making it easier for committers to provide input to the Eclipse BOD. While I was on the board, I helped setup a blog and newsgroup to allow for a communication channel between committers and the committer representatives. However, this has been mainly one way (recently Doug Gaff has done a great job of providing notes)… I think we can do better and have some ideas on how to do improve this communication channel.

Also, as Boris mentioned, in previous years, the turnout has been lower than desired so it would be great if you found the time to vote this year.

So what are you waiting for, go rock the vote!

OSGi’s 10th Anniversary

There was a nice press release about OSGi’s 10th anniversary yesterday. It’s amazing to see the technology go this far… especially when I consider the original mission of the Open Service Gateway initiative a failure. Back in the day, the promise was all about bundles in my car, internet-enabled toasters and refrigerators:


Ok, OSGi may not have revolutionized the home automation market, but it has indeed changed the software industry. In my opinion, it’s truly the first dynamic component system with a proper service model and versioning system. Once you have tasted modular software development with OSGi, it’s hard to do anything else. OSGi provides a way for you to setup boundaries and enforce them… this isn’t that easy in other systems. It’ll be interesting to see where the next few years takes us on the OSGi adventure…

Anyways… here’s to another million deployments and OSGi finally entering my household… let’s start with the fridge first please, I need bundles to control my caloric intake πŸ™‚

DS in the Eclipse SDK?

If you’re interested in the topic of having Equinox Declarative Services ship with the Eclipse SDK, check out this mail thread on eclipse-dev. There’s also a bug open you can follow.

It would be great to hear from the greater Eclipse community about this topic.

Software and the Recession

Well, it seems that the recession has hit local for me. A couple of colleagues working in the Google Austin office have been hit. I hope that my colleagues at IBM, Microsoft and other large companies do OK in the upcoming weeks. If there’s any condolences… we at EclipseSource are always looking for people who love Eclipse and OSGi. If you’re interested, feel free to shoot me an email. I’d also recommend checking out the Eclipse Employment newsgroup for potential job opportunities too.

On the bright side… I always subscribe to comedy as the solution in tough times. You know things are rough when Lolcats starts doing pictures on the economy:

Meow.

New EMF Book

I’m so filled with joy that I got my new copy of the EMF book:

It’s nestled in a nice comfortable place between the old EMF book and one of the BIRT books. I don’t know what that scary AJAX book is doing there… don’t ask.

In terms of book quality, I’m amazed at the amount of content that was packed into the new edition. If anyone remembers the first edition of the EMF book… the book was so good that the modeling guys managed to generate half the book’s content using EMF’s CodeGen facilities πŸ™‚

I’m happy to report that in the second edition, the authors opted more for a handcrafted approach. All that generated javadoc that was found in the first edition was replaced with world class content on validation in EMF, running EMF standalone, change recorders and many other fun EMF topics.

So what are you waiting for? Why not order the second edition of the EMF book and help fulfill Ed Merk’s impossible fantasy of retiring off of book proceeds πŸ™‚

Shirts and Workspaces

If you haven’t heard yet, the EclipseCon 2009 committer shirt contest is going on now (go vote!) Here are my three favorites… first we have the classic polo which can be used in any office or meeting setting:

Next, we have the XML/XSL shirt which I give bonus points to because I imagine only Dave Carver wearing it:

Finally, royal purple is always in fashion for me so here’s my final favorite:

On top of all this fun t-shirt selection, I’d like to point people to an excellent post by Emil Crumhorn discussing how to add the workspace chooser dialog in an RCP application. I’ve done this in the past and it was tragically hard if you weren’t using the IDE application in Eclipse. I hope that in the e4 timeframe, we look at making this easier for people as the concept of a workspace is still useful for RCP applications. The only difference is that RCP developers may expose the workspace selection in a different fashion and not even use the term, “workspace.”

Galileo Test Drive

I had fun test driving Galileo this weekend. Things are looking pretty good… it’s exciting to see over 30 Eclipse projects be part of the Galileo simultaneous release this year. Since Eclipse uses OSGi and has a great extensibility mechanism via the extension registry, we make it really easy for plug-ins to play together. This may sound great, but there’s a problem with seamless integration sometimes. For example, take a look at this screenshot from Galileo:

What’s the problem here? Well, it seems we have some people that think their contributions are the most important in the world. It happens, it’s very common for a developer to do something like this because it’s much harder to scope a contribution than to simply add one. I’m going to do my part and open bugs against issues I find… we’re lucky to have early access to Galileo builds so we can do a review like this. I heartily recommend that Eclipse committers give Galileo and early test drive and look for problems. By reporting and solving these problems early, we can make a better release for our consumers.

If you’re going over the Galileo release, why not take some time to go over the Eclipse UI guidelines too?