Received a sms from one of my pals.
Simple hints - rather imperative for a happy life
# Never be Late
# Don't Cheat
# Live Simple
# Expect Little
# Work More
# Smile Always
# Help Others
# Love All
Monday, August 9, 2010
Saturday, January 2, 2010
My Visit to Ampa Sky-Walk Chennai

Today visited Ampa SkyWalk in Chennai for the first time. Had a great experience. (However did not do any shopping :-) ). Being a chennaitie, it's a bit late to visit the mall as it was opened to public by Sep'09. What is more worse was, it requires just a 5 minutes drive from my home and till now haven't had a chance to barge in :-)
Final stages of construction is still ongoing and the gold crown will have its diamond ring when PVR cinemas start rolling its multiplexes from the Top floor.
With 625000 sq.ft of space, it can easily boast of being one of the biggest malls in south india. Westside has taken a huge space in three floors with decent collections. Many other retailers like Titan watches,Adidas, Reebok, Pepe, Levi's have already setup shops. The single most thing which attracted me was the spacious foodies that have setup shops on the penultimate floor to the top. (beneath the proposed floor for PVR cinemas). There was a deluge of options covering variety of outlets which includes Hot Chips, Mr&Mrs Idly, Sizzlers, Thattukada etc. However the big guys McDonald and KFC had setup shops in the ground floor looking towards the PH road. As usual, had a McMeal which is my favorite.
The much hyped Sky-Walk is still under construction. But couldn't understand what the hype is all about. To me it just looks like a pathway connecting one block to the other. I assume it should have a glass flooring to give the walkers a Sky-Walking(?) experience. Hope it lives upto the expectation.
The parking facilities are pretty good and well organised with plenty of space and minimum chaos. However the Parking fee of Rs.10 (Two-wheeler) for two hour slot can be increased to 3 hours, especially considering the commencement of PVR multiplex. Visitors who may come here to watch movies in PVR have to shell out Rs.20 for Parking :-(. On travelling front, the comforting thing personally for me is that this mall is hardly 5 minutes drive from my home. So can hang around with my friends more often and forget about the logistics that we used to plan while visiting Spencer's Plaza/Citi center earlier.
Looking forward to watching a movie in PVR.
Overall it was a very good experience and i should say the Ampa-Skywalk mall has lived up to my expectation.
Last but not Least : Many more malls(Super/Duper/Hyper and what so ever) may decorate the skyline of chennai. Still my heart will always have a special place for the Old-Horse standing in Mount Road by name Spencer-Plaza.
Thursday, June 11, 2009
The Five WHYs Technique
Every one of us will run into rough weather in our life be it personal or official. There is always a chance that the crux/rootcause of our problems are hiding somewhere else. And ironically many of us try to target the rootcause in an adhoc manner and end up landing in the wrong path and eventually the prime concern of not repeating our mistake is at stake. I have personally seen many people repeating the same blunders(of course those which are not under their control, as they think), but donot accept the fact(including myself :-) ) that they are poor troubleshooters of the issues in front of them.
Normally in official environment, a famous and good root cause analysis technique is the five Why technique which is used across industries starting from manufacturing to agriculture. In simple terms when there is an issue in front of you that needs to addressed, ask bluntly why has the issue happened?
There would be a near straightforward answer to the question. put a "WHY" question again, now to the answer and you would go one level deep into the problem.
So in a nutshell, almost any (atleast i would say 95%) problem can be solved within the five levels of asking "WHY".
Like many others, i too strongly belive that we move from the circumference of uncertainity to the epicenter of the problem gradually at each level of "WHY".
And ofcourse finding a solution once the real problem is identified is at our hands, as the five WHY technique will help us to identify that we are hungry but eventually will not feed anything to our sotmachs.
Let me sight an example.
Being an IT guy myself, let me take a scenario which would have occured a Zillion times in the IT industry.
A scenario where the customer gives us an estimate on timelines for the delivery and we accept it and eventually screwing up with schedule finally :-(
And there arises a lot of inter department disputes, where the testing team puts the blame on the development team which in turn passes it on to the design team and finally ending up nowhere. Now implementing 5 WHY technique to the above problem,
why is my customer not happy with our deliverable?
-> Because our deliverables didnot meet the expected quality level.
why did we not meet the quality level?
-> Because we worked on a compressed schedule
why did we work on a compressed schedule?
-> Because we underestimated the complexity of the job.
why did we underestimate the job?
-> because we didnot have proper estimation mechanism put in place.
So the real problem doesnot lie with the development team or testing team or the design team, but eventually with the process of estimation thereby resulting in a collective accountability. Now the 5 WHY technique has identified the problem for us and its up to us "and us only" to find a solution.
Normally in official environment, a famous and good root cause analysis technique is the five Why technique which is used across industries starting from manufacturing to agriculture. In simple terms when there is an issue in front of you that needs to addressed, ask bluntly why has the issue happened?
There would be a near straightforward answer to the question. put a "WHY" question again, now to the answer and you would go one level deep into the problem.
So in a nutshell, almost any (atleast i would say 95%) problem can be solved within the five levels of asking "WHY".
Like many others, i too strongly belive that we move from the circumference of uncertainity to the epicenter of the problem gradually at each level of "WHY".
And ofcourse finding a solution once the real problem is identified is at our hands, as the five WHY technique will help us to identify that we are hungry but eventually will not feed anything to our sotmachs.
Let me sight an example.
Being an IT guy myself, let me take a scenario which would have occured a Zillion times in the IT industry.
A scenario where the customer gives us an estimate on timelines for the delivery and we accept it and eventually screwing up with schedule finally :-(
And there arises a lot of inter department disputes, where the testing team puts the blame on the development team which in turn passes it on to the design team and finally ending up nowhere. Now implementing 5 WHY technique to the above problem,
why is my customer not happy with our deliverable?
-> Because our deliverables didnot meet the expected quality level.
why did we not meet the quality level?
-> Because we worked on a compressed schedule
why did we work on a compressed schedule?
-> Because we underestimated the complexity of the job.
why did we underestimate the job?
-> because we didnot have proper estimation mechanism put in place.
So the real problem doesnot lie with the development team or testing team or the design team, but eventually with the process of estimation thereby resulting in a collective accountability. Now the 5 WHY technique has identified the problem for us and its up to us "and us only" to find a solution.
Initiatives
Every company has a performance appraisal system in place to measure the effectiveness of its employees.
Employees are normally rated in most of the companies in the above categories. Apart from the above non performance category is also there, which is not depicted here ) . Needless to say everyone wants to be rated Outstanding.
What is the yard stick and how do you measure these aspects?
Employee "A" in a company walked up to his manager and asked what my job is for the day?
The manager took "A" to the bank of a river and asked him to cross the river and reach the other side of the bank.
"A" completed this task successfully and reported back to the manager about the completion of the task assigned. The manager smiled and said "GOOD JOB"
Next day Employee "B" reported to the same manager and asked him the job for the day. The manager assigned the same task as above to this person also.
The Employee "B' before starting the task saw Employee "C" struggling in the river to reach the other side of the bank. He realized "C" has the same task.
Now "B" not only crossed the river but also helped "C" to cross the river.
"B" reported back to the manager and the manager smiled and said "VERY GOOD JOB"
The following day Employee "Q" reported to the same manager and asked him the job for the day. The manager assigned the same task again.
Employee "Q" before starting the work did some home work and realized "A", "B" & "C" all has done this task before. He met them and understood how they performed.
He realized that there is a need for a guide and training for doing this task.
He sat first and wrote down the procedure for crossing the river, he documented the common mistakes people made, and tricks to do the task efficiently and effortlessly.
Using the methodology he had written down he crossed the river and reported back to the manager along with documented procedure and training material.
The manger said "Q" you have done an "EXCELLENT JOB".
The following day Employee "O' reported to the manager and asked him the job for the day. The manager assigned the same task again.
"O" studied the procedure written down by "Q" and sat and thought about the whole task.
He realized company is spending lot of money in getting this task completed. He decided not to cross the river, but sat and designed and implemented a bridge across the river and went back to his manager and said, "You no longer need to assign this task to any one".
The manager smiled and said "Outstanding job 'O'. I am very proud of you."
What is the difference between A, B, Q & O????????
Many a times in life we get tasks to be done at home, at office, at play..,
Most of us end up doing what is expected out of us. Do we feel happy? Most probably yes. We would be often disappointed when the recognition is not meeting our expectation.
Let us compare ourselves with "B". Helping some one else the problem often improves our own skills. There is an old proverb (I do not know the author) "learn to teach and teach to learn". From a company point of view "B" has demonstrated much better skills than "A" since one more task for the company is completed.
"Q" created knowledge base for the team. More often than not, we do the task assigned to us without checking history. Learning from other's mistake is the best way to improve efficiency. This knowledge creation for the team is of immense help. Re-usability reduces cost there by increases productivity of the team. "Q" demonstrated good "team-player" skills,
Now to the outstanding person, "O" made the task irrelevant; he created a Permanent Asset to the team.
If you notice B, Q and O all have demonstrated "team performance" over an above individual performance; also they have demonstrated a very invaluable characteristic known as "INITIATIVE".
Initiative pays off every where whether at work or at personal life. If you put initiative you will succeed. Initiative is a continual process and it never ends. This is because this year's achievement is next year's task. You cannot use the same success story every year.
The story provides an instance of performance, where as measurement needs to be spread across at least 6-12 months. Consequently performance should be consistent and evenly spread.
Out-of-Box thinkers are always premium and that is what every one constantly looks out for. Initiative, Out-of-Box thinking and commitment are the stepping stone to success.
Initiative should be life long. Think of out of the box.
Employees are normally rated in most of the companies in the above categories. Apart from the above non performance category is also there, which is not depicted here ) . Needless to say everyone wants to be rated Outstanding.
What is the yard stick and how do you measure these aspects?
Employee "A" in a company walked up to his manager and asked what my job is for the day?
The manager took "A" to the bank of a river and asked him to cross the river and reach the other side of the bank.
"A" completed this task successfully and reported back to the manager about the completion of the task assigned. The manager smiled and said "GOOD JOB"
Next day Employee "B" reported to the same manager and asked him the job for the day. The manager assigned the same task as above to this person also.
The Employee "B' before starting the task saw Employee "C" struggling in the river to reach the other side of the bank. He realized "C" has the same task.
Now "B" not only crossed the river but also helped "C" to cross the river.
"B" reported back to the manager and the manager smiled and said "VERY GOOD JOB"
The following day Employee "Q" reported to the same manager and asked him the job for the day. The manager assigned the same task again.
Employee "Q" before starting the work did some home work and realized "A", "B" & "C" all has done this task before. He met them and understood how they performed.
He realized that there is a need for a guide and training for doing this task.
He sat first and wrote down the procedure for crossing the river, he documented the common mistakes people made, and tricks to do the task efficiently and effortlessly.
Using the methodology he had written down he crossed the river and reported back to the manager along with documented procedure and training material.
The manger said "Q" you have done an "EXCELLENT JOB".
The following day Employee "O' reported to the manager and asked him the job for the day. The manager assigned the same task again.
"O" studied the procedure written down by "Q" and sat and thought about the whole task.
He realized company is spending lot of money in getting this task completed. He decided not to cross the river, but sat and designed and implemented a bridge across the river and went back to his manager and said, "You no longer need to assign this task to any one".
The manager smiled and said "Outstanding job 'O'. I am very proud of you."
What is the difference between A, B, Q & O????????
Many a times in life we get tasks to be done at home, at office, at play..,
Most of us end up doing what is expected out of us. Do we feel happy? Most probably yes. We would be often disappointed when the recognition is not meeting our expectation.
Let us compare ourselves with "B". Helping some one else the problem often improves our own skills. There is an old proverb (I do not know the author) "learn to teach and teach to learn". From a company point of view "B" has demonstrated much better skills than "A" since one more task for the company is completed.
"Q" created knowledge base for the team. More often than not, we do the task assigned to us without checking history. Learning from other's mistake is the best way to improve efficiency. This knowledge creation for the team is of immense help. Re-usability reduces cost there by increases productivity of the team. "Q" demonstrated good "team-player" skills,
Now to the outstanding person, "O" made the task irrelevant; he created a Permanent Asset to the team.
If you notice B, Q and O all have demonstrated "team performance" over an above individual performance; also they have demonstrated a very invaluable characteristic known as "INITIATIVE".
Initiative pays off every where whether at work or at personal life. If you put initiative you will succeed. Initiative is a continual process and it never ends. This is because this year's achievement is next year's task. You cannot use the same success story every year.
The story provides an instance of performance, where as measurement needs to be spread across at least 6-12 months. Consequently performance should be consistent and evenly spread.
Out-of-Box thinkers are always premium and that is what every one constantly looks out for. Initiative, Out-of-Box thinking and commitment are the stepping stone to success.
Initiative should be life long. Think of out of the box.
Friday, July 4, 2008
Auto Pointers
Here is a cute thing - auto pointers. Basically they are supposed to solve the problem of doing a new and forgetting to delete the resulting memory.
This can happen more easily than you may think if a function throws an exception.
Below is an example of using them. Be warned that the MS VC library and the gcc library seem to handle auto_ptr a bit differently. The MS STL library simply transfers ownership of the pointer (so you can use it after assigning it) whilst the gcc STL library actually sets the original pointer to NULL (thus, you can't use it after assigning it). We should be very careful about assigning auto pointers because of this.
Also, I note from the STL code that the destructor deletes the pointer, it doesn't allow for an array. What I mean is that if you do this:
int * i = new int [100];
You are supposed to delete it like this:
delete [] i;
Since the auto_ptr doesn't know to do that, this will not work properly:
auto_ptr i (new int [100]);
However I should point out that if you are using STL in the first place, you should probably be using a vector instead of an array of ints in the first place. ;)
Note also you don't delete an auto_ptr - you simply let it delete itself in the destructor when it goes out of scope.
#include
#include
#include
#include
using namespace std;
class Widget
{
public:
Widget () { cout << "widget constructor" << endl; };
~Widget () { cout << "widget destructor" << endl; };
void test () { cout << "widget test" << endl; }
};
// output operator for auto_ptr (see Josuttis p 47)
template
ostream& operator<< (ostream& strm, const auto_ptr& p)
{
if (p.get () == NULL)
strm << "NULL";
else
strm << p.get ();
return strm;
} // end of ostream& operator<<
void sub (void)
{
auto_ptr w (new Widget);
auto_ptr x; // NULL pointer at this time
w->test (); // test it (use like a normal pointer)
cout << "Before assignment..." << endl;
cout << " w: " << w << endl;
cout << " x: " << x << endl;
// transfer ownership of pointer from w to x
x = w;
x->test (); // test it again
cout << "After assignment..." << endl;
cout << " w: " << w << endl;
cout << " x: " << x << endl;
throw runtime_error ("Trouble brewing");
}
int main (void)
{
try
{
cout << "Before sub" << endl;
sub ();
cout << "After sub" << endl;
}
catch (runtime_error & e)
{
cout << "Exception: " << e.what () << endl;
}
return 0;
} // end of main
Output on Linux
Before sub
widget constructor
widget test
Before assignment...
w: 0x804a880
x: NULL
widget test
After assignment...
w: NULL
x: 0x804a880
widget destructor
Exception: Trouble brewing
Output on MS VC++
Before sub
widget constructor
widget test
Before assignment...
w: 00300030
x: NULL
widget test
After assignment...
w: 00300030
x: 00300030
widget destructor
Exception: Trouble brewing
Notice the difference, after the assignment the pointer still exists (is not NULL) in this case.
This can happen more easily than you may think if a function throws an exception.
Below is an example of using them. Be warned that the MS VC library and the gcc library seem to handle auto_ptr a bit differently. The MS STL library simply transfers ownership of the pointer (so you can use it after assigning it) whilst the gcc STL library actually sets the original pointer to NULL (thus, you can't use it after assigning it). We should be very careful about assigning auto pointers because of this.
Also, I note from the STL code that the destructor deletes the pointer, it doesn't allow for an array. What I mean is that if you do this:
int * i = new int [100];
You are supposed to delete it like this:
delete [] i;
Since the auto_ptr doesn't know to do that, this will not work properly:
auto_ptr
However I should point out that if you are using STL in the first place, you should probably be using a vector instead of an array of ints in the first place. ;)
Note also you don't delete an auto_ptr - you simply let it delete itself in the destructor when it goes out of scope.
#include
#include
#include
#include
using namespace std;
class Widget
{
public:
Widget () { cout << "widget constructor" << endl; };
~Widget () { cout << "widget destructor" << endl; };
void test () { cout << "widget test" << endl; }
};
// output operator for auto_ptr (see Josuttis p 47)
template
ostream& operator<< (ostream& strm, const auto_ptr
{
if (p.get () == NULL)
strm << "NULL";
else
strm << p.get ();
return strm;
} // end of ostream& operator<<
void sub (void)
{
auto_ptr
auto_ptr
w->test (); // test it (use like a normal pointer)
cout << "Before assignment..." << endl;
cout << " w: " << w << endl;
cout << " x: " << x << endl;
// transfer ownership of pointer from w to x
x = w;
x->test (); // test it again
cout << "After assignment..." << endl;
cout << " w: " << w << endl;
cout << " x: " << x << endl;
throw runtime_error ("Trouble brewing");
}
int main (void)
{
try
{
cout << "Before sub" << endl;
sub ();
cout << "After sub" << endl;
}
catch (runtime_error & e)
{
cout << "Exception: " << e.what () << endl;
}
return 0;
} // end of main
Output on Linux
Before sub
widget constructor
widget test
Before assignment...
w: 0x804a880
x: NULL
widget test
After assignment...
w: NULL
x: 0x804a880
widget destructor
Exception: Trouble brewing
Output on MS VC++
Before sub
widget constructor
widget test
Before assignment...
w: 00300030
x: NULL
widget test
After assignment...
w: 00300030
x: 00300030
widget destructor
Exception: Trouble brewing
Notice the difference, after the assignment the pointer still exists (is not NULL) in this case.
Wednesday, April 9, 2008
Subscribe to:
Comments (Atom)