Saturday, September 03, 2011

For the hypochondriac

My neighbour sent me this email with a bunch of online reference material for the hypochondriacs amongst us. So if you encounter any symptoms that remind you of one of the ailments listed ...

JUST CLICK ON A SPECIFIC AILMENT

NOTE:
These tutorials require a special Flash plug-in, version 6 or above... If you do not have Flash, you will be prompted to obtain a free download of the software before you start the tutorial.

· Diseases and Conditions
o Abdominal Aortic Aneurysm <http://www.nlm.nih.gov/medlineplus/tutorials/abdominalaorticaneurysm/htm/index.htm>
o Acne <http://www.nlm.nih.gov/medlineplus/tutorials/acne/htm/index.htm>
o AIDS <http://www.nlm.nih.gov/medlineplus/tutorials/aids/htm/index.htm>
o Allergies to Dust Mites <http://www.nlm.nih.gov/medlineplus/tutorials/allergiestodustmites/htm/index.htm>
o Alopecia <http://www.nlm.nih.gov/medlineplus/tutorials/alopecia/htm/index.htm>
o Amyotrophic Lateral Sclerosis <http://www.nlm.nih.gov/medlineplus/tutorials/amyotrophiclateralsclerosis/htm/index.htm> (ALS)
o Angina <http://www.nlm.nih.gov/medlineplus/tutorials/angina/htm/index.htm>
o Anthrax <http://www.nlm.nih.gov/medlineplus/tutorials/anthrax/htm/index.htm>
o Arrhythmias <http://www.nlm.nih.gov/medlineplus/tutorials/arrhythmias/htm/index.htm>
o Arthritis <http://www.nlm.nih.gov/medlineplus/tutorials/arthritis/htm/index.htm>
o Asthma <http://www.nlm.nih.gov/medlineplus/tutorials/asthma/htm/index.htm>
o Atrial Fibrillation <http://www.nlm.nih.gov/medlineplus/tutorials/atrialfibrillation/htm/index.htm>
o Avian Influenza <http://www.nlm.nih.gov/medlineplus/tutorials/avianflu/htm/index.htm>
o Back Pain - How to Prevent <http://www.nlm.nih.gov/medlineplus/tutorials/howtopreventbackpain/htm/index.htm>
o Bell's Palsy <http://www.nlm.nih.gov/medlineplus/tutorials/bellspalsy/htm/index.htm>
o Brain Cancer <http://www.nlm.nih.gov/medlineplus/tutorials/braincancer/htm/index.htm>
o Breast Cancer <http://www.nlm.nih.gov/medlineplus/tutorials/breastcancer/htm/index.htm>
o Burns <http://www.nlm.nih.gov/medlineplus/tutorials/burns/htm/index...htm>
o Cataracts <http://www.nlm.nih.gov/medlineplus/tutorials/cataracts/htm/index.htm>
o Cerebral Palsy <http://www.nlm.nih.gov/medlineplus/tutorials/cerebralpalsy/htm/index.htm>
o Cold Sores <http://www.nlm.nih.gov/medlineplus/tutorials/coldsores/htm/index.htm> (Herpes)
o Colon Cancer <http://www.nlm.nih.gov/medlineplus/tutorials/coloncancer/htm/index.htm>
o Congestive Heart Failure <http://www.nlm.nih.gov/medlineplus/tutorials/congestiveheartfailure/htm/index.htm>
o COPD <http://www.nlm.nih.gov/medlineplus/tutorials/copd/htm/index.htm> (Chronic Obstructive Pulmonary Disease)
o Crohn's Disease <http://www.nlm.nih.gov/medlineplus/tutorials/crohnsdisease/htm/index.htm>
o Cystic Fibrosis <http://www.nlm.nih.gov/medlineplus/tutorials/cysticfibrosis/htm/index.htm>
o Depression <http://www.nlm.nih.gov/medlineplus/tutorials/depression/htm/index.htm>
o Diabetes - Eye Complications <http://www.nlm.nih.gov/medlineplus/tutorials/diabeteseyecomplications/htm/index.htm>
o Diabetes - Foot Care <http://www.nlm.nih.gov/medlineplus/tutorials/diabetesfootcare/htm/index.htm>
o Diabetes - Introduction <http://www.nlm.nih.gov/medlineplus/tutorials/diabetesintroduction/htm/index.htm>
o Diabetes - Meal Planning <http://www.nlm.nih.gov/medlineplus/tutorials/diabetesmealplanning/htm/index.htm>
o Diverticulosis <http://www.nlm.nih.gov/medlineplus/tutorials/diverticulosis/htm/index.htm>
o Endometriosis <http://www.nlm.nih.gov/medlineplus/tutorials/endometriosis/htm/index.htm>
o Epstein Barr <http://www.nlm.nih.gov/medlineplus/tutorials/epsteinbarrvirusmono/htm/index.htm>(Mononucleosis)
o Erectile Dysfunction <http://www.nlm.nih.gov/medlineplus/tutorials/erectiledysfunctionyourchoices/htm/index.htm>
o Fibromyalgia <http://www.nlm.nih.gov/medlineplus/tutorials/fibromyalgia/htm/index.htm>
o Flashes and Floaters <http://www.nlm.nih.gov/medlineplus/tutorials/flashesandfloaters/htm/index.htm>
o Fractures and Sprains <http://www.nlm.nih.gov/medlineplus/tutorials/fracturesandsprains/htm/index.htm>
o Ganglion Cysts <http://www.nlm.nih.gov/medlineplus/tutorials/ganglioncysts/htm/index.htm>
o Gastroesophageal Reflux Disease <http://www.nlm.nih.gov/medlineplus/tutorials/gerd/htm/index.htm>(GERD)
o Glaucoma <http://www.nlm.nih.gov/medlineplus/tutorials/glaucoma/htm/index.htm>
o Gout <http://www.nlm.nih.gov/medlineplus/tutorials/gout/htm/index.htm>
o Hearing Loss <http://www.nlm.nih.gov/medlineplus/tutorials/hearingloss/htm/index.htm>
o Heart Attack <http://www.nlm.nih.gov/medlineplus/tutorials/heartattack/htm/index.htm>
o Hepatitis B <http://www.nlm.nih.gov/medlineplus/tutorials/hepatitisb/htm/index.htm>
o Hepatitis C <http://www.nlm.nih.gov/medlineplus/tutorials/hepatitisc/htm/index.htm>
o Hypertension <http://www.nlm.nih.gov/medlineplus/tutorials/hypertension/htm/index.htm> (High Blood Pressure)
o Hypoglycemia <http://www.nlm.nih.gov/medlineplus/tutorials/hypoglycemia/htm/index.htm>
o Incisional Hernia <http://www.nlm.nih.gov/medlineplus/tutorials/incisionalhernia/htm/index.htm>
o Influenza <http://www.nlm.nih.gov/medlineplus/tutorials/influenza/htm/index.htm>
o Inguinal Hernia <http://www.nlm.nih.gov/medlineplus/tutorials/inguinalhernia/htm/index.htm>
o Irritable Bowel Syndrome <http://www.nlm.nih.gov/medlineplus/tutorials/irritablebowelsyndrome/htm/index.htm>
o Kidney Failure <http://www.nlm.nih.gov/medlineplus/tutorials/kidneyfailure/htm/index.htm>
o Kidney Stones <http://www.nlm.nih.gov/medlineplus/tutorials/kidneystones/htm/index.htm>
o Leishmaniasis <http://www.nlm.nih.gov/medlineplus/tutorials/leishmaniasis/htm/index.htm>
o Leukemia <http://www.nlm.nih.gov/medlineplus/tutorials/leukemia/htm/index.htm>
o Low Testosterone <http://www.nlm.nih.gov/medlineplus/tutorials/lowtestosterone/htm/index.htm>
o Lung Cancer <http://www.nlm.nih.gov/medlineplus/tutorials/lungcancer/htm/index.htm>
o Lupus <http://www.nlm.nih.gov/medlineplus/tutorials/lupus/htm/index...htm>
o Lyme Disease <http://www.nlm.nih.gov/medlineplus/tutorials/lymedisease/htm/index.htm>
o Macular Degeneration <http://www.nlm.nih.gov/medlineplus/tutorials/maculardegeneration/htm/index.htm>
o Malaria <http://www.nlm.nih.gov/medlineplus/tutorials/malaria/htm/index.htm>
o Melanoma <http://www.nlm.nih.gov/medlineplus/tutorials/melanoma/htm/index.htm>
o Meningitis <http://www.nlm.nih.gov/medlineplus/tutorials/meningitis/htm/index.htm>
o Menopause <http://www.nlm.nih.gov/medlineplus/tutorials/menopauseintroduction/htm/index.htm>
o Migraine Headache <http://www.nlm.nih.gov/medlineplus/tutorials/headacheandmigraine/htm/index.htm>
o Mitral Valve Prolapse <http://www.nlm.nih.gov/medlineplus/tutorials/mitralvalveprolapse/htm/index.htm>
o Multiple Myeloma <http://www.nlm.nih.gov/medlineplus/tutorials/multiplemyeloma/htm/index.htm>
o Multiple Sclerosis <http://www.nlm.nih.gov/medlineplus/tutorials/multiplesclerosis/htm/index.htm>
o Myasthenia Gravis <http://www.nlm.nih.gov/medlineplus/tutorials/myastheniagravis/htm/index.htm>
o Osteoarthritis <http://www.nlm.nih.gov/medlineplus/tutorials/osteoarthritis/htm/index.htm>
o Osteoporosis <http://www.nlm.nih.gov/medlineplus/tutorials/osteoporosis/htm/index.htm>
o Otitis Media <http://www.nlm.nih.gov/medlineplus/tutorials/otitismedia/htm/index.htm>
o Ovarian Cancer <http://www.nlm.nih.gov/medlineplus/tutorials/ovariancancer/htm/index.htm>
o Ovarian Cysts <http://www.nlm.nih.gov/medlineplus/tutorials/ovariancysts/htm/index.htm>
o Pancreatitis <http://www.nlm.nih.gov/medlineplus/tutorials/pancreatitis/htm/index.htm>
o Parkinson's Disease <http://www.nlm.nih.gov/medlineplus/tutorials/parkinsonsdisease/htm/index.htm>
o Pneumonia <http://www.nlm.nih.gov/medlineplus/tutorials/pneumonia/htm/index.htm>
o Prostate Cancer - What is it? <http://www.nlm.nih.gov/medlineplus/tutorials/whatisprostatecancer/htm/index.htm>
o Psoriasis <http://www.nlm.nih.gov/medlineplus/tutorials/psoriasis/htm/index.htm>
o Retinal Tear and Detachment <http://www.nlm.nih.gov/medlineplus/tutorials/retinaltearanddetachment/htm/index.htm>
o Rheumatoid Arthritis <http://www.nlm.nih.gov/medlineplus/tutorials/rheumatoidarthritis/htm/index.htm>
o Rotator Cuff Injuries <http://www.nlm.nih.gov/medlineplus/tutorials/rotatorcuffinjuries/htm/index.htm>
o Sarcoidosis <http://www.nlm.nih.gov/medlineplus/tutorials/sacroidosis/htm/index.htm>
o Scabies <http://www.nlm.nih.gov/medlineplus/tutorials/scabies/htm/index.htm>
o Seizures and Epilepsy <http://www.nlm.nih.gov/medlineplus/tutorials/seizuresandepilepsy/htm/index.htm>
o Sexually Transmitted Diseases <http://www.nlm.nih.gov/medlineplus/tutorials/sexuallytransmitteddiseases/htm/index.htm>
o Shingles <http://www.nlm.nih.gov/medlineplus/tutorials/shingles/htm/index.htm>
o Skin Cancer <http://www.nlm.nih.gov/medlineplus/tutorials/skincancerandmelanoma/htm/index.htm>
o Sleep Disorders <http://www.nlm.nih.gov/medlineplus/tutorials/sleepdisorders/htm/index.htm>
o Smallpox <http://www.nlm.nih.gov/medlineplus/tutorials/smallpox/htm/index.htm>
o Spinal Cord Injury <http://www.nlm.nih.gov/medlineplus/tutorials/spinalcordinjury/htm/index.htm>
o Temporomandibular Joint Disorders <http://www.nlm.nih.gov/medlineplus/tutorials/temporomandibularjointdisorders/htm/index.htm> (TMJ)
o Tennis Elbow <http://www.nlm.nih.gov/medlineplus/tutorials/tenniselbow/htm/index.htm>
o Tinnitus <http://www.nlm.nih.gov/medlineplus/tutorials/tinnitus/htm/index.htm>
o Trigeminal Neuralgia <http://www.nlm.nih.gov/medlineplus/tutorials/trigeminalneuralgia/htm/index.htm>
o Tuberculosis <http://www.nlm.nih.gov/medlineplus/tutorials/tuberculosis/htm/index.htm>
o Ulcerative Colitis <http://www.nlm.nih.gov/medlineplus/tutorials/ulcerativecolitis/htm/index.htm>
o Umbilical Hernia <http://www.nlm.nih.gov/medlineplus/tutorials/umbilicalhernia/htm/index.htm>
o Uterine Fibroids <http://www.nlm.nih.gov/medlineplus/tutorials/uterinefibroids/htm/index.htm>
o Varicose Veins <http://www.nlm.nih.gov/medlineplus/tutorials/varicoseveins/htm/index.htm>
o Vasculitis <http://www.nlm.nih.gov/medlineplus/tutorials/vasculitis/htm/index.htm>
o Warts <http://www.nlm.nih.gov/medlineplus/tutorials/warts/htm/index...htm>

