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

2007-11-30

Windows: A Survival Guide, Part 4: Long Paths


Specify a different file name?!?
-- How can you create a file you can't delete?

So what's the fix here? Rename the folders until the path is short enough for Windows to let you delete it. Or use Linux. ;-P

2007-11-29

`man uubp`

On a lark (not a lart) I decided to waste a few minutes and installed the Debian funny-manpages and asr-manpages .deb packages. I tried the obvious man sex and man woman but then realized quickly there was no index to find all the rest.

Some quick digging into /usr/share/man found the "*.fun.gz" bundles, but that wasn't entirely useful either because pre-existing entries, like echo or date returned the real entries, not the spoofs. A little for f in $(find /usr/share/man -name "*fun.gz"); do g=${f/gz/txt}; man -l $f > $g; done later, and I've got them all as text files instead of gzipped nroff files.

To save you the work and serve up the funny, I've posted them here. You can beer me later.

2007-11-23

Eclipse Modloling

As it's Friday and I'm not feeling creative, here's a lolcat (thanks to ICHC!) you can fill in yourself. I'll even give you a topic.

The Tigerstripe project proposal is now posted at Eclipse, ready for community feedback.

Is this a good thing? A bad thing? A corporate version of the existing Modeling Project? Should it be debranded and contributed to Modeling? Should it stay branded and exist on its own? Can the Eclipse Foundation really support a project coming with its own branding, if that branding isn't owned by Eclipse? (Consider the rebranding issues with Mylar/Mylyn & Maya/Maynstall.)

And as with Subversive/Subclipse and PDT/phpeclipse, is it really the best approach to have two projects competing for resources when they could instead be sharing them?

Frankly, I don't know enough about Tigerstripe to form an opinion yet. Read it yourself. Post your comments or lolz below.


Woof, meow, and get out of the way.

2007-11-21

Modeler Bees

And now a little ditty to cheer up my fellow modelers out there on this miserably wet & grey day. If you're not already a regular in #eclipse-modeling, please drop in and say hi! Thanks to Dave Steinberg for his invaluable assistance in writing this one, and to Ed for the bee pic.

March on, modeler bees!
Know your MDD!

We take our orders given by the spec
Our PMC leaders are Ed and Rich
If you resist us you will feel our sting
Don't code by hand when you can use codegen

Control input with importers!
Control output with genmodel!
Follow the schema totally!
We can reuse our models

March on, modeler bees!
Use your MDT!

A Ph.D. once coming from the west,
And in a flash! OMG, made a nest
Supply of models flowing bottomless
Input any form, you're not powerless

Bidi reference handshaking!
Reflection: code generically!
Conform to schema totally!
We save time with our models

And we'll merge... along, with our genmodel
And we'll fly... our JETs, with our templates drawn
Can the suits... in blue, believe what we've done?
We can regen our models

And we'll merge... along, with our codegen on
And define... constraints, validators drawn
Can even... record, changes that we've done
When we modify data

Can we persist our models?
Yes, go see E-M-F-T!

Billy Talent - Worker Bees

2007-11-17

Defraggin' Physical

I wanna trash you baby
I wanna take you off
I wanna reformat you
The way you grind and grind and die
I want you right off my disk
So gone from my drive
Don't need a key to my OS
Or a phone to call n' snitch

Cuz you're too physical, physical to me
You're just too physical, physical to me

Don't want your Vista baby
I want this right in your ear
Don't need to buy new hardware
No closed source OS now let's be clear
Don't want the touch of your bugs
The constant updates
Don't wanna say all those things
That would be better unsaid
No!

But you're too physical, physical to me
Who needs a 2 Gig swap file, eh?
Used to come out on floppies
Now you're a whole DVD
You're really jus- just too- just
Defraggin'? No!

You're just too physical [x2]
Defraggin' physical
No no no no no no no!
Oh you're too physical
Just too physical
Just too

nin - physical (you're so)

M & 3s

You and I should get away for a while
I just want to be alone with your smile
Download some features and plugins to update the IDE
We'll blast the stereo and we'll build with PDE

Because when I'm with you there's nothing I couldn't do
I just want to be your only fool
I'm grasping out at straws thinking back to what I saw
That night I tried to use that other tool

IRC was getting so bland
There are only so many ways to type '~faq' with one hand
Sometimes it makes me want to laugh
Sometimes I want to take the toaster in the bath

Because when we're with you there's nothing we couldn't do
And now it's time to share that love
We all oughta be testin' out Gany M3
Cuz there's no free help coming down from above

Who wants to live the bleeding edge?
I want to to live the bleeding edge.
Are you going to help testin'
Or are you assuming it'll work out in the end?

Blink 182 - M & Ms

2007-11-15

Happy Usability

I'm sure you've all heard is a million times. Boy meets tech. Boy falls in love with tech. Boy documents tech. Boy shares tech with others. Others read documents, scratch heads. Doc gets rewritten. ;-) Yes, this comes from recent personal experience. Just a day in the life.

dev screams he thinks he knows what you want
dev screams thinks he has something well said
dev screams hears feedback but doesn't wanna listen
dev screams he's being beat into submission

don't open your eyes you won't like what you see
designing for truth or usability
don't open your eyes take it from me
i have found
you can find
happy usability [x2]

dev screams he spends his life rewriting wikis
dev screams he claims it's fun - yeah right - no really
dev screams he's got to start all over again
dev screams at least sometimes others share my pain

don't RTFM you won't like what you see
there's too much detail or a scarcity
don't open your eyes take it from me
i have found
you can find
happiness in ID [x3]
happiness

i don't know what i am but i know where i've been
releng work just words so much buildin'
stick my hands in the code of this endless routine
help the folks caught in this big modelin' machine

happy in codeslavery

