Monday, January 21, 2013


Almost in the same realm of my previous post on the ‘Cloud’, I feel compelled to comment on the concept of APIs and why this has become very important in the evolutionary journey of today’s technology landscape.
[Please note, I have borrowed heavily from various internet articles and writings, and will make every effort to highlight those sources in an expression of gratitude for their insightful writing]

So what kind of an eye is an API (Application Programmers Interface)?

In this web article there is a good description of what an API is. Here is my simplified explanation. 

An API is a way developers can expose the capabilities of their own software for other developers in a licensed way, to be used for good, not evil. 

Thus, the community of software developers can easily extend and augment the capabilities of their own applications by judiciously using APIs exposed by other software. So, if someone invented and API to translate English to Gibberish, then others can use this feature in their own application without having to re-invent it. Its as simple as that. However, as always, a simple concept such as this, can be used to develop very complex software systems that may make people a lot of money, and as we all know, where ever a lot of money is involved, complexity creeps in. In this post, I will provide a simple minded point of view hoping to demystify this for other simple folk like me.

An Eye for an API

In an ideal world (or my utAPIa), developing software would be like putting together a jigsaw puzzle. Pretty much every capability one might need has already been invented and developed by someone else. If all those are exposed as APIs then all we need to do is to cobble together these capabilities in the right order and extent to develop own own software. Its almost like APIs are like different colors developed by other available in our palette and we can create masterpieces by using them artistically. Even though, this would be nirvana for every engineer, it would be hell for the business minded folk and the accountants. So, like most times, engineers lose, accountants win. This Utopia will never exist, at least not in my lifetime.

So, then what?

Well, it is becoming quite clear that the Cloud and Cloud enabling software is the future. Its is the need of the hour as discussed in my previous post. In addition, a lot of software is now evolving into an ecosystem, where they hope to provide every thing that a consumer would want for a particular feature in one place. For example, companies like Intuit Inc. would like to be the one stop shop for all Small Business Computing and Management needs. This is a huge undertaking for any one organization or entity. For developers to create meaningful applications for small businesses, they would need to develop the same core functionality (e.g. Payroll Calculations, Tax Calculations, Accounting Calculations) that Intuit may have cracked the nut on. So, in an effort to build innovative and customized solutions for their customers, software developers can access the licensed APIs from Intuit Inc. to extend their own applications, and give birth to new ways to solve their customers' problems. In the end, every body wins. Intuit's ecosystem for Small Businesses expands by leveraging the brainpower of small time developers who make money by serving the un-addressed problems of specific small business owners. Another company who has excelled at this API mechanics is Google (case and point the Google Maps APIs) and (a Cloud based storage solution company).  I am especially a big fan of, whose ecosystem has grown by leaps and bounds and has attracted lots of developers to enable cloud based storage in their own applications using a simple and well defined API. Since, there is money at stake here, some APIs require licensing, which is not bad in general, after all, all these companies are not for charity. I do encourage you to go and explore these quoted examples to get an idea of what I am talking about. If you have questions, do let me know.

