December 27, 2009

Interesting 45 things to ponder about...

Written By Regina Brett, 90 years old, of The Plain Dealer, Cleveland,
Ohio - "To celebrate growing older, I once wrote the 45 lessons life taught
me. It is the most-requested column I've ever written."

1. Life isn't fair, but it's still good.

2. When in doubt, just take the next small step.

3. Life is too short to waste time hating anyone.

4. Your job won't take care of you when you are sick. Your friends and
parents will. Stay in touch.

5. Pay off your credit cards every month.

6. You don't have to win every argument. Agree to disagree.

7. Cry with someone. It's more healing than crying alone.

8. It's OK to get angry with God. He can take it..

9. Save for retirement starting with your first paycheck.

10. When it comes to chocolate, resistance is futile.

11. Make peace with your past so it won't screw up the present.

12. It's OK to let your children see you cry.

13. Don't compare your life to others. You have no idea what their
journey is all about.

14. If a relationship has to be a secret, you shouldn't be in it.

15. Everything can change in the blink of an eye. But don't worry; God
never blinks.

16. Take a deep breath. It calms the mind.

17. Get rid of anything that isn't useful, beautiful or joyful.

18. Whatever doesn't kill you, really does make you stronger.

19. It's never too late to have a happy childhood. But the second one
is up to you and no one else.

20. When it comes to going after what you love in life, don't take no
for an answer.

21. Burn the candles,.
Don't save it for a special occasion. Today is special.

22. Over prepare, then go with the flow.

23. Be eccentric now. Don't wait for old age to wear purple.

24. The most important organ is the brain.

25. No one is in charge of your happiness but you.

26. Frame every so-called disaster with these words 'In five years,
will this matter?

27. Always choose life.

28. Forgive everyone, everything.

29. What other people think of you is none of your business.

30. Time heals almost everything. Give time, time.

31. However good or bad a situation is, it will change.

32. Don't take yourself so seriously. No one else does.

33. Believe in miracles.

34. God loves you because of who God is, not because of anything you
did or didn't do.

35. Don't audit life. Show up and make the most of it now.

36. Growing old beats the alternative - dying young.

37. Your children get only one childhood.

38. All that truly matters in the end is that you loved.

39..Get outside every day. Miracles are waiting everywhere
40. If we all threw our problems in a pile and saw everyone else's,
we'd grab ours back.

41. Envy is a waste of time. You already have all you need.

42. The best is yet to come. – (Always! ;-))

43. No matter how you feel, get up, dress up and show up.

44. Yield.

45. Life isn't tied with a bow, but it's still a gift.

PS: you might also like the following
  • http://matkahtml.blogspot.com/2008/11/sunscreen-by-baz-luhrman.html
  • http://matkahtml.blogspot.com/2007/12/golden-rules-for-career-success-by.html

client side storage: persistjs

Current project that i'm working on, works like a plugin to an existing website. To match to the scale we are targeting, we decided to go the stateless way on the server side; so that we don't necessarily need a sticky behavior on the server side. Now this raised requirement to store state and related data on the client side. On each request client sends the "exactly required" state to the server and server decides on things that need to be done.

If you've read my previous post on cookie size limitations in browsers; you would understand this cannot be done at all. To add to the problem, this project being a web plugin to an existing site, needs to share the cookie space with them and their already existing plugins. We were really concerned if we end up messing with their cookies or they end up messing up with ours (given the size limitation).

And then we found persistjs. You should read all the good reasons why you should use persistjs here. In short, it tries to find multiple possible way to store and retrieve data on the client side. If one method fails, it fall backs to the next available method. The last being cookies and before that flash. This was a relief to us because web stats show ~99% browsers support flash and ~70-80% already have flash plugin installed. In all good/bad probablities, we will end up with a browser which supports one of the client side storage supported by persistjs. It currently supports the following:
  • flash: Flash 8 persistent storage.
  • gears: Google Gears-based persistent storage.
  • localstorage: HTML5 draft storage.
  • whatwg_db: HTML5 draft database storage.
  • globalstorage: HTML5 draft storage (old spec).
  • ie: Internet Explorer userdata behaviors.
  • cookie: Cookie-based persistent storage.

Not only that, if we land up to a backend other than the cookie; minimum supported size is ~100KB. Good enough for us. :-)

Thats it for now. We seem to be in good shape on this side. Soon we will be going for full throttle load testing. Will share the results then. Till then, merry christmas (belated) and happy new year (in advance). [;-)]

December 12, 2009

Quote of the day...

"I do my thing and you do yours. I am not in this world to live up to your expectations, and you are not in this world to live up to mine. You are you and I am I, and if by chance we find each other, then it is beautiful. If not, it can't be helped." - Frederick Perls

November 18, 2009

Sixth Sense : Pranav Mishtry

Beyond words, do have a look at the following:

http://on.ted.com/7X

More on pranav mishtry goes at his website: http://www.pranavmistry.com/

I loved his quotation - "I know few things, now i need to learn what to do with these"

November 16, 2009

Comment of the day

Starting a new series guys!!! :-)

This one came from Debashish (my team mate at work) when India lost 4 significant early wickets but Rahul Dravid was still playing his one of the best innings:

"All the pillars are gone, but the wall doesn't need pillars to stand on the field"

November 07, 2009

On demand CSS and JS minimization (Java/PHP)

In web development CSS and JS play a very important role but at the same time, if you don't give proper attention, you may make your pages load really slow. I'm a yahoo fan for the standards and open technologies they have come up for the web. If you are a web developer, i strongly recommend these Exception Performance Blog and High performance websites.

Recently in my current work i'd to deal with a requirement where we had a couple of common JS libraries and some common CSS files along with some custom JS and CSS per user too. If you read the above two links, you must be thinking about JS and CSS compression for each of these files. There is an issue though, you will be hitting your server multiple times for each of these files. Since its common for a sufficiently large project to have multiple JS and CSS files, you've to make a choice between combining all the code into very few files vs keeping individual application logic separate. Well i decided to keep them separate :) This may sound absurd, but here is the learning from Y! days that helped me, i decided to not only load them in one go, but as well compress them. Thanks to YUICompressor (it was easy to adapt since its java based). As far as compression performance is concerned, once you compress it, you can always keep it cached for future transmissions. Some data on the performance:

JS - fairly complex (extjs based OO JS) - 1.4 MB - 532 msec - compression achieved 56%
CSS - fairly complex - 1.1 MB - 328 msec - compression achieved 52%

Now depending on the complexity of these source files, the compression might differ, but i'm confident it should not vary way too much from what i've mentioned above.

In our case, we had strict performance requirements to serve most of the requests in sub msecs, so we decided to go the caching way, otherwise i don't think on the fly compression of JS/CSS using YUICompressor is any bad (looking at the numbers above). Below is the code for the portion that does compression (again, its not mine, credit goes to the creators of YUICompressor, i just stripped this piece for my purpose)

JavaScriptCompressor compressor = new JavaScriptCompressor(
    new FileReader("original.js"), new ErrorHandler());
  StringWriter out = new StringWriter("new.js");
  int linebreakpos = 80;
  boolean munge = true, verbose = false, preserveAllSemiColons = false, disableOptimizations = false;
  compressor.compress(out, linebreakpos, munge, verbose,
    preserveAllSemiColons, disableOptimizations);
