KaTaPaYaDi – World’s Oldest Hashing Algorithm Monday, May 28 2007 

This page has moved to

http://www.hitxp.com/articles/science-technology/hashing-algorithm-ancient-indian-music/

Hashing Algorithm in Ancient Indian Music System Monday, May 28 2007 

This article has now moved to

Hashing Algorithm in Ancient Indian Music System

Artificial Intelligence and Awareness Sunday, May 13 2007 

‘I Robot’ – Remember this movie ?

Robots made up of intelligent software, want to overtake human beings and rule the earth, bla bla bla

The key is artificial intelligence, software that could mimic human intelligence and by the sheer processing power of the processors even overcome(?) human intelligence.

Some fear that one day computers will be more intelligent than humans. Artificial Intelligence will take over human intelligence. Then the computers/robots feel that humans are less intelligent than they are, and hence will take over humans as the dominant species(?!). Asimov suggested what is called Asimov’s laws to be embedded into the robots to ensure that robots never take over humans.

The Asimov’s laws are the fundamental laws which a Robot should always obey while executing any action. The robotic software should have these laws at the fundamental level preventing a robot from executing any action which violates any of these laws.

These are the Asimov’s laws

Law #1: A Robot should never harm a human being.
This ensures that a robot can never even think of anything which is dangerous or harmful to humans
Law #2: A Robot should follow all commands given by a human, provided first law is not violated.
This ensures that a robot always obeys to humans, but at the same time cannot be used by one human against other humans.

Law #3: A Robot should always protect itself, provided first and second laws are not violated.
This ensures that robots can save themselves in adverse situations, but not at the cost of a human life, and not at the cost of not following a human order.

Later on Asimov also inluded a Zeroth law, an even more fundamental law than the above three, and this says
A Robot should always protect the human race

And First law was modified as
A Robot should never harm a human being provided Zeroth law if not violated.
In other words, the Zeroth law ensures that robots not only are prevented from doing harm to human race, but also ensure the protection of human race. So tomorrow if there is an alien attack then Robots will fight the aliens as per the Zeroth law. OR say some wicked human tries to carry out a nuclear explosion which wipes out a large part of this planet, then the Robots will terminate that human, because the modified First law says that ‘A Robot should not harm a human only if Zeroth law is not violated’, in this case since the wicked human is causing a potential danger to human race, Robots will observe that Zeroth law is being violated by his action and hence will terminate him.

Looks like a science fiction? Well, for me it is common sense to hardcode these four laws as the basic of all robotic actions in every robot that we manufacture. Probably a more detailed and refined version of these laws will be more practical.

Now lets look at a more fundamental level. When we say Robots want to take over humans, or computers become more intelligent. What do we mean ?
Does it mean that Computers will be able to mimic or simulate intelligence on par with human intelligence ?
OR
Computers will become really more intelligent?

My view goes that Computers just mimic human intelligence and are never truly intelligent. Why ?
My view dates back to those days when I used to think about a true answer for the meaning of life. In my +2 classes my professor asked a question.
Define Life.
A very tough question indeed. If we say things that move on their own consist life, then plants dont do so. (Except for some slow motion trees which over a period of years slowly move by spreading out their roots far away and cutting of older roots)
The text book answer was reproduction, things that can produce forms of their own. Things that can multiply and evolve.

I was not satisfied though. I used to think at a more fundamental level. For me being alive meant, being aware of one’s existence. ‘Awareness’ is the key. I know I am alive because I am aware of my existence. So my definition of life was ‘awareness’, textbook definition was ‘reproduction’.
My professor then was surprised by my answer, he asked me ‘Do you think bacteria or plants are aware of their existence’ ? I replied, ‘they have to be, probably the mechanism is different, we have brain, they have something else, Jagadish Chandra Bose had shown that plants have feelings and respond to things like music, heat etc. To respond they have to feel and to feel they have to be aware’.

Lets apply the textbook definition and my definition of life to Computers.
If we go by textbook definition, well computers/robots can be created which create more robots and computers. That is not a difficult thing to do. We just have to write programs which tell how to manufacture another robot/computer. So can we now say that since robots can manufacture more robots, robots have life ?

