Wednesday, March 28, 2007

Mommy

When I come to the end of the day
And the sun has set for me,
I want no rites in a gloom-filled room
Why cry for a soul set free?
Miss me a little, but not too long
And not with your head bowed low.
Remember the love we once shared,
Miss me but let me go.
For this is a journey we all must take
And each must go alone.
It's all a part of the maker's plan,
A step on the road to home.
When you are lonely and sick at heart,
Close youe eyes and call me,
And bury your sorrows in doing good deeds -
Miss me, but let me go.


I Love You MOM

Tuesday, March 13, 2007

Violent Cricket

In lieu of the Cricket World Cup' 07 mania I like to share this rare picture to everyone.

How funny it is, but not sure what prompted this level of anger.

Monday, March 12, 2007

Jacques Chirac - French President - Bidding Farewell



One of my favorite statesman French President Jacques Chirac, decided to quit active politics and ruled out contesting the upcoming presidential elections. I like his charismatic speeches lot. Also his fierce opposition to US over Iraq war made him a revered leader world around.

He is one of the popular statesman who lead a world group in opposing the Iraq war and American hegemony. This prompted the American former Defense Secretary Donald Rumsfled's angry response by calling France as part of Old Europe, By this one can understand his impact over the US petty politicians.

World is going to miss another leader with international stature.

Here are the excerpts from his remarkable speeches....

France is doing everything it can, but the problem is that it is impossible to stop Bush from pursuing his logic of war to the end

One can go to war alone, but you can't build peace alone.

Franco-American relations have been, and always will be, both conflicting and excellent. The U.S. finds France unbearable with its pretensions; we find the U.S. unbearable with its hegemonic attitude. But deep down, we remember that the 'boys' - came to help us two times, just as the Americans remember that the French helped them with their independence. So there will be sparks but no fire, because a real bond exists.

France is not pacifist. We are not anti-American either. We are not just going to use our veto to nag and annoy the US. But we just feel that there is another option, another way, another more normal way, a less dramatic way than war, and that we have to go through that path. And we should pursue it until we’ve come [to] a dead end, but that isn’t the case.

As soon as one nation claims the right to take preventive action, other countries will naturally do the same. If we go down that road, where are we going?


Adieu Mr. Chirac.

Friday, March 09, 2007

One Fine Day @ Work

The following are the pictures I took on one fine day post lunch time, where only handful of FB members were working hard to deliver things as promised.



Me, Mani Shankar Goswami and Mahesh Anand

L to R: Mahesh Anand, Gaurav Jain and Karthikeyan Ramasubbu(yes ie Me)

Chairperson L TO R: Shambu Kumar and
Karthikeyan Ramasubbu (again the same yes me)
Standing Row L TO R: Mahesh Anand, Mani Shnkar Goswami, Gyanendar, Amit Agnihotri, Amit Srivastava, Gaurav Jain and Baba Bhapkar

L to R: Gaurav and Karthikeyan Ramasubbu(Me)

L to R: Gaurav and Karthikeyan Ramasubbu(Me)

L to R: Baba, Shambu, Gyanendar, Karthikeyan Ramasubbu, Amit, Gaurav, Mani, Amit Srivastav

India Overtakes Japan and Even China

I was going through the today's news and found an interesting news that tells the real growth story of Indian economy.

"The world's richest are getting younger and richer with more Russians and Indians cropping up among the 946 people on Forbes magazine's 2007 billionaires list unveiled on Thursday.

The number of billionaires is 19 percent higher than last year when there were 793, and their total net worth grew 35 percent to $3.5 trillion, the magazine said.

The average billionaire's age fell by two years to 62, and 60 percent started with very little. Two-thirds of those on the list were richer, with net worth up for nearly everyone in the top 50.

"This is the richest year ever in human history," said Forbes Chief Executive Steve Forbes. "Never in history has there been such a notable advance."

Among those joining the list are Howard Schultz, the founder of Starbucks, which pioneered the $3 cup of coffee, and former Walt Disney boss Michael Eisner.

Microsoft Corp. Chairman Bill Gates was the richest man for the 13th straight year, with $56 billion, followed by Warren Buffett, chief executive of Berkshire Hathaway Inc., with $52 billion. Mexican telecoms tycoon Carlos Slim remained No. 3, with $49 billion.


Russia climbed to No. 3 in country rankings with 53 billionaires, two less than Germany, which has long held the runner-up spot in the billionaire stakes behind the United States.

