Thursday, December 24, 2009

The jouney begins - Part II

The planning can be clubbed in three broad groups -

  1. Legal and Financial

  2. Possessions

  3. Relations


For Legal and Financial, the main thing was the immigration aspect. For us, it was securing some long-term Indian visa. For some of my friends who went back, the main issue was to keeping the Green Card alive. Paramita and kids had PIO. I had a 6-month Indian multiple-entry visa that I obtained in haste in August. First thing was to apply for my OCI. Kudos to San Francisco Consulate, the process was very clean and streamlined. It took just 3 weeks to get the OCI in hand. Foolishly I didn't keep a copy of the application number. Otherwise, I could have kept track of the process in detail over internet. I did that when I applied OCI for Paramita and the kids. It also took 3 weeks. For them it was a change from PIO to OCI.

A few people has asked about the practical difference between PIO and OCI. It seems the biggest practical difference is in case of OCI one doesn't need to go and register as Foreign National every six months with the Indian Government (through outposts in most major cities).

The only complaint that I have against the OCI application process is that websites of different consulates as well as the website of the ministry have conflicting information. Some are up-to-date, but a lot are dated. Depending on which website you hit, your application process may be erroneous. Like in our case, the right amount of fee for changing PIO to OCI was misinformed. That took away some precious time and money.

After the visa, it was time make sure we get paid in India and pay taxes. It was time for a PAN card. Permanent Account Number or PAN in India is equivalent to a Tax Identification Number or TIN in US.

The PAN application process is also quite streamlined, it seems. But for people residing outside India, like us, the main inconvenience is the to obtain the attestation for the address-proof. Regular notarization doesn't work. One needs to go to the nearest Indian Consulate to get this attested. It may not be too much of a hassle if one has ample time in hand. But for our case, it was definitely a big inconvenience.

I found a service on the net, pancardnri.com. They actually run a few more websites with different domains essentially providing the same service through the parent company nriinvestindia.com. The extra service they provide is to get your address proof attested. The rest is basically creating a Demand Draf on your behalf, submit the form and mail you back the acknowledgment etc. The price seems to be steep for the work done, but basically you pay for the convenience. I availed their service and received my PAN card in mail within the promised time.

Tuesday, December 22, 2009

The jouney begins

It all started on a March or April morning when I received a call from India. Will I be interested in applying for a position in MyCompany Bangalore? Of course, the name of the company is not MyCompany. But, that's besides the point here.

In last 4-5 years me and Paramita have explored the idea of going back to India in a semi-serious mode. That generally involved talking to people vising US from India, especially my Brother-In-Law, who comes at least once a year in summer.  That would be followed by some more phone calls to friends in India who had made the r2i journey at different times in past.

My position was that if I return, there is no point returning to any city other that Kolkata. But as time went by, I came down from that position since with the kind of career profiles we have, it's difficult to get the right kind of opportunity in Kolkata. There are a very few product companies in Kolkata. We both have spent most our working lives in product componies. If not Kolkata, Bangalore was the natural next choice.

When the call came I agreed to explore it with an open mind.

It was a long process. There were 4-5 telephone conversation (interview) over telephone. Then there was one in-person interview at MyCompany's local office. It was August by the time the in-person interview happened. My father suddenly passed away in August. I rushed back to India.

I came back with a  changed perspective. I was no more on an exploratory path. I was convinced that we should make the move. Now. MyCompany or not. My kids are 5 and 2. This is high time to make the move, if at all, for them too.

After I returned from India, me and Paramita had some deep discussions and decided we will try to make the move now. I won't say that Paramita was totally convinced, especially when approaching the issue from an emotional angle,  but she agreed to give it a serious try.

In early September, I started negotiating on the offer with MyCompany. Paramita started preparing her resume. We started thinking about the logistics. From that point onwards it became a hectic affair. I just joined a new company. Paramita had her fully-loaded job. Megh's school session had already started. We had to keep up our regular life and added this planning and execution, mostly planning at that stage, of R2I.

Sunday, March 29, 2009

Resume parsing score

I found this on Web. Being a programmer, I found it funny, but quite true.

 Resume Chart


