Monday, December 31, 2012

2012 roundup

Last day of an eventful year...
2012 had some interesting and some boring moments; but overall was a fine one..

I must say that I have been enjoying the single academia life; while a lot other friends have now become neck-deep corporate busy..

Going ahead in M.Tech - done with the third semester - finished up with the quota of subjects, started off with the M.T.P, and got placed too..
Looking back though - what seemed to be the most critical sem of my life turned out to be one with lot of lazyness and easy-going - atleast thats how I took it most of the time..

2 subjects - ACA and ALA; of 3rd sem were two courses that I attended less and bunked more - and eventually passed out. Whats more, I had to attend the course for which I had been the T.A - which I did gladly - more than the number of classes of these two combined :D

MTP - well, its more or less on the track. Somehow cleared phase 1; and phase 2 has been in stasis for over a month. I can say Proportional Efforts Theorem went for a toss during implementation !!

Placements - well, lucky there to be placed on second day - that too in the first company I interviewed for..
That did generate a feeling of why the hell I had to write so many other tests - if I were not supposed to try for them anymore. And also the Google Test never served as a wake up call...
And a general representation of the placement season was well captured thus (Courtesy +Sampreet Sharma  and transitively thereafter for the pic...) :



In other news:
* Turned 23.
* On and off Jogging, making resolutions that were not met, and To-Do lists that were not done.
* Consistent youtubing, facebooking and screwed up sleep cycles.
* Another season of monsoon and Lan-Ban went by.
* Visited Bangalore around 3 times - soon coming back for good(well, mostly..)
* Due to increased storage needs - got a 1TB portable hard disk(and now wondering if that is sufficient..)

Life out of IIT - not much to say. Been to a few places like the Nehru Science Centre, Elephanta,  Hiranandani, Bandra-Worli Sea Link, Haji Ali etc. 
And two senior-junior parties earlier on in the year - and as per IITB tradition, they are going to happen again; probably at the same places - with our batch on the other end of the table.. 

So there ends 2012 - making way for 2013.
Ending note - one of my favorite realizations:



Saturday, December 29, 2012

The Pattern Match TAship

As part of the M.Tech programme - we have a per semester Teaching Assistantship; where we assist in coursework. The first two semesters were pretty smooth in this regard as I was assigned TA for the C++ programming lab - where all one had to do was debug errors from the codes the students wrote, or worst case - ask them to google their roadblocks...

Third sem, however, I got Linear Optimization - a theoretical course about which I had no idea, and got assigned to it probably because I had taken the Algorithms course in my first sem out of the zeal of getting into IIT..


The entire course was all about the above image - equations, feasible points, solutions etc etc. Alas, I had no background - so had to go and sit in most of the classes. In the end - I as a TA definitely had more attendance to the class than any other student..
In the beginning it seemed to borrow some concepts from Linear Algebra - but that link broke down pretty soon...

Anyway, that wasnt the main deal - I had to correct the quiz papers of all the students. Although I was attending all classes - I definitely had no expertise in the subject(just a nice way of saying I didnt know squat about the subject!).
Thankfully Prof. Sundar - who took the course - used to give answer keys. Thus went an entire semester  of pattern matching answers plus some recall of concepts from the class and giving marks. I must say it ended well - more because Sir took over the end-sem corrections - much to the dismay of some students and happiness of a lot more..

With that bygone - only one more semester of M.Tech, a.k.a one more semester of TAship remains...

Wednesday, December 26, 2012

Dial-Up using GPRS

Back to Godspeed internet @IITB.
So I thought why not a post on the now almost outdated way of connecting to the Internet - which I still use when I am back in Bangalore - the Dial-Up using a mobile phone as a modem..
Here is the list of things you need:
1. A GPRS enabled phone - obviously, basic models and even China phones would do !!
2. A data cable - something Samsung feature phones do not come with...
3. An active GPRS pack - 10p/10kb gets over in a jiffy !
4. Modem drivers - Generally installed when the phone is connected to the computer, best of luck finding one otherwise..
5. Extra Initialization Command - Final piece of the puzzle
6. *99# - An almost generic dial-up number for mobile phone connectivity, which should be entered when creating the new dial-up connection

Steps 1 to 3 are relatively straight forward, and Step 4 is a hit or miss - but still its the last one that finally gets you connected..
Its generally of the form :-
AT+CGDCONT=1,"IP","<Access Point Name>"
The command is different for different mobile service providers - so either google it, or call customer care. For e.g: Vodafone uses "www", Virgin Mobile uses "VINTENET.IN", Idea uses "ideagprs" etc.

If you are using a PC suite - its all well and good - just enter the access point name, and you are ready to go..
If not, there is more work to be done. Here comes the problem - The "customer representative" of your service provider will insist on installing a PC suite and continuing - just say you have the suite and follow the instructions until he/she asks you to enter the Access Point Name.
The command needs to be added to the Modem Driver installed on the PC. So go to Phone and Modem -> Select connected Modem -> Properties -> Advanced -> Extra Initialization Command  and enter the above data.

Test the connection by clicking on the respective Dial Up Connection icon and you are good to go - hopefully if you do not get a 619 or 734 error which means something is wrong - either with the hardware or the Extra initialization command.

