Friday, May 29, 2009

RIP B.D. Manocha

My last living grandparent - my paternal grandfather - B.D. Manocha - pitaji - passed away on the 18'th of May, 2009. He was 95 years old.

This was coming - he had severe Alzheimers, had suffered a stroke that had paralyzed the left side of his body, was very frail and pretty much fully dependent on others. It is because of this that I feel this was a good thing. He had led a long and (for the most part) healthy life - lived long enough to see his great grand children (the oldest of which is now almost 19 years old), seen all his grand children (save me and my brother) get married and been there when his wife passed away. His passing away relieved both my uncles (his two oldest sons) from having to constantly worry about him (though, amazingly, I never heard them complain - infact they often fought over who would be the one taking care of him).

I debated over the content of this post - should this be a eulogy or a detailing of my trip to India to perform his final rights. I will give both a shot, starting with the former.

I didn't really know pitaji too well. From the time I remember things, I knew him as a deeply religious man - so much so that he almost completely ignored everything else - including his wife (for example, I don't remember a single time when both of them slept in the same room, not sure if he did it earlier in his life, but definitely not since I remember anything about our family) and his youngest grand children. The most vivid memories of him I have are the ones where he used to come to our part of the house for dinner or when he used to be the one chairing the prayers whenever a common one took place in the house. My older cousins tell me he was a strict taskmaster - he used to see if they finished their studies, were disciplined etc. Non compliance usually meant they would be hit with a cane. He didn't take non-compliance too well (this is all too evident in my father too) - as was witnessed by him scolding us or our mom when we used English instead of Hindi (he was a Gandhian). He was also obsessive-compulsive about his health (this may be why he lived to this age). He was never one to try to build a fun and playful relationship with us. I remember my younger self asking my mother how come pitaji didn't play with us like the grandfathers in the movies played with their grandkids. However, by the end of things, he had changed significantly - everytime I visited, he would enthusiastically hug me and ask me to sit by his side. I'm not sure if he knew who I was, but he liked people sitting with him, holding him or holding them in an embrace. He had also, as far as I could tell, given up on religion (this could by my bias) as well as on good health (part of this was 'cause he couldn't walk after his stroke, but he also started loving sweets - when he used to not eat much more than 3-4 spoon fulls of the stuff earlier). I guess, I had more fun being around him in his later years.

He passed away on Monday, 18'th May. My dad left for Delhi the same day. My mom followed the next day (Tuesday) and me the day after (Wednesday). He was cremated on Tuesday morning. We went to collect his ashes the morning after I arrived - almost all the males in the house. This was done with all pomp, ritual and ceremony - none of which I understood. We laid out different kids of food on all 4 corners of the rectangle as well as the 4 mid points of the sides of the rectangle. This was followed by some shlokas being read by the in-house pandit. We then did what's know as phool chun-na (pick the flowers). This involved saperating the bones from the rest of the ashes in the pit. We then headed home with the ashes as well as the bones. The afternoon saw a 3 hour rendition of the Bhagvat Gita followed by lunch. This was mostly attended by family members as well as mid to old aged housewives from the neighbourhood (given that it was a thursday afternoon, most of the men were apparently unavailable to attend). We then had an hour's respite and then headed to a temple where a more public ceremony was held - attendance was actually quiet good. The ceremony involved 45 minutes of funeralistic songs followed by a 20-25 minute eulogy delivered by the family priest. The ceremony ended by 6:30pm, after which we all returned home, where plans to go to Haridwar to put his bones in the Ganges were made. 11 of us in 3 cars were to go. We all left at different times the next morning, but ended up meeting just oustide of Haridwar. The drive there in my uncle's Wagon-R was actually pretty taxing - with the A/C not working fully well and the tempreatures soaring over 40C. Once we reached Haridwar, we checked into our hotel, rested for a few minutes and then headed down to the main river bank (called Har-ki-pauri) to put his ashes in the Ganges. Our priest met us at the banks - who then performed another 10-15 minute prayer. We then gave his ashes to the Ganges and then everybody but me, a cousin and his wife, followed it up with a dip in the river. We then headed back up to the hotel, took a shower and headed down to meet our Haridwar priest. This is the guy you go to to register a death or birth (though the latter rarely happens) in the family. He has records for the Manocha family going back 3-4 generations - apparently. This done, we went for a stroll in the local market. We rushed back to the main bank of the river by 7pm for the aarti held daily. The place was packed which meant people were rubbing up against everybody. Rather distressing but I survived what was a - fortunately - short prayer. A quick trip back to the hotel, we headed back out for dinner after freshening up. We had dinner at a Dhaba type place and then headed back to the hotel to call it a night. The next morning involved another dip in the river for most everybody and then checkout followed by our drive back home - which was plagued by the same ills that troubled us on our way in.

