Sunday, October 31, 2010

A Journey of around 45*9 hours with My Friends at TCS ILP

I start with my favorite thought or fact (whatever you say it)that, "every human being in the universe
has something special, which separates one apart from others.If one applies one's best things in life,
nobody is going to stop him/her from achieving what he/she wants to".
But apart from knowing and learning about oneself,it is also great to know and learn from others which I always try to do.
And during my ILP@ TCS I tried this and came across some of the best persons to learn/know something.

ILP is over and now it is time to share few things batchmates.
The list goes down here:-

1.SahuChat Baba
     Comedian,who can make you laugh at any moment,A Mimic who can do mimicary of any      person,singer(kya mast gaata hai yaar)

2.Priyambada-
      Topmost techie(Stream score 92%,Common ILP score-85%),Intelligent+hard worker.
      Wants to work in TCS for 24 years and become some technical head. ATB 

3.Ruchi- A palm reader,dancer,top techie (SCJP) (in short all rounder)
         (I was able to get second cup of tea in CMC only because of her and Aditi listed 7th here :D )

4.Debasis- Topmost techie with wide domain knowledge and experience and a great friend.

5.Amit - A good team Manager

6.Rajesh - Our masakali CR :P, who is always ready to solve problems.

7.Aditi-   A very nice DamSaraj actor.
               Palm reader(sachi hai yaa jhoothi, this I will tell you in future once I come to know.)
      (And O: GOD help her to get her out of the terror of 5 persons Pri,Resham,Ranjoy,Debasis,Lolo :P )

8.Lohit- Aka Mr.lolo a great learner.

9.Ranjoy-All rounder

10.Nidhi-Great speaker who always rocks with her speeches.

11.Resham- Great speaker and singer

12.Ananya- Palm reader

13.Kislay- Techie

14.Ashutosh- kaun nahi jaanta inko."inke baare mein to bolna suraj ko deepak dikhane jaisa hai"

15.Babapriya- A very simple person who always wants to learn new things.

16.Kumar Prateek- Non stop talker,Future IAS Officer and a very good person to be friend with

17.Ashok- sabse seedha  and down to earth ladka.

18.Arpita - Girl (read it piglet :P) with so called great revolutionary ideas.

19.Priyanka- (Our Parna) Really a great singer
     (Specially the tiltle song of Akhiyon ke jarokhon se maine dekha jo...)


20.Abhijeet Samant- Soccer lover

21.Abhijeet Abhinav-Singer (bas gaate time action jyada karne lag jaata hai)

22.Prateek Pradhan- Creative and painter

23.Surendra- Simple and one of my best friend

24.Abhay- Actor and portable movie database and an encyclopedia.

25.Mittal Patel :P->A good Coder *haan*,A good Designer *haan* and full time talker *haan*.
                      (he always reserves one space for "haan" between any two words he speaks :P )

