19 May 2008

The Burning Hut

The only survivor of a shipwreck washed up on a small, uninhabited island. He prayed feverishly for God to rescue him, and every day he scanned the horizon for help, but none seemed forthcoming. Exhausted, he eventually managed to build a little hut out of driftwood to protect him from the elements, and to store his few possessions. But then one day, after scavenging for food, he arrived home to find his little hut in flames, the smoke rolling up to the sky. The worst had happened; everything was lost. He was stung with grief and anger. "God, how could you do this to me!" he cried.

Early the next day, however, he was awakened by the sound of a ship that was approaching the island. It had come to rescue him. "How did you know I was here?" asked the weary man of his rescuers. "We saw your smoke signal," they replied.

It is easy to get discouraged when things are going bad. But we shouldn't lose heart, because God is at work in our lives, even in the midst of pain and suffering.

Remember next time your little hut is burning to the ground- - it just may be a smoke signal that summons the grace of God.

The Cracked Pot

A water bearer in India had two large pots, each hung on each end of a
pole which he carried across his neck. One of the pots had a crack in
it, and while the other pot was perfect and always delivered a full portion
of water at the end of the long walk from the stream to the master's house,
the cracked pot arrived only half full.

For a full two years this went on daily, with the bearer delivering only
one and a half pots full of water to his master's house. Of course, the
perfect pot was proud of its accomplishments, perfect to the end for
which it was made. But the poor cracked pot was ashamed of its own
imperfection, and miserable that it was able to accomplish only half of
what it had been made to do. After two years of what it perceived to be a
bitter failure, it spoke to the water bearer one day by the stream.

"I am ashamed of myself, and I want to apologize to you."

"Why?" asked the bearer. "What are you ashamed of?"

"I have been able, for these past two years, to deliver only half my load because this crack in my side causes water to leak out all the way back to your master's house. Because of my flaws, you have to do all of this work, and you don't get full value from your efforts," the pot said.

The water bearer felt sorry for the old cracked pot, and in his compassion he said, "As we return to the master's house, I want you to notice the beautiful flowers along the path."

Indeed, as they went up the hill, the old cracked pot took notice of the sun warming the beautiful wild flowers on the side of the path, and this cheered it some. But at the end of the trail, it still felt bad because it had leaked out half its load, and so again it apologized to the bearer for its failure.

The bearer said to the pot, "Did you notice that there were flowers only on your side of your path, but not on the other pot's side?

That's because I have always known about your flaw, and I took advantage of it. I planted flower seeds on your side of the path, and every day while we walk back from the stream, you've watered them.

For two years I have been able to pick these beautiful flowers to decorate my master's table. Without you being just the way you are, he would not have this beauty to grace his house."

Each of us has our own unique flaws. We're all cracked pots. But if we will allow it, the Lord will use our flaws to grace His Father's table.

In God's great economy, nothing goes to waste.

So as we seek ways to minister together, and as God calls you to the tasks He has appointed for you, don't be afraid of your flaws.

Acknowledge them, and allow Him to take advantage of them, and you, too, can be the cause of beauty in His pathway.

Go out boldly, knowing that in our weakness we find His strength, and that "In Him every one of God's promises is a Yes."

15 May 2008

Thought of the Day

Happiness: a good bank account, a good cook and a good digestion.
By Jean-Jacques Rousseau

14 May 2008




“A Series of Tubes” Plug-In Brings YouTube to Apple TV



Apple TV modders are preparing a plug-in that will allow Apple TV owners to watch YouTube videos directly from the Apple TV menu system. While the plug-in is not available to the general public yet, videos have been posted on YouTube, showing it in action.

The plug-in is called "A Series of Tubes" and is being developed by ‘Xdog’ of the AwkwardTV Apple TV plug-ins directory.The video shows the "A Series of Tubes" plug-in entry in the Apple TV's Front Row interface, alongside with music and movies. Once selected, the plug-in lets the user choose between collections of YouTube Videos, such as: Recently Featured Videos, Week’s Most Discussed, Week’s Most Viewed, Month’s Most Discussed, and Month’s Most Viewed. Once a category has been selected, a list of all available videos becomes available, with the currently selected video showing a still preview and a description. Playback is very smooth in the video but this could be because the plug-in has caching options that would help iron out any bumps caused by network traffic.

