Saturday, December 28, 2013

Drishyam: A Visual Delight


Aam Admi or the common man/woman is the flavour of the season in real life and reel life. The ascent of AAP to power in Delhi and the challenge posed by a homemaker against a meaningless blockade by the mighty Communists in Kerala are recent examples of the power of the man/woman on the street. In reel life, the movie "Drishyam" portrays, with great impact, how a common man and his family pull together when faced with a crisis. Been there, seen that? I bet, not.
Drishyam is the story of Georgekutty, a cable operator, farmer and film buff, and his family. The well-knit middle class family with modest aspirations, goes about its mundane life, until a crisis hits them like a bolt of lightning. The setting of the story and the nature of the crisis is commonplace both in reality and in films. However, what is unique is the way in which the family rallies together to battle the might of the establishment to emerge wounded, but not weakened. What is unique too is the craft of the story telling.

Dysfunctional and estranged families are easy fodder for storytelling. It is heartening to see a happy and loving family being the centerpiece of a gripping story, without appearing overly sweet and preachy. Another highlight of the movie is the distinction between knowledge and education. Georgekutty is barely 4th class pass, but has enough knowledge to take on the elite officers.

The impatient person that I am, I had felt that the story lacked pace in the first half. However, as the drama unfolds, the observant viewer can note that these routine conversations and events are "hyperlinks" to crucial events in the second half.

The real hero of the movie is the script, authored by Jeethu Joseph, who is also the director. Jeethu is hardly a few films old, but has crafted a masterpiece. If he can live up to this standard, then we can anticipate a bright future ahead for Malayalam Cinema. Mohanlal, who plays Georgekutty, delivers a superlative performance, justifying the sobriquet of “Complete Actor”. Playing the common man is his forte and as in many past movies, he has played it to the hilt. Apparently the role was initially offered to Mammootty, who had declined it. With due respect to Mammootty, I believe that for this particular role, Lalettan's performance would be a notch higher. Specially watch out for the scene in which he rushes in to form a shield in front of his daughter. Meena, playing Rani and the child actors have done admirably well. The surprise package is Shajon, enacting the character of a corrupt and vengeful policeman. He is known for comic roles, but has pulled off this villainous character fabulously. Asha Sharat, as the powerful IG and aggrieved mother was another revelation. Siddique as the IG's husband has done a great job too.

The experience of watching Drishyam can be summed up in one word - Intense. The spell cast by the movie on the viewers' minds lingers on long after they leave the movie halls. If Kahaani was the Hindi film that swept away the awards last year, Drishyam will do the same in 2014. Go, watch it.

Sunday, October 6, 2013

And the nominees are…


It is that time of the year again. Newspapers are abuzz with stories of nominations for one of the most coveted prizes on earth – The Nobel. Over the years, the Nobel peace prize announcement is an eagerly awaited event. The peace prize has been the most controversial among the Nobel awards. The illustrious list of laureates consists of people like Mother Teresa, Nelson Mandela, Desmond Tutu, Dalai Lama, Aung San Suu Kyi, the Red Cross, European Union etc. The controversial awardees include Yasser Arafat, Rabin and Perez whose past records were forgotten when they were awarded the peace prize and Obama, who was awarded more in anticipation of peace than for a track record for promoting peace. The biggest pacifist who has walked the earth, Mahatma Gandhi, was inexplicably never awarded the prize, despite being nominated five times. The loss is entirely that of the Nobel institution and not of the Mahatma.

This year, over 250 organizations and individuals have been nominated for the peace prize. The nominees include Malala Yousafzai, the brave blogger who dared to take on the Taliban and was shot at, and VladimirPutin, the elected dictator of Russia for his efforts in preventing a full blown war on Syria by the US and its allies. My choice of nominees would be: Pulse Polio Immunization Campaign of India and Wikipedia.

Pulse Polio Immunization (PPI) Campaign

