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


EclipseCon 2009 T-shirt Design Contest, Part 4: Polos and Rugbys and Darts, Oh My!

Taking an idea from Red vs. Blue and borrowing from Google Image Search & SSS Canada, I thought I'd design a few new shirts to take the EclipseCon Committer Shirt Contest in a different direction. Bear in mind these are just comps, because my GIMPin' skills are pretty limited.

View larger images | Download source images


EclipseCon 2009 T-shirt Design Contest, Part 3: Fugly Tees

Have you submitted anything for the EclipseCon Committer Shirt Contest yet? If not a graphic design, how about a conceptual one? Describe your idea, and maybe someone else will attempt to render it.

A fashion faux-pas frusta-ration
Combined with lack of motivation
And a loss of concentration
I've seen some fugly tees*

I can't concentrate on work
My wardrobe has gone berserk
Now I'm sweating 'bout this shirt
Another fugly tee*?!?

Two years ago
I said you'd never clothe me
I gave you to Goodwill
Now in this world of feckless logowear
Why do good brands have to go astray
And leave you with nothing
Ya, you left me with nothing
Ah Ah Ah Ah Ah
But a fugly tee*
wee ooo wee ooo

Hyper technical sessions
And some great hands-on lessons
All a'mashin' and a'meshin'
March in Californi-ee
I don't wanna go to sleep
Bags of Fritos by my feet
Writin' code, pining for heat
Please no fugly tees!

(Minnie Mae)
Why did you have to put
so much pressure on me?
I have no GIMPin' skills**

I didn't mean to scare you little one
Is there nothing I can say?
It's really not that hard
Ya please lower your guard
Ah Ah Ah Ah Ah
And submit some tees
wee ooo wee ooo

Now I'm standing in the snow
Moisture soaking through my shoe
Every droplet causing woe
Reminding me I have to go...

Time to take a break from work
Holiday shoppers gone berserk
I've now only got one care
We need something else to wear!


Prozzak - Strange Disease

* - Admittedly, past years' EclipseCon Committer Shirts have been long sleeves, not t-shirts (tees). However, "fugly shirts" (or worse, "fug'long sleeves") doesn't work as well lyrically. Please excuse this creative license.

** - You can get GIMP for Windows and Mac, too, not just Linux.

Helpful Javadoc? the moon sets over the early morning Merlin, Oregon mountains, our intrepid adventurers type...
-- Funny, yes, but not so helpful... unlike this bit of doc.

PDT News

Some quick announcements about the PHP Dev Tools project:

  • PDT 2.0 now has all-in-one builds, which include all the requirements you need to get started w/ PDT for Linux, Mac, and Windows (all 32-bit). If you're on another platform, you can grab the Eclipse 3.4.1 Platform, or perhaps the Ganymede SR1 JEE bundle, and then add an update site. More...

  • PDT 2.0RC2 is available, with RC3 this week and GA next week.

  • Then, starting in 2009, PDT 2.1 will be on the Galileo release train. Note that as this will be an extra-short cycle (that is, one half the usual length) this release may not include any massive new features. Stay tuned -- the PDT 2.1 plan has not yet been published (because PDT 2.0 isn't out yet, of course).

  • Interested in seeing a PHP Developer package, along with the C/C++ and Java ones? Vote for bug 238960.

  • While so far rather quiet, there's a new #pdt IRC channel. Bear in mind these things take a while to get going, but they do grow in time. #eclipse-modeling is a perfect example. C'mon by and have a chat.



Got this captcha on the Ticketmaster site today, which answers the age-old question, What Would Chuck Norris Do?


EclipseCon 2009 T-shirt Design Contest, Part 2: Some Ideas To Get You Started

With just over a month left in the EclipseCon '09 T-shirt design contest, I'm disappointed to report we've had no submissions yet.

So, to get the ball rolling and hopefully avert a fashion crime this time around, here are a few submissions of my own for you to consider and riff on. (If you can't read the small print, it says "* - Frequently Updated Deliverables".)

Make custom shirts at Zazzle

Get yourself a free Zazzle account (all it takes is an email address and a few minutes) and you can customize these with your own text, images, and fabrics. Then, submit a link to your gallery in bug 256495, and you'll be entered. If you tag your creations with "eclipsecon09" they will appear in rotation in the widget above.

Note: after creating a design in Zazzle, your new offering will take a few minutes to appear in your gallery, and several minutes more to be shown publicly.

Oh, and don't be afraid to submit things you aren't sure are any good. The winner of the last contest wasn't sure his submission was good enough... and then ended up winning! So trust your instincts and submit something today!

Here's a few ideas I've thought of but haven't had the time (or skills!) to render -- feel free to borrow something.

  1. Ask Me About ______, For I Am Great With Knowledge
  2. I Went To EclipseCon And All I Got Was This Lousy T-shirt... And The World's Best IDE For ______ [1], [2]
  3. Evolution [1], [2], [3]
  4. The Inmates Are Running The Asylum [1], [2], [3]
  5. Jack & His Magic Beans Are No Match For Jane & Her Eclipse-Fu [1], [2], [3]
  6. Some past Eclipse shirts [1], [2], [3]


Obfuscation 101: Ant-contrib

I have recently fallen in love with ant-contrib. I'd still rather write Bash scripts, but if one must interact w/ Ant, ant-contrib is the only way to survive it. Without it, you don't have variables, for-loops, or if-elseif-then trees.

Of course, with every love there are moments of extreme angst. For example, I've been fighting with this error for the last 12 hrs, on and off, as I've been trying to resolve bug 256440:

Invalid type class used in For task, it does not have a public iterator method

What does that mean? It means I'm a dumbass.

Though I should know better, I rely on tools such as Eclipse's Ant editor to tell me when I've messed up task syntax. And though it can do CTRL-SPACE completion for the <for> task, the editor doesn't mark this invalid (if I've already typed it in).

<for ...>

The fix?

<for ...>

Ultimately, though, I wish error messages would be written with the end-user in mind. The above problem would have been solved in seconds had it been simply "For task cannot contain nested If task... dumbass." :)


