Common myths on medical intervention

Disclaimer : I am not a medical expert. The following are based on my personal experience and knowledge. This  article is NOT medical advise.

One of the things I strongly believe is in the superiority of "natural processes". It is only common sense that things that have evolved over millions of years (or designed by god, depending on your point of view) is always superior than the things that we have created in last 100 years or so.  But a large percentage of people believe that medical intervention is always good and is better than our natural immune system. People rarely think whether a medical intervention or treatment is necessary. They just go along with doctor’s advice without even bothering to get a second opinion or think about possible options.

Following is a list of common myths about medical intervention I hear from people all the time.  These myths are used by fraudulent doctors and hospitals to take advantage of the patients. Poor people loose money, time, health and sometimes even their lives following them blindly. Just like in US, a dangerous nexus of pharmaceutical companies, doctors, clinics, hospitals and insurance companies are taking shape in India.

Common myths on medical intervention

Medicines are always good – I have seen people who take a Paracetamol tablet once in every three days because they think it can prevent disease! When my 2 year daughter had severe cold&cough, I took her to a doctor and she prescribed over 8 medicines to be given continuously for 2 weeks! (of which I gave only 2 after cross checking with another doctor).  All over the world, rich pharmaceutical companies are doing everything they can to increase the consumption of medicines and we patients blindly follow them. They have even invented "female erectile dysfunction"!

People tend to think that medicines are always good. But the reality is very different. Prolonged use of any medicine can have serious side effects which are probably worse than the conditions for which you are taking the medicines. Our body tries hard to get rid of the antibiotics and the most affected organ usually is kidney.  I don’t think there are any medicines which are completely free of any side effects.

A bigger danger of overuse of medicines (especially antibiotics) is that over time viruses and bacteria mutate to become resistant to the drug. Antibiotics save lives when used where it is very essential. For example, after any surgery biggest risk to the patient is a severe bacterial infection which can lead to death. So antibiotics are usually prescribed after surgery for a few days. But in my country (India) antibiotics are being prescribed for everything and over time this means that they have no effect in cases where its action is urgently needed (like in post operative infections).

A number of bacteria types have been identified recently which are very resistant to antibiotics. See the recent controversy regarding NDM1 bacteria (superbug) in India. Politicians and media are saying that it is a conspiracy, but what is funny is that in March 2010, Journal of Association of Physicians of India has published an article titled – "An obituary- On the Death of antibiotics!" which states,

Indian medical community has to be ashamed of the NDM-1 (“New Delhi Metallo-1”) gene. Even though we have not contributed to carbopenem development, we have contributed a resistance gene with a glamorous name. The overuse of antibiotics is embedded in our Indian gene. It is an Indian tradition.

I live in Kerala (southern state of India) which is unique for its near 100% literacy. It is estimated that 20% of the total drug sales in India is in Kerala which has less than 5% of total population!

All medical conditions require urgent action – There are a lot of diseases and health issues for which it is better NOT to do an immediate medical intervention. Common cold is an example. Our body is capable of fighting most of these diseases and anyway antibiotics are of limited use against viral infections. In this case, using drugs affects individual’s health which in turn may reduce the immune system’s ability to fight the viral infection.

Recently my wife (who was pregnant) was detected with a kidney stone. The doctor we went to said that he needs to immediately implant permanent DJ stents (temporary tube between kidney and bladder) during the entire pregnancy. When I asked him whether there are any other options including waiting for the stone to pass naturally he responded – "Your wife may have serious complications soon and can die" and he said this when my wife was also present. When I asked about the possible side effects of DJ stents he responded – "Side effects? Hey dude, I am driving back to home and I may die in accident. How about that?".

Obviously this doctor lacked any medical ethics and hence I discharged my wife from this hospital and went to another urology specialist.  This specialist gave me the complete picture. If the stone is small, it is usually better to wait than to do any medical intervention. After 2 days the stone was removed without any permanent stenting. I have serious doubt whether even that was necessary.

In the so called advanced countries like US it is considered bad manners even to cough in a public place. You are supposed to use symptom suppressor drugs. It also appears they take regular vaccination even against flu! I think "human progress" is like climbing a hill. Countries like US are now climbing down on the other side! But even then I prefer US setup since patient has rights and can demand more information and can take decisions. In India, patients are like guinea pigs – they are rarely given any information by doctors. In my experience a lot doctors in India are very intolerant to the questions posed by patients or relatives. You can’t even ask what medicine is given to a patient.