That was it for the performing last rites part of the trip. Many things about these 3 days pissed me off. Not least of them was the fact that after deciding to not go to India for this hoopla, I changed my mind after a call from my dad asking me to come. Now maybe I was being naive, but I thought he asked me to come 'cause he needed me there - somebody to talk to and stuff. It turns out I was window dressing - a body to show that the grandkids from our end of the family haven't all suddenly gone AWOL (since grandkids from the other two brothers were in attendance). But as I said, I was probably being naive to expect otherwise. Anyway, many of the rituals irked me too. The putting food on all corners of his pyre, the picking of his bones from the ashes, the floating of said bones into the Ganges (no wonder the water there was so nasty), the singing of the songs, the pseudo-eulogy delivered by the priest instead of his kids etc. I am sure if I had been there for the cremation, I'd have had problems with that whole process too. But I guess this is to be expected - I believe dying is the end of things - nothing lives on. You remember the person the best way you can without acting like you need to help him gain passage into heaven. Suffice it to say, I feel I would have been better off not going to India - just mourning his death from Kuala Lumpur, in a way that I feel acceptable, instead of going along with what others think I should do at such a time. Alas, that didn't happen.

My grandfather passing away is a bittersweet moment - it's sad but probably for the best. I can't say I'll miss him, but I will say may he Rest in Peace.

Saturday, May 16, 2009

Using Twitter and Google Search API's using jQuery

