Monday, November 26, 2012

What is the Big Deal about Big Data

Like every sector in our computer world we always have some new trends.  In fact the dynamics of changing trend in Computer industry is very evident. Few years back all want to adopt tablet and different form of post pc devices. And recent time Cloud was the big word. All most all companies have launched lots of cloud specific services or platform. Every blogger including me has written about cloud. And now the recent buzz is Big Data, Hadoop, Data Analytics etc.. 
There is a say Pen is mightier than Sword.  It means Knowledge, information is the key. If a student knows the right answer of the question in exam he will succeed. If the doctor knows more information about the disease he can diagnose and treat better. Similarly if a business knows has right information about its customer needs it can succeed well. So it’s important to get right information in time. And if we think most of the time that “information” is the only difference between success and failure.
So people invest huge to store data and retrieve/derive the useful information out of it in real time.  The whole process is divided in two steps first part is to store related data. And most of the time these are unstructured data. And the second thing is to analysis or processes those data to get right information in real-time. These unstructured data can come from or around your business.  For example any ecommerce portal will like to store and analysis its visitor browsing pattern. This will help them to arrange or present their products efficiently. Similarly an bank should like to know what its customers like, dislike or spending habit. So that it can customize its product as per it. More or less all big corporate houses are started spending in BigData and Analytics.
Well Data and Analytics not only help big organization. It can be useful  to stream line personal finance too. Money manager from Intuit is an example in this direction. It tracks all spending, and categorize them. So that one can easily track income and spending.  Its early days, In coming days we will see more product or services around Analytics and BIgData.  

Friday, July 20, 2012

Do I need to google ?

To find anything in internet the best way is googling. Any one who use internet the first thing they learn is googling. When I say googling it include all web search like Bing,Yahoo etc. I do googling to read news, to watch video, to check weather, movie sports etc.Since information is scattered in different website, and they are too many to remember. So people use search engine to locate their content. Few years back everything was working in this pattern, we used to search stuffs on web and browse our content in random site. And search engines used to insert some sponsored links, advisement  in the web pages or in search result to earn their revenue.

In last few year few major things happened one is evolution of post pc devices such as iPad,iPhones and other android devices. Its clear that tablet sale is outpacing PC sale. If we combine tablet + smart phones the number will exceed the PC sales. It means more and more people are accessing internet through their post PC devices. In post PC devices poeple connect to internet through different apps. For example to see weather, to read news, to book movie ticket I use my apps on phone. I don't do any web search for that. It doesn't mean web search is reduced to 0 in post pc devices, certainly it decreased dramatically. As pattern of  digital content consumption in post pc devices are quite different. And more or less every body agree that the future is all about post pc devices. Country like India a whole lots of people get introduced to digital world through mobile phones.

The inception of Facebook only resonate Human is a social animal. I will prefer to ask my friends or read post something from closed group instead of searching randomly in internet. People spend more and more time with each other at Facebook. It automatically reduced the need of google search.

Last one but not least. Evolution of "Siri" and similar services in line with it created lots of noise in the area of local search. Currently Apple announced  map service integrated with Siri and opened to lots of Social App like Facebook, yelp gives many useful information to the users interactively.

Its not that anything of above will replace search in future. Search will be there but it won't be first choice anymore it will be the last option.

Wednesday, June 13, 2012

Read me if you can

In my starting days of coding I had a notion if you don't understand the code means its a tough program, some hi-fi advanced code. And if the code compile with out error and execute properly means its perfect in all aspect.
My first programming language was C. There was a lab exam where we need to code 5 given program. I had completed well ahead of time, all the five were compiling and running properly. The teacher was checking each student's program and evaluating. You have to get minimum three programs right to clear the exam. The teacher came to me he read one by one program. He had checked 4 programs and found all are correct. Fifth one he saw the code, in first look he didn't get the logic he told its incorrect with out compiling or executing. Before I could explain back he had already deleted the source folders. I was bit upset because I knew I got five out of five correct. But it was recorded 4.  I was thinking I didn't get 5 out 5 just because some body was not able to read it.
And after I started working in real time project, I understand 90% time you will be working around the codes not written by you. And some point of time some one else will be working on your code for sure. And there is some figure floated on internet, as 80% effort goes in to understanding others code. All these made the point clear codes need to be written such a way that another person can understand it well. And sometime people prefer simpler algorithm instead a complicated one.
There are different best practices in line with various programming language. I found few points which help
1) Naming Convention
name of the variable and method  revel lots of information. for ex :
if ( authenticate(userName,password)
It clearly understood that we are authenticating by passing user name and password.
2) Comments
We all know we need to write comments. I feel Class label comments, method label comments are always handy. It should always tell more than code. I mean certainly by seeing code we get some idea, and comments should add some thing to it. For ex:
/* Check for  Ldap authentication */

if ( authenticate(userName,password)
In this case comments add some more info to the picture.
It is always nice to add few line of comments for a particular block of code.
3)  Use of parenthesis while doing logical operation.
parentheses always make easy to understand complex logical expression.

And the list goes on. You also can share some of the ideas here which helps understand the code. If the code is well understood it adds lots of value. And programmer can happily understand it and work with it. Happy Programmers always do wonderful things. ;)