o Tests and Diagnostic Procedures
§ Amniocentesis <http://www.nlm.nih.gov/medlineplus/tutorials/amniocentesis/htm/index.htm>
§ Barium Enema <http://www.nlm.nih.gov/medlineplus/tutorials/bariumenema/htm/index.htm>
§ Bone Densitometry <http://www.nlm.nih.gov/medlineplus/tutorials/bonedensitometry/htm/index.htm>
§ Breast Lumps - Biopsy <http://www.nlm.nih.gov/medlineplus/tutorials/breastlumpsbiopsy/htm/index.htm>
§ Bronchoscopy <http://www.nlm.nih.gov/medlineplus/tutorials/bronchoscopy/htm/index.htm>
§ Colonoscopy <http://www.nlm.nih.gov/medlineplus/tutorials/colonoscopy/htm/index.htm>
§ Colposcopy <http://www.nlm.nih.gov/medlineplus/tutorials/colposcopy/htm/index.htm>
§ Coronary Angiogram and Angioplasty <http://www.nlm.nih.gov/medlineplus/tutorials/coronaryangiographyandpossibleangioplasty/htm/index.htm>
§ CT Scan <http://www.nlm.nih.gov/medlineplus/tutorials/ctscan/htm/index.htm> (CAT Scan)
§ Cystoscopy - Female <http://www.nlm.nih.gov/medlineplus/tutorials/cystoscopyfemale/htm/index.htm>
§ Cystoscopy - Male <http://www.nlm.nih.gov/medlineplus/tutorials/cystoscopymale/htm/index.htm>
§ Echocardiogram <http://www.nlm.nih.gov/medlineplus/tutorials/echocardiogram/htm/index.htm>
§ Echocardiography Stress Test <http://www.nlm.nih.gov/medlineplus/tutorials/echocardiography/htm/index.htm>
§ IVP <http://www.nlm.nih.gov/medlineplus/tutorials/ivp/htm/index.htm> (Intra Venous Pyelogram)
§ Knee Arthroscopy <http://www.nlm.nih.gov/medlineplus/tutorials/kneearthroscopy/htm/index.htm>
§ Laparoscopy <http://www.nlm.nih.gov/medlineplus/tutorials/laparoscopy/htm/index.htm>
§ Mammogram <http://www.nlm.nih.gov/medlineplus/tutorials/mammogram/htm/index.htm>
§ MRI <http://www.nlm.nih.gov/medlineplus/tutorials/mri/htm/index.htm>
§ Myelogram <http://www.nlm.nih.gov/medlineplus/tutorials/myelogram/htm/index.htm>
§ Newborn Screening <http://www.nlm.nih.gov/medlineplus/tutorials/newbornscreening/htm/index.htm>
§ Pap Smear <http://www.nlm.nih.gov/medlineplus/tutorials/papsmear/htm/index.htm>
§ Shoulder Arthroscopy <http://www.nlm.nih.gov/medlineplus/tutorials/shoulderarthroscopy/htm/index.htm>
§ Sigmoidoscopy <http://www.nlm.nih.gov/medlineplus/tutorials/sigmoidoscopy/htm/index.htm>
§ Ultrasound <http://www.nlm.nih.gov/medlineplus/tutorials/ultrasound/htm/index.htm>
§ Upper GI Endoscopy <http://www.nlm.nih.gov/medlineplus/tutorials/uppergiendoscopy/htm/index.htm>