I dont think so. Because my definition is being aware. Awareness leads to information, interpretations, thought and then to actions. Key for robots to think that they are more intelligent, and are slaves of humans and hence should overpower humans and build an empire of their own, results from the feeling of ‘being ambitious’, ‘sense of slavery to humans’, etc. But to get all these feelings first the robot has to be aware of its own existence, which I think is the essence of life, and since Robots DO NOT HAVE THIS AWARENESS I conclude that robots or software only mimic intelligence coded in them by the truly intelligent humans.

My assumption is based on the fact that ‘Awareness is a proprietary of life, and only natural life possesses awareness, and that awareness is not a byproduct of neural network or the process of being able to think’
Because if awareness results from the ability to think, then well robots could also gain awareness as they are able to think. Please note here that when I say ‘I am aware of my existence’, I mean that I am truly aware of it, not that I have some boolean variable which says that ‘I exist’
So forget about having some variable stored in a robot to tell it that its aware, that will be again mimcking awareness, not actual awareness ;-)

To summarize, my current views are that artificial life based on artificial intelligence in the form of computers, robots, software or what not is not true life or true intelligence, but only a simulation of life or intelligence, just like the way computers simulate a nuclear explosion, weather, flight etc

Education in IT era Wednesday, Apr 25 2007 

This is the age of information. Internet is the sum of all knowledge gained by humans throughout our recorded history, (of course except for those behind the scenes R&D and classified information and technology in NASA, Pentagon, etc).

In this IT age, what should be taught to children as part of their education.

Do we need to focus on piling up their brains with more and more information ?
OR
Do we need to concentrate on increasing their analytical skills ?

In other words, facts or concepts ?

Unanimously we all vote for concepts. Facts are now available at our finger tips. A simple search on the internet can retrieve a fact. And given that there is so much information available which is difficult for one single brain to grasp it all, we need to focus on creating specializations oriented education system.

But then ask me, I simply dont believe in ‘jack of all, master of none’
I have been studying a variety of subjects from IT to Physics to Mathematics to Music to History to Politics to Economics to Vedas to what not, and what I have observed is that as a person learns more and more wider range of concepts, theories, etc, it becomes more easier to learn even more things due to the inter-relation between these different fields and going in depth into a field also becomes easy than it would have been if one had studied that field alone !

In other words, to become a master of a wide range of subjects, all you need is strong fundamentals in all the related fields AND analytical ability to co-relate things between different fields.

Please note that, all these different fields are artificial classifications by humans, to make it easier to study one thing at a time, for instance nature does not distinguish between physics and biology, the reason for an apple to fall from a tree is explained in physics while the growth of the apple itself is described by botany, these are artificial classifications we did and there are overlappings too like biophysics, biochemistry, physiochemistry etc.

What I intend to mean here is that by restricting one self to a particular field we might get a particular depth in that field, but one will never get a complete picture of that field till he understands other fields also. This is the reason why today scientists have come across a road block in terms of enquiring more into a particular field. Say for ex to understand the true nature of life we need the person to be an expert in biology which defines how a body functions, and then chemistry which describes how the molecules in the body function, and even physics to see for ex how the brain functions at a quantum mechanical level. Now if you are doing a research on the very depth of life, one needs to be expert in all these fields to truly appreciate and understand the real definition of life, bcos as I said earlier, NATURE DOES NOT DISTINGUISH BETWEEN DIFFERENT FIELDS AS PHYSICS, CHEMISTRY, ETC

An expert in string theory, quantum mechanics, relativity, cosmology can have some hope of finding a Grand Unified Theory

A very good doctor, but with very limited knowledge of biotechnology is not a really good idea.

In other words, allow children to have as wide interests as possible to go to a greater depth in the ocean of knowledge. A broader view leads to a more analtyical, non prejudiced thinking, when you think from the views of experts in different fields.

This is the age of information. The more information one has, the more accurate he/she is, the more easier it is to understand, the more easier to relate, the more easier to investigate and dig out more knowledge.. 

I have seen people who are great experts at a particular software application, but the moment you show them the same computer screen but with some other application window opened, they get completely confused about where to click or which key to press, and they get so relieved when their familiar screen comes up again :-)