nin - happiness in slavery

2007-11-12

Password Reset Hell

My Notes password expired on the weekend. November 11th, in fact. Apparently the 'lest we forget' messages about WWI and WWII this weekend made me forget about the triviality of my password expiry. Oops.

So, I logged in this morning to discover I couldn't get on my VPN network. Called lab IT support. Was told to talk call Corporate support, via the 888 number.

No, they couldn't just forward me there. No, there's no IVR automated option for 'Password reset' which auto-forwards my call there.

So, I called the 888 number, and got 4 options, none of which fit my problem. You'd think this would be a FAQ and thus merit a menu option, but apparently not.

Tried the "other resets" option, which tells me to use a website which I can't access because it's behind the VPN firewall. Woo, circles.

Backed up one menu and tried the password reset option for the old AT&T VPN client, which generated an email sent to me (which I can't access as I can't get on the VPN) and to my manager. Manager pinged acting manager, who pinged me on IRC. Thank the gods I managed to convince him to lurk in #eclipse-modeling!

End of story? Hardly. Password didn't work.

Called lab IT support again. Explained problem. Told to call the 888 number again, but this time pick 'Notes password reset' and then speak to a human. Why is 'VPN password reset' hidden under 'Notes password reset' in the IVR menu? Good question.

Called 888 again, chose the Notes option, and was told "for Notes password resets, go see the website ... or, if you tried that and it didn't work (way to instill confidence there), stay on the line and we'll let you talk to a human." (Yes, I'm paraphrasing.) Sat on hold about a minute. Got a human, who reset my password. Woohoo.

Manager pinged acting manager who passed it on to me and this time it worked. Logged into VPN. Story over? No, it gets better.

Fired up Notes. Notes password had expired (Notes has been nagging me for a week to reset my expiring password, but I didn't get any reminders about my VPN password's expiry, and had forgotten that they now expire on the same schedule). So, I can't check mail until reset the password. Used the new one so that they'd be in synch and expire together. All is well?

No, not yet. Checked mail. Found note with new *temporary* password in it, expiring in 24hrs. Damn, gotta pick a new one. Went to password reset website to set new password. Stored new password in password store for safekeeping.

Now I have to reset my Notes password again so that it's the same as the network one. Click File > Security > User Security. Prompted for password. Click Change Password. Prompted for password again. Why do I need to enter my old password three times (at login, to access security options, to change password) to change it? Good question.

An hour of productivity lost, including 4 phone calls and wasting the time of both my managers, just to reset a password. Must be Monday.

2007-11-09

403'd


Error 403: Access Forbidden!

2007-11-03

Fallen Leafs

Hee hee. Cracked rips the Toronto Maple Leafs a new one for their willfull mispluralizing "leaves," even if that's allowable. Me, I just point and laugh whenever anyone says "maybe this year." Not until the franchise starts to suffer will management pay for skilled players. Still, I can't complain -- afterall, SWMNBN's pension is heavily invested in MLS&E.

Lies, damned lies, and a side order of acronym soup

By my calculations, EMF has scored over 2 million download requests since 2006-01-01. That's a huge number, but it's also an inaccurate number because our stats gen was broken for a while so there's a big hole in the Update Manager download stats. As such it's probably much higher, given the traffic we've had since the stats tool was fixed.

Looking at the overall numbers for all the tracked Modeling projects, we've had 5 million download requests since 2006-01-01 for EMF + M2T + MDT ... and that's just the Update Manager requests!

It's also fun to see who's downloading our bits. As expected, the US tops the chart, with Canada a respectable 8th. To get a sense for where EMF is used consider where the following projects are developed:

  1. US: GMF, M2T-JET, WTP, TPTP, VE, ...
  2. China: MDT-EODM, TPTP
  3. France: EMFT, MDDi, M2M, GMT
  4. Canada: EMF & EMF-QTV, MDT (UML2 & OCL), M2T-JET, GEF, GMF, WTP, TPTP, ...
  5. The Netherlands: EMFT-Teneo
  6. Czech Republic: GMF, MDT-UML2 Tools

To paraphrase Ed and the Zulu people, "umuntu ngumuntu MDD!" ;-)

2007-11-01

Beyond CVS, Subversion & Cirrus

Some news about the Beyond CVS project:

  1. With the release of version 0.7.0, Chris recently added support for doing SVN compares.
  2. Because of this, "Beyond CVS" is now a bit of a misnomer, so we're thinking of refactoring the project to better represent its scope and use. As part of this, we're wondering if the WinSCP and Putty support should be moved to another project or just a secondary feature/plugin. If you use this project, please let us know your thoughts.
  3. Beyond Compare 3 Beta (aka Cirrus) is almost ready for its public beta release. It's got some cool new features like native Linux support (including -flags instead of /flags), three-way compares/merges, better syntax colouration, the ability to copy entire blocks of changes instead of just single lines, and the ability to edit files right in the Text Compare view.

For anyone who's in the private beta group, here's a quick patch in order to be able to use Beyond CVS with Cirrus on Linux. (Windows users need no such patch as the old BC2 commandline syntax is still supported in BC3.)

$ diff -u Cirrus.sh Cirrus.sh.new
--- Cirrus.sh   2007-11-01 22:08:42.000000000 -0400
+++ Cirrus.sh.new       2007-11-01 22:25:39.000000000 -0400
@@ -22,7 +22,12 @@

 #execute the program.
 chmod u+x $EXEC
-$EXEC $* >& /dev/null
+while [[ $# -gt 0 ]]; do
+  if [[ $1 != "/rightreadonly" ]]; then
+    args=$args" "$1; shift 1;
+  fi
+done
+$EXEC $args >& /dev/null
 #$EXEC $* >& $BASE/Cirrus.log

Stay tuned for news of the public beta!