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


EuroFM is on the air!

Europa Fall Maintenance is out today, so in tribute...

(Ctrl-) Space Down

Hey Eclipse you know you drive me crazy.
Ctrl-3 puts the rhythm in my hand.
Still I'll never understand how you can do so much
Plugins, features and such
Install Europa bundles from a mirror
Tell yourself it's so gonna rock your world again
You fire it up and then you swear a little

Do you feel like a geek
When you push its buttons?
Do you feel better now Ctrl-Space'ing a ton?
Well I'll tell you my friend no way this world's going to end
IDEs crumble down, they're eclipsed by this one

A pebble in the water makes a ripple effect
Every action in this world will bear a consequence
If you code by hand forever you will surely drown
I see what's goin' down.
Don't be a fool and use vi, emacs or notepad,
Startin' from scratch again,
Heed my lecture

Do you feel like a geek
When you push its buttons?
Do you feel better now Ctrl-Space'ing a ton?
Well I'll tell you my friend no way this world's going to end
IDEs crumble down, they're eclipsed by this one

In June '08 when we've all had enough,
Time for the Gany train!

Do you feel like a geek
When you push its buttons?
Do you feel better now Ctrl-Space'ing a ton?
Well I'll tell you my friend no way this world's going to end
IDEs crumble down, they're eclipsed by this one

Downloadin' the code, she said, 'The mother lode!'
She said, I've finally found the best!

Red Jumpsuit Aparatus - Face Down

10,000 Hits


One more download, yay! I know what I want
And my want will be an upgrade all right, an upgrade all right
Just another day when all that I want
Will mark me as an Eclipser tonight, an Eclipse geek tonight, yeah

Jupiter's moons that can block out the Sun
If this disturbs you then walk away
You will remember: use -vmargs and -vm
10,000 Googlin' away!

Plug-ins un-restrained, dead on the mark
Is what we will deliver tonight, deliver tonight
"Features suck," they say, "but Update finally works!"
With even plugins tonight? Yes, even plugins tonight. Yeah!


We are the ones that will open your mind
Leave the weak and the NetBeans behind


10,000 Googlin' away! 10,000 reqs per half-day!

Disturbed - Ten Thousand Fists


Fashion vs. Function

I've been thinking about the "new" UI Best Practices Working Group, and specifically what that means for next June's Ganymede release.

Leaving the debate about scope creep aside, I'm a big supporter of "usability-centric design" or "user-centered design" or "outside-in design" or whatever the buzz you want to call it. Here's my take:

Should we enforce a "make it useable" theme for Ganymede? That's not really policeable, I know, but if everyone buys in to the idea, it means we're all working with usability in mind (or "consumability" of you prefer that term).

