Saturday, November 1, 2014

Camping 2014

This summer we enjoyed a few of camping trips. First one was in the Bannerghatta National Forest in Bangalore. This was my closest encounter with tigers; the animals were within arms reach as we toured through the preserve in a secure jeep. The most thrilling event was when a pack of monkeys entered our room. We were sleeping on the bed and the kids were engrossed in the iPad. DS looked up casually he was horrified to find some five monkeys sitting near our bed . He screamed and woke us up. We all ran to towards the door to find it was stuck locked. The monkeys growled and came towards us. DH and DS together chased them away by swinging a large wooden chair. They jumped out of the window one by one. It was so amazing how they could sense the fear inside you. You have to be forceful and fearless. They sense it by just looking into your eyes and decide whether to attack or escape.


We had another incident with the monkeys. DS and DH entered into our room after lunch one day and found a bunch of monkeys sitting there and eating nuts. They had come in to our room while we were gone through an opening on one side of the tent, picked the bag of nuts from under the clothes in our suitcase, opened the ziploc carefully without ripping the bag and started eating the nuts. I wonder how the idiom 'korangu kayil maalai' came; they seem to have such nimble fingers.


Next trip was along the Brandywine river, PA. The river was beautiful in the morning as we cruised in our canoes. Certain sections of the river were shallow enough to get into the waters. The best part of this camping trip was our lunch. We cooked chicken dum biryani the traditional way with the coals. We pitched our canopy and enjoyed biryani as it poured all around us. The hot and dum (smoky) fragrant biryani was just the right thing do on a rainy day like that.  

The next camping trip was to Panther lake, NJ. The lake is stocked with trout and so we were excited about fishing there. We sat there on the rocks casting our rods and watching our reflection on the still waters. The fish there were really smart!! We saw the string being pulled many times but no fish got hooked on and the bait was gone. We even took a boat to explore the deeper sections of the lake but no luck. DS and me sat on the dock and watched numerous little fish as they gathered around the bait. They come closer, worked as a team to nibble and pull teeny bits from the ends and eventually got the whole worm off the hook. Oh! so smart they are. No wonder we didn't catch any. DS was running on the shores trying to catch fish in a bowl to pet. It was a perfect day to spend by the lake.


Another memorable event during this camping trip was when we sat around the campfire. It was pitch dark and quiet all around. Our group gathered around fire on that cold night. Suddenly we heard footsteps of something running towards us. Maybe an elephant or a dinosaur or something that sort - heavy and bulky footsteps were quickly approaching us. We pointed our flashlights all around but couldn't see more than just a few steps ahead. All the flashlights couldn’t break the blackness around us on that dark, dark night. Then the footsteps started to fade and we felt relieved. Whatever that thing was, it was moving farther from us. Maybe it was just a deer I said. DH said it is unusual for a deer to run like that in the dark. Maybe it was being attacked. By a panther? I remembered reading somewhere that panthers hunt at night. Also this lake is named Panther lake, maybe for a reason. In the next few minutes we packed up into our shelters.





Tuesday, January 31, 2012

On the way to school...

Every morning I rush my kids to school in order to get them in before the bell rings and the doors close. On the way to school I remember my old school days.


I remember the days when mommy would shake me awake and daddy would bring tooth brush and paste direct to my bed. I would wait impatiently outside my sister's bathroom because there was a spider inside mine. My grandpa would shooo away the spider for me. I remember the days when grandma untangled and braided my hair while I did last minute homework. And the days when mom braided on one side and grandma braided on the other side making my face uneven.


On rainy days grandpa would lay stones/bricks in the puddle of water in front of our house so that we can cross over without wetting our shoes. I remember the days that daddy searched my unorganized closet for a matching pair of blue ribbon to go on my hair and polished my shoes until it shine. Just before leaving the house grandma would remind me to never talk to strangers.


Mommy would cool steamed milk under the fan so I could gulp it in faster. I remember the days when I woke up to the aroma of potato poriyal and lemon rice that mommy packs for lunch. Just thinking about it makes me hungry anytime. Mommy would hand me a glass of water before I leave home every morning and ask me to wipe off my milk mustache.


Daddy would read out my physics formulas and check my pencil box on exam day mornings. He would also fill up ink in my pens. On days that our rickshaw didn't show up which was a common scenario, daddy would drop us in the scooter.