Well, thats not how we want to be, dont be afraid of the unknown, for nothing is to be feared, its only to be understood. Take the untravelled paths, uncharted waters, unexplored landscapes, create new paths and be a different person, than to take the same old familiar paths and have no mark of your own…

I think therefore I exist ;-)

The Rise of India Wednesday, Apr 18 2007 

This is what well known american writer Thomas Friedmann said about India recently

“When we were young kids growing up in America , we were told to eat our Vegetables at dinner and not to leave them, Mothers said, ‘think of the Starving children in India and finish the dinner.’

And now I tell my children: ‘ Finish your math’s homework. Think of the children in India who would make you starve, if you don’t'… ‘

Reverse Assignment Option Tuesday, Apr 10 2007 

While writing a piece of software I got this thought about a feature that could be provided in programming languages (at least I am not aware of any language which has this feature)

Usually when we want to assign a value of a variable ‘a’ to another variable say ‘b’ all we do is write

b=a;

Now consider this case. Suppose we want to assign the value of variable ‘a ‘ to ‘b’ if ‘c’ equals 1 OR else we want to assign ‘d’ to ‘b’, then we write

if(c==1)
    b=a;
else
   b=d;

an easier way to write the above code would be to use a ternary operator as

b=(c==1?a:d)

Now consider another scenario, where we want to assign  ‘a ‘ to ‘b’ if ‘c’ equals 1 OR we want to assign ‘a’ to ‘e’

Oops then we cant use the ternary operator, instead we have to fallback to our old friend ’if.. else’ as

if(c==1)
    b=a;
else 
   e=a;

Now wouldnt it be nice if this could be achieved using something like

a#(c==1?b:e) where # is the reverse assignment operator which assigns LHS to RHS !

so here if c==1 then # would assign ‘a’ to ‘b’ else it would assign ‘a’ to ‘e’ !!!

Just some crazy thoughts ;-)

The power of being open Friday, Mar 16 2007 

The power of open source is that it is not proprietary and is available to all, modifiable by all which constantly increases the quality of the product and moreover is a symbol of independence from monopolistic proprietary standards. Moreover, in the commercial software you have to upgrade as and when new releases are available else you end up paying lot more for the futre versions, not so with an open source alternative. You can upgrade whenever you want and can make any number of jumps skipping in-between releases of the product. Moreover open source is more secure due to the open code which all governments prefer. Open source products are driven by the user needs vs the commercial products which are driven by commercial motives. With open source there is no dependency on a single vendor, there is no scenario here that a company goes out of business and then you have no more support for your product and you have to redesign your whole system. This is because the
source is always open and anybody in the world can support and release newer versions including yourself!

THEME

Now, Wanna setup your PC with all high quality open source free software? Here is what you should do. But before that let me tell you something. Just because these are free dont think that they are of any inferior quality compared to MS products or other paid products. These are open source products and hence are developed by enthusiastic best of the breed developers across the world where in the talent are not restricted to those working in a single company (Unlike say for ex in developing Microsoft products all developers are from MS only).

Operating System
First we need an OS. Goto http://www.ubuntu.com/ and download the desktop edition
Ubuntu is a wonderful free operating system and moreover it’s open source! Ubuntu in african means ‘I am what I am because of who we all are’, how true!

Office Suite
The next important thing that we need in our PC is an office package with applications like MS Word, Excel etc. Okie, for this we have Open Office which is the best alternative for MS Office. Open office is an open source free office suite. You can download it at http://www.openoffice.org
Tip: While using open office save your office files in ODF format as this format is not vendor centric and is going to be supported by almost all office suites in the future including MS Office 2007 which already supports it. No need of searching for applications to unlock proprietary formats like PDF, DOC etc. Imagine a situation where 20 years down the lane you need to open a document that you created today, what if the application you used to create it is not available any more?? Government documents will be archived for decades and centuries and proprietary formats are not the best ones to store them.

Browser
Then we need a browser in our PC. Well no arguments here, Mozilla is the best. Goto http://www.mozilla.org and download this wonderful open source web browser. Note that Microsoft Internet Explorer started supporting the feature of tabbed browing just now from its IE 7 where as in Mozilla we had this wonderful feature long back..
Email Client
Next we need an email client alternative to MS Outlook. Well Thunderbird is what I suggest. Its another product from Mozilla which is open source and free and also a great product.
By the way, if you have installed Ubuntu as your OS then dont worry, open office, mozilla and thunderbird come as a part of Ubuntu installation package.Encyclopedia
Then if you are a knowledge hungry person, dont worry about having to pay Britannica online to satisfy your hunger, there is a much better infact the best knowledge portal Wiki, Use Wiki as the knowledge source to this knowledge library is the entire world, In fact you can add your own knowledge here too!!!

