When two non-linearities collide

What happens if exponential growth of productivity continues?

Most tech managers will laugh at exponential growth of productivity. However, it is quite achievable. OK, OK! For now, let us assume it is possible to take steps that improve 20%-50% productivity improvements year over year. [Later I will charge consultancy fee if you want to know how :-)]

Over four separate occasions, I have experienced that while such a streak of improvements is possible, it is not practical to continue exponential growth for longer than 3 or 4 steps. Let me rephrase it for better understanding. While it is technically possible to make things better, faster and cheaper, it doesn’t happen after 3 or 4 such steps.

Typically I have seen such a growth hitting one of the following limits:

  • Problem domain limit: For example, when subatomic particles were discovered, they were discovered at a phenomenal rate. In a few decades it was predicted that there will be a particle for each person on the earth. Two things stopped that explosion. First, human beings out-produced themselves over papers 🙂 and second, Standard Model gave a very succinct presentation and the race ended. Similarly, when I mounted on designing game boards, I went exponentially inventing new boards (like cylindrical, helical, …) till I found the principle behind what I was doing. After that, I could predict all and there was an end
  • Operational limit: For example, if you could meta-automate tests, wrote libraries in a way that test cases generate themselves. I have reached to meta-automation stages 3 times in my career so far. It found bugs by tons. However, soon I hit operational limits in terms of the lab. I was able to generate tens of thousands of tests on demand but I still needed physical time and setups to run them
  • Organizational limit: For example, you followed “Decision-less Programming” to its extreme or designed tools to crank out near-faultless code, other organizations (like your users or testers) may not be ready for such an assault. Once I eliminated my team’s jobs doing something like this. All the foreseen projects were done when our homegrown “web-page flow to code converter” and “DB to web-page designer” worked perfectly in tandem. [The pages sucked aesthetically but hey, who cared about the UI of internal tools?]
  • Financial/market limit: For example, the market for cars can’t accept cars going faster than some kmph. Any faster and roads or human reflexes may end up in accidents
  • Social limit: For example, I remember someone from Siemens complaining about selling thermal power plants in India. While the plant technology was improved exponentially to the level that it could be run by less than half a dozen engineers, the government insisted on specifying the need more than a hundred to be employed. The power problem wasn’t so much of that of power generation but of employment generation, he noted

What other limits cross your mind?


Learning Curve – Beyond Search Engines

Nobody doubts that Internet search has revolutionized human endeavor of gathering information. I have been using Internet for 20 years for now. Over the period of time, I have started realizing limits of just a “Search Engine”.

If you look back at the most prominent search engine Google, it has changed in only the following ways from black box point of view:

  1. Predictive search, which in turn killed “I’m feeling lucky”
  2. Tag based search on images etc.
  3. Infinite scrolling of search results rather than pagination
  4. More relevant search

Nothing of above was non-trivial achievement. However, it is still search, search and search. Wolform Alpha has a new approach to search – and some other search engines may have some more angles to search.

However, as an intelligent being, searching for the information isn’t enough. A lot of times another longer intellectual activity may be going in the end user’s mind. This activity is called “learning”.

My wonder is, can an engine be designed that takes all the random information on the web and draw a Learning Curve for a given concept? That means, out of given concept (keyword), can the Web be rendered in ordered manner to introduce that concept and gradually leading the reader to deeper and deeper concepts? I will call such an engine Learning Curve

