Monday, November 30, 2009
Interactive Sites on Medical INFO - Very useful
Diseases and Conditions
Abdominal Aortic Aneurysm
Acne
AIDS
Allergies to Dust Mites
Alopecia
Amyotrophic Lateral Sclerosis (ALS)
Angina
Anthrax
Arrhythmias
Arthritis
Asthma
Atrial Fibrillation
Avian Influenza
Back Pain - How to Prevent
Bell's Palsy
Brain Cancer
Breast Cancer
Burns
Cataracts
Cerebral Palsy
Cold Sores (Herpes)
Colon Cancer
Congestive Heart Failure
COPD (Chronic Obstructive Pulmonary Disease)
Crohn's Disease
Cystic Fibrosis
Depression
Diabetes - Eye Complications
Diabetes - Foot Care
Diabetes - Introduction
Diabetes - Meal Planning
Diverticulosis
Endometriosis
Epstein Barr (Mononucleosis)
Erectile Dysfunction
Fibromyalgia
Flashes and Floaters
Fractures and Sprains
Ganglion Cysts
Gastroesophageal Reflux Disease (GERD)
Glaucoma
Gout
Hearing Loss
Heart Attack
Hepatitis B
Hepatitis C
Hypertension (High Blood Pressure)
Hypoglycemia
Incisional Hernia
Influenza
Inguinal Hernia
Irritable Bowel Syndrome
Kidney Failure
Kidney Stones
Leishmaniasis
Leukemia
Low Testosterone
Lung Cancer
Lupus
Lyme Disease
Macular Degeneration
Malaria
Melanoma
Meningitis
Menopause
Migraine Headache
Mitral Valve Prolapse
Multiple Myeloma
Multiple Sclerosis
Myasthenia Gravis
Osteoarthritis
Osteoporosis
Otitis Media
Ovarian Cancer
Ovarian Cysts
Pancreatitis
Parkinson's Disease
Pneumonia
Prostate Cancer - What is it?
Psoriasis
Retinal Tear and Detachment
Rheumatoid Arthritis
Rotator Cuff Injuries
Sarcoidosis
Scabies
Seizures and Epilepsy
Sexually Transmitted Diseases
Shingles
Skin Cancer
Sleep Disorders
Smallpox
Spinal Cord Injury
Temporomandibular Joint Disorders (TMJ)
Tennis Elbow
Tinnitus
Trigeminal Neuralgia
Tuberculosis
Ulcerative Colitis
Umbilical Hernia
Uterine Fibroids
Varicose Veins
Vasculitis
Warts
Tests and Diagnostic Procedures
Amniocentesis
Barium Enema
Bone Densitometry
Breast Lumps - Biopsy
Bronchoscopy
Colonoscopy
Colposcopy
Coronary Angiogram and Angioplasty
CT Scan (CAT Scan)
Cystoscopy - Female
Cystoscopy - Male
Echocardiogram
Echocardiography Stress Test
IVP (Intra Venous Pyelogram)
Knee Arthroscopy
Laparoscopy
Mammogram
MRI
Myelogram
Newborn Screening
Pap Smear
Shoulder Arthroscopy
Sigmoidoscopy
Ultrasound
Upper GI Endoscopy
Surgery and Treatment Procedures
Aorto-Bifemoral Bypass
Cardiac Rehabilitation
Carotid Endarterectomy
Carpal Tunnel Syndrome
Chemotherapy
Cholecystectomy - Open Laparoscopic (Gallbladder Removal Surgery)
Clinical Trials
Colon Cancer Surgery
Colostomy
Coronary Artery Bypass Graft (CABG)
C-Section
Dilation and Curettage (D & C)
General Anesthesia
Heart Valve Replacement
Hemorrhoid Surgery
Hip Replacement
Hip Replacement - Physical Therapy
Hysterectomy
Knee Replacement
LASIK
Massage Therapy
Neurosurgery - What is it?
Open Heart Surgery - What to Expect?
Pacemakers
Preparing for Surgery
Prostate Cancer - Radiation Therapy
Shoulder Replacement
Sinus Surgery
Stroke Rehabilitation
Thyroid Surgery
Tonsillectomy and Adenoidectomy
TURP (Prostate Surgery)
Vaginal Birth
Vasectomy
Prevention and Wellness
Back Exercises
Coumadin - Introduction
Exercising for a Healthy Heart
Managing Cholesterol
Muscles
Preventing Strokes
Smoking - The Facts
Saturday, November 28, 2009
Annotations
Annotation: From English Dictionary, it's the explanation/comments/Remarks/Observations/Notes/Clarifications.
Annotations in Java: Annotations are like meta-tags that you can add to your code and apply them to package declarations, type declarations, constructors, methods, fields, parameters, and variables. As a result, you will have helpful ways to indicate whether your methods are dependent on other methods, whether they are incomplete, whether your classes have references to other classes, and so on.
Pros & cons of Annotations:
Pros :1) Annotations are relatively simple to use and understand.2) Compilation time requires less for annotations when compared to the xml-configurations.3) Annotations are used for flexibility.4) Annotations can be used by the compiler to detect errors or suppress warnings.5) Software tools can process annotation information to generate code, XML files, and so forth.6) Annotations can be applied to a program's declarations of classes, fields, methods, and other program elements.
Cons: Annotations unnecessarily couple the metadata to the code. Thus, changes to metadata require changing the source code. (i.e. when we want to change some configuration , we need to change the source code, where as in the xml -configuration, just need to change the xml file & redeploy it ).
Two things in Annotations:
1) Annotation : An annotation is the meta-tag that you will use in your code to give it some life.
2) Annotation Type: It is used for defining an annotation. used when we need to create our own custom annotation.
Define an Annotation type: In order to define our own custom tag, the following syntax need to be followed. "@" symbol followed by "interface" followed by "Name of the annotations".
Example:
public @interface MyAnnotation {String doSomething();}
Annotate Your Code (Annotation)
We are just supposed to use the name of our annotations & assign some values to the annotation variables.
Example:
MyAnnotation (doSomething="What to do")public void mymethod() {....}
Annotation Types:
There are three annotation types:
Marker: Marker type annotations have no elements, except the annotation name itself. Example: public @interface MyAnnotation {}Usage: @MyAnnotationpublic void mymethod() {....}
Single-Element: Single-element, or single-value type, annotations provide a single piece of data only. This can be represented with a data=value pair or, simply with the value (a shortcut syntax) only, within parenthesis.Example: public @interface MyAnnotation {String doSomething();}Usage: @MyAnnotation ("What to do")public void mymethod() {....}
Full-value or multi-value: Full-value type annotations have multiple data members. Therefore, you must use a full data=value parameter syntax for each member.Example: public @interface MyAnnotation {String doSomething();int count; String date();}Usage: @MyAnnotation (doSomething="What to do", count=1,date="09-09-2005")public void mymethod() {....}
Rules to define an Annotation Type.
1) Annotation declaration should start with an 'at' sign like @, following with an interface keyword, following with the annotation name.2) Method declarations should not have any parameters.3) Method declarations should not have any throws clauses.4) Return types of the method should be one of the following:i) primitivesii) Stringiii) Classiv) enumv) array of the above types
Annotation :
Simple annotations : These are the basic types supplied with Tiger, which you can use to annotate your code only; you cannot use those to create a custom annotation type. There are only three types of simple annotations provided by JDK5.
They are:
Override : ( @Override ) throws an error when it some method is not overrided preoperly.
Deprecated: ( @Deprecated ) throws warnings when a method is used which is deprecated.
Suppress warnings: This annotation indicates that compiler warnings should be shielded in the annotated element and all of its sub-elements. @SuppressWarnings({"deprecation
Meta annotations : These are called the annotations-of-annotations
These are:i) Targetii) Retentioniii) Documentediv) Inherited.
The Target annotation : The target annotation indicates the targeted elements of a class in which the annotation type will be applicable. It contains the following enumerated types as its value:@Target(ElementType.TYPE)—can be applied to any element of a class@Target(ElementType.FIELD)—can be applied to a field or property@Target(ElementType.METHOD)—can be applied to a method level annotation@Target(ElementType.PARAMETER)—can be applied to the parameters of a method@Target(ElementType.CONSTRUCTOR)—can be applied to constructors@Target(ElementType.LOCAL_VARIABLE)—can be applied to local variables@Target(ElementType.ANNOTATION_TYPE)—indicates that the declared type itself is an annotation type
The Retention annotation:The retention annotation indicates where and how long annotations with this type are to be retained. There are three values:RetentionPolicy.SOURCE—Annotations with this type will be by retained only at the source level and will be ignored by the compilerRetentionPolicy.CLASS—Annotations with this type will be by retained by the compiler at compile time, but will be ignored by the VMRetentionPolicy.RUNTIME—Annotations with this type will be retained by the VM so they can be read only at run-time
The Documented annotation : The documented annotation indicates that an annotation with this type should be documented by the javadoc tool. . By default, annotations are not included in javadoc. But if @Documented is used, it then will be processed by javadoc-like tools and the annotation type information will also be included in the generated document
The Inherited annotation: Automatically all the methods are inherited in the child class.
Ex :@Inheritedpublic @interface myParentObject {boolean isInherited() default true;String doSomething() default "Do what?";}
Next, annotate a class with your annotation:
@myParentObjectpublic Class myChildObject {}
If there were no annotations , we should have written the class in the following way. i.e. we need to implement all the methods
public class myChildObject implements myParentObjectpublic boolean isInherited() {return false;}public String doSomething() {return "";}public boolean equals(Object obj) {return false;}public int hashCode() {return 0;}public String toString() {return "";}public Class annotationType() {return null;}}
Monday, November 23, 2009
Serialization
3 Modes of Serialization in Java:
1) Implement either Serializable or Externalizable interface.
2) XML serialization :
3) Implement our own serialzation process, i.e. suing objectObjectStream
Deserialization is the process of rebuilding those bytes into a live object.
Why Serialization ???
In Java everything is an object, & these object are supposed to transfer to one server/component/network to other server/component/network if we want to communicate each other.
One way to achieve this is to define our own protocol and transfer an object. This means that the receiving end must know the protocol used by the sender to re-create the object, which would make it very difficult to talk to third-party components. Hence, there needs to be a generic and efficient protocol to transfer the object between components. Serialization is defined for this purpose, and Java components use this protocol to transfer objects.
Steps to Serialize an Object.
1) The object which is to be serialized has to implement a maker interface called Serializable.
2) The marker interface is nothing but a mechanism which tells that the class/object can be serialized.
3) calling the methods writeObject() , & readObject() as per our requirement.
4) No argument constructer should be there for the object.
Java's serialization algorithm