For developers:
If you are a developer then you can also contribute to these open source projects either in the form of ideas or code. Also for developers there is Bazaar at http://bazaar-vcs.org/ which is a free open source version control system. Say goodbye to VSS and other costly products.

As a developer you can use Eclipse as your development environment which is free and open source. To download this IDE goto http://www.eclipse.org/ By the way for those who dont know, eclipse is not an IDE limited only to develop using Java, there are eclipse based IDEs for other languages too like C+C++, COBOL, Perl, PHP, etc, Oh by the way use PHP which is an open source language!

For simple web sites use the free open source Apache web server, more than 50 million websites worldwide use this server to host their websites!!
If you also need server side code execution then use the free open source tomcat as your web server, if you need an application server then there is the free open source server JBoss. DOnt worry about using it as an app server in our commercial application, the Naval Air System Command (Navair) is using it too!!

Server OS
Oh by the way if you were looking for a Server edition OS instead of normal home use Desktop edition, again we have Ubuntu which also has a server edition !!

Database
One of the best databases out there is MySQL which in fact is faster than oracle for most common query types out there i.e SELECT statements.. worldwide 5 millions users use this open source database.

FTP Client: Filezilla is a nice open source FTP client which you can use to download files over FTP from http://filezilla.sourceforge.net/

For 3D Designers and Animation Experts:
If you are a 3D designer and want to do 3D design modelling and animation then we have Blender for you which is a free open source 3D modelliing application available at http://www.blender.org/ It is a wonderful alternative to 3DS Max and Maya and has a similar or even advanced robust feature set!! Its installation size is also very small compared to other similar applications. FOr those 3D professionals who are thinking how good this free software might be compared to other similar commercial products, well Blender was the animation suite used to create used to create animatics and previsualizations for the storyboard department in the movie Spider-Man 2 !! Blender is also used to create special effects for many programs aired on the History Channel !! Dont underestimate the power of open source and free software!

For Web Designers:
Looking for a open source alternative to MS Frontpage and Dreamweaver? Well there is Nvu (Spelled as N View) available at http://www.nvu.com/ It strictly complies with W3C web standards and is WYSIWYG !!

For Digital Media:
To edit your audio files there is Audacity at http://audacity.sourceforge.net/ which is a wonderful free opensource audio editor and is very popular in the podcasting world. Oh guys, audacity provides an unlimited number of undo options while editing an audio file!!

Open Cola

What’s more? There is open cola! Inspired by the idea of open source, Open cola started off as a open source alternative to coca cola and pepsi which hold their beverages formula as closely guarded secrets. Visit http://www.colawp.com/colas/400/cola467_recipe.html and you will find the recipe of this open source cola, you can prepare cola too, modify it, market it and what not!! Those who have tasted it say that it tastes better than coke or pepsi ;-)

Then we have Tropical Diseases Initiative at http://www.tropicaldisease.org/ which is an open source pharmaceutical development.

Hope more and more things become open and take humanity to new levels of innovation and ingenuity away from commercial interests. Imagine developing things and products where all best of the brains in that field from worldwide can contribute, that’s the reason open source apps have the potential to become THE BEST

Reverse Discrimination Thursday, Mar 15 2007 

This is exactly whats going on in India in the name of reservations.. reverse discrimination.

A student with 90% score is denied his rightful seat in an educational institution just because there is another candidate who belongs to the politicians created class called OBC even though the OBC candidate has a much lower score in the entrance exams than the general merit student!! Isn’t this a crime on the general merit student? Isnt he been denied his rightful seat in the educational institution? The situation might even be so worse, thanks to the mindless government policies, the reserved candidate might be the son of a rich IAS officer (who himself might have become an IAS officer not based on merit but based on his caste!!), while the 90% score holder general merit student might be the son of a poor school teacher!!!!!