[Source: http://www.hanovsolutions.com/resume_comic.png]

Thursday, March 26, 2009

Wordpress and Unicode

You type some non-English character in Wordpress or Drupal editors. You save it only to find those characters have become ????. If this describes your problem, then you have an issue with Unicode. You need to turn on Unicode support for Wordpress and Drupal. It will require some change of code. Basically, both Wordpress and Drupal supports Unicode. However, by default, the databases are not configured to store unicode characters.

Wordprss


For Wordpres, the modification is straight-forward.

  1. Open up ‘wp-config.php’ from the root directory of your WordPress installation.

  2. Comment out the following lines by adding ‘//’ at the very beginning of the following two lines:
    define('DB_CHARSET', 'utf8');
    define(’DB_COLLATE’, ”);


So that section should now look like this:
//define('DB_CHARSET', 'utf8');
//define(’DB_COLLATE’, ”);

[Source: http://hansengel.wordpress.com/2007/10/09/wordpress-unicode-and-s/]

Drupal


For Drupal, the change is a bit more involved:

  1. Go to to the root directory of your Drupal installation.

  2. Save the following code in a file named collate_db.php


  3. <?php
    # Do not change anything below this ( :-) <- Rewwrite Editors note.)
    require_once("includes/bootstrap.inc");
    require_once("includes/database.inc");
    require_once("includes/database.mysql.inc");
    $connect_url = 'mysql://user:pwd@server/database';
    $active_db = db_connect($connect_url);
    $sql = 'SHOW TABLES';
    if ( !( $result = db_query( $sql ) ) ) {
    echo '<span >Get SHOW TABLE - SQL Error: ' . $result . '<br>' . "</span>\n";
    }

    while ( $tables = db_fetch_array($result) ) {
    echo $tables[0];
    # Loop through all tables in this database
    $table = $tables[key($tables)];

    if ( !( $result2 = db_query("ALTER TABLE %s COLLATE utf8_general_ci", $table) ) ) {
    echo '<span >UTF SET - SQL Error: <br>' . "</span>\n";

    break;
    }

    print "$table changed to UTF-8 successfully.<br>\n";

    # Now loop through all the fields within this table
    if ( !($result2 = db_query("SHOW COLUMNS FROM %s",$table) ) ) {
    echo '<span >Get Table Columns Query - SQL Error: <br>' . "</span>\n";

    break;
    }

    while ( $column = db_fetch_array( $result2 ) )
    {
    $field_name = $column['Field'];
    $field_type = $column['Type'];

    # Change text based fields
    $skipped_field_types = array('char', 'text', 'enum', 'set');

    foreach ( $skipped_field_types as $type )
    {
    if ( strpos($field_type, $type) !== false )
    {
    $sql4 = "ALTER TABLE $table CHANGE `$field_name` `$field_name` $field_type CHARACTER SET utf8 COLLATE utf8_bin";
    $result4 = db_query($sql4);

    echo "---- $field_name changed to UTF-8 successfully.<br>\n";
    }
    }
    }
    echo "<hr>\n";
    }
    ?>



  4. Look at the red line in the code in red (5th line). You have to replace that part with your installation-specific information.

  5. Open the file sites/default/settings.php under the same Drupal root directory. Copy the rest of the line of
    $db_url =

    and paste it after
    $connect_url = 

    in the above code.

  6. Save collate_db.php

  7. Open a browser window and request the collate_db.php from your browser.

  8. If everything is fine you would see something similar to this:
    access changed to UTF-8 successfully.
    ---- mask changed to UTF-8 successfully.
    ---- type changed to UTF-8 successfully.

    <--- Lines not shown --->

    watchdog changed to UTF-8 successfully.
    ---- type changed to UTF-8 successfully.
    ---- message changed to UTF-8 successfully.
    ---- variables changed to UTF-8 successfully.
    ---- link changed to UTF-8 successfully.
    ---- location changed to UTF-8 successfully.
    ---- referer changed to UTF-8 successfully.
    ---- hostname changed to UTF-8 successfully.


  9. Delete collate_db.php for security.


You are done.

[Source: http://www.urbannatives.net/localtreechild/..._ci_and_tabl ]

Thursday, March 12, 2009

Baul

I cannot claim myself to be any expert on Baul songs. I have heard my share of Baul songs, mostly from radio. However, I have been fortunate to have two coincidences working for me in this respect. First, I like wrtings of Sudhir Chakrabarti. He was a professor of Bengali, but his passion was Bangla songs. Though he started writing rather late, he has been relentless in churning out articles since he started writing popular articles with seriousness. These articles are not just nonsensical pot-boilers. There are goods and bads, but none is insignificant. Sudhirbabu's other passion is Bengali Folk culture. I think I have painted the description of the passion with too broad a brush, but could not find a better description than this. He doesn't do it as a paid occupation. It's his labor of love. I don't know whether he follows the right research methodologies or not. But I could not care less. His research produced books like ব্রাত্য-লোকায়ত লালন (Bratyo Lokayoto Lalon), বাউল ফকির কথা (Baul Phakir Katha). Through these books and other writings of Sudhirbabu I got interested in the Baul way of life, and especially the Baul songs, though I learned that Baul songs are part of the Baul way of life. Without understanding or experiencing the Baul way of life one can neither appreciate nor fathom the Baul songs.

My other, and possibly bigger, influence for Baul songs is my friend Sudipto Chatterjee. Sudipto teaches and works in theater and performace stidues. But he picked up a penchant for Lalon Shah pretty early on. I remember the day when I first met him, about fifteen years ago, he boasted that he had already collected all Lalon songs. Only later I could understand his pride in that posession. He (and Theater director Sumon Mukhopadhyay) travelled to Kushthita, Lalon's birth and workplace, in Bangladesh in 1997. The materials they collected there, and since then, finally bore fruit in the form of a Perfomance called "The Man Of The Heart". A performance on Lalon's life and work, writtent and performed by Sudipto and directed by Sumon. I have heard numerous Lalon songs from Sudipto, along with stories, anecdotes and explanations. I heard about Panju Shah, Duddu Shah first through him. These, Sudhirbabu's books, gave me a better idea about the journey of Baul culture through history, both social and political. In most case, these two were intermingled intimately.

Later, thorugh a Bangla folk band called দোহার (Dohar), I first heard Abdul Karim's song. And I was bowled over immediately. Later I tried to dig up information from the web about Abdul Karim, who uses Baul Abdul Karim as his bhonita in some songs. There is not alot of information about him on the web, at least not as much to satisfy my curiosity. However, I came to know that he is still alive and well, though he is over 90 years of age. He still writes songs. But he has already become an institution in Bangladesh. I could not figure out whether he leads a strict Baul life. But that does not matter to me at his point. You can check out some of his songs in Youtube by searching on his name.

Wednesday, February 04, 2009

Ain’t No Luddite

I am not an adopter. I don't work to stay ahead of the technology curve. Rather, I fall quite far back in that curve to see all my friends and most of my family and acquaintances pass by me and my wife. But the truth is that I am quite happy and content being a follower. I keep my OS at least one version behind the latest and the greatest. Currently, even though my sparingly-used Windows machine runs XP (used only for music production since I have already invested money and learning-time on software that runs only on Windows), I have the latest OS version (Ubuntu Intrepid Ibex 8.10) on my primary home machine. I resisted having a cell phone for quite some time before finally jumping on the bandwagon in 2003. Even then I have pretty basic cell phone which is used as a - surprise! surprise! - phone to call people. No blackberry, no iPhone, no Android, no nothing. We don't have a LCD or Plasma TV, mostly because we don't need it. We don't watch TV or movies that much. 90% of time, our TV is playing either Baby Einstein DVD or PBS Kids show. Our DVD player is a $25 Coby. My home theater is a 8-year old system. My Bose Acoustimass speakers are sitting comfortably in the closet, gathering dust. Five-and-half-years since we have moved into this house, I didn't get energy, urge or serious nudge from Paramita to hook those on. On the social networking side, I have got onto Orkut after a having a dormant account for quite a while, thanks to Paramita for finally making me active there. But that's been almost one-and-half years. By that time most of my friends there have moved on to the greener pasture of Facebook. I have too. But only recently. And I am still trying to figure things out there. Now I see people are using Twitter. I guess, it will take me at least an year or two before I get on to Twitter.

The reason I started this post is, I think the best thing that have happened in last two years on the Technology side, as far as I am concerned, is Pandora. It's really awesome. Those who haven't yet found Pandora: it's a Music Genome Project. The site says:
Together we set out to capture the essence of music at the most fundamental level. We ended up assembling literally hundreds of musical attributes or "genes" into a very large Music Genome. Taken together these genes capture the unique and magical musical identity of a song - everything from melody, harmony and rhythm, to instrumentation, orchestration, arrangement, lyrics, and of course the rich world of singing and vocal harmony. It's not about what a band looks like, or what genre they supposedly belong to, or about who buys their records - it's about what each individual song sounds like.

So the idea is that you start with one of your favorite songs. Then based on the musical attributes of the song, Pandora will select other songs. For each song, you can tell Pandora whether you like this song or not, thereby 'training' Pandora to your taste. You can create 'Radio Stations' based upon this song. A 'Radio Station' can be created by Artist or by Genre too. There is a cool feature called Quick Mix, which is basically a random play of songs from Station you have selected.

It's really easier to experience and experimet with Pandora than explain how it works. You need a registration for creating Stations. But registration is free and require very little information. However, there is one caveat. The service is only for North American audience. I understand that is due to some licensing issue. If you are in North Americal (or have an North American IP address ... wink wink), go there and have some wonderful musical experience.

Thursday, January 08, 2009

I live in the San Francisco Bay area. We have a pretty sizable Bengali population from both West Bengal and Bangladesh. I guess there are a few Bengalees from Tripura as well, though I personally know none. With this population, and mind you most have quite a bit of disposable income, it is quite sustainable to run at least two restaurants serving traditional and modern Bengali food, one would think. But in reality, there is none. In my 10+ years stay in this area, I have seen a few restaurants come and go. First there was Charulata. It closed doors after running for less than a year. Then came Cafe Dhaka. They had a longer life. I think it ran for about 4 years before it went out-of-business. Actually there is Gulistan. As far as I know they are still open. But in all fairness, they are more famous for their North-Indian and Pakistani cuisine than Bengali food. We have tried the place a couple of times. In our opinion also, their Lamb Chops are better than their Ilish preparation.

Last year-end, while we were in Los Angeles, we tried Aladin - LA's Bengali restaurant.

My general observation for all these restaurants is that the food is mediocre, at best. That, too, lacks consistency of quality. One day your Shorshe Ilish is so delicious that you rush back next weekend only to find a different tasting Shorshe Ilish that is so, um, bad that you would think that you have come to a different place. Also, these places lack any characteristic decor (Charulata had the best decor among these, though that doesn't say much), some are outright dirty by western standard. The service is homely but unprofessional. Overall, not a good eating experience.

That makes me thinking, why Bengali restaurants do not make good business? I think, there are valid reasons from different level.

  • Bengali food is generally bland compared north Indian food. Bengali food requires developed palate. Compare Lau Ghonto with Aloo Gobi

  • Bengali non-vegetarian specialty is fish cooked in such a way that it keeps the fishy flavor, which is synonymous to smelly for non-initiated. Any place that cooks fish in Bengali way smells repellingly fishy

  • Bengalis want to eat only exotic or semi-exotic items in Bengali restaurants. I have heard Bengalis saying, "I can cook and eat those daal and lau ghono at home. Why would I pay for those. I will go to a restaurant to have Paturi, Daab Chingri, Koi Gonga-Jamuna. If insisted I can even try Shorshe Ilish, but that better be excellent."

  • Bengali entrepreneurs who take the risk of opening these restaurants ignore aspects of a restaurant business other than the food quality. There also they try to cut corners. Without requisite amount of cash infusion to put up a comfortable place with good service and food, its hard for Bengali restaurant business to run successfully. If you have a already established cuisine with unlimited pool of customers who are addicted to that kind of food, you can forego the frills. Take Pakistani-Indian restaurants like Shalimar, Pakwan for example.


I would say, if you want to start a Bengali restaurant go with a good investment and for a longish haul. Hire the best Bengali cook. Get him or her from India or Bangladesh. Don't just make your mother-in-law toil in the kitchen pretending to be the head-cook. She may cook excellent Mochar Ghonto, but she definitely lacks training to manage and run the show in a busy restaurant. Set up a good ambiance. Use good plates and silver. Have enough and properly trained servers and busboys. Get a trained manager and steward. Make it a legitimate business instead of looking at it as a part time source of extra income with some spare-change investment. Respect the business and get the respect and patronage of the customers.

Wednesday, January 07, 2009

Don’t Read This …

... instead, read Robert Fisk in The Independent - Why do they hate the West so much, we will ask. What I wanted to say and could not, is there.

...

As we are entering into the new year, the news and life is bleak all around. This is particularly true for the people in Gaza. They are a hapless victim of a lethal pounding from Israel. What Israel is doing in the name of 'self-defence' is totally and absolutely unacceptable to any person of rationality and conscience. This is not to condone the behavior of Hamas, but a much bigger blame must be affixed to Israel. But I guess this is somewhat expected from a aggressor and occupier like Israel.

What is more unacceptable to me is US foreign policy towards Israel and Palestine. In 2008 Israel was the recipient of the biggest chunk of US aid. 2.4 Billion. "Virtually all of this money is used to buy weapons (up to 75% made in the U.S.). Beginning in 2009, the U.S. plans to give $30 billion over 10 years." (Source: Parade magazine) I have tried to figure out the reason for this uncritical and total support of Israel from US, especially if we remember the English statesman Lord Palmerston's aphorism that "Nations have no permanent friends or allies, they only have permanent interests." It is true that US has to have a strong ally in that region. It's strategic importance is too high to ignore for US. Israel fulfills that requirement. However, it has also become quite clear that the blind support of Israel and its aggression is given rise to a deep hatred towards US. Not only in that region alone, but all around, especially with such a blatant nonchalance from Israel's part when more than a quarter of the victims are civilians, mostly children. Israel-Palestine issue has become a very potent tool for separatists and terrorists to recruit and deploy youths all around the globe - be it Middle East, Afganistan, Iraq, Pakistan or Kashmir. In the final tally, a blind support of Israel's aggression retuns a negetive balance to USA's foreign policy balance sheet. I guess, US can still support Israel and it's existence and still maintain some semblance of balance. It may not be an easy task. But the deplomats and the elected officials are not selected or eleced to do easy tasks.

Monday, January 05, 2009

Fast food for thought

I just rebooted my office machine running CentOS 4.6, which is based on Red Hat Enterprise distribution. It was running for 121 days, i.e almost 4 months!!

Ubuntu Intrepid and vpnc

My company has a decent work-from-home policy. Every Thursday we can work from home. And most do, including myself. In addition to the regular Thursdays, we work from home whenever there are project deadlines - which is almost always. Hence, to have a solid VPN connection is a must for me.

My last non-Ubuntu desktop was Fedora. I compiled the Cisco vpnclient and used it without a problem. When I switched to Ubuntu Edgy (6.10) I started using the open source vpnc which worked quite nicely. The upgrade to Fiesty (7.04) and Gutsy (7.10) worked fine too. But from Hardy (8.04) the problem of dead-peer-detection raised its ugly head. There were patches available, but that didn't solve the problem for me. I was looking forward to the Intrepid (8.10) release hoping the the vpnc issue will be resolved for good. After Intrepid was released there were contradictory reports about whether the dead-peer-detection issue has been resolved. I decided to test it out myself. So I upgraded to Intrepid.

vpnc can be used from command line, or else one can install the vpnc plugin for the network-manager (nm) and control the vpnc connection from the network-manager applet. Until now, I have only used the command-line. But this time I have tried both for testing. This is what I have found:

  • The dead-peer-detection issue is solved both in the command-line client as well as network-manager plugin when you pass the dead-peer-detection interval value 0 to the command-line program or check a box in the network-manager plugin.

  • network-manager plugin has a bug that overwrites the resolv.conf when the VPN is disconnected. I am forgetting what exactly is the nature of the bug, but basically it didn't revert back to the original resolv.conf after VPN session ended. The bug may only be for the static IPs.

  • Even if the dead-peer-detection issue was resolved, my VPN connection would just stall for a minute or two before continuing after I have typed about 10-15 characters in my SSH window. And this repeats over and over again. Googling the problem suggests something to do with routing table and/or DNS lookup. I tried different things for a while but none could resolve this issue.


At last I gave up and went back to the proprietary cisco vpnclient. I compiled and installed it following this post. Since then I am having a smooth VPN ride. I would love to go back to the open source vpnc client, but not at the expense of stability of connection. I need to earn my bread.