Thursday, February 24, 2005

A simple basis for judging people

You can accurately judge the worth of a person or organization, even yourself, by how well these three things are done:
1. Promising only what you intend to deliver
2. Keeping your word once given
3. Following through so as to meet expectations
We trust people who do these things. People who don't do these things are untrustworthy, no matter who they are, how educated they are, or how important they may be.

Monday, February 14, 2005

Tuesday, February 08, 2005

Citizenship day

It was the day I became a US citizen. I took the oath of allegiance and renounced my citizenship to India. Received a personal letter from the White House signed by the president. Some complex words in the oath : abjure, potentate

Monday, February 07, 2005

Thaughts on Learning...

A person has to be more interested in opinions that differ from his own than those that agree. You never learn much from talking to people who agree with you.

Friday, February 04, 2005

UML and software development methodoligies

UML is a bit like SQL – useful as a lowest common denominator but you shouldn't expect much more of it. Just like SQL standards, UML has its uses, but it shouldn't be treated as a be-all and end-all standard to adhere to. There are still lots of methodologies. However, the big difference today is that methodologies are all extensible: they simply represent a starting point from which you can develop your own approach. So, UML did its job of getting rid of the rigid methodologies of the past, it is no longer necessary to do so for today's more flexible approaches.

Wednesday, February 02, 2005

Compact way to create an Immutable list

List southEastStates = Arrays.asList( new String[] { "NC", "SC", "GA", "FL" });


you can create and initialize a new collection as an expression by using the "double-brace" syntax:
E.g.
 private static final Set VALID_CODES = new HashSet() {{
add("XZ13s");
add("AB21/X");
add("YYLEX");
add("AR2D");
 }};
Or:
 removeProductsWithCodeIn(new HashSet() {{
add("XZ13s");
add("AB21/X");
add("YYLEX");
add("AR5E");
 }});

Tuesday, February 01, 2005

DOM vs SAX

DOM vs SAX

Philosophy of Software Craftmanship

Software Craftsmanship classifies programmers as apprentices, journeymen and masters, where:
apprentices find the nearest example and copy it
journeymen find the best example and use it
masters find the best example and improve it

Links to managing programmers

http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=89827&ixReplies=7

http://discuss.joelonsoftware.com/default.asp?joel.3.69155.17


What are kids interested?

Kids will pick what they want to be interested in as a natural result of what they do in life. Parents can try to get them interested in all sorts of things they think would be good for them - soccer, football, tennis, math team, piano lessons, foreign language, blah blah.

Do your kid a favor and support whatever it is your kid spends all their time doing. If you have to "show" them how to be interested in it, they're not interested in it, and you're wasting both of your time.


Quotes on servicing the global population and building a company

About 80 per cent of the global population lives in the developing world. These people have low disposable income. Thus, taken as individuals, their buying strength is small but, as a group, they have an enormous potential as a market.
On the other hand, the markets in the developed world are getting saturated and growth is coming down. Hence, if multinational companies were to design products that are inexpensive and cater to this vast segment of low-disposable income consumers, then there is tremendous growth opportunity both in revenues and profits for MNCs.
Key to building a great company?
Good leadership. Great leaders raise the aspirations of their followers; they make people more confident, energetic and enthusiastic.Such leaders make people embrace the adage: a plausible impossibility is better than a convincing possibility.
People, who are motivated by great leaders, dream big, make sacrifices and achieve miracles. It is not sufficient just to have great leaders. We need a mechanism to identify, train, empower and mentor successive generations of leaders. Such leadership training and mentoring has to become the responsibility of the current generation of leaders.
Second, we have to create a grand, noble vision which elevates the energy, enthusiasm and self-esteem of everyone in the company while ensuring that everybody sees a benefit in following the vision.
Third, a company has to benchmark itself on a global scale in every area including sales, production, human resources, R&D and finance. It creates an open and confident environment where first-raters recruit first-raters.
Fourth, a great company continuously measures and improves the following attributes: meritocracy, fairness, justice, openness, speed, imagination and excellence in execution.
Finally, a great company practices an enduring value system, and follows the finest system of corporate governance.

Thaughts on Salary Negotiation after interview

