Much ado about scripting, Linux & Eclipse: card subject to change


Beyond Compare 3: Image Compares

Just discovered this feature in Beyond Compare 3 today: image comparison w/ visual differencing.

For the center panel there are three different colouration / difference modes, plus the option to ignore unimportant differences. Very cool.


EclipseCon 2009 T-shirt Design Contest

The Eclipse Foundation is holding a contest to design a new and improved committer t-shirt to give away at EclipseCon 2009. Anyone can participate and all ideas are welcome. Help us make the Eclipse community a better-dressed place!

Design Guidelines

  • All designs must be original work -- unlike past contests, you cannot borrow from movies or TV.
  • As with all contributions to Eclipse, your submission will be licensed under the EPL.
  • The maximum image size allowed is 30x30 cm / 12x12 inches / 1800x1800 pixels.
  • Designs can be in colour or black & white.
  • If you want to incorporate the Eclipse logo, various formats can be found on the artwork page.

Design Format

Since we want to open the t-shirt contest to creative people of all graphic design skill levels, we are using Zazzle as one of the submission format options. To create a custom t-shirt:
  1. Go to and click the Create tab at the top
  2. Choose a shirt style
  3. Add images and text to create your design
  4. Click the Post for sale button in the bottom right and sign up for an account

You are also welcome to use Photoshop, GIMP or any other graphics program to create a design in .jpg, .gif or .png format.

How to Enter

Submit your image as an attachment in .jpg, .gif or .png format to bug 256495, or enter a link to your Zazzle creation on the bug.

The deadline for entries is January 12, 2009 at 4:00 pm EST.

Note: Individuals are allowed to submit multiple entries, but only one prize per person will be awarded.


  • 1st place: a Flip Mino video camera, an Eclipse jacket, and your winning design worn by hundreds of grateful committers at EclipseCon
  • 2nd place: an Eclipse fleece
  • 3rd place: an Eclipse shirt

Finalists will be chosen by a community vote and the winning shirt will be selected by the Eclipse Foundation. Community voting will take place January 13-26, 2009, with results posted here.


  • Please keep bug 256495 for submissions only.
  • To provide feedback regarding submissions, post comments on this blog.
  • Questions? Email tshirt at

Eclipse Photoshop Challenge: "Better Than MovieOS", Part 3: Stop - Voter Time

Seven submitters. Twenty-two submissions. Five winners, chosen by you.

Vote now for your favourites!

Polls close December 5, 2008 at 4:00 pm EST.


If you type Google into Google you will break the internet...

While that may not be true, searching for a blog search with Google can yield rather loud effects:

Query for

Is there a MIDP 2.0 Music Player that does Ogg?

Having switched from ubuntu to Fedora and from .mp3 to .ogg and .flac, I've been looking for a player for my Sony Ericsson W810i... at least until such time as I finally settle on a Blackberry.

