Wednesday, January 30, 2013

Science a short cut.

Science provides short cuts to otherwise human activities. These human activities are in general slow processes. They give you plenty of time to recourse the strategies, correct your mistakes. The damage is limited.

Science on the other hand is all about achieving short cut alternatives to these otherwise human activities. The results and reactions are fast. You need to be prepared with another scientific tool to handle and control the reactions. Study of pros and cons of a scientific activity becomes so so critical. A myopic attitude with science in hand is a sure way to commit suicide.

Friday, January 25, 2013

Computer programming is an art?

Not again. Computer programming is not an art!

The output of a computer program may happen to be a piece of art. But the input to a computer which is a program SHOULD NOT be a piece of art! The input to a computer needs to be very discrete and should not be vague/subjective like an art. These programs may be very ugly to look at too! Computers are not humans and they don't mind if instructions to them look ugly to humans.

Moreover, computer Languages are not supposed to be art too! Programmers need to understand very accurately(not subjectively) what other programmers have written. It is not about art, it is all about clarity and unambiguity.

And I think these computer Languages should NOT be called "languages". They are not languages, they are simply abstracted instructions to the computer. Of course few of them realized that early direct instructions to the micro-processors are not going to fly in long run. So they started abstracting these low level instructions. But even after these revolutionary computer "languages" set in, they are not like the languages we humans use. And actually these "languages" should never be like regular human languages. Some computer scientist must have taken things easy and declared that these mechanical instructions are also language in a philosophical way.

We should never write poetry in computer "languages", they are not meant for that.

Thursday, January 24, 2013

Static typing and program generation

A lot of people dislike static typing for "human" reasons. They feel constrained.

I like static typing because it is mechanical. It is constrained. It is discrete. You know where I am going?

The more people work/improve on static typing the more powerful the compilers become. The more a type checker understands contraints the easier it become to generate programs from programs.

If I failed to convey through this article then it means my thought process needs static typing. :)

Monday, January 21, 2013

Journey from individual to mob

There is a pattern.

All so called "great" humans in history started their journey to "greatness" with personal and individual ideas. Those ideas were not products of groups. They were personal observations/realisations.

Then comes the urge to "spread" the ideas! This strong conviction that they are correct is so overwhelming!

Then begin the rituals of marketing. Organizations are launched, monuments are built, words of mouth are sponsored. Starry eyes join the march for personal gains or for the gain of "humanity".

Soon the organizations turn into mobs. The bright ideas which launched the all this melee take back seats.

Why do organizations become more powerful than individuals? Why haven't the bright race of humans invented a structure where individuals are valued at least as importantly as the organizations? Why do these entities which are created by humans become more important than the creators?

The desire to control others? May be.. :)

Friday, January 18, 2013

The "regular" program is just a subset of overfitted hypothesis

In our "regular" programming scene the programmer knows all combinations of input/output and the program is "deterministic". If the programmer forgets about a combination, it leads to a bug. :)

If the input/output dataset is known exhaustively and is free of noise then this learner overfits/memorizes all instances. This can be seen as "deterministic" use-cases, which I mentioned above. In other words if you think like a tester and are aware of all input/output instances then you don't need to write code explicitly.

Of course, I am not talking about the efficiency of such an outcome here. ;)

Friday, January 11, 2013

Hail the rationals! Die emotions!

"Rational" humans always tend to demean emotions. They take pride in their "superior" ability to seal emotions away when they are reasoning. And I always hear it everywhere that we should not decide in "emotional" state of mind.

So I started observing myself, my "rational" and "emotional" myself. The "observation" is still going on. But I have already discovered something very disturbing on my way:

Each and every thought and action of mine is rooted/directed from an emotion. The so called "rational" actions and thoughts all point back to some emotion! When I am angry and hurl abuses at others I am emotional in the classical way. But while I am reasoning out my steps after getting angry at somebody (like a classical "rational" person),  I discover that I am being driven by the "desire of peace and desire of saving myself from harm".

I always find myself giving "reasons" to my deep seated emotions. Damn the hypocrite human mind! ;)

Opinions and Judgement

In machine learning terminology,
opinions = {hypotheses}.
judgement = Hypothesis which overfits the given dataset.

Before you accept the above hypothesis please grind it in your personal Bayes machine.


Thursday, January 10, 2013

My importance

The other day I thought I was so important and must be taken seriously! But today I came to know about some homeless who died unattended.