class ErrorHandler implements ErrorReporter {

  public void warning(String message, String sourceName, int line,
    String lineSource, int lineOffset) {
   if (line < 0) {
    System.err.println("\n[WARNING] " + message);
   } else {
    System.err.println("\n[WARNING] " + line + ':' + lineOffset
      + ':' + message);
   }
  }

  public void error(String message, String sourceName, int line,
    String lineSource, int lineOffset) {
   if (line < 0) {
    System.err.println("\n[ERROR] " + message);
   } else {
    System.err.println("\n[ERROR] " + line + ':' + lineOffset + ':'
      + message);
   }
  }

  public EvaluatorException runtimeError(String message,
    String sourceName, int line, String lineSource, int lineOffset) {
   error(message, sourceName, line, lineSource, lineOffset);
   return new EvaluatorException(message);
  }
 }
CssCompressor compressor = new CssCompressor(new FileReader("original.css"));
  StringWriter out = new StringWriter("new.css");
  int linebreakpos = 80;
  compressor.compress(out, linebreakpos);
One could very well pass a "null" instead of the ErrorHandler instance but make sure that verbose is set to false, else you will get a NPE. So this is just the compression part, what about reducing the number of requests?? Well so i created a servlet that basically takes all the required parameters for loading these static resources and serves them from cache or classpath (well some intelligence required here to avoid serving unwanted stuff but thats pretty straight forward. If you want to know what i did for this, post in comments and i will see if i should post that as well). And just FYI, Y! does similar thing for distributing such files through CDN. Just go to any of the pages on yahoo.com and you would see script urls of the kind
  • http://yui.yahooapis.com/combo?2.8.0r4/build/animation/animation-min.js&2.8.0r4/build/connection/connection-min.js&2.8.0r4/build/container/container-min.js
Now i'm not sure what is done in the backend, but i got this idea looking at their urls. And if you are wondering what if you want to use PHP, there is a similar project called Minify on google code which uses similar concepts borrowed from Y!'s guidelines. That's it for now... more to come!! :-)

October 31, 2009

Interesting case study on innovations in Indian context

http://online.wsj.com/article/SB125598988906795035.html

Coke Studio Songs

Just thought to share this interesting musical fusion that was being aired on some pakistani channel. I loved most of the songs. Here is a link with downloadable mp3s

http://www.koolmuzone.com/2009/08/coke-studio-episode-5-download-audios-videos/

October 12, 2009

Thought of the day...

Stolen from Ghai's fb post, but it was worth it:

"We don’t get a chance to do that many things, and every one should be really excellent. Because this is our life. Life is brief, and then you die, you know? And we’ve all chosen to do this with our lives. So it better be damn good. It better be worth it." - Steve Jobs

Regex Pattern for Validating Email addresses

Interesting post here talks about how complex RFC 822 is, that defines a valid email address. But thankfully the guy found a simpler pattern from msdn and modified it to put more restriction on the regex; here it goes:-

"^([\w]+)(([-\.][\w]+)?)*@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"

However this pattern fails to approve email ids like "mygroup+subscribe@mygroups.com" which is a common pattern used by listserv email lists. There are few more cases when email bots send you emails containing reply to addresses like "mygroup+confirm-23EWEJEW233@mygroups.com" where you reply and using the session id "23EWEJEW233", your a/c is activated or something. Writely (now Google docs) uses a similar pattern allowing you to upload documents through emails; their email ids are of type "xyz+pqr-12345678901234567890-SDWEPO23@prod.writely.com"

To verify if a value is passing through this perl regex filter, i used the following command:
echo [candidate_value]|grep -P [pattern]
and then checking "echo $?", if its 0, the pattern matches, else it failed. Actually if the pattern matches, you will see the [candidate_value] printed as well.

Turns out adding support for '+' as additional symbol was the only thing required. The modified regex looks exactly the same, except one character "+" added in the sequence.

"^([\w]+)(([-\.\+][\w]+)?)*@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"
For ex:
  1. echo "abc.pp@fjdsf.sdsd.dsdsds.com"|grep -P "^([\w]+)(([-\.\+][\w]+)?)*@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"
    passes the regex
  2. echo   "abc.@fjdsf.sdsd.dsdsds.com"|grep -P "^([\w]+)(([-\.\+][\w]+)?)*@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"
    fails the regex
  3. echo "xyz+pqr-12345678901234567890-SDWEPO23@prod.writely.com"|grep -P "^([\w]+)(([-\.\+][\w]+)?)*@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"
    passes the regex

October 03, 2009

selecting from a combobox, populated using JsonStore in extjs

gotcha.. it took me quite sometime in figuring this out. I was populating the combobox from a JsonStore and then wanted to select one of the values by default.

The documentation for
setValue(String v) : Ext.form.Field 
says:
Sets the specified value into the field. If the value finds a match, 
the corresponding record text will be displayed in the field. If the 
value does not match the data value of an existing item, and the 
valueNotFoundText config option is defined, it will be displayed as 
the default field text. Otherwise the field will be blank (although 
the value will still be set).
Parameters:

    * value : String
      The value to match

However it doesn't say what does it mean by "value into the field". Atleast i got confused and was trying with all sorts of permutation/combination (this is what happens when you get stuck with something and don't know a way out). It did mean the value that you want to submit along with the form. So just in case some poor soul is stuck like me, here is the code on how to do it.
var jsonStore = new Ext.data.JsonStore({
        storeId: 'my-json-store',
        // store configs
        autoDestroy: true,
        autoLoad: true,
        proxy: new Ext.data.HttpProxy({
            url: /relative_backend_url, 
            method: 'GET'
        }),
        // reader configs
        root: 'response',
        idProperty: 'elemId',
        fields: [ 'name', 'elemId', 'description' ]
    });

jsonStore.on('load', function(store, data){
    Ext.each(data, function (elem){
            if(elem['name'] == some_value_to_compare) {
                var combo = Ext.getCmp('my-json-combo');
                combo.setValue(elem['elemId']);
            }
 });
     // or if you already know the value of elemId, lets call it xValue for which you 
     // want to show the element, go for combo.setValue(xValue)
});

JSON response from the backend looks something like this:
{
    "response": [{
        "description": "Some long description",
        "name": "Name of the element",
        "elemId": "af02a9d6-a11c-11de-bcd5-b2e876978f0a"
    }],
    "success": true
}

September 24, 2009

Browser's limitation on cookie

Interestingly, now most of them have come to a standard value on their limits. If you've ever worked on client side (i.e. javascript coding), you would really appreciate this and understand why its worth mentioning here. Here are the details:

Per domain limits

  1. Firefox - Both 2.x and 3.x allow 50 cookies per domain
  2. IE - Until IE6.x they supported only 20 cookies per domain and IE 7 and above this limit has been increased to 50 cookies per domain
  3. Opera - Opera 9 allows only 30 cookies per domain
  4. Safari - No limits

Maximum Cookie Limit

  1. Firefox - Both 2.x and 3.x allow 1000
  2. IE - Some posts suggested its 300. *
  3. Opera - 65536
  4. Safari - No limits