India had one of the largest rates of Poliomyletis, a disease that causes permanent disability. The disease has no cure, but can be prevented easily by oral vaccination. The PPI Campaign was initiated in 1995 with the aim of total eradication of Polio from India. The key stakeholders include the Central and State Governments, UNICEF, International aid agencies (USAID, JICA, DANIDA, DfID), Rotary International and a host of voluntary agencies, NGOs etc. The goal was to immunize every infant below 5 years of age twice a year. The challenges included geographical spread, cost, poor infrastructure, lack of skilled manpower, lack of safe storage for vaccines, religious beliefs etc. In 2012, on a single day, 175 million infants were administered the vaccine in over 650,000 booths setup across the length and breadth of the country. While the managers of this mammoth exercise deserve all praise for the planning and executing this gigantic project, the role played by the grassroots workers cannot be underestimated. The message of the campaign was well spread through advertisements featuring Amitabh Bachchan. Local leaders and celebrities have pitched in to popularize the campaign as well. In a country where there is a large floating population, a centralized campaign will be of limited utility. To reach out to every nook and corner, immunization was done at railway stations, inside moving trains, religious places, homes etc. The number of polio cases has drastically reduced from 32,000 in 1995 to 1 in 2012. If the momentum is sustained, the dreaded disease will be a thing of the past very soon. This endeavor is the result of co-operation across nations and contributes towards the noble cause of freedom from a debilitating disease. Truly, worth a Nobel peace prize.

Wikipedia

Knowledge is power. Barriers to gaining knowledge pose serious challenges to the upward mobility of large portions of mankind. Wikipedia was founded in 2001, by Jimmy Wales, with the aim of creating a free-content encyclopedia accessible to everyone with an internet access. The achievements are mind boggling. The site attracts 470 milion unique visitors every month, has 77,000 volunteer contributors and 22 million articles in 285 languages. Wikipedia serves as a good starting point for research into any topic on the sun – be it history, arts, economics, politics or technology. The greatness of this institution is that “it is a temple of the mind”, not a place where knowledge is available for sale. As this Wikipedia page states, “Commerce is not evil, but it just does not belong here”. In an era where anything and everything is up for sale and “monetizing” is the buzzword, this gigantic collaboration project for spreading the light of knowledge deserves nothing less than the ultimate prize – The Nobel.

Saturday, July 13, 2013

Preventing Road Rage


The traffic woes of Bangalore are notorious the world over.  When two Bangaloreans meet at a social function, the first topic that will be discussed is about the traffic jam they faced and how difficult it was to get to the venue. In many areas of Bangalore, we measure speed in Hours per Kilometer instead of Kmph. Government statistics indicate there are 4 million vehicles on the streets of Bangalore, translating to a whopping 5400 vehicles per square kilometer. The poor state of roads slows down traffic further. A natural consequence of this congestion is road rage, the aggressive or angry behavior of drivers. Thankfully, road rage in Bangalore is largely confined to loud honking, angry words and hand gestures. It has not yet degraded to shooting, stabbing and assault incidents in Delhi or freeway shootings in California. NDTV has an entire page dedicated to the coverage of road rage incidents in Delhi.

Many a time, people who would normally be less aggressive seem to lose their cool when they encounter rash driving and aggressive behavior from fellow drivers. The above goes for me too. My trigger points include - two wheeler riders trying to sneak in between vehicles and hitting the rear view mirror, vehicles getting into the other lane and blocking oncoming traffic, incessant honking when the traffic light is red etc. There are occasions when I have yelled, of course in decent language and with windows rolled up, at the offending drivers. A similar incident last week with a cab driver prompted me to think thoroughly about the meaninglessness of indulging in such outbursts.

