Monday, February 13, 2006

The Prisoner

Love, is not just a four letter word. The meaning of love changes with person we meet, with situation we live in and with time. Sometimes it gets so constrained that it does not get even a fraction of second and sometimes it crosses all boundaries. Sometimes it gives us immense strength while other times it makes us feel inert. We often say that human being strive for power, money or similar thing, but then these all things are governed by immense mental pleasure. Love is searched ...
My life is going through a transition period. I am learning new orders and like always my career is moving in a quasi-stationary way. Like many people, I have also lived very happy childhood days. I always feel, myself as the product of my childhood teachings. A nice childhood makes you think good about people, society and ofcourse those who are in close proximity. However this means lot of other things -- "you are now responsible to those people, society". Keeping responsibilities is not easier, and it gets tougher as you move further in life. I will not say that last several years were very tough or hectic for me. I don't think this is the real case, but some times situation becomes vexed. You are not owner of your time!
In December, last year, I went to my home. My uncle (mama jee) had a conversation with me on phone :-
"Congrats Mukul, for , ... ... ..."
"Yes. How are you ? "
"I am ok. Your brother is waiting for you. (Uncle's son. My uncle took much care of me when I was child. That time he was a 10-12 student and used to entertain me a lot. He takes great care of me.) ... Come at least once."
"Yes, I will come. I will "definitely" come."
"..............."
I went to home. But then ... suddenly a pleothra of work related to my subject matters emerged. It was vital to complete some task, which was around the corner. A new order was to be setup and those who were supposed to work were invisible (we call them friends). Well I could not go to Uncle's home, in fact, I was only physically present at home. This has not occurred first time. I find myself not able to full fill minimum of my responsibilities. My Uncle made a call to me ... I could not get any word to reply.
I know with time people will find hard to chew my lines ... they will start thinking that this person is simply irresponsible. I know that I have great love for them. I know that I think about people. But then, I also know that I am not owner of my own time. In a wild-goose-chase for the never ending quest to get "something" (I don't know what this is), I think that I am no more than a prisoner.

Tuesday, February 7, 2006

Frog's World

Frogs are popular for their dynamic behavior. They move in all possible ways. Politicians are often compared with frogs and people say that it is hard to measure their weight, :-). Frog's world is a very small world in which it lives and thinks. The rules are predefined and the limits are well set ...
A typical Indian woman has the unparallel attitude to change herself according to the situation. She is a well behaved child for her parents, she is an ardent follower of her husband and then her Son becomes the authority. As a person, as a human being her identity is redefined. I have read some blogs today. They were blogs of people who are completely unrelated, unkown to me ... All blogs has to say something. After going through the synatx of the blogs that I went through today, I found a parallelism of Indian Woman condition with myself. I changed myself according to my undergraduate college ... I changed myself according to graduate college. I change myself when I go on train ... I change myself when I go to local shopping mall. Everytime I do this thing I think that I am becoming more cleverer. But ... then ...
  • my writings are affected by people surrounding me. Its getting more artificial.
  • i have lost my senses. I dont smell air ... I smell fragrances coming out of differences.
  • i lost my open smiles ... i lost my innate feelings. I now like to play with feelings.
  • i am not able to see myself in mirror. Someone else is there as my image.

But then this time I come to know ... my world is Frog's world.

Saturday, February 4, 2006

Expressiveness and Computer Languages -- I

Over last many years the world has seen plethora of languages, be it, Fortran, Pascal, SmallTalk, C, C++, JAVA, Perl and many others. The list is growing and each language comes with some new idea or new design paradigm lying in it. This is interesting and it will be even more interesting if some one finds whether a similar progress tree was involved in natural languages evolution or not. The popular languages are those which are intended to solve variety of problems with recommendable ease and effectiveness. Ofcourse ease and effectiveness may sometime compete each other but then solving problems of Nature, often requires balance.
I am a darn persistent supporter of the idea that there should be a change in the paradigm of tackling problems in Science and Mathematics. We need to solve problems not only using pen and paper but there should be an algorithmic description of the same. Why an algorithmic description ? There are many causes :-
  1. They give most clear solution. So although they may be written in natural languages, they still manage to give concrete picture.
  2. These algorithms can be translated to a coded language (having a well defined syntax).
  3. With the availability of computers one can check a given algorithm for a variety of inputs. This gives scope and limitation of a given algorithm.
However in most of the science and technology books, that I have seen, I have found that such type of description is often absent or is present only in end-excercises or appendix. This makes one feel that these algorithms are not in the main flow of subject matter and can be easily skipped.
There are many other level of confusion. With the evolution of Information Technology and Computers, many computer related subject matter have been introduced in pre matriculation classes. I met one student ( a standard IXth student) who was studying JAVA for one week, VB for another, also C, HTML ... and in the end he was totally confused. Moreover it often gets very hard for a person to relate study of these subject matter directly with other subject matter. For example, say Mechanics with C. Now it is evident that C can be used to simulate motion. But is it very simple? By simulating motion of projectile can we hope for simulation of simple harmonic motion ? Will our involvement in algorithmic discussion will digress our attention on the subject matter ? These questions are very pertinent. Consider Mathematics that is taught in schools. There are text materials on the conception of number lines. So a student is told that we can lay numbers on a lines, as,

----1----2----3----4----5----6----7----8----9----10----11----12----13----14----15.

This number line conception is extended to accommodate negative integers and then real numbers. In a sense authors try to give an idea of "Scale" to measure things. Can we introduce the idea of "int, float, double" there? So at the same point we can say that an "int" is a scale which can measure say upto 2^32 -1 on this or that computer. So instead of introducing "int" as a data type, we can naively introduce it as a scale. Similarly consider floating points. We can't measure any number to infinite precision. Consider a scale which measures to a resolution of millimeters. We can't expect it to measure micrometer or nano meter. It is analogous to idea of floats. Can we introuduce there datatypes like "float" or "double" which also measure to a given precision. This will help students to relate with these data types more effectively. (This is important because many prime languages have basic data types --- int, double, float ). A thought will then pop up --- this will make study of Mathematics harder. The answer is a big NO! Instead of making it tougher it will make the subject matter more clearer. Impact of integration of languages with Mathematics will give clearer picture and will make Computer Science part of main stream. Also Computer Science will not become an extra subject rather it will merge into rest of subjects.
However a much finer thread can be sewed by making languages expressive. What do we mean by being expressive ? Consider addition of two complex numbers , A and B.
void fun()
{
complex_int A,B,C;
//input A,B
C = A.add(B);
//output C
}

Another variant is :-
void fun()
{
complex_int A,B,C;
//input A,B
C = A + B;
//output C
}

I think definitely the second one is more expressive. So instead of doing hard work round "." operator it is fine to do with "+" which we call operator overloading. There are many such scenario. Consider the Statistic subject of class X. Students are told to fine mean/median. This is nothing but some additions and divison.
So if we have these numbers, 10,15,16,20,34,45,56, the mean is

(10 + 15 + 16 + 20 + 34 + 45 +56)/7.

Instead of getting the core conception of what mean is all about, students are more bothered about addition and subtraction. Can we go for this thing :-
void fun()
{
vector_double v;
file >> v; // file points to file in which data is kept.
double mean = v.sum()/v.size();
}

What can be a possible framework for integration of Computer Science with other subject matter ? How languages can be made more expressive so that they can be easily applied to other subject matters ? Can we go for expressiveness and effectiveness of a language at the same time ? I will continue writing on this topic.