Take for example, the heart bypass surgery which is a major surgery with a lot of possible complications. I have seen patients undergoing the surgery without knowing either the surgical procedure or the possible complications and possible impact to quality of life after the surgery. In many cases, there may not be an urgent need for bypass surgery.

Medical intervention is better than natural cure – Many of my friends and relative believe that cesarean is better and safer than natural birth. Many doctors also propagate this myth since cesarean delivery brings in a lot of money for the hospital.  In fact, there are clinics in Kerala which offers early child birth to avoid the discomfort of 9 months of pregnancy. They do cesarean even at 7 or 8 months of pregnancy saying that it is the safest option! In reality an early birth means compromised immune system and reduced survival chance for the infant.

Caesarian is a surgical procedure and hence inherently contains a lot of risks. It is the last resort if there is something seriously wrong with the child or mother during a pregnancy(Also see relation between cesarean and food allergy). I think (again using common sense) the pregnancy cases requiring caesarian should be less than 5%. In many hospitals it is as high as 80%!

These days children are brought up in sterilized environments and their natural immunity is severely compromised. They also develop nasty allergies early in their life (allergy to flowers, allergy to peanuts, allergy to dust etc.). The more we get away from natural environment, the more medical intervention we need to have. I think soon we will reach a stage where our entire life will need to be supported by regular drugs and supportive devices.

And remember, a hospital is the place where you have the highest chance of getting another disease. You may be going for a small treatment, but in that process you end with serious diseases. All the equipments if not properly sterilized (which you can expect anywhere) can transmit diseases. Blood transfusions etc. are inherently very risky. Personally I know a lot of people who has contracted Hepatitis B through some kind of medical procedure (Root canal therapy of the tooth or Endoscopy).

Modern medicine can handle everything – Most of the diseases we get in our lifetime cure naturally and our body has a very good immune system which keeps us alive for a long time. We usually think that the medicine is so advanced that once you are in a hospital you are safe. But the reality is quite different. Modern medicine has a lot of limitations and the survivability of a person depends a lot on the person itself. It even depends on a person’s will to survive.

Here are some typical cases where modern medicine is quite effective,

  • You have a fungal infection on the skin. There are quick acting medicines which can cure this.
  • Severe bacterial infections can be quickly treated with a wide range of antibiotics.  However blind antibiotic treatment without knowing the cause is disastrous in the long run.
  • Vaccination against deadly diseases such as Diphtheria, Tetanus etc. However it is not practical nor wise to vaccinate against every disease. Also note that people with good immune systems survive even the deadly diseases. You need to take the decision by balancing the risk of contracting the disease with the possible side effects of the vaccination.  Take for example, the case of HPV vaccine against cervical cancer. In India, this vaccine’s clinical trials were done on poor tribals who had no clues about the possible side effects. So it turns out that there were side effects and possibly some children also died due to it (see Hindu reports – uninformed consent | death of six children not due to HPV ). Finally after a lot of protest, these experiments were put on hold by Indian government – but what about those who died or who had no clue what was injected to them? What is more infuriating is the government response that the Right to Information Act (RTI) is not applicable for these clinical trials. With the level of corruption in India and with the well known greed of pharmaceutical  companies, there is a lot to worry in future.

However when it comes to diseases such as Cancer, solutions offered by modern medicine is nothing better than torture. There are a lot of diseases for (Herpes for example) which there is no cure. Most of these are not life threatening but reduces the quality of life of a person drastically. Alternative medicines such as Ayurveda or Homeopathy may provide better disease management/palliative care  than modern medicine in many of these cases due to less side effects.

Prolong life by any means necessary – Modern medicine tries to prolong life at any costs. It is assumed that a treatment which prolongs life is better even if side effects have horrible effects on the quality of life of the patient. This is quite evident in secondary stage cancer treatment. In advanced forms of cancer, the treatment may prolong life by one or two years, but it causes unimaginable suffering for the patient.

Over a period of time doctors and medical field in general, started viewing humans as some kind of machines. When there is a problem with a machine, we replace the part which caused the problem. We don’t evaluate whether machine feels pain or how the part change affects the machine’s life. So when everything in hospitals have become like a factory floor, it is the patients who suffer a lot. They are just a set of machines which needs to be corrected.

I think for terminal illnesses such as cancer, the patient and the relatives should be educated on the treatment. They should know the possible problems due to treatment and also due to NON treatment. In some cases it is probably better to die without treatment than die a horrible death with treatment.

