Key Factors for Effective Dev Teams, according to me!

March 19th, 2010

* Good communication
* Good sharing of tangible and intangible resources
* Learning from own and other team member’s mistake
* Good leader
* Enough resources to work with
* Good Commitment level
* Openness in environment

Ten rules of lean production

March 17th, 2010

1. Eliminate waste
2. Minimize inventory
3. Maximize flow
4. Pull production from customer demand
5. Meet customer requirements
6. Do it right the first time
7. Empower workers
8. Design for rapid changeover
9. Partner with suppliers
10. Create a culture of continuous improvement

What can be termed ‘abnormal’?

March 13th, 2010

There are many ways:

Normative abnormality
We go by ‘Nothing is normal as nothing is perfect.’
Only perfect is 100% normal. Farther you are from ideal, more abnormal you are.
Clinical abnormality
When things are beyond certain level of irrationality, bizarreness, poor adapatation, unorganization, ineffectiveness.
Cultural abnormality
When things not considered ‘normal’ by a culture.
Statistical abnormality
This one is based on idea of normal distribution or bell curve. In mathematical normal distribution, 97% data points are within 30% difference from average value. So, if average is 100 for some data set, anything less than 70 and more than 130 should be abnormal. Farther away you are from average, more abnormal you are.
Subjective abnormality
People like (based on some criteria selected by me) me are more normal. People different from me are abnormal. I select criteria of abnormality.

Tools for web developers….

February 17th, 2010

Firebug- Extension to FireFox.
Web Developer Tools - Extension to FireFox.
Fiddler - Like FireBug - Works with IE as well.
Internet Explorer Developer Toolbar - Extension to IE.

Enjoy.

Meaning of a sentence

February 11th, 2010

Think what following sentences would mean to you if you hear them in day-to-day conversation.

S1: “People, who do not work on anything, think that nothing is impossible.”
Makes sense?

S2: “People, who do not work on anything, think that everything is impossible.”
Makes sense?

It may seem like S1 and S2 are complementary and that means only one should make sense.
Think more annd you will realize that it is not so!

Hints:
* S1 can be taken to mean that people, who do not do things themselves, can easily think that something impossible is really possible to do when that thing is supposed to be done by others.

* S2 can be taken to mean that people, who do not do things themselves, think that everything is impossible beacuse that is the reason they do not do things in the first place.

* Or read S3.
S3: “People, who do not work on anything, think that something is impossible.”

* What do you mean by ‘people’: all persons? some persons? Specific type of persons? ‘people’ in S1 is same as ‘people’ in S2?

Have fun thinking…

Sins! Check if you are a sinner!

February 9th, 2010

In no particular order.

Extravagance:
The quality of exceeding appropriate limits of decorum or probability or truth
Lust:
Excessive sexual desire
Gluttony:
Excessive Eating
Greed:
Unsatisfiable desire for wealth, power or status
Acedia:
Lacking enthusiasm for things generally and inactivity in practice of virtue
Despair:
The feeling that everything is wrong and nothing will turn out well
Sloth:
Laziness and indifference
Rage:
Excessive uncontrolled feelings of hatred and/or anger
Envy:
Sorrow for another’s good and desire to have something that is possessed by another
Superbia:
Unreasonable and inordinate self-esteem
Vainglory:
Feelings of excessive pride or unjustified boasting

Find and remove root cause!

February 6th, 2010

If you ever, ever, put a claim to correct to fullest any situation, I repeat, any situation, then make sure that you find and remove root cause of the problem. Do not just remove symptom(s).

Here is minor, obvious, excogitated, concocted, devised example.
Imagine your best friend. He is having high temperature.
Would you try to cure him by making him take bath in cold water? Would you?!!

Think, buddy, think! Then act!

Theory of Knowledge

February 3rd, 2010

How do you know if Person knows Something?

Here are indications:
(For logicians, following are sufficient and necessary.)

1. Person believes in Something.
2. P has justification for belief.
3. Something is true.
4. Belief and truth are not accidental.

Have fun thinking about this!

Filter for ListGrid in Backbase…

September 29th, 2009

I am working on a project where backbase is being used. Customer wants to have filters on top of ListGrid. Unfortunately, ListGrid from backbase does not support this. I searched developer network on backbase developer network for this functionality. Either I missed it or it was not there. I have ended up working on custom widget which will support this. I think this source code can be useful to many others. So, I share it here. Though it is straight enough, if I recieve many request I will explain it in detail. So, without much ado, here it is. Note that it is WIP and without any warranty ;-).

