Volley Ball – The New Time Pass

Whenever I see a new unread item in Google Reader, I try to capture few keywords from the summary. Today I was reading a summary which contained “yuktahaar food”, “food pretty much sucks“, and I eventually got interested to read the entire post. Couldn’t really figure out what was going in the post as I don’t really watch FRIENDS (I don’t understand why they write in all caps), but this line “Well this exercise just goes to show how much free time we have on our hands these days” inspired me to write this post.

Well, since last three days we are regularly playing volley ball for almost 2 hours after coffee shop (around 4PM) and we are looking forward to continue this πŸ™‚ I still remember the time when we used to play volley ball at 5AM (after night out) in summer vacations of second year and it was amazing experience. Volley is one of the outdoor games which I love the most. I don’t know why but it has something to do with my childhood. My father used to play volley ball a lot. So I got attracted to this sport.

Vellapanthi is really forcing us to try the things which we never did and thats really messing up with social life! Hope we’ll come with sane ideas to conquer this vellapanthi πŸ™‚

Keeping this post a bit short because I have to take an exam at 9:30 in the morning. It’ll be better if I learn something before its too late.

Don’t argue about the title. time pass OR pass time!

 

Busy with videocache

VideoCache project has come a long way since I started it in June last year as youtube_cache. I have released 18 version in last 8 months of time. Complete log of versions is available in the videocache code repository. Currently it supports audio and video (including HD) caching from 14 websites. It has been an exciting journey with videocache. Adding features/websites to videocache on user requests following a typical agile open source development model is more than just fun. The driving factor for the project has been my interest in web delivery optimization,Β  people writing blogs about videocache, forums discussing videocache, the increasing downloads of videocache and above all Python πŸ™‚

Below are few stats for the videocache project and the website.

January 2009

VideoCache Downloads
Archive downloads – 507
Binary downloads – 318
Total downloads – 825
Downloads per day – 26

Cachevideos.com Stats (Excluding bots)
Unique Visitors – 5714
Total Visits – 10009
Page Views – 34458
Hits – 284585

December 2008

VideoCache Downloads
Archive downloads – 396
Binary downloads – 346
Total downloads – 742
Downloads per day – 23

Cachevideos.com Stats (Excluding bots)
Unique Visitors – 4413
Total Visits – 7924
Page Views – 25739
Hits – 199120

PS : Will blog more frequently this month πŸ™‚

 

My Googling Stats

Thanks Tifosi for tagging me for this.

Google Search Stats

Google Search Stats

Observations

  1. Top queries suggests that I care a lot about my name in Google search!
  2. Top queries also suggests that I tend to care a lot about the visibility of the work I do.
  3. Top sites stats are awesome! I visit my own sites more than orkut and any other website.
  4. November has to be my lucky month!!
  5. Sunday is a jackpot and Monday goes in hangover!
  6. It seems I am most productive after returning from Coffee Shop at around 11PM as the mid-night stats outperform every other hour! It suggests that I should visit Coffee Shop more often!

I tag ZenWalker!

PS1 : Cleaned my room after 7 months!!

PS2 : Song of the B.Tech. : “Rumors” by “Lindsay Lohan”.

PS3 : Felicity is not coming. We are going there!!!

PS4 : Posting after 20 days πŸ™

 

Air Nirvana ( Got the job :P )

After countless written tests and two interviews I finally got the job offer from Airvana ( A mobile broadband company). This was the second written test which I cleared. The interview was very simple and straight forward. You can obviously outperform when somebody asks you something from your areas of interest. Main focus during interview was IntelligentMirror and VideoCache, you can guess the rest πŸ˜€

Before The Interview

**FUNNY PART**

Checklist before going for interview

  1. Company’s website’s page rank
    • Airvana.com (6 years) has a page rank (Google) of 5. Well thats good. Equals to my website Fedora.co.in (less than 1 year).
  2. Company’s website’s Alexa rank
  3. Domain Availability
    • Checked for Airvana keyword and airvana.in and airvana.co.in was available. Mouth watering. Isn’t it πŸ˜€ But somehow convinced myself not to spend another couple of dollars.

**STRANGE PART**

Both Saini(s) of my batch ( Me and Pankaj Saini) are placed together πŸ˜€ WTF!!!