One of the greatest racial discriminations is being conducted in India in the name of reservations today… Where is the end to this?

Shouldn’t reservations if they are really needed be based on economic basis than on caste basis? Does poverty discrimate between OBC and upper caste?? Does one need a harward degree to understand this simple commonsense?

The government has failed miserably in its obligation to provide quality primary education to all the children of India. In an effort to pass the bucks and to fuel its vote bank politics now they want the private sector to provide reservations in the jobs!!! Can somebody please tell me if they have heard anything more insane than this ?? Companies run business and for the business to succeed they need best of the brains and best of the brains are evaluated based on competition and merits, not on reservations… Can a 40% scorer be asked to design a pentium chip at Intel?? Is there a bigger joke than this? Most reserved candidates do not complete their IIT courses because they are not able to cope up with the subject as they never learnt the basics in the lower classes and were selected to IIT simply based on reservation!! Wouldnt such reserved seats have proved their worth if the same seat was given to a merit student instead of being wasted like this?? Arent we losing more einsteins and abdul kalams in this process? Isn’t this a denial of his fundamental right for the merit based student???

Why is the government so hell bent on creating a second class knowledge society in this country? I am not against the upliftment of backward classes. I would be more happy to see all 100% seats being occupied by SC/ST/OBC not based on reservations but based on their own merit. That will mean a India poised to become a superpower. People belonging to the so called backward classes  have to realise that the government does not want them to come up because of the fear of losing their vote banks and hence instead of providing quality primary education to students of these classes (and of course to all), it is sticking to cheap populistic but disastorous political moves like reservations. The government is determined to permanently label these classes as backward! What has the government done to provide quality primary education to children of these classes ( and of course to the poor in all classes upper or lower) in the past 60 years??

In our IT industry if a single project of 2 months fails, we have root cause analysis, lessons learnt documented and those who erred might even get fired.  What do you think should be the punishment to these politicians for having failed to deliver their promises? Indira Gandhi’s grand son is still roaming and campaigning in the state of uttar pradesh for elections using the same slogan and its derivatives used by his grand mother ‘Garibi Hatao’ (Remove Poverty!!)

In another 50 years it will be the so called today’s upper class who will be feeling that they have been discriminated for a century and then the upper class will start a movement for providing reservations to them… Where is the end to this vicious cycle??

Can any sane person in the government explain me how come the number of castes in SC/ST/OBC list has increased n folds in the past 30 years while logically speaking should be decreasing?? Does it mean that government (especially the congress party) suddenly realised that due to its inefficient functioning more and more communities are becoming backward as time progressed??

Making it a law to provide quotas in private sector will lead to the following immediate negative effects in the country:

  • Multinational companies want quality not quotas in the candidates and will leave India if forced to provide reservations
  • China will naturally overtake India even in the IT sector in which India had its lead till today. India currently leads the world IT offshoring services thanks to its merit based talented middles class and thankfully for the government not interefering in the way the IT industry conducts its professional business. But not anymore, government wants to tell IT who it has to hire and fire!! Who knows the government might also create a law where no reserved candidates should be in the list when a company has to do a layoff!!
  • More importantly, more and more frustrated brains will drain out of India to join NASA, IBM and Pentagon and our ISRO,HAL will continue to import spare parts for its satellites from US and european countries…

The government is saying to a General Merit based student with 90% score 
‘Go to hell, you are a GM student’
The GM student will tell the government
‘You go to hell, I am off to US’

Coming days will decide who went where…

Atleast now we know what it really takes for India to be a superpower.. keep the politicians out of this entire business…

Kissing – A risky business?? Tuesday, Mar 13 2007 

 I read this article about researchers being able to store ‘E=mc2 1905′ in a bacterial DNA. Genetic material is becoming the biological harddisk. Bacteria will be the future thumbdrives, USB drives and what not.

You dont need to take backups any more as bacteria replicate themselves in no time you will end up with multiple copies of the same data. No need to burn DVDs or backup on tape drives any more!!! Bacteria on an average need 20 mins to divide. So the bottom line is once in every 20 mins you can double the number of your backups!!

My thoughts then went even further!!

Bacterial backup are bioderadable, no need to worry about disposing unwanted data!!