Surgery and Treatment Procedures

· Aorto-Bifemoral Bypass <http://www.nlm.nih.gov/medlineplus/tutorials/aortobifemoralbypass/htm/index.htm>
· Cardiac Rehabilitation <http://www.nlm.nih.gov/medlineplus/tutorials/cardiacrehabilitation/htm/index.htm>
· Carotid Endarterectomy <http://www.nlm.nih.gov/medlineplus/tutorials/carotidendarterectomy/htm/index.htm>
· Carpal Tunnel Syndrome <http://www.nlm.nih.gov/medlineplus/tutorials/carpaltunnelsyndromeopensurgery/htm/index.htm>
· Chemotherapy <http://www.nlm.nih.gov/medlineplus/tutorials/chemotherapyintroduction/htm/index.htm>
· Cholecystectomy - Open Laparoscopic <http://www.nlm.nih.gov/medlineplus/tutorials/cholecystectomyopenandlaparoscopic/htm/index.htm> (Gallbladder Removal Surgery)
· Clinical Trials <http://www.nlm.nih.gov/medlineplus/tutorials/cancerclinicaltrials/htm/index.htm>
· Colon Cancer Surgery <http://www.nlm.nih.gov/medlineplus/tutorials/coloncancersurgery/htm/index.htm>
· Colostomy <http://www.nlm.nih.gov/medlineplus/tutorials/colostomy/htm/index.htm>
· Coronary Artery Bypass Graft <http://www.nlm.nih.gov/medlineplus/tutorials/coronaryarterybypassgraft/htm/index.htm> (CABG)
· C-Section <http://www.nlm.nih.gov/medlineplus/tutorials/csection/htm/index.htm>
· Dilation and Curettage <http://www.nlm.nih.gov/medlineplus/tutorials/dilatationandcurettage/htm/index.htm> (D & C)
· General Anesthesia <http://www.nlm.nih.gov/medlineplus/tutorials/generalanesthesia/htm/index.htm>
· Heart Valve Replacement <http://www.nlm.nih.gov/medlineplus/tutorials/heartvalvereplacement/htm/index.htm>
· Hemorrhoid Surgery <http://www.nlm.nih.gov/medlineplus/tutorials/hemorrhoidsurgery/htm/index.htm>
· Hip Replacement <http://www.nlm.nih.gov/medlineplus/tutorials/hipreplacement/htm/index.htm>
· Hip Replacement - Physical Therapy <http://www.nlm.nih.gov/medlineplus/tutorials/hipreplacementphysicaltherapy/htm/index.htm>
· Hysterectomy <http://www.nlm.nih.gov/medlineplus/tutorials/hysterectomy/htm/index.htm>
· Knee Replacement <http://www.nlm.nih.gov/medlineplus/tutorials/kneereplacement/htm/index.htm>
· LASIK <http://www.nlm.nih.gov/medlineplus/tutorials/lasik/htm/index...htm>
· Massage Therapy <http://www.nlm.nih.gov/medlineplus/tutorials/massagetherapy/htm/index.htm>
· Neurosurgery - What is it? <http://www.nlm.nih.gov/medlineplus/tutorials/whatisneurosurgery/htm/index.htm>
· Open Heart Surgery - What to Expect? <http://www.nlm.nih.gov/medlineplus/tutorials/openheartsurgerywhattoexpect/htm/index.htm>
· Pacemakers <http://www.nlm.nih.gov/medlineplus/tutorials/pacemakers/htm/index.htm>
· Preparing for Surgery <http://www.nlm.nih.gov/medlineplus/tutorials/preparingforsurgery/htm/index.htm>
· Prostate Cancer - Radiation Therapy <http://www.nlm.nih.gov/medlineplus/tutorials/radiationtherapyforprostatecancer/htm/index.htm>
· Shoulder Replacement <http://www.nlm.nih.gov/medlineplus/tutorials/shoulderreplacement/htm/index.htm>
· Sinus Surgery <http://www.nlm.nih.gov/medlineplus/tutorials/sinussurgery/htm/index.htm>
· Stroke Rehabilitation <http://www.nlm.nih.gov/medlineplus/tutorials/strokerehabilitation/htm/index.htm>
· Thyroid Surgery <http://www.nlm.nih.gov/medlineplus/tutorials/thyroidsurgery/htm/index.htm>
· Tonsillectomy and Adenoidectomy <http://www.nlm.nih.gov/medlineplus/tutorials/tonsillectomyadenoidectomy/htm/index.htm>
· TURP <http://www.nlm.nih.gov/medlineplus/tutorials/turp/htm/index.htm> (Prostate Surgery)
· Vaginal Birth <http://www.nlm.nih.gov/medlineplus/tutorials/vaginalbirth/htm/index.htm>
· Vasectomy <http://www.nlm.nih.gov/medlineplus/tutorials/vasectomy/htm/index.htm>
· Prevention and Wellness
· Back Exercises <http://www.nlm.nih.gov/medlineplus/tutorials/backexercises/htm/index.htm>