- Transient variables and Static Variables can't be serailized.
- Transient variables will have its default values when deserialize them.
- serialVersionUID is generated using the metadata of the class.
- you can use tool serialver to see serialVersionUID of a serialized object .
- java.io.InvalidClassException will be thrown if there is mismatch with the serialVersionUID
- if the base is not serializable and derived class is serilzable, then NotSerializableException is thrown.
Q1) What is Serialization?
Ans) Serializable is a marker interface. When an object has to be transferred over a network ( typically through rmi or EJB) or persist the state of an object to a file, the object Class needs to implement Serializable interface. Implementing this interface will allow the object converted into bytestream and transfer over a network.
Q2) What is use of serialVersionUID?
Ans) During object serialization, the default Java serialization mechanism writes the metadata about the object, which includes the class name, field names and types, and superclass. This class definition is stored as a part of the serialized object. This stored metadata enables the deserialization process to reconstitute the objects and map the stream data into the class attributes with the appropriate type
Everytime an object is serialized the java serialization mechanism automatically computes a hash value. ObjectStreamClass's computeSerialVersionUID() method passes the class name, sorted member names, modifiers, and interfaces to the secure hash algorithm (SHA), which returns a hash value.The serialVersionUID is also called suid.
So when the serilaize object is retrieved, the JVM first evaluates the suid of the serialized class and compares the suid value with the one of the object. If the suid values match then the object is said to be compatible with the class and hence it is de-serialized. If not InvalidClassException exception is thrown.
Changes to a serializable class can be compatible or incompatible. Following is the list of changes which are compatible:
• Add fields
• Change a field from static to non-static
• Change a field from transient to non-transient
• Add classes to the object tree
List of incompatible changes:
• Delete fields
• Change class hierarchy
• Change non-static to static
• Change non-transient to transient
• Change type of a primitive field
So, if no suid is present , inspite of making compatible changes, jvm generates new suid thus resulting in an exception if prior release version object is used .
The only way to get rid of the exception is to recompile and deploy the application again.
If we explicitly metion the suid using the statement:
private final static long serialVersionUID =
then if any of the metioned compatible changes are made the class need not to be recompiled. But for incompatible changes there is no other way than to compile again.
Q3) What is the need of Serialization?
Ans) The serialization is used :-
• To send state of one or more object’s state over the network through a socket.
• To save the state of an object in a file.
• An object’s state needs to be manipulated as a stream of bytes.
Q4) Other than Serialization what are the different approach to make object Serializable?
Ans) Besides the Serializable interface, at least three alternate approaches can serialize Java objects:
1)For object serialization, instead of implementing the Serializable interface, a developer can implement the Externalizable interface, which extends Serializable. By implementing Externalizable, a developer is responsible for implementing the writeExternal() and readExternal() methods. As a result, a developer has sole control over reading and writing the serialized objects.
2)XML serialization is an often-used approach for data interchange. This approach lags runtime performance when compared with Java serialization, both in terms of the size of the object and the processing time. With a speedier XML parser, the performance gap with respect to the processing time narrows. Nonetheless, XML serialization provides a more malleable solution when faced with changes in the serializable object.
3)Finally, consider a "roll-your-own" serialization approach. You can write an object's content directly via either the ObjectOutputStream or the DataOutputStream. While this approach is more involved in its initial implementation, it offers the greatest flexibility and extensibility. In addition, this approach provides a performance advantage over Java serialization.
Q5) Do we need to implement any method of Serializable interface to make an object serializable?
Ans) No. Serializable is a Marker Interface. It does not have any methods.
Q6) What happens if the object to be serialized includes the references to other serializable objects?
Ans) If the object to be serialized includes the references to other objects whose class implements serializable then all those object’s state also will be saved as the part of the serialized state of the object in question. The whole object graph of the object to be serialized will be saved during serialization automatically provided all the objects included in the object’s graph are serializable.
Q7) What happens if an object is serializable but it includes a reference to a non-serializable object?
Ans- If you try to serialize an object of a class which implements serializable, but the object includes a reference to an non-serializable class then a ‘NotSerializableException’ will be thrown at runtime.
e.g.
public class NonSerial {
//This is a non-serializable class
}
public class MyClass implements Serializable{
private static final long serialVersionUID = 1L;
private NonSerial nonSerial;
MyClass(NonSerial nonSerial){
this.nonSerial = nonSerial;
}
public static void main(String [] args) {
NonSerial nonSer = new NonSerial();
MyClass c = new MyClass(nonSer);
try {
FileOutputStream fs = new FileOutputStream("test1.ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(c);
os.close();
} catch (Exception e) { e.printStackTrace(); }
try {
FileInputStream fis = new FileInputStream("test1.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
c = (MyClass) ois.readObject();
ois.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
On execution of above code following exception will be thrown –
java.io.NotSerializableException: NonSerial
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java)
Q8) Are the static variables saved as the part of serialization?
Ans) No. The static variables belong to the class and not to an object they are not the part of the state of the object so they are not saved as the part of serialized object.
Q9) What is a transient variable?
Ans) These variables are not included in the process of serialization and are not the part of the object’s serialized state.
Q10) What will be the value of transient variable after de-serialization?
Ans) It’s default value.
e.g. if the transient variable in question is an int, it’s value after deserialization will be zero.
public class TestTransientVal implements Serializable{
private static final long serialVersionUID = -22L;
private String name;
transient private int age;
TestTransientVal(int age, String name) {
this.age = age;
this.name = name;
}
public static void main(String [] args) {
TestTransientVal c = new TestTransientVal(1,"ONE");
System.out.println("Before serialization: - " + c.name + " "+ c.age);
try {
FileOutputStream fs = new FileOutputStream("testTransients.ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(c);
os.close();
} catch (Exception e) { e.printStackTrace(); }
try {
FileInputStream fis = new FileInputStream("testTransients.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
c = (TestTransientVal) ois.readObject();
ois.close();
} catch (Exception e) { e.printStackTrace(); }
System.out.println("After de-serialization:- " + c.name + " "+ c.age);
}
}
Result of executing above piece of code –
Before serialization: - Value of non-transient variable ONE Value of transient variable 1
After de-serialization:- Value of non-transient variable ONE Value of transient variable 0
Explanation –
The transient variable is not saved as the part of the state of the serailized variable, it’s value after de-serialization is it’s default value.
Q11) Does the order in which the value of the transient variables and the state of the object using the defaultWriteObject() method are saved during serialization matter?
Ans) Yes. As while restoring the object’s state the transient variables and the serializable variables that are stored must be restored in the same order in which they were saved.
Q12) How can one customize the Serialization process? or What is the purpose of implementing the writeObject() and readObject() method?
Ans) When you want to store the transient variables state as a part of the serialized object at the time of serialization the class must implement the following methods –
private void wrtiteObject(ObjectOutputStream outStream)
{
//code to save the transient variables state as a part of serialized object
}
private void readObject(ObjectInputStream inStream)
{
//code to read the transient variables state and assign it to the de-serialized object
}
e.g.
public class TestCustomizedSerialization implements Serializable{
private static final long serialVersionUID =-22L;
private String noOfSerVar;
transient private int noOfTranVar;
TestCustomizedSerialization(int noOfTranVar, String noOfSerVar) {
this.noOfTranVar = noOfTranVar;
this.noOfSerVar = noOfSerVar;
}
private void writeObject(ObjectOutputStream os) {
try {
os.defaultWriteObject();
os.writeInt(noOfTranVar);
} catch (Exception e) { e.printStackTrace(); }
}
private void readObject(ObjectInputStream is) {
try {
is.defaultReadObject();
int noOfTransients = (is.readInt());
} catch (Exception e) {
e.printStackTrace(); }
}
public int getNoOfTranVar() {
return noOfTranVar;
}
}
The value of transient variable ‘noOfTranVar’ is saved as part of the serialized object manually by implementing writeObject() and restored by implementing readObject().
The normal serializable variables are saved and restored by calling defaultWriteObject() and defaultReadObject()respectively. These methods perform the normal serialization and de-sirialization process for the object to be saved or restored respectively.
Q13) If a class is serializable but its superclass in not , what will be the state of the instance variables inherited from super class after deserialization?
Ans) The values of the instance variables inherited from superclass will be reset to the values they were given during the original construction of the object as the non-serializable super-class constructor will run.
E.g.
public class ParentNonSerializable {
int noOfWheels;
ParentNonSerializable(){
this.noOfWheels = 4;
}
}
public class ChildSerializable extends ParentNonSerializable implements Serializable {
static final long serialVersionUID = 1L;
String color;
ChildSerializable() {
this.noOfWheels = 8;
this.color = "blue";
}
}
public class SubSerialSuperNotSerial {
public static void main(String [] args) {
ChildSerializable c = new ChildSerializable();
System.out.println("Before : - " + c.noOfWheels + " "+ c.color);
try {
FileOutputStream fs = new FileOutputStream("superNotSerail.ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(c);
os.close();
} catch (Exception e) { e.printStackTrace(); }
try {
FileInputStream fis = new FileInputStream("superNotSerail.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
c = (ChildSerializable) ois.readObject();
ois.close();
} catch (Exception e) { e.printStackTrace(); }
System.out.println("After :- " + c.noOfWheels + " "+ c.color);
}
}
Result on executing above code –
Before : - 8 blue
After :- 4 blue
The instance variable ‘noOfWheels’ is inherited from superclass which is not serializable. Therefore while restoring it the non-serializable superclass constructor runs and its value is set to 8 and is not same as the value saved during serialization which is 4.
Q14) To serialize an array or a collection all the members of it must be serializable. True /False?
Ans) true.
15) What happens to the static fields of a class during serialization?
There are three exceptions in which serialization doesn’t necessarily read and write to the stream. These are
1. Serialization ignores static fields, because they are not part of any particular state.
2. Base class fields are only handled if the base class itself is serializable.
3. Transient fields.
16) What one should take care of while serializing the object?
One should make sure that all the included objects are also serializable. If any of the objects is not serializable then it throws a NotSerializableException.
17) What is serialVersionUID? What would happen if you don't define this?
SerialVersionUID is an ID which is stamped on object when it get serialized usually hashcode of object, you can use tool serialver to see serialVersionUID of a serialized object . serialVersionUID is used for version control of object. you can specify serialVersionUID in your class file also. Consequence of not specifying serialVersionUID is that when you add or modify any field in class then already serialized class will not be able to recover because serialVersionUID generated for new class and for old serialized object will be different. Java serialization process relies on correct serialVersionUID for recovering state of serialized object and throws java.io.InvalidClassException in case of serialVersionUID mismatch.
Thursday, November 19, 2009
Nov 14th 2009 - Celebrations with Children
Some of the BoA associates are waiting near 5A parking slot for one more associate whose name is "Madhu". Actually Madhu went to Reliance Mart to buy some snacks to children before time itself. He bought 100 chocolates, 100 Gems packets, some more chocolates & biscuits to the children, As he is the first person in the mart he thought the billing happen
s with in no time & he can reach the office on time, but the great Reliance Mart guy said that he doesn't option to enter the "quantity " in the billing tool & he has scan each & every item, so in turn he scanned 100 Chocolate, 100 Gems.. etc.. Finally, Madhu reached office along with long long bill along with snacks.With that long long bill all of us started to BJR school which is in Jubilee Hills. The place we went contains 2 different kinds of environments , one side slum area with no proper drainage , & one more side highly posed "Villas". By seeing that area we can easily get to kno
w all kinds of people & their standing of living. After watching the posh & slum environments , we entered into the school premises.As soon as we enter, we got sooo many wishes, so many greetings from school children & teachers. After the warm wishes children placed in their places to watch & enjoy the Magic show which is conducted by BoA. The magician is so clever that he carried full of smiles throughout the show. He made all the children to participate in the show. The magician made the show as Fun Learning movements to the children by conduction quiz after the show, where he presented some gifts also to the winners. He thought children about the greatness of non-violence, our culture, & why we are celebrating some festivals like HOLI etc.
After the magic show, Now the fun started with Dance & music which is hidden in children. We spent lot of time with non-stop sprit in the children in dance & songs. almost all children were willing to participate in the dance & songs... Mean while the associates made packing of the sna
cks to distribute to the children.After the dance & music the children are asked to take their seats in their respective class rooms. Associates disturbed the snacks ( chocolates, Biscuits , Gems.. ) to the children & sweets to the parent & teachers.
After all these things we have a photos section..
With lots of fun learning happiness in our faces, we returned to our work place.
Here are some glimpse of the cheerful movements ....
http://www.flickr.com/photos/44766037@N03/
http://picasaweb.google.co.in/neetha.jlg/NewFolder03?authkey=Gv1sRgCI_dieWw9JShbA&feat=email#
Tuesday, November 17, 2009
Breathing Therapy
Breathing TherapyThe nose has a left and a right side; we use both to inhale and exhale. Actually they are different; you would be able to feel the difference. The right side represents the sun, left side represents the moon. During a headache, try to close your right nose and use your left nose to breathe. In about 5 mins, your headache will go . If you feel tired, just reverse, close your left nose and breathe through your right nose. After a while, you will feel your mind is refreshed. Right side belongs to 'hot', so it gets heated up easily, left side belongs to 'cold'. Most females breathe with their left noses, so they get "cooled off" faster. Most of the guys breathe with their right noses, they get worked up. Do you notice the moment we wake up, which side breathes faster? Left or right? ? If left is faster, you will feel tired. So, close your left nose and use your right nose for breathing, you will get refreshed quickly. This can be taught to kids, but it is more effective when practiced by adults. My friend used to have bad headaches and was always visiting the doctor. There was this period when he suffered headache literally every night, unable to study. He took painkillers, did not work. He
decided to try out the breathing therapy here: closed his right nose and breathed through his left nose. In less than a week, his headaches were gone! He continued the exercise for one month. This alternative natural therapy without medication is something that he has experienced. So, why not give it a try?Some Health Tips Reg : SLEEP
What killed Ranjan Das and Lessons for Corporate India
A month ago, many of us heard about the sad demise of Ranjan Das from Bandra, Mumbai. Ranjan, just 42 years of age, was the CEO of SAP-Indian Subcontinent, the youngest CEO of an MNC in India. He was very active in sports, was a fitness freak and a marathon runner. It was common to see him run on Bandra's Carter Road. Just after Diwali, on 21st Oct, he returned home from his gym after a workout, collapsed with a massive heart attack and died. He is survived by his wife and two very young kids.
It was certainly a wake-up call for corporate India. However, it was even more disastrous for runners amongst us. Since Ranjan was anavid marathoner (in Feb 09, he ran Chennai Marathon at the same time some of us were running Pondicherry Marathon 180 km away), the question came as to why an exceptionally active, athletic person succumb to heart attack at 42 years of age.
Was it the stress?
A couple of you called me asking about the reasons. While Ranjan had mentioned that he faced a lot of stress, that is a common element in most of our lives. We used to think that by being fit, one can conquer the bad effects of stress. So I doubted if the cause was stress.
The Real Reason
However, everyone missed out a small line in the reports that Ranjan used to make do with 4-5 hours of sleep. This is an earlier interview of Ranjan on NDTV in the program 'Boss' Day Out':
http://connect.in.com/ranjan-das/play-video-boss-day-out-ranjan-das-of-sap-india-229111-807ecfcf1ad966036c289b3ba6c376f2530d7484.html
Here he himself admits that he would love to get more sleep (and that he was not proud of his ability to manage without sleep, contrary to what others extolled).
The Evidence
Last week, I was working with a well-known cardiologist on the subject of ‘Heart Disease caused by Lack of Sleep’. While I cannot share the video nor the slides because of confidentiality reasons, I have distilled the key points below in the hope it will save some of our lives.
Some Excerpts:
· Short sleep duration (<5 or 5-6 hours) increased risk for high BP by 350% to 500% compared to those who slept longer than 6 hours per night. Paper published in 2009.
As you know, high BP kills.
· Young people (25-49 years of age) are twice as likely to get high BP if they sleep less. Paper published in 2006.
· Individuals who slept less than 5 hours a night had a 3-fold increased risk of heart attacks. Paper published in 1999.
· Complete and partial lack of sleep increased the blood concentrations of High sensitivity C-Reactive Protein (hs-cRP), the strongest predictor of heart attacks. Even after getting adequate sleep later, the levels stayed high!!
· Just one night of sleep loss increases very toxic substances in body such as Interleukin-6 (IL-6), Tumour Necrosis Factor-Alpha (TNF-alpha) and C-reactive protein (cRP). They increase risks of many medical conditions, including cancer, arthritis andheart disease. Paper published in 2004.
· Sleeping for <=5 hours per night leads to 39% increase in heart disease. Sleeping for <=6 hours per night leads to 18% increase in heart disease. Paper published in 2006.
Ideal Sleep
For lack of space, I cannot explain here the ideal sleep architecture. But in brief, sleep is composed of two stages: REM (Rapid Eye Movement) and non-REM. The former helps in mental consolidation while the latter helps in physical repair and rebuilding. During the night, you alternate between REM and non-REM stages 4-5 times.
The earlier part of sleep is mostly non-REM. During that period, your pituitary gland releases growth hormones that repair your body. The latter part of sleep is more and more REM type.
For you to be mentally alert during the day, the latter part of sleep is more important. No wonder when you wake up with an alarm clock after 5-6 hours of sleep, you are mentally irritable throughout the day (lack of REM sleep). And if you have slept for less than 5 hours, your body is in a complete physical mess (lack of non-REM sleep), you are tired throughout the day, moving like a zombie and your immunity is way down (I’ve been there, done that L)
Finally, as long-distance runners, you need an hour of extra sleep to repair the running related damage.
If you want to know if you are getting adequate sleep, take Epworth Sleepiness Test below.
Interpretation: Score of 0-9 is considered normal while 10 and above abnormal. Many a times, I have clocked 21 out the maximum possible 24, the only saving grace being the last situation, since I don’t like to drive (maybe, I should ask my driver to answer that lineJ)
In conclusion:
Barring stress control, Ranjan Das did everything right: eating proper food, exercising (marathoning!), maintaining proper weight. But he missed getting proper and adequate sleep, minimum 7 hours. In my opinion, that killed him.
If you are not getting enough sleep (7 hours), you are playing with fire, even if you have low stress.
I always took pride in my ability to work 50 hours at a stretch whenever the situation warranted. But I was so spooked after seeing the scientific evidence last week that since Saturday night, I ensure I do not even set the alarm clock under 7 hours. Now, that is a nice excuse to get some more sleep. J
Unfortunately, Ranjan Das is not alone when it comes to missing sleep. Many of us are doing exactly the same, perhaps out of ignorance. Please forward this mail to as many of your colleagues as possible, especially those who might be short-changing their sleep. If we can save even one young life because of this email, I would be the happiest person on earth.
Friday, November 13, 2009
Just a thought by Mahatma
out a copper coin and placed it at his feet. Gandhiji picked up the copper coin and put it away carefully. The Charkha Sangh funds were under the charge of Jamnalal Bajaj. He asked Gandhiji for the coin but Gandhiji refused. "I keep cheques worth thousands of rupees for the Charkha Sangh," Jamnalal Bajaj said laughingly "yet you won't trust me with a copper coin." "This copper coin is worth much more than those thousands," Gandhiji said. "If a man has several lakhs and he gives away a thousand or two, it doesn't mean much. But this coin was perhaps all that the poor woman possessed. She gave me all she had. That was very generous of her. What a great sacrifice she made. That is why I value this copper coin more than a crore of rupees." · A Great leader is the one who values, encourages and appreciates the efforts even if it is small.
· A Valued leader is the one who evaluates people in the right way and give them better opportunities to improve.
· A Trusted leader is the one who guides people through the right path and if given promises, keep up the promises.
Tuesday, November 10, 2009
Egg as ....