Maximum Cookie Size Limit

  1. This is almost uniform across the browsers (because they try to adhere to RFC 2109(Section 6.3) and limits to ~4KB = 4096 bytes

If you ever exceed any of these limits, browsers may behave differently. IE and Opera use LRU to decide which cookies to delete. FF seems to be using something different from LRU *.

So if you follow Graded Browser Support methodology for your website, here are the recommendations:
  1. Keep your cookie count to <=30 per domain. Remember that subdomains can access root domains cookies as well (so xyz.abc.com can access cookies for abc.com domain)
  2. Cookie size should not be more than 4096 bytes
  3. Use some of the standard libraries YUI Cookie or Ext.util.Cookies for cookie handling

And never forget that cookies are an overhead for any website. Most of the browsers would append them to each request that is sent from the client side; some of them are smart enough to figure which particular "path" really needs them (this depends on which path the cookie was set for). And there is limit on the header size that a server can handle, for example Apache puts a limit of ~8KB. I don't know about others *.

* - I did my part of research but ended up with no results. If you've any concrete information, please share with links in comments

September 20, 2009

syntax highlighter for blogspot

as you might see now, i've the source highlighter plugin enabled. thanks to this post, it went really smooth this time.

September 15, 2009

javascript snippet for getting url parameters

function getReqParam( name ) {

 name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");

 var regexS = "[\\?&]"+name+"=([^&#]*)";
 var regex = new RegExp( regexS );
 var results = regex.exec( window.location.href );

 if( results == null ){
  return "";
 }
 else{
  return results[1];
 }
}
i will explain the logic later on ;-) that reminds me, i also need to add a source code highlighter to my blog.. hang on until the long weekend, will get it done!!

September 03, 2009

Thought of the day...

A thought just came across that its been really long since i posted a "Thought of the day.." and why is it so? I guess i'm getting stable now :-), less worried and more productive and no more of those meta-thinking that i used to do few months back. To hell with that, who wants to waste the precious time!!!? ;-)

August 29, 2009

Comparison of online payment gateways in India








































































Found this analysis here and thought to keep it handy for future needs. The information doesn't seem complete and if you've more information to add or correct this information, please do share in comments. Two of my friends needed this information immediately, so here you go buddies...
GatewayOne time setup feesTransaction Cost (CC/DC)Transaction Cost (NetBanking)Annual Maintenance Cost (AMC)Supported CCsSupported Banks
CCAvenue75007%4%1200VISA, MasterCard, Amex, Diners, JCBHDFC, ICICI, AXIS, IDBI, CBoP, Citi, BoB, BoI
DirectPay (TimesMoney)



VISA, MasterCardHDFC, ICICI, AXIS, IDBI, CBoP, Citi, Centurion, Yes, BoP, BoI, PNB, Kotak, Karnataka, Vijaya, BoR, SIB, Corporation, OBC, Federal
EBS (Axis Bank)60006%6%2400VISA, MasterCard, DinersHDFC, Axis, Citi
ABC Payments (IndiaMart)100007%7%NilVISA, MasterCard, DinersHDFC, ICICI, AXIS, IDBI, CBoP, Citi, IndusInd
HDFC





ICICI PaySeal300003.5%
10000VISA (no MasterCard)

Installing Agilo - Agile plugin over Trac

[If you are looking for instructions on installing Agilo over Trac, click here to skip to the instructions directly]

Finally a post on my current work in my new organization. :-) Its been running really busy with lot of things going on in parallel; but i must admit it, it feels lively after a long long time here and that's one reason you find me posting this entry at 2:30 past midnight (no.. i'm not working on project related stuff, but i find my enthusiasm back on finding new stuffs that can help my team and the organization perform better).

We, the newly formed engineering team here have decided to follow agile and scrum based processes in all our projects and the organization as whole. We recently installed Trac (a fantastic python based open source tool on one of our servers), but this provided very minimal UI for wiki, source code browsing, ticketing system and milestones tracking and had missing features like user management, ticket hours management, scrum features like (product backlogs, sprint based management and progress tracking). So we explored more and came across this nice plugin over Trac - called Agilo. Agilo is open source and provides some pro features in a licensed version with support. Well what we were looking for was pretty much available in the open source version so we went ahead with the same.



  1. First install setuptools for python by running
    wget http://peak.telecommunity.com/dist/ez_setup.py

    python ez_setup.py

  2. Install Trac. (need help? read here or here)

  3. Install simplejson by issuing
    easy_install simplejson

  4. At this step, its assumed that your trac is up and running :-) Download Agilo source code from here (you need to be logged in to download this) and untar it using
    tar xzvf agilo-source-latest.tar.gz

    Go to the source folder and issue
    easy_install [source-untarred-folder]

  5. At this step, you need to enable this for your projects. Assuming that you've a project installed in /var/trac/project1, you need to add the following to your /var/trac/project1/conf/trac.ini

    [components]
    agilo.* = enabled
    agilo_common.* = enabled


  6. Do an upgrade on the project by issuing:

    trac-admin /var/trac/project1 upgrade

    which should output something like below:

    Creating Product Backlog...
    Creating Sprint Backlog...
    Upgrade done.

    This means your project has been upgraded to use Agilo on Trac. Restart your trac instance.

  7. I wasn't successful in my first attempt because my simplejson installation wasn't proper for some reason, so i did a
    locate simplejson

    removed the simplejson egg and then did
    easy_install simplejson

    again. For me, the path of simplejson to be removed, was /usr/lib/python2.4/site-packages/simplejson-2.0.9-py2.4-linux-x86_64.egg



It was very satisfying to see the Agilo UI over Trac. We've already created a/cs for the entire organization (engineering, product management, analytics and support functions) and our CEO, CTO also have an a/c on the system. Everybody is excited about the new system :-)

[PS: if you still have problem, do post your issue here.]

Interesting reads from hbr blog



Disclaimer

August 23, 2009

Adieu

Taken from a video post on Reflections By IITians. IIT Kharagpur recently celebrated its 59th foundation day. It just reminded me my old KGP days and revived the nostalgia. I'm sure it will remind you your college days too..


A life which is to end
Only when i'm no more
A life which transformed me
In a fighter to the core

A season of love and friendship
For eternity which will last
In my future to follow
I will long to relive this past

Memories of this part of journey
I'll carry all life long
Memories of those precious moments
Which made my life a beautiful song

My eyes go teary
Emotions fill my heart
As my days left here are few
Now its time to bid adieu

August 11, 2009

August 08, 2009

Interesting reads from hbr blog



  1. To Get What You Want, Don't Go With Your Gut


  2. Four Rules for Effective Negotiations



After reading these posts, i realized how miserable i was in a recent negotiation (i was desperately looking for a +ve outcome but lost it even before i could start presenting my side of the case)... definitely worth reading; not sure how much a reading can help but something is better than nothing. And in my way of thinking, first step towards fixing a problem is to realize that there is a problem. :-)

August 01, 2009

बस यूँही...

आज फिर उस गली से गुजरे हम
हुए पुराने लम्हे रूबरू
तुम न थे दूर दूर तक कहीं
फिर भी की हमने गुफ्तगू...

July 31, 2009