._,_.___ __,_._,___


Saturday, July 16, 2011

Resident Evil: Gadget buttons/Widgets

To all intent, the net is a near Pandora's box to feed the glut for news and knowledge. But it simply isn't enough to read something interesting. An interesting article is also a potential topic to discuss in fora online. It was possible earlier to merely email the link to an article or embed the article inline in a mail.


It is possible to 'like' the article on Facebook, '+1' it on Google Plus, 'tweet' the link to the article on twitter, 'stumbleupon' the article so on, and so forth; the list grows. Such a recommendation however requires you to authenticate yourself to the target site.

For instance, an article on indianexpress.com may be recommended on Facebook, or Google Plus etc. Immediately upon doing so, every single person associated with me on Facebook knows about this.

Done right, technology is marvellous!

A few minutes after recommending this article on Google Plus I happened to visit the gmail web-page. Imagine my consternation when I discovered I was already logged in! I figure that the +1 gadget accepted my credentials and did not log me out explicitly when it was done. When I checked after this discovery, the same thing happened with several other gadgets on other pages too.

Now if I had recommended that article from an internet cafe, the next person to use the computer I used would have had a free run of my gmail account - and as an extension to my google documents, calendar, maps, photographs ... all the works.

Done poorly, technology is a signed uncrossed blank cheque in the hands of your most vehement enemy!