Doctors know everything/can handle everything -  A large number of people don’t apply critical reasoning when it comes to doctor’s advice. I am not saying that we should always challenge a doctor. What I am saying is that you should have complete knowledge of the procedure recommended and the possible side effects. And yes, unfortunately not everyone can handle the information.

Also just like any other field, there are good, bad and worse. If you need a surgery, you need to find a doctor who is an expert surgeon. Not all surgeons have the same skill. Some are born surgeons who has an inherent skill in doing surgery. Find them.

Whenever I ask a doctor/nurse about a medicine or its side effects they tend to be uncomfortable. They feel that I am challenging them. These days I cross check the prescribed medicine on Internet to see its need and side effects.

Of course you can’t blame doctors alone. It is the ill informed patients who should be blamed more. When someone visits a doctor, they expect the doctor to give them a couple of medicines. If not, they claim – "this doctor doesn’t know anything".

Incidents of doctors being assaulted by patients & relatives are increasing in my state (Kerala). So government has now decided to bring in a law (hospital protection act) which makes it a serious criminal offense (without a possibility of bail!) to attack or abuse doctors. It also proposes the rights of the patients to receive complete information about the treatment received. But I still feel that more provisions are required in the law to protect the patient and penalties for doctors must also be added in the law. One thing is sure – currently patients are also at the receiving end and when they ask for any information, most of the time they are arrogantly dismissed or scolded by doctors.

True story – When a woman was admitted in a hospital with abdominal pains, her brother asked the doctor what medicine was given. Immediately the doctor started hurling abuses at the poor man who just wanted to know what was being given to his sister since his sister was pregnant. He knew his sisters life was in this man’s hands and he stood there with his hands folded suffering public humiliation. I don’t think this doctor deserves  the protection that the new law offers.

Summary

It is important to realize that medical intervention is not always the only answer. Sometimes you can wait & avoid the potential disadvantages of treatment. Sometimes waiting can be fatal. You need to be smart to make that decision or at least smart enough to find a doctor who can take the smart decision.

Related Articles

August 15, 2010 | Posted in Opinion | 1 Comment »

Repairing an iPhone 3GS Display – My DIY Guide

Broken iPhone 3GS LCD Three months back I bought an iPhone 3GS at a bargain price. iPhone 3GS is one of the best smart phones available in the market and when it comes to user experience there is simply no competition. The only downside is its high price in India.

Within a week of buying it I dropped it! The internal LCD had cracked and within few days, grey lines started appearing on the display (see photo). It was clear that within weeks the entire LCD will turn into a grey display. After a bit of googling I found that it is possible to change the LCD on my own. The only problem was how to get it.

That is when ebay came to the rescue. There are plenty of sellers in ebay.com who can do international shipping for iPhone 3GS LCD repair kit.  The LCD kit also contains all the tools required for replacement. I ordered an iPhone 3GS LCD kit from ebay and I got it within 10 days. 

Now all I had to do was to follow the iPhone 3GS LCD replacement DIY videos on YouTube or use one of the  DIY photo guides.

However the replacement was not as easy as I thought. The most important thing to remember is that a slight mistake could mean the complete destruction of your phone. So you need to be slow, steady and patient.

iPhone 3GS LCD kit

I used the iPhone 3G LCD replacement instructions provided by iFixIt.com. The procedure is almost identical for iPhone 3GS. Here are some of my own notes on the instructions given in the above link.

  • Do the replacement during daytime. It is really a nightmare to work under fluorescent lamp.
  • Step 2 is very critical. When you use suction cup never apply too much force as it will rip away the internal cables. Apply increasing pressure and vibrate slightly to get the display detached from the body.
  • In step 9 you peel away a thin black strip. Don’t forget to put it back after changing the LCD panel!
  • The above tutorial is incomplete at Step 13. After getting the LCD out, you need to separate the LCD screen from the metal piece. They are glued together. Use a thin screwdriver to gently separate them. Then attach the metal piece to the new LCD screen (after peeling away screen protectors).
  • Never touch the LCD screen once you remove the protective covering.
  • When putting things back, it is a bit cumbersome to connect the cables. It might take a while to get the Cable 1 back in position. Apply pressure so that it gets locked.
  • The replacement LCD is not as good as the original factory fitted LCD. The seller claims it is OEM LCD, but I doubt it.

So in short, it was a MasterCard experience,

  • Ordering iPhone 3GS LCD kit from US – $50
  • Replacing iPhone 3GS LCD – one hour of my life
  • The joy of fixing a costly Smartphone on my own – priceless!