Thought of the day...

... well, i always thought its funny;
and yesterday i realized it really is (yep, i did)!
and then i thought why the hell it took so long for the realization?
...then i felt this thought itself is funny;
finally to conclude that i "think" too much!

July 30, 2009

Deleting all tables in a mysql database

Turned out there is no command like "trunk database " but unix piping could be a savior.

Warning: Somehow my putty session crashes after running the command mentioned below and i've to restart the session. Just in case you know a better way to do this, please do share in the comments. Thanks!

mysqldump -h <dbhost> -u <dbuser> -p --add-drop-table --no-data <dbname> | grep ^DROP | mysql -h <dbhost> -u <dbuser> -p <dbname>

July 29, 2009

Thought of the day...

All work and no play, makes Jack a dull boy;
All play and no work, makes Jack a mere toy!

July 25, 2009

One week in a call center...

When i told my friends where i was going to join next from Y!, questions like below came up:

  1. Ain't that a BPO, hold on, a call center?

  2. What are you going to do there?

  3. Are you out of your mind?

  4. What the ...?

  5. Yada, yada, yada...


I knew this would come, but when i explained to them what organization in the company i was joining and what my roles and responsibilities would be there, they calmed down with a sigh of relief. Thanks guys for getting concerned so much. This decision wasn't easy to make, but knowing few things like getting to work with my previous manager in Oracle(ST), the work itself, the responsibilities and challenges that it offered; it was easy to say good-bye to Y! for this round. So how did it go in the first week? Well, i would say pretty well; i did face some "on the face" issues but i was already expecting them.

BPO culture is totally different. Every day is a challenge for the call center folks. The cubicles are very close by. People sit close; yet are always talking to some stranger on the other side of the phone. Entire floor is divided into multiple "bays" as they call it dedicated to a particular "account" or "process" and at any moment of the day/night, only a few bays are working (different "account"s/"process"es have different working times depending on the timezone of the customers they serve to). There seems so much "life" in their area when they are working: always chatty, laughing, creating applauds. And at the end of their schedules, you should see them cheering up for each other that they survived yet another tense day for their customers. I don't know about you, but next time i'm going to call to Airtel/Vodafone or any other service provider; i will probably be more gentle in talking to them. After all these guys are also human and they are trying to help us with someone else's fault. Its just human to think that they deserve a better interaction than what they generally get from a p***ed customer.

There are strict processes and rules and guidelines that every employee has to follow. Frankly speaking i was taken aback when HR told me i need to wear formals on weekdays. I also learned that my phone won't be allowed because it had camera. Thankfully i didn't have any storage capability on the phone, that would have been another reason to bar me. Well well well. I can take the phone thing in the spirit of data protection, but the dress code i won't survive. Thankfully when i took up this issue with my senior executives, they said, its ok to wear casuals and jeans for us and i was relieved. There is strict frisking at every entrance. First day it felt like a big pain but now with time it feels really funny raising your hands for the frisking with the metal detector [:D]. I've been told we will be moving to a separate area specially for our organization and there we will have separate rules (created and managed by us only not like the BPO guys); and i'm looking forward to the next month, when all this is expected to happen.

There is a cafeteria at the top floor of my building and food is average. Thankfully there are options for fast food(Chinese, South Indian, Bergers, Sandwiches etc.), regular meal and a tea/coffee shop as well. The meals are not so good and i've been surviving on the dosas and sandwiches. Next week onwards i will be trying out the pyramid cafeteria nearby (definitely a better option, i would say). Its just about time to finalize a routine that would work the best; i'm still exploring.

The gym is of not so standard though they have a trainer. I would say its good enough for the BPO company as they stand today (just like any other business, they have also had bruises in these recessionary times). I've decided to enrol myself to the FitnessOne gym on personal expenses. I will be more comfortable there for sure. This brings another time management challenge, but i'm confident i should be able to make it.

Coming to the work, i feel much satisfied and convinced that i'm a critical part of the organization and have more responsibilities to deliver on the expectations of my organization. There are quite many things to do and its the "my" thing feeling, that will keep me driving for quite sometime to come. This week i was more like trying to settle down but the work has started now. Going forward, you will hear more on the work side (as updates from the call center [:)]). So keep watching this space...

July 19, 2009

bY!e ...

Ahh, time flies by... isn’t it? This friday I completed my 1 year 11 days in Y! and sadly that was my last day as well (at least for this round). I’m moving to a (not-so) startup this Monday for new adventures. It was a tough decision to make but few not-so-good events triggered it and made easier to go through as well. Many good things happened as well in this 1 year tenure that i will cheer for quite sometime to come: Y! Open Hack day, Internal Hack days, Oozie, Office Gym and FitnessOne (lost some 12kgs since feb), awesome cafeteria food and breakout area fruits/snacks, cool and funky work environment and needless to say smart people to work with on interesting challenges for the internet. I've learned from fellow Y!s and would miss few of them for sure. Best of luck Y! and Y!s; I promise to be back with blast (may be not in immediate near future but some longer future for sure).

I'm all geared up and excited for the new challenges. More as it happens...

Related posts:

  1. Thought of the day

  2. Being a Y!...

  3. Open Hack 2009 Concludes

July 12, 2009

Another good bye

So today i bade good bye to a special friend. Special because a lot of good things happened this year in my life, thanks to that friend. I'm no more what i was few months ago and hope all the good things i've gathered all this while will accumulate further. Whatever!! Saying good bye is not so easy specially knowing that you probably won't be seeing them again next few years or probably the entire lifetime. Thankfully there is internet and you can keep touch but for how long? Would you've the same affection for them when they are far distant apart? Would you be able to catch up with their lives or will they be able to catch up with your life? I'm not a pessimist but as somebody said "in larger perspective of life, nothing matters..."; lets see...

Related posts:

  1. 2009, so far

  2. 2009, so far - II

Thought of the day

Don't try to do everything... its just not a 'scalable' lifestyle...

July 11, 2009

Thought of the day

Few quotes taken from "50 Things" which i feel is relevant to "after school" life as well:

  1. Your friends will change a lot with time. Let them.

  2. Carve out an hour every single day to be alone. (Sleeping doesn't count.)

  3. Embrace the differences between you and people around you. Always be asking yourself, "what can I learn from this person?".

  4. Working things out between friends is best done in person, not over email. (IM does not count as "in person.") Often someone's facial expressions will tell you more than his/her words.

  5. Wednesday is the middle of the week; therefore on wednesday night the week is more than half over. You should celebrate accordingly. (It makes thursday and friday a lot more fun.)

  6. Welcome failure into your lives. It's how we grow. What matters is not that you failed, but that you recovered.

  7. Do something once in a while for no particular reason or purpose (totally different from your regular life and work), purely for the fun of it.

  8. It's important to think about the future, but it's more important to be present in the now.

  9. Things that seem like the end of the world really do become funny with a little time and distance. Knowing this, forget the embarrassment and skip to the good part.

  10. Every once in a while, there will come an especially powerful moment when you can actually feel that an experience has changed who you are. Embrace these, even if they are painful.

  11. Don't try to do everything. Balance = well-being.

  12. Life is too short to stick with something that you're no longer excited about. Switch, even if it complicates things. After all life is about exploring yourself and the entire world, ain't it?



Source: http://www.mitadmissions.org/topics/life/workplay_balance_at_mit/50_things.shtml

July 10, 2009

Thought of the day

Be a good listener and observer; sometimes the best piece of advice/help can come from a source least expected and it can be life saving. :-)