Mix 2 eggs whites with 4 spoons of honey & basin powder.
Just apply egg white( If we can bear the yellow mass smell, prefer to use that also) to hair before 10/15 min of head bath.
We can get the soft touch of the hair at first usage only.

Egg as diet/healthy food :
Egg white contains nearly no fat at all (less that half a gram per 100g of egg white), and no cholesterol (which is also a type of fat).
Eating an egg everyday doesn't raise the risk of heart disease among healthy people.In fact ,Lutein a nutruient found in the yolk of an egg may actually help prevent heart diseases. it has other benefits such as:
Brain food: Eggs are high in choline, believed to play a role in the development of memory function.
D-lightful: Eggs are one of the few food sources of vitamin D, which is essential to bone health.Eye Candy: Carotenoids in eggs may reduce the risk of cataracts and age-related macular degeneration.
Figure-friendly: One large Egg contains 6.25 grams of protein, just 75 calories and 5 grams of fat.
1 large egg white (33g) contains:
Calories: 16
Calories from Fat: 1 
Total Fat: 0g ..
Saturated Fat: 0g
Cholesterol: 0mg
Sodium: 55mg
Total Carbs: 0g ..
Dietary Fiber: 0g ..
Sugar: 0g
Protein: 4g
1 large egg yolk (17g) contains:
Calories: 54
Calories from Fat: 41
Total Fat: 5g ..
Saturated Fat: 2g
Cholesterol: 210mg
Sodium: 8mg
Total Carbs: 1g ..
Dietary Fiber: 0g ..
Sugar: 0g
Protein: 3g
Monday, November 9, 2009
My Trip to Orphanage Homes.
We started & reached Chavadi, “Poor students hostel”. On the way, we purchased rice bags for the students. As soon we reached the place, we received
Now it’s fun time for all of us , children shaped themselves into a circle & associates joined them in between; All the associates became kids & played so many games like “Watermel
The Name was very appropriate since it was a place of Love and Affection.
The pla
Even though we gave little furniture to the school, they treated us as a special guests & celebrated our visit with a small function such as “Ribbon cutting” to the furniture & distributing the chocolates & biscuits. They did this function so formally that they gave the scissors
Then the fun started with showing the hidden talent of the children. Some of them sang songs. All of them danced along with us. We were all so surprised about the children and their spirit. They danced continuously for 6 songs or more. In fact we learnt so many new dancing steps from the children.
Finally, with so much of fun filled, amazing experience we left the place. Thanks to one & all the associates who initiated this program & made it a grand success. Hope we will continue to experience such experiences in future too !!!