Eclipse Photoshop Challenge: "Better Than MovieOS", Part 4: Everyone's a Winner, Baby

Well, it seems everyone's a winner. Congrats to everyone who participated!

To collect your loot, send an email to Lynn.Gayowski at with postal mail info. Or, if you're not in a hurry and will be at EclipseCon, you can opt to collect your Eclispewear there.

So, any takers for the next contest? Thanks to Zazzle, any design you'd like can be printed, whether it's chosen as the winning design or not -- how's that for empowerment? Here are a few examples I've done, all customizable to suit your fabric, colour, and design needs.


My love-hate with SVN, Part 3: CollabNet Subversion (JavaHL)

Installing Subclipse w/ JavaHL (aka CollabNet Subversion)

  1. Download CollabNet Subversion for your operating system (Linux, Windows, MacOS X). This provides the JavaHL layer so that Subclipse can talk to SVN repos using pure Java (but not SVNKit). Install it.
  2. Download Eclipse 3.4.1 (or Fedora Eclipse). Start it up, making sure to pass in -Djava.library.path=/opt/CollabNet_Subversion/lib (linux only).
  3. Help > Software Updates... > Available Software > Manage Sites... > Add... >
  4. Install the whole site. Restart when prompted.
  5. Window > Preferences > Team > SVN > SVN Interface > Client > JavaHL (JNI)

Well, I feel I've been remiss in ranting about Subclipse. Turns out a fresh Eclipse + a fresh install (and a lot of trial and error / googling has fixed things.