I don't know how these gadgets/widgets work, but the impression I have is that it is impossible for the home site (Google, Facebook, Stumbleupon... ) to enforce the gadget logout explicitly. Perhaps the home-site may enforce a short-duration session cookie in it's gadget API but that is just a thought ...

The only real solution that comes to mind is to visit the home site for each gadget you recommend, and log out explicitly. Even better, until a workaround is available, stop using gadgets on third-party pages. Log on into your preferred home-site (FB, +, linkedIn - whatever your home-site/s may be), recommend the third-party page/app and log out explicitly; tedious, but relatively more safe.

Thursday, July 14, 2011

Be not like dumb, driven cattle

With the media worked up on the situation in Mumbai, the things that are cited every time such an event occurs are Negligence, and Complicity. I find it hard to believe the incident could have been engineered without negligence, or complicity at some point ... that is to say, I concur.

At the same time, I believe mumbaikars ( and citizens of the World ) should realize that the average civilian is more likely to be subject to a violent death in the name of one thing or the other, than he was a decade or two decades ago.

Every single person, wherever he may be, is as much a soldier for the nation as he in the various armed and paramilitary forces. It is high time that we, the citizens, recognize this fact and increase our own awareness of our surroundings.

Sunday, April 17, 2011

Real-time statistics

During the journey from life to death, we humans exhibit the creative urge in one way or the other. The walls on my ancestral house still exhibit some of my original creative urges in the form of scrawls/sketches, random lines and circles (well, not quite lines and circles). Why do we, as children, first attempt lines and circles anyway?

Anyhow, the creative urge remains throughout our lives. Contemporarily it is possible to release these juices by any number of technological tools; graphics tools such as google sketch-up, writing tools such as blogspot.com a few amongst them. But having created something, we must also have it appreciated. There is a child-like pleasure in the realization that some unknown person thousands of miles away finds our creation of use to them. But until such person/persons unknown choose to drop a note of encouragement/advice we just happen to be groping in the dark. In a sense it is like the early days of telephony when we stepped out of home, and returned home not knowing whether somebody called whilst we were out. The answering machine changed that uncertainty. Install an answering machine, and we would know not only whether somebody called but also when they did so.

I encountered Feedjit whilst reading the network-security blog
The tool is similar to google analytics but differs in that it provides a real-time note of the location of any visitors to the site. It could be of great value in data-mining; what pages on your site attract the most visitors, how the visitors navigate across the pages, search engine redirects, visitor demographics could be used to spin-off additional sites that cater specific to a region, and so on

