Friday, October 21, 2011

A post on-the-fly

Let me get started with this post by firstly explaining why this post is named “A post on-the-fly”. In simple words, its named so because I am literally flying right now. I am writing this post while travelling from Bangalore to Delhi on seat no. 22-E of Flight No. 9W-812 of Jet Airways (sharing the flight details just to prove that I am actually flying, I could have asked someone to actually take a picture of mine writing had I got a camera with me).  So, just in case I write anything stupid in this post,  pardon me for that, considering that I am HIGH right now (literally !!!).

Before you start judging me I should better explain what forced me to write a post in an airplane. Am I so freaked out that I have nothing else to do in an airplane than to write a blog-post? It’s certainly not that this was my first choice of passing time, I tried involving in other activities but none worked. Somehow I forgot to save some movies or sitcom-episodes on my laptop from my hard-drive. The only movies I had were Hera-pheri and Garam-Masasala (featuring Akshay Kumar and John Abraham, NOT to be confused with some erotic B-grade) on my laptop, since I had watched them only a week ago (again, I had watched these movies atleast 10 times each), I was in no mood to watch them again. Then I switched to watching some technical-educational video which I had, but the man was blabbering in such a low voice that I was not able to understand even one word he uttered. When you are travelling in an airplane, there is something which happens to your ears and your hearing-ability reduces significantly. I am not sure what’s the exact reason behind this phenomena or what it is called as. I used to think that it’s because the atmospheric pressure is different at such a high altitude, but then somebody suggested that they do maintain appropriate pressures in the airplanes, so that could NOT be the reason. So, I am not sure, if someone reading this post knows why such an effect happens please do explain that in the comment section (or else I would figure it out sometime, Google is my friend).

Why did I not try sleeping? Hmm…that was a sound option, so I tried that too. But sadly there was some child travelling in the plane, who was crying in the highest pitch human ears, could hear. May be they should ban bringing children on the flight for the convenience of other passengers, or charge some extra bucks from them, and use that money to provide us with ear-buds. Or maybe they should start a separate service to courier “weeping kids”. Before you board a plane, you need to deposit your children at the children-counter (make sure you get your children tagged correctly, else they might get routed to some other flight). When you reach your destination airport, there your children are revolving on the children-belts waiting for you to collect them. It’s more easy for the parents and the co-passengers as well (a win-win situation and it should be fun). If some child-activist is reading my post right now, I am very much going straight to jail. Ok, so when all other option failed to satisfy my desire of having an enjoyable flight to Delhi, I thought fine let’s do something different, so I ended up writing this post.

Enough justifying why I am writing this post. Let’s talk something in general about airports and travelling in flights. Since the last year, I have travelled quite a lot in flights, and thankfully these travels have been funded by one company or the other. Rather this is the first flight where the entire expense is born by me, and I have spent fucking 12k bucks on it (another reason why I wanted to have enough fun in the flight because it was so damn expensive).

Anyways, I would admit that I am not really a fan of flying in airplanes. Let’s try to figure out the reason behind it. The first reason is certainly that you cannot see anything outside the windows. The first time I sat in a plane I was very excited about sitting on the window seat, but 10 minutes in the air, I realized you cannot watch a shit, there is nothing to watch, it’s like the same stale picture outside your window. On the contrary, It is a much better experience in trains where you could watch a lot outside your windows, the fields, the people waiting at the railway-crossings, people doing their regular stuff, the jungles, the long train journeys (which are especially fun if you have someone to talk to). I just love the train-rides.

I also hate the ultra-small room for you to sit, one could hardly move (the bastards are biased against economy class people). One other aspect which irritates me about the whole flying thing is the fucking high prices of the food in airports. Firstly, you do NOT allow carrying any food, then you delay flights, and then when a person is hungry, the only options you gave him is a plate of idli for 200 bucks (what are those silver idlis or something? Do you dip mix melted gold in the sambhar? ).  I also get irritated when they start to give the instructions before the take-off. No one listens to that; even if you do you can’t remember so much. They have a safety instruction guide kept and they actually expect people to read it. And yes, they also keep a sick-bag somewhere under the seat. I have no idea where it is kept, sometimes it’s under the seat, sometime in front.  What do they expect, when a person is having nausea, he should firstly solve the puzzle and figure out where the bag is kept? Btw the flight attendants making those actions accompanying the safety-instructions reminds me of my physical-education classes in school, where the entire class would line up, and start doing some dumb exercises (And we were even graded on that, ha dumb and dumberer).

Ok, I am done cribbing about air-travel. Now, let me share the fun part which I enjoy.  I like the part when the plane takes-off and when it hits the ground while landing. It’s like a free adventure-ride in a fun-park, but the sad part is the excitement is only for a minute or so. Sometimes I think that may be the airlines should try to make the whole flight experience a bit more thrilling. May be sometime they should shake the plane for no reason when in air, dive the plane all of a sudden, or maybe giving it sharp turns in the air. Sometime they may also try to enact a fake-hijacking attack; that would be some really cool stuff. Even the cabin-lights blinking like a disco-light would also make the whole travel much more exciting. Ah…they could also try carrying some freaky animals or reptiles in the plane to scare the shit out of people (Remember Snakes on a plane, it was a fun movie). 

