White Water Rafting

With sunny summer days around in the month of June, a friend of mine decided to arrange for white water rafting trip.  Having never done it before, it seemed like a really swell idea and I agreed to do it on a Saturday morning.

We drove to Lotus camp near Placerville, CA early in the morning from San Jose.  The company that provided us services for the day was Action Whitewater Adventures.  Our guide was a cheerful Costa Rican named Marcello.  We had opted for a full day river and that meant rowing for nearly 3 hours at a stretch.  The water was really pleasant and the second part of the river contains some really cool Level 3 rapids.  We had fun the whole day with shoting and screaming and made some friends for the duration of the day who were on another raft but with the same company.  Groupon keeps giving deals for rafting and do keep an eye out for it as a full day of rafting, also including lunch, was about 90$.

At the end of the trip, Action Whitewater Adventures allows you to purchase pictures from the rapids for around 50$ for 1 rapid, 75 for 2 rapids and 100$ if you want to purchase all pictures.  There are some independent photographers around who charge a bit less than AWA, one example being Sierra Nevada Pictures.  Make sure to apply tons of waterproof sunscreen when you go because you will be mostly under the UV rays of sun and I had a severe case of sunburn on my knees.

We were super sore from the whole day activity and went over to Punjabi Dhaba, an authentic punjabi dinner place near I-80 of Sacramento.  We munched on the dinner buffet before heading back home and directly to bed to sleep.



Lastpass Password Manager

I was recently introduced to this Chrome browser extension called Lastpass.  This is a really handy extension that allows you to store passwords for multiple sites.  The advantage is that I have one single 20 character mixed password that I use to log into Lastpass and then using lastpass, I can generate passwords that are 50-100 characters and I don’t have to remember them.  It provides the following benefits:

  1. Extra security:  I no longer have to use the same password for multiple sites so that I remember it.
  2. Autochanging password: One of the nice features is that lastpass reminds you to change password every set duration.  This is useful for banking or applications that contain sensitive data
  3. Sharing passwords: I can share passwords with other users within my team without giving out my actual password and I can then change the password

I just love this service and you should also give it a try.  They have a free version that is really good and once you start using it, you can upgrade to the premium service that is 12$ a year.

Captain America : Civil War Review

**** Star movie!

Captain America: Civil War could very well have been named Avengers as it includes one and all from the Marvel universe.  We have Captain America, Iron Man, Ant Man, Spider Man, Black Panther, Bucky or the Winter soldier, Black Widow, Falcon, Hawkeye, War machime, Vision, and many more appear in the movie.

Captain America wants to save Bucky and Iron Man wants to kill him.  There is another trajectory about the government wanting to possess more control over the Avengers as they have had some civilian fatalities and there are a few that think that they are a hindrance if left to be on their own.  Russo brothers do an amazing job with direction and so does the cast.  There is a scene with Robert Downey Jr. as a teenager that has really good VFX as well as the sequence where the two sides fight each other at the airport is a nail-biting action sequence.  The starting chase scenes are also nicely done and there is no dull moment in the movie where you feel bored.

Lately we have had a lot of movies that are dark and grim with the superhero brooding over the meaning of his existence and it is a relief to have movies like Captain America Civil War bring a fresh perspective to superhero movies.  There are some really witty one-liners especially from Spidey, Iron man (as usual) and Ant-Man.

I would say the movie is a must watch for all superhero fans… Marvel has got movie making business perfectly taken care of and are bound to make Stan Lee millions.

The Spy: Movie Review

Spy (2015)

Spy Movie poster


Spy is a movie directed by Paul Feig and stars Melissa McCarthy, Jason Statham, Jude Law, Rose Byrne, Miranda Hart, Allison Janney and Bobby Cannavale in prominent roles.  It also stars Nargis Fakhri in a guest role.

The Story

Melissa McCarthy plays Susan Cooper, a CIA analyst who goes into the field following the disappearance of a suave super-spy portrayed by Jude Law.  Statham played an overconfident yet clumsy spy and Cannavale plays a villain along with .

A suitcase nuke has been stolen by a gangster, who gets accidentally shot by Jude Law.  This means that the only person left who knows the location of the nuke is his daughter.  McCarthy has to leave her desk job and play a super spy like Bond, which causes the funny moments in the movie.

