Friday, February 13, 2015

Ascertaining Person Behind the Voice Seamlessly

Background

When I transact online today, there is always a need for me to authenticate myself. Be it to see my mail, be it to check my account balance or order a pair of shoes for my son. If the mortar days, you visited an enterprise between a fixed working hours, at a specified location and interacted with a set of people representing the enterprise in person. The only form of authentication would be your signature or your thumb impression; however informally the authentication would be at a deeper level. For one the person representing the enterprise actually got to look at your face, your body language and spot if anything was amiss. The signature or the thumb impression on a piece of paper was more of a formal book keeping exercise, just in case it was required in future to verify a transaction.

As the enterprises broke the barrier so as to allow their customers to do anything anytime, it was welcomed with wide and open arms by everyone. It was convenient; one did not have to travel; did not have to plan to visit during a certain time to do a transaction. But this came with one major problem; how is the person on the other end to be authenticated. It started with choose what ever you want as your password, if one transacted on the web, but very soon went on to put several restriction on what could be your password – can not be a dictionary word, use atleast one number, use capital letter plus a number, atleast 8 digits. All this to make sure no one else impersonated and tried to transact as you. When people questioned, if I was transacting with the enterprise that I want to transact with actually gave raise to two factor authentication and so on. Strong, unambiguous, robust authentication was required because there was no physical presence that was one of the main aspects of a mortar transaction.

As the digital space widened, people presence in the digital space increased. People has to remember several passwords. They had two options, keep the same password everywhere and ride on the risk of lost password would unlock all your digital space or have a different password and stand the risk of forgetting passwords. What if one used something very specific to oneself as the password? Then there would be no situation of a forgotten password because one did not need to remember it anyway. Step in biometrics. Biometrics became popular, when in doubt one popped up a question related to you, like your date of birth or you place of birth or your mothers maiden name – use of biometric was and is still used effectively to retrieve our forgotten password.

I like to Talk

Though there are several digital channels, like, telephone, email, web FAQ and SMS that allow a customer to interact with an enterprise. Some studies indicate that a majority of the customers choose the telephone channel to interact for any customer care support. Especially customers like to speak to the human-agent (see Figure below).
Customers like to speak to the agents!
Figure 1. Customers Like to Speak to the Agent!

Further it has been observed that there is a higher customer satisfaction for a phone based interaction (see Figure 2) compared to other existing interaction channels. While there could be several reasons for this, it is not hard to guess the possible reasons for a higher customer satisfaction in a telephone interaction channel
  • Telephone channel is more personal,
  • Telephone channel enables live and real-time interaction with the agent at the other end.
  • Speech is the most natural mode of communication to sort problems
  • It is a synchronous transaction
  • Closest to a face to face interaction.
Figure 2. Customer Satisfaction

When you transact on the telephone two things happen, you are doing your transactions live and in real time and at the same time you are not bodily present with the person serving you. So the person representing the enterprise has to ascertain that you are indeed the person you are claiming to be without actually getting to see you – authentication became very crucial. The telephone channel of communication meant that your voice is the only cue he can sense as he interacts with you.
One of the easiest thing to do, which was done by several enterprises and which continues to be done was to ask for your data of birth, which you either spoke or entered through the DTMF of the telephone keypad. The person on the other side heard your biometric information and compared it with your data that was available with the enterprise to ascertain that you are indeed who you claim to be. While this was good, it was not sufficiently robust, what if people somehow get to know your date of birth and used it to impersonating you to gain access to your information. Additionally, enterprises started looking at technology that allowed their customers to help themselves rather than have them speak to a human agent. The presence of technology and the cost implications probably were the two main reasons to go the self help way.

Help Yourself

Self help allowed you to interact with a machine, except that the machine drove the interaction. Popularly called the IVR based self help systems. “Please choose an option. Press “1” for .. Press “2” for ...” and it responded to key presses; when there was a need to authenticate you it asked you to use the telephone keypad to enter your date of birth in a certain DDMMYY format.
However this interaction was unreal without a human touch, guess we missed our natural instinct to speak to resolve a problem! Eventually you found that there was a Press “9” or a Press “*” to talk to our customer representative.
What started off from the enterprise perspective to allow you to help yourself and there by lower the cost of having an actual human talk to you failed to take off; when people had to use the self-service because of long wait in the queue to speak to the agent they did so but grudgingly and the customer satisfaction plummeted.
Although self help channel still existed, it was the conversation with the call center agent that was more popular. Enterprises jacked up their infrastructure, tried to find ways to reduce the transactional time so that more customers could be serviced in the same amount of time etc. Could Speech recognition technology help?

Talk and Help Yourself

Speech recognition technology made it possible for you to speak to do your transaction. The idea was that the machine which was interacting with you still took hold of the interaction but it allowed you to speak rather than ask you to press the DTMF key on the keyboard. So instead of “Press 1 for …. Press 2 for ...” you now were asked “Speak /cheque/ to order a fresh cheque book. Speak /account balance/ to know the balance in your account”. This was far better than the Press “1” for …. kind of self help.
One of the very important prerequisite in this kind of a voice based self help was the need to authenticate the speaker based on his or her voice. Enter Speech biometrics.

What is in What I Speak

There are essentially three components that are embedded when we speak. When I speak /good morning you are reading my article/ there are three things that can be sensed by the listener. The firs is the content of the speech, namely the text that I spoke (“Good Morning. You are reading my article”).
The first is the Linguistic information, which is primarily what is said. It could be the language in which it was spoken (English in this case) and gives an idea of what was said (the equivalent of speaking a written text).
In addition, it also carries some non-linguistic information like who spoke (me in this case!), how I spoke (hopefully pleasantly!), what is the emotional state of mine when I spoke it, gender of the speaker, the accent, the articulation clarity. Some of these are purposely added by the speaker and hence are controllable while some are inherent to the speaker and can not be purposely be controlled by the speaker.
Speech biometric exploits to a large extent all the non-linguistic information in spoken speech to ascertain the identity of the speaker. Essentially, there are two broad ways in which speech biometric is used, one is in the form of speaker verification, while the other is speaker identification.
Speaker verification is the process where the speaker claims he is X and the system uses an a priori model of the claimed person to verify the genuineness of the claim. The system measures the closeness of the speakers speech to the model of speech associated with that speaker and if the speech is close (based on a preset threshold) it validates the identity or denies validation (forgery). In a speaker verification system, the decision is binary in the sense that once the speech of a speaker is compared to the speaker model the decision is one of YES or NO. This decision is usually based on a threshold value. The choice of threshold is determined by the type of application. Primarily there are two contradicting measures which have to be kept low for the success of a speaker verification system, namely false acceptance ratio (FAR) and false rejection ratio (FRR). While the FAR refers to the percentage of forged attempts that have been validated by the system, FRR refers to the performance of the system as not being correctly able to validate genuine users. The choice of threshold has opposite effect on FAR and FRR. A choice of threshold might minimize FAR or FRR and not both simultaneously. In brief, a threshold which has a good effect on FAR (lowering) has the reverse effect on FRR (increasing) and vice-versa. A very secure system would choose a threshold such that it would have zero tolerance to FAR at the cost of an increased FRR (rejecting genuine speakers).
A quick browse of Wikipedia tells that, speaker verification systems come in various forms based on the amount of security that is expected from the verification system. Broadly we can categorize the speaker verification systems into four categories, namely, (a) Fixed Phrase system where a pre-determined phrase is used for verification, (b) Fixed Vocabulary verification system is more flexible and practical; training and testing materials for a speaker are generated based on words of a fixed vocabulary. The user speaks the words or phrases from this vocabulary both at the time of enrollment (or training) as well as when testing. (c) Flexible Vocabulary system use a general set of sub-word phone models which are created during speaker model training (d) Text-Independent system, where the user is not constrained to say fixed or prompted phrases. He has the freedom to speak anything and the system works by extracting the speaker characteristics from the spoken utterance. Clearly, both complexity and security increases as we go from fixed phrase to text-independent.
On the other hand, speaker identification is the process of identifying the person behind the voice without the person specifying who (s)he is.. For example, in banking scenario, if the banks customer base was N unique people, then when a user calls, a speaker identification platform would have to first determine if the speaker is one among the N people that it knows and then if the person speaking is one of the N then it has to identify which of the N is the speaker. This is essentially a problem of choosing one among the N+1 possible identities. N for the people and the 1 represent not among the N people!
Clearly, speaker identification is more challenging technologically than the speaker verification system; as a result most forward looking enterprises are looking at speaker verification system only.