Online Resources

August 9, 2010 | Posted in DIY | 3 Comments »

Birding along the Killi river in Trivandrum city

Birding is an interesting hobby and I have been into it for over a year now. The article below was written on a different site which no longer exists and hence I decided to copy it over here.

Killi river and Karamana river are the two major rivers which runs across Trivandrum city in Kerala. Killi river joins Karamana river near Thiruvallam at the outskirts of Trivandrum city. At these places, the joint river is highly polluted carrying a lot of raw sewage from the city. The river is so bad at these areas that even accidently falling into the river can cause serious health issues and I am not sure whether any birds can survive is these areas.

Unlike the downstream areas of Karamana river, the upstream of Killi river is fairly clean. I live on the east side outskirts of Trivandrum city which is around 2KM from the Killi river (near Kanjirampara and Sasthamangalam on the way to Vattiyoorkavu). 

My idea was to start birding from Maruthankuzhy bridge walking upstream along the Killi riverbank. The Killi river is not very polluted here since it is yet to cross the city. Hence as of now it supports a good population of birds in the city. But things are rapidly getting worse. There is a lot of encroachment along the river bank and in many places raw sewage is directly dumped into the river. I also saw people dumping garbage in large sacks. Unless there is a very focused effort in getting it clean, Killi may turn into a sanitary sewer.

We (me and my cousin) started birding trip in the early morning of 4th April 2009. We started from the main road at Maruthankuzhy bridge on the Vellayambalam-Vattiyoorkavu road. There is a public footpath that leads to the Killi river bank. In theory, both river banks are government property and hence anyone should be able to walk along the river bank. But in many places people have encroached government land and in some places the pathway is completely blocked by private buildings or walls. Whenever we came across a wall, we took a detour through the adjacent road to get to the next bridge and started walking again.

We walked for about 2 hours covering approximately 2KM along the river side. We saw more than 12 bird species along the way. We also saw a number of bird nests along the river bank.

Birds of Killi River in Trivandrum City

Following is the list of birds I have photographed on the Killi river bank.  All the photos seen below were taken during the trip. We did see a couple of more species, but I decided to count only the ones I managed to photograph.

common mynaCommon Myna (Acridotheres tristis)

Mynas are so common that sometimes I think they will overtake crows as the majority bird species in Trivandrum. We saw about 10-15 of them including two nests on coconut trees.

house crow

House Crow (Corvus splendens)

Over 20 crows were spotted, but there is no increase in the number due to the river presence.

Yellow-billed Babbler (Turdoides affinis)

Yellow-billed Babbler (Turdoides affinis)

Just one group of about 6-8 members were spotted.

Black Kite (Milvus migrans)

Black Kite (Milvus migrans)

These were flying very low and about 4 of them were spotted.

Chestnut-headed Bee-eater (Merops leschenaulti)

Chestnut-headed Bee-eater (Merops leschenaulti)

Just one of these were spotted.

Greater Coucal (Centropus sinensis)

Greater Coucal (Centropus sinensis)

Very common and I spotted two distinct groups with 2-3 members.

Little Cormorant (Phalacrocorax niger)

Little Cormorant (Phalacrocorax niger)

I saw two of these and the population density is roughly 4 per KM of river.

Stork-billed Kingfisher (Pelargopsis capensis)

Stork-billed Kingfisher (Pelargopsis capensis)

I spotted two of these and I think we can expect a population of 2 per KM of Killi river.

White-breasted Waterhen (Amaurornis phoenicurus)

White-breasted Waterhen (Amaurornis phoenicurus)

These are very shy birds and seeing one is not easy. I was able to spot 3 of them. So a population of about 4 per KM of river is a good guess.

Cattle Egret (Bubulcus ibis)

Cattle Egret (Bubulcus ibis)

Wherever cattle is there, you can find one of these.  I spotted about 3 of these on the ground and about 2 in flight.

Indian Pond Heron (Ardeola grayii)

Indian Pond Heron (Ardeola grayii)

Spotted just one near a bridge where there is plenty of water.

Glimpse of Killi River (Click for a large photo)

Glimpse of Killi River (Click for a large photo)

Tips for Birding along Killi River

killi-river-near-maruthankuzhy-bridge Killi river can be approached from a number of places. The route of my birding trip is marked on the map (click on the map to see Google Map of the area). The best approach locations are at Maruthankuzhy bridge (which I took),  Mannammoola bridge (which is on the Peroorkada – Vattiyoorkavu road) and Thozhuvancodu bridge (approach from Sasthamangalam-Vattiyoorkavu road via Thozhuvancode temple).

