Monday, November 29, 2010

Importance of good user message

Problem

Company 1

Dear Valued Customer,Your Mobile invoice value for [date] is
Rs[Amount] & the total outstanding value at date is Rs[Amount].
Thank you.

Our record indicate an overdue of Rs.[][date] pls settle the same by date to enjoy uninterrupted services.Pls ignore if settled.

Company 2

Dear Valued customer,Your bill dated date is now due.Please make payment.if already settled pls ignore this sms.

Given messages are received from two different telecom company in Sri Lanka when there is a due payment .

Mistake

The way messages has presented is different .In company 1 first reminder message sends very polite manner. but it’s second message is not polite it directly gives the message . But message is informative but company 2 message is very polite and short but it s not informative.When reading, user gets two different impression over the message.

Lesson Learned

So good message should polite,short and informative.

Wednesday, November 24, 2010

Appreciation

Today I got this touching email:

One young academically excellent person went to apply for a managerial
position in a big company.
He passed the first interview, the director did the last interview, made
the last decision.
The director discovered from the CV,  that the youth's academic result is
excellent all the way, from the secondary school until the postgraduate
research, never has a year he did not score.
The director asked, "Did you obtain any scholarship in school?" and the
youth answered "none".
The director asked, " Is it your father pay for your school fees?" the
youth answered, my father passed away when I was one year old, it is my
mother who paid for my school fees.
The director asked, " Where did your mother worked?" the youth answered, my
mother worked as cloth cleaner. The director requested the youth to show
his hand, the youth showed a pair of hand that is smooth and perfect to the
director.
The director asked, " Did you ever help your mother washed the cloth
before?" The youth answered, never, my mother always wanted me to study and
read more books, furthermore, my mother can wash cloths faster than me.
The director said, I had a request, when you go back today, go and help to
clean your mother's hand, and then see me tomorrow morning.
The youth felt that its chance of landing the job is high, when he went
back, he happily wanted to clean his mother's hand, his mother feel
strange, happy but mixed with fear, she showed her hand to the kid.
The youth cleaned his mother's hand slowly, his tear drop down as he did
that.  It is first time he found his mother's hand is so wrinkled, and
there are so many bruises in her hand. Some bruises incites pains so strong
that shiver her mother's body when cleaned with water.
This is the first time the youth realized and experienced that it is this
pair of hand that washed the cloth everyday to earn him the school fees,
the bruises in the mother's hand is the price that the mother paid for his
graduation and academic excellence and probably his future.
After finishing the cleaning of his mother hand, the youth quietly cleaned
all remaining clothes for his mother.
That night, mother and sons talked for a very long time.
Next morning, the youth went to the director's office
The director noticed the tear in the youth's eye, asked: " Can you tell you
what have you done and learned yesterday in your house?"
The youth answered, " I cleaned my mother's hand, and also finished
cleaning all the remaining clothes'
The director asked, "Please tell me your feeling."
The youth said, Number 1, I knew what appreciation, without my mother, is
there would not the successful me today. Number 2, I knew how to work
together with my mother, then only I can realize how difficult and tough to
get something done.  Number 3, I knew the importance and value of family
relationship.
The director said, "This is what I am asking, I want to recruit a person
that can appreciate the help of other, a person that knew the suffering of
others to get thing done, and a person that would not put money as his only
goal in life to be my manager. You are hired.
Later on, this young person worked very hard, and received the respect of
his subordinates, every employees worked diligently and in a team, the
company's result improved tremendously.
A child who has been protected and habitually given whatever he did, he
developed "entitlement mentality" and always put himself first. He is
ignorance of his parent's effort. When he started work, he assumed every
people must listen to him, and when he became a manager, he would never
know how suffering his employee and always blame others.

For this kind of people, he can have good result, may be successful for a while, but
eventually would not feel sense of achievement, he will grumble and full of
hatred and fight for more. If we are this kind of protective parent, did we
love the kid or destroy the kid?
You can let your kid lived in a big house, eat a good meal, learn piano,
watch a big screen TV. But when you are cutting grass, please let them
experienced it. After a meal, let them washed their plate and bowl together
with their brothers and sisters. It is not because you do not have money to
hire a maid, but it is because you want to love them in a right way.

You want them to understand, no matter how rich their parent are, one day their
hair will grow gray, same as the mother of that young person. The most
important thing is your kid learn how to appreciate the effort and
experience the difficulty and learn the ability to work with others to get
thing done.

Tuesday, November 23, 2010

Visual Studio Data Compare Not working

Sometime you can be able to view Data compare menu in you visual studio toolbar. Once you go there and select one option nothing will happen. To get it into work you have to run following command in your VS command prompt.

devenv /setup

Chain of Responsibility Pattern

This pattern I used for handling scenario as follows;

Applying permission on user to view some data is based on many criteria and those are having a sequence.

image

By Appling this chain of responsibility pattern I could able to arrange the code nice manner , very easy to add new criteria as well as change the sequence.

Wednesday, November 17, 2010

Organized well

In your desktop where is your taskbar? Most of them keep it as default . That is in bottom of the screen like this.

image

Till few months back I also kept as that manner. But now I have positioned it right side of the screen. By keeping in this position its is very comfortable to access the list . High number of items can be arranged in this position in a very organized manner. If you are using wide screen, this is the effective position to use the maximum use of the screen. Following screen gives idea of comparison of the positions.

organizewell

Other than those when positioning the task bar we should concern about followings;

  • Continually remove unwanted items, otherwise cant directly access the what we want so it will be a time consuming task.
  • Arrange the width of the task bar up to user preference.

Enjoy the right side arrangement of the taskbar.Smile with tongue out

Before You Refactor

Refactoring need to be done by every programmer and it leads to have a maintainable code base.Rajith Attapattu has highlighted very good points when doing refactoring

  • The best approach for restructuring starts by taking stock of the existing
    codebase and the tests written against that code.
  • Avoid the temptation to rewrite everything.
  • Many incremental changes are better than one massive change.
  • Many incremental changes are better than one massive change.
  • New technology is an insufficient reason to refactor.
  • New technology is an insufficient reason to refactor.
  • Remember that humans make mistakes.

Other than above, good practices can be found in here.

97 Things Every Programmer Should Know

Some sections of above book I read few months back and today I got a thought to read it again. There are more than 97 things programmer should knowWinking smile but this is great collection and good prioritized list to follow. No need to read it from top to bottom , can switch to any topic as we like. Rolling on the floor laughing . Also it’s proud to find one author from Sri Lanka who is Rajith Attapattu

Ship It Review -2

You need to focus following three area to built up a great product and ship it successfully ;

  1. Techniques
  2. Infrastructure
  3. Process
image

The book highlights importance of following areas comes under the tools and infrastructure,

Manage Assets , Script Your Build , Build Automatically , Track Issues, Track Features, Use a Testing Harness , On Choosing Tools ,When Not to Experiment.

These factors lead  for building a good infrastructure by saving time, and enhancing effectiveness.In the beginning of the chapter two ,it gives nice quote by John Carmack.

. . the cost of adding a feature isn’t
just the time it takes to code it. The
cost also includes the addition of an
obstacle to future expansion.. . . the
trick is to pick the features that
don’t fight each other.

Shortly the code should be according to the Open close principle.

Rubber Ducking

Actually this is great concept we can used for improve our coding and also to find the missing areas in our scenario. Find More

Concept :

Place a rubber duck on your monitor and describe your problems to it. There's something magical about stating your problems aloud that makes the solution more clear.