Well, finally I am not a jobless anymore!!!

PS : Congratulations to Pankaj and Yogesh πŸ™‚

 

To be or not to be Marcus Cocoza

The feeling that B.Tech. is almost over forces me to feel a bit nervous. I spend (I am not sure whether to call it wastage) a lot of time socializing (at coffee shop and in BC with friends) and rest of the time I am sitting in front of my computer screen trying to develop or explore something. My life at IIIT has been influenced by a lot of factors from Dr. Kamal‘s use of a tablet pc and wifi to connect to the projector for a lecture or Dr. Sangal‘s outstanding way of teaching or the limited bandwidth forcing me to think of alternatives or Nirnimesh‘s inclination towards Linux or Ranta‘s entrepreneurial skills or Sandeep Saini‘s dedication towards downloading. You have so many people around you with exceptional skills in their fields. All these have forced me rethink about myself in one or the other way.

Today there was a mail on squid development mailing list with a link to this page. I was pissed off by the C++ code on the page. At one time I was very good at C/C++ but python killed the interest and knowledge over time. I was strongly inclined towards OOP back then. When I saw the above page today, I felt an inclination towards C++ yet another time. Well, thats me. Just think about something and start doing it without thinking what would be the result. I picked up “The C++ Programming Language” by “Bjarne Stroustrup” from the cupboard and started turning pages. While doing that the page after the Introduction caught my attention. There was a long quote. I generally don’t read stuff like this but I felt some urge to read it. It was

… and you, Marcus, have given me many things; now I shall give you this good advice. Be many people. Give up the game of being always Marcus Cocoza. You have worried too much about Marcus Cocoza, so that you have been really his slave and prisoner. You have not done anything without first considering how it would affect Marcus Cocoza’s happiness and prestige. You were always much afraid that Marcus might do a stupid thing, or be bored. What would it really have mattered? All over the world people are doing stupid things… I should like you to be easy, your little heart to be light again. You must from now, be more than one, many people, as many as you can think of…

— Karen Blixen (writing under the pseudonym “Isak Dinesin”),
from “The Dreamers”, from “SevenΒ GothicΒ Tales”.

It was a wonderful reading. Inspiring enough to force me to blog about it. Looking forward for reading a bit about C++ also and becoming a squid developer from a squid plugin developer πŸ™‚

 

Innovation and Invention

A few days ago, I attended a PPT (PrePlacement Talk). Frankly speaking, it was the only talk that turned out to be of some use of all the talks I attended till date. The speaker was a Vice President of the company. While delivering the talk, he reached a point where he started explaining the different between Innovation and Invention. And the explanation was mind blowing. I thought I will share it with everyone πŸ™‚

Invention

Invention is something which creates the need. For example,

  • Edison invented the electric bulb. And suddenly everyone felt that they needed the bulb for light. Before the invention everyone was happy with candles, oil lamps and whatever else. So, the invention of bulb created the need.
  • Graham Bell invented telephone and everyone was dying to get a telephone connection. So, it again created the need of a telephone connection.

Innovation

Innovation is something which is created by the need. For example,

  • Within few years of invention of bulb, people felt that the light from the bulb hurts their eyes. And they started feeling the need of something which will not affect their eyes and will also serve as a source of light. So, somebody came up with a fluorescent lamp. The need forced people to innovate.
  • With increasing popularity of phone, people felt the need of phone on the move. So somebody came up with cordless and then mobile. Again forced innovation.

All that is fine but then what is research???

In case you have further insights, please share πŸ™‚

 

The Mobile Blah – 2 ( Job Offer )

THIS IS MY 101ST POST

I wrote about a mobile blah almost two months ago and something similar happened today. Previously they were looking for a PhD but this time scenario was totally different πŸ˜€

Me, Deepak Vig, Dharmeet Hora were having lunch in our favorite mess “Yuktahaar”. Deepak’s phone rang. He started talking to someone and started looking at me. I thought it was Randeep, who has called and asked Deepak not to say anything about me. But he passed on the phone to me. Though I didn’t want to talk, I had to.

But I was totally surprised on listening a lady’s voice. (WTF!!!) Why Deepak would pass on his girl friend’s call to me πŸ˜›

  • Lady : The one who called.
  • K : Me πŸ™‚