Using Speech Biometrics

Services as an industry has had a significant growth in the recent times. With this growth there has been a need to service a large number of clients which is on one hand very important but on other hand a significant cost to the service industry. Many service industries have tried mechanism so as not to dent the customer satisfaction while trying to minimize the cost of providing a channel for its customers to interact with them. Automated self help based solutions are the front runners and the telephone (IVR) channel is the most sought medium of interaction.
Enterprises can provide personalized and accurate information if they know whom they are servicing and one of the non-intrusive method to identify the person on the telephone channel is through spoken speech. In this context speech biometrics becomes very important.
Speech signal as a biometric is gaining significance in recent times. Speech biometric is probably the most non-intrusive and natural biometric to verify the identity of a person. The use of speech biometric even in the speaker verification mode is plagued by the well known fact that it is not cent percent right cent percent of the time (specifically when only speech is used as the cue). So there has been certain reluctance to use it in practice. However there has been several commercial speech biometric solutions available in the market claiming usable accuracies of verification, in almost all the cases they use more than the speech cue to verify the identity of the speaker. For example, one of the important cue would be the need for the user to authenticate himself only from his registered mobile phone number.
Irrespective of the performance accuracies of the speaker verification system based on the speech cue, most implementation today speak of replacing the authentication process by speech biometric system. For example, today when I call a service provider, after the initial welcome message (“Welcome to …, How may I help you today?”) you are posed by a simple looking question by the human agent (“Am I speaking to …... can I know your date of birth please”) which is what is used to verify my identity.
In a self help kind of a scenario, the authentication is much more direct. Sensing my registered mobile number, the system knows who I am supposed to be; the system blurts out “Please speak your password”. I speak my password, most probably a password that I resisted with my service provider. If I am verified I am allowed to do the rest of the transaction else I am asked to leave or if the service provider is courteous I am put in a queue to be helped by a human agent.
While there is nothing wrong with the use of speech biometric as a replacement for the actual human authentication process. Clearly, there is a customer dissatisfaction, imagine a machine refusing to identify me and then putting me in a queue to speak to an agent. If this happens several time (two to be exact!) I will not opt for anything other than speak to the agent!
The question is can I use speech biometric, with its known problems of not being accurate all the time such that it is transparent to the user so that (s)he does not get a feel that (s)he is being verified at all.

Invisible Speech Biometrics

There are two things that happen when one used speech biometrics in the form that it is envisioned to be used. It not only disturbs the flow of interaction, the speech biometric authentication step stands itself as a process (eating away precious time to just authenticate the speaker); additionally (a) it is a point authentication, meaning the authentication happens at one given point of time (what if the phone changes hands after the initial authentication?) and (b) there is a customer dissatisfaction if the speech biometric system fails to recognize a genuine user. Can we do better?
The author in his ignorance, anticipates the use of speech biometric to handle all the drawbacks of a regular speech biometric system (see Figure 3). The idea is that of continuous authentication from the beginning till the end of the call there by eliminating an explicit “authentication process”. See the marked “Time Jump” in the Figure 3; which means there is no need to explicitly have an authentication phase in the call interaction. The continuous, in the background speaker verification means that the process of authentication is invisible to the customer and hence the chance of dissatisfaction does not arise. The third issue of phone changing hands in midst of the transaction could still be identified.
Figure 3. Continuous Authentication

Additionally this process of invisible, continuous speaker verification means that the enterprise can still give me access to certain things even if it verifies me with with low confidence – for example if my transaction is just to verify the change of address that I had sought … then the enterprise can give me the information even if it does not verify me with high confidence … but when I want to transfer some money it might want to be able to verify my identify with higher confidence. This gives the enterprise the scope to only verify me when it is required but also decide what degree of confidence is required for what kind of information.

Conclusion


Speech biometric can really make inroads into actual use if it is used with its known limitation and the understanding of the positive or negative impact that it can have on the user. The speech and natural language team in TCS Innovation Labs – Mumbai is exploring on how best to provide a speech biometric into an already existing setup where one could avoid the point authentication process by continuously verifying the speaker. We believe a continuous rather than a point authentication is going to be the way forward because it addresses the challenging that come with the current though process in implementing speech biometric in a call center or otherwise.

Friday, September 05, 2014

(TL)ea(cr)(hn)ing


(TL)ea(cr)(hn)ing


The title (TL)ea(cr)(hn)ing is by intention. Without rubbing much of our brain it spells out Teaching and Learning in a single line.

Teaching and Learning are two sides of the same coin. Someone not so famous said, can I learn without teaching and can I teach without learning. Guess you learn even more as you teach and you teach only when you learn.

Learn anytime, anywhere is the current trend with all those online courses being made available. Initially it was just the digitization of mortar courses and not it is using multimedia to stream the concept. People say that we have moved from a stance where it was bookish and limited to a few to a more open leaning system which is available to almost anyone and most of the times “free”.

I still believe in a Guru shishya kind of a setup, where a student served the guru and in return may be he was imparted knowledge. The amount of effort that a student put in, in some sense displayed the thirst for knowledge and when the knowledge was imparted it was absorbed in spirit and body. I wonder if the leaning that the students derived would be as intense or as absorbing if the knowledge was imparted the day the student joined the guru. Today the stance is you have information (not knowledge) on the platter, it is for you to absorb the knowledge, you absorb the quantum which is determined by your focus and need.

Information is available and not knowledge is a fact. The upside of this is you have so many sources of information – but to try and find the information that is backed by an expert is often not considered. Just imagine a learning material put up by a person on effective cooking who has never cooked! The other aspect of this is that when there are several choices you need to appropriately select and quench your thirst for knowledge. In the good old days it was the teacher who did that; she acted as the funnel; disseminating information appropriately. If you were a bright student probably the outlet of the funnel was larger else it was smaller. Today in the online learning this important aspect of funnel is missing.