Thought of the day

"...and you know the best thing about the end of the day? tomorrow it starts all over again, all afresh!"

-From "Wanted"

June 28, 2009

दिल ने आज फिर आरजू की है
कि एक तमन्ना हो
और जिंदगी में उसे पूरी करने की
कोई जद्दोजहद हो!
मुआ वो ज़िन्दगी भी क्या
ना कुछ चाहा ना कुछ हासिल किया
ना कुछ पाया ना कुछ खोया
हाँ, मुश्किलें हैं राह-ए-मंजिल में
पर उस मंजिल का भी क्या
जो कोई भी पा ले
और उस मुसाफिर का भी क्या
जो बीच राह में हार मान ले...

June 27, 2009

10 Firefox plugins i use...

Just thought to create a handy list of the plugins i've been using at Y! I'll soon be moving to Mac (and probably in future migrations as well), this list will be really helpful in getting started fast.

  1. WebDeveloper - https://addons.mozilla.org/en-US/firefox/addon/60
  2. SwitchProxy - https://addons.mozilla.org/en-US/firefox/addon/125
  3. LiveHttpHeaders - http://livehttpheaders.mozdev.org/
  4. AdBlockPlus - http://adblockplus.org/en/installation
  5. Delicious - http://delicious.com/help/installff
  6. Smush!t - http://developer.yahoo.com/yslow/smushit/
  7. FoxyTunes - http://www.foxytunes.com/firefox/allversions.html
  8. FireBug - http://getfirebug.com/
  9. YSlow - http://developer.yahoo.com/yslow/
  10. JsonView - http://code.google.com/p/jsonview/

June 25, 2009

Thought of the day

When you've got nothing, you have philosophies.

June 22, 2009

CSS Loader javascript snippet

copied from github:

javascript:void(function(){var%20i,a,s;a=document.getElementsByTagName('link');for(i=0;i%3Ca.length;i++){s=a[i];if(s.rel.toLowerCase().indexOf('stylesheet')%3E=0&&s.href)%20{var%20h=s.href.replace(/(&|%5C?)forceReload=\d+/,'');s.href=h+(h.indexOf('?')%3E=0?'&':'?')+'forceReload='+(new%20Date().valueOf())}}})();

Or just drag this link: CSS Loader to your browser toolbar

June 20, 2009

Thought of the day

It's OK, I'll find another way.... You ain't gonna get me down, no way!!!

June 17, 2009

Thought of the day

सोचते थे...पानी से जुदा होकर ये मछलियाँ इतना क्‍यों छटपटाती है. . .ना मालूम था. . .नज़दीकियाँ आदत और आदत...अक्सर ज़िंदगी बन जाती है.....

-गुलज़ार

June 12, 2009

आहट तन्हाई की...



.....
पता नहीं क्यूँ आज
ठन गयी है खुद से ही खुद की
मन मस्तिस्क में हो गयी है
न जाने क्यूँ एक अनबन सी
शायद, शायद दूर कहीं सुन पड़ी है
आहट तन्हाई की...

हमें एहसास न था कि
एहसास भी हम कर पाए कभी
कि तेज तीछन धारा से
तट की ओर भी आयें कभी
बढ़ते ही गए हम
बढ़ते ही गए हम...

लगता है जरूरत आन पड़ी अब
एक सुनहरे पड़ाव की
जो मन ने सुन ली है अब
आहट मेरी तन्हाई की...
- सुधीर कुमार सिंह


Full version @ http://www.ee.ucla.edu/~suds/aahat-tanhai-ki.pdf

June 06, 2009

Enjoy your coffee

A group of alumni, highly established in their careers got together to visit old university professor. Conversations soon turned into complaints about stress in work and life.

Offering his guests coffee, professor went to the kitchen and brought a large pot of coffee and assortment of cups - porcelain, plastic, glass, crystal. Some plain looking, some expensive and some exquisite, telling them to help themselves to hot coffee.

When all the students had a cup of coffee in hand professor said - If you noticed, all the nice looking expensive cups were taken up leaving behind the plain and cheap ones. It is normal for you to want only the best for yourself But that is the source of your problem and stress.

What all of you wanted was coffee, not the cup, but you consciously went for the best cup and were eying each other's cup.

Now if life is coffee, then jobs, money and position in society are the cups. They are just tools to hold Life, but the quality of Life doesn’t change. Sometimes by concentrating only on the cup we fail to enjoy the coffee in it.

So don’t let the cups drive you... enjoy the coffee instead!

May 29, 2009

Interesting quotes

1. कौन कहता है आंसमां में सुराख हो नहीं सकता, एक पत्थर तो तबियत से उछालो यारों...

2.
ज़िन्दगी की असली उडान अभी बाकी है,
ज़िन्दगी के कई इम्तेहान अभी बाकी हैं,
नापी है मुठी भर ज़मीन अभी,
आगे अभी सारी ज़मीन, सारा आंसमां बाकी है....

सौजन्य: http://www.google.com/transliterate/indic/

Manna Dey - Coffee House




Lyric Of Coffee House Of Manna Dey
Source: http://banglamusic.com/lyrics/index.php?m=s&lid=454
hmmmmmmmmm........hmmmmmmmm
coffee house er sei adda ta ajj ar nei ajj ar nei
kothai hariye gelo shonali bikel gulo sei ajj ar nei

nikhiles paris e, moidol dhaka te nei tara ajj kono khobor e
grand er guiterist gouaniz d'souza ghumiye ache je kobor e
ka ke jeno bhalobeshe aghat peye je shes e pagla garod e ache roma roy
amol ta bhugche dhoronto cancer e jibon kore ni take khoma haiiiiiiii

coffee house er sei adda ta ajj ar nei ajj ar nei
kothai hariye gelo shonali bikel gulo sei ajj ar nei

shujata e ajj sodo sob cheye shuke ache
shunechi tu lakh poti shami tar
hire r johorot e aga gora mora she
nami dami bari ghari ache tar
art college er chele nikhileshaonlal biggapon er chobi akto
ar chukh vora kotha niye nirbak srota hoye d'souza ta sodo bose thakto
ohhhhhhhhhh

coffee house er sei adda ta ajj ar nei ajj ar nei
kothai hariye gelo shonali bikel gulo sei ajj ar nei
lalalalalalala

ekta table e sei 3/4 ghonta
char minar sodo thote jolto
kokhono bishnu dey kokhono jamini rai
ei niye torko ta cholto
rod jor brishti te jekhanei je thakok
kaj sere thik eshe jortam
charte te suro kore jomiye adda mere
sare 7 tai thik uthtam

coffee house er sei adda ta ajj ar nei ajj ar nei
lalalalalalallalala........

kobi kobi chehra kadhe te julano bag
muche jabe amol er naam ta
ekta kobita o tar holo nako kothao chapa
pelo na she protiva r dam ta
office er sosal e memture natok e
roma roy obhinoy korto
kagoj er reporter moidol eshe roj
ki likheche tai sodo porto