How does one counter aggressive behavior from other drivers? Returning the aggression just worsens the situation, increasing your own blood pressure and spreading negativity all around. Bangalore Traffic Police has placed hoardings of Bangalore’s favorite icon, Rahul Dravid, to spread the message of traffic safety awareness at busy junctions. The choice of personality could not be more appropriate. In addition to being the one of greatest batsmen and slip fielders, Dravid is widely respected for being one of the best gentlemen who has played the game with great dignity. Have you observed how Dravid reacts to aggression and sledging by the bowling side? Time and again, he just turns away his glance when the bowler stares at him and hurls abuses. The abuses seem to just go over his head and in response he lets his bat do the talking. Over the years, bowlers have come to realize the futility of sledging against Dravid and largely left him alone.

We all could learn a lesson from Dravid and just ignore the aggressive behavior of errant drivers and focus on getting from Point A to B. Listening to our favorite music on the car stereo will aid us in ignoring the madness outside. Starting early for that important appointment is eminently better than resorting to aggression on the roads. A collection of simple and practical tips of preventing road rage can be found here.

In “The Greatness Guide”, author and success coach Robin Sharma gives an excellent recipe to handle inappropriate behavior from others. The solution is to “see through the eyes of understanding”. As he rightly points out, no one wakes up in the morning and schemes about how they can “mess up someone else’s day”. An abusive driver may have had a bad day at work or home or he could be a cab driver who has been given an unrealistic schedule of trips. Most of the mistakes people make are the result of lack of awareness, they just don’t know better. If we believe we are more educated and cultured, it is our task to avoid taking it personally and forgive them for they know not what they do.

Wednesday, April 10, 2013

Good Samaritans

What are the emotions that arise in our mind when we read a news piece about a patient in need of an urgent transplant surgery? Many a time, we skip over the news. At other times, we may feel sympathy and heave a sigh. Very rarely, we would make a donation of a small amount for helping the patient. While this is true for a majority of us, God has created a few Good Samaritans among us who go beyond apathy, sympathy, financial help etc., all the way to donate their organs to save the life of the needy. As in the Parable of the Good Samaritan these saviors are in no way related to the patients in need, but are awakened by a divine call to take the enormous risk of undergoing complex surgeries, hospitalization and all the associated troubles, for the sake of an unknown sufferer.
Fr Davis Chiramel, a Catholic priest from Kerala was moved to see the plight of a patient from his village, who was desperately in need of a kidney transplant. The friends of the patient were raising funds and looking to “buy” donors when Fr Chiramel intervened and stepped in to donate his kidney. The fact that the patient belonged to a different faith was of no significance to the priest. He considered that he had been “blessed with the possibility of offering his body to save a man”. After successfully saving a life, Fr Chiramel has started the Kidney Federation of India,  to spread the message of organ donation.
Mr. Kochouseph Chittilappilly, the founder of V-Guard industries has for long been a well-respected industrialist of Kerala. In the nineties, he used to be in the news for being the highest income tax payer in Kerala. He is a techie, who turned into an entrepreneur in 1977, much before it became fashionable. He had seen the plight of a close relative suffering from Kidney disease and the story of Fr. Chiramel’s donation motivated him to explore the possibility of donating a kidney. He set aside his duties as the head of a business empire and underwent the surgery to save the life of an unknown patient.  He has captured his experiences in the soon to be published book titled “A Journey To One Kidney”.
Fr Sebastian Kidangathazhe, a priest from Idukki, Kerala is following the noble footsteps of Fr Chiramel and Mr. Chittilappilly. On a bus journey, he noticed a tired youngster sitting beside him. A casual conversation with the youngster has paved the way for what could hopefully be a life-saver. The youngster, Razad is suffering from a serious kidney ailment and his only chance of survival is to undergo a transplant. After being cheated by a kidney agent, Razad had practically given up hope. In the course of the short journey, Fr Sebastian realized that Razad has the same blood group as he. It did not take him a lot of time to resolve to offer his kidney to Razad. As this Manorama news story says, just a last couple of formalities are left before the life giving transplant can take place.
What motivates these great souls to undertake these risks for the sake of strangers? Maybe they have truly imbibed the Christian values of compassion and service. It is not a coincidence that all three of them are Christians. Maybe these people have found their “Higher Purpose” or “True North” of their lives. Viktor Frankl, in his magnum opus, “Man’s Search for Meaning emphasizes that a life lived in the service of one’s fellow beings is the most meaningful one. The “higher purpose” of saving a life is what makes their suffering bearable. A much simpler explanation came to my mind when I read these stories. A subtle twist to the proverb - "God could not be everywhere and therefore he made mothers" could help to explain. God could not be everywhere and therefore he made these Good Samaritans.