Example usage:

<cp:cpListGrid id=”cpFilteredGrid”
width=”auto” height=”300px”
readonly=”true” rows=”10″ dataSource=”myGridDataSource”>
<e:handler event=”DOMNodeInsertedIntoDocument” type=”text/javascript”><![CDATA[
this.addColumn('title', 'title', '100px', true, 'text');
this.addColumn('ranking', 'ranking', '30px', true, 'checkbox');
this.synchFilterWidth();
]]>
</e:handler>
</cp:cpListGrid>


Visual Studio Tip

April 3rd, 2009

If you are normal, you must be loving Intellisense in source editor in visual studio. You press ‘.’, and you get help.

It is good, with one bad side effect. When intellisense window is opened, you cannot see source code beneath it. So, sometimes when you need to see that part of source code, you have to close intellisense window, look at source code, and open intellisense window again.

Do not blame microsoft, as they have provided a solution. Just press ‘Ctrl’ when intellisense window is open. Try it now.

Instance Failure

April 3rd, 2009

If you are successful in getting visual studio barking at you with error message “instance failure”, there is a very good chance that you have used \\ in your connection string in configuration file. Replace all \\ with \ and you should be okay.

I learnt it hard way!

Why NOT to use triggers in RDBMS….

December 31st, 2008

Reason 1: Triggers are not maintenance friendly.

Triggers are basically “Side Effects” and too many of them will create complexity of understanding.
Triggers are “hidden” in data definition language (DDL).

Reason 1: Buggy triggers can create issues.

Any buggy code can create issues, but triggers have context to create tricky concurrency ones.
Triggers are fired even when transactions are rolled back. And that means, even if inserted rows rolled back, “after insert” triggers would have fired! If this fired triggers are doing something outside RDBMS (like sending mail), that will be a problem.
In general, triggers must not do anything with external entities if they are not participating in transaction.

Also, triggers must not work on mutating tables. This means if trigger is executed as result of query operating on table X, then trigger must not query table X. Simple reason is that for one query, trigger may be fired many times and each time trigger will see different data in table X. In general, it is difficult to keep entity integrity via triggers.

Advice: Treat triggers as last resort to solve a problem.

Source:oracle.com

What is Framework?

December 6th, 2008

Framework is incomplete, though concrete, driving solution to recurring high-value problem. To elaborate more, let me go through properties of framework one by one.

1. Framework is concrete.

In other words, framework has physical components - usually files usable during production.
Java and .Net frameworks are set of concrete components like dlls, arjs, exes etc.

GoF Design Patterns are not framework as they are practical design ideas. It is up to you to apply those ideas to context. Design patterns are logical ideas which you convert to concrete software in a project, whereas framework is concrete already.

2. Framework is incomplete.

Framework itself is not usable on its own. Framework does leave some fill-in-the-blanks for its user.

If you deploy Java/.Net framework to a end-user computer, it does not add any usability value unless you write your own code to use Java/.Net and then deploy that code in executable form along with framework.

More powerful is framework, less complex are fill-in-the-blanks and more efforts in learning to use framework.
Frameworks pose trade-off challenge between learning curve and saving-coding-time.

3. Framework drives solution.

Framework dictates how you do fill-in-the-blanks. Framework dictates overall architecture of complete specific solution.

You have to follow ASP.Net rules, if you have to use ASP.Net framework to build a website.

4. Framework helps solving recurring problems.

That just means that framework are very much reusable as they are helpful in many recurring problem contexts. This also implies commercial case for building a framework for set of problem contexts.

5. Framework deal with high-valued problems.

How to add two number is a problem. Solution is a routine in a form of library. But then it is not a framework as problem is not high-valued.

Providing object persistence is high-valued problem and you can build framework for same. Note that value is relative term.

If you look at these properties, it does not make sense to try to solve any specific non-trivial problem without help from a already existing and proven framework!

What costs more? SMS or Hubble Data Transmission?

November 24th, 2008

Dr Nigel Bannister (University of Leicester) worked out cost of obtaining 1 megabyte of data from Hubble – and compared that with the 5p cost of sending a text SMS.

