My 2 paisas

Posts Tagged ‘software

When was the last time you lent few hundred rupees to your best friend without thinking of getting it back in return? When was the last time you showed your collection of Coins or Stamps or DVDs to your nephew without being tensed of they spoiling it? When was the last time you lent your car to your dearest friend without hoping that he will return it without an extra bump or scratch on it?

Long long time ago, probably when you were kids. I guess not, kids especially are possessive about their toys and stuff.

Now again, when was the last time you shared a hilarious video link with your friends? When was the last time your shared an idea with your friend and other who follow you on Twitter? When was the last time you kept a movie on torrent even after it was fully downloaded so that others could download it from you? When was the last time you wrote a nice poem or a story or an experience on your blog so that others can enjoy it?

I guess, the answer for almost all the second set of questions is “Today or yesterday”.

Why such a difference? Why is sharing much more easier on Internet but not in real world?

Well, no prizes for the right answer. Because the obvious answer is that sharing on internet does not mean that you are loosing something. You will still have the video with you to watch again, you will still have the idea with you and you will still have the poem or the story or the experience with you. Which means, things on internet are growing as you share  them.

A perfect example is “Wikipedia”. While an Indian match goes on, the score of Sachin Ramesh Tendulkar keeps getting updated on his wikipedia page after every run he scores. I can understand why cricinfo guys do it, for the ad money but why is a person sitting in some remote place in front of his T.V. watching the match updating the wiki page simultaneously. Because he just wants to give the most updated information to his set of readers whom he does not even know. He is just contributing to it so that others also do the same for the contents which he reads on the internet.

So the obvious answer for the question was that on internet things grow as you share them and that is why we share them. As long as we do not loose the stuff we have, we are quite happy to share it others.

Then, how about software? Shouldnt they be also shared? I mean, even softwares grow as we share them with others without loss to the source.

Similarly, what about knowledge? Havnt we reached this wonderful world of technology with Iphones and 3D movies and aeroplanes because our predecessors shared the knowledge that they had without restricting it? Zero was discovered in India and it travelled all the way to Persia from where it reached all the corners of the world. Havent we been sharing knowledge from long long time.

So here are some more difficult questions for you.

In the world of sharing of knowledge, where does patents fit in?

In the world of sharing of softwares, where does licenses and proprietary softwares fit in?

And does it makes sense to put any type of restrictions on people sharing over internet?

Please share your views.

P.S. I thought of writing this blog when I read few lines of a junk article in a newspaper by Arindam Chaudhuri where he condemned internet and said that internet was full of articles that were written to spread wrong news and justifies the latest policy of Indian government to put restrictions on internet bloggers/contents.


Each software comes with a few files which are solely for the purpose of installation sake. One of them is the configure script. The user has to run the following command at the prompt

$ ./configure

The above command makes the shell run the script named ‘ configure ‘ which exists in the current directory. The configure script basically consists of many lines which are used to check some details about the machine on which the software is going to be installed. This script checks for lots of dependencies on your system. For the particular software to work properly, it may be requiring a lot of things to be existing on your machine already. When you run the configure script you would see a lot of output on the screen , each being some sort of question and a respective yes/no as the reply. If any of the major requirements are missing on your system, the configure script would exit and you cannot proceed with the installation, until you get those required things.

The main job of the configure script is to create a ‘ Makefile ‘ . This is a very important file for the installation process. Depending on the results of the tests (checks) that the configure script performed it would write down the various steps that need to be taken (while compiling the software) in the file named Makefile.

If you get no errors and the configure script runs successfully (if there is any error the last few lines of the output would glaringly be stating the error) then you can proceed with the next command which is

$ make

‘ make ‘ is actually a utility which exists on almost all Unix systems. For make utility to work it requires a file named Makefile in the same directory in which you run make. As we have seen the configure script’s main job was to create a file named Makefile to be used with make utility. (Sometimes the Makefile is named as makefile also)

make would use the directions present in the Makefile and proceed with the installation. The Makefile indicates the sequence, that Linux must follow to build various components / sub-programs of your software. The sequence depends on the way the software is designed as well as many other factors.

The Makefile actually has a lot of labels (sort of names for different sections). Hence depending on what needs to be done the control would be passed to the different sections within the Makefile Or it is possible that at the end of one of the section there is a command to go to some next section.

Basically the make utility compiles all your program code and creates the executables. For particular section of the program to complete might require some other part of the code already ready, this is what the Makefile does. It sets the sequence for the events so that your program does not complain about missing dependencies.

One of the labels present in the Makefile happens to be named ‘ install ‘ .

If make ran successfully then you are almost done with the installation. Only the last step remains which is

$ make install

As indicated before make uses the file named Makefile in the same directory. When you run make without any parameters, the instruction in the Makefile begin executing from the start and as per the rules defined within the Makefile (particular sections of the code may execute after one another..thats why labels are jump from one section to another). But when you run make with install as the parameter, the make utility searches for a label named install within the Makefile, and executes only that section of the Makefile.

The install section happens to be only a part where the executables and other required files created during the last step (i.e. make) are copied into the required final directories on your machine. E.g. the executable that the user runs may be copied to the /usr/local/bin so that all users are able to run the software. Similarly all the other files are also copied to the standard directories in Linux. Remember that when you ran make, all the executables were created in the temporary directory where you had unzipped your original tarball. So when you run make install, these executables are copied to the final directories.

Thats it !! Now the installation process must be clear to you. You surely will feel more at home when you begin your next software installation.

today Debayan made an excellent comparison of soul and body with software and hardware. it made so much sense. if hardware stops working, software disappears. but without software, hardware does not have any purpose. it is just some matter. but with software, it gains a purpose and becomes a machine. similarly, body without soul(after death) is just some matter without any purpose. but when body is alive, it runs due to some software which we call as soul. ofcourse, the software associated with the body is highly architecture specific and its future highly depends on the environment in which the hardware is present. also, the software continuosly changes the hardware. now getting more deeper, let us think about the main memory and secondary memory. I think the role of main memory and secondary memory is played by heart and brain, not necessarily in same order. ofcourse, what is what changes from person to person. people keeping everything in their heart and listening to brain, use brain as main memory and heart as secondary memory. but people using their brain to store memories and who listen to their heart, use heart as main memory and brain as secondary memory.
another importent observation is that there is no restart option. you can just put it to stand by for sometime by sleeping or you can shutdown only once.

Links that I liked to save

Blog Stats

  • 43,360 hits