26.Shradha - kaun nahi jaanta inhein..Best CR,Great speaker and always happy to help friends.
                             (Lekin meri baat ko hamesha mazaak hi samjhti hai :(  )

27.Shruti- Gudiya..cutest gal of k1(read it ILP sem).
           She is AKA red face kyonki jab ye hasti hain to bhi inka chehara laal ho jaata hai.
      
28.Shivi- Great speaker with great smile.She was CR in our KIIT campus and from there one quote is    famous about her,  "Shiyarni bani sherni" by RP Singh.

29.Devrishi-Our CEO with an excellent personality, in whose dream company each and every employee will   be having a jet.
30.Gautam- One of the best techie (Topper of Common ILP- 87%)
31.Vishal- Dancer and an excellent Singer.(saayad hi koi gaana hoga jo inko nahi aata ho).

32.Ritvik -the person who taught me a few Bengali words
           (Dont mind I won't spell them here except.. "Aami tumake bhaalo baasi" and yes Only girls are   welcome to ask the meaning of this sentence.) :D

33.Sonali- Girl, who has always been the first one to wish me every good morning.

34.Ajay- A walking Encyclopedia

35.Dheeraj- (Amit JI) great Actor

36.Sutapa- A very great person to be friend with,excellent speaker with a great smile.
                  Inko apani photo khichwane ka bada shok hai.

37.Ashish - IMDB,All rounder

38.Roomali - Dancer with great smile

39.Parveen- SCJP,hard worker top techie.


Above are the persons with whom I spent almost 9 hours every day during my ILP @ TCS.

@Above All: All the best for your bright future.It has been a great experience for me to know you and spend time in playing dam saraj,gossiping and talking nonsense.As all of you are going to stay with me during projects or on bench (:P) so I wont say I am going to miss you all.

Again scrolling down?? ab kya bache ki jaan loge, kitana likhoonga?

----Signing out----

Friday, March 5, 2010

The Best Programming Experience Ever..

So finally 2 days after the "State Level Programming Contest Final @ Infosys Bhubaneswar DC on 3rd March"  I have got some time to write about our experience in the same. I may not have the same excitement and feeling now that I had just after we (Rajesh Patidar,Mamta Sinha and me) were declared the winner at the state level but the experience that I have got from this contest is really amazing, one of the best ever and is really worth sharing with you.

So here it goes:-
For those who don't know about Aspiration-2020, it is a programming contest being organized by Infosys every year starting from 2008-09.In year 2008-09 (won by our own Anurag Sharma & team) the journey ended with state level finals and there were no national finals but this year there is one and it is the 5th and final round of the contest(we are in it :) ).As it usually happens in any contest, in this contest also life gets tougher and tougher as you move in next rounds.The intensity level of competition can be guessed just from the fact that for the state level finals only 6 best teams were selected from 80 colleges in 5 states  or better say 6*3=18 students from 26,000 registered students.(As said by infosys)

Now the story of State finals begins:-
---------------------
We reached infosys BBSR DC by auto around 8:00 AM for registration and for some pre-work and were welcomed with nice breakfast.The contest was to start from 10:00 AM so we discussed our strategy to approach programming problems.Initially we thought that we will distribute all 3 problems among us and start solving simultaneously.
But from my previous experience I felt that this is not good because:-

 1)We were given a single PC (not three) so at a time a single person can read a problem properly and switching among problems consumes a lot of time and it also also create a lot of disturbance.

 2)When a single person writes his/her code there is more probability to commit mistakes as compared to the case in  which one person writes code and rest of 2  follow him/her whether he is committing some syntax error.

 3)When three persons develop an algorithm then there are less chances of missing corner cases or some special test cases by the proposed algorithm.

  With these kind of thoughts I suggested my team mates that it will be good if we solve a single problem at a time in the order of increasing difficulty and they accepted it.
 
  The contest started at 10:00 AM and as per our strategy we picked up the easy level problem and it hardly took us 5-7 minutes to successfully solve it.We were happy and with an improved confidence we picked up middle level problem.This was a standard Dynamic Programming problem and we came up with an efficient algorithm and coded it very fast but when we submitted, some test cases failed.We checked the logic several times but were not able find it and the signs of frustration started appearing on our faces except Mamta's who was still looking confident.
 
  We had no alternative other than to leave the middle level problem and to move on to the difficult one which involved a huge mathematical calculations.It took us some time to understand the problem properly and then we developed a recursive algorithm for it.But this time again some invalid test case failed and now those signs of frustration, tiredness started rocking.
 
  It was hardly 11:30AM and still one and half hour was left.I and Patidar thought about leaving the contest with a hope that with full points from one problem and some partial scores from rest two we have some chances of qualifying for national finals.But Mamta stopped us and said we should give it some time.We sat but for nothing but to talk and gossip right in Lab where other teams were solving their problems.
 
  After 15-20 minutes of gossiping when we looked at the middle level problem,we saw a ray of hope.As we Organized "The Codiac Programming Contest" in our college on same platform so we had a little bit idea about the format of the test-case file that was being used by server to check the validity of the submitted program.Using that idea we reorganized our code keeping the algorithm intact and submitted and guess what, it was successful. :)
 
  Now it was the time for those signs of frustration,pain,tiredness etc to fade away at least for that day because with 2 successful submissions we were bit safe. But the story was to be a bit better as with the  confidence level at its peak we picked up the difficult problem again,came up with a invalid test condition,wrote it and submitted successfully.