I remember the days when mommy watched us from the balcony and grandpa watched us from the street corner until we disappeared from their sight. And then suddenly I felt lonely for a minute as I stood in front of the school doors watching my son disappear into his classroom hoping he will turn back to wave a goodbye. Soon I realized I was late for work so ran back to catch the train.

Monday, January 30, 2012

What makes a good consultant?

I was implementing a certain business rule using a tool called Blaze Advisor. Nothing too complex just needed basic string handling functions to implement my rule. The tool's function library did not include a length function although it did have other string handling functions like substring, findstring, concatenate etc. I was mad that some advance functions were built-in but something as basic as the length function was missing.

I thought the tool was so useless. Why rules are implemented using Blaze? If this was a plain java implementation, we would have had so much flexibility. Hated and cursed the tool. No progress made, task was still open. Then did some research and found a simple trick to accomplish length function using substring and findstring functions. Here it is:

Let's say we want to find the length of String str1. Find a string str2 that will not occur within your original string str1. Append str2 to the end of str1 and assign the result to str3. At this point we have;

str1 = "..." // original string that you want to find the length
str2 = "..." // string that you know for sure will not occur in str1
str3 = str1 + str2


Now use findString() to locate str2 in str3. This should return the position of one character after str1 hence a minus one should give the length of str1.

str2pos = str3.findString(str2)
length = str2pos - 1 //length of str1


Pretty neat huh? This didn't need research, just some simple logical thinking. I told myself again: there is no such thing as a bug free product. Every product has bugs - known and unknown. Know your product; know the bugs, loop holes and most importantly your work arounds. That's what makes you a good product consultant.

Tuesday, November 29, 2011

Common Sense Problem Solving

Today a colleague came to my desk and said Microsoft Calculator application has a bug. It can divide 2704 by 51 but it cannot divide 2704 by 52. I opened the calculator on my desktop immediately to check this. 2704/51 gave me some result. But when I did 2704/52, it didn't give me any result. I clicked on ‘=’ again, now it showed ‘1’. I was so confused, why should Microsoft Calculator have a silly bug like this? My colleague said maybe it was implemented by a developer like me :) I was almost convinced that there was a real bug until someone from business walked in and explained 2704/52 = 52. That’s why it appeared like I am not getting any results.

I felt so embarrassed. It was very different to feel this side of the fence. Occasionally our users think that there is a problem with the system, business confirms the bug and prioritizes it, and IT even estimates it. A stereo typed developer by now will be putting a nice big band aid thinking that there is a boo-boo in the system. A common sense developer will be scratching his head wondering what to fix when there is no real boo-boo. I have to admit that I have done this mistake once before. I worked on a fix for weeks before we realized it was never broken in the first place. It is often hilarious to see IT going back to business to explain their own business process to them.

I am training myself to apply common sense to problem solving before digging into thousands of lines of code for answers.

Another issue I frequently encounter during problem solving is when the solution is presented to me before the actual problem. Let’s say the original problem is at point A, the solution as perceived by business is at point B. Based on the solution at point B, the problem as perceived by me is at point C. Plotting all these points on a graph will reveal a nice love triangle. Trust me, problem solving in this case becomes as adventurous and many times as unsolvable as a love-triangle. As a lazy developer, I hate to read design documents. On most of the rare occassions that I did read such a document, I have noticed solutions being stated as requirements.

I am training myself to never listen to solutions before I understand the actual problem.

Monday, September 12, 2011

Job Satisfaction

It was the last day of our stay in Paris. We were visiting Notre Dame. There was a long line of tourists around the cathedral waiting to enter the place. Getting impatient with the long wait we decided skip this tourist spot. We wandered through some of the densely packed narrow lanes. The streets were lined with street vendors selling souvenirs, sweets, pastries, colognes etc. The smell of fresh coffee filled the air.


At the corner of the street there was big crowd gathered around a vendor. As we got closer, we saw a man carving statues and figurines out of soft stones using some very basic tools. My son was very impressed with his work. He wanted us to buy one of the statues. I looked at the price on it and decided to walk away. My son insisted that I at least let him watch the man work. I agreed to it on one condition - I will not buy him anything from there. As my son was too engrossed in the art work, I thought it was time for me to do a quick round of shopping.


I came back after an hour thinking my kids will be cranky and my husband was going to yell at me for making him wait. But no - to my surprise! They were still at the same place where I left them; my son still keenly watching the man carve his stone. Many people stopped by to watch his work, some took pictures and walked away, some donated a few bucks and yet few others bought his sculptures. But no one stood there and admired his work for a longtime like my son.


