Sunday, July 22, 2012

Tweetoem - Discovering Art in Tweets

Title is slightly mis-leading, but I cannot think of a better way to put it. Let me tell you the story behind building of "Tweetoem" (Tweets + Poem). 

Just in case you stumbled on this post first, Tweetoem is live on

Tweetoem is highly inspired from 140verses ( One of my friends shared this link (he is one of the developer of 140verses) on his facebook timeline. It was love at first sight for me, when my reverse-engineering brain cells got activated. I looked into the tweet generating poems, I loved the idea, I loved the execution of work. It has been quite some time until I did any hacks (none after I started working, life of intern seems a bliss now). So to put my spirits high and to brush up on my PHP skills I wondered if I can put something like that in < 6 hours of work? And "Tweetoem" was the result of that work. 

Algorithm (working behind the scenes)
  1. Get the tweets from Twitter
  2. Strip user_mentions, hashtags, and links of the tweets
  3. Get the last word and reverse it
  4. Calculate the Metaphone value of that word
  5. Store the Tweet + Metaphone value 
I am not sure if this is exactly what is being used (from my observation, it seems to be something more sophisticated), but this seems to do the trick for me. I got a bootstrap template, wrote a couple of controller methods (limonade kicks ass here), and that's it. What you see is the outcome of that work in ~6 hours of hacking. 

Known Issues
  1. System is relatively new, so you might not get poems at many chances
  2. Sometimes the lines might be repeated in the poem
  3. Occasionally search breaks for no reason, little refresh or a new keyword should do the trick
  4. No Share features like in 140verses (intentionally not implemented)

Disclaimer - Tweetom idea was inspired from 140verses and the original developers are to be highly appreciated for the innovative thinking + work. Tweetoem was just a self ego satisfying bad hack to replicate the same in less than a day. It is by no means tries to compete with 140verses / their scope. 

Sunday, July 15, 2012

Regarding Placements -- My 2 cents to fellow final years

Well since many ppl ping me on Facebook asking me about Mu Sigma, I thought it might be good to put some real thoughts into writing this so that it might help some guys of my college, but you are free to read it through and share your views.

You should really know something about the company before you even think of attending the interview in the first place. You should have ENGINEER's PRIDE!

General RULE - You do not want to work in any company!

About the Company

Not all people who get placed in Mu Sigma write code (real code)! Most of them end up working with Excel / Powerpoint (most part of their time), Why? Because Mu Sigma is not an IT company, they solve business problems. Saying that, Mu Sigma is one of the wonderful places to work with. They are highly data-driven company who work closely with the data, and derive conclusions which is justified from the data. For a typical Business Analyst (default job offering in my batch), you will work for a client of theirs, solve a problem for the client using a well built and evolving custom framework (DIPP - You will get a lot of opportunities to talk to real clients / go on-site (I know a guy who went to On-Site within 5 months of joining, because he showed some real talent). Almost everyone is young (avg age of the company is ~23 years), but if you ask any 1+ year exp Mu Sigma employee they would tell, you really have to work your ASS out (not every single person but most of them). I was an intern for around 5 months there and I worked ~16 hours a day (out of my own interest though but they still had some interesting work for me!).

Interview Process

Now to say something about the interview process --
  1. First Round - Aptitude (you can answer them if you have your RS Agarwal book problems at finger tips) -- But since Mu Sigma, is a highly data driven company give more importance to Data based problems (last part of the paper). 
  2. Second Round - Group Discussion -- Some random current affairs topic, based on which you need to be bull shitting around for ~5 min, giving chances to everyone and making on-mute people also to un-mute themselves. If you do so, you can get in.
    Points to remember -- Be confident on your points, do not fight (it mostly ends up being a fish market), be polite yet fuck up with other person's happiness. 
  3. Third Round - Interview -- Mu Sigma generally asks puzzles. Lot of puzzles. They are data driven company (basically you need to know math, if you kind of a person who fret on seeing numbers (like me) Mu Sigma is not the place for you), so might be imposed with lot of data and you are also expected to know lot of data points (on the universe, like radius of a cricket ball, avg radius of a person skull / head etc.) as well. If you are lucky you might be blessed with the presence of Stats goddess (trust me she is not HOT! -- for non-math homosapiens), which fucks up with most of the people's happiness. 
  4. (Optional) Fourth Round -- HR Interview -- This round does not happen to all. If they are un-sure if they really want you or not, you might be called in for this round. There would be some people who would be selected at third round or rejected third round. 

These were the 4 rounds I went through and finally was offered. How I was offered was a completely different story and it does not happen to everyone. I had my reasons to join Mu Sigma (even though it was not an IT company and I was from CSE).

Background -- I got placed in Mu Sigma on campus, and I did my final semester Internship in Mu Sigma for 5 months. I loved the place and if given a chance I would really go back and work there for all practical reasons. I still share some affinity towards Mu Sigma, but I, in best of my mind, sincerely hope that has not been a factor to introduce any biased views of the Company or the process. Also this is something I experienced in first person and it is highly bound to change for YOU!


My 2 Cents 

One thing that I realized when I was preping for Placements was it like standing on the queue to buy tickets for a movie's first show. No one knows what the company is (even if we can go and do some research, we just don't -- we are too busy editing a so-called resume / do what god knows in the name of solving Aptitude in group) and does going to such a company really had value to what we have studied? (Studying ECE / EEE for 4 long years, and they end up in TCS writing Java / .Net code, which is totally irrelevant, then Why the fuck did you do ECE / EEE in the first place? -- I want to shout this to every single student of my batch, my seniors and juniors).

Since most of us want a good college and does not give a shit to what we study during our college, there is really no use talking about it now at the end of 4 years. Still I would really recommend you to go and give it a thought about it. Do some SWOT Analysis (if you can't recognize this term, screw your HR Prof. or they must be screwing you, either should happen for sure), find your strengths and get placed in a company that best suits you interest, and do not join a company because your parents / siblings might be working here or some crack pot neighbor hood guy is working and bitching about the company.

At the end, it is your life. Make sure they are your choices and not anyone else's. All the very best for your placements and a wonderful Career, Cheers!!

P.S: This post if free, but it is not guaranteed
P.P.S: Everything written above is a first person experienced / learnt information. I not liable of any impersonation based on some above said characteristics of your highly vivid imaginative mind, they are meant to fictitious and they shall always remain to be so.
P.P.P.S: If you feel anything is offending, pl leave a comment, but don't SPAM my comment space asking me advice / starting a flame war. I don't have any time to help you with that, ask your HR Dept. they are paid to help you with all these, and most them do their job well.