Here's what I've tried...

  • jorbis 0.0.17 - unusable UI (won't play); sources provided (no precompiled binary) won't compile with anything less than JDK 1.3; my phone requires CDC-1.1/MIDP 2.0, so this one's a non-starter
  • jOggPlayer 1.1.6s - works on linux with .ogg; ugly UI; won't compile locally with CDC-1.1 (no JApplet class) or JVM 6.0 (missing* classes in source bundle); precompiled binary won't install on phone
  • jlGui 3.0 - works on linux with .mp3 and .ogg; WinAmp-skinnable; requires JDK 1.4 (won't install on phone)
  • jlGui 2.x - requires JDK 1.3
Does anyone know of a good .ogg or .flac player for MIDP 2.0 devices? None of the ones I tried above work.

SQL Tribbles

We've got tribbles clogging up the inter-tubes, Captain


Gmail Themes

GMail adds themes! Wow. That's... uh, great. My favourite has to be the green-screen vax-like one. I'm sure the PINE/Mutt camp will be happy.

Entertainingly retro, but is it useful?


HOWTO: Use the p2 Update UI to control where you install

A few months ago, I wrote about using the p2 director to control where you install plugins & features.

Here's the other approach I mentioned in that article -- using the p2 Update UI and a little filesystem trickery.

  1. Use the p2 Update UI (Help > Software Updates... > Available Software) to install what you want. When prompted to restart, click No -- DO NOT RESTART OR APPLY CHANGES.
  2. Open a console window and run ./ foo 10 to move all plugins and features created in the last 10 minutes from ./plugins and ./features into ~/eclipse/eclipse-plugins-foo, then link them from ./dropins/

    Note that the name, foo, is arbitrary -- it can represent the specific feature set you just installed (eg., "jet" for JET plus dependencies) or it could be something generic like "team", where I've got plugins for Mylyn, Tasktop, Subclipse, CVS, JIRA, and Bugzilla. You can also add/replace plugins & features in an existing folder by running the script again.

  3. Use the p2 Update UI (Help > Software Updates... > Revert Configuration) to revert the changes you just installed by selecting the timestamp of the configuration from BEFORE you installed the plugins & features in step 1.

    Since you moved the files when Eclipse wasn't looking, it simply removes the p2 metadata, but can't delete the plugins and features.

  4. When prompted, restart Eclipse. On restart, the new plugins & features will be loaded.

Because the new plugins & features are not in the Eclipse root, you can now use those plugins with multiple versions of Eclipse -- just copy the file into another Eclipse's dropins/ folder.

This is perfect for testing milestone builds without having to reinstall everything each time.

Of course it's so easy to do this in shell script I have to wonder why p2 can't do it under the covers so we can get back the old functionality from Eclipse 3.3...


Eclipse Photoshop Challenge: "Better Than MovieOS", Part 2: Teaser

There are just under 26 hours left to get in your submissions for the "Better Than MovieOS" Photoshop Challenge, but we've already gotten some great submissions.

We'll be announcing the winners early next week, as well as details on the next contest which will run though January 12, 2009. Details to follow. 'Till then, here's a teaser:

Play For Schwag

Anybody searching for action?
Anything to fill your empty wardrobe, yeah
Any place you've got a 'puter
Any takers wanna submit their designs?

With the fire and lightning shooting from your hands
And creativ'ty written 'cross your eyes
Your itchy fingers on a cordless mouse there
Your passion's hot and this contest's taking flight

Inside the convention
The cover charge's free for accepted talks
Now, I hear you screaming out for mercy
Last submission standing wins the fight

Too late and you'll be out, nothing you can do
Contest's done 12th January

Over the holidays
When you've got some free time
It's time to play because ya know Eclipse is you

If you win this time, you'll be the champion
And get a prize, HA, that's just impossible!

Do you play for keeps? Do you play for Eclipse?
Do you play to win? Do you play cuz it's fun?
Or play for schwag?

Megadeth - Play For Blood


HOWTO: Bluetooth for Linux (2)

Connecting a Thinkpad X200 to a Sony DR-BT30Q Headset

10 months ago, I went through this exercise on my old T60p. Almost a year later, now running Fedora 10 on an X200, it was still a pain to set up. Really, this should Just Work. It's too bad that some things in Linux are still overly complex.

Anyway, after much ado with outdated walkthroughs, I finally found useful advice for setting up my Sony DR-BT30Q Bluetooth headset to work with my Fedora 10 X200 Thinkpad.

First off, here's what I installed along the way before I finally got things working (/var/log/yum.log):

Nov 15 15:08:03 Installed: pidgin-rhythmbox-2.0-3.fc9.i386
Nov 15 15:15:42 Installed: autoconf-2.63-1.fc10.noarch
Nov 15 15:15:43 Installed: bluez-hcidump-1.42-2.fc10.i386
Nov 15 15:15:44 Installed: alsa-tools-1.0.17-1.fc10.i386
Nov 15 15:15:46 Installed: automake-1.10.1-2.noarch
Nov 15 15:15:48 Installed: alsa-utils-1.0.18-3.rc3.fc10.i386
Nov 15 15:15:51 Installed: alsa-lib-devel-1.0.18-6.rc3.fc10.i386
Nov 15 15:23:01 Installed: bluez-gnome-analyzer-1.8-8.fc10.i386
Nov 15 15:23:01 Installed: obexd-0.6-1.fc10.i386
Nov 15 15:23:01 Installed: bluez-gstreamer-4.17-2.fc10.i386
Nov 15 15:23:01 Installed: bluez-libs-devel-4.17-2.fc10.i386
Nov 15 15:23:02 Installed: pybluez-0.15-2.fc10.i386
Nov 15 15:23:03 Installed: bluez-alsa-4.17-2.fc10.i386
Nov 15 15:30:42 Installed: libbtctl-0.10.0-5.fc10.i386
Nov 15 15:30:42 Installed: gnome-bluetooth-libs-0.11.0-5.fc10.i386
Nov 15 15:30:44 Installed: gnome-bluetooth-0.11.0-5.fc10.i386
Nov 15 15:38:42 Installed: libtool-1.5.26-4.fc10.i386
Nov 15 15:53:49 Installed: 1:glib-1.2.10-30.fc10.i386
Nov 15 15:55:27 Installed: glib2-devel-2.18.2-3.fc10.i386
Nov 15 15:56:45 Installed: dbus-devel-1.2.4-1.fc10.i386
Nov 15 15:56:46 Installed: dbus-glib-devel-0.76-2.fc10.i386
Nov 15 16:43:17 Installed: python-alsa-1.0.17-1.fc10.i386
Nov 15 16:43:19 Installed: alsa-firmware-1.0.17-1.fc10.noarch
Nov 15 16:43:19 Installed: alsa-tools-firmware-1.0.17-1.fc10.i386
Nov 15 16:49:27 Installed: 8:arts-1.5.10-1.fc10.i386
Nov 15 16:49:28 Installed: libgadu-1.8.2-1.fc10.i386
Nov 15 16:49:30 Installed: kadu-
Nov 15 16:49:30 Installed: kadu-mediaplayer-
Nov 15 16:49:35 Installed: lash-0.5.4-2.fc9.i386
Nov 15 16:49:35 Installed: fluidsynth-libs-1.0.8-2.fc10.i386
Nov 15 16:49:36 Installed: libbinio-1.4-9.fc9.i386
Nov 15 16:49:36 Installed: lirc-libs-0.8.4a-1.fc10.i386
Nov 15 16:49:36 Installed: libsidplay-1.36.57-17.i386
Nov 15 16:49:36 Installed: kadu-audacious_mediaplayer-
Nov 15 16:49:38 Installed: audacious-plugins-1.5.1-2.fc10.i386
Nov 15 16:49:41 Installed: audacious-1.5.1-4.fc10.i386
Nov 15 16:49:41 Installed: audacious-plugins-arts-1.5.1-2.fc10.i386

I didn't end up needing to compile btsco from source (which is good since it wouldn't compile!), but I'm sure some of the stuff installed above is required or will be useful eventually.

What did work was this:

  1. Put device into pairing mode. Use Gnome's Bluetooth Applet to connect to new device.
  2. Use hcitool to verify bluetooth radio is working, then discover the headset's MAC address.
    # hcitool dev
     hci0 00:22:44:66:88:00
    # hcitool scan
    Scanning ...
     00:11:22:33:44:55 DR-BT30Q
  3. Create ~/.asoundrc file:
    pcm.bluetooth {
       type bluetooth
       device 00:11:22:33:44:55
       profile "auto"
    pcm.bluetoothraw {
       type bluetooth
       device 00:11:22:33:44:55
    pcm.bluetooth {
        type plug
        slave {
            pcm bluetoothraw
  4. Install audacious.
  5. Start up audacious. Right-click and select Preferences > Audio > Current Output Plugin > ALSA Output Plugin.
  6. Click Output Plugin Preferences, then under Device settings > Audio device enter "bluetoothraw".
  7. Turn on headset if not already on.
  8. Start playing!


New & Noteworthy: Marketing Your Hard Work

There's been a lot of talk lately in cross-project-issues-dev@ (search for "must-do") about the relative merits of having a set of enforced rules for participation in the annual release train.

If you'd like to void an opinion, here's a poll.

Re: the requirement for more frequently updated New & Noteworthy documents, I'm amazed how many people object to being told they need to better market their projects. Really, that's all a N&N is -- a digest of what's important to convince people to upgrade to your latest efforts. (In Modeling we employ a mix of manually created copy & screenshots w/ automatically-generated lists of bugs closed by milestone, release or individual build.)

If project leaders & committers don't see value in writing marketing copy to showcase their efforts, then why do their employers see fit to pay for marketing/branding/sales people to sell their products? Given that sales people are driven by dollars, would they bother if it didn't work?

Bottom line: Believe in what you do, trust that it has value, and talk it up once in a while. Sure, it's effort, but it's worth it.


Closed for maintenance? Really?

Went to finally update my LinkedIn profile to reflect last month's change of employer, and I got this:

Why do sites still think it's acceptable policy to shut down for maintenance? I'd hoped that practice had become taboo ages ago, along with the <blink> tag.


xorg.conf: Fedora edition

After installing a Fedora 10 preview spin on my new Thinkpad X200 last week, I got to learn yet another way to generate and test an /etc/X11/xorg.conf file. Every time I upgrade my OS, my xorg.conf file gets simpler. I expect one day I won't need one at all!

Where in the past for *ubuntu I've used dpkg-reconfigure -phigh xserver-xorg, with Fedora I needed to discover a new way. Here's what I did.

  1. First, run man startx to see a sample /root/.xinitrc file
  2. Next, create a /root/.xinitrc file
     xrdb -load $HOME/.Xresources
     xsetroot -solid gray &
     xclock -g 50x50-0+0 -bw 0 &
     xload -g 50x50-50+0 -bw 0 &
     xterm -g 80x24+0-0 &
     screenruler &
  3. To generate a new config file, you can run:
     startx -- :2 -configure
  4. To test a given config file (other than the default, /etc/X11/xorg.conf):
     startx -- :2 -config /root/

The above steps let you be booted graphically @ default resolution, then switch to another vt (CTRL-ALT-F2, for example), log in, and try a new xorg.conf on a different video port without affecting your running instance. To kill a trial X, use CTRL-ALT-BkSp. To switch from vt2 to the existing graphical instance, use CTRL-ALT-F1 or CTRL-ALT-F7 (it should be on vt1 or vt7).

Once I was statisfied that the xorg.conf file worked, I rebooted. On restart, using xfce or gnome, I can now graphically switch from laptop @ 1280x800 to 24" external monitor @ 1600x1200, or run both screens at 1024x768, eg., for presentations.


Request For Comment: The End Of SDO?

Four months ago, I started a discussion about simplifying the EMF download experience. Consensus appears to be that we should keep the EMF-SDO-XSD "All-in-one" SDK zip, perhaps more.

Now, a new proposal is in the works: removing SDO from the EMF build, and from this year's coordinated release, Galileo. The source would still be in CVS, but we'd stop providing SDO binaries. This would also mean the much-loved* EMF-SDO-XSD "All-in-one" SDK zip would be renamed to EMF-XSD "All-in-one" SDK, but would otherwise continue as is.

For more on this topic see:

EMF 2.5 - Simplified Downloads (bug 240223)
Remove SDO from Galileo (bug 251402)
Consider improvements to the termination process (bug 249408)

To voice your opinion, please post your feedback in any or all of the three bugs linked above.