So far, Apple has made no changes to the Apple TV in order to allow for easier modding or to officially support any of the most popular mods. However, with services such as YouTube and Joost being as popular as they are, it is probably only a matter of time before they have to do something. It is obvious that Apple intended the Apple TV to be the iPod equivalent of movie and TV shows; however, that strategy has not been working out that great for them so far. Video sales are simply not as big as music sales, and many have put forward that they simply will not be because users prefer renting video content.

Regardless of what Apple does do with the Apple TV, those who are willing to tinker around with the Apple TV box and want to be able to watch YouTube videos, will be able to find the "A Series of Tubes" plug-in on the AwkwardTV plug-in directory soon.

30 January 2008

UBONA

Ubona is one of a kind and first service in India and presently for the people of Bangalore only, the website provide new kind of service where any user can call from his/her cellphone and it comprehend the speech of consumer and trigger appropriate action. See - Demo

Using the service, People in Bangalore will be able to call any wine and dine place (restaurants, hotels , sweet shops, bakeries) only by saying the name of the place. The phone number to access the service is (91) (80) 4070 0000. The service is accessible from any land-line or mobile phone at no extra cost.

The Ubona service for consumers, businesses and enterprise is new service that delivers consumers information and business to reach consumer in somewhat JIT (Just in Time) methodology of ERP.

Through this new online mobile 2.0 service users can make purchase, get information, make reservation or enquire about a service or product through mobile whereas a business, enterprise can reach thier targeted audience in clutter free environment unlike to paid campaigns in search engines where you compete several other advertisers visible next to your ads.

This service by Ubona has definitely created new dimensions in Mobile 2.0 market in India as well as among web2.0 companies in India, its state of the art speech recognition platform which is completely in-house developed and as per company uses a paradigm different from the prevailing methodologies.

CNN-IBN Indian of the year 2007







Who is the greatest filmstar? Dilip Kumar, Amitabh Bachchan or Sharukh Khan?

Who is the finest Indian batsman of all time? Sunil Gavaskar or Sachin Tendulkar?

Who was a better prime minister? Jawaharlal Nehru, Indira Gandhi or Atal Behari Vajpayee?

Fascinating questions, each igniting fierce debate.

Comparing stars across generations is tough, but what when you decide to choose between achievers in a calendar year? Frankly, it gets even tougher. Which is why the CNN-IBN Indian of the Year 2007 promises to be the contest to beat all contests. This is not reality television, this is the real thing: this is, arguably, the most solid recognition of individual achievement in the country.

The CNN-IBN award is not a celebrity circus, nor is it a popularity contest. It is not about "stardom" that is the mantra of page three India. The CNN-IBN Indian of the Year awards involve a rigorous and transparent process of selection, with checks and balances at every stage. SMS and Internet polling is an element, but it cannot hijack the process. Viewers are a part of the process, so is an electoral college of eminent Indians, drawn from diverse ideological moorings. And there is also a jury comprising individuals who have built a reputation for personal integrity.

Yesterday CNN-IBN announced the results. So here are the winners and congratulations to all of them.

CNN-IBN Indian of the Year 2007 - Global Indian

Arun Sarin
For piloting more than 11 Billion U.S dollars foreign direct investment in India, one of the largest ever.

CNN-IBN Indian of the Year 2007 - Public Service

E Sreedharan, Chairman DMRC
For setting a rare work ethic and transforming the face of transportation by effective time-bound execution of the Metro Rail project.

CNN-IBN Indian of the Year 2007 - Sports

Vishwanathan Anand
For being one of the rare Indians to become the undisputed world champion in a sport and making chess a popular sport in India.

CNN-IBN Indian of the Year 2007 - Entertainment

Shimit Amin and Jaideep Sahni
For delivering the year’s Best Idea film, Chak De, and demonstrating how a simple idea can be made a runaway commercial success.

CNN-IBN Indian of the Year 2007 - Business

O. P. Bhatt
For showing how a public sector behemoth could flex enough muscle in the ferociously competitive banking sector.

CNN-IBN Indian of the Year 2007 - Politics

P Chidambaram
For engineering a spectacular growth rate and being an astute economic manager despite coalition pressures.

CNN-IBN Indian of the Year 2007 - Life Time Achievement of the year

R.K. Laxman, The Common man
RK Laxman is an Indian cartoonist, illustrator and humorist. He is widely regarded as India's greatest-ever cartoonist and is best known for his creation The Common Man.
According to Times of India:
Laxman is best known for his daily one panel comic "pocket cartoon" series You Said It, which features The Common Man, and chronicles the state of Indian life.