But the total worth of the Russians surpassed the Germans, at $282 billion versus $245 billion, Forbes said. The average age of Russia's billionaires was 46.

In Asia, India had the highest number of billionaires, overtaking Japan, which for two decades had held the region's top spot.

India had 36 billionaires worth a total $191 billion while Japan's 24 billionaires were worth $64 billion, the magazine said.


Google founders Larry Page and Sergey Brin are now worth $16.6 billion each, and the speed at which they amassed their fortune far is exceeding the pace of Gates, the magazine said. They both were ranked No. 26 on the list.

Back on the list were BET television network founder Robert Johnson and AOL's Stephen Case, in 840th place with $1.1 billion and 891st with $1 billion, respectively.


Computer maker Michael Dell and the heirs of Wal-Mart founder Sam Walton fell from the top 20. Dell was No. 30, worth $15.8 billion, and four Waltons were worth from $16.4 billion to $16.8 billion, ranking 23rd to 29th."

Thanks to Reuters for providing this information.

Saturday, February 24, 2007

Do DRY Programming

I would like to share this informative article which explains programming in simple and effective way. This is part of an IEEE article.

Some people feel that “getting” object-oriented programming is a difficult,time-consuming process. But does it need to be that hard? And is the difficulty even specific to OO programming? Many of the cornerstones of OO programming benefit other programming paradigms as well. Even if you’re writing shell scripts or batch files, you can use these techniques to great advantage.

What’s good code?

There are many aspects to writing good code, but most of these hinge on a single underlying quality: flexibility. Flexibility means that you can change the code easily, adapt it to new and revised circumstances, and use it in contexts other than those originally intended.

Why does code need to be flexible? It’s largely because of us humans. We misunderstand communications (be they written or oral). Requirements change. We build the right thing the wrong way, or if we manage to build something the right way, it turns out to be the wrong thing by the time we’re done.

Despite our fondest wishes, we’ll never get it right the first time. Our mistakes lie in continually assuming that we can and in searching for salvation in new programming languages, better processes, or new IDEs. In-stead, we need to realize that software must be soft: it has to be easy to change because it will change despite our misguided efforts otherwise.

Capers Jones, in his book Software Assessments, Benchmarks, and Best Practices (Addi-son-Wesley, 2000), showed that requirements change at a rate of about 2 percent per month(which really starts to add up after a year or two). But the problem with changes to projects is by no means limited to the common scape-goat of “requirements,” nor is it limited to the software industry.

According to a study of building construction in the UK (“Rethinking Construction,”Construction Task Force report to the Deputy Prime Minister, 1998), some 30 percent of rework isn’t due to requirements changes at all. It’s due to mistakes: plain, old human errors, such as cutting a joist 2 inches too short. Using the wrong kind of nail. Cutting the window in the wrong wall. It’s just human nature that we’ll get some things wrong,so what differentiates software quality is how well—and how quickly we can fix or change something. Flexible code can be changed easily and cheaply, regardless of whether the change is necessitated by volatile requirements or our own misunderstanding.

Most of the important lessons to be learned about object technology—how to avoid many common mistakes and keep code flexible—can be summed up in one sentence: “Keep it DRY, keep it shy, and tell the other guy.” Let’s take a look at what that means and how you can apply these lessons to all good code, not just OO code.

Keep it DRY

Our DRY (Don’t Repeat Yourself)principle deals with knowledge representation in programs (see The Pragmatic Programmer, Addison-Wesley,2000). It’s a powerful idea that states:

Every piece of knowledge must have a single, unambiguous, and authoritative representation within a system.

In other words, you should represent any idea, any scrap of knowledge,in a system in just one place. You might end up with physical copies of code for various reasons (middle ware and data-base products could impose this restriction, for instance). But only one of these physical representations is the authoritative source. Ideally, you’d be able to automatically generate or pro-duce the non authoritative sources from the single authoritative source.

Why go to all this trouble? So that when a code change is required, you only have to make it in one place. Any-thing else is a recipe for disaster, introducing inconsistencies and potentially hard-to-find bugs.

DRY applies to code but also to every other part of the system and to developers’ daily lives—build processes,documentation, database schema, code reviews, and so on.

Keep it shy

The best code is very shy. Like a four-year old hiding behind a mother’s skirt, code shouldn’t reveal too much of itself and shouldn’t be too nosy into others affairs.