The anytime anywhere extension of the knowledge learning has a problem in a very different dimension. Discipline. 0830 morning lecture means I need to be in the classroom at 0829 and I plan and be there. But the anytime anywhere makes you less disciplined. If not now I can learn later, may be after a delay of 30 minutes, 1 month, 1 year of never! But the aspect of discipline is definitely at risk. While there is a notion that online and non-mortar courses are free a fiercely detailed person would immediately suggest that there is a cost involved in terms of data download and power used to run your device etc. My personal opinion as far as learning is that When you put effort - time and money you usually learn better.

Appropriateness of information. There is too much of material that might not be applicable globally. While I can not think of something in the college learning, I recall buying a book for my toddler son. Guess it was on learning manners or something equivalent, and when I was on the page that spoke about manners on the road, it said “always walk on the right side of the road”. Well it was a right statement expect that it was correct for the countries that drive on the right side of the road and not on the left like what we do in India. I immediately discarded the book. But the learning from this is “use local material” to (TL)ea(cr)(hn)ing.

My own vote is for classroom teaching (I do miss the chalk dust; the screeching noise of the chalk on the blackboard). The aspect of group learning is much much different than learning in silos. The questions being answered almost immediately versus the need to search for answers when you take an online course are some of the reason.

Learning for marks or certification is probably “just sufficient” learning so that you get the certificate or pass the exam. But the real learning will only happen when there is no pressure of marks or a need to get a certificate.


Happy Teachers Day.

Sunday, July 06, 2014

What is in a name? Number?


When we wanted to name our son, we did a Cntrl C Cntrl V (Cut-Paste) from our names and made up a name and thought that we had come out with a brilliant idea. The Cut-Paste worked well for us to get to a name that was (a) very simple, (b) easy to spell, with just five alphabets. No surname just the name. By the way we did get his passport also with just his name!
SUnilnaMITa

It is another thing that it was not very visible that our names was hidden in our son's name so we had to tell people we knew specifically how we had named our son. While some said we were lazy, some others took a cue and tried to name their new born the same way. So there were some compliments and there were some jeer. When we told our son about the way he was named, he insisted that he was not sure he liked his name! 
However as far as I was concerned. I was under this illusion that we had done a great job by thinking of a CntrlC-CntrlV name.
This was some twelve years ago.
My tweleve year old son came to me the other day and asked me, 
“Can I please have a personal email account?” 
He insisted that it be a gmail account, not very sure why though.
After a while I figured out that it was not possible to get an email account which just had his “name”. Probably it was taken. While I tried several options and thought that “name.eman” which incidentally was available; was a fantastic idea. But as should be, he was not keen on a 2 times cut-paste name. Finally he chose “name.school_name” as his email. You see he loves his school!
Set me thinking will there be a planned name in which parents will choose their kids name? I my sincere guess is yes. What will the choise depend on? May be the availability of an email address?
Couple of years ago, the name of a child, especially in India, was constrained by several beliefs. A name definitely had to have the 
  • family surname, 
  • the family deity name could not be left out and displease the gods; 
  • well known ancestor's (grandparents) name was deemed good to have, 
  • village name so that people knew where you came from, 
  • profession and 
  • what not
after making space for all these, one included the -real- name by which the kid would be called. 
This method of appeasing all meant the names got pretty long and in a way unique. The upside of this in the age of internet was that it allowed one to obtain a login of your choice on any e-commerce site that you wanted to including an email account! 
However over a period of time the general trend was to shorten ones name. People questioned, why should I carry my profession in my name? Why should I have a deity’s name in a name etc. This ended up making the names shorter which in turn makes it less unique.This was alright before the internet, email, e-commerce were popular. But now with turn in increased e-commerce activity, one needs a unique name to transact.  Else you will need to choose a name with numerals which does not look all that representative of a person!
This set me thinking, will parents now work on a different set of constraints to name their children? Will naming of children be a -new parents- dilemma?  Short or long name?
  • Will it be based on some uniqueness metric? 
  • Will it be based on ones ability to get a decent name space in the digital space (so that one can get a gmail, a facebook account or a twitter handle)[*]? 
  • Will names be auctioned? The ones that can get you a nice email address would cost more?
[*] assuming that people want to use their real names even in their virtual world. 
Or will all of us be reduced to a set of numbers? Like your employee number, your bank account number, your UID/SSN? May be a  universal identification number. The first two digits to signify the nation, the next two to .... and the last x digits represent you.

Atleast kids will not crib that I do not like my name! Or will they say, Wow. My number is a prime? 

Thursday, June 26, 2014

How do I Choose my Undergraduate (Engineering) Project?

Let us face it; all of us as undergraduates have faced the dilemma of what project I should choose as my final year Engineering project.

Recently I was asked this question by a respected faculty of an Engineering College in Mumbai. "Can you please speak to our final year students on how they should go about choosing their final year projects?"

I was not too sure if I knew myself what was a way, leave alone the best way, to choose a project. As I gathered my thoughts, the first thing I figured out is that it was not a synchronous process which could be put as a sequence of slides.

Here are my (not so comprehensive) thoughts in a picture :-)


 Am sure there is a bias towards the work that I do, however this picture (created as a MindMap using freeplay on Ubuntu and exported as jpg) should enable a final year engineering student ask the right questions to converge onto a project (s)he would love to do.

Good Luck.

Tuesday, May 06, 2014

Online Trading - Phone is mightier than Web!

"Can you invest in L&T Emerging Business Fund? It is a NFO and the last date is tomorrow" asked me.

I thought it should be a zippy thing to login to my trading portal and click a couple of buttons and it should happen. And I had not bothered to acknowledge the existence of telephone trading. I found that I was wrong; we are not yet done away with the mighty telephone. Read on ...

I login to my trading account portal. After a little navigation I find that there is no option for an NFO under the L&T AMC. I do the next best thing .. start a chat. The chat is slow but finally I conclude that the only way this order can be placed is through telephone. I ask for a number and he chat "append your local area code and dial 3*5*3*6*". Is there a 1800 number I chat back? "No sir this is the only number".

I dial 3*5*3*6*, choose "1" for English option, the first thing it asks me type in a TPIN which I do not have (thought I would only use the Web!). Luckily I trace back on the IVR and get to an agent.

Agent, "Do you have a TPIN. No? I will help you generate one. Tell me your DoB".
Me,"19xx"

I am now in a three cornered conference. Me the agent and the Computer (IVR).

The IVR asks, "Enter your DoB"
The agent enters this for me! (saves my time!)
IVR,"Choose a 4 digit TPIN"
Agent,"I will go offline you can choose a TPIN"
Me,"DTMF, DTMF, DTMF, DTMF"
Agent, "You will have to type in again" (not sure if the agent was listening to my DTMF!)
Me, "DTMF, DTMF, DTMF, DTMF"
Agent, "Now you can tele transact"
Me, "Thanks".

Now the IVR puts me in touch with another agent. Who helps me carry out the transaction. As I wonder how they can confirm that I had actually asked for this transaction ..

Agent,"Please confirm. You requested for blah blah ... Do you confirm"
Me, "I confirm the transaction"
Agent, "Thank you. You transaction number is *****"

End.

This could have been done much better on the Web. Unfortunately, this particular NFO was not listed on the portal of this trading company!
 

