Saturday, February 23, 2013

Some Lucid Explanations of Common Terms in Software Engineering


1. API : Application Programming Interface
• An API is a set of libraries, protocols or functions which are used as an interface to make two or more software modules interact with each other. In other words an APIs is a set of specification for using a software service provided by its vendor.
• For example, we have Java APIs, .NET APIs etc. There are also Web APIs, which are used in web development, are in the form of HTTP request messages to communicate with software on a remote server. For example, we have Facebook Application Platform, Twitter APIs and the popular Web2.0 APIs. Other example is OpenGL APIs which can be used for cross platform graphics creation.


2. Plugins :
• Plugins are relatively smaller software modules which add a specific functionality to a bigger software system. As a simple example, there are a lot of plugins provided by independent developers for providing various features for Google Chrome.
• With plugins, features of software can be enhanced without changing the complete system, as these components are compatible to work with the larger module. We have J2EE plugins available for Eclipse Galileo with just core Java support.
• Plugins are very popular with web browsers but they make also be made for desktop applications. For example, we have a PDF generator plugin available to be used with MS Office.

3. Plugin Vs APIs :
• APIs and plugins are two different things. We use APIs of software to make plugins for it. APIs allow third party vendors to create plugins for software. Facebook, Twitter etc. make available their API specification so that independent third party developers can make use of their platform and develop applications over it.

4. Framework :
• A software framework is a reusable software platform including support libraries, APIs, compilers and programs, which together enhance and expedite the process of software generation. In an application framework, the framework provides the standard structure to the application and the developer has to concentrate on the business logic only. Most popular software frameworks for creating Java applications are Netbeans and Eclipse. Spring is the most popular application development framework for enterprise Java.
• The most important advantage of a framework is the inversion of control from user to the framework. In it, the program flow is guided by the framework and not the coder whereas when we use pure libraries we have to decide the program flow ourselves. A framework also provides a default behavior which is the preset of all the options, fixed so as to give the most favorable environment to the developer.
• The aim of a framework is to let the developer focus on the software requirement and do all other menial tasks.
• Some disadvantages of using frameworks are that they may be difficult to understand. Using a framework also results in code bloat.

5. Runtime Environment v/s Framework :
• A runtime environment is required by a program to execute. It is a set of instructions inserted into the executable image by the compiler.
• Runtime environment manages the processor stack, space for local variables, copy function call parameter onto the top of the stack.
• It is the execution model of a language.
• A framework is entirely different from a runtime environment but may include one. Framework is an optional development tool that helps in software generation while a runtime environment is necessary to execute the software.

6. Cloud Computing v/s Grid Computing :
• Cloud computing is on-demand service such as a software, platform or infrastructure operated over internet.
• Grid computing is a term for collaborating resources to perform a particular task by leveraging distributed and parallel computing. The processing units are loosely coupled ( unlike the legacy cluster computing ), disparate or distributed location wise.
• Cloud computing service is metered and thus cost effective. The client need not worry about licenses, updates, configuration etc. depending upon what he is availing from the vendor. Eg. EC2, S3, Cloud Foundry, Salesforce.com etc. • Cloud computing may implement grid computing as its processing power.
• Both cloud computing and grid computing are scalable.
• Grid computing need to use software to shell out a huge task to several processing units where as in Cloud Computing (SaaS) the client need not worry about any such software as all of it is taken care of by the vendor.

Friday, November 2, 2012

Axiom Of Natural Limitations On Aptitude


Often people are in bewilderment after interacting with individuals with extraordinary aptitude or mathematical ability. After reading their stories or watching their interviews on TV, they find themselves questioning whether they would ever become so “great”. Such incidents sometimes lead to encouragement and at other times, sadly, to depression. With this starts a cycle of sincere efforts and results, filled with expectations to match that extraordinary story. But seldom are these expectations realized. Ultimately, either these culminate in surrender or depression or both. But there is a serious fallacy in the argument that persistent and sincere efforts yield matchless results. Rarely do people realize that a factor, of which they are completely unaware of, has a critical bearing upon their aptitude.

Let us do a case study to understand how this “spectral factor” betrays a considerable fraction of efforts and maneuvers the results.