But you might find that your shy code grows up too fast, shedding its demure shyness in favor of wild promiscuity. When code isn’t shy, you’ll get unwanted coupling; these axes of ill-advised coup-ling include static, dynamic, domain, and temporal.

Static coupling exists when a piece of code requires another piece of code to compile. This isn’t a bad or evil thing far from it. Even the canonical“Hello World” program requires the standard I/O library and such. But you have to be aware of accidentally dragging in more than you need.

Inheritance is infamous for dragging in a lot of excess baggage. Often it’s more efficient, more flexible, and safer to use delegation instead of inheritance(which should be reserved for true is a relationships, not has-a or uses-a). Shy people don’t talk to strangers, and shy code should be equally wary of other code that wants to come along for the ride.

Dynamic coupling occurs when apiece of code uses another piece of code at runtime. This can get seriously out offhand using a style we call the “train wreck” .

To get the state for an order, this code has to have detailed knowledge of an address, a customer, and an order—and rely on these three components’ implied hierarchal structure. If any-thing in that mix changes, we’re introuble; this code will break. Shy code only talks to code it deals with directlyand doesn’t daisy-chain through tostrangers as in the previous example.

Domain coupling takes place whenbusiness rules and policies become em-bedded in code. Again, that’s not neces-sarily a bad thing unless mirroring real-world changes becomes difficult. If thereal world is particularly volatile, putthe business rules in metadata, either ina database or property file. Keep thecode shy by not being too nosy aboutthe details: the code can act as an en-gine for the business rules. The rulescan change at whim, and the code willmerrily process them without anychange to the code itself. Small inter-preters work well for this (reallysmall—like a case statement, not a largeyacc/lex endeavor).

Temporal coupling appears whenyou have a dependency on time—eitheron things that must occur in a certainorder, at a certain time, by a certaintime, or worse, at the same time. Al-ways plan on writing concurrent codebecause the odds are good that it willend up that way anyhow, and you’ll geta better design as a fringe benefit. Yourcode shouldn’t care about what elsemight be happening at the same time; itshould just work regardless.

Code shouldn’t be nosy. I used tohave a neighbor who would peerhawklike over her kitchen sink out thefront window and keep track of everyneighbor’s comings and goings. Her lifehung at the mercy of every whim of theentire neighborhood; it wasn’t ahealthy position for her to be in, and itisn’t a healthy position for your codeeither. A big part of not being nosy liesin our next item.

Tell the other guy

One of our favorite OO principles is“Tell, Don’t Ask” (see IEEE Software,Jan./Feb. 2003, p. 10).

To recap briefly: as an industry, we’vecome to think of software in terms offunction calls. Even in OO systems, we view an object’s behavioral interface as aset of function calls. That’s really not ahelpful metaphor. Instead of calling soft-ware a function, view it as sending amessage.

“Sending a message” to an objectconveys an air of apathy. I’ve just sentyou an order (or a request), and I don’treally care who or what you are or (es-pecially) how you do it. Just get itdone. This service-oriented, operation-centric viewpoint is critical to goodcode. Apathy toward the details, in thiscase, is just the right approach. You tellan object what to do; you don’t ask itfor data (too many details) and attemptto do the work yourself.

By “telling the other guy” in thisway, you ensure an imperative codingstyle that keeps your code from be-coming too nosy and from getting in-volved in details that it shouldn’t careabout. Such involvement would makeyour code much more vulnerable tochange. To make this work in a sys-tem, you’ll need to preserve the com-monsense semantics of commands(that is, every object that has a printmethod should behave similarly whencalled).

This isn’t an OO-specific tech-nique either. Even shell scripts canbenefit from this approach. In fact, acommon Linux command employspolymorphism at the command line.The command fsck (which is not acartoon swear word—really) per-forms a file system check. When youinvoke fsck, it determines the file sys-tem type and then runs a delegate,such as fsck.ext2, fsck.msdos,or fsck.vfat, that performs the ac-tual tests for that kind of file system.But you, as the requester, don’t care.You tell the system to check the diskvia an fsck command and it just doesit. It’s just the right amount of apathy.

So remember to “keep it DRY, keepit shy, and tell the other guy.”

Saturday, February 17, 2007

Is India Really Rising As They Say?