Wednesday, April 02, 2014

Datasets

Datasets

Def: A dataset is a collection of data or a dataset consists of all of the information that needs analysis, generally the data is gathered during a survey.
 
You have great idea. You want to conduct some experiments. You collect your own data, test your idea and report results. Most often the data collected locally is small (to suit your experimentation).

You submit your results and then there is a comment from a reviewer saying that  (a) your experiments have not been tested on a large public datasets and (b) you need to compare your results with existing literature.

You can address (b) by implementing the existing algorithms and then running these algorithms on your small dataset. Obviously more work (need to implement an already known algorithm!) without much returns.

Use of publicly available datasets is a a good idea. It addresses both (a) and (b)!
  1. You get to test you idea and experiment on a large public dataset
  2. You can compare your results with existing literature (assuming that they have also reported results on the same dataset)
Here are a list of datasets that can be of use
All said and done, as a user of these datasets one should also strive to create datasets and put them up for public use!

Thursday, March 06, 2014

Digital Commo[n(on)]sense

Scene: Checked into a 5* in Mumbai, India. Want to try out the WiFi. A screen pops-up and asks for room number as the userid and surname as the Password. I try and get, "Invalid room number and Password Combination".

My inference (illlogical) the hotel chaps must have goofed up my surname. I know my room number, I know my Surname!

My Action 

Me: Dial 0
Reception: How can I help you? ...
Me: Looks like there is a cross talk
Reception: No Sir, there is another girl laughing outside.
Me: OK. The WiFi login page .....
Reception: I will connect you to the IT department ...
Me: Hold .......



IT: Sir, you had a problem with WiFi .. can I help you.
Me: Guess my surname has been spelled wrong ...
IT: No Sir.. Please try to login ..
Me: Surname ...
IT: Please try sir, I am looking at the logs ... (creepy!) I will hold on

Me Trying: 636,

IT:Sir, you entered your surname wrong.
Me:What? I know my surname!
IT: You missed the second p the second time, Sir.
Me: Uhmm .. what is my surname!
IT: Spells it out --PP-R-PPU ... you did not type the second P
Me: Stunned.
IT: Please try giving the second P.
Me: Still Stunned. But that is not my name!
IT: Then I can not help you, you should contact the reception "0".
Me: That is what I did!

Me had a hearty laugh :-)

Friday, February 07, 2014

Exam Papers

Exam Papers

 

  1. [2013] International Math Olympiad also called IMO is conducted by SOF. Generally they have a first level qualifier; which allows students to write the second level IMO. This second level Previous Question Papers for VIII (Question Papers) standard might be useful. 
  2. [2013] International Science Olympiad also called NSO is  conducted by SOF. Generally they have a first level qualifier; which allows students to write the second level IMO. This second level Previous Question Papers for VIII (Question Papers) standard might be useful.

Monday, November 04, 2013

Converting a Panoromic Image into a circular Image

rect2circ.c is a small piece of C code based on OpenCV to convert a panoramic image into a circular image. My idea was to convert a speech signal recorded for a long duration of time continuously

to be represented in a way the time during which it was recorded. In the below image it is between 10 and 5.
While this is simple, I did not find anything readily available and hence write this small piece of C code using OpenCV. The usage (when compiled) is
Usage: ./rect2circ -> an input rectangle image -> output circular image -> start time (0 .. 12) -> number of hours (0 .. 12) -> inner radius (0 .. 200)
The source code.
/*======
Convert a panoramic image into a circular image.
La updated by Sunil Kumar Kopparapu at 21/10/2013 (23:07)
===== */

#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include "opencv/cv.h"
#include "opencv/cxcore.h"
#include "opencv/highgui.h"

#define FAIL -1
#define DISPLAY 0 
#define COMMENT 0 
#define my_min(x,y)(xy?x:y)
#define PI 4*atan(1.0)
#define a_RADIUS 100


int main(int argc, char** argv) {

IplImage *im = 0;
int height,width,step,channels;
uchar *data;
int i,j,k;
int out_height;
int c_x, c_y, X, Y, x, y;
int radius = -1, my_radius, a_radius;
double span = -1.0, start = -1.0;
double i_span = -1.0, i_start = -1.0;

IplImage *out = 0;

if(argc != 6){
  fprintf(stderr,"Usage: %s     \n", argv[0]);
  fprintf(stderr,"\t  -> an input rectangle image\n");
  fprintf(stderr,"\t  -> output circular image\n");
  fprintf(stderr,"\t  -> start time (0 .. 12)\n");
  fprintf(stderr,"\t  -> number of hours (0 .. 12)\n");
  fprintf(stderr,"\t  -> inner radius (0 .. 200)\n");
  return(FAIL);
}

im = cvLoadImage(argv[1], 1);

if(!im) {
  fprintf(stderr,"Unable to Read %s\n",argv[1]);
  return(FAIL);
}
else {
  height    = im->height;
  width     = im->width;
  step      = im->widthStep;
  channels  = im->nChannels;
  data      = (uchar *)im->imageData;
  fprintf(stderr,"Processing %s, %d x %d image with %d channels\n",argv[1], height, width, channels);

  if(DISPLAY) {
    cvShowImage("Original", im);
    cvWaitKey(0);
  }
}

/* Create the output image */
a_radius = atoi(argv[5]);

if(a_radius < 0) a_radius = a_RADIUS;
radius = (a_radius + im->height);
i_start = atof(argv[3]);
i_span = atof(argv[4]);

if(i_start < 0.0) {
 i_start = 0.0;
}
start = 2.0*(i_start/12.0)*PI;

if(i_span <0 .0="" adius:="" argv="" channels="" d="" f="" fprintf="" i_span="12.0;" if="" image="" ipl_depth_8u="" n="" out-="" out="cvCreateImage(cvSize(out_height," out_height="" radius="" reating="" s="" span="" start="" stderr="" with="" x="">height, out->width, out->nChannels);
fprintf(stderr,"Clock display starts at %.2f and displays for %.2f hours\n", i_start, i_span);

c_x = (int) (out->height/2);
c_y = (int) (out->width/2);

if(COMMENT) fprintf(stderr,"center: %d %d\n",c_x,c_y);


for (x=0; x< im->width; x++){
  for(y=0; y< my_max(1,im->height); y++){
      my_radius = radius - y;
      X = my_radius*sin((((float)x/(float)im->width)*span)+start);
      Y = my_radius*cos((((float)x/(float)im->width)*span)+start);
      X = c_x + X;
      Y = c_y - Y;
      for (k=0; k< my_max(1,channels); k++){
      out->imageData[Y*(out->widthStep) + X*channels + k] =im->imageData[y*(im->widthStep) + x*channels + k];
    }
  }
}


cvSaveImage(argv[2], out, 0);

if(DISPLAY) {
  cvShowImage("Output", out);
  cvWaitKey(0);
}

return(1);
}

Sunday, September 15, 2013

Math Problem: When is Sn = n^2+20n+12 a perfect square?

This is a question that appeared in RMO in 2012 I guess.

Let 
  1. Sn = n^2+20n+12,  
  2. n is a positive integer. 
  3. What is the sum of all possible values of n for which Sn is a perfect square.
 Solution:
 

The solution was suggested by one of my colleagues Ashish Panda.

