Saturday, November 6, 2010

Last Working Day

Dear Colleagues,


Today marks the culmination of my tenure at Wipro. And as oxymoronic as it may sound, I can’t help feeling this sweet sorrow as I brace myself up to leave port and embark on a new endeavor and bid adieu to this place that has been like a second home to me.


The past two years have been extraordinary. I still remember the poignant days from my first assignment here when we had to push the envelope each day to break new ground. The project called for immense commitment and copious sacrifices and the team willingly obliged. That included not only burning midnight oil to meet the tight deadlines but also, and most reluctantly, cancelling a New Year trip to Goa. But all is well that ends well. The inchoate hitches notwithstanding, our efforts eventually came to fruition and the project was a grand success and the compunction of not taking that trip to Goa was gleefully forgotten (I did eventually bunk office and took that trip afterwardsJ ). Had it not been for Chandra’s immaculate planning and Gaurav’s and Sudhir’s technical dexterity, it is beyond a shadow of doubt to assume that what we accomplished would never have been imaginable.


Life was a joy ride back then and I was cruising along briskly until I hit a brick wall. The devil-may-care attitude that I wore with mocking nonchalance came crashing down when I was diagnosed with cancer. In that one unfathomable moment I saw my entire life fall into pieces like broken glass. It was a life-changing event that veritably turned my perspective about everything on its head. I was shattered and devastated and distraught but I found great solace in the comforting words and gestures of my colleagues and friends who still believed that cancer could be beaten and that I deserved a second chance at life. They kept my faith up even when I was languishing in the vortex of despair. I wish to thank everyone here in Wipro for standing by me in those turbulent times.


I also wish to extend my heartfelt sense of gratitude to my superiors especially Chandra, Rajesh, Satyan, Nags, Sudhir, Gaurav, SriVidhya, Kotresh and Murali. Thank you for believing in my abilities and giving me a platform to showcase my skills. I did my best to stand up to your lofty expectations. I hope you enjoyed having me here as much as I enjoyed working with you. I sincerely believe that it was your commitment to quality, far-sighted vision and unwavering determination that propelled the project to the success that it eventually achieved. The people in the TED/HR department also deserve mention here, especially Jayshree. She single-handedly brought my affairs into order when I was ill. Despite the initial problems I was having with my insurance, she eventually sorted out everything. Thanks Jayshree. All the very best to all of you.


Special thanks are due to some of the most wonderful and fascinating friends I met here. Deserving special mention amongst these are Anuradha, Sudipta, Ashok, Aparajeeta, Manish, Amiya, Amar, Manoj, Jayaram, Badrish, Anil, Lalit, Dev, Sowmya and Anju. You guys are terrific and you are my most prized possessions. If I were to thank each of you individually, I'd have to write till eternity. So, let me cut the long story short and just say that I could always count on you no matter what. I wouldn't be the person I'm today without you. If I were to sift out the single most precious take-away from here in Wipro, it would be you. Your presence lends meaning to my life. Thanks. I wish nothing but the very best for you. Saying good bye to you feels just like another session of chemo. I'll miss you.

Finally, I wish the company a successful undertaking and a long lasting success.

“May the road rise up to meet you.

May the wind always be at your back.

May the sun shine warm upon your face,

and rains fall soft upon your fields.

And until we meet again,

May God hold you in the palm of His hand.”

Good bye.

Tuesday, August 17, 2010

Confessions of a motorist

Driving in India For the benefit of every Tom, Dick and Harry visiting India and daring to drive on Indian roads, I am offering a few hints for survival. They are applicable to every place in India except Bihar, where life outside a vehicle is only marginally safer.


Indian road rules broadly operate within the domain of karma where you do your best, and leave the results to your insurance company. The hints are as follows:

Do we drive on the left or right of the road?

The answer is "both". Basically you start on the left of the road, unless it is occupied. In that case, go to the right, unless that is also occupied. Then proceed by occupying the next available gap, as in chess. Just trust your instincts, ascertain the direction, and proceed. Adherence to road rules leads to much misery and occasional fatality. Most drivers don't drive, but just aim their vehicles in the intended direction. Don't you get discouraged or underestimate yourself except for a belief in reincarnation, the other drivers are not in any better position.

Don't stop at pedestrian crossings just because some fool wants to cross the road. You may do so only if you enjoy being bumped in the back. Pedestrians have been strictly instructed to cross only when traffic is moving slowly or has come to a dead stop because some minister is in town. Still some idiot may try to wade across, but then, let us not talk ill of the dead.

Blowing your horn is not a sign of protest as in some countries. We horn to express joy, resentment, frustration, romance and bare lust (two brisk blasts), or, just mobilize a dozing cow in the middle of the bazaar.

Keep informative books in the glove compartment. You may read them during traffic jams, while awaiting the chief minister's motorcade, or waiting for the rainwaters to recede when over ground traffic meets underground drainage.