Hey..there is a bug in my API (sigh, I'll still eat it)

When companies deliberately cripple their APIs and prevent others for fully leveraging the entire feature set of their applications in order to prevent anyone from getting better at their own game, I get bugged. If you are offering an API, offer it in good faith, otherwise do not bother. In addition, no one should put restrictions on how and for what the APIs can be used. Twitter did a bit of that early on, by making sure that someone else could not make a better twitter client than what they were offering. Then they did something even more ridiculous. They decided to change their APIs without offering backward compatibility, thereby forcing a lot of developers to redo a lot of their code. How silly. Twitter got a lot of bad Karma from this in the developer land, but since there is now other alternative, developers pouted for a while and then succumbed to the pressure and accepted this torture from Twitter as their fate and moved on. However, Twitter lost a lot of respect in the developer community as a result. On the other hand, and Google remain near and dear to developers by showing general common sense in dealing with their developer community.

API or bust

Really, its as simple as that. Every software capability developed by a company must be made extensible so that the collective pool of engineers in the world can leverage them to further the cause of that company and theirs as well. Every company must be inclusive of this unharnessed power than can truly change the technology landscape. If a company does not enlist the support of the developers through APIs, it will eventually wither. A good example of explosive growth with the correct use of APIs and expanding the developer community is Amazon Web Services is also a very good example. A good example of a company struggling due to lack of an API is (though they are trying, but in my opinion, its too little too late).

I, the people, We, the developers

While there are lots of reasons for the success of a software company, expanding their reach and influence through the community of third party developers has to be a significant contributor. The developer community now holds the power to take a company from mediocrity to a major industry success.

So, remember you folks with fat paychecks and big tall accounting and business hats, the developers are your friend and they are not stupid. Treat them right, and they will make you wildly successful. So, the next time you walk past a developer, give him/her a hug...for they deserve it!

So says I!

Saturday, December 29, 2012

Delhi's Dark Days of December 2012

Delhi's Dark Days

Its been a while since I got to sit down and pen my thoughts. Mostly because I have been busy at work and dealing with some personal stuff.
I have been in Delhi for the past month or so, and have seen a lot unfold in front of me. While I wanted to comment on it sooner, I decided to wait a bit and give my simple brain time to process what it is that I saw. In case it was not obvious by now, this post will be totally non-technical. It will be a compilation of my observations and interpretations of them. I also know, many folks will agree and disagree with my thoughts, and that is OK. Healthy discussion and diverse ideas are the necessary ingredient to mature thinking, as long as the manner is constructive and not adversarial.

Important : I am not of a rigid mind. My thoughts remain malleable, shaped by experience and rich and diverse points of view that I come across. I do not condone violence of any kind. I respect all humans and other life forms. I do not believe in any sexist points of view. I can dream with vivid imagination, and I can observe reality with astuteness. So, if you disagree or feel that I have not developed the thread of a thought to its end, I invite you to a discussion. The following is my rant when I learned of the death of the gang rape victim from Delhi. It is intense, so I apologize in advance if I hurt someones feelings. I wish that kid a peaceful afterlife.

'We' includes me as well.

I have intentionally not taken the young girl's name, because to me, she represents all victims, past and future.

The sad social state of Delhi (as a micro-representation of India) and my recent experience

Fact(s): A young woman (in my opinion just a kid) gets gang-violated brazenly in Delhi.
            The kid remains without help for over an hr by a road side. No one helps.

My thoughts: This was not the first and probably not the last instance of such a heinous crime. It was more than rape, it was torture and sadism, characteristics of a mentally sick people. But was it just the 5 men who did this that were mentally sickened? This caused a myriad of conflicting thoughts in my mind, which was a amalgam of anger, shame, sadness and regret. These thoughts were reminiscent other things that I I observed as a youth and tried to influence change for in vain (but that will be another story).
The Indian society is now showing signs of intellectual rot. The environment is becoming less civil and more like a jungle, where the physically weak are just slabs of meat for the physically and the economically strong. How did it come to this? Who can change this and who has the responsibility for this change? How long would this take? What do we do till that change happens? All questions begging logical answers driven by intellect and not emotion. So, I am going to attempt and answer them for myself (who knows if the answers are right or wrong, but I will try and answer them for myself as sincerely as possible).
I think that the seeds of this jungle mentality started many many years ago, where we as people stopped teaching common decencies to our children. We kept teaching them that all that matters is economic progress and financial success, and we stopped caring about their intellectual growth. These children then grew up with weak moral values and their children in turn grew up with even weaker values. Across these generations, many girls have grown up assuming that objectification of their bodies was socially acceptable and many boys have grown up with very little respect for women. Children see their mothers and sisters being disrespected at home, and that disrespect is accepted as the social norm, so they grow up thinking that it is how its meant to be. This has become so deep rooted that it is disturbing.

My own experience at a local mall in Delhi reinforced this. Here is exactly what happened:

I saw a group of young girls and young boys, and I observed them. In the biting cold, the girls were dressed to display their physique. They grouped together, giggling and laughing, eyeing the boys. The group of boys, made no secret that they were ogling the girls, doing silly things to attract their attention and making sexist remarks at the girls. Their remarks were met with laughter and more giggles. The one of the boys started playing a popular bollywood number on his mobile phone.. 'Dhink-a-chika' where the lead actor dances a particular step with his hands moving while inside his pant pockets. One of the boys started dancing the same way, but to my horror, his hand movements inside his pockets were very sexual. The girls' reaction was even more shocking. The laughter and excitement grew, and they started testing furiously on their cell phones. Clearly, they did not find this act as distasteful. Furthermore, adults passing by were smirking and leering at the boys in amusement. Little kids were seeing this clearly. 
I sat there on the bench at the mall, in a state of cultural shock. The girls enjoyed their objectification and the boys thought it was ok to make sexually suggestive comments about them. The adults, with their own kids found it amusing. With the feeling that I had swallowed a rock, I asked the guard standing idly by to disperse the crowd, which he did with a big grin on his face. the kids gave me a dirty look..indicating clearly that they felt that I had violated their rights.

After careful reflection, I concluded that we as a society, and as parents have sown the seeds of our own civil and social destruction and the mentality of these kids are the result of our failures. I shudder to think of a future that is made by these kids. Generations of faulty upbringing has left our generation crippled in terms of morality, and it will take at least another generation to repair this deep rooted damage. This became abundantly clear to me when blatant sexist remarks came from the family of the Indian president. I can't imagine how the entire world sees us as a nation and society, where the first family of the nation shows such a poor attitude towards women.

Indian Laws, Police and Justice

Fact(s) : Police suppress anti-government protests with brutality
              Politicians nonchalantly dismiss this tragedy as a 'passing moment'
              Ancient laws on rape still remain unchanged. Judiciary says it will take years.
              Police add nonenforceable processes  supposedly to help women, but have nothing in place to ensure that they are practiced. Who will police the Police?

My thoughts: I had commented earlier that the justice system is and has never been about justice. It has always been about upholding the writ of the law. At some point in our social evolution, justice became secondary. We spend all our resources enforcing the law, even if it leads to in-justice. Why and when humans became slaves to their own laws? I will never know.
Coming to the Police, it is my opinion, based on my experience and limited intelligence, the organization neither is about the law, nor is it about justice. In my view, the Police is a government organization that is a puppet to 3 masters : The ruling politicians, organized crime and the wealthy. The concept of justice and the law is completely lost on them. They simply put up a facade of being honorable harbingers of law and order but instead of serving the people, they serve their dark masters. The organization is so anti-people that people are genuinely afraid of associating with this. People lying on the road side are often not helped because all helpers are seriously harassed by the police. Even if they are helped our hypocritical doctors refuse to treat them before being paid and before a police complaint is made. What an appalling state of affairs where every rule and situation is designed to be harmful and hard for the common man who cannot afford a lot of money. To make it worse, our sexist society makes it even harder for women, suppressing them to the point of social slavery.
In essence, justice as a concept is a bought commodity, sold to the rich and powerful. The common man can just dream of it. And alas, women are disqualified from it, putting them right at the bottom of the food chain.

Our expert doctors, do they deserve their God like status?

Fact(s): The young girl's health condition worsens.
              The young girl is shipped to Singapore for no credible reason.
              The young girl dies.

My thoughts: What was the cause of the infection? Why did we not send her to Singapore when that transfer could actually make a difference and the infection could be prevented? If we claim to have top notch medical facilities and doctors, why move the girl overseas, why now? Too little, too late?

The noble profession of a medical doctor has had its nobility stripped from it. It now, only remains a profession. I question the integrity and ability of any doctor who values a human life based on the amount of  'visitation-fees' the patient can give.
The victimized girl got the country's best medical experts to help her, only because she got national attention. The other female victims of this country are sadly not that lucky. Where is the fairness in that? And then, the girl gets an infection post surgery. Every one accepts this as the girl's fate. I question the ability of these so called experts who let an infection occur on their watch. Anyone with a basic scientific background can determine that an infection happens only due to less than sanitary conditions and the lack of preventative medication. Why has no one investigated these so called experts? Did they really do everything that they could to save this child?
As soon as I heard the decision of moving the kid to Singapore, I had this sinking feeling that she was being sent away to die to prevent a socio-political fallout, giving everyone the impression that every effort was made to save that life. Her death exemplifies how distant our so called top medical experts have gone from their oath. I would not let them claim their medical superiority any more. This girl was their opportunity to do something right for once, and they failed her, their profession and the nation's confidence.

The Politics of human tragedy

Fact(s): Politicians are mostly silent
             No social leaders make any significant move
             The Police use this as an excuse to beat up young kids
             Weird anti social elements use this opportunity to turn violent and give the cops the reason needed to clamp down hard on protesters

My thoughts: It was amazing how insensitive our politicians have been towards this human tragedy, and to all tragedies as such in the past. All they have done is to get political mileage out of any such incident. None of them dared to face the nation and accept their shortcomings. Instead, they used their puppets, the Police, to do what they do the best, suppress the common people. When I was younger, I protested the reservations imposed by the Mandal Commision (which I still think was a big human tragedy with many lives lost). I rebelled, because at that point in time, I was studying and working days and nights to make a career for myself, and I could not let the opportunities rightly earned by me be a victim of senseless reservations. While some experiences are burned in my memory forever, there are some that taught me the politics of  such events. It started by a few students protesting, that grew into a larger group of like minded students. Then strange and much older faces started appearing in the rallies, which mysteriously turned violent. Random students were picked up by the police, not seen for days, who were then returned in a badly beaten state. Suddenly politically marked buses appeared and they carried even more stranger people in it, that joined the rallies. Before I knew it, someone was burnt (I still do not know if it was self inflicted or not), someone was beaten to death. VP Singh, the PM, came on TV. Things became quiet. Students had to return to class because the University chancellor said that all protesters would not be allowed to give their exams. Net effect...NOTHING for the common people and students. Absolutely nothing. The government however, was overturned. The policies of reservation ended up being enforced, silently. The students were fooled, those who were not, were beaten into submission. Politics won. People lost. The human tragedy was forgotten, not even recorded in history. All that remains are the memories in the minds of my generation of students. A tragedy that keeps on hurting, but we have become accustomed to that pain, that we do not feel it.

The Youth, the last hope or the lost hope?

As always, the young people are any nation's soul. Like every soul, it has the good side and the evil side. The good is seething in anger and frustration in its seeming inability to turn the tide, the evil is the by product of generations of corrupted social and moral values. They are the ones committing heinous acts of brutality and torture, and it is them weeping at the human tragedy that results from it. They are the ones who decide the fate of the nation and they are the ones protesting for a better future.
Is it not a true paradox and irony of a nation's fate where the problem gestates the true and only solution?
As far as I am concerned,  hope is something that we do not have the luxury of losing. It is something that we must hold on to, even in the most desperate of times. So, I do have hope that there will come a time when I will not be ranting and raving like this (its like screaming in frustration at a dumb wall). I hope for a universal and fundamental change, and no, I am no Utopian, I still am a realist.

Aditya's Simple Minded Solution (or SMS)

This perhaps is going to be a very controversial area of discussion, I know. I have given plenty of thought, sometimes my sentimental side took the upper hand, sometimes my (small but scathing) intellect took charge. Overall, I took a pragmatic approach which according to me is practical and doable in the right circumstances. So, read on, with a cool head..I hope to make some sense.
I truly believe that a nation's youth has the power, potential and responsibility to bring about massive change in a society. This has to be done in a very calm, organized and committed way. No change will be instantaneous, it will require a virtue missing in our youth i.e. patience.

Short term : Endure the Labor pains

Immediately, the youth must self-police themselves. The regular Police cannot be relied on. Teach each other and use peer pressure to influence and enforce a positive change, starting with oneself. As a individual, strengthen ourselves, and influence others to be stronger. With strengthening each link in the chain, a stronger youth can be more effective. The social bleeding can be stopped. Since no change will happen overnight, the females of our youth have a harder task at hand. They have to assume that they live in the jungle for now and are surrounded by wolves. In such an environment, you can either be meat, or you can be a lioness. I encourage every female to assume the role of a lioness, and every young man to act as a supporter to this fearlessness.
Now for the most controversial part : We must remember, in our sexually oppressive and morally bankrupt society of today, the inner wolf of every hormone driven young man is easily unmasked. All ladies and young women, please use your common sense. When walking between a pack of wolves, please do not act like bait, you will be bitten. Sadly, till the jungle turns into a meadow, I cannot think of another way to prevent any further violence against women. I know this is unfair to women. But, in my simple way, I can live with unfairness in the short term if it helps prevent violence against women, but only in the short term.
Every young person has the responsibility to help turn this jungle into a lush garden safe for all, and that change begins within each one of us.

So I hope.

Medium term : Perform required surgery

No matter how strong a society grows, there will always be wolves in sheep's clothing. That cannot be prevented. It must however be dealt with. I do not condone violence of any type, but no act of sexual oppression and violence must be tolerated at all. Since no government agency can be relied on, use your local social youth associations to the maximum extent. Use self-policing (not being vigilantes). Use local neighborhood watches, raise awareness. Use social non violent means to apprehend social criminals and pressurize local authorities to take action. Make sexual crimes such a horrible taboo that it becomes a deterrent.
Surgically start removing these cancerous elements of the society, through  smart organization.

So I hope.

Long term : Congratulations, we have given birth to a healthy non sexist society

This is the most vital part of my vision. The youth of today should channel their rage and frustration to fuel their drive for a change. They need to become the politicians, civil servants, Police officers and social leaders of tomorrow by working hard today. I do not think a change can be brought about from the outside, but from within the system, else we risk total anarchy (case and point Egypt). Teach your children, your nieces and nephews strong moral, social and civil values especially respect and dignity towards women (BTW I disagree with lots of prominent socialites and literary figures who refer to women as 'the weaker sex'). Start this now, it will bear fruit in the future for sure. Do not expend your energy in mindless acts of violence and protest.
The youth should not see themselves as an agent of change, they ARE the change themselves. 

So I hope.

So what can Aditya do?

Yes indeed. I asked myself that question. After all, its easy to preach. All I can say, is that I can make a sincere effort to emulate the changes I preached and try and infuse the next generation with a high moral and social standard. Just this one thing, if I am able to do with full sincerity, I will be happy with to start. I do not make lofty aspirational goals that I cannot meet..I remain true to my dedication to simplicity. However, if the opportunity presents itself to me, to make a deeper change (any change), I will make every effort to follow through.

And so says I...with melancholy and a pregnant hope.

Saturday, July 7, 2012

The Cloud with a silver lining

In continuing one of my previous posts about platforms and ecosystems, I think its time I laid out my perspective of an emerging trend, often referred to as ‘Going To The Cloud’.

What the heck is this Cloud anyway?

Well, the Cloud, is nothing but a hard disk that is accessible through the internet. Thats it, and thats all.

So its that simple, so what is all this buzz all about?

What makes the Cloud interesting is the amount of innovative ways you can put it to use. Large vendors like Google and Amazon are able to offer this virtual storage on their vast server farms to their customers, enticing them to buy more and free content from them that can be stored on this internet hard disk, therefore its accessible from any internet enabled device.  Netflix takes it to the very extreme where you can view/stream media from Netflix servers, to any internet enabled device giving you the ability to pause your play on one device and resume it on another. Again, like I said, the concept of cloud is very simple, the usages are abound with innovation, often obscuring the very simple concept underneath it all, making it very mystical to the common user.

Why would anyone need a Cloud Service?

Anyone who needs access to their data from multiple locations, without worrying about having to maintain several copies and losing their data in case of their computer crashing or getting infected by a virus, needs a cloud service.
Personally, I highly recommend it. Its where the world is headed to, and seriously, it makes a whole lot of sense to keep all your important data securely in the cloud, and access it from any internet enabled device. If you still don’t get it, then stop reading, I give up, I can’t get through to you...

Aditya’s quick and highly opinionated guide to picking the right Cloud service

this goes back the concept of Ecosystem. Roughly defined, an Ecosystem is a amalgamate of Cloud enabled features and content offered by different vendors. Let me discuss the top few, and perhaps during that discussion, the concept will become clearer.

The Apple iCloud

The Apple iCloud consists of iTunes Store, where all crap load of media and apps are available for Apple Customers to purchase, which mystemagically (thats a word I made up) get synced to all Apple devices. The concept is simple. the Apple iTunes software operates on Apple’s Cloud called iCloud, and what you get for free is 5GB thick slice of that big iCloud cake. All the stuff you buy and have is kept on your personal slice of Apple Heaven, and that storage is common to all your Apple devices, thereby facilitating the syncing. Once you run out of space, your love for Apple will be put to the test, when you will be presented with the choice to either stop buyig Apple iTunes stuff, or give Apple money to give you a slice thicker than 5GB.
People who already are price insensitive (I assume so, because you already have an Apple device), or those who simply love Apple, and who are very heavily invested in iTunes and Apple TV etc, for their media, should certainly invest in iCloud.

The Amazon S3 storage

Similar to Apple, Amazon houses its flavour of the Cloud on what it calls the S3 storage Cloud. That too offers 5GB free storage and ideally meant for people with Kindle Fire Tablets who are heavily invested in the Amazon Ecosystem of the Amazon’s Store and the Amazon’s App store for Android.
Similar to Apple, if you need more storage, pay up, and you shall get it. Sadly, Amazon’s Cloud storage was the hardest one for me to understand and use.

Microsoft Skydrive

Microsoft has had Cloud storage for ever, but very few knew of it. It all started with Microsoft live, and now exists as Microsoft Skydrive. What I like about Skydrive is its tight integration with all Microsoft products, mainly Office and the OS in general. Again, you get 5GB of free Skydrive storage and the price increases as you need more. With Windows 8, Skydrive and Cloud storage will shine..and Microsoft will become a serious contender in the Cloud space with launching the Surface line of Tablets as well. It would be the the true (finally!) Microsoft Ecosystem with Windows 8, Surface Tablets and the Microsoft App store working together glued together by their Cloud a.k.a Skydrive.
Folks who are heavily invested in Microsoft tech, who only use Microsoft Office for their files and have Windows for home and office, who do not want any additional complexity, Skydrive is best for them, no doubt. Very soon, like I said before, the true power behind the Microsoft machine will be felt when Microsoft’s Ecosystem gets a reboot with Windows 8, Surface Tablets and The Microsoft App Store.

Google Drive

Google has had Cloud Storage for nearly forever a.k.a Google Docs. Google Docs offered you the ability to do most common Office related work online without needing any Office related software. Imagine it to be an online, scaled down version of Microsoft Office, except it's free and all you need is a web browser. With Google Drive, Google now has its own Android Ecosystem complete, with the Android Appstore, Google Drive+Docs and a crap load of Android Devices, including the recently launched Nexus 7 Tablets. As with other Cloud storages, you get 5GB free and then you can pay for more.

..And then the others

There are certainly other Cloud Storage options, which remain separated from the Vendor specific Ecosystems. These other Cloud Storages are ideal for folks (like me) who do not want to get hooked into one Ecosystem or another, who like more control and freedom use the best bits of all Ecosystems, and yet not get tied into any single one.
The better ones out there in my opinion are, Dropbox and Dropplr. However, there are so many more that offer Cloud Storage options, feel free to search for them.
As with all services, you get a free chunk of space and and as your needs grow you can pay more to get more. boasts of a Cloud Platform, where they have exposed Cloud storage based APIs that allow developers to create apps that integrate with Cloud storage. Developers have writen box connectors to MS Office, for example, so can work on documents on your box storage right from within Ms Office. This is brilliant in my opinion, and they have my appreciation for opening themselves up to crowd based innovation. In my opinion, they will go far.
Dropbox is great to, its drop dead simple, cross platform and ‘it just works’ flawlessly. Its great for non-tech users, but as far as I know, they remain 'not-as-open' to developers.
Dropplr is somewhere in the middle, it is also simple and by far the cheapest Cloud Solution I know of.
I like all of three, they have their pros and cons.

My Advice

There is no single service that is ‘the best’. Pick the one that is right for you. Consider these for yourself, and make up your own mind..
1. Are you heavily invested in Apple, Google or Amazon? If yes, go for their version of the Cloud.
2. Do you wish to remain independent and not get tied into a particular vendor? Then, pick an independent Cloud provider (I recommend checking out the three I mentioned above).
   - Are you a hacky geek who likes to muck around in the Cloud space and develop apps and stuff? Go to

But hey, all of them offer free storage, definitely GET ALL THE FREE STORAGE YOU CAN.

The lesser Clouds

There are services like Crashplan and Carbonite that simply offer unattended back-ups to Cloud based storage. Your files are simply copied over to their Cloud and you can retrieve them if you want in case of a crash. Nothing fancy, very barebones, but the same cloud concept underneath it all.
For folks, who are simply interested in drop dead simple backups, these two services are pretty much the best.

There are services like Cloud-Ide and Cloud9 that offer developers browser based IDEs which can be used to develop software without the need to get desktop installed development tools. I love the idea, it's pretty cool, however, these IDEs have not yet matured and are very buggy at the moment.

The Cloud is here to stay. Whether or not you see its silver lining depends on what kind of relationship you cultivate with this concept. Whether you like it or not, you will have no choice but to Cloud-ify yourself. So get onto the Cloud now!

So says I.

Sunday, June 10, 2012

Ok..its been a while, spent diligently in technical retrospect and learning. The Oracle vs. Google debacle nearly shook the technological world at its foundations, since Oracle was trying to get the legal systems to say that APIs are copyrightable. Oracle nearly got away with it, and that would have been terrible for JAVA and all JAVA based platforms and companies who would suddenly owe their existence to Oracle, and would be forced to pay royalties to continue to live. Made me wonder..what else exists out there which lets us create cross platform systems that can run an enterprise? Researching this opened a whole new area that I had been oblivious to before...and that is what this post is about.
PHP and Perl are great languages that offer both server side and client side programming capabilities which are free from the tentacles of Oracle. I enjoyed learning these and dabbling with them. Reminded me of a cross between JAVA and old-school Visual Basic. I am quite convinced that all that once was considered best done in JAVA can now be done quite easily in these open source languages and platforms. I strongly recommend these. MySQL  and POSTGRESSQL are awesome alternatives to proprietary databases, which remain open source, though I remain wary of mySQL since its really owned by Oracle, where Mr. Larry Ellison feels that he can change the meaning of ‘open source’ to fill his coffers.
So, people, before Oracle gradually starts milking everyone for using ‘their’ supposedly open source JAVA, I strongly recommend moving slowly away to something that Oracle has not yet gobbled. It will help you survive longer..especially if you are a small scale developer or a startup.

A f(r)iend of mine..Ritu posed an interesting question.

“I am looking for some good resources for MVC patterns. The idea is to build a UI that sources data from the SOA infrastructure and be extended to be hosted on both desktop and mobile platforms.”

Now, considering the whole monologue about JAVA, before this, I realized that while JAVA offered plenty of MVC patterns, my technical conscience would not allow me to recommend a JAVA based solution.
While one can create their own pattern I would recommend using a pre-built framework. Such frameworks allow structure and standards to be enforced, which at an enterprise scale are much needed.
Here are a few examples of some good ones:
1. PHP: CodeIgniter. A good reference for MVC in PHP is this book.
2. Ruby, on Rails: This merits a little more discussion. What Ruby and Rails bring to the table is a very strict (and very different) templating language and framework for rapid MVC based web app development. The learning curve is much higher than PHP, but you save that time by getting basic apps up and running rapidly. Such templating mechanics represent that age old paradox. It was developed to create a fixed and well defined way of ‘doing things’ only in the Ruby way. Then a whole lot was done to give developers the ability to  do things differently or in a customized way. This tug of war leads to a bit of confusion, but in the end, the developers it's a good thing.
Both these platforms and techniques, although very different, offer very good and solid MVC app foundations.
But wait..what about mobile?

Off late, I have become quite convinced that building native apps is really not the way to go, since the various App stores are very greedy. I really like the emerging trend where HTML5 mobile apps are becoming so popular (refer to Financial Times mobile app, which is a pure HTML5 app). My recommendation would be to create the MVC infrastructure, and create a lightweight rest web service with JSON to talk to a  mobile skin built with HTML5 and other resources like JQuery Mobile. If you want to really make native apps after you have built your HTML5 app, you can always use tools like Phonegap to create native apps.

The key is to remember to expose your model a.k.a. via a web service (lightweight and simple like REST with JSON is always preferable) so that the same model can be used in the same way with the same business logic by web, desktop and mobile apps. Resist the temptation to make your apps talk directly to your database/model.

Go open source as much as possible, otherwise get ready, it's only a matter of time for sharks bearing the Oracle copyright come to take a bite off you..

.. and so says I.

Tuesday, April 10, 2012

...Continuing on my post Get Smart (about your phone)

..from last month, I thought I should probably complete the thought process that I had started to project. So, once you figure out that you do need a smart phone, you will be presented with myriad choices. So, I put together a nice picture instead of words, conforming to the conventional wisdom (which I seldom do), that a picture is worth a thousand words:

Out of the 4 possible conclusions, getting an unlocked device is the most expensive route, and unless you have more money than me (which means nothing BTW), I would not recommend it, and so no reason to discuss it further. Let me do a quick break down of the remaining choices with another graphic, this time a pretty table:

What this table says (and before I proceed, please note that this is meant to be an oversimplification, with a liberal dose of personal experiences, expertise and biases) is that ultimately what really matters is the amount of money you want to spend and what you get in return a.k.a. value.

The carriers (AT&T, Verizon, Sprint etc.) feed off the need for you to get a smart device, and base their entire revenue model by locking you in to a contract that milks you for a lot of money on the pretext of getting a better and more expensive phone at a subsidized rate. They quench your thirst for data (email, web browsing etc.) with a fountain whose nozzle they control. The more you pay, the more they open the nozzle and let you consume more date and a faster speed. And then there are the no-contract providers like Metro PCS and Boost Mobile who have very economical plan, but cannot offer the coolest devices and the best coverage.

iPhones are great devices, work very well, have great features and battery life. Apple customer care is the best in the world, in my opinion. In addition, iPhones (and other iOS) devices 'just work', requiring minimal intervention from the users. Their user interface is very simple and intuitive. However, iPhones, like all other iOS devices is a very controlled and monitored paradise, governed by very autocratic Apple policies and mandates. People who are satisfied with Apple's version of electronic paradise (which is by no means a bad one, it is actually pretty good), or people who are blissfully ignorant, will find their home in the Apple land, and live there happily ever after. They will be at peace with themselves when they shell out more money to get new iPhones and Apps, which on the Apple Store, are more paid than free. It is a good place to be, for a lot of people.

And then, there are the people who feel suffocated in the Apple land. They do not like people who seemingly possess mind control powers and control their users by controlling their device experience. People tend to lose their individuality and the power of defining 'whats cool' for themselves. These folks prefer to take the hi-way instead of the Apple way. They are the rebels, willing to challenge the conventions of coolness, which was first invented by Apple. They are the Android geeks.

Google disrupted the Apple universe and carved a place for people who could not afford to live in the Apple land. They made Android available to all manufacturers and allowed them to make Android their own. Suddenly the world was full of Android devices with a vast range of capabilities and prices from $50 to $500, in all shapes, sizes and flavors. Suddenly, smart phones came within reach of the masses, and they embraced Android with open arms. With this deluge of un-moderated and almost uncontrolled Android devices and Apps, we see good devices and crappy devices, good apps (usually existing iOS aka apple apps, ported to Android) and the misbehaving apps that crash creating an amalgam of very confusing yet rich set of experiences for the non-Apple consumer.
Android vs. iPhone

Rewind- when the smart phone wars began!

While the Android wildfire spread in the grasslands, the Apple forest remained unfazed and protected and the once glorious empire of BlackBerry declined rapidly. The world of smart communications was changing at warp speed. While boasting of a solid set of devices, with un-paralleled reliability and security, RIM the 'inventors' of original smart device, the BlackBerry, found themselves completely out-innovated by the Android vigilante free-thinkers and the Apple sophisticates with stiff upper lips. Their tunnel vision led them to see a future where they saw everyone trying out anything non-BlackBerry, but returning back the good 'ol faithful Berry. Alas, we have not yet invented a laser to correct tunnel vision, and the only known cure is bitter dose of Bankruptcy.

And while the BlackBerry was getting squished between Androids wrestling with Apples, slowly and silently, we see the Windows of Microsoft opening, giving way to the new world of Microsoft powered phones.

And thus, the battle of the smart phones, slowly transitions into the battle of the ecosystems, much to the delight of the techno-enthusiast. And that will be the topic of another monologue from me.
Q: So which smart phone would be Aditya's choice?
A: Wait for my post on 'Ecosystems'

And so, in this story fashion, I hope I was able to demystify this tech landscape, mix in my opinionated views. Getting a phone, like religion, is a personal choice.

An Android will let you jump off a cliff. A BlackBerry will warn you of the cliff, and tell you that you can use its old, unfrequented, very secure, dusty and trusty dirt-trail with hand-rails to go down the cliff if you really want to. An Apple will convince you that cliffs don't exist, therefore the need to jump is irrelevant, what you really want is a shiny new iPod and that resistance (to get one) is futile. (I hope a few of you actually get this joke…those who don't should go live in the Apple land).