First offer you get is probably around 10% less than they will go if pressed. But you need to be prepared to walk away if they refuse to budge.
As far as needing/deserving a raise, that means nothing to the company. Look at it from their perspective, not yours:
Are you doing the work at your current salary?
Do they have a reason to believe you are prepared to leave?
Can you be replaced if you leave?
You should ask for as much as possible in interviews and have a very firm low number. if they go below it, then it's not the right position for you.
One bit of advice would be to never ever give your salary history or tell them your salary requirement. No matter how much they ask, make them offer first. If they don't, walk away.

Food for thaught

1. Carbohydrates spike insuline levels in your blood. High insuline levels result in the sleepy feeling. The rate at which insuline is released in you blood can be regualted if you eat foods in combination. For example carbs should always be eaten with protien. Or carbs should be eaten with fats, preferable polyunsaturated or unstaurated. This should mitigate the 'spleepiness factor'.

2. Eat carbs high in fibre. Fibre slows the rate at which nutients are absorbed (including glucose) and therefore helps regulate blood sugar levels, inhibiting the insuline spike described above. So, if you are eating tuna sandwiches on white bread, try whole wheat. Note that not all 'brown bread' is whole wheat.

3. Eat more times during the day. The typical North American diet usually has 3 meals a day with 60% of all calories coming from dinner. Try eating smaller portions, but more frequently, usually 2 - 3 hours apart. For example something like this:
Breakfast: 8:00 AM
Bowl of bran flakes with real raisins added
Skim milk
Snack #1: 10:30 AM
Protien Shake (Banna, peanut butter, milk and whey)
Granola bar
Lunch 12:00 PM
Tuna Sandwich on rye bread (low fat mayo)
Salad with olive oil and viniger dressing
Banana
Snack #2 3:30 PM
2 Low fat yogurt
Apple
Dinner #1 5:30 PM
Grilled Chicken
Baked potato
Side Vegetable (Corn, Broccoli, etc)
Dinner #2 8:00 PM
Grilled Salmon
2 Slices 100% Whole Wheat Bread
Side Vegetable (Corn, Broccoli, etc)

Eating 6 times a day is very difficult at the beginning. It takes a lot of planning.

Thaughts on MBA

A MBA is not an entitlement program. Nor is any degree. It's what you do with yourself, how you apply your talents to what you want to achieve, how you compete in the marketplace, that counts. Some folks need/use a degree to leverage themselves, some don't.
The people who get degrees and sit back and wait for something to happen that skyrockets their career were like that before they entered the program. Afterwards, they are just the same, but with a MBA. So nothing much will change for them because there was not much going on with them to leverage in the first place.
Top MBA programs pick students who will be winners ANYWAY, and then take the credit when they do good
One of the biggest reasons for getting an MBA is to get great, life-long connections. The point is, an MBA from a top school presents you with an "opportunity" for incredible biz and personal connections worldwide and in many different industries. You can get the "knowlege" of finance, accounting, etc., from ANY good MBA program.
http://cbet.uwaterloo.ca/MBA-reallyworth.html
http://www.fastcompany.com/magazine/83/mbamenace.html

To master the art of problem solving, master the art of problem stating

Quoted from http://www.jroller.com/comments/njain/Weblog/to_master_the_art_problem
Are we obsessed with solutions?
Engineers are very good at providing solutions! But how good are we at stating the real problem?Most of the times we go in and say “this is the solution…“, but does the person really understands what the problem is, in the first place?
Day in and day out we talk about communication problems. Stating the solution and not talking about the problem, doesn‘t it increases the communication problem further?
Is this a problem with the education or the culture or something else? (we need something to point our fingers at!)
Some of my thoughts:From schooling, we are always been within the solution domain and not in the problem domain. You are really appreciated for giving out the right answer in the class but not appreciated for asking the right question.Most of the examinations we have, are based on giving the right answers for a set of question not not for deriving the right question based on a scenario.
But how does this affect my work?1. Analysis is the skill of asking the right questions and then figuring out the solution for the question. But what if you can never ask the right question? How can you be sure that the answer is right? Without having the right question, the whole feed-back mechanism falls apart.
2.From development point of view, asking the right question is the key to TDD. Unless you can ask the right question you will never be able to write the right test.
3.To a great extent, I feel the success of Agile/XP depends on this skill of asking the right question. Since we don‘t have an explicit, upfront design phase, it is very important to know the right question before trying to implement a solution.
Hence I say, “A problem started with the right question is half solved!”
Q.E.D: To master the art of problem solving, master the art of problem stating.