IF you can keep your head when all about you
Are losing theirs and blaming it on you,
If you can trust yourself when all men doubt you,
But make allowance for their doubting too;
If you can wait and not be tired by waiting,
Or being lied about, don’t deal in lies,
Or being hated, don’t give way to hating,
And yet don’t look too good, nor talk too wise:

If you can dream – and not make dreams your master;
If you can think – and not make thoughts your aim;
If you can meet with Triumph and Disaster
And treat those two impostors just the same;
If you can bear to hear the truth you’ve spoken
Twisted by knaves to make a trap for fools,
Or watch the things you gave your life to, broken,
And stoop and build ’em up with worn-out tools:

If you can make one heap of all your winnings
And risk it on one turn of pitch-and-toss,
And lose, and start again at your beginnings
And never breathe a word about your loss;
If you can force your heart and nerve and sinew
To serve your turn long after they are gone,
And so hold on when there is nothing in you
Except the Will which says to them: ‘Hold on!’

If you can talk with crowds and keep your virtue,
‘ Or walk with Kings – nor lose the common touch,
if neither foes nor loving friends can hurt you,
If all men count with you, but none too much;
If you can fill the unforgiving minute
With sixty seconds’ worth of distance run,
Yours is the Earth and everything that’s in it,
And – which is more – you’ll be a Man, my son!

– Kipling

  • “Never does the human soul appear so strong and noble as when it foregoes revenge and dares to foorgive an injury.” Edward Chapin
  • “The best portion of a good man’s life is the little, nameless, unremembered acts of kindness and love.” – William Wordsworth (1770-1850) – English poet
  • “When you cannot make up your mind which of two evenly balanced courses of action you should take – choose the bolder.” – W.J. Slim

Yahoo! launched pipes yesterday and the product looks impressive. It has recieved a very good response from tech bloggers all around, but the greatest praise it has received is from Tom O’reilly who calls it as a milestone in the history of Internet. Yahoo! employee Kevin Cheng, who is one of the developers of pipes, says there are countless ideas to be implemented and they are working on some awesome features. Indeed a great product from Yahoo!.

From what I have understood about the product, it allows users to mix, match and filter data sources into RSS feeds. Brady Forrest talks about how to build pipes in a great detail. The name pipes come from Unix world, where we use pipes to pass filtered output of one command to other. From the website:

Pipes is a hosted service that lets you remix feeds and create new data mashups in a visual programming environment. The name of the service pays tribute to Unix pipes, which let programmers do astonishingly clever things by making it easy to chain simple utilities together on the command line.

Philosophy Behind the Project

There is a rapidly-growing body of well-structured data available online in the form of XML feeds. These feeds range from simple lists of blog entries and news stories to more structured, machine-generated data sources like the Yahoo! Maps Traffic RSS feed. Because of the dearth of tools for manipulating these data sources in meaningful ways, their use has so far largely been limited to feed readers.

Good work Yahoo!.

Today while browsing DVP website, I discovered most of the fellows were Indians and they were working on projects closely related to India. The reason is simple; on one hand, India has the best pool of technologists, but on the other hand, a large portion of India remains under-developed and lacks basic infrastructure. As our economy is growing, it is also widening the divide between rich and poor. We have partitioned India in two different worlds; a confident and developing urban India, and a poor apprehensive rural India. And therefore, transforming rural India is the greatest challenge that India faces today.

Having spent my childhood in a small town of Madhya Pradesh, I have seen both the worlds. I know quite a few people who earn less than 1000 Rs (~20$) a month. I still remember an incident, when I saw a person crying in sabzi -mandi (vegetable market) when he couldn’t sell any of his vegetable because of the rains. Fifty-sixty rupees was a big sum for him (which he would have made after selling all of his vegetables!) and perhaps loosing it meant a day or two without food. (But I must also mention, you should see the sense of joy a villager gets after selling all the vegetables, a feeling which we city-waalas can’t even relate to. )

If India wants to grow as an economic superpower, rural India needs to transform as well and for that we need social entrepreneurs and disruptive innovation. To quote Nobel Laureate Murray Gell-Mann, “Only through education, participation, a measure of consensus, and the widespread perception by individual people that they have a personal stakes in the outcome can lasting and satisfying change can be accomplished”

I don’t know when did Google add this feature on Orkut; but today, when I clicked on a friend’s profile to wish her on her birthday, I saw videos link there. Now you can share your favourite videos uploaded on YouTube/Google videos by adding it’s URL in Orkut Video album. This page explains more about it.

Update: Official Google blog has more details about this.

Google has applied for a patent to display contextual ads on digital billboards. From Clickz:

If patent filings are anything to go by, contextual advertising powered by Google will start appearing on digital billboards in a shopping mall near you.

The Mountain View, Calif. search marketing giant has filed a patent application for technology that lets local stores tie their stock control computers to a Google-powered ad network, a strong hint that the company is planning to expand expansion beyond Web, print and radio advertising.

The patent, filed December 21, 2006 with the USPTO (United States Patent and Trademark Office), covers systems and methods for allocating advertising space in a “network of electronic display devices.”

……..

In the patent application, Google explained that its technology could remove the burden of manually loading looped ads, instead letting merchants create campaigns from available goods and services. The ads can be displayed in rotation and shut off automatically when a product is sold out.
Once the product is restocked, the advertisement can be re-added to the display cycle.

Interesting indeed.

Today I was programming in C++ and was using STL string class. All I wanted to do was replace all the occurrences of a string ‘X’ in string ‘A’ by string ‘Y’. To my surprise, I could not found any existing standard function in string class which can do this. System languages like C & C++ expect users to write simple but common routines by themselves, and this makes development so painful. On the other hand, scripting languages like Perl provide in-built functions to do such tasks.
Perl is an interpreted language, which contributes to the common perception that Perl is slow while executing and is not suited for large scale software projects. I would agree Perl is not as fast as a system language like C, but this compromise helps in reducing development time by a considerable factor. Programmers can pick Perl in a few days, and it is extremely easy to use. Two other important reasons for using Perl are:
(i) Powerful integration of regular expressions in Perl
(ii) and Perl’s active development community, you can find almost all the frequently needed programming routines, from GPG encryption interface to database query interface, freely available as CPAN modules.
So if you are a C/C++ or Java programmer who wants to develop code faster, Perl is the language to learn. Simon Cozen’s Beginning Perl is an excellent book for beginners.