And how can I forget this part, last but not the least, you get to see some really gorgeous women on airports (and I am not just talking about the cabin-crew staff). If luck is on your side, you might get a seat next to one of them, never ever happened to me though (once a beautiful woman was sitting next to me, turned out she was married).

Before I end up this post, let me try and compare the various domestic-flights I have travelled in. Some people might not be aware, but there are two sub-classes which comes under the economy class (for geeky fellas, inherits from the economy class). One is “Kingfisher-economy-class” and the other “pathetic-if-you-can’t-afford-kingfisher-economy class”. Kingfisher is just too awesome, free food, free TV, more leg-room, better looking air-hostesses (technically it’s not free since you end up paying a higher price than any other flights). I got a chance to travel in Kingfisher recently (It was a funded trip, just to clarify that I did NOT spend that much money myself). When I entered the cabin, I was greeted by some mail-attendant and I said to myself, “C’mon Mr. Mallya what is this? I thought you were a stud-guy, but this being greeted by a male-attendant is simply not acceptable”. Personally I do NOT like male-hosts (flight stewards as they are called officially), they simply does NOT fit in the job (I admit I am being a SEXIST here). Anyways, it seemed Mr. Mallya listened to my prayers, he suddenly appeared on my TV screen and he told me that he himself has selected each and every air-hostess on the plane, then  I saw some really angelic stewardesses, and I said “yes sir I believe you, you certainly did select them. Thank you for that, you are my hero”. He sent Yana Gupta as well on my TV screen to assure me of that. He also asked me to mail him in case I have any issues in the flight. His id was chairman@kingfisher.com. Oooh, I was being treated with importance here J Thumbs-up for Kingfisher !!

The captain of the plane has announced that they are landing in a while so I need to end this post now. But before I leave, let me just give you a brief overview of the “pathetic-if-you-can’t-afford-kingfisher-economy class” experience. Indigo is the cheapest (generally), they do NOT give you even H2O for free, and charge you fucking money just in case you feel the need for some food in the flight.  I have no issues with the Indigo cabin-crew though. Jet airways charges a bit more, but gives you food. Jet-lite charges more than Indigo, but do NOT provide food and I was NOT even impressed by the cabin-crew, waste of money.
It’s time to end now. Happy flying J

PS-   1) My vocab and selection of words is deteriorating, I should try to improve upon this. 

2) This post was written a few hours ago when I was in flight travelling from Bengaluru (don’t you dare call it Bangalore) to New Delhi (it’s NEW like a freshly baked caske) for Diwali vacation J

Tuesday, October 18, 2011

Excuse me....did I say that ???

Sleeping only a couple of hours for the last few days,  I was in no mood to write a new blog post anytime soon. But this post here - http://nsitonline.in/component/content/article/143-studentexperiences/395-vijit-singh.html acted as caffeine to me, I am got ready with my laptop to write a post. This post has made me thought that may be I should work on my telephonic-conversation skills, since there seems to be a large gap in b/w what I said and what the person at the other end understood. So, I thought of clarifying what I actually meant and answer the questions myself. More than making clarifications, I certainly want my juniors to remember me as a bastard senior who roamed around giving stupid and preposterous ( I am so sleepy, I had to consult a dictionary to spell the word correctly) suggestions to the juniors. Ok, so without harassing my sleepless soul more, let’s get straight to the point and start dissecting the questions one-by-one.

Q.What initiated the passion for coding in you?
This is the closest among all the answers to what  I actually meant. Well, yes AI challenge certainly was the time when I started to love developing softwares. I would NOT say that I love coding, I hardly code much, and I kinda suck at it. There is a subtle boundary b/w coding and developing softwares. Coding is just a part of it, but let’s not get into that.

The 2nd point mentioned here is also correct. I certainly owe a lot to my seniors. Manusheel, Deepank and Mohit, thanks for always being there to answer all my crazy doubts. For records, they do help me out every now and then even now.

Q. What preparations do you advice for various stages of placements?
Yes, initially to understand C and data-structures I did read Kanetkar books. But somehow this post (with kanetkar mentioned thrice) makes me look as if I am Kanetkar book seller or his cousin or something. Anyways, Kanetkar books are good only for the novice guys who are learning to code or understanding the basics. Even for them it makes no sense just reading the text, its important that you solve all the important questions mentioned at the back of each chapter ( I solved each and every question).

Let’s discuss some significant points regarding placements and interviews at this points. Most of them are mentioned in the post, but I just wanted them to be compiled.

1) Our syllabus sucks, that’s nothing new. But the important part is to realize that though most of the subjects are blood-suckers, there are some which are you should not neglect. You should always try to understand these subjects thoroughly while they are a part of your syllabus, so that while preparing for  preparations, you need NOT start from the scratch. Some of these subjects which I can recall now are -