Wednesday, July 17, 2013

Some interesting -OLD- posts

Some interesting posts (penned by me!) from wordpress ;-)

Thursday, July 11, 2013

Remembering -My Umbrella-

May 2006

Baba. Mamoni says that I can not play outside because it is drizzling. Can we play inside? says Sumit my 4+ year son. It is 630 am on the penultimate day of May 2006. I seldom make a note of when the monsoon starts in Mumbai because I depend on MRF advertisement to tell about the MRF rainday! I don’t know if the newspaper still carries an advertisement about the possible rainday because of late I have switched loyalties to another new(s)paper who were prepared to supply newspaper for one full year for the price of 1 month subscription of my earlier paper. As I listen to Sumit my mind goes back in time down the memory lane trying to sense my own reaction to Mumbai monsoon.

Mumbai monsoon can be very unwelcome especially if one is staying in Tiruchirapalli, a small sleepy town in south India, which hardly saw any rains in my three years stay there was substituted by the monsoon in Mumbai. The feeling can be overwhelming if this change happens in a span of 24 hours after a long unreserved rail journey from Tiruchirapalli to Mumbai.

That was fifteen long years ago. One Mumbai (then Bombay) monsoon day I railed into Bombay to pursue my PhD in IIT Bombay. Unaware of the need for an umbrella, was pretty much written on my drenched clothes! The first thing that I was told to do was to get an umbrella immediately, which my seniors assured me, would repeat every year once or twice depending on how far away you are to your PhD degree. With folded pants and a half sharing umbrella I went to make one of my priced possessions. Price was the detrimental factor in selection of an umbrella because as a research scholar 15 years ago you lived on tight budget - trying not to get any resources from your parents who have already seen the eccentric side of you. Why is my boy not like others? Why can not he get a job in the US and earn in dollars, get married, settle down in life.

Year after year the umbrella went into safe keeping and came back into open on the MRF rainday. As years passed by, I believed that I had a priced possession in my umbrella. I built a quiver with my favorite torn jeans and carried the umbrella like an arrow. True to their words, everyone seem to loose their umbrella every season at least once, while I seem to have a special bonding with my umbrella. I rejoiced it and believed that I could take the bond further. The bonding continued, I defended my thesis in monsoon and still the umbrella was with me. It was time to do a post-doc down under, the umbrella automatically came along - probably a Vintage piece to an Australian it stayed and served me in Brisbane. It was time to return to Mumbai to settle down and raise a family and my umbrella came along safe and sound in the hand baggage.

Namita was not too happy with my umbrella. More so because probably I never lost a chance to mention about its age when ever it made sense or not. She like any good spouse purchased an excellent umbrella, the highest on the price list available in the market and gifted to me. Though not sure I needed one, I accepted it as a gift. Now I had two umbrellas, my own favorite and the new one competing for my attention. Not to cause any unpleasant feelings to Namita or me, both the umbrellas stayed with me in my car, just in case there was a need.

It is 26/7/2005. Namita calls me and tells that I need to get back home because Mumbai is flooding. I start leisurely from work. I am stuck on the flyover about 4 km from home in my car and it is pouring with no sign of ending. I hear whispers, if this continues it might take more than 24 hours for the water to drain. My mobile doesn’t work and I make up my mind to reach home to be with Sumit and Namita, I might have to wade through waist deep water for a couple of kilometers – doable. I start out of the car, lock it, when a stranger is shivering outside his car and doesn’t have an umbrella asks me if I have a spare umbrella. I have one new and my own favorite, I debate for full 2 minutes and finally hand over my not new umbrella to him. He is thankful and promises to return. We go our way.

I knew he meant it but I was also sure it was very unlikely that we would meet again. Almost a year later I fondly hope that I will meet this gentleman and get my umbrella back soon. I feel the loss but am happy that it even served on the most publicised monsoon day in Mumbai. Well done umbrella. Hats off to your endurance. I miss you very much.

Friday, June 21, 2013

Driving in Mumbai

Driving in Mumbai can be crazy especially if you are a new driver or if you have only driven on rules following drivers. However there are stretches in Mumbai depending on the time of the day and the direction of the ride that allows you to drive quite comfortably. So if you are new driver or a driver new to Mumbai roads, do not panic. It is quite alright to drive in Mumbai. I thought some real and actual drives might be useful for someone who might be wondering what is it to
  • drive in Mumbai
  • drive on Eastern Express (Freeway) Highway
  • drive in Monsoon
  1. Eastern Express Highway Driving on the Mumbai Eastern Express (Video) Highway (EEH) is not so bad if you are driving against the traffic! What started off as an intent to capture the long jam along the EEH turned out to be a nice view of the EEH.
    • Happy Video Eastern Express Ride ;-)
    • Weekdays mornings from Chembur to Thane and Weekdays evenings from Thane to Chembur
    • While the recommended max speed is 60 kmph; unless you drive at 80 kmph you will get a lot of stare from all those who overtake you (including folks on motor bikes!)
  2. Eastern Freeway This is an amazing road patch which connects Chembur to CST. While there are many better videos that capture the route. I captured when I drove back from CST to Chembur on a Sunday evening. While the speed limit is 60 kmph but most of them drive 80-100 kmph; but on a Sunday you can drive your pace without any honks!
    • Happier Video Eastern Freeway Ride
    • Anytime; best Sunday.
    • To watch: Beautiful Tunnel almost 500m
    • You will see people walking in the tunnel (yeah. it is a freeway!).

Some Useful Stuff that I use (Linux/Video)

These are some of the command like stuff that I use regularly. I thought I will put all of this in one place; though you will find a lot more detail if you GoBiYa!
  • Playing a VCD
    • $ mplayer vcd://1
    • $ mplayer-cdrom-device /dev/cdrom vcd://1
  • Playing a DVD
    • $ mplayer dvd://[title [start_title]-end_title] [options]
  • Ripping a DVD
    • $ mplayer -dumpstream dvd://2 -dumpfile ripped_output.avi
  • Creating an MPEG-4 file from JPG
    • all the JPEG files in the current directory
      • $ mencoder mf://*.jpg -mf w=800:h=600:fps=1:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi
    • list of JPEG files (list.txt in current directory contains the list of files to use as source, one per line)
      • $ mencoder mf://@list.txt -mf w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi
  • Combining two videos
    • concatenate 2 avi files
      • $ cat 1.avi 2.avi > 12.avi 
    • combing audio and video files
      • $ mencoder -oac copy -ovc copy -o output_movie.avi -audiofile input_audio.mp2 input_video.avi
  • Extracting audio from an avi file
    • $ mplayer -ao pcm:file=output_audio.wav input.avi
  • Rotating video by 90 degree
    • $ mencoder -vf rotate=1 -o out_rotated_90.mov -oac pcm -ovc lavc in_original.mov
  • Something that I had used for ;-)
    $ mencoder input.mpg -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1100:vhq:vqmin=2:vlelim=-4:vcelim=9:lumi_mask=0.05:dark_mask=0.01 -vf pp=md scale=640:480, -oac lavc -o output.avi

Saturday, March 02, 2013

SMC2F: Helping Socalize