He said: “The bottom line is texting is at least 4 times more expensive than transmitting data from Hubble, and is likely to be
substantially more than that. The maximum size for a text message is 160 characters, which takes 140 bytes because there are only 7 bits per character in the text messaging system, and we assume the average price for a text message is 5p. There are 1,048,576 bytes in a megabyte, so that’s 1 million/140 = 7490 text messages to transmit one megabyte. At 5p each, that’s £374.49 per MB - or about 4.4 times more expensive than the ‘most pessimistic’ estimate for Hubble Space Telescope transmission costs.”

There you go!

Identify cancer early…

October 24th, 2008

Here are symptoms of cancer (of various kinds) taken from a postal mail from http://www.globalcancer.org/:

C: Change in bowel or bladder habits
A: A sore throat that doesn’t heal
U: Unusual bleeding or discharge
T: Thickening or lump in breast or elsewhere
I: Indigestion of difficulty in swallowing
O:Obvious change in wart or mole
N: Nagging cough or hoarseness

Spread this knowledge…

How to identify a gujarati?

September 8th, 2008

I received a forward from cousin on - How to identify an Indian. Based on that I have come up with sysptoms of being gujarati.

Enjoy!

  1. Everything you eat is savoured in sugar.
  2. You reuse gift wrappers and boxes at least twice.
  3. You do not know what is aluminium foil.
  4. You are Always standing next to the two largest size suitcases with too many small ones all around your body at the Airport.
  5. You arrive one or two hours late to a party - and expect host to behave as if you are early.
  6. You peel the stamps off letters that the Postal Service missed to stamp.
  7. You recycle Wedding Gifts, Birthday Gifts and Anniversary Gifts - and everybody knows about it and considers you good for that.
  8. All your children have funny pet names, which sound nowhere close to their real names.
  9. You take snacks anywhere it says ‘No Food Allowed’ .
  10. You talk for an hour at the front door when leaving someone’s house.
  11. You load up the family car with as many people as possible. Still, everybody is okay. If somebody refuses to sit in full car, that is considered arrogance.
  12. You try to keep wrapper plastic that comes with anything new in your house whether it’s the remote control, VCR, carpet or new couch. Note these new things are convered in that plastic.
  13. Your parents tell you how to do ‘everything’.
  14. You buy and display crockery, which is never used, as it is for special occasions. On special occastion, you do not use them so that they can be kept for show.
  15. You have a vinyl tablecloth on your kitchen table which moves if you move anything on table.
  16. You use grocery bags to hold garbage. You throw these bags anywhere you feel like.
  17. You keep leftover food in your fridge in as many numbers of (smaller and smaller) bowls as possible.
  18. Your kitchen shelf is full of jars, varieties of bowls and plastic utensils. Approximatelly, half of these are got free with purchase of other stuff.
  19. Your mother forces you to carry a stash of your own food whenever you travel (and travel means any car ride longer than 15 minutes).
  20. You own a pressure cooker.
  21. You diplomatically plan to make sure somebody else pays dinner bill.
  22. You live with your parents. Neither your parents nor you want otherwise to be separated.
  23. You don’t use measuring cups when cooking, though you use smallest utensil to make sure amount food looks less to guests (so that they eat less!).
  24. You take pride in breaking a queue.
  25. You can only travel if there are at least 10 persons (some of them distant relatives) to see you off or receive you. If there are less persons, you feel alone.
  26. If it is is NOT your issue, you always take interest in it, analyze it etc and feel proud to spread it at velocity of more than speed of light.
  27. Your wedding gifts are mostly in cash with a one rupee coin added to the note in a cover.
  28. If you don’t live at home, when your parents call, they ask if you’ve eaten, even if it’s midnight.
  29. You call an older person you never met before Uncle or Aunty.
  30. When your parents meet strangers and talk for a few minutes, you discover you’re talking to a distant cousin.
  31. Your parents don’t realize phone connections to foreign countries have improved in the last two decades, and still scream at the top of their lungs when making foreign calls.
  32. You have bed sheets on your sofas so as to keep them from getting dirty.
  33. It’s embarrassing if your wedding has less than 600 people.
  34. All your Tupperware is stained with food colour.
  35. You have drinking glasses made of steel.
  36. You have mastered the art of bargaining (Not only in shopping!).
  37. When you go to restaurant, you make sure to take all tooth picks.
  38. When you go to Hotel, you make sure to take all consumables. You think that you have paid for it and it is your right.
  39. You speak Gujlish (Gujarati + English).
  40. If your mothers sees you after few days, she feels your health is not good.
  41. If you meet two more Gujaratis, your volume become very loud automatically.
  42. You go to any commercial establishment, you tend to try to speak in Hindi, even if opposite party is Gujarati.
  43. You can always find a fault in best of airports, best of hotels, best of shops etc.