The Good

  • Jason Statham in a surprise comic role is super funny.  His one liners are hilarious and his overconfidence always gets him in trouble
  • Melissa McCarthy shines in her role and provides ample of hilarious shots.
  • Peter Serafinowicz and his role of italian spy that is obsessed with making out with Melissa is also funny.

The Bad

I loved the movie too much to find any faults with it.  It was hilarious and funny and the only bad was too much cursing and lots of british accent.


Very funny and must watch movie not to be missed.  I give it 4 stars out of 5 (a star for Jason coz am a huge fan!!).

The Golden Gate Relay: A Run for Cause

It all began on the fine evening of February 28, 2012 at 4:50 PM with a simple note from Sriram, the VP of Engineering at my company asking a few of us if we wanted to take part in “The Relay”.

The Golden Gate Relay

The start line of the Golden Gate Relay

The Start line

The relay is about 191 mile relay race that begins in Calistoga, CA covering 36 cities and ends in SantaCruz, CA.  The race covers scenic trails across Napa Valley, Golden Gate bridge, Sausalito, San Francisco, etc.  Each member on a team of 12 has to run 3 legs of the race in rotation.  The legs range from easy to hard and could be between 3.5 to 8 miles in length.  The proceedings from the run benefit a Non-profit organization called Organs ‘R’ US and we were supposed to run for another Non-Profit organization called ILP (India Literacy Project) that promotes education in India.  As the relay is organized in the Bay Area, teams from different companies such as Google, Yahoo!, Facebook, Twitter, Netflix, etc all compete for the win.  The famed runner Dean Karnazes also runs the relay (Apparently, that guy has only one motive in life to keep running as written in this article on Cracked).  The relay was scheduled for May 4-5, 2013 this year, which gave us about 2 months to train.

I was really hesitant at first to commit myself to the relay.  I used to play Soccer in school and had a severe fracture in 2006.  I had to rest for about 4 months and had to undergo a surgery where the doctor had to join the bone using a titanium plate and got about 12 stitches in my leg.  I have totally given up on running or playing soccer since and am currently at a 200 pound weight mark.  However, in his note Sriram mentioned that you don’t have to be a runner for doing the relay and I fell for the trap 🙂

The Nomis Team

We were not able to get 12 people to sign up for the event and hence, the 12 people team consisted of 6 Nomis runners and 6 from Xilinx.  I don’t have enough information about the team from Xilinx but am outlining my team mates from Nomis here.

Sriram Kumar: The Leader
Like I mentioned before, Sriram is the head of Engineering and had done the relay quite a few times before with other people.  He had the most information about the relay among our team members and he was our team captain to handle Van 1.  He would be the one making sure all of us reached the handoff points on time, making sure to motivate each of us along the way, handing out Gatorade / water / snacks to the runners and took part in driving the van.  Basically, the leader at Nomis was the leader of our team

Shashin Chokshi: The Youngster
A fellow Gujjubhai, Shashin is the lean mean running machine.  He was the youngest in our team and the most dedicated.  Coming from the product team @ Nomis, Shashin really helped in co-ordinating the practice runs and to check on people when they miss it.  He has done several different runs for charity over the past few years.

Krishna Ramamurthi: The Lord of Running
Krishna is the fastest in our Nomis team.  He was our go-to guy who was best equipped at the run with different kinds of socks, anti-inflammatory medicines, some awesome cream that just relaxed the aching muscles and a Lumia 920 that we used the most for navigation purposes.  He also fixed the headlamps and blinkers to use at night.  I think he did some sub-8 minute practice sprints in and around the city.  He told me to cut my toe nails before the long run, a simple step that I didn’t take and which is still causing pain 😦

Niranjan Shetty: The Motivational Runner
He is from the Analytics team, and did some good runs.  He never attended any practice runs and I didn’t expect him to be so good and he was the best person that motivated the team.  He ran with Sriram and me even after his strenuous legs to simply push the runner.  He also maintained a sub-9 minute pace that was really awesome as well.

Anand Ramasubramaniam: The SandBagger
Seriously, Anand ran the most in the relay for our team.  He did some 19 miles in total alone over the 2 days.  He swapped turns with me so that he had to run more instead of his regular run.  This guy showed no expression of fatigue or tiredness and would just plug his iPhone in his ears and keep running.  He had to take up the longest of legs in the worst weather conditions and still didn’t complain about it… Terrific job!!!