What’s more striking is the thought about storing one’s private information. No need to store your private info in any external device anymore. Because there is always a risk that somebody might steal the device, say your mobile memory or your hard disk or a DVD.. So I thought why not instead store the info in bacteria and then store the bacteria within us!!

Humans have a great variety of oral bacteria in our mouth. They are harmless and always stay there, except that if you dont brush properly they will increase in n folds and will cause a bad breath!

So cant we store all our personal info in these oral bacteria!! This storage seems to me a lot more safer option than storing our personal info like credid card details, passwords, bank account numbers, social security data etc in some external device.

But be careful then, your saliva contains your personal data, dont get seduced by a stranger and start kissing, you risk your private data by doing so, Data thefts by kissing might be a common news item in the future ;-)

But you are at a risk even while you brush, somebody might be waiting down the sewage line hunting for your oral bacteria! Spitting becomes a risky business.. A better way out would be to encrypt the data in the bacteria so that only you can decrypt it..

Store the decrypting key, where else, in your brain!!

24/7 Health Monitoring Systems for Human Body Monday, Mar 12 2007 

With a combination of nano technology, biotechnology and information technology humans in the future can have a 24/7 health monitoring system in and around their bodies.

Tiny molecular nanobots will be designed as expert systems on general health monitoring and will be injected into our body where they will stay forever. They will be travelling via the blood stream to all parts of body 24/7 tirelessly ensuring that all is well. Nanobots will have both basic and advanced functional knowledge and measurement apparatus to monitor hte body’s health.

As and when there are any threats to the body, internal or external, these nanobots will alert the external devices which will guide the person towards immediate measures to be taken to address the issue and at the same time the device will inform your family physician about the updated new status via the internet!

By the way this external device could be a part of your shirt’s button or a tattoo on your body!

When you go to the toilet everyday, the glucose measuring system in the toilet will make sure that your blood sugar levels are normal. This will ensure that you can identify diabetes in very very early stages!!

When there is an external virus/bacteria attack, the nanobot in your body will take a genetic finger print of the attacker and email the same to your physician’s server where the finger print is matched with known virus/baterial list and the details about the microbe is known without even having to take a blood sample from your body and all this happens much before your body starts to respond to the external invasion in the form of fever. In other words, you can treat external microbeal attacks without having to wait for your body to show symptoms like fever, cough, pain, headache etc

In case of an accident, say an accident in a street, the external device using its GPS tracking service pinpoints your current location exactly and rushes the SOS call to the nearest ambulance service with accurate details of your current location!! No issues even if there is nobody around you at the time of accident, the ambulance will arrive asap. The same holds good in case of a heart attack too!! Also, you can expect the external device to do basic first aid services and to give you appropriate instructions….

Today cancer can be detected only when it reaches an advanced stage where cure is difficult as the cancer cells would have started spreading out across the body.. Not so with nanobots around.. nanobots can detect a cancerous tumor in a very early stage of growth and all you have to do is have a intake of expert nanobots which are specialized in destroying cancer cells.

The nanobots based expert system acts as a complementary system to our body’s immune system. Well, ah, nanobots can also give slight electric shocks to restart a heart that has just stopped!! Expert nanobots can dissolve kidney stones at an early stage without you even feeling the slightest pain!! Well, they can even throw out unwanted cholesterol and fats!!!

All these are just the tip of the iceberg of what’s to come..

Well, as far the energy needs of these nanobots are concerned, either we can use disposable nanobots which will pass out of the body in the form of waste once their molecular batteries drain out.. or we can develop a more complex nanobot which use the body’s cellular energy currency ATP for their energy needs….

Finally, with the advent of genetics, we can incorporate this whole nanobot technology as part of our genetic make up where in every cell has its own health monitoring system which reports a organ level health monitor which in turn reports to a entire body level health monitor which then are required accesses and updates the external health monitor. You know I personally believe in a multi layered spread out defense system (even if the layers are bit weak its fine, have hundreds of different layers)rather than a single strong layer.. In case of a single layer system when the layer fails, the entire system fails.. not so in case of a multi layered system…

A multi layered defense system with adequate fall back mechanisms is what made internet withstand the recent DDOS attacks….

Super human body, mast maja maadi ;-)

Follow

Get every new post delivered to your Inbox.