I got a call from one of my friends asking me if I had called. Shamelessly I admitted that I had not called because that was the truth; but the fact was that I had always wanted to call him but finding a non-busy slot which is an intersection of not-busy slot of my friend and the not busy-slot of me was null for a good long time. Nevertheless to say we never called each other for a long time. Nonetheless we eventually ended up talking for a quite a few minutes.

I guess this is a very common scenario and most of us can relate to this in one form or other. We want to socialize but do not know when or how. When the number of days from the lasttime we called increases, the resistance to make the connect increases. So the connect is not made for a long time and sometimes it is a life time.

Can technology help? Mobile phones are omni present. They have our contact telephone number and they have a good memory. Why not mix all this up and enable Smart Missed Call to Connect two Friends (SMC2F) application?

SMC2F is a program running on your phone which keeps a watch on the call and the message log of your phone and is aware of friends in your contact list. Simple analysis determines which friend in the contact list has not been called for a while now and the smart applications calls the friends number and disconnects before the call is picked by the friend and goes back to sleep. Allowing the two friends to make the voice connect.

Is there such an ap? Go figure out.

Monday, December 17, 2012

Learning to Drive and More

“Do you think the truck driver knows theory? You will learn by pure practice” Probably these are the enlightening words that are responsible for me to be driving in Mumbai today.

I would have probably not ventured to learn to drive if I was not going to Australia; people told me if I did not learn to drive, I would not be able to move around. Taking this as a cue, I started, probably like most of us in India, by going to a driving school to learn to drive a four wheeler. It was a 2 weeks, 5 days a week, 30 minutes a day crash course in one of those Maruti 800 (I am sure you guessed right; there were no Santro's, Indica's then) which was not easy to handle. I figured out that I need to call my driving teacher “Master” and butter him with the hope that he would teach me a trick or two or atleast not not say “you do not know how to drive”.
It was time for getting the license. Come at 1000 and you need to give a test. I am not too confident, having always driven in the comfort of not having full control on the break and the clutch, it was a different domain altogether. On the other hand it was acceptable that I confide in my driving teacher and say that I was not confident. Unprepared I am in the RTO. “You will need to drive for a couple of meters and then put the car in the reverse and park it” was mentioned and I wondered how I would I complete all the chapters.
Come 1100, 1200, 1300, 1400, 1500. No news of the test and lo the driving school person comes and say “Aap pass ho gaye”. Am confused. He says come and collect the driving license on a certain date. And here I am, licensed to kill (nay drive) without the skills. This is what a huge population does. Gives you a free license.
Probably there is a certain degree of honesty in all of us. I refuse to drive, what if I have the license. I pack my license and keep it safe.
A month in Brisbane, Australia. I start hunting for a car, feels it is good to have because public transport is not very great. I call up one of the driving schools and pick up an hours or learning. I proudly say that I have an Indian license assuming that I will be driving an automatic and the only thing that I have to do is make sure I keep on the road. The roads are anyway not that dense!
The car that comes for my first driving lesson is a geared vehicle! He says that I did not ask him particularly for a automatic, so end up paying for it without trying to expose my inability to change gears without assistance (when to change etc)!
Next time I make sure to ask for an automatic. I pick up 2 hours of classes at a time for a couple of time and shell out a decent amount of $'s. I pick up the nuances of driving in Brisbane, turn abouts, side parking and make sure I drive atleast once from home to work and work to home to get conversant with the route!
Purchased an automatic and drove for more than 30 months without a ticket.
Back in Mumbai. No car. Using public transport. Cool. Until “We should buy a car” come from a high pitched voice. I guess I am in trouble; so I say may be we can buy an automatic so that you can drive easily. “No way, what is the fun of an automatic, we need to have a geared vehicle. Further automatic is expensive” says the high pitched economist in the house. Only alternative is to buy a geared vehicle. But driving in Mumbai? Geared? Traffic? Bothers me.
I am not confident driving in Mumbai, especially geared vehicle I submit meekly. May be I will need to learn some theory I say. “Do you think the truck driver knows theory? You will learn by pure practice” Probably these are the enlightening words that are responsible for me to be driving in Mumbai today.
I take this literally. So the solution, take more driving classes. I pick up 10 hours of driving without wanting a license! A little more confident than earlier (but no better!) I drive first inside the cocoon of the campus always putting away the need to travel outside the campus (Secret: fueling on a Sunday morning when the roads are empty and a route identified so that there is no right turn!) by saying “where will we find parking”, “it is cheaper to take a taxi”, “we can alight right in front of the shop” until there was an invite from IITB campus. The majority in my house say we need to take our car. So that is the first outing.
“You crossed the signal, what is your name? Where is your license” during your first outing. I give my license and pick up a receipt for the fine. Not a good start. Then I get stuck on a slope in a dense traffic near IITB. Take a while to move out of the spot, after quite a bit of sweat, literally. Choose a very late time spot to get back home. Always wonder why there were not fewer gears? Why should the vehicle move backwards when you are in gear one. Why can not the gear be displayed somewhere so that one knows in which gear one was driving. Cursing the technology or the lack innovative idea to make things that were easier for me then.
That was 7.5 years ago. 
Things have changed since then. Two reasons (a) Practice and (b) If a (not so educated) truck driver can drive a truck why can not you?
Written this in some other context.

Wednesday, December 05, 2012

TEDx Gateway Mumbai


TEDx Gateway Mumbai

NCPA, Nariman Point Mumbai