Note : Every single line is true to my knowledge. Confirm with Deepak or Dharmeet if you don’t believe me.

Lady : (Awesomely politely) Hello!

K : Hello. (Surprised!!!!)

Lady : Is this Ravi?

K : (WTF!!! Now who is this Ravi??) Yeah. (Turning to polite mode.) I am Ravi.

Lady : I am calling from SOME consultancy services? (Sorry guyz, couldn’t hear the first word clearly due to some disturbance.)

K : (Having no clue of whats going on.. continuing the talk) Ok.

Lady : Are you looking for a call center job?

K : (Feeling damn happy about it. Finally somebody is offering a “JOB“. Raising the voice with confidence.) YEAH!! I would love to hear about it.

Lady : (Feeling that she finally caught someone πŸ˜€ ) We are conducting an interview tomorrow at 10AM.

K : (Whenever you feel like conducting it πŸ˜› ) Ok.

Lady : Please bring your resume and two passport size photographs.

K : Yeah. Sure.

Lady : We are offering Rs. 10000/- per month for the job.

K : Thats nice. Do you offer benefits other than the compensation? (Few MNCs offer pencils and caps as “Other Benefits” πŸ˜› )

Lady : (Never expected something like this from a guy looking for a call center job πŸ˜› ) Pardon please?

K : (Repeating in a much clearer voice) Do you offer any benefits other than compensation? Like insurance πŸ˜‰

Lady : (Feeling sorry about it) No.

K : Ok. Anyways thats a nice package.

Lady : Do you know our address?

K : Yeah. (As if I visit their office every other day, looking for a job πŸ˜› )

Lady : Ok. Be there at 10 AM with your resume and two passport size photographs.

K : Thank you very much for calling.

Lady : Thank you. Have a nice day.

K : You too.

Well, finally got a job offer πŸ˜› Later, Deepak told that the lady was looking for some ‘Ravi Kiran’.

PS : Forgot to ask her name πŸ˜‰

 

The best new year gift

We just received a mail from IIIT-H help desk stating

New year special proxy server has been created for all users as gift from
IIIT Server Room staff. There are no moderations done on that proxy so all
websites are accessible. Even better there is no connection limit per IP
or per user on the new proxy.

Proxy is accessible at IP _SNIP_ on port _SNIP_. Please feel free to
download as much as you want from this new proxy server.

Merry Christmas and Happy New Year!

Regards,
IIIT Systems Help Desk

Probably the best gift I have ever received.

 

Auto Spell Checkers are bad, sometimes

Auto Spell Checkers in Firefox, Thunderbird, Spicebird, Tomboy Notes and whatever else have totally changed the way I write English. Previously (two years ago) I used to make tons of spelling mistakes while writing blogs but these days I hardly make a mistake while blogging, sending mails, taking notes etc. But this enhancement in technology has made me dumber. Previously, I was confident about the spellings I knew but now I am not confident about spellings of anything I spell. Today, I was writing an application (for what?? secret πŸ˜› ) and got damn confused about spellings of “committee”, “admission” etc. (double m, double tt, double s ?? πŸ™ ). After two failed attempts, I wrote the application in word processor and took a print out. Damn easy, huh!!!

 

My first interview for a job!

After failing few (will be disclosed later) written tests in a row, I got a call for an interview. I was pretty surprised as I never expected it to happen. Initially I was nervous because I don’t know c/c++/data structures/algorithms. All I know is Python, Computer Networks, a few Open Source technologies and how to use them to generate cash. Well, after waiting for four hours, I got a chance to meet the interviewers (two). I was nervous as it was my first interview. They asked me for the resume. Below is the conversation.

  1. Interview #1
  2. Interview #2

Note : Almost everything below is true and few sentences have been added to make it humorous.

  1. A : Interviewer 1
  2. B : Interviewer 2
  3. K : Me.

Interview #1

A : Tell us about yourself.

K : (I never expected this as its the most difficult question of all.) I am a simple guy interested in open source (Throwing random sentences). I believe in on the spot implementing/coding my ideas. Whenever I get a new idea I just code it without spending too much time on thinking about it.