And lastly Me, myself: The Snail
Seriously, the running pace that these guys achieved I couldn’t even do it on a straight downhill road!!!  I was the slowest and the largest in the group, a very bad combination to begin with.  For me it was simply an achievement that I finished all my legs and didn’t back out (I did try to back out but thanks to the support and loud cheering of my teammates, I was able to finish all legs successfully).


The Experience

The relay is really awesome if I think of it now and was a great team building exercise.  Before the run we were supposed to pick up the van a day earlier from San Jose.  I totally messed up and ended up in a residential place @ Mountain view instead of the address in San Jose.  The street address was the same and that got me really confused and everyone else angry on my stupidity.  However, I drove crazily through the evening traffic on 101 and reached the rental place in the nick of time.  The first day started with all of us driving up to Calistoga and Niranjan starting his leg at 10:30 am in 89 degree F temperatures from there.  It was a really hot run and pretty strenuous with some uphill patches and yet he finished it quickly.  God bless the makers of Gatorade as without the awesome stuff, it would’ve been really difficult to stay hydrated in the heat.  I was the second runner and was already ready having done my stretches and was nervous with anticipation.  When the baton finally came to me, I did really dismal and just after running about 20 minutes, I was all exhausted and sweating profusely.  I was ready to throw in the towel and just drive to the next exchange point, but my teammates were so awesome that they kept cheering me on.  I finished at the end with a 15 minutes per mile pace.  I was really disheartened and even though no one showed any signs of anger, I just felt boy I brought the team down!  But then we had the lord of running take over and he finished the leg in the fastest time outpacing the other teams that went ahead.  Anand did a terrific job after of running 7 miles in the extreme heat!!

Nighttime was much better.  We had an awesome meal at Azzurro pizzeria.  The temperature dropped down a bit and was way more fun to run.  I had a 5 mile run at night and I did a better average of 13 min/mile.  Not at all something to be proud of but I was glad that I finished it and actually ran it instead of simply walking it.  The leg was through a deserted trail and hence, no support from the teammates was available for a larger distance.  I actually lost my way in between that brought down my pace a bit more 😦

After finishing the Leg at night

After finishing the Leg at night

The best part of the trip for me was driving the van.  I did most of the driving and I really loved that huge van with capacity to seat 12.  Even with sore muscles, driving always ends up giving pleasure.  The second best part of the race is the feeling you get when you finally end your legs.

After finishing all of my runs

After finishing all of my runs

As soon as you see the exchange point, it injects a new lease into your legs and you sprint towards the finish line.  Also, the camaraderie was good between all the runners and everyone would look out for others.  We would not only cheer our team but all the runners that would go by and we saw the same sort of encouragement coming from the other teams.  Lastly, before my last leg, A couple, Ajay and his wife, volunteering for the ILP project, brought all ILP teams awesome Samosas, Tea and upma with jalebi.  It was the best snack at the end of an arduous run.  We finished strong with Shashin and Sriram doing an all uphill run with approximately 9 minute pace.  Sriram’s sprint in the last 5 minutes on his final leg was terrific and Shashin’s support was commendable.  I mean after running uphill for even 0.5 miles, I would be dead and this guy ran his 5 miles uphill and then ran alongside Sriram to motivate him… Unbelievable!!  After the relay, we went to Madras Cafe for some hearty South Indian meal, dropped off extra stuff at Sriram’s place and boarded a train home.  BTW, a big thank you to Sriram’s family for having us dirty, stinky people into their place and serving us awesome cookies and tea 🙂

After the relay, I got some bengay and advil and just slept for about 12 hours!!  We actually didn’t do bad and ended up being the 135th rank out of 180 teams that participated.  Next year, if I improve my performance we can do even better and hopefully, I will be running again unlike my claim that this is the first and last time that I am volunteering for such a run 🙂  The donation page is still up @ http://www.ilpnet.org/ILPRelayFundRaising/169  Please donate for promoting literacy in India and help feed and educate children.

MiO Liquid: Water Enhancer

I have been watching the television ads for the MiO liquid enhancer for quite some time but never felt the need to try it out.  However, the ads are pretty cool with people adding MiO to water after a workout or just for taste.  Recently, on my visit to Safeway for grocery shopping, I saw the small bottle tucked away in the corner and I just wanted to try it out.  The front claims that this small pack consists of Vitamins as well and so no harm in trying it out.  There were many flavors available but to be safe, I picked Orange Tangerine.  I have realized that Orange flavor is something that people hardly screw up and it is a safe bet.