coffee house er sei adda ta ajj ar nei ajj ar nei
kothai hariye gelo shonali bikel gulo sei ajj ar nei

sei 7 jon nei ajj table ta tobo ache
7 ta peyala ajj o khali nei
ek bhagane je ajj esheche nutun kuri
sodo sei sedin er mali nei
koto shopner rod uther ei soffe house e
koto shopno megh e deke jai
koto jon elo gelo
koto jon e asbe
coffee house ta sodo theke jai


coffee house er sei adda ta ajj ar nei ajj ar nei
kothai hariye gelo shonali bikel gulo sei ajj ar nei
hhhmmmmmmmmmm lalalalalalala

May 28, 2009

Thought of the day

Less than 1 year, 2 cubicles, 3 teams, 4th project, 5 managers, 6 Y! tees, -7kgs (thanks to Y!Gym) - Thats my Y! story until now

May 20, 2009

2009, so far... - II

So a little more update from the last time.

  1. I've lost total 11 kgs in a year and a half. :) My office gym trainer is a cool dude and has been helping me out really well. Have learned a lot from him (this entire routine has helped me loose some 7kgs in 3 months) and here i go "all thanks to you dude".

  2. Had an awesome time with my family in darjeeling few days ago. The place is awesome with cool weather and greenery. Stayed for five days around that place (in hill) and it was an experience for me to remember for sometime. Here are the pics http://picasaweb.google.co.in/matkahtml/DarjeelingTripPublic

  3. I finally created my first application on appengine (thanks to their java version, that got me going easily; python version was such a PITA) and that happens to be my website :D Two birds with a single bullet!! :P

  4. My first open source project that also happens to be an official project within the company is about to be released. We are working on the final tidbits

  5. Bittu has moved out but BK is back from his US stay. And its good to see more life in the flat again. On the downside, i missed some good chocolates he brought from US while i was away to darjeeling; on the better side, i didn't consume those extra calories :P


Expecting some more fun in very near future with "Nini and Ghoida's visit to bangalore" and "Sunfeast 10K run with uncles". Will keep posting every now and then :-)

Updated from: 2009, so far...

Javascript formatter

I was recently working on a webconsole for our product and turned out that my eclipse was somehow screwed up. It gave weird stacktraces whenever i tried formatting the javascript code. I thought of fixing the eclipse (for some reason, it didn't happen in first 15 minutes and i gave up :D) I searched and found a really interesting link which supported OO JS and formatted it really well. I'm impressed and thought i should share it with everybody (or least keep it handy for me).

Here is the URL: http://www.mobilefish.com/services/javascriptformatter/javascriptformatter.php

May 15, 2009

Thought of the day

You can understand and relate to most people better if you look at them -- no matter how old or impressive they may be -- as if they are children. For most of us never really grow up or mature all that much -- we simply grow taller. O, to be sure, we laugh less and play less and wear uncomfortable disguises like adults, but beneath the costume is the child we always are, whose needs are simple, whose daily life is still best described by fairy tales. --Leo Rosten

April 29, 2009

Thought of the day

Nothing in the world can take place of persistence.
Talent will not; nothing is more common than unsuccessful men with talent.
Genius will not; unrewarded genius is almost a proverb.
Education will not; the world is full of educated derelicts.
Persistence and determination alone are omnipotent.

~ Calvin Coolidge

Three things...

Three things in life once gone never come back...... 1.words 2. opportunity 3.time
Three things in life are never sure... 1.dreams 2.success 3.fortune
Three things in life that make you a great person... 1.hard work 2.sincerity 3.success
Three things in life are most valuable... 1.love 2.self respect 3. friends
Three things in life must not be lost.... 1.peace 2.hope 3.honesty
Three things in life that destroy a person... 1.greed 2.pride 3.anger.

April 27, 2009

Thought of the day

"Even if you are on the right track, you'll get run over if you just sit there." - Will Roger

Looks like time is coming to start running again. Its really been long long time guys!

April 16, 2009

Thought of the day

Challenges are what make life interesting; overcoming them is what makes it meaningful.

April 14, 2009

Thought of the day

Restlessness is good, if for nothing it helps you resolve the status quo faster and you will see things that you didn't see earlier with your bogged up mind

April 12, 2009

Being a Y! ...

Y'day i was really happy. For the first time in last 10+ months, i thought man, its good to be a Yahoo! So what do you get being a Y!, here you go with the top five:

  • Smart and great people to work with on interesting challenges that change lives of billions of users on the internet

  • Cool ambiance and friendly and funky work environment

  • Free coffee, tea, snacks, fruits and almost free lunches (and i must confess i've not found such good food in my last 4 years of industry experience elsewhere). Frequent gifts (specially Tees for any and every occassion in the company). I've a number of them now and have stopped buying from malls. :D

  • Free FitnessOne gym membership (apart from the in-house gym and trainer in the office)

  • A respect in the developer community for being an Y! and opportunity to explore your different skills within the company for the company. Y! organizes so many things internally and externally, if you are active, you get to see a lot and won't have time to kill idle.


I really felt classy today in the gym. :D I was sharing gym floor with couple of models who were also working out in the same gym. For a moment, i thanked Y! and was too happy :-) i also hit my first target today 2kms in 10mins, tomorrow i'm going to Pande (my office gym trainer) and hit him with the results :D So, Yahooooooo!!

April 08, 2009

2009, so far...

Its been a really happening start, no i mean it. Too many things happened in a very short span, few things i kind of hasted my way, few just happened without my noticing, few i just did without thinking much. In totality, really a lot.

In Jan i found myself thinking a lot about a career decision and i somehow got it mixed with an emotional decision. It seemed like a dream opportunity that i was looking for the whole of 2008 but it didn't come my way then. Ultimately when it came up in Jan 2009, i just let it go. The decision wasn't easy, i was so confused, for few days it was complete mess going on in my mind. There was even one day, when i felt i couldn't work any more and left office in the afternoon without knowing where i was going and why i was going. Fortunately, there was a phone call before i kicked my bike and it kind of showed me a way to let things loosen up. And i let the opportunity go...in peace! Never been so restless before, but this was the first time and second time happened soon thereafter within a month or two.

And today when i'm writing this, i don't know if that decision was right or wrong. Whether that emotional moment weakened me. But i still feel great about it. Ahh the least i don't regret it. :)

Many other things came along. I did things that i never thought i would do in my life. I mean i always thought those things were kinda stupid and you have to be really serious or really funny to do them. I did them because i just felt like doing them, without any thoughts and today i'm glad i didn't think much then. There were times when i drove 50kms to and fro bunking office, ditching some of my friends' plans (haha, that was real fun!), always running to be in time [ahh, if you know me, you must be knowing that i hate to be late and also that even though its been more than 2 years in this city, i hate the complex routes here and the traffic huha, that sucks!!!]. Still it was an awesome time i was having. One midnight i drove in total bizarre mood, again those 50kms. Man that was some night, probably to remember life long now. :)

But the fun part got over very soon, sooner than i expected. May be i made haste, may be my perception was wrong, may be things were not meant to be the way i thought they were going or they had the potential to go.. ahh too many 'may be's!!! I hate this part when things are hazy and you are floating in clouds of doubts :-) The only good take away was that i did try my best, probably more than i knew i could. While i were at these stuffs, i was reminded once about the Bhagvad Geeta shloka "Karm-anyev-a-adhikaar-aste maa falesu kada-a-cha-na, maa karm-fal-hetur-bhurma te sango-astaw-karman-i" (all you command is the right to do your job, you have no rights on the outcomes; the results should not be your motivation to do your job, and the lack of it should not demotivate you to not do it either). I've always been a firm believer of "Deserve then desire" and all that happened or i did, happened just like that. I didn't plan it, i never expected things to happen, it just happened and i let it happen without any expectations. The way things were moving, it just created new expectations and that's where i guess things went wrong. Anyways all bygones are bygones and there is no point remembering them. The goods will always remain as fond memories for time to come and i will cherish them till then. :)