Friday, March 15, 2013

We are like this only

Several years ago, before Saurav Ganguly took over the captaincy of the Indian cricket team, a popular joke used to circulate on email:
 
A couple undergoing divorce is battling out over the custody of their son. The judge probes the kid to know his preference. The kid answers that he prefers to go with the Indian Cricket team, for they do not beat anybody. The Indian cricket team has come a long way from those days and conquered many a frontier. But the joke has forever been valid about the Indian judicial system. The Indian judicial system from prosecution to implementation of justice does not beat anybody. No crime is serious enough to warrant a swift and sure justice. Criminals of all hues are roaming freely since the system moves at snail's pace. Ramalinga Raju, A Raja, Kalmadi, Salman Khan, Sanjay Dutt and Kanimozhi are just a few of the folks that are leading a free life, taking advantage of the crawling judicial system.
 
A lot of ink has been shed writing about the millions of cases where justice is delayed and denied. The denial of justice is even more pronounced when the accused is of foreign origin. Whenever the case involves a suspect of foreign origin, the entire system – police, executive, prosecution and judiciary, conspire to act in such a manner as to let the suspect escape. After the horses have bolted, there is a huge emotional outburst, TV channel debates and editorials for a couple of weeks. The emotionally oriented Indian public, including me, loves melodrama more than assertive action. After outbursts of national pride, soveriegnity, patriotism etc., the matter is forgotten conveniently.
 
The latest disappearing act of the Italian marines is made to appear like a matter of surprise and everyone from the PM to the judges are acting hurt and cheated. But, if one tracks the case from its origin, the real intentions of the establishment are very clear. Electoral politics compelled the Kerala government to put up a show of stern action against the marines. But several stakeholders like the central government, the Church and even the Supreme Court seemed to bend backwards in ensuring a safe passage to the culprits. The basic norms of bail such as not allowing the suspects to leave the country were flouted by the highest authorities. In an unprecedented move, the murder accused got bail to celebrate Xmas and to vote. After the event, some noise is made to summon the ambassador to cater to the melodrama loving Indian public. A more convincing and decisive action would have been for the court to order a suo moto case of contempt against the ambassador. There is a deafening silence on the part of the government and the court on any such decisive action. In a Malayalam TV channel debate, one analyst predicted that the worst thing that could happen to the Italian ambassador is that he will be served tea without sugar when he is summoned by the MEA. This is neither the first nor will it be the last such instance. Our history is replete with many such instances.
 
The biggest denial of justice in Inda's history happened in the Bhopal gas tragedy case. In the world's largest industrial disaster that claimed the lives of more that 25,000 people, crippled multiple generations of people and permanently damaged the environment, the erring company was let go with a paltry penalty of $400 million. The compensation that trickled down to each victim was a few thousands of rupees. The needle of suspicion points to eminent figures in the judiciary for this sell-off. Nani Palkhivala, the genius lawyer brokered the deal on behalf of Union Carbide. Amidst all the mayhem, the Indian government worked overtime to ensure a safe passage to the head of
Union Carbide from the clutches of law. Just compare this with the Gulf oil spill case where BP has shelled out upwards of $5 Billion, without a single human life being lost.
 
Another case in point is the infamous Purulia arms drop case. This case proceeded to the conviction stage, but the Russian and British governments arm twisted India into releasing the convicts prematurely. The first to capitulate were the folks that wear nationalism on their sleeves – BJP.
 