Attended by more than 800 people with 21 purposeful speakers the event gave the much needed impulse to “go do something useful”. While the event itself was poorly organized [;-(], the content in terms of what the speakers had to say made up for this deficiency.

My first real TEDx talk, having only seen several interesting talks on youtube, this was kind of special, else I would not venture out a full Sunday leaving all the chores behind! Took a train to CST early and was in NCPA well before 8 am to find that the organizers were just walking in! So what happened next was expected, I did not find my name in their records because “I registered late” so a hurriedly badge with “Sunil Kumar” was penned and there I was ready to sit through the sessions.

On purpose I will not dwell into the names of the speakers, because then I will be focusing on the speaker and not so much on what they had to say. I will only focus on what they were doing or had done, one can actually get to the names of the speaker from the TEDx website.

[a] What do you do when you are blind to color? You make yourself a cyborg and listen to the “sounds of color”. A camera attached to the head acted as the color sensor and converted the color into a piece of sound. So now each color is sound coded; you listen to the sound and make out what color you are seeing. And lo now one needs to be color blind. You can now dress so that you sound good and not necessarily look good. The concept if cyborg is interesting because with age one looses sensory power and wouldn't it be great to get some much needed support from some external “on body” sensors?

[b] The use of wheel has always fascinated the mankind and probably most development can be attributed to the invention of wheel. Apparently 6 hours a day are spent by women in Rajastan trying to gather water in addition to facing numerous hardships in terms physical strain to the neck and shoulders. It was heartening to see a cylindrical drum with a nice comfortable handle to roll the drum. Costing 700 INR, it could be rolled with ease with double the amount of water that could be carried on the head. I thought this was very innovative and helpful to the folks in Rajastan. Apparently this innovation has shaved off 35 hours per week of the time spent by people to fetch water. More free time for the lady of the house means better house!

[c] Chlorine added in right amounts to water can make water portable and remove strains of several diseases. The problem is one of how to get the right amount of chlorine mixed in water? At water collection point, people come with different size buckets and also the water flowing is not at the same speed to think of mixing chlorine in transit. The solution was a simple structure with no movable parts. The water came into this box like structure and the right amount of chlorine was added, a tap on this structure allowed the water to flow into the bucket. So the box temporarily stored the water with the right amount of chlorine. I though this was a wonderful idea. Simple yet very effective.

[d] Then there was this man who took up the task of providing cheap sanitary napkin for the women folks. With trial and error and he came up with a mix of ingredient (cotton) and a napkin making machine which can be easily setup and napkins produced. I appreciated the fact that he was able to take this the sanitary issue because most men consider this as not their domain. Hats off to him.

[e] Examify was more of a data analytics based tool that helped students prepare for exams in a more focused way. It is a tool that scans all the previous exam papers and come up a set of questions that the student needs to study to “pass” the exam. I personally thought this was a technologically good, however this ideas was in poor taste and would make the kids do things to “just pass the exam”. May be this is an eye opener for all the educationalists!

[f] Giving dignity and identify to nomads was a tremendous effort. Apparently in several parts of the country nomads have no identity and the only identity they have is that of thieves. Giving a life and identity (voters card) to several of these nomads is commendable. The only speaker to make no effort to speak in English. Hats off.

[g] A collaborative effort to identify a design and be able to build a 300 USD house. While the effort is commendable, the only thing that struck me is that the cost of the house in Mumbai is a very small fraction of the cost of the land. To won a piece of land for this kind of monies is distance away, else why would there be so many high raises.

[h] I had seen this on TEDx videos earlier, A non-intrusive hemoglobin measuring device which is portable and can be used to measure hemoglobin. Apparently there are several lives lost, especially at the time of childbirth because of anemia. As I understand the person can show no signs of deficiency and so an attempt to get a prick seems unnecessary, with this non-intrusive device anemia can be detected in flat 10 sec. Cool.

[i] This young musician from Pakistan hailing from a family of musician uses youtube videos to teach himself guitar to such perfection that he lands up actually sharing stage with the gutarist who was his youtube idol. Appreciate the urge to learn and the fact that the internet as the channel is the teacher. Now there is no excuse for “I do not have access to a good teacher”.

[j] A neat idea which allows people to share details of their blood type and of their social circle. In case of need of blood one knows where to find it. Social blood. Giving social networking (in this case facebook) a meaningful face.

[k] Started with making a non-toxic fluid that can conduct electricity has evolved into paper electronics, giving a new dimension to learning electronics by doing it rather than just studying it. How more meaningfully this can be used is something that will happen with time.

[l] Navigating using sound was definitely an eye opener, though was not very clear on how this technique was actually helping visually blind people navigate using sound.



[;-(] Couple of things. The invite read registrations starts at 8 am and the actual event started close to 11 am; added to that they wouldn't allow anyone to sit inside the main auditorium. There was virtually no distinction between a corporate pass priced at 8400 INR and a anyone can buy pass for 5000 INR. Mad rush for the food, the only meal that I ate was the breakfast; the rest were what ever was left which meant no roti/rice during lunch!

Sunday, October 28, 2012

Change your Electricty Provider. SwitchMe.In

Change your Electricty Provider. SwitchMe.In

SwitchMe.  By way of mouth people did mention that I was paying out of the roof for my electricity bill because I was using a particular service provider and not the other; in Mumbai. While this was probably true there was no way I was able to check it out for myself though I knew that I could opt for a electricity service provider of my choice. Couple of things stopped me from actually trying to reduce my electricity bill
  • I was not too sure how much I would save by switching (not a simple unit multiplied by INR)
  • How much effort would go into this (long queues for almost every thing in Mumbai)
  • How exactly to do it (I did bing and google for this!)
until I landed up looking at a new service on the block. 

 I found this concept of switchme.in very interesting.

I could log in to their website and could actually compare which electricity provider would charge me how much (for the same use of units ofcourse!) quite easily and lo when I saw that I was paying a couple of extra hundred rupees every month, I opted to switch(me) my electricity service provider. 

 For a small fee of five hundred rupees I was saved of all the hassles of trying to identify what papers were required and what procedure to be followed to actually affect the change. I quite literally switched my electricity service provider sitting at home (and office).

I understand these guys are going to come up with making things simple to switch my mobile operators! I always wanted to .. but did not know how to or how much effort would be involved. I am staying tuned for them to come up with a switchme option for this ;-)

Saturday, January 28, 2012

Rules for whom?

I am travelling from Bangalore to Mumbai in a fairly "full" train with a confirmed upper berth in one of those AC bogies.

One round of checking by the ticket inspector - all set - everyone has ticket.

[6 hours into the journey]

"You need to pay a fine" says a special inspector to a co-passenger and reads out the rule "You need to carry your original proof of identity mentioned at the time of reservation for Tatkal tickets". This poor co-passenger has (his agent who booked the ticket) mentioned PAN card as the proof of identity and this chap does only have a color photocopy of the PAN card and not the original. The ticket collector does not budge even after the co-passenger shows him his original driving license and few other original photo identity documents; sticking to the rule by rereading it.

The co-passenger finally pays up and collects the receipt with some monetary support from one of his co-passenger.

As I walk along the aisle I see the same ticket collector now with a gray haired senior gentleman with the same argument. You have to show me your original PAN card because your agent has mentioned that that is your identity and I will not look at any other form of identity. The senior pleads to deaf ears.

I finally ask the ticket inspector. You know these guys are genuine (because they look the same as the photo on their identity though the PAN is only a photocopy) so why are you so insisting on original photo identity only of a certain kind? He says "These are the rules, I need to do my duty".

Pattern matching are for machines that have no brain of their own. But that ticket inspector that day was behaving like a machine. Work to rule, but shouldn't we use our brain?

Cooourrrriiiiieeeeerrrrr

My bank mentioned that they had couriered the two Demand Drafts that I had ordered online by Courier.

[6 days later]

The courier is yet to arrive after 3 calls to the courier call center with the large number of digits ABW number. The call center response (in Hindi translated to English) It is only four days since your courier has been posted.

The two letters did not have to travel a whole lot of distance; may be 20 kms in Mumbai. It should have taken lesser time for even the slowest half-marathon runner, ughh.

In the name of technology, where we can track our courier, we get to know that we have not received but the actual receiving is pre historic. Why even the Indian Post (which is generally a target of humor) would have delivered the letter sooner!

We build technology (helps you know the status of the courier!) but do not use technology to make sure the courier is delivered. Where are we heading? Technology should better the whole process isn't it?

Indian Railway - Seat Unreserved

This is a suggestion that I thought I should communicate so that it will be useful to passengers who use Indian Railway (IR).

I have often traveled in train and I very frankly I have never traveled in the allocated berth especially when I travel alone. Why? There is always an elderly lady or gentleman who has been alloted an upper berth and the request is made for a change with the lower berth. I have no problem giving up the lower berth for the elderly.

However I feel we can avoid this situation. How?

Let us say at the time of booking IR does not assign the seat numbers but only mentions that the ticket is confirmed or not. Only at a later date say 1 week or 1 day before the journey (so that it is quite clear who will travel and who will not) the seat allocation is made which possibly can make use of the age to determine who gets the lower berth. That way atleast the elderly will be assured of a lower berth (which they rightfully deserve) and would not have to "ask" a co-passenger for a exchange.

I am not very sure of the feasibility but I feel that this should be given a thought and if implemented would truly help the senior citizens.

Monday, December 26, 2011

Talk at SGGS Nanded, Maharastra, India

I was at Nanded recently as part of staff development program in the area of recent advances in the areas of signal, image and visual processing.

It was nice to see some very attentive audience, not so young and not so old!

I got to speak on two topics
  1. Mobile Vehicle Plate Recognition and
  2. Indexing of Multilingual News Broadcast videos.
Some Pictures of the Gurudwara. Understand that this is second to the Golden Temple in Amritsar.

Monday, December 05, 2011

Speech Applications Indian Market

It does sound odd, but one of the geographies that urgently requires speech recognition based solutions for all sort of transactions is India.

And Indian language resources that are required to build such applications are not too mature.

This is a contradiction of sorts!


With 22 officially recognized languages (leaving aside the several dialects and accents), penetration of internet not being so great (infra-structurally and economically) , text entry in Indian languages being not easy, majority of the population staying in villages, rural folks being English literate on one side

and

the proliferation of mobile phones into rural areas on another side.

Voice channel penetrates everywhere in India. Making voice the expressway to reach people!

Discusses several aspects of this.

Tuesday, November 29, 2011

Social Media as a learning tool

Probably one of the reason the discussion about social media as a learning tool is important is because of the popularity of Social Media. The popularity is more in terms of participation of the number of people of all age groups and their active participation. It would be wonderful to have this platform used as a media for learning.

Path for Social Media as a learning Tool.
  1. Platform for Communication
  2. Allows for active participation (in sense of user generated data; noisy data)
  3. Generally all are equal (peer communication) but
  4. Some emerge as leaders (may be based on their expertise, participation, creativity ....)
  5. SIG formed (Leaders moderate the group)
  6. Leads to some focused discussion (signs of learning - though not formal)
  7. since there is less noise "useful learning can happen"

So structurally everything is in place to enable learning if no distinction is made between formal and informal learning! but with some constraints on the social media ... like a teacher the leader moderates - what to do when and why and structures information) ... in this structure SM and a ICT learning tool can be stitched together.