Occasionally you might see what looks like a UFO with blinking colored lights and weird sounds emanating from within. This is an illuminated bus, full of happy pilgrims singing bhajans. These pilgrims go at breakneck speed, seeking contact with the Almighty, often meeting with success.

Auto Rickshaw (Baby Taxi): The result of a collision between a rickshaw and an automobile, this three-wheeled vehicle works on an external combustion engine that runs on a mixture of kerosene oil and creosote. This triangular vehicle carries iron rods, gas cylinders or passengers three times its weight and dimension, at an unspecified fare. After careful geometric calculations, children are folded and packed into these auto rickshaws until some children in the periphery are not in contact with the vehicle at all. Then their school bags are pushed into the microscopic gaps all round so those minor collisions with other vehicles on the road cause no permanent damage. Of course, the peripheral children are charged half the fare and also learn Newton's laws of motion en route to school. Auto-rickshaw drivers follow the road rules depicted in the film Ben Hur, and are licensed to irritate.

Mopeds: The moped looks like an oil tin on wheels and makes noise like an electric shaver. It runs 30 miles on a teaspoon of petrol and travels at break-bottom speed. As the sides of the road are too rough for a ride, the moped drivers tend to drive in the middle of the road; they would rather drive under heavier vehicles instead of around them and are often "mopped" off the tarmac.

Leaning Tower of Passes: Most bus passengers are given free passes and during rush hours, there is absolute mayhem. There are passengers hanging off other passengers, who in turn hang off the railings and the overloaded bus leans dangerously, defying laws of gravity but obeying laws of surface tension. As drivers get paid for overload (so many Rupees per kg of passenger), no questions are ever asked. Steer clear of these buses by a width of three passengers.

One-way Street: These boards are put up by traffic people to add jest in their otherwise drab lives. Don't stick to the literal meaning and proceed in one direction. In metaphysical terms, it means that you cannot proceed in two directions at once. So drive, as you like, in reverse throughout, if you are the fussy type. Least I sound hypercritical; I must add a positive point also. Rash and fast driving in residential areas has been prevented by providing a "speed breaker"; two for each house.

This mound, incidentally, covers the water and drainage pipes for that residence and is left untarred for easy identification by the corporation authorities, should they want to recover the pipe for year-end accounting.

Night driving on Indian roads can be an exhilarating experience (for those with the mental makeup of Chenghis Khan). In a way, it is like playing Russian roulette, because you do not know who amongst the drivers is loaded. What looks like premature dawn on the horizon turns out to be a truck attempting a speed record. On encountering it, just pull partly into the field adjoining the road until the phenomenon passes. Our roads do not have shoulders, but occasional boulders. Do not blink your lights expecting reciprocation. The only dim thing in the truck is the driver, and with the peg of illicit arrack (alcohol) he has had at the last stop, his total cerebral functions add up to little more than a naught. Truck drivers are the James Bonds of India, and are licensed to kill. Often you may encounter a single powerful beam of light about six feet above the ground. This is not a super motorbike, but a truck approaching you with a single light on, usually the left one. It could be the right one, but never get too close to investigate. You may prove your point posthumously. Of course, all this occurs at night, on the trunk roads. During the daytime, trucks are more visible, except that the drivers will never show any Signal. (And you must watch for the absent signals; they are the greater threat). Only, you will often observe that the cleaner who sits next to the driver, will project his hand and wave hysterically.

This is definitely not to be construed as a signal for a left turn. The waving is just a statement of physical relief on a hot day.

If, after all this, you still want to drive in India, have your lessons between 8 pm and 11 am-when the police have gone home and The citizen is then free to enjoy the 'FREEDOM OF SPEED' enshrined in our constitution.

Monday, October 13, 2008

Valediction

Dear Co-workers and Managers,

I'm fighting the jarring dissonance of myriad thoughts as I set myself up to write this final memo. As absurd as it may seem, I can't help feeling vehemently nostalgic at having to bid adieu to my first company, and also, concomitantly, I can't help feeling ecstatically rhapsodic in eager anticipation of a wonderful journey I am waiting to embark on.

From being inducted into the organization two years back to the present day, I've come a long way. It's been a momentous undertaking for me - one that has seen the crests of exhilaration and troughs of despair; fortunately, the crests have by far outnumbered the troughs. From the carefree indulging in the youthful exuberance during my training days in Mumbai, to learning to cope with the vicious pressure of meeting deadlines, life has indeed come a full circle. And before I depart from here, it only befits that I give credit where it is due.

Foremost, special thanks are due to some of the most wonderful and fascinating people whose ingression into my life helped me see life in a new perspective. Deserving special mention amongst these are Abhishek, Amit, Amrita, Anil, Anitha, Bishnu, Chirag, Lalit, Mudita, Nancy, Neeraj, Piyush, Vanshika and Writu. If I had to thank each of you individually, I'd have to write till eternity. So, let me cut the long story short saying that I could always count on you, which kind of makes me think that I must have done something genuinely angelic to deserve guys like you. I wouldn't be the person I'm today without you. Your presence lends meaning to my life. Thanks. I'll miss you.