Would I switch to Google Chrome?

September 7th, 2008

Nope. I will not. I tried it by making it my default browser for few days.

Pro: really fast, Easy to use, Good for casual browsing
Con: No add-ons like FireFox 3.x

I will still keep using FF3.x…

Golden rule of decision making…

September 6th, 2008

If you have to decide on something important enough, do you get in a dilemma?

You want to buy a car. At the same time, you do not want to spend too much money. Your old car is still good enough, though just reaching a point where you should sell it off. No new car is good enough is your budget and you are scared that you may end up buying accident-damaged second hand car. You end up in a situation where all options have some negatives for your context and you think too much over it which keeps you away from making decision.

To get you out of this dilemma, think if following statements are true.

* All non-trivial decisions have +ve and -ve possibilities.
* All non-trivial decisions have impact (good, bad, etc) when actually taken. Impact may not have been seen as possibility before.
* You can learn from impact.
* Only you are responsible for impact of decision supposed to be taken by you, even if you take ‘advice(s) or guarantee(s)’ from no-matter-whom.
* Nobody can guarantee success, though somebody can help/influence/guide/opine etc. Note that anybody can guide you towards good or bad decision based on their own incentive.
* Anybody can do only this : Make sure to try hard enough, in reasonable time frame, that decision is ‘good’ in a context, in any case.

All in all, here is golden rule.

Take a conscious decision and take responsibility for impact.

Note that keeping decision pending is also a decision!

nFAQ: Air Travel

June 22nd, 2008

nFAQ: Not Frequently Asked Questions

Q: Why do they ask us to make seatback upright while landing and taking-off?
A: So that if aircraft crashes, we do not easily slip out of our seat belt.

Q: Why do they ask us to keep window lid open?
A: So that if there is something wrong outside (i.e. engine is on fire), one of us can see and inform them.

Q: Why do they ask us to keep mobile phones in switched off mode?
A: So that there is no chance of interference with radio devices on aircraft.
Note that it is just about not taking chance. If every phone would cause interference then they would not allow us to carry it on aircraft at all.

Q: Why do they serve candies before take-off?
A: So that we can ’suck’ candies to avoid ear-whistles or change in blood pressure.

Tree of Knowledge about Tea !

June 5th, 2008

Tea
Tea

  • From warm weather plant - Camellia sinensis
    • Except herbal tea
  • Black tea
    • Oxydized for 2-4 hours
    • Most used
    • Adding milk ruins advantage!
    • Helps in
      • Blood Pressure irregulation
      • Arteries get relaxed
  • Green Tea
    • Not oxydized
    • Leaves are steamed, rolled and dried
    • Has antioxidant - rich in polyphenols - epigallocatechin gallate (EGCG)
    • Helps in curing
      • Cancer, Rheumatoid arthritis, High cholesterol levels,
        Heart disease, Infection, Impaired immune function,
        Obesity, overweight, High blood sugar levels, Ageing
  • Oolong Tea
    • Leaves are withered, rolled, semi-fermented and fired
    • Rich in polyphenols
    • Helps in
      • Obesity, tooth decay, atopic dermatitis
      • Drink after high-cholesterol meal to reduce fat intake
  • White Tea
    • Least processed
    • Leaves and buds are steamed and dried
    • Helps in
      • Like Green tea, but better
  • Matcha Tea
    • High quality green tea
    • Leaves are ground fine
      • Tea particle goes to water
      • instead of steeped/strained like other tea
    • Strong, sometimes bitter flavor
    • Helps in
      • Like green tea, but better
  • Pu-erh Tea
    • processed, fermented, formed into bricks or cakes and aged
    • Older is costier
    • Named after chines town
    • Strong earthly taste
    • Helps in
      • Cholesterol level, indigestion, hangover
  • Red Tea
    • rooibos
    • Herbal tisane grown only in South Africa
    • Rich in polyphenols and flavonoids
    • Naturally caffeine free
    • Has iron, potassium and copper
    • Helps in
      • Boosts immune system
  • May contain fluorides and pesticides like all veg
    • Harms bones