and finally
CNN-IBN INDIAN OF THE YEAR 2007

E SREEDHARAN, Chairman DMRC

The 76-year-old Sreedharan is the Managing Director of the Delhi Metro Rail Corporation, its builder and executor. The Delhi Metro has proved to be a Godsend for the city as every morning, over six lakh Delhiites today use the network to commute to work.

Sreedharan faced numerous challenges. Bureaucratic red tape tried to delay his work. Contractors would not meet commitments. Corruption threatened to slow him down.

But the unassuming railway engineer never lost hope and never stopped believing in his project, which changed the face of urban transport in India.

With 56 kilometres of the network on track and only two more phases left to be completed, the $2 billion project is running ahead of time and strictly within budget.

In just two more years, the high-speed train will be accessible to every resident of Delhi.

Meet the man behind the METRO

Sreedharan reports for work on the dot at 8.45 every morning, 15 minutes before his staff. Disclaiming that he is workaholic, Sreedharan says he simply likes to get the job done, for the job at hand is not just his duty but also his dharma.

Although Sreedharan is hardly ever seen in public, rarely gives interviews or attends public functions, his honesty and integrity are legends.

The Konkan Railway project came to him after he had retired from the Railways. It was a daunting task - 760 km of rail tracks from Mumbai to Kochi through the rugged mountains of the Western Ghats.

Environmentalists had protested and politicians said it could never be done. The project ran short of money.

But in an unprecedented initiative, Sreedharan raised public bonds to finance it and today, the Konkan Railway chugs merrily down the coastline.

Sreedharan was also one of Time magazine's Asian heroes, but to CNN-IBN, and perhaps the rest of India, he is much more - one of modern India's greatest sons, one who is not just a dreamer but a builder and one who has dedicated his achievements to every Indian.

29 January 2008

Goggle's MapReduce

In tech Product development I like to find simple worded explanations of complex terms. It helps to get everyone on the same page; especially end consumers who often dont have a clue of what exactly the engineers are excited about! Not everyone is a programmer or has the time to drop all work and check-out the latest new approach to solving computing problems of the world. Coffee Table explanations are descriptions of technology concepts that simply work and get everyone immediately "in the know". Thats what I found in Mark Chu-Carrol's great post explaining MapReduce. Again, by a coffee table conversation style I mean even a non-techie would "get it". I enjoy working with techies and product managers who can come up with coffee table explanations of what their product / technology is about.

I used to hear a lot about Hadoop and MapReduce during my discussions with Yahoo! Search Engineers. Before I refer to MarkCC's explanation here is how Wikipedia goes "MapReduce is a software framework implemented by Google to support parallel computations over large (greater than 100 terabyte) data sets on unreliable clusters of computers." Quite comprehensible actually, but nothing close to MarkCC's writeup thats below.

Btw: On Hadoop here is Wikipedia's take "Hadoop is a Free Java software framework that supports distributed applications running on large clusters of commodity computers that process huge amounts of data...Hadoop consists of an open source implementation of Google's published computing infrastructure, specifically MapReduce and the Google File System (GFS)."

Here is MarkCC's explanation:

Suppose you're at work, and you need to do something that's going to take a long time to run on your computer. You don't want to wait. But you don't want to go out and spend a couple of million dollars buying a supercomputer. How do you make it run faster? One way is buy a whole bunch of cheap machines, and make it run on all of them at once. Another is to notice that your office has lots of computers - pretty much every office has a computer on the desk of every employee. And at any given moment, most of those computers aren't doing much. So why not take advantage of that? When your machine isn't doing much, you let you coworkers borrow the capability you're not using; when you need to do something, you can borrow their machines. So when you need to run something big, you can easily find a pool of a dozen machines.

The problem with that approach is that most programs aren't written to run on a dozen machines. They're written to run on one machine. To split a hard task among a lot of computers is hard.

MapReduce is a library that lets you adopt a particular, stylized way of programming that's easy to split among a bunch of machines. The basic idea is that you divide the job into two parts: a Map, and a Reduce. Map basically takes the problem, splits it into sub-parts, and sends the sub-parts to different machines - so all the pieces run at the same time. Reduce takes the results from the sub-parts and combines them back together to get a single answer.

