Archive for July, 2006

Browser wars 2.0

A two for one today. Just a lot of things to get off my chest.

Recently I got into a discussion with a former boss about task specific browsers. This thought was no doubt spurned by our recent experience with Xul-runner and this article on TechCrunch. Needless to say, we both felt like we had missed the boat on that idea.

However, the conversation did lead me to think about how much time I spend in browsers. In fact, short of writing java code and changing the song on my music player, almost all of my interactions with the computer come from the browser.

This post is being put together on the browser. I work on web-apps, so I spend a good amount of the day testing my code in a browser. Google is becoming like air, I can’t function without it. I’ve even moved away from my email thick client to a web-based one.

All of this makes me very interested in Browser Wars 2.0. Browser Wars 1.0 was kind of dull. There was Netscape, which was horrible and IE which was much better, but evil. Since evil always triumphs over good, because good is dumb, IE was the natural choice. This meant that the first iteration was really a competition to see who could be less bad.

This time it’s different. Most websites look and work well in most browsers. The question who is going to be able to create the browser that is the most pleasant to use. So far, I think Opera is winning and IE has no hope. But I could be wrong. Plus, there are the new breed like flock which are tying into this whole Web 2.0 thing. I’m holding out hope that the end result of it all will be a better browser, which is a really good thing since I spend so much time in one.

  • Share/Bookmark

Eclipse vs IDEA Intellij Revisited

It’s been two months into my new employment and I’ve found myself un-convinced by the IntelliJ-vengelicals. Which isn’t to say the IntelliJ-vengelicals don’t have a point.

For instance, Eclipse crashed on me today. I’ve never had that happen to me on IDEA. Also, IDEA does have better support of web-technologies, at least until you find the right plugins for Eclipse. Plus, IDEA lets you completely ignore certain files at the IDE level, without requiring you to add them to your version control ignore files.

As far as speed goes both are equally fast (or slow, depending on your perspective). Overall, I still believe that IntelliJ has a lot of nice little things going for it. But it’s those big major things that keep me on Eclipse.

In my mind, Eclipse’s strongest point is the version control view. Instead of a thinly veiled wrapper around the command line versions, the Eclipse view feels like a real tool. Nothing else that I’ve used so far makes as much sense. I can see what’s coming in, going out, and what’s in conflict and have a chance to review everything before I perform the action. The reduction in accidentally committed files is worth the move to Eclipse alone.

The second point is the one where I could see a bit of debate. Coming from the multiple desktop world of X11 window managers, I find Eclipse’s concept of a perspective much more suited to the way I work. The random tabs opening from all sides of the screen really began to irk me on IDEA. I like the fact that I have a different view when I’m editing source code, debugging it, or synchronizing it. To me, these are all distinctly different tasks, and I’m more comfortable in an IDE that acknowledges that.

Which brings me to the final point of contention with IntelliJ. Swing is a bear to look at for 8 hours a day. Granted, some of the swing themes aren’t bad looking, but the absense of anti-aliased fonts on most IntelliJ views gets annoying. Add that to the fact that Swing and Compiz don’t currently get along makes for a decidedly dot-com bubble era feel. Eclipse, of course, uses Gtk widgets on Linux, which means that if Gnome looks good, Eclipse looks good.

At the end of the day, both are good choices that come down to personal preference. However, I’m sticking to the one that works with Xgl and costs $500 less.

Quick links:
Eclipse
IntelliJ Idea

  • Share/Bookmark

Xgl hiccups

Well the honeymoon with Xgl is coming to an end. Not to say we won’t continue to have a happy relationship, but things aren’t perfect anymore.

On my laptop, window resizing is really slow. That can be kind of annoying.

Far more annoying is nested X sessions seem to crash Xgl. I have had this happen Vnc’ing to my Mac Mini and when trying to run Intellij Idea in Xnest. I don’t think it’s just the build of Xgl since this is happening both on my Fedora Box and SUSE box. Not really that big of a deal since Vnc still works to Linux and I don’t use Xnest much.

Which brings me to the really, really annoying problem. Xgl breaks a lot of Java swing apps. All that happens is the java app shows a blank grey screen. The odd thing is, you can click on where things should be (such as the top menu bar) and you’ll see what you’re supposed to. Overall, a really annoying problem if you are a java developer.This bug suggests the culprit is a missing event that compiz doesn’t provide to the jvm.