By 12:30 we finished the contest and left the lab with smiles and brightness on our faces thinking and discussing  that we will be winner today and we will qualify for national level final and that happened.

After some photo session there was prize ceremony. Winning at The State Level was great but for me the experience that I had was equally important because through this state final round I realized the importance of some of the best human values which I had read or heard but never felt much in real life.
Some of these values which I find that helped us or we used to win this contest are:-

--*--Team work:- In previous rounds we solved maximum 2 problems but this time we changed the strategy and solved all 3. The only difference was that this time we were working as a team.

--*--Never Give Up:-As you read if we would have given up after one and half hour we would not have been winner.Credit goes to Mamta.So try again and again to achieve what you want.

--*--Doing something may award you with some intangible skills  :-Just because we organized Codiac Programming contest we were able to solve one problem otherwise we would have stood runner-up instead of Winner.

--*--Diversity:-Diversity in a team can help in generating new and different ideas that is a theory but diversity in team can make you winner is practical.Mamta is not big coder but she played an important role in winning this round.

            Ab jaan loge kya, kitne point pe point banwawoge,thode se baith kar khudh se bhi bana dalo aur comment mein de dena so that other people can have a look on them.
            Ab apni kahani khatm karte hain aur agar sab thik thaak raha to after National Level Finals (on 19th March @ Hyderabad) I will tell you another story because that will be the ultimate test of what we have learnt  till now.
           
            Hope, we will make it. :)

Wednesday, December 2, 2009

Learning A Programing Language

Learning a Programing Language

As you know a computer programmer uses a programing language to write his program through which he makes the computer to perform his task.Almost all kinds of program whether application program or system program from any domain can be developed using a single programming language.But in real time when we develop software we get a lot of constraints like:- product delivery time,efficiency,user interface,memory and other resource requirements.When we want our computer to perform our task in these kind of constraints,we have to design and develop the software accordingly and then the idea of using a single programing language for all kinds of application gets crashed.So it is wise to use a suitable programing language according to the product that we want to develop.Thus knowing several programing languages is very good thing.I felt this thing when I came across different kinds of application and so through this post I want to share my experience in programming for the very same purpose of learning any programing language very quickly.

1.Be ready with a fundamental language:-In general any new high language that you come across is an enhancement of some preexisting language.For example:-
C >> C++ >>Java
C++ >> C#
Thus if you know C language then you can learn C++,Java,C# at very fast pace.I would say that if you know C or C++ then it is very easy to learn any language and that too very fast.

2.Get overview of new language:-To learn any new language first you should get overview of the new language through
which you will be able to know the main features of the language.If you are ready with basic then getting overview of the language should not take more than 5-6 days(considering around 2-3 hours a day).You may take more time but keep in mind that this overview means you must be able to answer some questions about language like:-

What are the new and specific features?
What is style of programing like procedural,Object oriented or both?
What are the security and other features that makes the program unique?
How using this language you can develop product very fast?
For what kind of products this language will be best suited?

If you are able to answer above kind of questions very well then you will be able to use this language appropriately to develop efficient products.