All these places are about 4KM from Trivandrum city centre (Central Railway station) and plenty of bus services are available. If you take an auto, it will cost you about Rs.80 maximum. You can also go upstream to places such as Vazhayila, but then you are going out of city.

If you decide to go birding, don’t try to cross areas which has houses on the banks. If you really must cross, ask for permission. Also be prepared for a lot attention and enquiries from local people.  Media in Kerala has been generating a lot of unreasonable fear (FUD) about terrorism and the like and hence many people are now hostile towards strangers. Be nice and if someone becomes hostile, counter it with an enquiry about the local reduction in crow population.

Gear Used for Birding

  • Nikon D80 with 70-300mm G lens.
  • Nikon Action 10×50 binoculars
  • Vivitar VPT 3600 tripod
  • Liviya backpack/Zeikos DSLR bag
April 24, 2010 | Posted in Travel Reviews | No Comments »

Removing bios password in Toshiba Netbook NB200

Toshiba NB200 Netbook Recently I bought a Toshiba Netbook NB200. If you use a computer mainly for email, browsing, music etc. this is a great machine. It has good performance with pre-installed Windows XP. The only problem I found was the power LED which is a major irritant during daytime.  Don’t even think of using a Netbook as your primary development machine.

Usually I don’t put a BIOS password on the computers I use. I normally keep my content protected and never felt the need to use a BIOS password. But when I got Netbook, I decided to put a BIOS password. A few days later I removed the BIOS password. After a few reboots suddenly the NB200 started asking for BIOS password. To my horror, it refused to accept the earlier password and after 3 attempts I got a nasty message on screen – “System Disabled. Error 0004” (Sometimes it was Error 0000).

The Toshiba Netbook NB 200 comes with a Phoenix BIOS named “phoenix trustedcore setup utility”. It probably has a bug related to password reset. I am not sure about the bug, but one thing is sure – Entering incorrect BIOS password three times causes some flag change in CMOS/EPROM and it permanently disables the system. The only option left was to take it to a Toshiba service centre with proof of ownership to get it unlocked! In short “trusted” means customer is screwed[If you own a NB200, I suggest you update the BIOS firmware immediately].

But then I realized that there are no Toshiba service centers in my area and the only option was to send it via courier. It meant that I may not see the NB200 for the next few weeks and it is sure to cause me a lot of headache. So the next thing to do was to see whether there is a way to either clear the password or bypass the password. After a bit of Googling I came to know that earlier Phoenix bios chips had backdoor passwords such as PHOENIX, CMOS, BIOS etc. Some Toshiba laptops had “Toshiba” as the backdoor password. However none of them worked on Netbook NB200.  So the only option was to open NB200 and see whether I could pull out the CMOS battery. I was pretty excited since it was a while since I did some hardware hacking!

Hacking Toshiba Netbook NB200

Step 1 : Getting the tools for the Netbook surgery 

Following is the toolset I used to disassemble Toshiba NB200. I had recently purchased a screwdriver set for mobile devices from Bangalore ($3) and it came really handy for opening NB200. I also used a multi-LED torch so that I can take a look at the edges to see how to open a specific section. A torch is must have if you don’t have the technician manual with you.

Tools required to open Toshiba netbook NB200

Toshiba cover design is such that without technician manual, it is very difficult to open the Netbook. Also the screws are not tough enough and if you don’t select a correct screw driver bit you may damage the screws and then you are completely stuck. I had to saw the inner cross section of one of the screws after it got damaged by a wrong screwdriver bit.

Step 2 : Getting the Netbook NB200 ready for the surgery

Toshiba Netbook NB200

Before opening the Netbook ensure that you have removed the battery. It is very important and initially I forgot to do that. Luckily nothing bad happened.

Step 3 : Opening the back cover of Toshiba NB200

Step1: Opening Toshiba Netbook NB200

To remove the battery unlock the switches indicated above as B1 and B2 and then pullout the battery on top. Then remove screws indicated as C1, C2 and C3. It is fairly easy to remove the plate behind C1/C2. However removing C3 plate requires some effort and requires you to pull it out hard. Behind C3 plate you will find RAM module and behind C1/C2 you will find hard disk and WLAN card.

Step 4: Removing hard disk, WLAN card and memory module

Step2: WLAN, Hard Disk and Memory card in NB200

