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

2008-05-29

I. P. Freely

This is your brain.

This is your brain on a fortnight of IP logs and About files.

Clean IP / From Where Did Our Code Come

Sometimes
I feel I've got to code all day
I've got to code all day
But the pain
Of rewriting from scratch, oh me!
The libs I share
Must have come from somewhere
And I think I've lost my light
For I toss and turn
I can't code at night

Once I ran to you
Now I run from you
This tainted code I've given
Given my Abouts all to you
Fix my log
And thats not nearly all

Clean IP x2

Now I know that I can code all day
I want to code all day
And there'll be more time everyday for me
To build things right
We need someone to hold us tight
And you want clean code to stay
But without its due it won't stay that way

Once I ran from you
Now I run to you
This clean IP you've given
Given my Abouts all to you
Gen my log
(Though it's but nearly done)

Clean IP x2

More CQs please!
I can not stand the way you tease
Orbit's the only way to go
But we need a lot of CQs, too

Clean IP x8

IP, IP
From where did our code come?
Ooh, don't you wonder
Don't you wonder no more
I've got this burning
Yearning, yearning
Nested inside jars
Ooh, deep inside jars
And it hurts so bad
I used third party code
So commonly
With a burning love
For my Apache
And now I will surrender
To clean pedigree
You're in my log now
Ooh, you're in my IP

Soft Cell - Tainted Love / Where Did Our Love Go?

2008-05-20

p2: The Good, The Bad, The Whiners

After taking a break from reading the Planet this past week, tonight I discovered several p2-bashing posts. Now, I admit, in December I had some less-than-positive things to say about p2, but that was over 5 months ago. It's been evolving rapidly ever since, and has one of the most responsive dev teams I've ever had the pleasure of working with.

Some statistics, to prove my point:

  • 695 resolved Equinox.p2 bugs; 472 open Equinox.p2 bugs. Closure rate: 60%. Given the oldest changed bug is in February, that's over 200 features and work items a month for the past 3 months! (A bug is not always a problem. I use bugs as TODOs, thanks to the wonderful workflow integration provided by Mylyn. But I digress.)
  • Of the 20 Equinox.p2 bugs I've opened; only 5 remain. Closure rate: 75%.
  • Of the 39 Equinox.p2 bugs I've opened, commented on, or am watching; only 8 remain. Closure rate: 80%.
  • Articles in the Eclipse Wiki related to p2: at least 46
  • Time required to go from knowing nothing about p2 metadata to having it enabled for all the Modeling projects' update sites and integrated into automated promote scripts: about 2 hrs
  • (Recently) active committers for the whole Equinox project: 14
  • Lines of code committed in Equinox project in the past year: 378,000
  • Number of commits in Equinox project in the past year: 28,000

Bottom line? Ask (early) and ye shall receive. Wait to complain when there's no time left in the cycle, and ye shall be disappointed. This is open source, people. You get back what you put in.

2008-05-13

Across The Intertubes

W00t. Ganymede M7 is out today -- here's something to read / listen to while you download it. If you use the Friends of Eclipse site, you'll probably get your bits downloaded before the first verse has finished playing. Membership has its privileges, as they say.

Bits are flying out like
endless rain into a pigeon coop
They syn/ack while they pass
They slip away across the intertubes
Pack-ed jars and XML
are drifting through my net, p2's
Resolving and installing 'em

Jai guru deva om
Ganymede'll rock my world [x4]

Finally there's self-hosting
now fixed for Ed and the rest of the Sad Men Club
(As Wassim calls them 'cross the intertubes)
Support for patches has improved
in many ways -- go check the news
And JUnits now report how long they take
to wend their way across your cpus

Jai guru deva om
Gany's gonna rock my world [x4]

Sounds of laughter, tons of code
installed for free: thanks, open source!
exciting and inviting me
Limitless undying love which
shines around me like a million suns
It calls me on and on across the intertubes

Jai guru deva om
Ganymede'll rock my world [x4]
Jai guru deva [x2]

The Beatles - Across The Universe

2008-05-09

Diverse City

Why I live in Guildwood...


Recyling boxes on the curb side
Little boxes made of PVC
Little boxes, little boxes
Make up this Divert City.


And the codeslave at the console
Gets up from the desk 'round noon
Needs to regroup and to refresh
And to clear his cobwebbed brain


So the codeslave at the console
Goes for a walk over to the ravine
Where it's calm, a little wavy,
And perspective comes again


And the dogs up on the hillside
Get mistaken for being twins
Though they are in appearance similar
They're by no means just the same.

(With apologies to Malvina Reynolds.)

p2'd

With Ganymede M7 just around the corner, and Eclipse 3.4M7 in the can, it's time for everyone to start playing w/ p2 again. It's come a *LONG* way from where it was in M6, thanks to the tireless efforts of the Equinox team. If you tried it then and got scared, please give it another look -- it's a much more user-friendly animal today. The promise presented at EclipseCON is coming true, despite some people's misguided attempts at humour last time around.

If you haven't tried converting an existing update site into a p2-enabled one, you should. I was very pleasantly surprised how easy it was.

And now, some Beatles for your Friday afternoon entertainment...

p2'd: it's not so bad
Took a sad song, and made it better
Remember to test drive it today
So you can help to make it better

p2'd: don't be afraid
You're now used to use Update Manager
The minute p2 gets under your skin
Then you begin to see it's better

And any time you feel a pain's p2'd, refrain
Don't carry the world upon your shoulders
Well don't you know that it's a nug who don't file bugs
Be they grit or Sisyphean boulders

p2'd: won't let you down
You'll have found the new Install Manager
Generate extra jars for your site
And you'll see that it's made much better

So try it out, yes, it's time for p2 to begin
Stop waiting for code freeze to download it
And don't you know that it's for you, p2'd
You'll do, the details you need are in the wiki

p2'd: works really well
Took a sad song, and made it better
Remember to let it into your heart
And you will start to see it's better

Na na na na na ,na na na, p2'd ...

The Beatles - Hey Jude

2008-05-02

Team Effort

Digging through my email backlog, I found this post on the google-summer-of-code-announce list, which reminds us that it's time for the Google-O'Reilly Open Source Awards for 2008 (nominations due by May 15).

Then I saw this... ;)

Ubuntu has done more to promote a desktop Linux than any other distro before.
And yet as a company contributes so little development resources.
You clearly do not understand open source. Like someone said the other day, all companies work together in the Linux desktop: Red Hat fixes the kernel, Novell fixes the applications, and Canonical takes the credit.

It's all a team effort.

Anyway, while successes at Eclipse are *also* the result of team effort, these awards are for individuals (the good kind, not the Teflon kind), and you can invent your own award titles. Enjoy!

2008-05-01

Welcome To The Machine

Looking for concert tix at Ticketmaster tonight, I got to talking about reCaptcha w/ SWMNBN, and found this video. Take a look.

Web 2.0 ... The Machine is Us/ing Us

In related news (or lack thereof), Terminator: The Sarah Connor Chronicles has not yet been picked up for a second season. C'mon, FOX, surely Summer Glau beating people up trumps another *freakin'* season of Family Guy or American Dad??

2008-04-26

Synch View Magic

Earlier this week, I opened bug 228701 asking for Mylyn filtering on the Synch view. (Please vote if you agree.) This afternoon in #eclipse-dev, Eugene pinged to ask why I don't simply use the Change Sets presentation in the Synch view, and Boris chimed in to tell me about bug 143419, "Strange tree rendering in synchronize view". Strange indeed.

I agreed I'd document my experiences with this view, but because Bugzilla is undergoing maintenance at the moment (thanks to our tireless webmasters!) and I want to share it while it's fresh, here's my account of how to make files vanish from the Synch view, though Mylyn continues to track them.

DO try this at home, as magic tricks in Eclipse are rare (e4 demo at EclipseCON with spinning views & scriptable UI elements notwithstanding), and this one's pretty cool.

Steps to reproduce

  1. Install the latest Eclipse 3.4 I build (I've got eclipse-SDK-I20080422-0800-linux-gtk.tar.gz.)
  2. Install Mylyn from its update site (mylyn-2.3.2-e3.4.zip).
    DO NOT unpack it first, just give the URL to Eclipse's new p2 / Install Manager or download the zip and hand it that. If you unpack it first, p2 doesn't seem to know how to find the features therein. But I digress...

  3. Check out some CVS project into your workspace. I used :ext:nickb@dev.eclipse.org:/cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.releng, from HEAD.
  4. Open Mylyn's Task List view (Shift-Alt-Q, Q). Create a new Local Task or open an existing Bugzilla task. Enable the task.
  5. Unfilter the Package Explorer view.
    This is one of my *very* few complaints about Mylyn -- I'm starting a new task w/ no context, yet it insists on filtering my view to show me my non-existent context, so I can't start selecting files on which to work until I unfilter the view. But I digress again...
  6. Open the Synchronize View (Shift-Alt-Q, Y).
  7. Configure the view as shown below:

  8. In the Synchronize view, select the Change Sets presentation (the toolbar icon that looks like a file tree).
  9. Create a new Synchronization. Type CVS, Resources to synch: Workspace. Hit Finish.
  10. Open some files in the Package Explorer view, and edit them. Watch as they appear in the Synch view as items under your Change Set (ie., as changes for your Local or Bugzilla Task)
    It would be nice if the Change Set title included the bug number, or could be configured the same way that commit comments can be. Not crucial, just a handy enhancement. For now, the task's title is sufficient.
  11. Pick some file in the CVS-backed project and copy it within the same folder. Notice how it appears in the Synch view as an outgoing addition.



  12. Here's where the magic trick starts. Made sure your audience is still awake.

  13. Disable your Task.
  14. Copy some file (could be the same one as before, or a new one -- doesn't matter as long as it's in a CVS-backed project. The new file will appear in the Synchronize view under a new <Unassigned> Change Set.

  15. Re-enable your Task.
  16. In the synch view, select the new file from under the <Unassigned> Change Set.
  17. As you select the file, it will be added to Mylyn's context for that task, and appear in the filtered Package Explorer. Note however that it didn't change from the <Unassigned> Change Set to your Task's change set. So begins the magic.

  18. In the Synchronize view, select the Workspace presentation (the toolbar icon that looks like a file tree).
  19. When you expand the tree, you'll see that your new file does appear as you'd expect. This tree should mirror what's in the Package Explorer (as in previous screenshot).

  20. Switch back to the Change Sets presentation, and get ready for your exit with flourish.

  21. Lo, that new file has vanished!

Image from Happy Tree Friends - I Get a Trick Out of You.
Courtesy of Mondo Media / YouTube. Used without permission.

2008-04-24

Thunderbird for Gmail Addicts

In order to encourage myself to check the Eclipse newsgroups more often, and to possibly reduce my bandwidth usage (thanks to Rogers' new pricing plan), I decided to try to use Thunderbird for my mail instead of Gmail (in a browser such as Flock, Firefox, or Iceweasel).

Once you've got Gmail configured to do IMAP and Thunderbird configured to connect to Gmail, there are a few things you can do to get back the Gmail experience.

  • To sync your Google Contacts w/ Thunderbird, use Zindus. This is required because Gmail's contact exporter only works w/ Gmail and Outlook. Note that this works best if you have no contacts already in Thunderbird -- or at least no duplicate entries.

  • To get back some Gmail shortcuts (j/k to navigate, y to archive) & Gmail search expressions, install GMailUI.

  • To set default sort order in views to 'newest on top':
    Edit > Preferences > Advanced > Advanced Configuration > Config Editor... > type "sort" > set mailnew.default_sort_order = -1
  • To set message reply to be above the quoted message instead of below:
    Edit > Preferences > Advanced > Advanced Configuration > Config Editor... > type "reply" > set mail.identity.default.reply_on_top = 1
  • To hide labels (mailboxes) which have no new messages, you can either select View > Folders > Unread, or you can click these tiny buttons to cycle the Folders view:

  • To default-filter your mailboxes to show only unread, use View > Messages > Unread. Or, use View > Threads > Unread or Threads with Unread, if your prefer.

2008-04-20

Four and Twenty

Congratulations to Marcelo on the second release of his Progeny project. In tribute, I've released like-named EMF & XSD builds this weekend. (You may remember an EMF 2.2 build named for Elena's new arrival.)

Because I have a bit of a fixation with numbers (and some people have a sense of humour), there's also a new UML2 build.