Outcome of such an engine on human intelligent activity will be dramatic. Suddenly searching will sound too consumerist. If we can draw such a curve (or curves) for a given concept – and associate learning sessions to a tool like browser, potential of human civilization can be realized like it has never been. If we can make such an engine (and popularize it 🙂 human knowledge growth curve will be much steeper than current “search and get lucky” approach. If Learning Curve approach is like stable agriculture, searching is like hunting-gathering.

Next question is, how do we order the ever-increasing –knowledge-in-the-web in the order of easy to hard?

First negatives:

  • User rating of a standalone page is likely to be defrauded, misjudged
  • Asking administrators to rate the page is likely to be misjudged or devoid of motivation
  • Based on human learning habits, one way to learn may not exist

Now how it may be achieved:

  • Absolute rating of pages doesn’t make sense but relative rating does. A browser plugin may display two pages about a concept side by side with end user rating easier-harder
  • An engine storing each page’s ranking with each concept with other rating (now, that is computationally suicidal)
  • Upon next request to serve the page, the engine serves pages by rank. The user can adjust rank like chess engine according to her/his level in a particular subject. The service may not be serving pages like rank 1, 2, 3 and so on. The service may bunch pages in links for 1-50, 51-100, …

Do you think it may work? If not, what can work? Is this idea worth pursuing at all?

BTW, commercialization of this idea is easy 🙂



Is interference the next big thing?

Recently I have covered spying applications like “audio zoom“. Here is an excellent article about pCell, a technology that 1,000 times faster WWAN coverage. Though pCell may never become a reality for the cold, hard economics, something VERY interesting is common across such developments.

The common theme here is exploitation of interference or superimposition through multiple, yet small number of transceivers.

As a trend, I see that physics still matters to engineering even after computers got into our pockets 🙂 I also see that a phenomenon of wave physics called Interference is suddenly being paid attention to. So far technology (or the technology I know) has focused on brute force power of signals and number of transceivers. This is the first time I see “transceivers working together” yielding “sum bigger than  parts”. This phenomena of exploitation of interference can be attributed to availability of cheaper and less power hungry processors. As time passes, we may see more and more such interference based technologies to emerge and help us better.

IMHO this could be a paradigm shift in technology as big as superheterodyne transmission (or the radio) , which had moved the possibility of information exchange much farther, faster and cheaper than earlier methods of base band communication.

Also, any such change brings up bigger changes in the way other branches of knowledge (like philosophy) perceives the world. I can see what kind of impact success of such technologies may have in our collective thinking. I can predict some philosophical ideas of future. However, this is largely a tech blog. So let us stop here 🙂




Key Idea

“The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom.” Isaac Asimov

And society includes engineers, designers, marketing executives and consumers.


It is odd. I have been talking on this blog about software – and sometimes on automobiles. Here is a link from Nokia – and its plans to get big into automobiles. Coincidence? No.

Here is why.

Scene 1:

When I was in my teens, we used to get this pseudo-historical TV serial “The Sword of Tipu Sultan”. The story was about an Indian King hero and how he lost against British East India Company. Sugar coating aside, the director Sanjay Khan had done a decent job.

Once I was watching an episode depicting war preparations by both the sides. My father interrupted me and asked, “Can you deduce from these scenes who should win the war?”. I said “no”. My father said it is obvious that in long run, the British should win. I asked how. Then he pointed at the British general and commanders spreading a map on the table and planning the war – movement, provisions, backups etc. but Tipu was addressing his crowd as a hero. [My father taught me a lesson on how cold blood wins over hot blood. That isn’t the point of discussion here.]

Lesson: Cartography and surveying are amazing tools

Scene 2:

Science and technology didn’t progress much till Galileo noticed that a pendulum swings only at certain interval. This was the birth of modern cronometry – or clock business. Later that time measurement developed into Newton’s laws where the “rate of change” became the cornerstone of the universe – and the world exploded with technology and science.

Lesson: Cronometry is an amazing tool

Scene 3:

Albert Einstein proves that there isn’t much difference between time and space.

Lesson: Surveying and cronometry are cousins

As human beings limited to space and time, measuring both are extremely important to us. There is no wonder conquering both are goal of every major business.

If you look at last two decade’s technological advances, GPS (surveying and cronometry), GIS (cartography), mobility of computing, self-driven cars (automation of change in location) – all is promising great future for any business that combines space and time.

While business success depends on a lot of factor and I can’t say Nokia would get it 100% right, fundamental idea of Nokia is unbeatable.

Long back a rishi of upanishads could see this importance of time and distance, probably by observing how riding a horse or bullock cart helped reducing pains of humankind:

यदा चर्मवदावकाशम् वेष्टयिष्यन्ति मानवाः

तदा देवमविज्ञाय दुःखस्यान्तो भविष्यति.

When humans will wrap around the world like a hide (skin)

Then the pain associated of not knowing God will end

Moral: If you want to make money, one way is to make anything more controllable in space and time

Understanding it late – A joke, an algorithm, a few sutras

Read this famous joke:

A man went out for a business tour.

He asked his wife to receive (snail) mails and write down on each envelope when it was received.

When he returned, his wife dutifully gave him the bunch of mail.

Each enveloped was marked “arrived today”.

I read this joke when I was 8 year old. I ran into it every now and then. It annoyed me because I couldn’t understand it till I was 20 years old and actually did something similar to the man’s wife.

I had exactly one high level programming subject during my studies of Electronics and Communication in the year 1990. I was one of the few in my class who liked programming. Recursion meant “cursing again” for most students 🙂

Fibonacci solution is a famous exercise for teaching recursion.

fibonacci(1) = fibonacci(2) = 1;

fibonacci(n) = fibonacci(n-1) + fibonacci(n-2); for n>=3

I called it 2-fibonacci, where in there are two initializations

fibonacci(1) = fibonacci(2) = 1;

and two terms in the sum

fibonacci(n) = fibonacci(n-1) + fibonacci(n-2); for n>=3

Then, I thought of 3-fibonacci, 4-fibonacci and so on and wrote some successful programs (in Pascal!!)

The question then arose was, for a given depth p, can I write nth term of a p-fibonacci sequence?

I could not. I could not fit the variable number of initial conditions and variable length of sum into a program.

My friend Hiren Mehta gave an iterative solution back in 1990 itself. The trouble was, the solution had an assumed limit on p.

Last week, after asking a silly question here and on one of the usenet groups, I sat down and tried to code it again.

Guess what? It was simpler than I thought. The trouble was, I could not think of putting a for loop inside a recursive function. Here is the solution – very simple.

int fibonacci (int depth, int term) {
int returnValue = 0;
if (term <= depth) return 1;

else {

for (int i = 1; i <= depth; i++) returnValue += fibonacci(verbose, depth, term-i);



I read Narada Bhakti Sutras when I was 23 year old. One of them was,

स तरति, स तरति, लोकान् तारयति च. [He swims, he swims and makes the world swim.]

It bothered my mind why the second स तरति was used in the sutra. It wasn’t until I started helping my wife in solving some of her assignments in her B.S. (and I was 30 years old) that the sutra indicated the need of swimming “back” to the shore to take the world along. And yet, Narada doesn’t call it swimming back because probably at his level of consciousness, the second act of swimming may not be in the “back” direction.

Once I understood this, I could also understand the importance of systematic unlearning (and inviting subtle discomfort) that is needed to teach. I could also appreciate the difference in Buddhism between an Arhat and a Buddha. [I read Surangam Sutra when I was 25 – but the fault was with the seeker, not with the path shown.]

I could also understand a phrase of shiva mahimna stotram, नास्ति तत्त्वम् गुरो परम्  – there is no philosophy/knowledge other than a teacher.

Long after reading this phrase, I saw a program on Discovery (?) wherein they showed that the only intellectual difference between an ape and a man is the indication. Apes never indicate explicitly at some object or phenomenon to the other ape but humans regularly do. There no TEACHING in non-human apes.

Probably this was the reason why philosophy/knowledge in Sanskrit is called “That-ness” or तत्+त्व = तत्त्व. There could be no knowledge for humans other than the teacher-ness or तत्त्व!

It is interesting to see how my mind deceits. It refused to work in time with illogic (a joke), logic (the algorithm) and analysis (the sutras).

Did you face similar problems?

Flip side of medicines

One of my closest friends has childhood diabetes. He was a very good football (soccer) player and a painter par excellence. Diabetes devastated his life. In 1980’s, diabetes management wasn’t well spread. Soccer was gone forever.

In those days, proper diabetes diet was a major problem. He had to be satisfied with a painting course available where his diet could be managed.

Fertility remained elusive till he was blessed with a very bubbly child after more than a decade of marriage. The day I received the news, I could not sleep because of joy. Luckily fertility treatment had advanced faster.

Genetic therapy is advancing. Now childhood diabetes is a major target for companies. So are epilepsy, Leukoderma, asthma and even Down’s syndrome. If you have a relative or a friend who got caught on the wrong side of nature’s Russian roulette, you couldn’t have felt more optimistic!


And there is a flip side to it. At the risk of being labelled stone-heart, let me express my worry.

I was not born strong – at least in Spartan sense. I and millions like me survived the deadly parasites of small pox, polio, whooping cough etc. just because humanity had this wide spread immunization programs. Had I born 50 years earlier, my weaker genes might have taken me out much before I could pass them to the next generation. Because of immunization, I survived to write this blog and father two children.

Nice story, eh? But once again, look at the flip side – my survival came at the cost of passing weaker genes forward.

If genes continue to go forward unchecked, survival of human race will become severely dependent on the survival of modern civilization.

Then comes this genetic fault-tolerance. Faulty genes of epilepsy or cancer are supposed to be wiped out faster than genes (or absence thereof) causing weak immunity. By extending a chance of life we are just being good – but by extending chances of reproduction are we not taking a big risk?

[I know, it starts sounding unethical and Eugenic. However, I can’t help the consequences of technological progress.]


How strong has the current modernity been? None can say. One more market crash or one more Osama bin Laden or one Hitler or one epidemic or one meteor hit can reset availability of medicines to millions. Then think of the plight of likes of my friend. His child might have even married my another friend’s child and humanity might have assumed “a preventive shot for childhood diabetes” as a normal phenomenon – and some religious zealot destroys the supply! What a nightmare may ensue!

Or, just imagine if there are nasty side effects say late inset schizophrenia discovered of medicines that may help childhood diabetics.


The best way of action isn’t to go back to Eugenics.

The eventual way would be to go for designer babies. Making sure that 99.9999999% of my friends genes, good, laughing, soccer playing, painting genes are being passed to the baby. Just zap that diabetic one and substitute it with a synthetic, healthy gene. Who knows, during the screening, we might discover that the baby may be a carrier of Thelassamia and zap out that gene sequence as well!

Such a situation isn’t going to push us back to the days of innocence. Someone would label it as “Eugenics++”. Once you can assure your child doesn’t have diabetes, you will like to assure his/her IQ is 150 and has “Fair and Lovely” genes.

But my friends, given the three ways in front of us, this is the least harmful way. Continuing faulty genes is fraught with danger, Eugenics is 100% unethical, designer babies are at least neither unethical nor tragic disasters.