To remove memory module, press out the locks indicated as 1 and 2 and then pull out the memory card. To remove hard disk push the hard disk as indicated. Removing WLAN card requires you to remove two screws. Unless you want to completely dismantle Netbook, it is better not to touch WLAN card. The red circle indicates the screw damaged due to wrong screw bit.

Step 4: Removing BIOS password on Toshiba Netbook NB 200

Removing BIOS password - Toshiba Netbook NB200

After removing the memory module I noticed a paper sticker behind it. So I removed the paper sticker and then noticed the jumper as indicated by the red circle. To remove the CMOS/BIOS password all you need to do is to short circuit the jumper leads. Use a screw driver to do that and keep it short circuited for 10 seconds.

Now you may be wondering how I found this without the technician manual. To be frank it was pure luck. From a couple of other sites I came to know that resetting password required short circuiting some jumper. For example, the instructions to reset BIOS password on Toshiba Satellite L10 is,

- Open Wi-Fi Cover
- Locate & Short Out JP1 for 15 Seconds

I think the same technique might work on other Toshiba Netbooks namely NB100, NB205 etc.

Step 4 : Dismantling Netbook completely

Removing keyboard in Toshiba NB200

If you want to dismantle the NB 200 completely you need to remove all screws marked as F6 and F4 at the back cover. Then you can remove the top cover over the power light as shown above. After removing the cover above, pull out the keyboard completely. Before pulling it out  ensure that you remove the keyboard connector.

Step 5 : Final steps

Dismantling LCD in NB200

Now to dismantle NB200 completely you need to remove a number of connectors including monitor connector (top left with white sticker) and a number connectors on the right. Then you need to remove four screws on both sides of the monitor lid. This way you can completely detach LCD screen from the Notebook base. By this stage I had already spent about 5 hours on it and hence assembled it back.

Last week I sold NB200 since I realized that a Netbook is not something I needed. It is too big to replace a mobile device and was not good enough to replace a laptop.

November 18, 2009 | Posted in DIY | 2 Comments »

Objective C programming in Windows – GNUStep & ProjectCenter

I have been toying with the idea of getting into full fledged iPhone application development for sometime now. To get into iPhone development, you need to be familiar with Objective C language and Cocoa framework. But the iPhone development environment is only available for Mac platform (which includes Xcode IDE and iPhone simulator). If you want to run iPhone development environment without a Mac machine, you have two options,

  • Use a virtual machine platform like VMWare to run OSX under Windows – However it is not legal to run OSX under non Apple hardware.
  • Another option is to use OSx86 which allows you to install Mac OS on top of your Intel or AMD computer.

But if you just want to learn Objective C language or Cocoa framework programming, you don’t need any of the above. You just need the GNUStep and ProjectCenter tools. This article explains how GNUStep can be configured as a Objective C development environment on Windows.

Objective C Programming in Windows using GNUStep

GNUStep is a free, object oriented development environment with built in tools such as a compiler. The C/C++ compiler included (gcc) also supports compiling Objective C programs. It also has a graphical development kit with API similar to Cocoa framework (since both of them were derived from the old OpenStep framework). So installing GNUStep on Windows gives an instant development environment for Objective C programs. An extension to GNUStep is the ProjectCenter (Xcode equivalent) using which graphical programs can be built.

Installing GNUStep on Windows

GNUStep is available as a Windows installer from the official page.  I recommend downloading and installing GNUStep System, GNUStep Core and GNUStep Devel. Note that the latest version available as of October 2009 is 0.23.0 and this version is not compatible with ProjectCenter 0.50.  If you are planning to use ProjectCenter I recommend that you download 0.22.0 version of GNUStep from the download page. Here is a summary of what is required,

  • Objective C programming only – GNUStep 0.23 (System | Core | Devel)
  • Objective C Programming and ProjectCenter 0.50 -  GNUStep 0.22 (System | Core | Devel)

You can download pre-compiled version of ProjectCenter 0.50 for Windows from here.

image Once you install all the binaries above, you will have GNUStep shell under Programs->GNUStep (See figure). Click on the Shell to invoke the command line interface. This shell is based on MinGW (collection of gcc compiler and command line tools) and using it you can compile and run Objective C programs. The command line is similar to Unix/Linux command line and you can navigate to any folder in your windows machine. Using the built in gcc program you can compile and run Objective C programs.

Compiling and running Objective C programs in GNUStep on Windows

Create the following program and save it with the name helloworld.m using notepad,

1
2
3
4
5
6
7
8
#import <Foundation/Foundation.h> 
int main (int argc, const char * argv[])
{
  NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
  NSLog (@"Hello World!");
  [pool drain];
  return 0;
}

