Twitter github

Posts Tagged with “ecf”

Kinds Words About ECF

I have to admit… I’m an addict to Google Alerts… I have a lot of alerts setup… with a few of them around Eclipse. I saw this blog post fly by yesterday:

Recently I finished (in so much as any software I develop is actually ever finished) a tool that allows bulk jACT-R model runs to be submitted to a remote server. All in all, it was an amazingly painless experience made possible by ECF, a protocol neutral communications library in the latest release of Eclipse. To be completely honest, while I’ve had dreams about this tool for a long time, it wasn’t until I saw the webinar for ECF that I realized just how feasible this project was.

Before I present my gripes, let me just say that the folks behind this project have done an awesome job. It took about a week to get this whole tool up and running. But there were some headaches, mostly due to documentation (availability, when it’s there it’s good) and mental model mismatches.

It’s always nice to hear fellow developers out there adopting your work and generally being happy with it. For the documentation problem, rumor on the street is that an ECF book will be started soon so that is good news for people craving more documentation.

Good job Scott Lewis and other fellow ECF’rs πŸ˜‰

Resizing Images using SWT

I was toying with ECF today along with those new fancy custom tooltips.

In the process of doing this, I was dealing with images obtained from google’s GTalk server and they were coming back in crazy shapes and sizes. I thought to myself, it can’t be that hard to resize images, lo’ and behold… it really isn’t… here’s a code snippet to do it (may not be the best way, but it works):


private Image resize(Image image, int width, int height) {
Image scaled = new Image(Display.getDefault(), width, height);
GC gc = new GC(scaled);
gc.setAntialias(SWT.ON);
gc.setInterpolation(SWT.HIGH);
gc.drawImage(image, 0, 0,
image.getBounds().width, image.getBounds().height,
0, 0, width, height);
gc.dispose();
image.dispose(); // don't forget about me!
return scaled;
}

Now all I need to figure out is how to make those new fancy custom tooltips even better. I have a usecase where I want a user to click that tooltip, if so, leave the tooltip open and allow the user to click possible hyperlinks and close it manually later on. The reason I want to do this is because I want to allow people like the Mylyn folks maybe to plug something in where they could have a hyperlink to show relevant tasks on a user.

ECF 1.0.2

I’m so filled with joy that ECF 1.0.2 was just released last night. To grab it, go to the downloads page or point to the update site. The release contains quite a few fixes, but I have to admit, a lot of the fun stuff will be coming in 1.1 πŸ™‚ Thanks to all the participants in BugDay that helped out, a good portion of the fixes in this release came from BugDay. It was really great to see the Eclipse community support the project with contributions in the form of bug fixes and ideas.

Eclipse BugDay Results

Sorry for the delay in writing up the results, but I’ve been on a plane and without my luggage for the last 36 hours (albeit in beautiful Verona) Now to the results…

Thanks to everyone who participated in BugDay this time around. For some statistics:

  • 5 participating projects (ECF, WTP, Mylyn, PDE, Platform Ant)
  • ~10 contributors
  • ~125 bugs tagged as bugday bugs
  • ~22 bugs fixed
  • 10 of these bugs made it in Eclipse 3.4 M1

For the first time around, I’m very pleased with the results. To be honest, I just expected me participating in bugday and maybe fixing a WTP bug in good spirit (all while Wassim makes fun of me for the idea of a bugday). However, the community turned out and fixed issues for the purpose of just helping out or fixed issues that have long bothered them in Eclipse. I think the willingness to help just reflects on the great community we have in Eclipse and also shows that the open-source model of development can be very beneficial if done right.

There were some lessons I also learned:

  • It’s nice to have a specific time for people to log onto IRC and chat with committers (this is tricky due to timezone differences though).
  • Make sure that the bugs aren’t too hard that are marked as bugday. This was the big reason why the helpwanted keyword was so useless for new contributors.
  • Attaching relevant Mylyn contexts to bugs was helpful to some
  • Some people didn’t like the concept of BugDay and made it a BugWeek (thanks Peter)
  • Having specific bugs marked as bugday causes people to contribute time even outside of the official bugday!

Thanks all again. The next bugday will be August 31st 2007. If you’re interested in participating, check out the FAQ and make your interest known on the wiki (or on relevant bugs).

ECF on EclipseLive

Just to let people know, Scott Lewis and I will be doing a webinar on ECF next Tuesday. We plan to go through a lot demos as part of the webinar as ECF has a lot of cool things inside of the project that are hard to find out about from the outside. We’ll also go through a cool little sample application that was developed for the webinar. I’ll be mainly channeling Chris Recoskie from the CDT Webinar as the guy who helps out on the chat while Scott does most of the demoing πŸ™‚

If you want to see anything in particular, let us know and we’ll try to accommodate!

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.

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.

The Welcome Framework and Europa

That zany UA team was at it again with a new feature for Eclipse 3.3 which I think Eclipse projects should take advantage of. The feature provides you a way to introduce your project to a user when the project is installed say via an update site. A good example of this is what I’ve done with ECF.

Basically when ECF gets installed, you get the welcome framework notifying you that a new “feature” has been installed by highlighting a relevant welcome entry. It would be nice if all projects part of the Europa release would do this (however, this now raises the question whether we need some coordination between projects to be more careful about the wording that goes on the welcome page). Mylar? CDT? TPTP? Who is in?

Also, notice that the ECF welcome entry is missing a beautiful icon. It would be great if someone in the community would donate some of their time and provide a welcome icon. That would be fantastic and I would owe that person a frosty beverage, please use this bug as a point of submission (if you want to create more icons, here’s another bug, you’ll save Russia from blindness if you do ;p).

Eclipse, IRC and ECF

In the honorable tradition of me trying to get more Eclipse people on IRC, I’d like to announce that the ECF team has come up with a cool IRC bot that could be useful for committers. Besides the coolness of being built on all Eclipse-technology (it may be the first OSGi-based IRC bot; the hell with eggdrop and its Tcl scripts), it has useful features that are described on an Eclipse wiki entry. The current Eclipse committers on IRC use the bot as a way to quickly communicate with Eclipse newcomers on common questions or even as an easy way to get at Eclipse bugs.

Call me an old school open-source developer, but I like my IRC and IRC bots (especially when they are Eclipse-based) πŸ˜‰