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


Desolé, temporarairement inaccessible

Three links to sign up...
-- none of which work.

Desolé, temporarairement inaccessible
-- Nice broken header graphic, too.


Bubbles, Labels, and Turkeys

Some random bits of amusement, all safe for work.


Your code is suboptimal!

Time to pay the bills. Thanks, Eric!

Your code is suboptimal!

In fact, it's patched...

... and buggy.

As always, the contents of this site are my own and don't necessarily represent IBM's positions, strategies or opinions. This post should not be construed as an endorsement of any of CodeGear's software, only of The Evil Mastermind and his minions.


50 Ways To Be A Modeler

The Eclipse Modeling Project stands poised on the precipice, ready to break the 50 committer mark, just in time for M4 the holidays.

Are you that 50th person? Send me your headshot and details, and I'll add you into the fold.

If you're already listed but your information is out of date (because you are now a committer for more than one project?) reopen bug 182613 with your updated info. If you've so far neglected to send me a photo, now's your chance!

And now... some musical encouragement:

The model is all inside your head
Ed said to me
The answer is easy if you
Take it logically
I’d like to help you in your struggle
For notoriety
There must be fifty ways
To be a Modeler

He said it’s really not my habit
To intrude
Furthermore, I hope my meaning
Won’t be lost or misconstrued
But I’ll repeat myself
At the risk of flak from Euge
There must be fifty ways
To be a Modeler
Fifty ways to be a Modeler

Paul Simon - 50 Ways To Leave Your Lover


EclipseCON 2008 News

I can't believe I'm the first person to blog this, but it would appear that the nominations are open for the Eclipse Community Awards, to be announced of course on March 17 at EclipseCON 2008. Bjorn, Ian, what up? Anyway, here's some handy links:

In entertainment news, my two release engineering talks have been accepted, so it looks like

I'm speaking at EclipseCON 2008!

If you're curious what I do to convert insomnia into productivity for the Modeling project's component leads, come have a listen:


The New 500% Better

Congrats, Rogers! Your new site fails to work even better than the previous one! That's quite an achievement!

I can't sign in, I can't go to 'Online Self Service', I can't recover my username or password, and I can't even register. It's as if is completely broken, and that's a pretty impressive accomplishment! And it's not just in one browser, either - it's in Konqueror, Flock and Firefox, on two different machines (one ubuntu, the other debian). I'd check in Windows w/ IE, but let's be real. This isn't a browser issue.

Kudos, Rogers. Keep up the great work!


Beer-to-Peer Networking, Part 1

The following is an experiment in B2P networking, and an attempt to implement a cross-province UUBP transfer. (Aside: I had considered a cross-country experiment too, eg., Toronto to Porland, but I'm not sure how to implement such an idea, especially given the ever-tighter security policies at the US-Canada border. Any suggestions?)

I'd also like to say upfront that this experiment should not be construed as an irresponsible attempt to encourage others to mix beer (or any form of alcohol, really) w/ software development. Drinking and coding can lead to serious problems. Please, B2P responsibly.

While I realize I'm deviating from the spec, I've decided to implement using a more MDD-based approach, in that the message I plan to send via UUBP will not be an actual beer, but rather a model of a beer, which can then be extrapolated and ingested (and later digested!) at the receiving end.

Raw materials can be acquired from your nearest Beer Store and your office's mail room.

Required Materials

Next, the message is encapsulated for security using the "gift envelope" technique, which I presume won't cause licensing headaches or adoption problems as this technique is already widely used in the public domain.

Assembling the Inner Packet

Completed Inner Packet

Now, a second layer of encapsulation is required to ensure the packet can be properly delivered to its intended audience. While there is no real protection of malicious packet sniffing, this at least ensures that the casual observer won't want to intercept the packet. The procedure is very similar to the above, and so will be lest as an exercise for the reader.

With the completed packet, it was time to attempt delivery. The UUBP spec says nothing about transport methods, so I'll first try a web-based approach:

First Delivery Attempt

Unfortunately, even with a 20" monitor, the packet is too large to be sent via the web:

Delivery Attempt Failure

After this initial setback, it was decided to try a more conventional delivery mechanism. This Canada Post node will be employed to transfer the completed packet to its destination.

Second Delivery Attempt: Success!

The UUBP packet is now in transit via the B2P network. With any luck, its recipient will receive it in a couple of days and take some shots, er, photos to complete Part 2.

UPDATE: See Part 2.


EMF: Dynamic gay erection? Virtually unbelievable!

It's been a while since my last linkdump from the world of EMF, so here's a quick update, brought to you by Google Alerts:

Tickle the EMO

Part three of last week's thread...

Option A Option B

Sad emo.

Happy EMO.


Nine Out of Ten Dentists

Continuing from yesterday's thread...

Option A Option B

Life without floss.

Life with FLOSS.


For a Few Dollars More

'Tis the season. Won't you give?

Option A Option B

Eat. Eat. Eat.

Dedicated mirror site.
Snazzy logo for your site.
Your name in lights
All this for ten cents a day.

No can has?

Small problem...
-- ... font too big? ... message too long? ... testing not done?

The system is... up!

Transient error messages are like fireflies. Caught these tonight, but they'd been squashed before I could stick a pin in them and add them to my collection.

Eclipsepedia has a problem

Software error


Tuesday was a bad day for Blogger, but a great day for my errata collection.

Blogger is currently unavailable.

HTTP method POST is not supported by this URL (Error 405)

Your request could not be processed.


Eclipse Development All-In-One

I'm shocked. Check this out:

Twelve per cent [of those companies surveyed] said they focussed “exclusively” on .Net development while an additional 49 per cent focussed “primarily” on .Net. Only three per cent of enterprises were exclusively Java shops, while an additional 20 per cent focussed “primarily” on Java.
But as more companies adopt Microsoft Exchange as their messaging software and SQL Server as their database, the decision to use .Net develop tools is “almost a no-brainer,” Goodall said. (source).

This seems counterintuitive to me. Sure, there's entrenchment. Sure, there's comfort in using Microsoft products as for most people that's who provides their operating system, office tools, and mail software. But c'mon, which companies did they survey? I'd love to find out but I can't find a copy of their survey results online, and even if I could I'm not about to cough up $150 - $990 for a 200K PDF file. Begs the question -- who commissioned this report, and how deep are their pockets? IMHO, there's a fine line between market research and marketing.

Or... is it possible that OSS people just don't have time to answer surveys because they're too busy contributing to their community? ;-)