The key to how MapReduce does things is to take input as, conceptually, a list of records. The records are split among the different machines by the map. The result of the map computation is a list of key/value pairs. Reduce takes each set of values that has the same key, and combines them into a single value. So Map takes a set of data chunks, and produces key/value pairs; reduce merges things, so that instead of a set of key/value pair sets, you get one result. You can't tell whether the job was split into 100 pieces or 2 pieces; the end result looks pretty much like the result of a single map....The beauty of MapReduce is that it's easy to write. M/R programs are really as easy as parallel programming ever gets.

Given that Mark CC's PhD work was in this field, his clarity shines through even without using terms like frameworks and computing infrastructure! For Product Managers such clarity and simplicity can actually mean the difference between success and failure of their products.

Joel btw takes the example of MapReduce to mention how badly Microsoft is trailing Google:

The very fact that Google invented MapReduce, and Microsoft didn't, says something about why Microsoft is still playing catch up trying to get basic search features to work, while Google has moved on to the next problem: building Skynet^H^H^H^H^H^H the world's largest massively parallel supercomputer. I don't think Microsoft completely understands just how far behind they are on that wave.

Just for comparisons, I am tempted to refer to a better written paragraph on Hadoop (from Wikipedia):

Hadoop is a framework for running applications on large clusters of commodity hardware. The Hadoop framework transparently provides applications both reliability and data motion. Hadoop implements a computational paradigm named map/reduce, where the application is divided into many small fragments of work, each of which may be executed or reexecuted on any node in the cluster. In addition, it provides a distributed file system that stores data on the compute nodes, providing very high aggregate bandwidth across the cluster. Both map/reduce and the distributed file system are designed so that node failures are automatically handled by the framework.

Welcome to Apache Maven

Maven is a highly configurable framework that you can use to manage various aspects of a project's life cycle, from building and deploying an application to document generation and project management. Maven, like Ant, is a very popular development tool due to its standardized project layout and dependency management mechanism. By following standard conventions for project layout and using common defaults for building lifecycle phases such as compilation and packaging, you can create projects that are easy to understand and manage. Maven uses Project Object Model (POM) to describe project-related information. Unlike Ant, in which you need to define how projects are built and deployed, all Maven projects implicitly share a set of plugins for doing well-defined tasks such as building and packaging. These plugins can also be configured to change default behavior and change build order as needed.

Maven's Objectives

Maven's primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal there are several areas of concern that Maven attempts to deal with:

  • Making the build process easy
  • Providing a uniform build system
  • Providing quality project information
  • Providing guidelines for best practices development
  • Allowing transparent migration to new features

JavaServer Faces Technology Overview

JavaServer Faces technology includes:
  • A set of APIs for representing UI components and managing their state, handling events and input validation, defining page navigation, and supporting internationalization and accessibility.
  • A JavaServer Pages (JSP) custom tag library for expressing a JavaServer Faces interface within a JSP page.

Designed to be flexible, JavaServer Faces technology leverages existing, standard UI and web-tier concepts without limiting developers to a particular mark-up language, protocol, or client device. The UI component classes included with JavaServer Faces technology encapsulate the component functionality, not the client-specific presentation, thus enabling JavaServer Faces UI components to be rendered to various client devices. By combining the UI component functionality with custom renderers, which define rendering attributes for a specific UI component, developers can construct custom tags to a particular client device. As a convenience, JavaServer Faces technology provides a custom renderer and a JSP custom tag library for rendering to an HTML client, allowing developers of Java Platform, Enterprise Edition (Java EE) applications to use JavaServer Faces technology in their applications.

Ease-of-use being the primary goal, the JavaServer Faces architecture clearly defines a separation between application logic and presentation while making it easy to connect the presentation layer to the application code. This design enables each member of a web application development team to focus on his or her piece of the development process, and it also provides a simple programming model to link the pieces together. For example, web page developers with no programming expertise can use JavaServer Faces UI component tags to link to application code from within a web page without writing any scripts.

Developed through the Java Community Process under JSR-127, JavaServer Faces technology establishes the standard for building server-side user interfaces. With the contributions of the expert group, the JavaServer Faces APIs are being designed so that they can be leveraged by tools that will make web application development even easier. Several respected tools vendors were members of the JSR-127 expert group, which developed the JavaServer Faces 1.0 specification. These vendors are committed to supporting the JavaServer Faces technology in their tools, thus promoting the adoption of the JavaServer Faces technology standard.

The expert group is actively developing the specification for JavaServer Faces version 1.2.