In the Satyam scam case, which has not proceeded beyond the initial phases of trial, the then Executive Director, Ram Mynampati was given a safe passage, probably because of his US citizenship. In the same case, while the US government has fined PWC for the fake audits, Indian authorities have not bothered to act against the mutinational giant.
 
Safe passage to foreigners has been a historic Indian trait. The great Indian king Prithviraj Chauhan had let go of the invader Ghori, who quietely returned with more strength to defeat Prithviraj. The same strategy was at play when India let go nearly one lakh prisoners of war in the 1971 war, without extracting a good bargain from Pakistan on Kashmir. It is not my case that the prisoners should have been killed, but definitely the position of strength could have been put to better use. Even after succeeding in the Kargil war, the safe passage rule was applied for the defeated infiltators, who have lived on to wreak more havoc on India.
 
Yes, we do not beat anybody and we are like this only.
 

Monday, January 21, 2013

Climbing the Tirupati Hills


After much procrastination, I and my wife Sudha finally made our trip to Tirupati last weekend. This is the third time we climbed the Tirupati Hills on foot. In the first instance, I felt giddy and had to take a 20 minutes nap to recover. In the second instance, I suffered cramps in both legs. Thinking back, I realized that lack of sleep due to overnight travel and lack of salts caused the giddiness and cramps respectively. So, this time I ensured that I reached Tirupati early enough to have a good night’s sleep. I had a good breakfast and started the climb at around 8:30 AM. To prevent cramps, we took frequent sips of water mixed with Electrobial (Oral Rehydration Solution). The initial part of the steps is very steep. For a person like me, who leads a sedentary lifestyle, the climb was very challenging. The simple formula I used was to take a few minutes of pause after every 100 steps. It is during these trips that I have realized the real meaning of the phrase “uphill task”. After nearly 2000 steps, the slope is less steep and the journey becomes smooth. The final phase again becomes very steep and challenging and the overall fatigue adds to the difficulty.  We covered the 11Km climb from Alipiri to Tirumala in 4 hours, which is the fastest we have done so far. Towards the end of the course, there is a lamp where camphor is lit and the feeling when one bows before that can be summarized in just one word – “divine”.

In all my trips I have noticed that during the steep climbs, the air is filled with chants of “Govinda” from the devotees, including me. But when we reach the level roads, we break into chit-chat with each other and resort to munching, only to get back to chants once the climb becomes steep again - a perfect analogy to life in general. During the tough phases of life, we seek the Lord ardently and when troubles ease, we forget the Lord, only to be jolted back into devotion when life springs unpleasant surprises.

The TTD administration deserves all credit for the excellent construction of a canopy over the entire length of the footpath and concrete pathways, so that pilgrims can climb comfortably in rain or shine. At the “Gali Gopuram”, there is also a counter to issue Darshan Coupons, so that the pilgrims climbing on foot have an easier and faster Darshan. Please make use of this opportunity, since the other modes of Darshan can get more time consuming.

After spending several hours climbing and more hours jostling with thousands of fellow devotees in the queue, one gets the glimpse of the Lord for less than a minute. But those seconds give the ultimate joy and provide the energy to undertake the uphill journey that is life.

Saturday, December 22, 2012

Debug Stories