I know for me personally, the first pass at a piece of code is often the 'function' side, not the 'fashion' side (making it pretty or making it usable by anyone other than me), but the fact is a chunk of code is only as useful as its adoption by users. The second pass is 'let someone try it out' and then 'document how it works, if it's not already obvious.' Documentation SHOULD be something you don't need to do often, because realistically, no one (or maybe that's just me?) RTFM's the first time they try something out. Tools should be (in theory) easy enough to grasp the gist without having to grab for the manual. And if installing said tool requires grabbing a manual or FAQ, well, there's a problem there too.

You can build a super efficient car with a useless dashboard and ugly paint job and it won't sell. Make it usable (and sexy!), and it'll sell.

The added problem, again using my own work as an example, is that what's "usable" for me is not what's usable for my users (the Modeling project java developers). The great thing about that fact is that it forces me to design for people who don't want to have to work/think like I do. No one wants to use lengthy shell script commands to run or promote a build, but they're happy to click a few buttons on a website. No one wants to have to update properties or map files by hand, but they're happy to use a web-based generator that takes point-and-click input and turns it into data the build can use. No one wants to input arcane mysql queries at our release notes database, but they're happy to use the output of those queries, again, via a clean web UI. And because I'm inherently lazy and hate doing the same crap over and over, I'm compelled to find ways to make tools more consumable for me, too, so I can move on to solving the next problem.

Taking this example inside Eclipse to the plugins & projects that make up Eclipse / Europa / Ganymede, what this simply means is: 'assume your users don't want to know how the crap under the covers works'. Make it easy. Use it yourself. Try it out. If it annoys you (and you built it) it'll annoy people who didn't build it and don't have control over fixing it.

If you don't know what your users want, and can't think like them... it's time for the time-honored tradition used in many successful first dates: ask them. Let them talk about themselves, their wants, their desires, their pains. Answer their newsgroup questions. Chat with them on IRC. Watch for patterns.

Anyway, long rant aside, my point is simply this: never stop asking yourself if what you're building will be useful for your users, and if it balances function with fashion enough that there will be buy-in. Because if you build it, they will come... but if you build it badly, they won't stay.


Customer Service Apathy, Part 3: Closure

(con't from Part 2)

That evening, I got a call from Rob, of Double G, who apologized profusely for the snafu, explained this sort of thing was rare, and told me a forensic investigation was in progress to figure out how it was possible that so many people had dropped the ball here.

He then assured me that a carpenter would be out next week to close the gaping hole in the side of my house where my old meter had been.

On Sunday, a full 12 days later, I began this email thread:

When we spoke on Tuesday, Sept 11, you assured me that someone from Double G would be out to my house to complete the construction of a box to weatherproof my new gas meter THIS WEEK (Sept 17-21). As this week has come and gone, I'm hoping you'll send someone out this coming week to finally build the box and complete the job that was started in July.

When might I expect a carpenter to arrive? And can you explain why one still hasn't been here? You assured me you'd make this right.

Thanks in advance,

I checked with the carpenter and he hasn’t had time yet to get to you. He assured me that he will get there this week. We only have one carpenter and depending on the work schedules there are some jobs where he has to work with the fitters at the same time in order to complete the work. Work like yours can be done at any time and therefore can get pushed to accommodate the work that must be scheduled. I will follow up with him later in the week to make sure it is done this week.

By way of explanation of the work, it is not a weatherproof box for the gas meter that is required. At your home, the gas meter was moved outside from the box that it was in, but since we did that work the box cover doesn’t necessarily fit since there is now piping in the way. The carpenter will come and put a proper cover over the box in your wall, but the meter will not be covered.

I will make sure it gets done this week.

As long as rain doesn't leak into my basement anymore, I'm fine with that solution.

Thanks for following up on this. Can you let me know what day your carpenter will come by (eg., the day before) ?

I’m not sure I follow….are you having a leak into the basement and are you sure it’s related to the meter box? Is it just since the box cover has been off? Oh wait…did Enbridge dig up around the meter set when they were there on the 10th? I know you weren’t there, but are there signs the ground was disturbed and is it since then that it has been leaking? If so then I’ll have to get them out to look at that part of it since we don’t do any of the underground work.

Let me know.

I never got the warning phone call / email, nor did I have a chance to email back an explanation about the water leakage. This morning I was rudely awakened to the sounds of power tools (and very loud barking as my dogs made sure I was awake for said power tools), but at least I finally have closure:

And to think it's only been 4-1/2 months since I received the initial letter from Enbridge. What a gas.

The Pirate Bay files charges against media companies

I just had to reproduce this in its entirety because it's so cool to see TPB once again fighting the good fight against the media giants for their illegal activities online:

Thanks to the email-leakage from MediaDefender-Defenders we now have proof of the things we've been suspecting for a long time; the big record and movie labels are paying professional hackers, saboteurs and ddosers to destroy our trackers.

While browsing through the email we identified the companies that are also active in Sweden and we have tonight reported these incidents to the police. The charges are infrastructural sabotage, denial of service attacks, hacking and spamming, all of these on a commercial level.

The companies that are being reported are the following:

  • Twentieth Century Fox, Sweden AB
  • Emi Music Sweden AB
  • Universal Music Group Sweden AB
  • Universal Pictures Nordic AB
  • Paramount Home Entertainment (Sweden) AB
  • Atari Nordic AB
  • Activision Nordic Filial Till Activision (Uk) Ltd
  • Ubisoft Sweden AB
  • Sony Bmg Music Entertainment (Sweden) AB
  • Sony Pictures Home Entertainment Nordic AB

Stay tuned for updates. -- TPB blog, 2007/09/21

Blogged with Flock


I can has cowbell?

I've got a FEVER and the only prescription is... MORE COW BELL!
(found under Military Trail, Scarborough)


Registrars: The Good, The Bad, The Confused?

In my weekend role as Rainbow Cinemas' resident geek, I have to handle domain name registration and renewals at various points of the year, for 13 different domain names, currently spread across 5 registrars (for a number of historical reasons).

In trying to consolidate domains and minimize the overhead, I recently has this exchange with the folks at

I'm trying to transfer my three .org domains held with to you, yet I keep being told "transfer of this domain is not supported". I unlocked the domains via their management interface on 09/09, and the DNS records now reflect that fact (as does their interface). Yet I still can't transfer the domains, even with the Auth codes.

Can you explain what I'm doing wrong? Could there be something still locked at their end? I've never dealt with .org domains before, so I don't know what process there might that's different from .ca, .com, or .net.

The domains are:

Thanks in advance,


At this time, we do not accept .ORG transfers to or from our registrar. I apologize if this has caused you any inconvenience.

If you have any additional questions or concerns, please feel free to let us know.

Thank you,,

Do you mind if I call you "Name?"

Name, your website says you do. Any reason for this discrepancy? When do you plan to support .org domain transfers in?


Dear Nick,

Thank you for your question. is .org accredited, however we are still integrating this tld into our transfer system. This service should be available with in the following 2 months. If you have further questions or concerns, please let us know. We would be happy to provide further assistance.

Thank you,

Dear Name,

Well, as my .org's are up for renew in the next month, I guess I'll have to stay with my current registrar for now. Thanks for the information.

FWIW, if I was running your website, I'd revise the copy on to state that your support for .org is coming soon, not available right now for $6.99. It would avoid support questions like "Why can't I transfer my .org to you?" ;-)


Nick, usability geek

Dear Nick,

We certainly understand your point. This issue has been resolved, and you should be able to transfer your .org domains to at this time. You will certainly want to keep a close eye on these transfers in order to make certain they transfer before they expire at their current registrar. Please let us know how we can be of further assistance.

Thank you,

Dear Name,

Ok, now I'm confused. First you say "This service should be available with in the following 2 months.", then you say "This issue has been resolved, and you should be able to transfer your .org domains to at this time."

I've initiated the transfer and it looks like it's going through, though as usual you reject my credit cards and I have to use Paypal instead. (Not a big deal, just FYI.)

I'm baffled how you shaved 2 months of development/integration/paperwork/whatever off the plan just because I said I'll have to renew w/ my current registrar instead of transferring to you. That's quite the impressive developer overclocking just to make $21 in revenue -- from 2 months down to 2 hours! My compliments to your dev team! ;-)



Dear Nick,

We are very pleased to have been able to resolve the issue in well under our estimated time frame. Transfer confirmation emails will be sent to for the domains in transfer ID 88 in the very near future. If you have further questions or concerns, just let us know. We would be happy to provide further assistance.

Thank you,

Scott (yes, finally, a first name!!)

Meanwhile, I tried to get an explanation from another registrar as to why they'd overbilled me -- early -- when the domain account was NOT set to auto-renew, and had this conversation:

The domain is not set to expire for another month (2007/10/11), and the domain, according to your site, is not set to renew automatically.

Yet despite this, I just got an invoice for $31.79 for a single year's renewal, when last year it was only $16.95.

Why has the cost nearly doubled? Why did a non-renewing domain auto-renew? And why did it do so a month early?

Thanks in advance,

Nick Boldt
Webmaster, Rainbow Cinemas


For .ca renewal it is 19.99 + GST 1.20
Total cost is 21.19

Since you had paid $31.79

I have updated your account and added credit of $10.60 to your account. Next renewal you will be paying $21.19 for 1 year renewal.

If you have questions or concerns please do not hesitate to ask us.


WebServe Canada "the power to serve"


Thanks for the price explanation (though I might question why the price has gone up 17% since last year). That said, however, the domain, according to your site, is not set to renew automatically. Why did it renew a month early, and why did it renew automatically (at the wrong price, too)? Is there something amiss with your renewal system?

Thanks in advance,

Nick Boldt
Webmaster, Rainbow Cinemas

Hello Nick,

We apologize for our billing error, I have corrected and you will not be overcharged or billed extra. Even thou it is not set to renew automatically, our billing system renews the domain one month in advance. If you have questions or concerns please do not hesitate to ask us.


WebServe Canada "the power to serve"

At this point I gave up arguing the point since he didn't seem to care, and the 17% price increase was clearly not in order to hire people for tech support.

Anyway, the point here is that not all registrars are created equal, and cheap-as-free does not necessarily mean crappy service. In fact, it can be quite the opposite. If only everyone was so responsive to usability (and therefore marketing) issues!


Choose. Choose wisely.

I live in Toronto. In a mostly Liberal neighbourhood. In the last few federal and provincial elections, my riding has gone red. (Note to US readers: Canadian political party colours are the reverse of those in the US. Living in a 'red state' isn't such a bad thing here. The red/blue colour coding is particularly true now that the Red Tories are all but gone, replaced by the not-so-Progressive Conservatives.)

So it always amuses and disappoints me that the ever-rebranding Conservative party, currently not favoured in Ontario (much less Toronto) because of at least three major pain points (Mike Harris, Ernie Eves and the "Right Honourable" Stephen Harper) with arguably the smallest chance of winning... is the first to put up lawn signs and spend the money Granted to them by their various supporters. This sign is just down the street from me; out walking my dogs this afternoon I saw at least a half-dozen others.

Meanwhile, the Liberal candidate this time around is apparently the Best one for the job.

(I have no clever pun for NDPer Neethan Shan, and will spare you a joke about what's cooking in the Greens' Kitchen this year. A hint: it's not good web design or a consistent message.)

Anyway, whatever your colour preference or party favour, get out there and vote. And be sure to read up on what this year's electoral process referendum could mean in your area.


Compare Different

In my role as the weekend webmaster for Rainbow Cinemas, I have on occasion the need to compare local and remote (ftp or ssh) files between my staging server and the production website; I also have to compare files between my local Eclipse projects and my local CVS repo, to see why and when changes were made.

So, what do I use? Well, I run KDE on my MEPIS box, so I've set up Konqueror profiles for the various admin tasks I need to do. For the web, I split a Konq window into four panes and can drag/drop files between local and remote, and also compare local and remote versions of the site.

When diffing files, I use Beyond Compare 2 (or Cirrus, their new beta), and have quite enjoyed it since the dark ages (circa Eclipse 3.0) when I first joined the IBM Toronto Lab (which isn't in Toronto anymore, but I digress). It's my not-so-secret weapon for releng work, web work, java work, ... really, everything. BC supports comparing/synching from local to a remote FTP site, but in most cases I find it slow as it has to download all the remote files, compare them to the local ones, and update the view. It's handy for single file compares or small folder compares, but doing entire trees requires a lot of patience as it builds the diff tree. So, more often than not, I just use Konqueror for swapping files back and forth, since its ftp and fish ioslaves rock. (This is perhaps the biggest reason I won't change to another wm like gnome or xfce.)

I can be pretty jaded sometimes when it comes to trying new software, especially if I've grown happy and complacent using a set of tools that I find work well. Switching to something new doesn't necessarily mean finding something better; often it just means time wasted and functionality lost.

While it's cool to use a mix of tools, sometimes it's nice when you can do everything in a single IDE. So, to that end, this past weekend I started playing with DSDP's Target Management (TM) offering. Very cool. It doesn't do folder compares yet, though there's been some talk about how that could be implemented either at the Eclipse Compare level or at the DSDP-TM level. I like being able to finally browse remote files within an Eclipse view (rather than in Konq or Konsole), but the absence of folder-to-folder comparison makes TM a bit of a non-starter for me, so far.

So, to that end, I opened bug 203001 to see if folder compares were possible, and now I'm realizing that it's both not a trivial thing to implement and also introduces some philosophical questions about "derivative work", "ethical competetion", "changing your business model" and "reinventing the wheel".

If there's a commercial piece of software, like Beyond Compare, with a superior (IMHO) diff engine, should they be persuaded to contribute to Eclipse? The current version of BC can be launched from inside Eclipse using Beyond CVS, and it does the job when Eclipse's internal compare isn't enough. But it's not a plugin, nor does it integrate into the IDE. It also requires WINE, but this is being addressed in Cirrus (BC3), with a linux-friendly qt version.

But should Scooter provide their code to Eclipse, and potentially lose customers in order to make Eclipse's Compare better?

If they did, they could grow their market share and get some good PR, but they wouldn't sell licenses. They could instead switch to a donation/swag model, I suppose.

Or they could sell a standalone RCP app version with just their compare stuff in it, so people could choose between the free integrated-in-Eclipse version and the paid standalone version. Problem is, integrated in Eclipse is much more useful IMHO so I'd think that would be a non-starter too.

What would you do, if you were were Scooter?

Conversely, if you were a committer for Eclipse Compare or DSDP-TM, how much functionality in BC would you attempt to recreate, given that you're reinventing the wheel, and that by giving it away for free you're taking business from a small company who's been in the biz of compare for years. I mean, sure, it would be great if all the functionality of BC was in Eclipse so that IBM could build on it and sell product based on it, but personally I'd feel a very dirty if by opening a feature request against DSDP-TM / Eclipse Compare I was helping IBM make money at the expense of all the good work Scooter has done over the years to make my life (and my job at IBM) so much easier.

Me, I'd just like to see a way to hook in different compare engines (eg., via a plugin like Beyond CVS), but is doing the work to allow what's in Eclipse Compare to be replaced by something else in Eclipse's best interest?

Yes, there'll always be competition in the marketplace, but how does a community like Eclipse compete ethically in a situation like this? And if open source is about enabling business to succeed faster/better/smarter/whatever (among other motivations), how do small companies survive if their product gets replaced by a free open source alternative? Does anyone have experience with their product being "Eclipsed" by something free?

Blogged with Flock


Customer Service Apathy, Part 2

(con't from Part 1)

Another example of how sometimes it pays to shame people into good customer service.

I sent a slightly less bitchy version of last night's post about Enbridge and Double G Gas Services to Enbridge's ombudsman emai address, and cc:'d the contact address on Double G's website.

This morning, I received this from Enbridge:

Dear Customer,

Thank you for your e-mail.

You will be contacted regarding your concern within the next two business days.

Thank you.

The Office of the Ombudsman
Enbridge Gas Distribution Inc.

I also received this from Double G:

Mr Boldt,
As soon as you're up and checking your email give me a call at (416) ***-****

If you don't call me by about 9:00, I will try and call you.

I'm not sure if it was the same person, but around 8:15am I also received a call from Double G saying that they could come immediately to turn the gas back on. I was asleep; SWMNBN took the call. Apparently they had someone in the area who could come by "shortly," or in the next 90 mins, as it turned out.

The tech that arrived discovered that rather than just needing to turn on the gas, he had to connect the meter that Enbridge had played with yesterday. He was not amused, and rightly so -- I'm hoping he'll pass his annoyance with the workflow breakdown back to Double G and from there to Enbridge.

Anyway, by 10:45am, I was cooking with gas again.


Blogged with Flock

Customer Service Apathy

Back in May, 2007, I received a note from Enbridge, my household gas distributor, telling me I'd been randomly selected for a new gas meter. The note then went on to say that if I didn't book an appointment,

we will go ahead and replace the meter sometime after May 25, 2007. If you are not home, we will leave the gas supply off and provide a number for your (sic) to call to have us come back to turn on your meter and relight your natural gas appliances. We will return as quickly as possible.

Now, as a skeptic and cynic, I new there was trouble brewin' here, but I called them and scheduled an appointment for June 1, between 1 and 5pm. A four hour window was the best they could do. So far, not great, but June 1 was a Friday and I work from home anyway, so this wasn't really a big deal. That is, until about 6pm when they still hadn't shown up.

I called to kvetch, but *surprise* they had no record of me, my address, or the appointment. So, I booked a new appointment, this time for June 22, between 1 and 3pm. Apparently when they screw you over they're willing do offer a shorter window.

Not that it mattered -- they didn't show up the second time either. So, that evening "between the hours of 4:00PM and 10:00PM", as directed, I called to book a third appointment. This time I got a three-hour window between 2 and 5pm on July 12 with the promise that they'd call 30 mins before to verify they were in fact coming. Whatever.

So Double G's technician finally arrived, did his thing, and was done in very little time, remarking that Enbridge would be back "soon" to complete the job.

Soon, apparently, was 2 months later -- this morning. No notice, no warning, no phone call or note dropped in my mailbox. Nada. Luckily, I work stupidly late hours so I was up to 3am last night and thus still home at 11am when two Enbridge techs stomped up my driveway to tell me my gas was turned off and that Double G would have to come out and turn it back on. (They're the gas company but they have to get some subcontractor to light a pilot? OK, whatever, I'm sure there's a union or some nepotism involved.)

The Enbridge guys were friendly enough and offered me a 6-9pm window for turning on my gas. Since today was Build Server Rebuild Day (another story for another time), I figured I'd be at the lab and in the server room pretty late, so I took that window, then later reconsidered and asked for something later. Believe it or not, they said I could have 8-11pm. I was once again skeptical that anyone would actually come out here that late, but since it was that or leave the server half-done to rush home or delay it another week, I accepted.

At 9:30pm tonight, I called Dougle G to verify that they had in fact gotten the booking and were on their way. They said yes, it's booked, between 8pm and midnight. So, great, not *quite* what I was told before, but at least I was in the system. Progress!

It's now 1:30am and there's been no sign of them, but frankly, I'm not surprised. They clearly have the same attitude that Rogers Email Support team does about fixing their website problems:

Customer Disservice
Because we're not satisfied until you're not satisfied.


Blogged with Flock


Real World Bug Reporting, Part 3: Now we know!

GI Joe Image/Devils Due comic book cover from the early 21st century incarnation 'G.I. Joe: A Real American Hero' I've complained about the way Rogers treats its customers via email, but I haven't discussed how they are on the phone. Much as I hate their IVR's need to ask me for my phone number (immediately before I get a live human who asks me for my phone number again), or the fact that I can't just ask for "cell phone billing" but instead have to step through "wireless" > "billing" > "cell phone", once you get a live human, life's pretty damn good.

If you argue enough (repeatedly but politely!) to the people in the billing department about not understanding why you're being charged for things you didn't agree to or that their policies are unfriendly (eg., $1 per 1K download with no data plan or $5 per 5M download with plan) or insane, you can get up to $20 back per complaint in "goodwill credit."

You can also be reimbursed for loss of service when there's an outage (especially the planned ones). They're supposed to contact you in advance in writing when there's a planned outage, so if they ever let slip that the reason you've been without internet/cable/phone access for the last 3 hours is due to a *planned* outage (and of course no one emailed or dropped a flyer in your mailbox to warn you), you're entitled to compensation.

My most recent Rogers experience was around the fact that changing my cell phone billing plan can only take effect at the start of next month's billing cycle, but EVERY OTHER CHARGE happens immediately and is prorated from the request date. In my case, this means I got charged $45 in usage fees which would have been free if they'd actived the new plan the day I called instead of 2 weeks later. Given the plan cost jumped from $35/mo to $60/mo (for two phones), I would have paid 14/31 of $25, or $11.30 for the balance of the month. So, being charged $45 - $20 = $25 is forgivable, though still not ideal.

I guess the point here is that every support group has its preferred method of operation, and it's up to the user to find the best way to navigate his options and choose the best route. For example, all Eclipse projects have access to a wiki, newgroup, mailing list, website, blog(s), IRC channel(s)... but each project's committers/contributors/evangelists work a little differently and so they all provide support via their favourite channel or channels.

Anyway, having been on the phone with Rogers at leat a half-dozen times this summer getting erroneous charges reversed, now I know that Rogers Email Support = teh suck but Rogers Phone Support r0x0rs. And knowing is half the battle!

Blogged with Flock