Monday, October 19, 2009

Have you ever considered Linux?

To cut the story short, I actually have been spending the last two weeks on 64 bit Ubuntu Linux.

It was fast. So fast. There was no lag on Eclipse mouse and key strokes as experienced on Vista. GWT compile was somewhat faster. I also feel GAE jetty response is faster. The Gnome desktop was great, though I am reading that KDE might be a better choice, aesthetically. And most of all, unlike Vista, the screen does not traumatize you blanking out for a few seconds each time it requested superuser privileges. What were the Vista designers thinking about? I am always wanting to ask any Vista insider - what the heck were you thinking or smokin when you introduced the pre-permission blank screen?

The installation was also less tedious and quicker than installing a Windows operating system. I used to worry that with the amount of features and infrastructure Microsoft provides that Linux had no means of being a viable or practical useable office networked deployment. After really using Linux, I am starting to worry for Microsoft because my twenty years of experience in IT for office and factory automation is telling me that Linux deployment is more supportable and office-sustainable and would be cheaper to maintain than a deployment based on Microsoft Windows. My concern now is how to keep a lid on Linux and continue keeping financial decision makers hoodwinked so that corporations continue to be addicted to Microsoft and so that Microsoft would not become another, now defunct, Digital Equipment Corporation. A financially viable Microsoft is good for the world - if not for the world, at least for this country.

I chose Ubuntu over Fedora because, well ... Dell chose it. Therefore, while I am more informed on Ubuntu now due to my focused attention on it, I can safely profess I have had insufficient exposure to Fedora to compare Washington apples with California apples.

Due to my prior exposure to Solaris and VMS, I have a strong attachment to unified system and library management. A concept that Microsoft propagates too, but which you could easily circumvent to install an application which replicates instances of libraries that are already installed on the machine multiple times in multiple locations by other applications. There are Java applications that force you to reinstall a whole JDK on their installation directories.

However, Ubuntu through Synaptic Package Manager and its Debian-based software repository system almost always force applications to be installed in a coordinated non-replicated manner, or otherwise make it really really really inconvenient and unworthwhile for the user and application not to. Which is good because, while my Vista installation minus non-Microsoft software is a bloated 60 GB, my Ubuntu installation with lots of stuffs (various JDK, Eclipse, Tomcat, Open Office, etc, etc) installed is only a miserly measly 5.9 GB.

Ubuntu is good for saving disk space.

However, a former colleague of mine believes in free-standing applications software libertarianism. He believes - the OS should not constrain us from using our own instances of libraries, our own versions of an application so that the application we produced could be packaged within a portable directory that could be singly moved by a USB flash stick to be run on any system. He believes that the advantage is that we would have the freedom not to infect a system if our application requires the use of an alternative version of a resource. He believes that and had successfully persuaded management that software-installation libertarianism is not only in the spirit of agile development, but the only spirit of agile software development!!!

I wish to say emphatically and empathetically that his view-point and those who subscribe to the attitude of free-standing applications software libertarianism is dead point-blank wrong. Worse still, I have had so many freakn years working in both agile cycles, extreme engineering as well as the dreadful full cycle waterfalls, that I can say that software-installation libertarianism is barbaric and has nothing to do with agile development. Under such an environment, it was frequently difficult to track which customer was using which combination of stuffs. Frequently, such an environment even allows inconsistent different releases of the same version. So, we had to manage and track all the different combinations of packaging containing whole copies of source codes down to the libraries and open-source ware marked by customer and package datetime. So, this is agile?! This strategy was supposed to make it simple and idiot-friendly so that the field engineer did not have to mess around with installation procedures. But then the field engineer had to manage the multiple packages that are being installed, no not installed but dumped is a better word, at various machines of the same customer site.

Under Synaptic and Debian management, all a developer has to do is to create alternative versions of resources and install them through debi. Every variation is tracked. Software wise, some people are Libertarian Democrats, but I am a Socialist Republican. I believe that utilisation of the environment and infrastructure should be coordinated, conserved and not replicated in a wasteful manner so that real Capitalism, truly free enterprise and actual freedom could flourish adaptably, cheaply and flexibly on the surface of the ocean of community coordinated socialism.

Coordinated system installation is good for those practicing agile engineering. Those who don't believe this are only looking towards short-term gains ignoring the certainty of long-term horrors. Those of you Scrum practitioners who propagate the idea that Scrum permits opportunistic discipline and that initial outlay and efforts into designing sustainability of the software is a waste of time, I think you are scum to agile development efforts - i.e. you are Scrum scum and the environment you propagate is Scrum scum slum.

No comments:

Post a Comment