My thanks are long due to Mr. Manojkumar Khandelwal. Of late you've been looking despondent, which I would probably attribute to the anguish of watching your stocks plummet in the wake of the recent meltdown in the stock market (deliberate pun intended). I hope your stocks resurge with an even greater force than with what they went down. Apologize if I took liberties with you, but it's only you with who I could take liberties with. Despite me being several years junior, you always treated me like a friend. Your presence will be terribly missed. Have a wonderful life ahead.

Also, I wish to extend my heart-felt sense of gratitude to my managers and co-workers for showing faith in my abilities and providing me a platform to showcase my skills. Special thanks to Mr. Raghunandhan Kadirvelu, my on-site project manager. The fact that the project was a plain sailing right through could be majorly attributed to your perspicacious competence. I'll regret not meeting you in person. It was an honor to work under you nonetheless. Thanks.

And, last but not the least, thank you, Mr. Srinivasan Ranganathan for giving me the opportunity to make that presentation to Flowserve (if you can still remember). I'll never forget you walking up to my seat (after the presentation was over), shaking my hand, and then uttering, "Great job, Chief. I'm impressed" - undeniably, a magnanimous gesture from you and a remarkably proud moment for me. I still savor that moment and always will. You never fail to dazzle me with your sophistication and pristine demeanor. Thanks.

Finally, I wish the company a successful undertaking and a long lasting success.

Once again, thank you very much. Good bye.

Sincerely,
Sankash Thakuria.

Friday, September 26, 2008

Creating customized partnerlink bindings for deployment in different environments

The problem
Every BPEL process has a bpel.xml(deployment descriptor) file that provides information about the partners the BPEL interacts with. It does so by providing a partnerLinkBinding tag for every web service that the process invokes. Essentially, this tag gives the absoulute location of the WSDL file that is referred to by that partnerlink. A typical binding looks like this

<partnerLinkBinding name="SayHi">
<property name="wsdlLocation">
http://nebulasky.blogspot.com:7777/orabpel/develop/SayHiService/1.0</property></partnerLinkBinding>

Notice that the WSDL URL contains tokens like host, port, domain and revision of your web service. Since these values will differ in different environments(development, test, and production), your partnerLinkBindings too will change for different enviroments. A typical solution would be to have different bpel.xml files for different environments. This is the easy way but cumbersome and error-prone.

The solution
Fortunately, there is another way and which is much more simple. A customize ant task is provided that enables you to specify the property value for development and production environments in a single build file location. The customize task captures the changes between different versions of bpel.xml using the build file. This task can be used as a subtask of bpelc or as a standalone ant task. This is the subject matter of this post.

Customize Ant Task
Follow these steps to achieve the customization.

1. Create a custom build.xml under the bpel directory of your project folder. Here you will specify WSDL URL contains tokens like host, port, domain and revision of your web service. Here is how the new build.xml will look like.

<?xml version="1.0" encoding="iso-8859-1"?>
<project name="bpel.deploy" default="compile" basedir=".">
<target name="compile">
<bpelc input="${basedir}/bpel.xml" out="${process.dir}/output" rev="${rev}" home="${bpel.home}">
<customize>
<partnerLinkBinding name="SayHiService">
<property name="wsdlLocation">
">http://${host_name}:${port_number/orabpel/${domain_name/SayHiService/${rev}/SayHiService?wsdl</property>
</partnerLinkBinding>
</customize>
</bpelc>
</target>
</project>

2. Specify values for the host name, port, domain name, and process revision properties in the SOA_Oracle_Home\bpel\utilities\ant-orapbel-properties file. Here is an extract from the

file.host_name=nebulasky.blogspot.com
port_number=7777

domain_name=develop
rev=1.0
# --------------------------------------------------
# END OF FILE

Now, this is the only file you need to edit to take care of BPEL process migrations among various environents.

3. Go to the main bpel.xml file located under the project folder and specify a new target to override the one that is already there in this file. Here the target name of compile is changed to compileTest.

<target name="process-deploy" depends="validateTask, compileTest, deployProcess, deployTaskForm, deployDecisionServices" />

Now you need to create a new target by the same name(compileTest) in the same file. Within this you will provide the location to the custom build.xml file you created a few steps before. This way you shall override the target that already exists in the old build.xml file.

<target name="process-deploy" depends="validateTask, compileTest, deployProcess, deployTaskForm, deployDecisionServices" />
<target name="validateTask">
<validateTask dir="${process.dir}/bpel" />
</target>
<target name="compileTest">
<ant dir="${process.dir}/bpel"/>
</target>
<target name="compile">

4. Save the project. If you are using Jdeveloper in some other machine than the one where the application server is running, you need to transfer the project to the machine running the server. once this is done deploy the project using Ant. Fire up the developer prompt and navigate to the project directory and issue the following command

ant process-deploy

5. Go to the Oracle BPEL Console and ensure that the process was deployed successfully.