Archive for April, 2007

Rant: Installing Ubuntu 7.04 With An ATI Video Card Just Plain Sucks

Thursday, April 26th, 2007

I have to say I’m pretty annoyed with Ubuntu Linux at the moment. I’ve been wrestling with it all afternoon and evening to try and get it installed and working on an Lenovo / IBM T60 Thinkpad, and thus far it’s been a huge waste of time. After much googling throughout the day and trying many different things out without any success, I finally came across what I think the problem is, so I’m downloading yet /another/ ISO of Ubuntu to install.

Long story short, when trying to install Ubuntu 7.04 or upgrade to 7.04, XWindows is totally broken and won’t start with many ATI video cards, including the ATI Mobility Radeon X1400 which is in the T60. Dealing with XWindows was a deal breaker many years ago when I first tried switching to Linux on the desktop, and I can’t imagine their target audience trying to fix a problem like this.

I’m not so much annoyed that it’s a bug, but rather, it was a bug which did not exist in previous versions of Ubuntu, and was known about before Feisty Fawn was released. While ATI is known to barely even provide Linux drivers, I think the blame primarily goes to Ubuntu as this bug was filed and reproduced before the release date. I was able to install previous versions just fine, but 7.04 would simply not install. Someone didn’t do good regression testing or should have called this bug as a blocker for the release. Shame on you, Ubuntu QA, or whoever allowed this product into the wild without fixing the bug. I even read the release notes before installing this and there was nothing mentioned about this bug. I don’t know enough about the ATI driver fiasco in general, but they definitely share some of the blame in general for being the cause of the bug to begin with.

Ubuntu “Feisty Fawn” 7.04 should not have shipped with such a major bug for a large segment of users.

UPDATE: Looks like this is not the only major bug they shipped with.

Java 6 Shipped With Ubuntu 7.04

Friday, April 20th, 2007

Ubuntu 7.04 was recently released, and is the first Linux distribution to include the Java SDK as a standard part of the Operating System. This is exciting news and goes to show that the effort put into open sourcing Java is starting to pay dividends. Being that Java was non-free before version 6, it was not included in any standard distributions (that I know of at least).

Now if only Apple would get their act together and ship a version of Java 6 which was final instead of the current Alpha which was last updated in September. Or even better, maybe Sun could actually produce a Java SDK for Mac OS– wouldn’t that be novel?

A Good Java NIO Tutorial

Tuesday, April 10th, 2007

One of the newer features of Java as of 1.4 is non-blocking IO, yet it’s very hard to find decent documentation about it or even a simple tutorial. NIO is a very powerful feature but easy to get wrong given it’s complexity. However, James Greenfield, an engineer for Amazon, recently announced that he’d put up a tutorial for NIO, including a lot of important details of using NIO with SSL.

Tomcat 6 Surpasses 16,000 Simultaneous Connections

Thursday, April 5th, 2007

Fillp Hanik recently posted a blog entry about a load test comparison he did using Glassfish, Jetty, and Tomcat 6 using the new NIO (non-blocking io) connectors in which Tomcat 6 was able to handle 16,000 connections. As always load tests should always be taken with a grain of salt, but it certainly did produce some interesting results (especially when compared to other servlet containers).

I’ve been working on a sizable project at work that uses NIO under the hood, but luckily I’m using a 3rd party library which provides the network connectivity for me. It seems that NIO is very hard to implement correctly, but if you can, the performance advantages are definitely worth the effort. I’m only a few days away from starting to do some load testing on my work, so I’ll be interested in seeing the performance improvement over the section of code I’m replacing which uses standard IO (not to mention the various synchronization and thread consumption problems I’ll be fixing).

Being able to quickly handle a large number of concurrent connections is definitely a requirement for today’s AJAX applications, and it’s good to see an NIO based connector from someone other than Jetty.