A : What if you face some problem with your idea later?

K : (Suddenly Shiben’s this post popped up in my mind.) I try to fix it and if it doesn’t work in few tries, I just throw the code and recode it (Thanks Shiben for writing that wonderful post).

A : So you don’t do any research before implementing the idea. Do you like research?

K : Not really. A bit. (Lying) I don’t like research. It means a lot of time.

A : So, you participated in Google Summer of Code. What is this?

K : Its a Google funded project in which Google invites applications from several open source organizations and select almost 120+ organizations. Then candidates from all over the world proposes their ideas or picks up projects from organizations’ ideas.

B : You proposed your own idea?

K : Yes.

A : What was it?

K : IntelligentMirror. An intelligent caching system which caches RPM/DEB packages from several mirrors on the basis of package name and not the domain name or protocol. Its a squid plugin.

A : Tell us about this Intranet Chat Service (another project).

K : (Told everything I knew about it).

B : Tell us something about squid.

K : Squid is an open source proxy server used to hide thousands of machines behind a single public IP or to control what users browse in a shared network environment.

A : What is public IP?

K : (Answered)

B : What is difference between public and private IP?

K : (WTF?? I am not a kid. Answered.)

A : How do you hide a thousands of machine behind a single public IP?

K : NATing.

B : (Thinking that I just know fancy terms) What is NATing?

K : (Requesting a paper) Explained every single packet level details of NATing by drawing nice diagrams. (Interviewer tried to confuse at several stages but in vain).

A : (Feeling helpless, whispers to B) Lets ask standard questions πŸ˜‰

K : (WTF??? Feeling doomed πŸ˜› )

B : What is polymorphism?

K : (Abusing the interviewer at heart) It is some fu**ed up idea using which we can do few things which often confuse me and sometimes confuse the even compiler.

A : (Passing a sheet of paper to me) Write an example of polymorphism?

K : Wrote a function
int function(float a);
int function(char a);

B : Can I change return type of second declaration?

K : (Feeling awesomely confident πŸ˜€ ) No.

A : If I change char to double in second function will there be a compiler error?

K : Sorry sir. I am confused.

B : Define a class String and few functions on array of characters?

K : Wrote a class somehow with a few functions.

A : Write the copy constructor?

K : (You are torturing me. Don’t push it too much) Somehow managed to write a fu**ed up copy constructor
String(String & str) {
string = str;
}
(I know its wrong. Don’t point out.)

B : Why did you write this (the C++ this)?

K : To reference the member variable of current instance of the class.

A : You never declared it. How can you use it?

K : Its provided by C++. You know I used char, int also. (Dumb ass!!)

A : Ok. (Looking at my resume) You have interest in blogging.

K : (Feeling a bit relaxed) YES!!! I have three blogs. One technical, one about life and I bought a digikam a few months back and started a photoblog as well.

B : (Laughing) Interesting!!!

A : Why do you have some many blogs?

K : Because I love buying domains. Then I need to put up something on those domains. So, I write blogs πŸ™‚

B : How many domains do you have?

K : Around 15.

A : Where do you host these??

K : I have my own VPS hosted in US.

B : How much does it cost?

K : $50/month.

A & B : (Looking at me as if I kicked them in balls) WTF!!!! Where do you get all this money???????????

K : [snip] secret πŸ˜€

A : Thank you. I think we have asked enough questions.

K : Thank you!

I left the room. After that I returned to OBH (Hostel). I was not hoping that they’ll call me again for another interview. But I did wait for the call till 9:30PM. After that I went to bed. I was about to fell asleep that Kapil Bajaj called and asked me to report in Main Building. I was sure that this will be either a light round in case they are sure to count me in or it’ll be a revenge round in which they’ll ask questions about things I don’t know.

Interview #2

I entered the room and the interviewers were different this time. A bit more nervous then the last time.

  1. C : Interviewer 3
  2. D : Interviewer 4

I grabbed the chair. C picked up a sheet of paper and started writing on it as if he is a BIG BOSS.

C : (Writing an expression on the paper) Remove the extra brackets from the expression.