The Packaging

The MiO comes in a plastic bottle that allows for easy squeezes of the liquid onto the glass.  It seems like a water droplet at first glance and the small size allows to easily carry it around in your pockets or gym bags.  The package is cute and sexy simultaneously   The lid on top is also very tight and doesn’t flip open by mistake.  This prevents occasional unwanted drips that I have experienced with several other products.  Also, carrying this small pouch is preferable to carrying a full bottle of vitamin water or Gatorade kind of liquid.  The labels are very vibrant and stylish and you can easily guess some of the flavors by looking at the color of the M on the front.

The Taste

I personally squirt one squeeze into my water bottle of about 500ml.  The taste is very similar to TANG Orange available in the market.  However, the advantage this has is it is liquid and it dissolves very fast and easily.  The drink is uniformly flavored and I also love the colors when it is still dissolving.  The pattern of colors is very nice. I also like adding a few drops in my green tea and sipping it at leisure.  However, I did notice that adding more of it causes the taste to degrade and throat starts feeling itchy.  After a few practice drinks, you will find the taste that best suites your buds.  I am gonna try the Mango-Peach next.

I would really recommend this product and am gonna try out more flavors soon.  The taste is much better than powdered flavors and it dissolves easily with just one shake of the bottle.  So, Grab a MiO for $3.99 flip it, tip it and sip it  😀

JavaScript Associative Arrays

Javascript Associative Arrays

Lately, I have been getting my hands dirty with teeny weeny front end programming.  I kept pestering my managers and lately they have started assigning bugs to me so that I can learn more while fixing them.  Today, while at work a weird bug came to our notice.  We were using arrays to store some information and every time the page was accessed in a different manner, the ordering would change.  I turned the pages of my reference book but it was of no help.  Finally, I walked up to my superior’s desk and spoke to him about the issue.  He took a look and after some research figured out “D’Oh this is because you are using Associative Array!!”  My exact response was “What the hell is that??”

So, I went forth as a brave warrior into the darker realms of javascript, seeking the help of my guide in distress GOOGLE!  Jokes apart, below is a summary and explanation of this new kind of animal in the JS zoo 🙂


Most of us who begin learning javascript have come across the regular array notations.  Array can be defined in many ways as follows:

var Array = new Array();
Array[0] = "Apple";
Array[1] = "Ball";

You can also define arrays as follows:

var Array1 = ["Lincoln","Ford","Honda"];
var Array2 = [1,2,3,4];
var Array3 = [1,"Apple",'s'];

As you can see above, Arrays can store numbers, strings or combination of both.  An array that stores combination of these data is known as heterogeneous Array.  However, one thing to notice here is that all these arrays store values in the form of integer index.  For example, if I want to access Apple from Array3 above, I will access it using Array3[1].  Basically, In Array3, the integer 1 is stored at index 0, “Apple” is stored at index 1 and ‘s’ is stored at position 2.  These Arrays are integer index based starting with integer 0.

Associative Arrays

Now coming back to the topic at hand.  In simple terms, Associative arrays are arrays where instead of having integer based indices, we use string indices!!  They are very much similar to hashmaps in a sense that they have string keys and values.  A simple example of this kind of Array is below:

var Array1 = new Array();
Array1["Name"] = "Lincoln";
Array1["Model"] = "MKZ";
Array1["Year"] = 2013;

In the above code, you can use a different notation such as Array1.Name = “Lincoln”; and so on. The methods and properties that you would use with regular Array variable is not going to work with Associative arrays. So, if I do Array1.length here, it is going to evaluate to undefined.  Neither will the push(), pop() and sort() going to work on this array.  In the issue that I defined in the beginning, I was using a sort() method with my associative array which never worked and neither threw any error in the code execution leaving me perplexed about the reason for the failing logic.  Also, regular for loop is not going to work here because Array1 has no integer based indices.  You will have to use for – in loop here as follows:

for (var keySet in Array1)
console.log("For property "+ keySet+" the value is : "+Array1[i]); //you can also output using Array1.i

Basically, keySet in the code above is going to iterate over all the different keys (indices) of Array1.  This approach is very similar to what we do for Objects and their properties.  You can also try practicing this on CodeAcademy website using their scratchpad.

I hope this was helpful information and please leave your comments if you liked the article.