Archive for May, 2007

Vi Keybindings for Eclipse?

Thursday, May 31st, 2007

I love Vi and Eclipse for very different reasons. Eclipse is a kick-ass Java IDE, and vim is possibly the best text editor out there. I wish I could combine both applications into one - giving me both the convenience of an IDE and the raw editing power of vi. Komodo Edit which I reviewed recently comes very close to what I want. It essentially aims to emulate vi behavior inside it’s own editor. This has both advantages and disadvantages.

Main advantage is that you can still use the IDE’s advanced features such as tool-tips, auto complete, code folding, bookmarks and etc. Downside is that few more obscure and advanced vi features simply won’t work. I’m perfectly fine with that compromise, and working in Komodo Edit has made me more productive than ever.

I would love to have the same functionality in Eclipse so that I can totally kick ass when I code Java as well! Unfortunately, I have yet to find a solution that could even remotely compare with what Komodo did to my PHP coding environment.

There is a plugin out there which does exactly what I want - it’s called viPlugin. It integrates with Eclipse and seamlessly emulates VI editing patters exactly like Komodo does. Unfortunately it’s not free. The pleasure of using this plugin will cost you $20. The author offers a free trial version, which is essentially unusable - it pops up a modal, focus stealing dialog that nags you to buy a full version every 3 minutes or so.

Let me recap this for you: this is a plugin, which adds a non-essential set of features to a completely free IDE. Who in their right mind would pay $20 for a plugin to a free product? I certainly don’t need these key bindings that badly! If the price was less steep and the nag-dialog was less annoying I would seriously consider spending few bucks on it. Hell, I’d even consider donating few bucks to this guy if I would find myself using the plugin extensively.

But that dialog is just rude, and inconsiderate. It’s like the author is so afraid that someone might actually use his app without paying he will go to great lengths to make trail version unusable, and downright annoying. I hate this way of thinking - it makes you look like a greedy asshole who doesn’t give a shit about end user experience.

In clear conscience I can’t support this sort of behavior. So viPlugin lost me as a customer. Too bad, because this was really what I was looking for.

No one else seems to be working on this sort of project. There are several Vim/Eclipse mashups out there, but none of them seems to actually provide Komodo like experience.

For example Vimplugin is an Open Source project that actually lets you use a full blown vim instance inside the IDE. They accomplish this by using the JTA terminal emulator. You provide your own command line version of vim, and it will get loaded as a tab in Eclipse interface.

Upside of this is that you get a full blown version of vim, configured the way you like it. Downside is that you loose most of the cool Eclipse features such as folding, tooltips, auto complete and etc… I tried the plugin and it works fiine. It’s just not what I was looking for. I might as well launch vi by itself in a separate window for the same effect.

Eclim project does something completely opposite from Komodo. Instead of trying to bring Vim key-bindings into an advanced IDE, it tries to bring the IDE features into Vim. I haven’t tested it, but it looks intriguing. You get code completion, inline error checking and all that good stuff directly in your Vim window. I’m not sure if all the Eclipse features can work this way. For example, I can’t imagine how would they implement the built in Eclipse debugger this way.

I also found a project dubbed Viclipse on sourceforge. It seems to be very similar to the viPlugin in scope, but it is in a very early development stage. It also seems abandoned - no one has checked any code into the CVS in a year.

I guess I’ll have to code without vi key-bindings in Eclipse. Unless of course you can point me to a better solution than the ones I listed here.

Update 01/15/2008 10:11:33 AM

In retrospect I think that I might have been a little harsh on ViPlugin. Who am I to tell people what they can or cannot charge for their work? Michael - the author of the plugin was nice enough to stop by and tell us why he chose to make it proprietary. See the comments for his take on this. He seems to be a really nice guy, and he is being a good sport about this whole rant here so I say he is off the hook. ;)

This is why I have no fate in the future of humanity…

Wednesday, May 30th, 2007

Guy calls me today, and you can hear from his voice he is on the verge of tears. He is literally about to have a nervous breakdown - his computer just stopped working. Nothing works! He can’t do anything. Everything is messed up. He is going to miss the deadline and loose his job. Yeah, like he is the first guy who missed a deadline around here - I actually built an app that automatically emails these people 3 days past due date and nags them for their shit. Anyway, sky is falling, people are dying and it is über emergency.

Turns out he tried to “import” a Word document into a spreadsheet and somehow managed to associate all .doc files with Excel. It took me about 25 minutes to extract this information from him, and about 30 seconds to show him how to fix it. Sigh…

Another dude has a wireless 10-key for his laptop. It stopped working - the USB dongle lights up but the key presses do not register. The thing takes AA or AAA batteries - so most probably it’s just out of juice. I told the guy to just flip it over, open it and replace the batteries. He was trying to open it for 10 minutes and couldn’t figure it out. Sigh… I’m sending him a wired 10-key so that he won’t have to worry about changing batteries anymore. I don’t know the exact model he had but I’m pretty sure it’s not rocket science. And I don’t think he just wanted a new one - if he just said his 10-key is old, uncomfortable, or cuts out I’d replace it with no questions asked. No need for the whole “I can’t figure out this battery thing” song and dance. I truly believe that the guy is just that clueless.

How do these people survive in this world? How do they manage to hold on to their well paid, white collar, desk jobs? Not everyone has to be a computer whiz, but Jesus Christ people! How about just learning some basic stuff so that you don’t have a heart attack every time your computer or electronic device does something unexpected?

Sigh, you just can’t make this shit up.

IDK, MY BFF JILL?

Wednesday, May 30th, 2007

So full of win:

Epic Win!
click to embiggen - © Rebecca Gunter

I have no clue who made this. It’s signed RIG or RLG or something like that. If anyone knows the sauce let me know so I can give proper credit to whoever made it. I originally found it here.

Finally found the author. Her name is Rebecca Gunter, and she officially wins the internet.

I hate that fucking commercial.

Dr. Keanu Osterman?

Tuesday, May 29th, 2007

It seems that Keanu Reeves might be playing John Osterman, aka Dr. Manhattan in the upcoming movie based on the cult graphic novel The Watchmen. Somehow, I really don’t see it:

Dr. Manhattan - OriginalDr. Manhattan - Keanu

Personally, I think that playing a super-intelligent, all powerful being is a bit out of Keanu’s league. He pretty much has three modes of operation: a surprised surfer dude mode, a stoned surfer dude mode and pissed off, drunk surfer dude mode. This might have worked ok for The Matrix but since it was original work, we just have to buy into the fact that Bill of the Bill and Ted fame is humankind’s virtual messiah.

Constantine was not all that bad either, but then again I never read the comic so I can’t tell you if he really accurately portrayed the original. But John Osterman - the living god? Seems a bit of a stretch.

Then again, if you read the comic you will probably notice that Dr. Manhattan mostly just blankly stares into empty spaces - which is something Keanu can do really well. Hell, it’s one of the few acting techniques he actually excells at. Can there be a method to this madness then?