Now using GNStep shell navigate to the folder where helloworld.m is stored (in my case it is cd w:/prg). Type in the following command to compile helloworld.m.

gcc -o helloworld helloworld.m -I /GNUstep/System/Library/Headers -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base -fconstant-string-class=NSConstantString

Please note that the various switch options such as -lobjc should appear at the end of the command. the -o switch specifies the name of the executable created (helloworld.exe) in this case. Following is the result of compilation,

Info: resolving ___objc_class_name_NSAutoreleasePool by linking to __imp____objc

_class_name_NSAutoreleasePool (auto-import)

Info: resolving ___objc_class_name_NSConstantString by linking to __imp____objc_

class_name_NSConstantString (auto-import)

W:\Tools\GNUstep\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.e

xe: warning: auto-importing has been activated without –enable-auto-import spec

ified on the command line.

This should work unless it involves constant data structures referencing symbols

from auto-imported DLLs.

You can see that helloworld.exe is generated in the same folder (Ignore compiler output and warnings or use -enable-auto-import switch to fix them). To run the program type in ./helloworld.exe at the command prompt,

image

Common Errors during Objective C compilation

  • error: cannot find interface declaration for `NXConstantString’ – This means that you haven’t added the switch -fconstant-string-class=NSConstantString to the gcc command line.
  • Foundation/Foundation.h: No such file or directory – This means that gcc is unable to find Foundation header classes. Use the switches -I /GNUstep/System/Library/Headers -L /GNUstep/System/Library/Libraries
  • stray ‘@’ in program – This means that you have the wrong double quote in your source code. Use " instead of .

Now you are all set for Objective C programming and a bit of Cocoa programming on Windows. Good luck! and buy a Mac machine when you are ready to write iPhone programs.

Further Reference

October 23, 2009 | Posted in Programming | No Comments »

Barcamp Kerala 6 – my experience

I have been following Barcamp Kerala from its inception, but never attended it till Barcamp 6. This time I had both motivation and time to attend it and it turned out to be better than what I anticipated. A large and highly enthusiastic group of intelligent youngsters, highly informative sessions from people who are self motivated and a really informal atmosphere makes it an irresistible environment, especially for geeks (or the new age geeks who has no problem in connecting with others).

I had gone to Thrissur one day before the Barcamp and on the day of the Barcamp I realized that it is a minimum 3 hour drive from my home.  So I started as early as I could (7:30) and was on the NH47 by 8AM. Obviously since I wanted to reach the venue before any sessions started, I was in a bit of hurry. So somewhere near Edappally signal, I hit another car. I had braked real hard and it barely touched the car boot and caused a small scratch. The other guy seemed like a gentleman, but was adamant about compensation. I said sorry and paid whatever he was ready to accept for the damage. I am driving long distances for 4 years now and this was the first accident due to my mistake. So Barcamp experience started on a really low note, but it was all uphill from there :-)

I reached Barcamp at 9:30 and immediately spotted some of the familiar faces (from Web that is) – Praseed was at the corridor and I met Manjit, Kenney, Anand, Binny, Eldhose, Arun, Anish, Sudhish, Fahad and a couple of other guys. I also realized that I am not as young as I thought myself to be! :-)   Barcamp could be an overnight event with plenty of time for socializing as well. Since I wanted to attend all sessions and had engagements in the evening, I got little time for interaction and that is my only disappointment.

Barcamp Kerala 6 – Sessions

Praseed had a really interesting session on human biases(Biases and Fallacies of Human Race). The session was like driving through a tornado and I guess many would have found their brains overloaded(at least I felt it – but in a good sense). I found it extremely interesting and I want his presentation(well prepared and I am sure he would have spent a lot of time on it) very badly. There were couple of good books mentioned (I had read only one of them). However personally I felt that we need to be careful when we talk about the advantages of an "objective" approach. After all human beings are emotional animals and I don’t think there is anything inherently wrong about it. I am always an advocate of the "middle path".  Also I guess only Praseed can get away with so many highly provocative slides!

Kenney made a proposal on the voice based blood search(Voice Based Blood Search – A Proposal). The idea is simple – when you need blood you just dial a number and after a few selections, you get connected to the real donor. The ability for the donor and the recipient to connect directly is very powerful. This to me is a brilliant idea and if Kenney and the team can get government backing at least in principle, they have something really useful. Government backing is essential in getting around any potential legal minefields and also in getting a large number of donors and hospitals to support it.

During Kenney’s session, another topic came up -  About the formal degrees and on the tendency to over value them. This topic seems to generate a lot of heat almost everywhere and Barcamp was no exception. Getting a degree has become a default qualification for almost anything in our society. There is no point in saying that degrees are useless (I consider it as a period when you can devote yourself for a lot of self study – During my engineering I spent more time on hacking activities than now). But at the same time I want to see that people who for some reason or other couldn’t complete a degree gets opportunity for growth in areas where it is not essential (Which I think was closer to Kenney’s point). Similarly a guy with difficulties in his English communication can’t get  a job where there is little use for English language – and obviously it should change.

Fahad came to the stage and talked about an idea of networking petrol pumps so that thieves cannot get away when they steal a vehicle. Theoretically it may look good, but practically it is useless. First of all, the petrol pump staff are underpaid and a forget co-operation from them. In fact some of them are nastier than thieves who steal vehicles! When I was driving from Trivandrum to Thrissur to attend Barcamp, one of them tried to cheat me by not resetting the meter. Secondly, when something like this is setup thieves just reorganize themselves pretty quickly – hire some pump operators, change the number of the vehicle, have a backup of petrol cans somewhere on the route etc.  And your entire investment went down the drain!

Reading the above paragraph reminded me Rajesh’s session where he mentioned that we(older generation) tend to discourage and de-motivate enthusiastic youngsters. Sorry Fahad!

Rajesh’s session on startups and the challenges faced by a startup(Starting up – what no one told me) was my most favorite session. Since I had taken his path to a certain extend (setting up a company for example), I could completely connect with what he was saying, especially the rattle snake part. The problem with his session is that Rajesh’s session alone wouldn’t give the full picture to the youngsters present there (you need to burn your finger to learn it). In that respect Rajesh’s idea of mentoring startups is a good idea. Even after working 12 years in software industry, I am not confident enough to start my own venture (and it would have been quite the opposite if I was in US). It is probably partly due to the fact that I am not a big risk taker, but is partly due to my experience as well.

Arun Basil came up with a session called Do they serve Beer at the BarCamp? which was loosely a mind map based presentation on Barcamp history. It was followed by some miscellaneous items such as usefulness of mind maps, a plug on a to do program called tudumo and some other general items such as ways to impress girls… :-)

Manu Zacharia had a session on IT security issues and career opportunities(Ethical Hacking – Hacking in its real sense). This is a session which generated a good amount of interest and probably motivated a lot in the audience to explore further on TCP/IP protocols, buffer overflow and SQL injection etc. Manu knows how to present his stuff and was extremely patient when faced with a barrage of questions.  However, I was disappointed that he couldn’t sufficiently cover the essence of the word hacking, because his focus was on IT security.  To his credit, he did point out that "hacking" is not about IT security alone (Binny would be the best example for a software hacker). His session should have been named something like "IT security and career opportunities". The session was very good and I am sure there would be a lot of people who are even ready to pay money to attend a lecture similar to this.

Muneef took a session on Drupal basics (Drupal 101) and gave an overview of the CMS. However, lack of complete slides and a lack of demonstration of the tool was all too noticeable.  In one slide the feature "pathauto" appeared thrice :-) .

I left immediately after Drupal session since it was already 4PM and I had 2 hours of driving back to Thrissur (it went all downhill after Barcamp since I got stuck at Koratty(NH 47) due to a church festival for over an hour). Kerala Barcamp 6 was a good learning experience and it recharged my learning batteries as well.  I think if this is something that can be planned as some sort of overnight camping, it would be much more effective for networking and knowledge sharing.

Trivia

  • Rajagiri college has international level infrastructure and facilities and we should be thankful that they offered the place for Barcamp. However food sucked big time. It was stale and I guess I need to visit colleges sometimes to appreciate my wife’s cooking skills.
  • While getting out of the Rajagiri, I walked past a group who just came out from Barcamp. One guy said – "Man, we wasted our time. If we had played cricket or something we would have enjoyed something" – It was both funny and insightful. Barcamp is not for everyone!
  • It was a really ironic moment when I saw Manu Zacharia and a couple of guys trying to break into their own car. He probably locked himself out and even though he is an expert on breaking into computers, he was not able to break into his own car :-)   Rarely you find such ironic moments in life and you have more probability(this word is now reminding me of Praseed’s session) of finding something like this in a Barcamp!

References

October 12, 2009 | Posted in Opinion | No Comments »