Disclaimers:
1. I have no idea how tough or how easy it is to do all this with smartphones.
2. The above thing works in Windows - I am not aware of the equivalent in Linux.
3. This isnt completely a technical article - just an aggregation of my experience with GPRS and Dial-Up

Sunday, December 2, 2012

Placed !!

Placements Over :)
Got placed in the only company I had been shortlisted for on Day 2(and perhaps for the entire placement process!!) - Oracle.

Here is my interview experience:

Round 1: Tech
The notification of Round 1 being scheduled at 08:00 came at 07:50 in the blog. So I hurried up to breakfast - and reached the place; only to hear that it had been rescheduled by an hour.
However,since I had already reached, the interview started off at 08:30. After a short formal introduction and a look at my resume and projects, the questions began.

Question 1: Given a set of points representing some data set obtain the point at the middle(or say equidistant from others)
This consumed almost 20 minutes - where I initially thought of a binary search sort of scheme based on some ordering of the vertices - then got caught how to provide a distance measure to create that ordering - then gave a recursive divide into 3 parts and find minimum distant vertex set and combine.
The interviewer and I both still had doubts on whether it was correct, yet I got another question..
Question 2: Given a linked list without head pointer; delete a random node given a pointer to it
I gave an inefficient solution - that of pulling the neighbor node's data and proceeding until the end of the list; only to realize later that all I had to do was to copy the data of the successive node into given node and delete that successive node!

After Round 1, I was very doubtful of making to Round 2 - but to my surprise, I was called for Round 2!


Round 2: Tech
I was called for round 2 in a short while, and again there were 2 questions

Question 1: Given 2 dates in DD-MM-YYYY format, how do you find the time duration, in same format
Fairly obvious question I thought - and went ahead to give the solution starting from the year, and go backwards to the day, and capture the difference and decrement the values when needed etc.
But alas, missed a few corner cases - that the interviewer spotted immediately - and I went on to correct them
Question 2: Add 2 numbers represented in singly linked lists with one value per node.
Again , standard question; so I said reverse the lists and add from units place with carry propagation - leading to the next obvious question - How do you reverse a linked list?
I gave the recursive algorithm that I had memorized; so the interviewer asked to give an iterative one instead.
Here again, I began to fiddle with the code, missing and messing a few things - using three pointers, jumping twice per node and all, and finally got to it with the interviewer's tip to forget what I already had in mind partially about how the code should look like...

Again, after Round 2, I wasn't very sure about going ahead to the next round..


Round 3: Tech
Surprised again - I got called to Round 3 and I think this is the one round where I gained confidence and performed well..

Question 1: Give an optimal solution for a Snake and Ladder problem - with data representation of my choice.
I got full 20 minutes to develop the solution - so I went on writing classes for the board, ladder, snake and the logic of choosing the maximum distance reached from one of the six rolls of the dice until reaching the end.
The interviewer saw the solution for a moment, and then remarked - Why make it so complex when you can order the ladders to reach in minimum possible moves. I nodded my head for the same and kind of completed the solution..
Question 2: Write a singleton class.
8th sem B.E project in action - though I wrote a mix of C++ and Java syntax code, I covered it up and explained it correctly. Apparently the interviewer seemed pleased..


Round 4: HR
HR interview was cool - all standard questions like:
Tell me abt urself
Why Oracle, and why Apps?
Why Mtech when you got placed well in B.E itself
Why low CPI ?
Will you be joining if placed ?
Are you shortlisted for any other companies(obviously no :D)

Then the HR explained the Compensation details, and how the Apps profile differs from OFSS.
Meanwhile I asked for workplace preference of Bengaluru - for which the HR said mostly but cannot be totally confirmed right now.
Another question from my side was where do I see myself in next 2 years - usually asked from the other side of the desk!
All through the HR round - I was trying to look the HR in the eye - and not the dorky here and there look that is my default setting around the women lore :D : Interview Etiquette !!

It seemed to me like the HR was more confident about my getting in while explaining the compensation details and so on - and hence by the end of the interview, I thought the interview process was over.
But surprise again - There was one more technical round!


Round 5: Tech, again
One question: Draw an E-R diagram of a railway ticket booking system
Hopefully I still had remnants of the Entity, attributes and relationships concepts and modelling in my head.
I came up with a fairly good design - which still had shortcomings such as detachment of certain compartments, booking between any 2 stations in the way which the interviewer pointed out. So I had to plugin those modifications and add some more relations as well.
In response, the interviewer went into depth explaining how product development involves your own problem scope and refining it to add features and cover inadequacies; unlike application development aimed at satisfying set of features demanded by a client.
He then concluded that it would be a Yes from his side but had to wait for the others


5 rounds and I was done by 12 -> 3 and a half hours and I was all done.
But then I came back for lunch, had lunch and went back to the interview corner - waiting for 2 more hours doing nothing but waiting, got tired and came back to hostel again awaiting posting of the results online.

Finally all done - Got the Job!
So no more placement tension - actually there was never much of it since I had applied for a few companies(relative to few others..). And happy to have cleared the first and only company I was shortlisted in - nostalgically related with Cisco internship..

All said and done: Time to switch back to MTP mode !!