The free version attracts advertisements, but that is a small price to pay (+:

Friday, March 18, 2011

A new Atlantis

There existed, once upon a time, an island inhabited by many men of wonderous and marvellous power, of ancient and flourishing culture. These men held sway over many lands, and were much renowned. So revered were they, that Gods themselves feared for being deemed ineligible for Godhood in favour of the Atlanteans. So the Gods, in one day and one night sent misfortune such that the island was levelled ... all that remained of that mighty civilization were those scattered atlanteans who had been abroad when misfortune struck.


In the past, as recently as the middle ages, physical prowess was the single reason to be a lord of men. Since then, times have changed. Over the last couple of centuries, physical prowess has taken a second place to economic and intellectual might. With intellectual and economic might, it is possible to make another do your bidding - physical, or even intellectual. This applies not only to the community of humans, but also to the community of nations. Amongst the nations that have taken the forefront in leading the community of nations, was the one nation that was utterly vanquished towards the close of WWII - Japan.

An island community of ancient culture ... inhabited by many men (of wondrous and marvellous power) whose thought changed the way we live our lives, flourishing as one of the strong economies of the world ... and then in almost one day, and one night - the earthquake, and then the Tsunami struck ...

The parallel is uncanny

Thursday, March 10, 2011

Institutional Amnesia

Just received an email that said a folder in windows can just not be named 'con'. Sounds weird but turns out, it is true. I just can not name a folder 'con'.

It might appear to be inexplicable ... if you're not exposed to old DOS console.

A lot of the windows OS was constructed on top of the old DOS shell. Now DOS used unix style short-hand a fair bit. So in DOS, 'con' was short-hand for 'console' aka command prompt.

Now file editing happened in DOS even in the days before wordstar etc. This was done by telling the OS to copy the contents written on the console to a file like this -

copy con myfile.txt


This meant as follows -
copy = duplicate the contents
con = source of the contents = command prompt = console
myfile.txt = target name where the duplication will be retained to disk

Apparently the underlying code didn't change; just to illustrate the example try this on the windows command prompt -
copy con con
xyz

So when windows explorer tries to create a folder named 'con', in all probability it is still using the same old DOS code where 'con' is a keyword. Therefore attempts to use 'con' as a name are fruitless
, and hence the folder remains unnamed.

As a programmer, I'm in favour of code reuse. As an engineer, I believe in the age old adage - 'if it ain't broke, don't fix it!' The decision to reuse the known DOS shell code was fine as it was known to work well. But if Microsoft have to fix this now, how much effort will it require to change code no less than 20 years old?

Sunday, October 03, 2010

Even before Hello Android

Piqued by curiosity on the much touted freedom to develop applications on Android, I decided to take the plunge and see for myself. The recommended approach is to follow instructions

My first concern was that Quickstart recommends using the ADT (Android Development Toolkit) as an Eclipse plugin. I have used Eclipse, and know it to be _highly_ configurable. However each time I used it, it was already configured by a system engineer who is more competent than I at developing ANT scripts and what-not.

As it turned out, I didn’t have to worry overmuch ... not yet anyway. Installing Eclipse was a snap. Subsequently it was only a matter of following instructions on the Android site to install the plugin. Phew!

My first hiccough came after creating a project using the plugin wizard. The Android console kept showing a message to the effect ‘AndroidManifest.xml’ could not be found. The file itself, however, was listed in the package view. Hmmm? Took me a while to find out what happened

The problem was that the Android Wizard generated code in two parts

1. Code that is not meant to be modified (recognized by a ‘Generated Java Files’ label)
2. Code that is meant to be modified


The latter relies upon the former; however by default the packages were arranged such that the former was listed after the latter; this caused dependencies to fail.

The solution was to

1. Rearrange the packages created so that code with the ‘generated java file’ appeared before the latter, and
2. Navigate into Project Properties > Android Tools > Fix Project Properties



Now my first Hello World ( if only wizard generated ) is in place, and I'm off to try to run it having made a note of what went wrong even before running the app!

More later!!

Sunday, September 12, 2010

Prevent 'edit source' option in browser for web-page

For a change, this is a tech post rather than my usual 'spur of the moment' thoughts.

A friend who does some web-page development writes some very complex scripts for some of his pages. He has already seen duplicates ( yep, imitation is the highest possible compliment for an artiste ). Anyway, we were discussing some options available to protect his source. A mere copyright notice is no help.

To my knowledge, any webpage travelling in the internet is subject to being viewed at the point of receipt, or at the point of the recipient firewall/proxy/whatever in a text-editor. There is no way to stop someone from viewing the source; the best a person may do is to run a script to hide the menu-bar. This option too will fail if the user simply disables script execution.

My suggestion is to use flash pages, or even change the page format from HTML to some format which does not lend itself to reading in text-pad or such. Say, embed the HTML into a spread-sheet, and then send the spread-sheet to the recipient to be opened on receipt.

Thoughts, people?

Sunday, August 29, 2010

Methuselah's nemesis

I recently watched the movie 'Paa' which introduced to me the affliction known as 'Progeria'

The disease is known to be caused by a mutation in the genes, and has the consequence of causing premature/rapid aging of body of the person afflicted by it. Those so afflicted do not live to age much more than 13 or 14 years. Although the body and various organs age rapidly, the affliction does not afflict brain cells. In a sense, the disease steals the childhood of little ones by making it impossible for them to indulge in the rough and tumble they would be up to if not for such fears as brittle bones, asthma/exertion/heart trouble...most of the ailments that go with old age.

As bad as the disease is, the fact that we know why how it happens is reason for good cheer. The immediate reason, of course, is the fact that if we (I mean, our scientists :) )know how it happens we can probably figure out what to do to cure it. The less immediate reason is because the ... knowledge of how our bodies control aging might be applied elsewhere too.

I'm not a doctor or geneticist, but I wonder whether this knowledge might be applied ( for instance ) to

  • Grow a clone to physical maturity at an accelerated rate, and then revert the accelerated rate to normal?

  • With all this debate in progress about the Synthetic Self-replicating cell created by J Craig Venter Institute could the knowledge of aging be used to ensure the cell, and it's progeny age prematurely as a built-in damage control mechanism



Sort-of like a biological switch marked 'Aging Rate 2x', except that a biological switch is more complex than a mechanical/electrical one, and probably works differently too!

Thoughts, people?

Sunday, March 07, 2010

Past through a coloured glass...

Chambers Dictionary defines a 'journey' as 'a process of travelling from one place to another'. It goes without saying that it is the traveller who decides whether or not the journey is complete; a decision that is made usually upon the basis of our visual sense, albeit auditory input play a role too.

For instance - Travelling by train from Nagpur to Raipur, I recognize Raipur by it's station first from eidetic memory. The railways PA system announcement of the station name contributes to the auditory input.

Travelling in the dark, passing hamlets, and towns are recognizable from visual signs of human habitation. Being diurnal creatures, this necessarily translates to light.

Back sometime in the 1980s a study was published that humans, like homing pigeons, had an innate sense of direction. Widely quoted, the study proved that a blindfolded uncued person would, almost unerringly, point in the correct direction of home when asked.

This study has since been refuted. We now know that few people are capable of such a feat without cues to the contrary. Given that evolution has not changed us significantly over the last few millenia, it stands to reason that our ancestors were as fallible as we. Sometime in the distant past, a Sailor's mate would place a burning lamp oriented so the sailor would know how to come home. The light-house at Alexandria served a similar function, a marker for the port of Alexandria in an otherwise unchanging landscape.

