Archive for July, 2008

“So what?” test for software

July 10, 2008

It is widely known that any published text must pass the “so what?” quality gate. The following post tries to extend this to software.

Imagine that you have a scripted language code (in my sample, apache maven) which allows the caller to provide values to one or more variables.

Within the pom.xml file, there is a line like:


And the caller is able to provide a value to the variable, with the call

mvn install

So far so good, but what about if the structure is much complicated, and the user misspells the variable name in the command line call? In this case, no error or warning is issued, the variable uses the default value. This only because the interpretor is unable to question “so what?” the command line.

The implementation of such a feature is difficult: the software should be able to keep track of the variables, their definition source and the amount of accesses. If an user defined variable had no accesses then is as good candidate for the “so what?”

Kubuntu 8.04 – two months later

July 6, 2008

Two months later after my first blog about Ubuntu, I am still using it.

My main use cases are office/browser/messenger (open office text, PDF view) and software development using Java (Eclipse, Netbeans). For software development reasons, I have few virtual machines within VMWare Server.

In two months I found lot of issues, some I managed to solve, some I can live with.

  • sometimes the system “freezes”. Any attempt to run sudo hangs. Reboot doesn’t work either. I have no idea why is this happening, although I suspect the network driver (Marvell Libertas / ndiswrapper).
  • sometimes the network connection drops and does not restore. It is again the network driver.
  • After a kernel or module update, the proprietary NVidia driver looses it’s settings. It seems the Package Manager of Ubuntu is unable to acknowledge that another X Server is installed.
  • Sometimes the available patches are out of sync, they cannot install. It seems in the same time are available conflicting versions of various packages.
  • I use KDE 4. The task bar becomes sometimes “fuzzy”. It fails to paint properly. The clock also shows unreadable digits.
  • ndiswrapper seems to be very sensitive: installing a Xen enabled kernel hangs the computer forever.

I think my problems will end when:

  • the wireless will be replaced by wired network (or I buy another wireless card, compatible with Linux)
  • Replacement of the video card. Two GeForce 9800 GX2 are on the way for a high performance computation project. At the end of the project I will use one of them as a graphic card, although this will require a power supply upgrade.

For these reasons, I strongly believe that Linux and particulary Ubuntu is not for the business users. Even if I am able to solve an issue, I will be unwilling and unable to solve it under pressure. More, the observed impact of the patches seems more aggresive than the impact of patches from the operating systems built in Redmond.

If you still plan to use Linux for business workstations (meaning – a large network of office computers, front line computers, etc), you may want to:

  • Use Linux certified hardware only (this will reduce the spectrum of choice and most of the certified hardware are more expensive than the average).
  • use a patch management tool to give you the ability to test the patches before sending it to your computers. Since most of the failures are hardware related, you should be able to test for all the hardware you own. Although such tools exist for Microsoft Windows, I have no idea who produces a patch management tool for Ubuntu.