Thankfully, I’m a Java server side developer and the only java swing app I use is Idea. And, through the Ubuntu forums, I found a temporary work around while we wait for either compiz or jvm to be fixed. The idea is to launch metacity, launch the java app, then restart compiz. The commands:

metacity --replace &
start java app
compiz --replace gconf &

Your java app should work correctly from here on out. Not the greatest solution, but one that seems to work.

  • Share/Bookmark

Why I moved from Slackware to SUSE

Yesterday, I blogged a little bit about how much I love Xgl on my new SUSE box. However, I handwaved over why a long-time die-hard slackware user would switch to a distribution such as SUSE.

The reasons I like Slackware and continue to use it on most of my other machines are many-fold. First and foremost, it feels like a “real unix” (TM). The boot process is elegant and simple. All the config files feel like they are in the right place. There isn’t a lot of junk that you’ll never need. Plus, Pat must be using some magic gcc because plenty of ancidotal evidence suggests that slackware is even faster than Gentoo. In other words, it’s the leanest, meanest version of Linux out there.

Beyond the practical, Slackware best epitomizes the essence of Linux. There’s a lot of history. Slackware was around from before the linux kernel was 1.0. Slackware isn’t run by a large mutlinational organization. It’s run by one guy (don’t know if he works out of his basement or not). Nor does Slackware try to force you into doing anything in any specific way. Slackware comes with KDE, but there are plenty of third party providers for Gnome. Slackware uses it’s own package mangement system, but comes with rpm. Of course, you can always install things from source.

A slackware install is a clean slate with endless possibilities with no limits. There’s never a point where something can’t be done. You are never more than one patch, config file change, and re-compile away from a solution. The mere fact that I knew I could get my systems working the way I wanted and that they would stay working was the biggest draw for me over the last five years.

So why then, if I’m waxing so elequent about Slackware why did I switch to something antithetical to what I find wonderful about Slackware?

The answer is not actually all that interesting. After five years, it was time to try something new and give the big, “user-friendly” distos another chance. I’ve used Fedora on and off for the last year at the places of my employment and have yet to be impressed. Unbuntu has a bone-headed restriction about users with an underscore in their name (a small problem when you’re the vi_jedi). I have little desire to spend the rest of my life compiling software, which ruled out Gentoo.

That left SUSE and Mandriva. Between the two, the choice came down to Novell makes SUSE and Novell makes Xgl. And I wanted Xgl. After a few major hiccups with config files, I’ve got SUSE up and running. So far it’s pretty nice and I’ve been thrilled with the windowing environment. However, the rest of my machines are staying Slackware for now ;)

  • Share/Bookmark

Xgl (WOW!)

Last weekend, I decided to move my laptop from Slackware Linux to Open SUSE. The reasons for this will be detailed in another blog post, but the change gave me an easy way to try out the new OpenGL based XServer Xgl.

After installing it, all I can say is WOW! It’s been a few days and my jaw still drops when I use my computer. The special effects alone are really neat. The windows become transparent and wobble when you move them around. Trying to resize a maximized window causes the window to pull away in that direction. Menus fade in and out. Windows have real transparency (ie you can see contents of the window behind the front most window). When you switch desktops, you can actually see your desktop rotating around a 3D polygon.

Desktop Cube
More screenshots

Most impressively, these features are only the tip of the iceberg. The real meat is each window updates in all views in real time. This means that when I’m looking at my desktop “cube,” cycling through the desktop-switcher, alt-tabbing through the window list or using the Mac OS X like Expose feature, I can see exactly what’s going on in my windows at that time. So not only is this great eye-candy, but real useability too. I no longer have to look through every terminal via alt-tab to find the one I want. I can simply drag my mouse to the top right corner and see every open application. Add the automatic transparency and suddenly I have a very solid spacial awareness of where all my windows are.

Of course, these statements might just be justification for all the eye candy, which, to reiterate, is absolutely amazing. I could easily spend a day just rotating the cube and moving windows around.

More information:
Xgl Wikipedia Page
Xgl SUSE Howto
Kororaa: an Xgl Live Cd

  • Share/Bookmark
Return top

About

This is my blog about programming. For random stuff, checkout my Twitter or Tumblr