I am not a professional programmer but my interest always drags me to program such things on which i have to think and are challenging to me.