2009-11-14

About agile software development

Somehow it seems to me that agile software development and extreme programming are getting a hype (if not already). I am not a friend of long political and organizational disputes and I like a flexible cooperation and collaboration between developers and customers. I pay attention that all those people meet and communicate who are (or will be) directly affected by the project during development or by the final outcome.

So from that it looks like agile software development and/or extreme programming is something for me. But I have serious concerns regarding those techniques or at least how some people understand agile software development or extreme programming (which in reality are new names for old stuff).

The reason for my concerns is that for many people this is the ok for starting development without thinking much about the software design and possible future goals. Seeing the goals and purpose of a piece of software as a "moving target" is also an often adopted thought.

And this although a bad design is the biggest obstacle later on when enhancing the product!

When evaluating products the design and background technology is often not taken into consideration although that is the core that usually can't be changed during the whole life-cycle of the product, so this is similar to a vendor-lock-in - it is a technology-lock-in. All technologies have their advantages and their flaws and you have to live the appropriate drawbacks then once decided to go with a particular product.

From my understanding agile development and "extreme programming" (the longer I think about it the more I dislike the phrase "extreme programming") is not (necessarily) like "programming without thinking", but somehow people see it as an opposite to some "old-fashioned" big and documentation-heavy project management. In times of economic crisis as companies try to shorten their time-to-market and reduce their costs, projects are narrowed down to just coding because this is the action that most obviously can't be omitted...

Related post: Web vs Thick client.

2009-11-05

Cross-platform solutions

Recently when searching the internet for platform-independent solutions for particular requirements I got annoyed and angry about what people write on their websites. It seams that they mostly do not understand what cross-platform means.

In many cases software vendors who offer a tool or solution for Windows and Mac find that sufficient to call it a cross-platform thing. My opinion: This is pretty poor for labeling it "cross-platform". If you look at Wikipedia for instance you can see not only Windows and Mac, but also all kind of Linuxes (and there is really a lot - see distrowatch.com) including widely used Ubuntu/Debian, Redhat/Fedora or Solaris or BSD or ... (well we skip DOS, Amiga and the like here ;-) ).

So: Cross-platform is NOT just Windows and Mac! At least the major distributions of Linux should be also included in the list of supported platforms!

I simply cannot consider a software that is just running on Windows and Mac as being cross-platform... - Those vendors should write: "Blablabla - for Windows AND Mac!" instead of "Blablabla - cross-platform solution!".

Related posts: Why Linux?, Why I switched to Ubuntu, Going Linux, New year's IT resolutions.

Virus scanning on Ubuntu

You might need to download files on your Ubuntu machine (or any Linux running Gnome) that are intended for Windows machines or you might have fear getting one of the few Linux viruses (yes, there are some).

There is the free clamav software. On Ubuntu (at least 9.04 Jaunty and 9.10 Karmic) there are the following packages available:
clamav
anti-virus utility for Unix - command-line interface

clamav-base
anti-virus utility for Unix - base package

clamav-daemon
anti-virus utility for Unix - scanner daemon

clamav-freshclam
anti-virus utility for Unix - virus database update utility

clamtk
graphical front-end for ClamAV

klamav
KDE frontend for ClamAV
nautilus-clamscan
Antivirus scanning for Nautilus

There is one problem with the clamtk (the gnome GUI tool for scanning) - at least under Karmic used together with Thunderbird: Thunderbird tries to open all files with the clamtk and there if you change that it does not remember the change. And this although I don't want to scan everything automatically (even text files).

And there is a problem with with the nautilus-clamscan (at least under Karmic): It hangs in an infinite scan for the first file.

So whatever I tried, everything is annoying. Solved it the following way:
apt-get remove clamtk
apt-get install nautilus-actions (if not already installed)
Then I created a new nautilus action (via System->Preferences->Nautilus Actions Configuration) with the following command (enabled for files and folders and multiple selections):
path: gnome-terminal
parameters: -x /opt/clamscan.sh %M
And I have created the clamscan.sh with the following content (and set to be readable and executable for everyone):
#!/bin/bash
clamscan $@
read line

Last but not least:
chmod 755 /opt/clamscan.sh


Now I can scan files with clamav on demand using the context menu in Nautilus.

Releated posts: Stationary under Ubuntu, Change hostname on Ubuntu.