K : (Understanding that its a revenge. You employ people for software development or removing the brackets from an expression????) Having no clue of the solution to the problem tried writing something on the paper. (An image of “Ajay Somani” teaching removing redundant braces from an expression flashes in my mind. And I was like WOW!!). I gave the solution (I know there are two terms infix and postfix, but don’t have a clue about which one is infix :P) that we’ll start putting things in a stack and will throw away the opening and closing braces which doesn’t have a symbol or character in between them. And will pop them out to get an expression without extra braces. (What a guess?? πŸ˜€ and it worked).

D : Can you optimize it?

K : (baah!! I somehow managed to do it. Now what???) Having no clue about optimizing the above, I started throwing some random ideas. Devised one idea and showed to C but he caught it and proved me wrong. Took some more time and devised one more funny idea.
Expression : (((P+Q))*R)
Solution : We have two variable i and j with I pointing to first element and j pointing to last element. We enter a loop and start decreasing j and increasing i. When we see opening braces at expr[i] and expr[j], we throw them. And when there is no braces at either expr[i] or expr[j] or both we continue and jump over symbol and characters. While I explained the idea, it somehow worked for the expression. I badly confused the interviewer with my invention πŸ˜› He was like WTF!!! How can this piece of crap work?? I was about to laugh. I enjoyed the moment. It was one of the best moments of the day. He spent almost 2-3 minutes figuring out my newly invented algorithm and finally managed to prove it wrong.

D : See, this doesn’t work.

K : (Thinking, “Why are you telling me?? I know it doesn’t work πŸ˜› “) I am sorry sir πŸ™‚ (Controlling my laughter).

C : (Writing two numbers on the paper) This number ( character array 4568123) is rotated around some number and the original number is (character array 1234568). How would you get the original number from the rotated one?

K : (Having no clue about the domain of the problem) Thinking of swapping numbers here and there. Tried every possible combination but nothing seemed to work. What happened to my pool of ideas πŸ˜› (An image of “Kapil Bajaj” teaching inorder, preorder, postorder traversal flashes in my mind. Kewl!! I don’t have a clue about trees and whatsoever things related to those creatures). Now the big task is to make a tree out of the character array. (While I was telling these to Sachin Goyal. He suggested that plant the first character and water it until it becomes a tree πŸ˜€ ) I drew the array in some random orders on the paper and made a tree of some sort with 4 as root and 568 on the left subtree and 123 on the right subtree. (Now, all those organic structures like methane, ethane started crawling in my mind. I somehow remembered the rotation thingy). I rotated the fu**ing thing around 4 and it worked. I felt like the luckiest guy in the world. What a confidence I had at that time. I described the process to the interviewer as if solving tree problems is the easiest of all the problems.

C : What is order of problem?

K : (No clue about the problem itself. How do I know its order? ) Kept quite for sometime and kept myself busy with the problem itself ( I was so happy that I couldn’t get my eyes off the tree structure).

C : (Asking again) What is order of the problem?

K : (Thought about it for sometime) log(n). As the integers are in sorted order. Interviewer looked a bit convinced.

C : (Traping me) How will you make a tree out of that character array?

K : (OMG!! Not again! Tried to explain the impossible.) We’ll take the first character as root. Now we’ll build left subtree. We’ll go on putting the integers in the left subtree as long as they are in same order. In that way the order will break at 8 and after that we’ll start building right subtree (This somehow seemed to work).

C : (Totally frustrated by my guesses which were eventually working) Is this a BST?

K : (The only thing I know about a BST is that it is Binary Search Tree) Yes. (Confident as if I am the one who invented BST πŸ˜› )

C : (Trying to trap me further) Wrote two string “ABCDE” and “CDEAB” and asked to write a function to detect if they are rotated version of each other or not?

K : (Thinking that these are not integers and my awesome ideas are not going to work here πŸ˜€ ) We’ll somehow make a tree of a string, then traverse it (Leaving the traversal type for interviewer. I said only traverse it, because I don’t have any idea about how do we traverse a tree in inorder, preorder or postorder. So didn’t want to invite more problems). And then we’ll compare the result.

C : Ok. Thank you. Lets go.

And that was it. My adventurous innovations about trees stopped there πŸ˜€

All in all it was total fun being interviewed. I enjoyed every single moment of both the interviews.

PS : I am not correcting any grammatical, spelling mistakes.