There is a lot of hoopla about top AIRs in highly competitive examinations like IITJEE and CAT. These examinations basically test our aptitude to work with numbers, formulas, theorems and basic mathematical operations. Not just that, they also set a time-limit disproportionately lesser than what the best of all candidates would take. Now this creates an oppressive exigency of solving some of the trickiest problems. Candidates with this “spectral factor” score unbelievably high and others are disappointed to see their average or poor scores. The latter impute the “not-extraordinary” scores to their coaching, bad luck, distraction during the exam or their unsatisfactory efforts. But trying to score extraordinarily in such exams or to match the performance of candidates scoring unbelievably high is, more or less, challenging the order of nature. The biological setup of the brain has a critical bearing upon an individual’s problem solving ability under extreme temporal pressure. How the biological elements, which work at the lowest level of human problem processing ability, stack up, determines the limits of what an individual can perform based on aptitude.

Thus there is not a great deal about individuals persistently scoring very high marks or getting top ranks in competitive exams or easily making it to IITs and IIMs and Ivy Leagues. They might be very hard working, but even if they prepare moderately, they are bound to score big shots. Behind the scenes is a biological setup that favors quick problem solving ability, even in draconian, time-bound situation.

But this should not make others feel that the genuine efforts they are putting in are futile. As with other laws of nature, exceptions exist, whether we know or not. Space will always develop for the very antithesis of natural orders.

Sunday, August 26, 2012

Patents : Taking a toll at innovation?


Today technology giants have engaged themselves in a rat race to patent their product elements, covering almost every aspect of it. From the most obvious to something highly innovative in a product, it is patented, crippling further innovation and improvement as well as obtaining a certificate of monopoly over the production. Yes, I'm alluding to the famous patent wars - Samsung vs Apple. First things first. It is a completely neutral idea - inclinded towards neither of the two. But could you ever make a mobile phone and patent its looks? Patenting its flat or curvy contours! Is this all what is left to be patented? A similar patent infringement, among others, has been filed by Apple against Samsung. These quarrels indicate that even the best market players have derailed from the track of innovation. What they are fighting for is market share, revenue, profits and patents. The temple of innovation that Steve Jobs made of Apple is now squabbling over paltry issues. Should not be these IT goliaths be aspiring to crack bigger innovations and develop smarter technology rather than undoing products made by other companies and trying hard to figure out what to accuse it of as a violation of some patent.

Tuesday, August 14, 2012

"In a democracy, we all win or lose" - President, Pranab Mukherjee


"In a democracy, we all win or lose". But that doesn't hold for Indian Democracy. Here politicians and the royal class eat the cake, middle class eats the dregs, lower class takes away the cake box and licks the remains and the 'abject indigent class' just looks at the whole drama in bafflement.

Monday, August 13, 2012

Baba Ramdev: Credible Enough?


If Baba Ramdev is to be believed then AIDS can be cured by his yoga teaching and ayurvedic drugs acclaimed by him. In fact he had also said that he detests homosexuality which is not natural and can be cured by his yoga practices. Furthermore he had also claimed that various types of cancers viz. brain, liver, breast, prostate etc. can be eradicated through his breathing practices. By all this, it may soon come to our ears and eyes that yoga and ayurveda are the breakthrough panacea. You are to judge.

Sunday, August 12, 2012

Didi's Faux Pas


A very nonsensical and ludicrous misdeed has warped Mamata Banerjee's public image. When questioned by a comman man about what steps she was taking to help the farmers, she got him arrested immediately. This was completely ridiculous and imbecile act of her. She did not even care about the ramifictions its going have. And the expected happened. The incident has spooked defamatory comments from opposition as well as from public.

Olympics and Sushil Kumar


Sushil Kumar rose to the expectations of a billion people. He has clinched a silver medal in 66Kg freestyle wrestling. With this India's medal score reaches a total of 6, which is still a record. Yeah thats the irony. A nation of 1.2 billion will have to carry this until the next Olympics. With USA bagging over a 100 medals and China near to 80, it is an utter ignominy for India. So who is to blame. The government? Who is always to busy doing nothing or gloating over puny successes. Or Media? Who is a cricketomanic. Or its ultimately us who do not want anything to prosper as cricket. Its high time we should respect, encourage and support other sports and for the government to incentivize sports through sports education, training, funding and media coverage.