There is no perfect phone, but there indeed is a phone which will serve you perfectly.
…and so says I.

Sunday, March 25, 2012

iPhone Apps worth checking out!

I have been using these and they are proving to be quite useful to me. Take a peek..Enjoy!

Put your iPhone camera to good use, and turn it into a handy document scanner with this app:

A good anti virus and intrusion prevention app for iPhone:

A good app to scan through a not of news very quickly. Perfect for keeping up to speed when you are up and about:

Tired of carrying a bunch of loyalty and reward cards all the time? With this app, you can put all those cards into your iPhone, and get them scanned at the store..very handy!

Are you running out of mobile minutes? Make unlimited VOIP calls using just your data plan:
Note: I have been using the VOIP service from nettalk for over a year..been working well, I'd recommend it. Check them out.

Make the most of your smart phone, else go back to your text-pager. And so says I !!

Get smart (about your phone)!

Today's tech world is very confusing to the lay person (notice how I expertly
avoided being perceived as a sexist). In order to make it simpler for a few and to dumb it down so the average person can understand Geek, I took a set of most commonly asked questions, and prepared my highly opinionated answers to them.
I will probably take one question at a time and discuss it to my satisfaction in individual posts with the mindset 'use em or leave em, your call'
(But I do hope that you find them useful). Feel free to comment and add your perspective for the greater good.

