Sunday, March 27, 2011

We can be right but wrong

For almost five thousand years, we were certain that the sun rose in the east and set in the west. People went about planning a day's routine based on this knowledge that the sun moved in the sky around the earth. No one was hurt or killed even though our understanding was badly wrong.

Newton put forth many laws of physics that govern almost everything we do. We build bridges, skyscrapers and aeroplanes based on those laws. No one has been known to be injured or killed because any of Newton's laws were faulty. But 300 years after Newton, Einstein's theory on relativity showed that Newton's laws were wrong! Newton was right only if speeds were slow.  Luckily the rocket scientists had time to make the adjustments before sending people to the moon.

So, we can be right but still be wrong, and be the none worse for it.

We can be wrong in totality, but if our application of knowledge is restricted to the scope of what we know, it is possible that we can still be successful in thinking that we are right, while actually we are wrong.

So we are no better than the blind men and the elephant. We are the blind men floundering around with a big elephant.

Back to the earth going round the sun. How certain are we now that the earth is indeed moving round the sun? It is possible that the earth could still be the center of the universe after all. If someone with a good understanding of this subject matter were to propose this today, he won't be persecuted like Copernicus or Galileo were, but he would be ridiculed. I would keep an open mind.

Wednesday, March 23, 2011

The Awesomeness of Power

Finally, today I see someone with similar views. See Programming is a Super Power.

You might have discovered that I too started with assembler on 8-bits.  Survivors from that bygone era respect power, or rather the lack thereof.  Some of us are stupid enough to always optimize every line of code in the head, mentally mapping the compiler output to IL to Intel opcode, notwithstanding that the entry-level CPU is running at a billion instructions per second in each of its four cores.  Most of the time we are proven right, as any application beyond the trivial will become sluggish when one relaxes and indulge in "easy" code, no matter how BIPS you may have.

With today's hardware and the enormously rich class libraries, I am continuously thrilled by the amount of heavy lifting that a single line of innocuously looking code can do.  It must be like flying a jumbo plane - little movements on the stick maneuver 350 tons just like that!

After a while, it becomes addictive!

Thursday, March 17, 2011

Why are people still comparing browser performance?

IE9 is out today and web sites have sprung up benchmarking it against Chrome, Firefox, et cetera.

100 years ago, the lunch time conversation probably centered around who's got the fastest car, and if yours was 38mph and mine was 42mph I get the looks of envy and admiration.

About 50 years ago, people forgot that cars came with a maximum speed limit. Because whatever roads there were, and whatever you wanted to do, every car could go faster than what the other restrictions impose.

Here we are at IE9 on an entry level consumer PC with quad-cores and a billion instructions per second per core, who are these people talking about browser benchmarks, and what are their motives?