What is the most challenging aspect of a Hardware Engineer's job? Is it the creation of a functional specification for a board/system from sketchy or non-existent customer requirements? Is it creating and reviewing the schematics based on the functional specifications? Is it taking the schematics through CAD and Signal/Power Integrity simulations? Does the excitement during board bringup beat all of the above? Or is it the creative tension (:-)) during software-hardware integration that is more challenging? Undoubtedly, all these activities are what we Engineers seek to do over and over again in our careers. But this piece is about the activity that gives the ultimate adrenalin rush and delight – the act of debugging, especially under the constraints of an impending product launch or worse still, a production-stop situation. Debugging complex issues requires us to summon all our knowledge, gather data, analyze data, root cause the issue and implement a fix. It is no exaggeration to liken the debug process to a detective solving a complex crime or a doctor diagnosing/curing a disease.
The first phase in the debug process is denial. Most Engineers are very possessive about their designs and believe that they can do no wrong. When a bug is reported by a customer, the initial impression is to attribute it to wrong software programming, incorrect usage of hardware, exceeding the recommended operating conditions and what not. Many a time, the bug could be due to one of these reasons. But this is not always the case. There ain't no such thing as a perfect design and there could always be a corner case not taken care of by even the best of designers. Once the designers get convinced that maybe the bug report is genuine, the next major hurdle is to replicate the problem in the lab. More often than not, the biggest challenge is to replicate the problem well enough so that we have sufficient number of observations and data to chew on. Experience tells us that a problem that is repeatable is solvable. After the problem is repeated enough times and data (waveforms, register dumps) is gathered, it is time to go through these with a fine toothed comb to identify a pattern and march towards an eventual solution. Sometimes, the Engineers involved in the debug exercise get too much caught up in the maze that they miss the way out. In such situations, bouncing the problem and observations with a colleague who is not in the debug team is a very effective idea. The colleague could throw a lead that could help you to find the solution. The key ingredients for a successful debug are disciplined experimentation, recording/documenting observations, data analysis and many times, an idea flash based on gut feel. The preferred “solutions” are to identify software workarounds, component value changes and if all else fails, recommend a hardware revision. Remember never to waste a crisis – the lessons learnt from the exercise should be formally documented and incorporated into future projects.
In the course of my career, I have been very fortunate to be part of many debug exercises - some exciting, some mundane, most with a happy ending, a few unsolvable . There are too many to recount, but a few instances came to mind when I sat down to write this blog. In describing the instances below, I have deliberately left out company names, product part numbers and intricate technical details, in the interest of not disclosing confidential and proprietary information. But, it would be intellectually dishonest to not disclose the names of the colleagues who participated in these sorties.
 
Story #1: Waking Up Blues
 
Power management is a mandatory feature in modern day systems. In this project, the System-On-Chip (SOC) is programmed to enter a power down mode when there is no activity and to wake up when it receives a packet over WiFi. The WiFi card is interfaced to the SOC via PCI Express (PCIe). You can trust a Japanese customer to do the most rigorous testing that can uncover any corner case bug. The customer had 1000 systems banging away in the lab just before field deployment. Sixteen of these systems crashed when they were exiting from the power down mode on arrival of WiFi packet. You can also trust the Japanese customers to generate tons of data for analysis. When the bug report came in, we went through the usual denial and eventually understood the criticality after going through the data set. Gokul, Sumant and I tried to replicate the issue, first with WiFi and then with Ethernet packets as the wakeup events. Despite many attempts, the problem eluded us. Then we struck upon the idea to use a simpler scenario – use a timer interrupt as the wakeup event. By structured experiments, we found that the crash happens when the wakeup event occurs too close to the power down event. The power down event takes a few clock cycles to complete and during this critical window if a wakeup event occurs, then the wakeup process is not graceful and causes system crash. With the problem repeated, it was time to propose a solution. The only way to avoid the crash was to block wakeup events during bthe critical window. The channel for the wakeup event was PCIe. A crude solution was to reset the PCIe serdes link just before entering the power down mode. Since the link takes some time to recover, a WiFi packet would not find its way into the SOC during the critical window. But, this could lead to loss of packets. The Japanese are intolerant to crude fixes and insisted on a “proper” solution. At this time, Sumant and I described the problem to Shibin, who is the guru of intuitive solutions. He pointed us to the L0s power down mode of PCIe. This introduces an inherent latency when the link exits from power down, thereby ensuring no wakeup event during the critical window. Sumant and Santosh travelled to Japan to demonstrate the solution. The customer had no issue in accepting this solution since it used a documented protocol feature, resulted in no packet loss and avoided the crash. As an added bonus, the L0s mode gave extra power saving. There is nothing more elegant than a proper Engineering solution. In the final stages when Sumant and Santosh were testing out the solution in Japan, I had boarded a flight to Paris. On reaching the airport, I received the text message that the solution is working and accepted by the customer and my joy knew no bounds.
Eventually, Shankar and Swati identified the design bug in the power management controller, again after painstaking efforts.
 