Q: What is a 'smart phone' and why do I need it?
Aditya says: I myself find the term 'smart phone' very misleading. Is it a phone for smart people? or is it a phone that is smart for dumb people..who knows? or rather who cares?
From my perspective, a 'smart phone' is the evolved phone which can do more than just make phone calls. The more things a phone can do besides making calls, the smarter it is in my opinion. Thats it, its as simple as that.
The harder question to answer is, do you really need it? I suggest, before you decide that for your self, just make a list of all the things that you want to be able to do with your phone. Then pair your needs with the most cost effective device and provider in the market. Please, do not get sold on the hype and buy the most expensive thing in the market, and then wonder if your usage is worth the money you spent on it...that makes me sad. Here are the 2 most common set of usages (not unless you are a socially hyperactive teen), and my perspective on getting the best value:

Basic Scenario 1: Talk and text.
This is a very common scenario, which I think is the most common denominator for all communication needs today. This is simplest to solve. In today's world, every phone has that capability. To pick the right phone for this need, look for the phone that you find easiest to use, and that has a good battery life. I find that the low end Blackberrys are still the best in this aspect, so I'd have no problem recommending a Blackberry for this. Please note, Blackberry's are notorious for dying during an upgrade, so please do not muck with your Blackberry system settings unless you are adequately supervised. But again, for this need, there is a seemingly unlimited number of choices you will have today, and very economical too.