Pointed pontifications aside, perhaps the real point here is that Microsoft does a better job at selling the 'one stop shop' idea of operating system + office tools + database + mail tools + mail server + dev platform. Sure, all of that is also available in the FLOSS / LAMP world, but are we failing to market it it as a cohesive offering? Is it still too disparate, too complex?

And has anyone thought of building an ubuntu + Ganymede self-contained offering? I know there's some cool virtual appliances out there, such as Grandma's LAMP, but AFAIK there's never been an attempt to bundle Eclipse w/ an OS for an all-in-one offering. Now that there's an Eclipse Store and an Eclipse Donations site, isn't it time for some Eclipse DVDs to complete the trifecta? Along with the new EPP bundles planned for next July, wouldn't it be cool to have an Eclipse Ganymede + ubuntu 08.04 Distro DVD? A collector's item, for sure.

Oh, and with the advent of the EMF4Net proposal (yes, that's EMF for the .Net plaftorm), this all-in-one DVD would also allow people to develop C# apps as well as Java. And php. And perl. And ruby. And python. And C/C++. Whoops, there we go again with too many choices. ;-) Once again, maybe Microsoft continues to dominate mindshare not because they're better or more entrenched, but out of a sense of simplicity.

So, here's my new mantra:

Simple is sexy.
Options are overwhelming.

Agree? Disagree? Post your thoughts here, or blog them and/or link here. I'd love to know your experiences as a customer or as a vendor, as a client or as a developer.


Pattern Match Searches Within Multiple Files And Archives

Have you ever wondered what plugin is locking a particular file extension, and forcing it to be opened with a certain editor? Or wanted to scan some plugins to check their copyright information? Whatever the filetype, this script will allow you to search inside zips and jars for text files matching a given regular expression. Sure, there's probably a graphical way to do this, but nothing beats the purity of the almighty commanline.

Here's some sample output, looking for the plugins that lock *.mod files:

$ ~/eclipse/eclipse-plugins-other "*.jar" "plugin.xml" "extensions.*.mod" -verbose

** [1] /tmp/plugins/org.eclipse.wst.dtd.core_1.1.200.v200710021541.jar!plugin.xml **
41-     <extension point="org.eclipse.core.runtime.contentTypes">
42-             <content-type
43:                     file-extensions="dtd,mod,ent"
44-                     priority="normal"
45-                     name=""

** [2] /tmp/plugins/org.eclipse.wst.xml.ui_1.0.400.v200711071909.jar!plugin.xml **
16-     <extension point="org.eclipse.wst.xml.ui.catalogFileType">
17-             <fileType
18:                     extensions="dtd, ent, mod"
19-                     description="%_UI_PREF_DTD_FILES"
20-                     id="org.eclipse.wst.xml.core.ui.catalogFileType.dtd">

Looking for files that aren't in zips? Use this simpler script:

$ ~/eclipse/eclipse-plugins-enable34/ "feature.xml" "2007 by" -verbose

** [1] /tmp/features/org.eclipse.eclipsemonkey_1.0.0.200706060947/feature.xml **
12-   <copyright>
13:      Portions copyright 2007 by Aptana Inc.
14:Other portions copyright 2006-2007 by Eclipse Foundation Inc.
15-   </copyright>

Oh, and if you don't see red when you run these, make sure you have this in your ~/.bashrc, /etc/bashrc, or /etc/bash.bashrc file:

export GREP_OPTIONS='--color=auto'