Saturday, September 06, 2008

So you want to use Linux?

I certainly hope you wish to do so for the right reasons. Because if you wish to use Linux for the wrong reasons you will not enjoy using it and give up thinking that it is too difficult.

Some right reasons
  • You want a transparent platform for your computing needs which will not be restrictive on you.
  • You think existing software does not do what you want to do and would therefore possibly write your own.
  • It takes more than a few programs to do what you wish to do and you want these programs to play nicely with each other.
  • You wish to have a better understanding of how programs work, even if you yourself do not program.
  • It is not just free software you are after. If so, you can get most free software running on M$ OS and do not need Linux at all.
The main pre-requisite is that you should be willing to learn the basics of Linux. These include:
  • Understanding to some extent the hardware you have
  • Understanding what happens during installation
  • Understanding what partitions, mountpoints, filesystems are.
  • Learn to find your way around the file system.
  • Become confortable with the command line interface.
  • Understand users, groups and permissions
  • Package management for software installation
  • What the routine tasks of system administration are.
  • Finally you should be willing to carry on learning for the rest of your life. Unix and Linux have been under development for a long time by a lot of people. So, don't expect to master it within your life time.

If you have the right reasons and have understood the pre-requisites. You are ready to go. Remember, it will take time before you become really comfortable with Linux. It will help greatly if you can ask a more knowledgeable friend for help and hints when needed.

What software to install? Well, you could do what almost everybody does - install OpenOffice and start using your computer as you would use any M$ windows machine. There is lots of good software available for linux just look around to see what is available for your distro of choice and install whatever you find interesting. If you have some interest in star gazing you will find Stellarium very useful. If you maintain a collection of any sort, model cars, music, books, stamps then you can try to use a database to manage the collection. In the process you can learn all about relational databases. On most Linux distros you have choice of running MySQL or PostgreSQL (or both). No matter what your interests, you are likely to find useful software on Linux. Need to keep accounts for your business? Try SQL-Ledger.

My last suggestion is that you give the programmer inside you a chance. Try to learn to program. The programming language in not important. Pick up the one for which you can get some help. There may not be a programmer inside you. If that is the case you will still begin to appreciate what programming is and hopefully communicate better with programmers. You will also understand why software is not perfect and why there is no single software solution for any complex problem. If there is a programmer inside you then you will be able to do things much more efficiently because you can program. You will not need a word processor, you will not need a spreadsheet. You might still need a (R)DBMS but in the end you will be able to do all that you wish to do just using plain text.

When things go wrong and will not come right,
Though you do the best you can,
When life looks black as the hour of night ---
A PINT OF PLAIN IS YOUR ONLY MAN.
From At Swim-Two-Birds
by Flann O'Brien

Are Linux distros taking user friendliness too far?

I don't like the direction in which Linux distributions (distros) are headed these days. I don't like their trying to become user friendly for people with no willingness to learn. I particularly don't like their trying to become user friendly towards M$ windows users. It may make a distribution popular but it does nothing to advance computing in the right direction. Just look at Ubuntu, they disable the root user! For what? So users coming from the other OS feel at home. No wonder it is the most popular distribution on earth. I object to their calling themselves a Linux distribution though. Just because you use the linux kernel and desktops should not entitle you to call your distribution a linux distribution. It is something like OSX not calling itself BSD.

Linux is not just a kernel and applications. It is a style of working. It is a way of thinking. It is a way of computing. It is a way of getting things done to the ones (hopefully high) standards. And, I would go further and say that it is a way of life.

I greatly appreciate those distributions which need you to know what you are doing. "Compile everything" distros (e.g. Gentoo) top the list. Then there are the likes of Fedora, Suse, Slackware which require that you know something about your hardware and disks and partitions etc to be able to install and use them well. To me these are acceptable because "compile everything" distros require knowledge of software and system development which cannot be expected of all users. But distributions must expect knowledge of basic system administration from target users. Of course, they should make it easy to learn as you use.

The danger with user friendly distros is that although they make themselves popular they actually reduce computing / sysadmin knowledge out there. This will eventually result in very few people knowing what to do when things go wrong. In general, Linux users know more about their OS and hardware than M$ users do. It is a good thing which should be encouraged to develop rather than discouraged by hiding everything behind graphical interfaces.

I think it is time Linux stopped apologizing for being what it is and started feeling proud of itself. There is certainly less in the history of Linux to be ashamed of than in the history of M$ (Just look up "Gary Kildall" in wikipedia).

There is some very creative software being developed for Linux. A lot of it gets ported to the other OS as well. So we have this situation now where it is free software which is preventing greater adoption of Linux. I frequently come across OpenOffice and Gimp running on M$ laptops (The OS had come with the machine and they did not have to pay extra for M$ Office). These people can get the best of free software without switching to Linux. This is on the rise and I think free software is contributing to the acceptance of M$ OS inspite of its quality. If free software had prevented its use on M$ (I am not suggesting that it should have) there would have been a big incentive for these users to switch to Linux.

Therefore, if you use linux like it should be, then advocate its use as it should be used. When someone comes to you saying they wish to use Linux don't point them in the direction of Ubuntu to make it easy for yourself. Explain to them what they are getting into and why they must learn the basics. Sometimes people say they wish to use Linux because OpenOffice is free and because they saw someone using The Gimp and liked it. If that is their only reason for wanting to switch to Linux then politely tell them that they can get both on M$ windows and that they should stick to it. Linux does not need such users.

Friday, May 09, 2008