Story #2: Brushing up the laws of Physics
 
Pressman's book on power supply is dedicated to the “Power supply designer, the unsung hero of system design”. Well, it is no exaggeration. The design, testing and debugging of power supplies requires us to summon all our knowledge of Electronics, Electrical Engineering and many times, even fundamental Physics. More than half a decade back, Portable Media Players (PMP) were starting to gain popularity, before Smartphones drove out that entire market segment. We had designed a form-factor ready PMP reference design that was intended to be demonstrated at the CES. Just a couple of weeks prior to CES, the battery based SMPS was not working properly when on full load. I and Ambudhar had designed the circuit and the guidelines in Linear Technology Application Note were followed to the dot, or so we thought. Ritesh, who had recently joined, has deep expertise in power supply design (among many other things). After several intense debug sessions, Ritesh identified that the inductor core was saturating due to the excess current and this was causing the inductor not to behave as one. The challenge was to get an inductor with a better core. The usual sources such as Digikey and Mouser did not have the required inductors in stock. The lead time was too high to get a custom inductor delivered. Ritesh came up with the idea of hand -winding an inductor, provided we could get the core. A search showed a Hong Kong based company that had the required ferrite core in its catalog. I made a frantic cold call to this company and to our surprise the gentleman agreed to send us tens of cores as samples. As luck would have it, the parts arrived on Fedex priority in no time. But the challenge was that Ritesh had to travel to Mumbai for his wedding. It was a real delight to watch him wind the copper wires on to the cores, just in time before he flew out. I and Ambudhar continued the debug, constantly checking with Ritesh on the phone. By the time Ritesh reached his home, we had tested out the full load case successfully, with the inductor finally starting to behave itself. :-)
 
Story #3: No level playing “ground”
 
This story happened a decade and half back, but is still very vivid in my memory. From the very beginning of my career, I had realized that hardware engineers are from Mars and software engineers from Venus. The thought processes and approaches to problem solving are quite different, and rightly so. The fun part is the buck passing when things go wrong. The software guys think that their code is perfect and the fault lies with the hardware and the hardware guys reciprocate the same feeling. The procedure we had was to test a board fully using test scripts developed by hardware folks and hand over the boards along with the programming considerations document to the software team. Often the recommended programming values/sequences or even board handling instructions are violated resulting in unexpected crashes or even board damage due to ESD issues. Tensions, escalations, delays ensue until finally the folks from the different planets converge at the lab bench to jointly debug and resolve the issue. A tested terminal controller card was handed over to the software team for code development. After a couple of days of struggle, the software team returned the board classifying it as dead-on-arrival as the UART port was not coming up. The hardware engineer took it to his setup and his diagnostic tests passed. With the ball back in their court, the software folks reluctantly reviewed their code, but still the problem persisted. Enter Rajendra (aka RK), whose debug style is unique. He needs practically very little data to zoom into the solution. After receiving a quick dump of the problem, he took a multimeter and measured the ground difference between the PC's COM port and the Controller card. A large difference meant that the signals were not being understood by the PC and the Controller card. RK surmised that the earth connection of the AC mains socket to which the software guy's PC was plugged into had a connecivity issue and with the Electrician confirming and fixing this, a level playing “ground” was established.
Many other stories come to my mind – the idle channel noise and echo canceller debug with Jayaram, PMP hang issue debug with Ambudhar, the many Quicc Engine debug episodes with Sumant and the IEEE1588 debug with Venkat and Pawan. More on these in a later blog.
For an excellent reference on the essentials of debugging, check out this article by Prof Terence Parr.