As we are calling ourself as 'Rising India', 'Growing India' and with other catchy words, Are we really in a position now to praise ourself in such a over hyped way? The positive changes must be felt in the grass roots of the country and should be widely appreciated around the world by all walks of people. But this is not in our case. Whoever saying this "Rising India" is just conducting it as another commercial movement to reap the benefits by making use of patriotism. Think, how sending SMS to some XYZ number will help make India grow better? Only those asking to send and companies providing the services will grow and definitely not India. But people who are conducting the campaign says, It's reflecting the true story. But truly one thing will happen if we take the arguments rightly, i.e. promoting positive thought or wave among us we will sure have sort of positive influence.

I recently read an article about this on Editorial oh International Herald Tribune.

Here is that article authored by Philip Bowring.

"I've been bullish on India for the past 17 years, but now I'm nervous. One does not need to be in the country to be deluged by "India rising" triumphalism. The BBC World Service is providing an endlessly repeated series on the subject. Morgan Stanley's star economist Stephen Roach has followed the crowd and returned from the subcontinent with "great enthusiasm" for the "magic of its entrepreneurial spirit." Fortune magazine advises us to look out for more multibillion-dollar acquisitions by globalizing Indian companies.

A resurgence of Indian pride is understandable after decades when India was ignored by the Western media and viewed with disdain by fast-growing East Asia. Such a boost to national self- confidence must be of long-term benefit and create a dynamic of rising expectations.

But there are too many signs of an overconfidence that looks more and more like hubris. If suddenly deflated it could undercut the basis on which Indian optimism is built — that India can compete in a globalizing world and one day equal China in economic weight.

The hype about ethnic Indian talent is a reminder that a decade ago much the same thing was being said of ethnic Chinese. Back then, the world was caught up in the "miracle" of Southeast Asian growth, fueled, it was said, by the business skills and networks of overseas Chinese. Success was attributed to the culture of Confucius, who believed in a hierarchical society directed by a wise elite. "Asian values" were equated with Confucian ones. The "global Chinese" story — while not a myth — was overblown and finally punctured by the Asian economic crisis.

There are other reasons to worry now about the India hype. It is all very well for Indians to express racial pride over the success of Mittal in gaining control of European Arcelor to become the world's biggest steelmaker. But why, it might be asked, has the Indian-born, London-dwelling Lakshmi Mittal invested so little in India itself? And where would India be if its markets were as open as those of Europe, an openness which enabled Mittal to buy Arcelor?

The Tata Group's acquisition of the Anglo-Dutch steel group Corus raises other concerns. Maybe there are synergies and Tata can acquire technology. But, again, one may ask why Tata, a 100- year-old family conglomerate, is investing so heavily outside India when India offers the greatest growth potential of any major steel market. Its current steel output of 44 million tons is one-tenth that of China.

Contrast the effort by Tata to buy into the international big league with that of Posco of South Korea. Its rise from nothing to become the world's third largest producer and a leader in steel technology was achieved through organic internal growth and investment in research — just as Japan's was a generation earlier. Although Posco was protected by the government, it was always under pressure to produce quality steel at prices that kept South Korea's shipbuilding and other steel-using industries competitive.

Indian overseas acquisitions have been possible not so much because the acquirers are especially rich or dominant in their industries, but because it has been so easy to borrow. Indian companies are the beneficiaries, for now, of the same global liquidity bubble that is producing multibillion-dollar private equity takeovers and has helped the Indian stock market rise fourfold since 2003.

Thus, Indian companies are investing more overseas than foreigners are investing in India. Of course some acquisitions are in fields where India does lead — software and generic pharmaceuticals. Some are driven by business logic. But others do more to swell Indian pride than boost the Indian economy.

At home, Indian investors have been helped by an unsustainable rate of growth in bank credit — 20 percent last year. The fact is that India remains a capital-short country. The growth of its gross domestic product has been stimulated by a rise in the investment rate from around 25 percent of GDP to 30 percent. But even more is needed to sustain growth, and even the present rate may prove hard to maintain when global conditions become tighter.

As it is, India's private-sector savings surplus has fallen sharply while the public-sector deficit remains very high. The serious deterioration now occurring in the current account will probably crimp India's growth, push interest rates back up and prick the stock bubble.

Enthusiasm about India's global role as a manufacturer, given its supply of labor and vast domestic market, is fine in theory, but it must be tempered by the reality of high tariffs and a huge manufacturing trade deficit. India is more dependent than ever on exports of services and raw materials, and on workers' remittances.

Long term, I remain bullish on India. But it is time for a reality check."