All this happened in last 3 months. whoooa.. what a quarter!! :) But i'm putting up few changes here and there now. I was asked a question recently "what exactly do i want?" Now that's something intriguing, it wasn't about good food, good dress or whatever else, it forced me to think what exactly i wanted from my life. So about the changes, like someone intelligent said "change is inevitable, either bring it yourself or someone else will bring it. in the later case, you might not like it"; i've decided to pull them on my own. Inspired by aaloo (remember him?), i've become regular to office gym now. I've joined Fitness one as well for weekends, so that the habit/routine doesn't break. Its been working for me as of now. If we haven't met in last one year or so, i've lost some 8kgs in a year :) Ahh, something to be happy about, finally! I'm planning to buy a piano soon. Looks like it won't be too costly, more on this once i get it and start playing something on it. :) I've decided to put few more changes on my lifestyle, the way i dress, the way i take things and life around me. I can't put things in words here, but you will feel it if we are meeting after quite sometime. Few more trekking and vacation plans are on way, lets see, i'm looking forward to a good time soon...

So what made me write this post today? Well while so many things happened in my life, things were not going so good with few close friends of mine too. Two of my friends had their final breakups beginning this year. Today i got to know that another uncle is planning to leave for higher studies in US. There are too many uncertainties that surround him and his mind, and the most important being someone special for him. If i had been in his place, i would have kicked such things for sure. I mean you must be really lucky to get someone special in the first place, and once you have it, you can't just put it at risk or let it go. But he is also right at his stand, after all he is doing/planning things with her approvals and for their better future. Whatever somewhere somehow i'm feeling bad about this confusion for these guys. Have been close to them and this idea kinda scares me about them.

Not sure where things are going and what more i'm to see this year. :D But 2009 is definitely the year of change and its not just the "obama change" in USofA :p, its going to be big changes in my life too. I'm already expecting few more changes soon. Kabutar has moved out to a separate place, bittu is planning to move in with his friends too. RPG would be getting married in next few months, aaloo/BK are also in the line. So if all that happens, i will be the only jhandu left in this house. :) Man i need to do something, what... i don't know! :D Let me think more on it; but i don't want to. I decided few weeks ago, i won't create too many "but still"s in my mind and worry about the present only. So lets see how things go on their own. I will post here more in case i get overwhelmed again with things. Till then...

April 07, 2009

Thought of the day

We all do stupid things and its perfectly fine as long as we enjoyed what we did or the least we learned something from it.

April 03, 2009

Thought of the day

I'm not afraid of what i know is coming, i'm worried when i don't know what's going to happen next...

March 28, 2009

Chance and Choice


This is your last chance. After this, there is no turning back. You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill - you stay in Wonderland and I show you how deep the rabbit-hole goes.

[Source: http://www.flickr.com/photos/sahuin/]

March 27, 2009

Thought of the day

The world is a tragedy to those who feel, but a comedy to those who think.

March 26, 2009

Thought of the day

"There is always a first time for anything and everything"

and for the first time, i seriously felt

"its easy to preach others on what to do and what not to do, but when it comes to "you doing it", its always difficult"

That means next time i'm giving fundae to others, i will be more soft and be able to relate to them more.

March 24, 2009

Glimpses from my diary...

"... so that's it!! Don't bother too much about the short term failures or under achievements.. all that matters is what you do in long term!!! So come on... don't bother yourself!!! There are things that happen in your life and you never understand why they happen, whats their significance??? But always remember that everything has a purpose, without purpose nothing exists.. Everything that happens makes a difference in your life, someway may be a little bit only, but still it does!!! As Richard Bach says "Nothing by Chance" everything you get is what you deserved, everything you lose is possibly not for your cup. That doesn't mean you should stop trying to get what you desire, but first deserve and then desire. And keep trying for what you dream about or think about. If you succeed, you will be happy; if you fail, you will learn. Keep your hunger alive and keep your efforts on...best of luck!"

Dated Apr 2005

March 23, 2009

Thought of the day

Life is not measured by the breaths we take, but by the moments that take our breathe away.

March 17, 2009

Thought of the day

The best way to predict the future is to invent it.

[interesting thought here, but...]

March 16, 2009

Thought of the day

Today i'm scared, yet again and yet again i want to believe that things would be fine tomorrow.

March 10, 2009

5 Tips for Error Handling in Java


  1. Avoid throwing an exception whenever possible. In stead return special values e.g. null.

  2. Throw early, catch later

  3. Either throw an exception or log them but never do both

  4. Always throw a checked exception, unless it’s a severe error that cannot be handled by the caller of the api.

  5. Maintain layer wise clear abstraction on errors and exceptions so that even if there is a change in the lower layer, consuming layers should not be affected. A particular exception from one layer should never be carried onto the next layer.

Thought of the day

I feel like it's a dream and i don't want to wake up. But i must wake up before i realize that its really a dream.

March 09, 2009

Thought of the day


  1. If you can't fix it yourself, no one else will.

  2. Everybody does things for nobody but himself(herself); unfortunately self-love is the only true love. Don't follow those who preach otherwise. The thing is if they don't love themselves, how can you love them and their preachings on any other damn thing.

  3. Most of the things that you die hard to achieve don't mean anything in the long run. After all everybody dies and they don't let you take anything with you to heaven or hell. Who cares if you go to heaven or hell, you don't live to see that, do you?

  4. Milestones don't matter; there is always another milestone and you will eventually forget to count how many just passed away. However if you enjoyed the journey from the last milestone; chances are you will enjoy the journey to the next one too.

  5. The worst thing that can ever happen is when you are about to achieve what you always wanted to have in life. The moment you get it, you suddenly loose everything that you had until then.

March 08, 2009

Thought of the day

Few things(other than beer) are like beer, the more you have it, the more you want it...

Standard Disclaimer: I don't drink!

March 01, 2009

Evan Almighty and the funda :D

So i was watching this movie (Evan Almighty) on HBO tonight and it had this message towards the last half of the movie. I'm not going into reviews or comments on whether the movie was good or bad, but this message touched me. Here it goes:

If someone prays for patience, you think God gives them patience? Or does He give them the opportunity to be patient?

If they prayed for courage, does God give them courage, or does He give them the opportunity to be courageous?

If someone prayed for their family to be closer, you think God zaps them with warm fuzzy feelings? Or does he give them opportunities to love each other?


Link 1: http://www.asksaiful.com/2007/12/29/heres-your-opportunity/
Link 2: http://www.idea-sandbox.com/blog/2008/05/evan-almighty-life-and-business-lesson-in-opportunity/

February 22, 2009

Dilli 6

I loved the first half but the second half was equally horrible. It could have been a great movie atleast that is the impression i had until the intermission. But in the very beginning after the intermission, it started showing off that director was lost. Here is a short list summary on the movie.

Things i liked about the movie:

  1. Sonam Kapoor's natural performance and her presence in the movie

  2. An attempt to mix Ram Leela with the movie plot.

  3. Portray of the new age middle class girl's ambitions to do something in her life and challenges she faces from the family and others in the society (cyrus's character!!??)

  4. Portray of indian life from an NRI's view: closeness and disputes in big indian families, small but beautiful things that make indian life (you will hear them mostly from Ali, Rishi Kapoor but can as well feel them in the first half)

  5. collage of indian and american scenes in one of the songs (in the second half). it was too colorful but interesting.

  6. Awesome music.

  7. vijay raaz and divya dutta's acting