However, the constraints reduce the social media as a learning tool to a mere classroom (CR) kind of environment. At best one could call this social media learning tool as CR++.

Having established that one is looking at a CR++ environment; the question is should CR++ be in addition to or in its own right the only platform for learning?
  • If the answer is a NO - then the question is why do we then need it? is CR not enough? Is CR lacking something? How will CR++ be different?
  • If the answer is YES - one already has CR so why another CR++? Will there be time to manage both CR and CR++ in terms of time?

CR++ could have the following advantages:
  1. Multiple teacher driven courses (different versions of the same topic)
  2. Multimedia driven courses means may be faster learnibg and stronger understanding
  3. Students learn anytime anywhere
  4. if you missed CR, use CR++ or if you did not understand CR use CR++ to refresh general problems
  5. Requires infrastructure (communication channel, devices) for all participants
  6. assumption that electricity and BW is relaible)

Wednesday, November 23, 2011

Social Media as an ICT Learning Tool

Am on my way back after the panel discussion in Jaihind College near Churchgate Railway station in Mumbai. The title Can Social Media enable ICT Learning Tool which was an interesting topic.

While one can debate on this topic both ways .. saying it can be used and it can not be used. The whole idea I think is if there is a necessity then (and only then) the social media platform will be used as a learning tool. And who knows for much different things that probably we do not have a need for today.

Other panelist mentioned
Twitter can be used as a tool for learning summarization
Blog to improve you writing skills


Yeah. Necessity is the mother of all inventions.

Monday, November 21, 2011

Autorickshaw and Taxi Fare in Mumbai

I know there has been a drive by a leading newspaper which is taking to task the autorickshaw drivers who refuse to ply passengers. While getting an autorickshaw in Mumbai can be pretty difficult especially if you have to travel short distances ... however once you get in then unless you are conversant with the fare conversion (the driver has a fare chart - which might not always be realiable!) you are not sure you are being overcharged!


I find this http://rickfare.com/ very useful. Send in the meter details thatyou see and you will know what you actually need to pay for the ride.


Aside: One of my collegaues and i got into a taxi teh other day and asked that we be taken to a certain destination (it was rather a long haul and so the taxi driver was ready to ferry us). We sat and wondered why he was taking time to switch on the meter when he announced that he would charge a fixed fare. Reason - his meter was not working .. he naturally asked for a fare that was 30% more than the actual fare. The meter looked new (elecornic) so we cajoled him to try to switch it on .. after a certain time he did sitch it on and lo the meter was working fine .. we paid him what the meter showed and decided we could use this trick again.

Road Traffic Regulated

I remember when I first started driving in Mumbai. Several years ago, soon after returning from Brisbane suburbs where I had driven in the rather sane traffic I had a reality check. I saw a "60" in the red circle on the road (sign) and thought I was to drive at a maximum speed of 60 kmph. Well, a few kms on the road and I realized with honks and hard stares from the other vehicles that it was I who was breaking the law driving within the speech limit!

Two weeks hence I was zooming at 80 kmps along with other vechiles and it was "Welcome to Mumbai" no more honks or stares. Unless an odd vehicle here are there that were zooming at over 100 kmph. It has been 6 years now and I have not seen a single vehicle in the 60 kmph zone being fined for driving 80-90-100-110-120-....

I have often wondered why have the road sign with a 60 sitting in it. May be as they used to say, especally of Indian trains, you need to have a reference time of train arrival so that you know by how much late your training is running! I have half heartedly knocked a few social sites (including traffic polic in Mumbai) but no one did hear what I had to say (so what is so new!).

When I got a new car (which car is not important!) I read the label - drive under 60 kmph before crossing 1000 km. What was I to do? I pondered. Well, I had to manage somehow, which I did successfully by driving in appropriate lanes and choosing appropriate time (timing the traffic). The end effect was (a) increased milage 23 kmpl and (b) enjoy driving experience. I am not sure what the new car drivers do in this situation - do they really drive sub 60 kmph? I have not seen a single car drive that slow! Anyway that is not the point.

On one of my liesure drive (takes me 45 mintues) I kept wondering what would be the best method to make people drive within the speed limits. After having driven for so many years in Mumbai I sincelerly believe in what I say! Well when you find a person driving well above the expetded limit - do not snatch away his driving licence or fine him/her - just make sure his vehicle can not travel above the limit. I think if you "locked" the vehicle to travel a maximum of 60 kmph .. I think it would be the best "fine" or "punishment". I would call that a positive way of looking at crubing speeding rather than fine or pinch the licence (negative approach).

What do I do today? I drive in appropriate lanes and clock 70 kmpl - no more honks or stares. But there is one small danger that I need to figure out how to avoid, the reckless overtaking from left, right and center. Will figure that out very soon.

A Lesson Hidden in Two Simple Words

Sometimes profound ideas are hidden in the most ordinary places. Recently, while looking at two common English words, I stumbled upon an int...