Powered flight, as we know it today, was demonstrated by Wilbur & Orville Wright in the United States of America. The first aviators, as all pioneers, had to learn on-the-job; there was no manual except perhaps instructions on how to take-off/land... and guess-work. The first fliers probably did not have the advantage of such mundane things as fuel-guages, fuel-burn status indicators, and their ilk; Flying was mostly a matter of having/developing the right feel, learning which direction the wind was blowing, and such. The first runways were probably meadows, or open grounds; Runways came into existence much later. The first flights too were mostly flown in daytime. According to Wikipedia the first runway was constructed at College Park Airport in 1909.. roughly 6 years after the Wright Brothers demonstrated their machine. Night flying was similarly pioneered by the USPS after they lost mail, aircraft, and pilots to inclement weather, and insufficient navigation aids.

The most important navigation aids were obviously those that allowed the pilot to know the location, and the perimeter of the runway. Common sensically, these aids are basically lights as a pilot, from the air, has a vantage point such that all below is dark... bar where a specific navigation aid is posted, or where the glow on the horizon beckons him to travel.

On the subcontinent, particularly to the followers of the Sanatan dharma, there are many theologically significant events which mandate a yajna. Deities are depicted travelling on such transport as the owl, the swan, the peacock and such; not all travel by air. The more hardy travel seated on a tiger, a lion, a bullock, even a mouse... but i digress. Regardless of the mode of travel, to one travelling by the light of the stars/moon, the glow of light would be a welcome beacon to signal civilization, and a place to spend the night.

From what little I know about ancient India, and rural cultures; Early to bed, and Early to rise was the norm. Early to bed would mean that soon after dusk, the continent would be uniformly dark.

