How to Build a Simple Motor?

Since it’s mid-summer vacation time, there’s always that opportunity to share some good time with kids by helping them with crafts, scientific experiments and stuff like that. My 11 year old son Adi’s (Aditya) favorite subject is Physics and that’s the first book he opened – with some compulsion of course – for the next academic year. They will be getting introduced to a bit of electricity and magnetism in the coming academic year when he goes to the 6th standard.

This week, I thought of teaching (for a change) him a little bit about electric magnets, dynamos, electric motors etc since these were my favorite topics in school as well. As a matter of fact, my favorite subject was Physics as well.

I had built motors during my school times but it was always a bit complicated to get everything working together. But now things are different and there’s the Internet for your help. A little bit of browsing around and improvisation over several prototypes resulted in the following motor that Aditya and I built during this weekend.

It takes just some insulated copper wire (about 3ft), a magnet, a dry cell, two safety pins and some adhesive tape to build possibly the simplest motor out there. I made a video based on the little clips and photos taken during the process so that it might help some kids out there to build one.

(If you can’t watch the video here, please click this link)

Airtel SmartBytes Scam

I have always been a huge fan of Airtel Broadband ever since I started using their services way back in 2006. Their Internet services offered high uptime and the promised speed almost always. Airtel’s customer service has been pretty good as well when compared with many other brands.

However, the recent rollout of the so-called SmartBytes product has spoiled all my good impressions about Airtel and I am on the verge of discontinuing with them. It is turning out to be a major SCAM by Airtel whereby they try to force sell this product to existing customers on the pretext of making available high speed Internet even when you don’t need it. Read on…

How Airtel SmartBytes work?

Every unlimited BB package from Airtel Broadband works the following way. Basically when they sell a 2MBPS (for example) unlimited bandwidth product, the 2MBPS speed is only applicable to a predefined transfer limit (e.g 20GB as in my case). Once you reach this 20GB limit in a particular billing cycle, the speed drops to the minimum guaranteed speed of 256KBPS or 512KBPS.

At this point, the customers can opt for the so called SmartBytes using which you can continue using the high speed internet. All that you have to do is to click and buy the package that you want (for example 5GB for Rs.299/-). This sounds good and really helpful for the broadband consumer in need. So what is the problem?

SmartByte Nuisance!