Google and Twitter (API docs) both have API's available for web developers to create mashups using data from them. As a way to give users a broader view of what is happening around the constituency, state, party or representative they are viewing, GovCheck shows 4 searches on each of these pages - News, Web and Video search from Google and real time search from Twitter. These searches are all performed using the jQuery JavaScript framework. This has two advantages - the searches don't hold up page loading (as they happen asynchnously - AJAX :)) and they happen on the client side which means fewer resources (and hence load) used on the server side. So how exactly is this done?
The technology making this possible (besides the languages and TCP etc.) is JSONP. What this does is allow us to send AJAX requests to remote sites (due to security issues, browser do not allow cross domain AJAX requests. JSONP is a protocol that allows us to do so - although it has it's own issues too). Both Google as well as Twitter search support JSONP, as does jQuery - which makes querying those services from the client side very easy. Here's how to go about it.

function getGoogleContent(elem, searchtype, query) {
$.getJSON('http://ajax.googleapis.com/ajax/services/search/' + searchtype + '?v=1.0&q=' + query + '&callback=?',
function(data) {
if(data.responseData.results.length == 0)
elem.html($('

').html('No results').attr('style','text-align: center; font-weight: bold; font-size: 1.2em;'));
else {
elemliststr = elem.attr('id') + '-list';
elem.html($('
    ').attr('id',elemliststr).attr('style','list-style-type: disc; padding-left: 30px;'));
    elemlistobj = $('#' + elemliststr);
    $.each(data.responseData.results, function(i, item) {
    elemlistobj.append($('

  • ').html($('').html(item.title).attr('href', (searchtype == 'video') ? item.url : item.unescapedUrl).attr('target','_blank')).append((item.publisher) ? ' (' + item.publisher + ')' : ' '));
    });
    elem.append($('

    ').html($('').html('More Results').attr('href', data.responseData.cursor.moreResultsUrl).attr('target', '_blank')).attr('style', 'padding-top: 10px; font-weight: bold; text-align: center;'));
    }
    }
    );
    }

    function getTwitterContent(query) {
    elem = $('#twitter-tab');
    $.getJSON('http://search.twitter.com/search.json?q=' + query + '&rpp=4&callback=?',
    function(data) {
    if(data.results.length == 0)
    elem.html($('

    ').html('No results').attr('style','text-align: center; font-weight: bold; font-size: 1.2em;'));
    else {
    elemliststr = elem.attr('id') + '-list';
    elem.html($('
      ').attr('id',elemliststr).attr('style','list-style-type: disc; padding-left: 30px;'));
      elemlistobj = $('#' + elemliststr);
      $.each(data.results, function(i, item) {
      elemlistobj.append($('

    • ').html($('').html(item.from_user).attr('href', 'http://twitter.com/' + item.from_user).attr('target', '_blank')).append(': ' + item.text));
      });
      elem.append($('

      ').html($('').html('More Results').attr('href', 'http://search.twitter.com/search?q=' + query).attr('target', '_blank')).attr('style', 'padding-top: 10px; font-weight: bold; text-align: center;'));
      }
      }
      );
      }

      We use jQuery's getJSON call to get the JSON results from these services. The "&callback=?" at the end of both the JSON queries tells getJSON that these are JSONP requests - jQuery automagically substitutes the name of the function the results of the query should be fed to.
      The "elem" and "searchtype" arguments being sent to the "getGoogleContent" function allow me to call the same function for all News, Web and Video searches like so:

      getGoogleContent($('#news-tab'), 'news', query);
      getGoogleContent($('#youtube-tab'), 'video', query);
      getGoogleContent($('#web-tab'), 'web', query);

      Another thing to note here is the usefulness of FireBug. When I was starting out making these queries, I relied on console.log to see the returned object structure (since neither Google nor Twitter specify it) which then allowed me to make the right calls for the relevant data.

      So there you go - a quick, easy and scalable way of using Google and Twitter's API's to bring in information into your website.

      Tuesday, May 12, 2009

      Store pickled data in a database using SQLAlchemy

      I've been using SQLAlchemy (and Elixir) to write the data collection code for GovCheck. My first choice would have been to use Django's ORM itself, but that proved harder and more time consuming that I thought worth it.

      One of the problems that I've had to solve is how to store lots of static data in a SQL database without adding more than 100 columns into a DB table. A good solution to this problem is to store this data with a pickled dictionary. The problem with that is the in-built PickleType defined by SQLAlchemy does not also base64 encode the result of the pickle operation on the dictionary (I wanted to do this because the custom field type I'd defined within the Django app was something similar to this, which assumes base64 encoded data coming in). However, fortunately, it's rather easy to create custom Type's for SQLAlchemy and use them in your models. Here is the custom type I created to store the data.

      import base64
      try:
      import cPickle as pickle
      except:
      import pickle

      class EncodedPickleType(types.TypeDecorator):
      """
      This class should be used whenever pickled data needs to be stored
      (instead of using the in-built PickleType). The reason for this is
      that the in-built type does not encode the pickled string using
      base64, which is what the Django field type expects.
      """
      impl = types.Text

      def process_bind_param(self, value, dialect):
      dumps = pickle.dumps
      if value is None:
      return None
      return base64.b64encode(dumps(value))

      def process_result_value(self, value, dialect):
      loads = pickle.loads
      if value is None:
      return None
      if not isinstance(value, basestring):
      return value
      return loads(base64.b64decode(value))


      You can then use this within your model definitions and feed it a dictionary. The field will take care of pickling and encoding it as well as decoding and unpickling the data when accessing the data.

      Sunday, May 10, 2009

      Scraping PDF's in Python

      So, in the course of grabbing some additional data sources for GovCheck, I needed to scrape a few pdf's and insert the information into my database. After looking high and low, I found an acceptable solution to do this using Python - pdfminer. It's not perfect, but it's much better than the rest of the pdf to html/txt converter tools - at-least as far as scraping goes. So I figured I'd note here how I wrote my scraping code. As a reference point, I was parsing election data for the past election using this pdf file.
      You start off with running the code through pdfminer and getting the resulting HTML back.

      import os
      from BeautifulSoup import BeautifulSoup
      for page in range(9, 552):
      soup = BeautifulSoup(os.popen('python ~/dev/pdfminer-dist-20090330/pdflib/pdf2txt.py -w -p %d Vol_II_LS_2004.pdf' % page).read())

      Once you have said soup object, the next steps are pretty much the same as scraping any HTML page you would grab from some page on the web, except since the HTML generated by pdfminer user absolute positioning, you need to take care of those offsets. A couple ways I found to take those into account are listed below:

      1. You can analyse a few pages of the generated html from the pdf, find the various offsets that are displayed and use them like so:


      2. for left_margin in (267,271,275):
        try:
        electors_total = map(int, map(strip, soup.find('span', style = 'position:absolute; writing-mode:lr-tb; left:%dpx; top:352px; font-size:8px;' % left_margin).string.split(' ')))
        break
        except AttributeError, e:
        pass

      3. The previous method mentioned is actually a pretty bad way of doing things, not to say unreliable 'cause your code can break whenever an offset you did not know off is found. A better way to do things is to find a nearby constant text message (such as "MARGIN ") and then backtrack from there to find your relevant tag. This allows you to completely avoid hard coding offsets - unfortunately it's not usable in all the cases. Here's an example of how you can use this method:


      4. self._data['Margin']['Number'], self._data['Margin']['Percentage'] = map(strip, soup.find(text = 'MARGIN ').parent.previousSibling.previousSibling.string.split(' '))


      So there you go, a quick example of how to scrape a pdf using Python. It's not perfect but it works for me, for now.

      Friday, May 8, 2009

      A few things I've learnt from living with my parents...again

      As stated earlier, I've been living with my parents for the last 3 months. A lot has transpired between us during that time - lot's of fights and make ups, bruised egos, defiance etc. Suffice it to say that it's not been easy - if I had to advise somebody if it'd be ok for them to go back to live with their folks after 6 years of not living with them, my answer will be a resounding NO!! Now to be fair, I'm not blaming them for this, it's a classic "it takes two to tango" situation. But all that's not the point of this post.

      The subject of this post is what have I realized about myself living with my parents - more precisely, what kind of man I want to be and what kind of women I want to be with. I'll grant that basing these two personality traits solely on observing your parents might not be the best way to go about it, but they certainly do influence you - as they have me.

      So, as I've been noticing the interactions between my mom and dad, one particular theme has become very clear - how submissive she is and how authoritative he is. She will bring him a glass of water/milk/coke (but never liquor for some odd reason) when he asks her to, she will arrange the kitchen (which in all honesty, should be her domain) as he likes her to, deal with the help as he wants her to, work or not work as he wants her to, cook as he wants her to - to the chagrin of everyone else, etc. etc. Reverse all that and you'll get a picture of what my dad's like. Even the most mundane stuff, like leaving an empty glass of beer on the side table next to the couch is for some reason unacceptable - as is eating in front of the tv or parking the car facing in instead of facing out or cooking the food a bit spicy or grabbing pickles with your meal - and yes, the list goes on. Now, I am almost certainly painting an exaggerated picture - it's not possible for me with my limited writing skills to paint the perfect picture - but this is the general trend.

      Watching all this has made me realize things, if not influence me too. I've never been (at-least I'd like to think so) the kind of guy who likes to tell people how to do things or be told how to do things. It makes me uncomfortable when people ask me if they should do this thing or the other, and outright annoys me when they think they know what I should do. I can't stand people who think they know what's right for me, or ask me 10 times "why" I've done or decided to do something (a disease that plagues both my parents unfortunately). This line of thought, inherently leads me to like decisive people. And that's what I've realized - my ideal woman would be confident, decisive and unwavering. She won't feel the need to ask me what to or not to do. She'll also, hopefully, be the kind of person who would ask me to shut up and get back in my place if I try to interfere. Of-course, this does not mean I don't want her to ask me for suggestions - but that's exactly what I want them to be in her mind - suggestions. Conversely, I want to be the kind of man who will be trusting enough to not have to worry about the decisions my woman is making. Again, this is not to say that I don't want to be involved - I just don't want to be the guy "telling" her what to do. I would hate to become into an incarnation of my dad - thinking I know enough about everything to know what's right for someone else - screw how they feel about it.

      Finally, let me say that I do not think their union doesn't work - it works for them. Maybe what I'm looking for is an aberration - it might be why I've been single for most of my life. That said, I'm not ready to settle, not just yet - I still have hope :).

      Thursday, May 7, 2009

      So what happens after they win an election??

      I'm not even going to bother with apologies - I'm a lazy retard and that's just the way it is. So anyways, I was watching Yuva again tonight, and it got me thinking - what happens after these so called educated do-gooders win an election?? Does that automatically mean things work out from there on out?

      I mean, looking at the stats, one would see that we already do have a whole bunch of educationally well qualified individuals in the Lok Sabha (while GovCheck does not show educational data - yet - it will, soon) so there ain't a deficit of degrees in the Lower House (far as I've seen, a lot of them seem to have law degrees). This fact leads me to think that an education is not the panacea here. 

      It's often said that the problem with India's laggard growth is not it's politicians but it's bureaucracy. If we take that statement at face value (which I do, to a large extent) then the problem is not having uneducated or criminal lawmakers (though that definitely does not help, in-fact it probably does hurt - just not as much as people might say) but having a bureaucratic process that is so void of accountability that even if we do get politicians who want to do something, there isn't much they can.

      This is what disturbs me - it's not easy to get rid of this apathy people seem to have towards their government. Laws can only go so far - this needs a change of mind-set. And that is where I feel politicians and social workers can help - start asking the people to hold their government accountable. It'll be a slow process, but I definitely feel that is what's needed to fix the quagmire we're in as a nation.

      Now what do I mean when I say "hold them accountable"? Well, for starters, make more positions in the government electable - posts such as mayor, district attorney etc. Also, allow people working for the government to be fired. As I understand it - presently it's so hard to fire people off the government payroll that they can pretty much go about doing anything with fearing the consequences. Finally, we need to have more investigative journalists (and not the kind of idiots who setup "sting operations") - not only at the national level - but at the local level too. The kind who will sift through city records, looking for dirt on that city council member, or the state representative. But none of these changes will happen unless the people actually ask for them (save maybe the last one) - which is why I say we need a change in the mind-set of people.

      Indulge me now, if you will - this is the main reason why I started GovCheck. It's not something that was put up because there was an impending election in India. In-fact this is one of the things that piss me off about people - the ones pretentious enough to think they know why I started the website - because there's an election coming up. I couldn't care less about the elections - especially in a place like India - it's just a time for people to go around making promises and in some cases, pointing to the disgraces, they passed as law, as proof that they're better for the people. I don't care what they say during an election - a good lawmaker is one who's active off the campaign trail - and that's what I'm trying to bring to light with GovCheck.

      So there we go - that is my answer to India's problems - not only better elected representatives, but a better and more aware electorate. That is the panacea for most of the diseases that plague our land - and I hope I can play a small part in curing it.

      Saturday, January 31, 2009

      So...Obama won and became the 44'th President of The United States

      Just in case you've been living under a rock for the past couple of months, Obama won the race for the presidency (against McCain) and became the 44'th President of The United States. It is hard to describe my elation for this outcome, but let me try. People have already said enough about what this means for the country, it's people and the rest of the world, so I won't repeat all that. I will just talk about my feelings.

      I went over to my cousin's place on the night of the 4'th (the results didn't start coming in until 5am on the 5'th our time) 'cause I don't have a TV. I was planning on staying up all night watching CNN but ended up sleeping for 4 hours until 4am in the morning. That is when I started following the news, and as CNN started projecting states for Obama, my heart started jumping beats. I don't remember the correct sequence of events, but as soon as Pennsylvania was called for Obama followed (or proceeded) by Iowa and Ohio, everybody knew that was it. But I still didn't celebrate, lest I jinx it. It was only after California and Oregon were called for Obama (at about 8am my time) did I finally shake the hands of and hug my cousin and sister-in-law. It was momentous, it was exhilerating, it was unique and yes, it was emotional.

      The first 3 make sense, but let me explain the last adjective I used above. When I say emotional, I meant I wanted to cry. Tears did well up, but I pushed them back - I didn't want to look like a pussy in front of the audience (my cousin and my sis-in-law :)). There were plenty of reasons for this - first black man to be president, first truly liberal guy to get there, finally a democrat back in that seat, the knowledge that Palin would not come within 100 ft. of the oval office etc. etc. But the main reason for my response was something else - I wanted to cry 'cause this was the first time I picked a winner. All the other times, my choices for President lost. This time, he won. And it's no small thing - I was supporting Obama from the start - from the day he stood up outside the state house in Illinois to announce his candidacy (and actually from before that). It was this feeling of pride, this feeling of accomplishment, this fulfillment of a dream that got to me. There was an amazing soliloquy delievered by Ray Romano in the show Everybody Loves Raymond, and while I don't remember the exact words, it's crux was that when one of your dreams, a dream that you thought was so distant to border on the unreal, comes true, you start taking your other dreams more seriously. That's what happened for me. When it all started, I was pretty sure I was supporting a loser - after all he was Black, with relatively less experience, a well educated and articulate man, etc. All ingredients for a great President, but all qualities that would work against him. Him winning meant nothing is too hard to achieve, too distant a dream when you go after it with a plan and a focuses approach, and work really hard to achieve the goal you set out for. 

      What remains to be seen now is what he makes of it. He needs to do good, else his whole aura that he can actually change things, and bring about a better future will fade. He has a nice team to help him, and that added to the fact that he himself is a pretty smart guy leads me to be optimistic about his chances. Let's hope I'm right here too.

      Friday, January 30, 2009

      My last day at Agilent (and my comeback to blogging).

      So it's been a while. Lot's has happened since the last time I posted an entry here. Most importantly, Obama won the race for the presidency of the US and became the 44'th and the first black president of the United States. In this time, I also visited Goa (twice), saw a close friend get married (a bit scary - we're all coming of age), saw the US go into recession, lost my partner (who shall remain anonymous, on his request) to the economy (or something else - I don't want to think too much about it), gave the GMAT - twice 'cause the first time around I got only 640 (second time around, I got 700), and celebrated my 24'th birthday (in-fact on the same day as my second GMAT exam). But, I also resigned my job at Agilent (one I've had for the past 15 months). My last day was today. I'm excited, not scared, optimistic, not pessimistic and interested in looking forward to what happens in the next few months.

      Resigning from my job was long in the making. I had thought of it way back in august/september while discussing with R about our plans for out startup. It took me almost 6 months between first thinking about it and finally leaving my job. I guess there was some apprehension with the economy the way it was and all that. I also postponed my plans more than once 'cause of R and now even though he's no longer taking the plunge with me, I still feel this was the right choice for me. The fact is, I was no longer enjoying the work I was doing at Agilent - it was mundane, repetitive and sparse. Sure, there were moments of excitement and exhileration, but they were few and far between for me to justify staying on.

      What was (and still is) surprising to me was how my folks supported me in this decision. I was not expecting it, so it came as a very pleasant surprise. As I have mentioned earlier, they have not always been the most supportive of my aspirations or decisions (and this is not me bitching, this is me appreciating them for showing me a different path, giving me choices I had not thought of) so them supporting me fully meant a lot to me.

      As for my plans from here on out, I'm going to finish off my grad school applications before next weekend, which is when I fly out to Malaysia. Once there, I plan on working full time on making GovCheck a reality. The Indian General Elections are coming around so this should be a good time to launch a site like this. Additionally, it will be a good test for the idea - if it can't gain traction during an election cycle, then probably this idea isn't something that can be turned into a profitable business. I'll see how things go in the few months after the site's launch. If I feel it is succesfull (and I don't have a clear definition of what does succesfull mean), I will punt on grad school and continue working on it. If not, I'll go to grad school. And if I don't get into any of the schools I apply to, I will then start looking for jobs again, though I'm really really really hoping it doesn't come to that.

      So that is an update for the day. I hope to take up blogging regularly again, but let's see if I can stick to that. All I can say is, right now, I'm excited for my future. I hope my efforts bear some fruit.

      Saturday, September 13, 2008

      A very reassuring image















      Found this image via FriendFeed today, and I've got to say, it's very reassuring (and yes, I know it's not an official Obama poster - yet it has that satisfying tone to it). Enjoy it and Believe!!

      Friday, September 12, 2008

      Blah...

      I'm bored, don't have much to do, and can't think of an interesting topic to write about. So here's a brain dump.

      I've been sick for the past week - a cold I caught last friday when the power went out at 1 in the morning, leading me in some hot & humid weather, to go take a shower at 2am, followed by me strolling on my balcony for an hour afterwards. The next morning, I woke up to a running nose, blocked sinus' and a sore throat. It got incrementally worse from there on out. I finally recovered enough this thursday to go back to work, only to find that my head hurt in the A/C there. My mother too, fell sick this week. She had to undergo a surgery for an "obstructing hernia". She's better now, but let's just say she gave us a scare for a little bit there. Fortunately, my dad was around and was able to handle things (he was supposed to go to Beijing the night my mom was diagnosed with the problem). There is now some discussion around me and Ayush going to KL when dad has to go to NYC (4'th - 14'th Oct). That might end up happening, in which case I'll have to take even more days off from work.

      I've been reading a lot about Sarah Palin and the resurgent McCain campaign. I am a bit scared about how big of a bounce they've got from her selection. Churchill once said that the best argument against democracy was a 5 minute conversation with the average voter. He sure sounds right seeing the kind of reaction Palin is getting. As Matt Damon put it (quiet well, in my opinion) - it all seems like a bad Disney movie - where the hockey/soccer mom suddenly becomes the president. I truly am scared of seeing another Republican administration in power - I honestly do believe that it would be a very bad thing for the US and the entire world.

      Back to personal issues, I've been fighting myself, trying to figure out exactly what I should be doing with my time, and life. I'm constantly conflicted about studying for the GRE, paying more attention to work, or working even harder on my project. I want to just go all out on the last of those, but for a myriad of reasons, am unable to yet. The major one, I think is 'cause I'm not getting the backing I feel I need to be able to do so. Support from my parents is luke warm, at best - and realistically, I don't expect more from them. But then there's R (he doesn't want his name out in the open) who has these bursts where all he'll discuss is how we grow this idea, and then completely stop talking about it for long periods of time (like we haven't spoken about any of this for the past 2 weeks). I'm trying to figure out if I think I can do this alone - but so far, I don't think I can. It's not that I need someone to help me write the code - that I'm confident I can do. It's that, I need someone who can prop me up - who has more confidence than I do in me (and in themselve). I also want to work with smart people, and I have always counted R as one of them - somebody smarter than me, whom I can learn a lot from. I guess, all I can do is hope things work out, but keep a back-up plan in case they don't. I honestly think I've come too far to give up now - I see this as my way out of the mundane life that is working for a company. I want to do my own thing - create something new - innovate - help people in their regular lives, and along the way, get some fulfillment.