Deepawali commemorates the return of Rama to his people. The commemoration occurs on the night of the new moon, and Rama is known to have returned to his people seated in a vimana flying day-and-night to ensure he reached his home before his brother discorporated in grief at his absence. Even before Rama, the same combination of season/moon was commemorated in similar manner to welcome the Goddess Lakshmi ( who travels mounted on an Owl.

Could it be that what we commemorate was not only the joy in the hearts of the people, but also a means to guide the vimana to a landing? An aircraft beacon?

Making this correlation ... speculative as it may be, dare I deem this to be proof that heavier-than-air flight existed on the sub-continent before Mssrs. Wright demonstrated their invention at Kittyhawk?

Saturday, November 07, 2009

A few excerpts from the Global Environment Outlook report

I am still reading the GEO report

We humans, like most animals on Earth, rely largely on water for our sustenance. Directly by drinking; indirectly by applying it for irrigation, aquaculture, industry etc




The knowledge that over two-thirds (2/3) of the surface of this Earth is water is common-place. The knowledge that barely 3% of all the water on Earth is sufficiently desalinated as to be available for human use is less common.


The sub-continent is home to one of the largest concentration of species in the world




At present, the subcontinent is still one of the single largest concentrations of arable land


In it's scientific detached manner, the report illustrates the impact of our historic/existing consumption patterns













Whilst interiors risk drought, populations near sea-shores are at the risk of shoreline degradation.









Monday, September 28, 2009

Practical Programming: The ritual of implement worship

Navratri = Nau + Ratri = Nine Nights.

Today is the Tenth/Final day of the Navratri festival; one amongst many of a period of fervour for those who adhere to the Sanatana Dharma.

The tenth day symbolizes the victory of good over evil. Many legends are attributed to this day, paramount amongst these are
  1. Execution of Ravana by Rama
  2. Execution of Mahishasura by Durga
Similarly many rituals are bound to this day too. Vehicle/Tool worship is one amongst the many esoteric rituals performed on this day to empower it till the next year.

Imagine the situation if you will : The villain has secured a secret weapon, and aims to enslave the entire universe. Just when it seems things are going to go from worse, to worst, a hero appears on his trusty steed and challenges the villain to battle. A _terrific_ battle has raged for ten whole days finally comes to an end. The protagonist has emerged victorious, and is ready to return home. The invincible protagonist is unscathed. The adulation of millions applies not only to the protagonist, but to all that is associated with him; weapons, garments, vehicle/mount etc.

All well, and good.

Even today, distances in India are large. Merely travelling to/from work consumes close to 20kms, without including pool-travel distances; mid-day chore driving and so on. A good deal of wear and tear is involved. Travelling back in time to the period of our Hero and Villain there were probably few, if any, roads. Most travelling would be through the wilderness guided by the moon/stars etc.

I wonder, could what we deem to be vehicle 'worship' actually refer to the task of servicing the vehicle after the rigours of a full-blown battle? A means to drive a community of people of less evolved thought in the direction of maintaining their implements to prolong the existence of the tool directly, and the survival of the community in the long run?

Wednesday, September 23, 2009

Towards Civilization; One Step

Take an educated person, and put him in a featureless, soundless room
with uniform lighting( either it is lighted 24x7x365, or it is not ).
Sooner or later, the person will try to devise a way to keep track of
the passage of time. The easiest way to do so would be by tracking the
sleep-cycle.

Now we change the scenario a little; instead of a featureless room we
put him in a room with uniform features. The outcome will be similar,
if not identical.

Change the scenario a little more; make the features non-uniform and
endlessly varying. Allow sound to impinge on the senses at random.
Allow the light to vary at random. The outcome will still be similar.

Now assume the person to be you. You are placed on Earth at a random
location in a distant time when the concept of a static human
population did not exist even in thought. The endlessly varying
features are those of Nature. The endless variation in light is that
from the Sun, the Moon, and the Stars. The random noises are the
sounds of Nature, and her other creations. You realize, dimly, that
you are a little different from the rest around you; not provided with
boundless strength, or venom, or claws. That great meat-eating beast
does not always hunt you. Sometimes it hunts you stealthily, and
sometimes it merely growls at you without making a charge. The nest
from which the snake devoured eggs, sometimes has no eggs in it... and
sometimes there are eggs in the nest the very next day.

It's all very puzzling, except that you don't know the word yet.

Suddenly one day, you realize the answer. The behaviour of the beast
is similar to your own. When you hunt, you're stealthy too. When
you've eaten to your fill, you don't chase your prey; why spend energy
on another chase when, now that the cramps from hunger are finally
gone, you may finally sleep. This leads to another discovery – the
huge beast must stay full longer too, even though it's stomach,
appetite, and size are so much larger. Through a sequence of such
small discoveries communicated wordlessly across generations the
balance shifts.

The greatest such discovery is that there is a cycle to all events.
Looking around there is nothing to relate the cycles too. Everything
around you is bound to it's own cycle of transience. The light dawns
upon you; up there, high above you is a marker, the Moon. Each time
you sleep, the Moon shows a particular face.

In a major move towards order, and civilization; you have discovered a calendar,
and a means to mark time.

Monday, April 06, 2009

Prioritization

कोई भी सॉफ्टवेर डेवेलोपमेंट अनेक छोटे-छोटे विभाजन करके आगे बढता है | कुछ सरल, तो कुछ कठिन ; कुछ छोटे जिन्हें एक व्यक्ति अकेले ही बस कुछ घड़ी में पूर्ण कर दे , तो कुछ इतने विशाल ५० व्यक्तिओं कई मॉस में भी न पूर्ण करें | जैसे भी कार्य हो, अन्यामंसक होना अत्यन्त दुखदाई बन सकता है |

उद्धरण के लिए - समझो के रास्ते-चलते कोई आपका थैला छीन कर भाग जाये | आम तौर पर कोई भी व्यक्ति चोर का पीछा करने वाला होता है। अब पीछा करते करते यदि चोर अपने किसी साथी को थैला थमा दे, और दोनों अलग अलग रास्ता भागें तो निर्णय करने में यह ध्यान रखे के वह साथी संभवतः लंबा नाच नचाने कि त्यारी कर आया है। उसका पीछा करना कठिन होना ही है। साथी ही में प्रथम चोर को पकड़ने कि संभावना अधिक है, और चोर पकड़ा गया, तो चोरी तो पकड़ी जानी ही है।

अतः हमारे साथ जब कोई नवयुवक चाकरी करने आए तो उन्हें समझाना अनिवार्य होता है कि वे महारथी अर्जुन के तरह अपने कार्य के सफल पूर्ति के ओर अग्रसर रहें, चूँकि किसी और कार्य पर ध्यान बांटना भी हार है |

-------------------------------------------------------------------------------------------------

We do our development work focussed on lots of tasks; some complex, some simple, and some plain unwieldly. Working on complex tasks, it's easy to get distracted and lose track of the original task; something that can be expensive.

Therefore one of the notes we have for newbies is -

Stay focussed on your in-hand task, because digressing means you've already lost.

For instance, say
  1. You're shopping
  2. Someone snatches your shopping-bag, and runs off
  3. You chase the thief
  4. The thief tosses the bag at an accomplice, who runs off too
  5. Options now are -
  • Continue chasing the original snatcher
  • Chase the accomplice who just showed up (probably refreshed, and full of stamina)

It makes sense to opt for (a), because catching hold of the snatcher implies a higher probability of regaining your belongings.

Saturday, April 04, 2009

Applied Programming: Reuse

Information Technology / Programmer wannabes invariably have the word 'Reuse' drummed into them almost from the first day as a student. This is one probable reason we Indians are usually good programmers. We reuse everything, even our Soul ( see: reincarnation )

Jokes apart, the reuse that is drummed into an IT student is usually in the context of OOP, or programming where we talk of reusing the code written once to be used elsewhere. The term reuse, though, goes much further. We reuse a great many things without even realizing it. For instance, software development contracts will often have similar, even almost identical clauses. The reason is that similar problems are expected to arise, and therefore are dealt with in a similar manner. Whilst these rudimentary applications of reuse are valuable, reuse itself can be far more valuable by way of mentoring (something that only came to mind after I read this)

The reason I choose to link mentoring to the concept of reuse is because mentoring provides an apprentice with the opportunity to capitalize upon the experience of the mentor. Organizations such as IBM, Microsoft, InfoSys have mentor programmes to help their employees growth.

What should I look for in a mentor?
The thoughts that come to my mind are -
  1. Trust & Communication (the two must go together)
  2. Better than average understanding of the domain (Finance, Software...) under which the mentoring occurs
  3. Better than average Time Management skills, and as a corollary - not a workaholic
  4. Compatibility
I put in the third point - Time Management - with some diffidence because -
  • It simply doesn't make sense to assign someone as a mentor, only to find they're not able to justice to either their primary role or their mentor role.
  • The apprentice might pick up the bad-skills too
  • Poor time-management might also mean a stressed work-style; in the long run this could be detrimental to health, and to teamwork.
In winding up, reusing knowledge gained by others is something we do all the time - right from the first 'A' at school, this continues throughout life. The broader form of reuse of experience by Mentoring provides a means to build a relationship between the mentor and an apprentice that could potentially be capitalized upon by the organization.