3.Get in-hand experience of the language:-If you are ready with basic knowledge of language then you know what are the features in this language that you should use to develop a product.To get an in-hand experience of these features you should take an appropriate application and try to develop this using these features.While selecting the application you should keep in mind that your purpose of developing this product is to use maximum features available in the language.So selection of this application is very important.For the selection of this application you should keep some points in mind like:-
1)For C take, some simple programs and try to play with operating system through them.
2)For C++ take, a real time system application which may be a bit complex.
3)For Visual C++ take, system application which requires some GUI.
4)For J2EE and ASP.NET, take simple web application and try to use features like security,tag & other libraries,session handling etc.
5)For J2SE and C# take simple desktop application with rich GUI.
6)For languages like FLASH and JAVAFX take application which uses some animations.
7)For languages like Javascript and AJAX,take simple web application and try to create an interactive environment between user and web pages.
8)For SQL,PL/SQL you should take test databases and try to use DDL,DML and DCL.These exercises will help you to interact with database in an efficient way.

If through this application you are able to feel the utility of the language then your job is almost done.Now you are acquainted with basic features of the language.So in real time when you come across any kind of application you will easily figure out,"whether for this application I should use this language or not?".

4.Naive to Proficient:-
Proficiency comes from practice.As you develop more and more applications you will get deep understanding of the language.


(Note:-Whatever I have mentioned here, are not hard and fast rules.This is my experience from which I have figured out these points.Please do provide the feedback ,so that in future I can come with some better content.)

Friday, November 27, 2009

My Experience With Education

From some days I was planing to write blog but due to my laziness and exam kind of stuffs I couldn't make it.
But,now 7th semester exam is over and I am almost free from any kind of project etc. So today I am going to write my a blog.Through this blog I want to share my experience from the environment from which I started the very initial phase of my current life.

My Village (Malgaon) :Ground of My Inception

Well I belong to a middle class family from this village in the state of Rajasthan.My family background is agricultural and this has been the main source of earning for my family.I have three siblings and I am youngest among them.Like all other my friends I started helping my family in fields before the starting of my education.
Around at the age of 6-7 years I was admitted in the school of my village.After the admission a typical day in my life was like this:-

First I was to attend the school and when it was over I used to go to fields to help my parents or grazing animals or protecting fields from animals likewise.
After sunset I used to return back home with my parents.During early days, due to fatigue just after taking dinner I used to go to sleep like others.But I was scolded and sometimes beaten by teachers due to non-completion of my home-work.So I started to study after the dinner just to finish that home work.

This kind of routine life continued till I was in class 8th.One day it was a holiday and I was sitting alone under a tree and protecting fields from animals.Then I don't how but I got stuck in some questions in mind like:- "what am I doing ? Am I going to live like this whole of my life ? Will my life be just limited to these fields and village ?".It's not like I used to hate my life or my village.I used to love my family and my village.My familiy was providing me education.In village I was having good time with my friends. But on that day I thought of going beyond that life.I was having only one answer to these questions and that was:-"I am just following the same path that others use to do.One day I will become a good farmer.Then my children will start from where I started and they will go on this same path and so on".Now you see this answer was itself a question for me and that was:- "How to change this path?". I thought about answer to this and as you might have guessed, my answer was "Education". I thought that I will get good education and I will earn good money and then there won't be any problem at all.

So that day I will say was the day that changed my life.From that day I started studying for more hours and instead of just limiting myself to competition of my home-work I started studying to get good marks in exam.For that I left no-stone unturned.Some days when I used to be with my brother in fields during nights,I used to carry the book and read using lamp.Due to my intense desire I got 91% marks in 8th class and topped my block.Impressed by that Head Master of the school helped me in filling a form for scholarship exam called "Gramin Pratibha Khoj Pareeksha".I got 2nd rank in my district as well as an amount of Rs 10,000/- as scholarship.Initially my parents were planing that now you are done with education and just concentrate in agriculture. But that result helped me in convincing my parents to go for more studies.There is small city close to my village.I took admission in one school.I passed my class 10th with 87%marks.Likewise I used to get support from my parents, I kept my studies going and now I am in 4th year of BTech course in Computer science &engineering.

This is how I have carried my educational life.