- Data structures: Firstly do it from some basic book. There are many good ones in the market. Tenanbaum is good for getting deep understanding. Again the important part is that you solve the exercises mentioned after each chapter in the book.

- Algorithms: The course-makers have done the craziest thing by coupling Algorithms with Discrete mathematics. This is the greatest disregard possible to any subject. Algorithms is important. Cormen is BIBLE. Love it, and do it to whatever extent it is possible. Frankly, I really struggled understanding this book. I can NOT understand many of the sections written in the book, but reading the book certainly makes you good enough to crack any coding interview.

-OS: This has always been one of my favourite subjects, mainly because you could related it so closely to the real-time systems we deal with. Galvin is really good, you should try and finish the book atleast till chapters. If you aim to crack some biggie, knowing the basics of OS is inevitable (some junior who has cracked some biggie firm, without turning a single page of Galvin, would be showing his middle finger to me right now). Also, you should discuss the concepts you read in the book with your peer-groups, Galvin is a bit ambiguous at times. Discussion would help you clarify the concepts.

-Networking: Its important that you have some idea about how internet works et al before you go for placements. Believe me, it helps. Read Forouzan (or whatever is the exact name of the book).             

- Database : though these concepts are not asked extensively, but you are expected to be good at the basics, like normalization et al.

- Learn OOPS: Being in COE, they never thought OOPS would be of any help to us, so they never had a course on it. People do assume that knowing just C would do. But, knowledge of OOPS always helps in the way you approach the problem and the way you write the code. Its certainly an added-advantage, some firms would reject if you have no understanding of OOPS at all.

- Basics of Linux: You should use it atleast once in your entire span of college, and have some idea about how the basic commands work. No one asks it directly, but indirectly it helps.

2) It’s important to realize here that in my previous point, I do NOT mean that you should cram all these books. The significant point is to realize that you understand the concepts well, the means by which you do that does NOT matter. Try to discuss the concepts you have read with friends, search more on Internet, try to solve new problems, better create new problems.

3) Though I have not been a part of the formal placement process, so I am not the best guy to comment on this. But to the extent I understand the placement searson, it’s not just about testing your knowledge, but it’s equally about testing your patience. Jayesh has correctly mentioned in his post here - http://nsitonline.in/component/content/article/143-studentexperiences/405-jayesh-chaudhary.html that you should not get disappointed. You would see your people whom you thought were not as deserving, cracking the best of the jobs. But the important aspect would be not to loose hope, luck do matters at times in placements. But eventually you would be able to crack a company which matches your skill-sets. And it’s not just the placement season, lots and lots of people switch companies after college. there are plethora of off-campus opportunities out there. So, campus-placement is not the final fate.

4a) Code, code and code. Its very important that you are able to write the code glibly at the interview. The best way to ensure that is that you always practise to code. Participating in online competitions is a really good way to do that. Read mahesh’s post here - http://nsitonline.in/component/content/article/143-studentexperiences/406-mahesh-sharma.html

4b) Many peopel are not comfortable writing the codes on paper. Contrary to this, most companies ask you to write code on paper. Always start practising this one week before the company arrives.

4c) Always analyze what you write. No matter what code you write, you should always analyze its time and space complexities. Make it a habit. Also, always look for edge and corner cases. Companies always judge candidates based on these two aspects.

5) When in an interview, always try to involve your interviewer with you. Always speak your approach loudly, many a times they tend to help if you are moving in the right direction. Always remember if you bored your interviewer, chances are high you would be rejected. Be enthusiastic.

6) Maintain your grades. No matter whatever people say, they help, they always do. Try to score as much as possible along with being good at other fronts.

7) Always try to figure out what you want to ultimately do. this is the most difficult decision to make, but narrowing down the options you want to pursue always helps. As Akash has mentioned in his post - http://nsitonline.in/component/content/article/143-studentexperiences/399-akash-gangil.html , experiment as much in your initial years in college as possible. strike out the options which you did NOT enjoyed.

8a) The last year of college is one of the most important year, which you would always remember in life. The first half because of the placement season, and the second half because you would get a chance to relish a level of freedom which you have never done before.

8b) Do choose your BTP seriously, do NOT just do it for the sake of it. This is the best opportunity in which you could work on a field which you always wanted to explore, but never got a chance to do that.


Some other places where the post misses out:

1) You forgot to mention my internship at Microsoft :P Taking an industrial internship always, helps, try to do that.

2) somehow in the last section, it appears I was the most disappointed person when they banned ragging. But what I meant was that no ragging has led to less interaction between the seniors and the juniors. That implies that you need to make more efforts at your end, to get in contact with your seniors. Participate in fests, socities, that helps. Overwhelm your seniors with your doubts. Somehow NSIT lacks a formal mentorship program. if possible, such a program should be established, where one mentor should be some senior from college and one should be some alumni.

3) and for God's sake, I do NOT use this vijitthetopcoder@ everywhere now. My mail-id is vijitsingh89@gmail.com.

PS- Ignore the grammar and spelling mistakes. As they say "Bhaawnaaon ko samjho" !!