Once you run out your high speed limit of your so-called Unlimited package, the following is what will happen:

  1. Every time you login to your PC and browse any site (say, you are redirected to the SmartBytes website (screenshot below). No matter, how many other sites you try to browse, it will STILL redirect you to this SmartBytes sales page. This highly irritating behavior continues for about a minute
  2. The ugly SmartBytes sales page forces you to either buy a High speed package OR Continue as per the plan BUT only after typing in a Captcha. This is a highly unacceptable behavior from any service provider as it’s nothing but force-selling
  3. For a billing cycle, it’s probably ideal to show this page once but NOT every single time I login – especially after I opted out of it once
  4. Whenever you are run out of the highspeed limit, for no explicable reason it disconnects you from the web every couple of hours and each time, the SmartBytes page is thrown

airtel smartbytes sca
Now, why is it so bad?
First, I don’t want to see an undesirable sales page every time I login.

Second, it should be SMART enough to remember my selection at least during a billing period.

Third, if you are doing some important transaction and left your page unattended, when you come back, you are likely to be redirected to the smart page thereby losing all that you entered.

Even worse, the kids who are using your home PC or laptop can, by mistake, click and buy SmartBytes as it doesn’t require one to swipe any credit card.

What does Airtel Customer Support say?

I have raised THREE tickets with them in the last two months. Every single time, the dumb support person will say that, he doesn’t have the ‘authority’ to stop this. So twice, I requested him to put me through to whoever has the authority but no use. Obviously, Airtel has forgotten business ethics and is trying to milk customers by luring them into buying their SmartBytes product with a highly irritating landing page.

Probably the next step for me to write to none other than Mr. Sunil Mittal ( – the big boss of Bharti Airtel – and forward a complaint to the consumer forums.

Do you suffer from this Airtel Smartbytes Scam or fraud? If so, did you try to deal with the same? Let me know.

Social Sites in India and the Censorship Row

Much has been talked about the recent move by Mr. Kapil Sibal, the Union Minister of Communications and Information Technology, to screen the content on the Social media sites. The ministry has asked Google and Facebook to screen their content and remove any objectionable content. This move has already irked bloggers and social media addicts (especially youngsters) and like any sensitive issue the news channels are celebrating the moment by instilling spite and going after Mr. Sibal’s blood.

social media censorship

Well, I am not a big fan of Social Media blanket censorship or blind scrutinizing. Nor am I a blind supporter of the current union Government of India or its leaders. As an unbiased onlooker (plus a social media enthusiast and blogger), I personally believe that social media giants and content aggregators could take a lot more stringent steps to curb objectionable content on the web.

The plight of the current government

I do not know what type of content Mr. Sibal has asked Google and Facebook to screen and perhaps it is even possible that his censorship list mostly contain those anti-government campaigns or pages. But one thing I can clearly affirm is that, this is the first government that had to go through so much of online bashing because it’s during their tenure (first and second term, that is) that the social media boom took place and Facebook, Twitter etc came to existence. That’s pretty much the case with other governments worldwide as well. So it’s not that we are having a worst government in the history of India but the online media and new age television channels make things very obvious and sensitive. Going forward, you can expect even worse reaction and criticism on anything – even if the subsequent governments are good – because of the very viral nature of the social media content, especially the sensitive and spiteful content. And over-celebrating undesirable content is another characteristic of the social media – Example: a minister getting slapped by an individual, a public profile thrown a shoe at him, a parliament member dancing in her own party’s meet etc gets more spicier and viral on the social media sites.

That’s where the role of censorship or screening (choose the right word) comes into picture and I firmly believe that Mr. Kapil Sibal’s move comes at the right time. However, one has to form rules and regulations on media screening for long term regardless of which government is in charge. Hopefully we can arrive at such a set of rules without harming the freedom of speech (a buzz word very cleverly used by many for airing any bullshit)

Freedom of Speech and objectionable content

A lot of Indians believe that United States is the epitome of freedom of speech and less of regulations. Many people blindly adopt whatever norms any US companies come up with while taking on its own government on their policies. I would like to ask such hypocrites a few questions.

  • USA recently banned Wikileaks for its objectionable content mainly taking on the US’s double standards itself. What do you think about it?
  • Your own country’s map is flawed (without Pakistan Occupied Kashmir) in all maps published by Google and other international establishments? Why didn’t you ditch Google for that?
  • You share your personal data with Facebook. Don’t you think a US company with the intention of building the personal data collection of all the people on earth could misuse the same for other purposes?
  • Forget the USA. Do you know that Scotland Yard had banned several hundred facebook pages of anti-government protestors in UK earlier this year?

The crux is that, as a sovereign government, we could ask any foreign operator to be careful with what kind of sensitive data that they spread within the cyber space and I do not doubt the government’s intention at that. If you want to know about the kind of censorship rules that USA has please read this article on Internet censorship in the United States. Unfortunately, our legislation is yet to form good enough rules (and enforce the same) when it comes to cyber stalking. Well, we have a few guidelines and articles from the constitution but nothing yet against the kind of things that are happening now. That’s why it’s not a bad idea to screen content, to begin with, if not total monitoring and censoring which is not 100% possible.

What type of content should be screened?

Regardless of Mr. Sibal’s list, in my view, the following are the kind of content that has to be screened for in India.

Character assassination and obscenity is something that people have been exercising without any limits on social media. This includes attack on public personalities, their personal life and even doctored pictures of their family members.

Content that hurt people’s religious or regional sentiments: I get to see a lot of these things on Facebook. I sometimes do not understand why people are so insensitive to people from other religions and their sentiments.

Plagiarism: Unfortunately, blogging has become more of a business than writing itself and we get to see a lot of plagiarism in the blogosphere and content generation space. It would be great if companies like Google can do a lot more about arresting plagiarism than just tapping into the opportunity of creating more indexed content and boast about those numbers.

Software and media piracy: Pirated content spread faster on social media sites – thanks to its viral nature. Don’t we need to stop this?

Child access to bad content: How many of you parents have been successful in restricting kids’ access to adult and obscene content? Have you ever invested in a good parental lock software? Do you know if your under-13 child is accessing Facebook that he or she’s not supposed to?

Anti-government campaigns: Please don’t misunderstand me here. I am NOT a Indian National Congress member nor do I blindly vote for that flag. And in the democratic system we have the RIGHT to protest when things don’t go the right way. However, it is my belief that a democratically elected government must be allowed to operate instead of using the viral media to driving spiteful campaigns against them. By anti-government campaigns, I didn’t mean some valid scenarios like the Jan Lokpal campaign but I am talking about those campaign that take on the government for each and everything that they are trying to do. Unfortunately, the current opposition as well as the smaller allies within the government itself seems to be always on a blackmailing mode. It is a very bad precedence and need to be taken very seriously in the context of what’s spreading in a viral fashion across news channels and social media. Basically, we are defaming our own democracy at times. As I said, it’s absolutely fine to protest but not with the kind of foul language nor taking on the politicians family members or even their private parts (believe me, I have seen real nasty comments!)

Objectionable activities: On top of screening the content, there are number of activities that happen over the Internet which is banned by law in India. One example, I can think of is earning foreign currency via online activities and never paying taxes for the money earned. The other activities include online forex trading, gambling etc which is banned by law. There are quite a number of people who are doing such illegal activities that need to be curbed. There are even more dangerous online activities such as fake viral marketing and money chain schemes.

Well, that was my view on what the government should be doing in terms of screening the online social activities. Nobody is talking about a complete social media censorship like what China is doing but some amount of restrictions are good for all, I believe! By the way, it is not only the social media that needs to be controlled but some of our sensational news channels as well. All of you may recall how our sensitive live television coverage on the Mumbai terrorist attack actually helped the terrorist to kill more people and fight longer.

Have a good and safe social life! And trust me, if your thoughts are good, you don’t need to be monitored by anybody. Finally, don’t misinterpret the Freedom of Speech!

Facebook disadvantages

facebook-icon-logoWith social networks (SocNets) and online life taking precedence over real life (offline) face to face meetings, there are a number of changes that all of us are going through without us even realizing it. The convenience of getting connected to people without physically moving anywhere is probably a good thing to have, so is the power to get updates and happenings around your near and dear ones’ lives. SocNets also help people find jobs, promote their products and services etc. I am not really overlooking all those good aspects. However, there are so many disadvantages that probably will make the facebookers altogether different human beings who might be losing certain good things and experiences in life.

Negative impacts of facebook (and SocNets in general)

I am not sure if everyone feels bad about the negative aspects of SocNets, but I personally feel nervous at times at the very thought of exposing and risking everything online. The following are some of the disadvantages of social networking.

Lack of privacy

Even with the best privacy settings available, you are still airing your private information to the web. And sometimes your friends’ friend is not exactly the nicest person around. For example, I do have a lot of people from the blogging world connecting to me, but my real life friends may not like me sharing their information with these strangers, right? In a way, everybody out there on a SocNet is letting each other dig into others private life.

Facebook is selling you

An extension to the privacy problem is the way in which facebook is collecting your data and selling it to external applications and organizations. This include, facebook games, apps, and agencies who are interested in the demographic data of millions of people. We even share our photographs online via facebook on which they have the full rights to share with others.

It’s a relationship spoiler

With all these SocNets coming in, people have stopped connecting with each other via visiting them. People even hesitate to pick the phone and talk to their dear ones. Please note that humans are originally programmed to communicate with each other via our five senses and not via keyboard and mouse.

If things go at this pace, it may be even possible that husband and wife and their kids will sit in their respective rooms under the same roof and communicate via facebook.

The other problem is that, even though, it’s easier to be in touch with your facebook friends initially, as the list grows you have to either find more time to track everyone, or neglect many of them. And many times, your priority friends or relatives get missed out.

Reduced soft and communication skills

Many people who are addicted to facebook are either already introverts or they are becoming one. They are losing their communication and presentation skills further by only typing in stuff.

Wasting human resource

Mobile phones and social networks are two major challenges that many employers are facing at the moment as their employees’ productive time at work is rapidly reducing with all these distractions. In countries like India, the social networks and mobile phones are even used for the wrong purposes. Some people use social networks like IMs (Instant messengers) just like the SMS misuse in India. And when the mobile phones are enabled with facebook, it’s a double whammy! Basically, even while on the move, people are distracted.

Cyber stalking

With people connecting with real strangers, the number of cyber stalking and related crime rates are growing at an alarming pace. Many times it’s the teenagers who get cheated when they actually meet the real face behind facebook. There’s been cases of murder, cheating and blackmailing, after people got too close with their facebook lovers. Of course, there are cases with happy endings as well.

In most cases the teens’ parents don’t even know with whom they are communicating and what all activities are they doing online. Inability to monitor kids completely is a big issue. I mean, they expose themselves to the whole world but their parents.

Lighter side of facebook

If used in moderation, facebook or any SocNets can be fun provided that you are using it at a predetermined time and duration without really getting addicted to it. The following are some of the standard behaviors of facebook addicts.

  • Standard comments on photos (especially in India): ‘Very nice family photo, all of you look great 🙂
  • Some people join facebook only to keep ‘like’ing others updates and photos as if their puters don’t have keyboard. Some others don’t even ‘like’ people they just created a facebook account to watch what others are up to
  • Good looking women – hoping that they have posted their original photo – generally get a lot of friend requests – surprisingly even from married middle-aged men
  • Some people use FB only to redirect their tweets (from Twitter) and spam links to facebook
  • Things that girl and boy wouldn’t talk directly face to face is done via facebook. In other words, many facebook super heroes are super zeroes in real life
  • …add yours here…

Over to you

Could you share what have been your facebook experience so far? Do you think, social networks are causing some social problems along with the advantages that they offer? Are you addicted to facebook?

Happy networking!

Software Quality – Back to basics

Quality Assurance & Quality Control are integral processes of the production/life cycle of any product in most of the industries. While quality governance is an age-old process in the manufacturing industry, it is relatively an emerging topic in the software industry, which itself is only thirty or forty years young. However, of late there has been a surge of too many well-defined quality processes and standards injected into the software development life cycle that half of the production time is eaten up by these measures. In this article, let me try to do a root-cause analysis on poor software quality and see if these processes alone can really drastically improve the product quality. Or is it just that we are missing some basics here?

QA, QC, QE, QM, Q-what?

Quality Assurance (QA) is the overall process innovation and execution part of quality management (QM) where as quality control (QC) is the execution of actual tasks to conform to the quality standards. QA processes starts as early as the phase of rolling in the requirements and it spreads through the design, execution, delivery and maintenance of the software product. QC or the actual process of testing is a thread of the entire QA process. Quality is not just about functional correctness that verifies each and every input => process => output thread as per the requirements but it also deals with the conformance of performance, scalability, compatibility and usability of the product.

SDLC – The past perfect

In the distant past, software projects were mostly done in research oriented labs. The programmers had plenty of time available with them to design and code given requirements into software pieces. Moreover, most of the software products then targeted one single platform (hardware/operating system). The passionate developers used to thoroughly unit test their code before delivering the same for productive usage. To make programmers’ lives easier most of the operating systems and programming languages had a pretty good life expectancy. Coding then was more concentrated around functional correctness than painting excellent graphical user interfaces. The obvious result was quality software products that were more or less bug free, fast on execution and functionally most correct.

Challenges hit

However, the 80s witnessed the proliferation of the cheaper personal computers and also a number of operating systems, system tools and applications. This period also saw the sudden surge of a number of programming environments, frameworks and graphical user interface oriented programming methodologies. The popularity of the world-wide-web also contributed to alternate programming possibilities and scripting environments. With a large number of possibilities available to code the same ‘Hello World’ program, developers were forced to learn new methodologies and programming mediums pretty quickly and most often on-the-fly during a software project execution. The proficiency levels started coming down and so was the quality of code written and unit tested.

Another thing that added to the chaos was the pace at which business establishments computerized their office or factory setup. Sudden implementation pressure and ever-shortening timelines to deliver also resulted in poor unit testing time. Either there wasn’t sufficient time to test or the unit testing culture was partly ignored!

During the same era, system and office products companies like Microsoft started shipping new and new versions of desktop operating systems almost every year. This also meant that the code written for one O/S had to be run or adapted for multiple platforms. Platform specific coding and testing paved way to another level of quality challenge and multitude compatibility and upgrade tests.

Since the hardware was getting faster and cheaper it wasn’t always possible to do proper benchmark tests. It is also a fact that not many cared about fine-tuning the software to make it run at the best possible performance.

Differentiation and introduction of several roles in software testing took half the burden away from the developers – but the wrong way. Many developers thought that unit and module testing are probably not their job but that of the dedicated test crew!

Introduction of many processes – both software project management and quality related – deviated the focus from coding and testing to conformance of these standards, many of which had nothing to do with actual software quality produced.

So, how can we deliver better quality?

With too many distractions around flashy technologies, user interfaces and over engineered products the testers seem to have forgotten one basic thing. At the
end, testing is all about passing the use cases or conformance. The very first thing that has to be passed by a software system is whether the given valid inputs are resulting in expected outputs as mentioned in the specifications. This use-case based testing has to be the main area of interest to every tester.

Regression errors is one area where again use-cases has to be stressed on. Every single time the codeline changes the testers or automated mechanisms has to perform the use case testing. It should not be just a click around test Integrated automated tests are a must along with every build cycle of the software. These days plenty of automated test tools are available in the market. One can also write custom automated test tools via easy scripting options. But since automated testing also revolves around the scripts/code written for the test program, the quality of the automation tools/code itself should be very high.

The success of the manual testing is only as good as the number of test catalogues/cases available. It should be made a habit that developers and
testers discuss, scrutinize and update the test catalogues/cases periodically. This is something that rarely happens in subsequent releases of products.

Performance and scalability validations should be done with proper IT infrastructure set up and/or with the simulation of the actual usage of the
system. It is a fact that many of the software produced are not tested for performance and scalability. Many a time, the first version of the software is the guinea pig using which probably a more realistic version is rolled out later, that is usable.

Finally, developers should not forget that unit testing is part and parcel of the development cycle. You have to be your own tester in the first place! In the planning phase, most of the inexperienced developers and their bosses make the mistake of not allocating the right effort against the modules to be coded. Most of them just think about the amount of time required to code and not unit/module test their code. This planning mistake can finally result in poor quality and blame game (a commonly found phenomenon in any developer-tester interaction).

Six Sigma and what not?

Sometimes I get a feeling that the information technology people have the tendency to borrow incompatible ideas from other industries to the software world and patch upon. According to me Six Sigma and certain other quality processes are not something that fits into software directly. Well, at the end any theory can be made use of but have we got enough examples where Six Sigma (originally from electronics manufacturing standards) has been judiciously and successfully used in any software company? For me, it has been successful only in creating multiple redundant roles in a project team. Come on, this is not martial arts! We don’t need green belts and black belts here in the software teams – nor do we want historic data on defects per million opportunities.

Finally, ‘Quality Engineering’ itself is an oxymoron – at least in the software context. For me, quality is about the conformance or verification of something that is already engineered (Nobody can produce quality as such!). And quality processes itself should not be made too complicated via unwanted processes and methods. The need of the hour is realistic project plans, committed developers (who are also good unit testers), test cases, integrated test automation tools and passionate manual testers.

Mobile computing: Whither?

Ten years back one would not have imagined that the cell phones would become much more than a cordless phone with a wide signal range. From a communication device that can store a few contact numbers it has, over the years, become ‘smarter’ by providing integrated features such as digital camera, FM radio, music/video player, games, multiple connectivity modes for the common user. For the advanced or business user it provides a Personal Information Manager (PIM), mailing features (push or pull), other office products and most importantly the ability to run business applications. There are, however, several other parameters that will dictate the way in which future mobile applications would run on modern mobile devices.

Hardware – PDA v/s Smart Phone

The gap between a Personal Digital Assistant (PDA) and a smart phone is getting shorter day by day. Most of the advanced phones these days have QWERTY keyboards, higher form factor, excellent processing power and almost the same memory capacity of comparable PDAs. As smart phones get more and more data-centric, the possibilities of running powerful LoB applications get better. Hence if the current trend continues, the long-term future of mobile computing will be revolving around smart phones.

Online v/s Offline

The bandwidth worries are to become the story of the past! As technologies are being developed to transfer megabytes of data at lower costs and in a matter of seconds, ‘almost-offline’ kind of applications will make way for ‘almost-always-connected’ applications. This would mean that the mobile client technology will run applications that are online with the enterprise backend systems but would not mind even if the connection is disturbed for a while. On restoration of the connection it would continue synchronizing the data that was collected or changed during the disconnected time period. This behaviour is comparable to that of the Microsoft Outlook mail client. Standard client side protocols will be soon available to manage session, state and queue persistence to facilitate the above concept.

Enterprise mobile apps v/s custom build

Built-in mobility would be the theme going forward. This would mean that you build your enterprise or mid-scale applications once and mobilize it using ‘a mobile infrastructure’ without significant effort. The organizations who build such mobility frameworks and build their enterprise applications keeping this flexibility (possible usage modes and channels) in mind would be the leaders in future business computing. These naturally mobilized applications would surpass custom build mobile applications that are difficult to maintain in the long run.

Public v/s Private network

A future mobile application would be able to run within a private corporate network as well as a public wide area network facilitated by a service provider without any difference in behavior at all. However, the usage pattern and the type of mobile applications in reality would vary within a private network and a public network. For example, a mobile service application may use a public network more often than an assembly line monitoring applet that is running within a manufacturing plant. The point here is that the usage pattern and location should not determine the architecture and technology behind the application.


In the future, voice activated NLP commands and touch screen entries will be used more often than keyboard entries. Mail usage will be around templatized content and smarter word fillers would make whatever entries to be made, a lot faster. Probably there is a lot of limitations when it comes to input mechanisms but something really innovative needs to be implemented here. Seamless integration and accessibility between office applications, PIM etc and the mobile enterprise applications will be what power users will be looking for. In order to achieve this the standards for exchanging data between PIM and mobile applications need to be defined.

Which technology – Java v/s .NET v/s ToBeInvented

As long as a standardized mobile platform protocol is available, it will be insignificant to talk about the technology used to write the applications and/or frameworks. Even the operating system may not play a bigger role here. The present problem is that the cool proprietary features that various mobile devices provide are often mistaken as built in O/S features rather than added application features. With conscious effort the integration points (PIM, Enterprise backend connectivity, Media players, Synchronization, Device management etc) can be really standardized. At the moment, open standards such as OSGi is purely talking about a raditional open application architecture that is far away from the current needs and capabilities of mobile computing

Future mobile computing device (MCD)

If the technology grows at the current pace, we would soon get to see devices that have computing power and memory capacity of the current desktops. They will also have foldable LCD/Plasma screens (something like the airport multi-display-monitor hoarding) that can change form factors easily and could substitute a laptop or tablet PC via retractable keyboard mat. Seamless synchronization with other devices (not just computers) will be a reality. Video streaming and recording features will soon be utilized for mobile TVs and video conferencing services while on the move (using 3G or ‘moreG‘). Also, don’t be surprised if all your TV channels are accessible via your smart phone in less than two years from now!