5 things i hated about the movie:

  1. 99% of the second half

  2. too much of preaching

  3. too much of noise

  4. abhishek bachchan trying too hard to explain the mirror and the message of the faqir; i could see that i was loosing the charm instantly for the movie after this scene.

  5. poor handling of pre-climax and climax (specially the riots related scenes and the ones in which bachchan father and son are talking to each other, why did we need that scene???)

Thought of the Day

Good things happen, cherish them before they are gone because nothing lasts forever; but hey, that's the case with bad things too...

February 15, 2009

Open Hack 2009 concludes


Wow.. what an event!!! I had amazing last two days. Thanks to all who joined us at the event. The excitement that all the participants showed was awesome. One hacker came to me and i could see his desperation. He was ready to pay "any" amount of money right way for a live windows hosting, all he wanted was an immediate activation. I hope atleast one of my suggested providers were able to help him. There were people hacking on maps, local, BOSS, fireeagle, messenger and what not. Few students even had a hardware hack using a h/w called Sun Spot (aah, is the name right?). Free food, tea/coffee, cold drinks, beer and redbulls.. awesome was the only word in air! Most of the hackers were up whole night to get their ideas up and running, what a tempo!

It was really special one for me too. More so because i had few of my "very good" friends hacking on their ideas as well and we all had an awesome time. Last two days passed without any knowledge(we slept a little at odd hours) and now i can only long for more of that excitement and fun. Thank you Y!, we rock and i'm looking forward to the next blast...

See list of the hacks that were developed for this hackday (within 24 hr hackathon!!!).
See pics

February 13, 2009

How it changed?

Here i am sitting in my office @ night…
Thinking hard about life
How it changed from a maverick college life to strict professional life…...

How tiny pocket money changed to huge monthly paychecks
but then why it gives lesss happiness….

How a few local denim jeans changed to new branded wardrobe
but then why there are less people to use them

How a single plate of samosa changed to a full Pizza or burger
But then why there is less hunger…..

Here i am sitting in my office @ night…
Thinking hard about life
How it changed…..

How a bike always in reserve changed to bike always on
but then why there are less places to go on……

How a small coffee shop changed to cafe coffee day
but then why its feels like shop is far away…..

How a limited prepaid card changed to postpaid package
but then why there are less calls & more messages……

Here i am sitting in my office @ night…
Thinking hard about life
How it changed…..

How a general class journey changed to Flight journey
But then why there are less vacations for enjoyment….

How a old assembled desktop changed to new branded laptop
but then why there is less time to put it on……….

How a small bunch of friends changed to office mate
But then why we always feel lonely n miss those college frnz.….

Here i am sitting in my office @ night…
Thinking hard about life
How it changed….. How it changed……..

[PS: This is a forwarded mail and sorry i'm not aware of the source]

January 20, 2009

Up and running on a new rootshell.be a/c

So few of my friends are planning to attend Y! India hack day scheduled on 14-15th Feb 2009. They just requested a free rootshell.be a/c and thanks to the guys there, they had a free a/c to play with within few hours (Thanks to Xavier and his team at rootshell.be again).

We hit a small problem while hosting our application there. First of all the files we created were not having the right access permissions. Second, rootshell has default configurations to append a little tracking scripts from google to every page that is served from its servers. Now we had problem with this because YAP (Y! application platform) tries to validate a domain by fetching a static file uploaded with some specific content onto the target server. We were getting screwed here because of that small tracking script. This is how we resolved the two issues.

  1. All files in ${HOME}/html folder were given 755 permissions so that apache could read and execute them (umm well most of their stuff is going to be dynamic, so uhh you know...).

  2. We added a .htaccess file in ${HOME}/html folder to change some of the default settings. The portion that helped us get rid of the tracking script is as follows:

    LayoutMerge Off
    LayoutDefaultHandlers Off

  3. Provide 755 permission to .htaccess file as well so that apache can read it. Else it will be throwing "403 forbidden" errors



But, this is just part of the .htaccess configuration. If you are writing a .htaccess file, it is recommended that you search on Y! Search for tutorials on what all you should take care of. That's all for now. Will keep updating as we go on.

BTW everybody is invited to the Y! India hack day. There are limited seats and final participation will be by confirmed invitation only. So what are you waiting for, go book your seat before they are gone... :-)

January 17, 2009

Are You Going to Finish Strong?







Source: http://www.maniacworld.com/are-you-going-to-finish-strong.html

January 07, 2009

Where the hell is Matt?

At first you say "WTH?" and then you notice so much of energy that it becomes interesting...



[source: http://wherethehellismatt.com/?fbid=1FFb4WHWFo1]

Well he visited Y! office recently, here is the link



[source: http://ycorpblog.com/2008/08/04/and-now-we-dance/]

January 05, 2009

Thought of the day

Its about change, the only constant in life. You know its coming, every second and the very next second is different (there is a change). With time and experience, you may be able to identify few changes when and why they are coming; and then there will be few others which you won't be able to. Ask or not, they will come, for good or for bad. And by the human nature, you would resist. Either resist to hold the good times or try to run away from the bad times. But then you will realize, they are already there and the only thing you can do is hold onto yourself and let time flow like a cold breeze. Because when that breeze is gone there will be a new sunshine with new rays of hope. And when you look back on what the bad times have given you, you will see-"Things were not so bad after all."

January 03, 2009

My Present State of Mind...


Well yeah.. very confused state of mind. But as Neo states it - "The problem is choice". We make many conscious/unconscious decisions on these choices; few are right and few others are wrong. But our present and future both depend on these choices we make at different points of time. I own all my actions and choices i made for whatever reasons i made, after all those choices were my own and its me, only me responsible for it. [:)] No i've not committed anything wrong, its just an illusion between what could be and what can be good for me that confuses me at times. And since i've already made that decision, its time to own it and move on, in a new direction, for a new challenge. For you don't know what lies ahead until you begin the journey... only when you reach there, that you know whether that choice, your own choice that you made in past, was the right one or not... and so i keep walking, on and on and on...