It was a hot and sultry day. The man seemed exhausted but he didn't stop his work. His work progressed very slowly as he carefully rubbed out edges of the stone until it got the shape. Then he worked on the details using a small chisel. With no modern equipments just a basic tool set, it seemed like very tough work. The man took short breaks occasionally to provide some relief to his hands and fingers. He worked meticulously on sculpting a large piece of stone.


After a while, he put aside the large stone and picked up a smaller one. I was curious on why he changed his object. He worked on it for a long time. When he finished it, he gave it to my son. We insisted on paying for it but he refused it completely. He mentioned that he did not do it for money and quietly returned to his work on the larger piece.


The simplistic lifestyle of the man on the street corner taught me a valuable lesson - take break every day. Take a break every day from the normal routine tasks and do something that gives a sense of fulfillment in your job. Take a break every day and step out of the performance appraisal rat race to do something that makes you feel the powerfulness of your role – a feeling that no promotion can ever give. Take a break every day from the daily politics at work and do something that makes sense to you. Take a break every day from trying to get under the spotlight and do something that makes you feel proud of. It may not get you a promotion, it may not get you a raise but it will give you a great deal of Job Satisfaction.

Friday, May 13, 2011

Happy Mother's day 2011

Life is so hectic and mechanical, running between school to day care to work. Then weekends it is running between errands to kids classes to social activities. Sometimes I feel like if only I had a remote control that can fast-forward my life to the point when kids can take care of themselves and be independent...


Other times I feel like life is so stagnant and boring. I just want to take the remote control and rewind back to the time when I was a kid. School life, college life, first years of love, first job, traveling life - always exciting. Just feel like doing all over again.


But today, I feel like pausing at this very moment. I wish life can be stand still because I will miss my kids consuming all my time when they grow older. I don't remember what I did with all my time before they were born and I don't know what I would do with all my time after they grow up.



My son gifted me with his hand prints and this beautiful poem:



" Sometimes you get discouraged
Because I am so small,
And always leave my fingerprints
On furniture and the walls.
But everyday I'm growing,
I'll be all grown up someday,
And all those fingerprints
Will surely fade away.
So here is my handprint,
Just so you can recall,
Exactly how my fingers
Looked when I was very small.

Happy Mother's Day 2011"


Monday, April 18, 2011

Lessons from a Kid

I was busy clothing-shopping at my favorite store with my son. He saw some random toy and asked me to buy it. This has become a routine for him. Everywhere we go he throws out a tantrum for toys. After buying it, the kids fight over it for the first five minutes and then its charm is gone. It is then lying around in the most irrelevant places, occupying most precious space in the tiny house that we dwell in. Finally when I am on a rare cleaning spree, it is thrown into the basement.


Toys have been mere waste of money, so this time I was very stubborn that I wasn't buying it. He began pleading - "just this one time mommy, please. This and the basket ball and that's it. I won't ask for anything else, he said. I know it is not going to be the last time he is doing this. He was quickly losing temper as I refused to buy it for him.


Firstly I wanted him to realize that he can't get everything by just throwing tantrums. Secondly I wanted him to know the value of money and that we can't afford to buy all the toys in the world. Lastly, I wanted him to know that sometimes we are not going what we want and we need the courage to face it boldly. I was doing this for his own good.


But the argument continued. He begged, screamed, cried, rolled on the floor. Seeing that nothing worked, he started attacking sentimentally. He said "if you don't buy it for me then I will never go out shopping with you again". At this point, I was also frustrated so I said "I don't enjoy going out with you either". Then he said, "I am not your friend". I said, "I don't need your friendship, I have better friends than you". He was silent for a minute and then he said, "but I want to be your friend. I don't want the toy. Can I be your friend again?"


This time I didn't know what to say. I felt choking upon words in my throat, couldn't swallow it or speak it out. Here I am trying to teach the kid "value of money" but the kid just taught me "value of friendship". Somewhere along the big argument I had forgotten my priorities (did I even have one to begin with?) But even after the cries, screams and endless tears the kid had priorities set on his mind. I felt so cheap in front of the kid.


The next day I bought the toy on my way back home. I paid 15$ - felt even cheaper now. I was eager to show it to him, I wanted to see the joy on his face. But it turned out that he forgot the whole incident and gotten past it by then. While he was excited to see the toy, he wasn't overly thrilled by it. As usual, the first five minutes the kids fought for it. Then no one cared - the pieces in the set were all over the place. And it was my turn to clean up!