Basic Scenario 2: Talk, text and email.
Now we enter the realm of 'data' aka email. Remember, texting aka SMS messaging is NOT the same as email, and do not really require a data plan. Anyone telling you otherwise should be subject of your suspicion. For getting the ability to connect to the internet, you will need a basic data plan from your carrier, and a device that can connect to the internet and get your email. Note, the need is for you to be able to have access to email only, not really all the internet has to offer you. In this department too, Blackberrys do a decent job, but so does every other 'non-touch' enabled 'smart' device. Every carrier usually has a bunch of them on hand, but remember the sales rep will try their best to sell you the most expensive device, not the device that meets your needs the best. My advice is that you should just pick the device that does the above three tasks the best, with the least overhead and costs.

If your needs are above and beyond the two basic scenarios I described above, then you definitely need a smart phone. Get ready to enter the world of highly evolved devices (which are nothing but highly compacted computers running on batteries) with multiple capabilities, which you will need to spend a bunch of money on, and will continue to spend money on through out your carrier contract. In this realm, in today's world, you will have 3 primary choices: Android Phones, iPhone, Windows Phone. Note, I did not mention Blackberry here. While Blackberry makes solid devices for the basic needs, they need to play catch up to the other three. I do hope they do so, I wish them all the best! With more competition, the consumers win, and I am all for that.
In a subsequent post, I will talk about this realm, and attempt to demystify it from my POV. However, I will talk about them not from the perspective of the manufacturer/carrier, but from the perspective of the consumer.

In summation, get a device that serves your needs, and nothing more. It is not wise to try and do the work of a needle with a sword. NASA spent a million bucks researching and inventing a pen that could write in space, the Russians used a pencil. 
That says it all, and so says I   !!