Should Coding be Really Avoided ?

This post is specifically for my software coder friends who are presently coding or have done it in the past. Every software developer after leaving college dreams of a job where he will be building great software . If he is lucky he will get a really good job where in he will be able to fulfill his dream of coding all day long and making some great software. If he is more lucky he might even get a decent salary for doing this stuff.

Recently during some discussions one of my office colleagues who was promoted to a position of “Team lead” was announcing that he has “given up” coding and he was now not at all interested in even looking at the code. I had encountered similar situations before where in a person was recruited as a team lead and was asked do some coding since he did not have much idea about the product the company sold . Mr Team Lead disappeared after 10 days and left behind an email saying that he was “demotivated as he did not want to return to a coding job”

Personally i think a small amount of coding is absolutely necessary and should be reduced if at all depending upon ones job profile. If one moves to a managerial position or something similar, he could give up looking at the code altogether. But if you have developers working in your team then it would be absolutely crazy if you decide not to look at the code as then you will surely lose respect among your team as they expect you to bail them out whenever they are stuck up somewhere .

Why did this concept come up that as you move up the ladder you reduce the amount of code you write. ??? The answer to this is simple. More work happens by delegation. If you are good at your job you finish only 25% of the job but as a lead you would be able to “code” all the 100% with 4 developers working in your team though you may not actually code . You monitor them . You review the code. Since some “hardcore coders” fail to understand this theory even when they complete few years on their job their bosses have to tell them that they are not supposed to do coding now. I guess since many fail to explain it in a better way there is this wrong myth that coding or even looking at code should be avoided at all costs.

Personally i feel everyone needs to continue some amount of coding irrespective of his position in the ladder so that he is not out of touch and when there is a situation he can easily face it. This could be coding for hobby projects or the official work but some amount at regular intervals definitely helps.

I still feel that many could have exactly opposite views than the one expressed above . Will surely update this post if i get some convincing opposite view about this.

OS Dependent programming

Techrepublic.com has an short and sweet post about the development of new platforms which are leading developers to work in a more abstract manner, in the sense that you need to care about which operating system your application is going to run on.Check out the post at http://blogs.techrepublic.com.com/programming-and-development/?p=693

Gone are the days when you worked on a Visual Basic app and wished that every machine would run Windows because that is the only Operating system your application would run on. The same applies to Visual Basic.NET . Personally i feel that no new development should be started in Visual Basic.NET. If anybody is in absolute love with .NET he could go in for C# as it is more similar to Java which allows you to shift gears more easily between the 2 languages. I myself was a Visual basic programmer few years ago and can tell you that any language where in you are locked into a particular platform is a sheer wastage of your time and effort and should be seriously avoided.

Set up Enviornmental variables in Fedora

You can easily set up environmental variables which needs to be available globally for all your applications. This can be done by placing scripts in the /etc/profile.d directory which are executed every time a shell instance is being created.

Example: To set JAVA_HOME environmental variable so that it points to where you have installed java, you can either create a new shell script or edit an existing shell script in the profile.d directory. Type in the follwoing line and save it as java.sh in the directory

JAVA_HOME=/usr/java/latest

You are done. Now every application will know where you have installed java. Now that is one of the easiest things you could do in Linux 🙂

Mounting ISO’s files in Linux

Linux systems have a built in ability to mount ISO files which then can be used as normal cd or dvds . The command to do this is
mount – o loop /path/to/isofile.iso /mount/foldername

Things like this make me love Linux more as performing a similar trick in Windows would have required a third party software to be installed which would mean more work for a lazy guy like me 😉 .

Free and Open Source Software

Many in the non Windows world are confused between Free/Open source software. Free software is considered to free of cost while open source software is considered software with source given to you . These 2 camps have different philosophies. This really confuses many people and even I was confused when i had come across these terms. It took some time for me to actually understand what these actually mean. Below is a short attempt from me.

Free Software: In terms of cost these can be free of cost or NOT. The free part is the freedom you will be given to modify,redistribute this software to others. Just FYI non free software not necessarily give you the legal rights to modify,redistribute the modified software. Thus cost is not the philosophy behind it. Free software can be charged . A software to be called as Free software needs to fulfill the requirements which they have defined.

This is the quote from the website of Free Software Foundation

“Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer.”

If you need the full text check the Free Software Definition available at FSF.
http://www.fsf.org/licensing/essays/free-sw.html

Linux is an example of Free Software for it allows anybody to see,modify,redistribute the software.Only the name “Linux” is copyrighted, the code is not.

Open Source: Open source is a branched out version of free software with some philosophical differences. The software which falls in this category are software for which the source of these will be given to you but not necessarily you can change or redistribute it. For eg Company ABC might make a software open source but it might not give the rights to anybody to modify the software and would own full rights to it. This would be the software with a company selling software to a defense organization who might to know what the code actually does so that it does not compromise on security. They may not want to change the software though.

Installing Fedora 8 from hard disk

As many might be aware it is possible to install Fedora and many other Linux distributions from media other than CD/DVD’s.

I installed Fedora 8 from my hard disk . My machine is quite old with just a CD writer in it ( am a poor guy after all) . I did have a Broadband connection using which i had downloaded the DVD iso of fedora 8. I had the option of creating and burning 5 CD’s but installation from hard disk had the advantage of speed over regular CD’s. Also my installation would be faster coz i don’t have to keep putting in cd’s during the installation. The only CD i had created was the boot CD which was used to start the Installtion process (although it was not necessary as i later came to know).

Here are the steps which need to be followed for installing Fedora DVD version from the hard disk.

Step1 : Download the DVD iso from the Fedora project website at http://fedoraproject.org/.
You can also copy it to your disk from your friends hard disk who already has the iso.

Step2: Check if a FAT32 partition is available on your hard disk which can accommodate the DVD iso. ( i did try installing with other Linux file systems such as ext2, ext3 but was not successful. Still am not sure whether i did try all combinations) . Save the iso file in the root of the partition and not inside any folder (still not sure why it never worked for me when i placed the iso in folders). I created a partition and formated it with the FAT32 filesystem.
In my case the partition name was /dev/sda9 . I mounted it and copied the DVD iso in the root of the partition.

Step3: Thats it! we are now ready for installation.

Step4: Once the installation starts it would ask for the media you want the installation to start. Select the media as had disk and then in the next screen put in the path eg. /dev/sda9. It would let you choose the iso file and from that point the magic begins.

The installation speed is also much higher compared to a regular CD/DVD installation .These steps are distribution dependent and can be applied for other distributions also.