You have not exactly given us a chance to help you with your Subclipse issues.
Mark, you're right, Subclipse does work -- it's just not the most straightforward thing to install. And when it breaks suddenly and for apparently no reason, losing hours of productivity to fighting w/ source control instead of writing and committing code, it's VERY frustrating, especially considering that Eclipse's CVS support Just. Works.
Does the JavaHL library exist in the folder you pointed to?
Well, given the wiki doesn't actually say what file(s) are supposed to be there, I had to guess. I have /usr/share/java/svnkit-javahl-1.1.4.jar and /usr/share/java/svnkit-javahl.jar (a symlink to the previous). Is that what Subclipse / Subversive are looking for? No idea.
Do the preferences say "Not available"?
They do. After much surfing, googling, testing, registering to download, waiting for a password, cursing, downloading and rpm -i ... I finally figured out that all I needed to do was get CollabNet Subversion Command-Line Client v1.5.4 (for Red Hat Linux), and (as noted in the wiki), add -Djava.library.path=/opt/CollabNet_Subversion/lib to my Eclipse startup. Could you save others this search by linking to the downloads page from the wiki? Or even linking to it from the Downloads page??
I think somehow an old version of their JAR is being loaded by your Eclipse and not the one in their plugin. Do you have their JAR installed in your Java extensions folder or something?
Reinstalling Eclipse and purging some jars of unknown pedigree & version seems to have worked. I have svnkit 1.1.4 in the above folder (/usr/share/java), and org.tmatesoft.svnkit_1.2.0.4949 in a linked folder in my dropins/.
Finally, as to your History error, Subclipse does not have this problem, but I know the cause. Your history view is setup to "Show Merged Revisions". I would assume that Subversive exposes this as an option in the UI that you can turn off. That is what we do in Subclipse.
I expected to find this as an option under Window > Preferences -- some digging showed me that, no, it's under the view's menu > Include Merged Revisions. Thanks for the tip!
Anyway, we also catch that exception when talking to older Subversion servers and just make the request again without asking for the merged revisions. If you have not already filed a bug report with Subversive you probably should.
Good idea -- see bug 257669. I just want something that will work, won't crash Eclipse, won't freeze up during an update, won't leave dozens of "not really there" files in my Synch view (that magically disappear when I click the 'collapse all' button in the view), won't throw errors when I try to look at file histories.

So, for the moment, I'm back to Subclipse. I've upped the permgen and heap for Eclipse to 400M and things are working again. Seems large projects + SVN = crashing/freezing/OOM errors. Maybe JavaHL won't be so greedy? We shall see.


phpeclipse vs. PDT, Part 3

Well, I may be no closer to having my top ten enhancement requests fixed in PDT 2.0, but on the plus side...

In other news, PHPEclipse 1.2.1 just came out...

My love-hate with SVN, Part 2

The love-hate continues...

  1. Show History operation failed
    *** Show History
    svn: Retrieval of mergeinfo unsupported by ''
    *** Error (took 00:00.743)
    *** Show History
    svn: Retrieval of mergeinfo unsupported by ''
    *** Error (took 00:00.795)

    This is particularly fun because the error comes up twice, and keeps coming up as long as you have the History view shown. Solution? Time to switch back to Subclipse? No, I tried that, and despite adding -Djava.library.path=/usr/share/java to my Eclipse startup, I still can't use Subclipse anymore.

Oh, well... there's always kdesvn:


My love-hate with SVN

Since joining JBoss, a division of Red Hat, I've gotten to know the foibles of SVN rather intimately. Here are my two favourites, both encountered this week:

  1. This client is too old to work with working copy; please get a newer Subversion client.
    Problems reported while synchronizing SVNStatusSubscriber. 2 of 3
    resources were synchronized.
    An error occurred synchronizing /devstudio-workspace: Error
    getting status for resource P/devstudio-workspace
    org.tigris.subversion.javahl.ClientException: svn: This client is
    too old to work with working copy; please
    get a newer Subversion client

    This happens if you use SVN 1.5.4 and Subclipse 1.4.6 with SVNKit & JavaHL plugins. Solution? Switch to Subversive 0.7.5, or follow this advice (so I'm told, I haven't tried yet).

  2. Installing subversion-javahl-1.5.4-3.i386 (on Fedora 10 Rawhide) causes Ant 1.7.1 to fail to do SVN checkouts.
    (from /var/log/yum.log)
    Nov 27 19:51:47 Installed: subversion-javahl-1.5.4-3.i386
    [java] fetchElement:
    [java] #
    [java] # An unexpected error has been detected by Java Runtime Environment:
    [java] #
    [java] #  SIGSEGV (0xb) at pc=0x05984ec5, pid=24986, tid=3086982032
    [java] #
    [java] # Java VM: Java HotSpot(TM) Server VM (11.0-b15 mixed mode linux-x86)
    [java] # Problematic frame:
    [java] # C  []  apr_threadkey_private_get+0x15
    [java] #
    [java] # An error report file with more information is saved as:
    [java] # /opt/public/jbt-jbds/nightly-20081128-0002/org.jboss.ide.eclipse.
    [java] #
    [java] # If you would like to submit a bug report, please visit:
    [java] #
    [java] # The crash happened outside the Java Virtual Machine in native code.
    [java] # See problematic frame for where to report the bug.
    [java] #
    [java] Java Result: 134
    (from /var/log/yum.log)
    Dec 02 11:19:23 Erased: subversion-javahl

    And now it works again!