We begin this story in the middle.
Six of us have just clambered over last rocks onto the crater rim of the planet's highest free standing mountain. We felt like we were on top of the world, standing there with a cup of tea, with the sun rising behind us with Mawenze in sillhouette, a full moon on the western horizon and a cutting wind blowing from glaciers the next generation might not get to see. And for me & Kavi it was one hell of an anniversary!
The night seemed like a distant dream, from where we were. We'd started walking sometime before midnight, from School hut down in the east of the mountain. At first progress was slow and measured, legs freezing up as we took stops. Over the night we had left Navdha behind at Hans Meyer cave because she couldn't keep pace with the rest of us. She was going to make it too, but that was no place for waiting. We had to push on towards the peak on the west.
At Stella Point, we dropped off all our backpacks and headed up. Sleep deprivation was competing with the oxygen withdrawal at this point and with unsteady legs we got to the very top. Not that there's anything to see there, just a board and tickmark on your list. But it did mark a very important point in the whole trip. From this moment now, everything would be downhill.continue reading "Snows of Kilimanjaro"....
"Because it's there."
-- George Mallory (on climbing Everest)
Friday was my last day in Zynga.
Zynga has been a very different place for me to work in. Coming from Yahoo, where the tech folks had sway over the company, to a place where the product managers were the core of the company was jarring to say the least. But adapting to thrive, indeed succeed there has polished off a few rough edges that I had.
I've sat at the cliff's edge between what's management and the frontline. I've stared into the abyss and stared it down. I've seen exactly how incentives work and more importantly, when incentives tend to work against you. I've learnt to temper my competitive spirit to skip the usual pitfalls of meritocracy. I've understood how to work with people who are not engineers.
I've known the difference between talking & persuading. To effectively bring people over to your side of the debate - whether it is with statistics or merely by running experiments. In some sense this is more diplomacy than being technically right every time - but there's no value in actually being wrong. And I got better at saying No.
I've learnt what risk looks like. Very early in this "game", I learnt to play offense. To gauge a risk, take it and occasionally clean up afterwards if it blew up in my face. And in some sense that's the general motto around there. I became quicker at churning out a solution, battle testing it and minor setbacks weren't really a deterrant anymore. And I was brave.
I got to treat crisises differently. I was on the on-call rota. Instead of panicking and hyperventilating, I started treating them as merely opportunities to offer solutions. And in my spare time, I prepared for these crisises which turned out to be massively productive moments of innovation. I tried to get some of it opensourced, but a lot of it is locked up in the paperwork that I never finished.
I've had my moments of frustration too. There have been scenarios which were charged with egos and people politics, which are probably no different in any other workplace - people trying to play schedule chicken, folks trying to delay others with scope creep, territorial engineers telling me to keep off their turf & avoidable meetings where people duel with power point slides full of promises they can't keep. I've occasionally gotten demoralized about all that, but I've managed to move beyond that and build out a stronghold around me.
And finally, the best thing that's happened to me was working with the senior technical folks in the Bangalore office. People like Binu, Prashun, Prakash & Jayesh have been a big part of my development at Zynga. And not just them actually, the whole team is full of fun folks who don't really consider work as the end-all of their daily life.
It felt like I was part of an uber startup!--
The world hates change, yet it is the only thing that has brought progress.
-- Charles Kettering
I ain't trying to preach, I believe I can reach But your mind ain't prepared, I'll c u when u get there. I'd be a fool to surrender when I know I can be a contender If everybody's a sinner then everybody can be a winner. I'ma scuffle and struggle until I'm breathless and weak I done strived my whole life to make it to the mountain peak. Always keep reaching sure to grab on to something I'll be there when you get there with muted sounds bumping. We prefer to keep our eyes shut 'til it's right When there's something involved that we desire. So hold your head up high if you're poor and righteous I know times seem strife and problems seem endless. But at the times of despair we gotta put ourselves together And if you feel you're out of the game. Then you need to get back in it 'Cause nothing worse than a quitter. You gotta face responsibility one day, my brother So wrap up your pity and turn it to ambition. And put your vehicle in 'Drive' and stop by my side. As we walk down the road of our destiny And the time comes to choose which shall it be The wide and crooked or the straight and narrow. We got one voice to give and one life to live. Stand up for something or lie down in your game. Listen to the song that we sing. It's up to you to make it big I guess, I'll c u when u see me. I'll c u when u get there.
Lyrics from Coolio's C U When U Get There.--
It is not what we read, but what we remember that makes us learned.
It is not what we intend but what we do that makes us useful.
And, it is not a few faint wishes but the struggle that makes us valiant.
--Henry Ward Beecher
Nothing is ever perfect: Perfection is a quest, not a goal. Sometimes it feels good to be done with something, put it aside and move onto the next thing on your mind. It might be half-assed, but it is not just a thought anymore, it is out there. Bear in mind, it's also out there for people to criticize - but that's not a thing to fear. Carry on the quest though, but look for it in your life not in others.
There are shortcuts in life: Sure there are shortcuts, they rarely look like one. I'm lazy and that has made me look for these a bit more often than others. It took a great teacher to explain to me that education was what got him out of a hard life. Made the whole process look like liberation instead of the enslavement I used to blame the school bell for.
Rewards are not for effort or patience: You can't argue with results. The only time to talk about the effort is when it goes wasted.
Money is important: I wouldn't blame everything on money, but the lack of money is the root of some evils. Growing up in the wide middle class of Kerala, almost every limit in life I saw was about money. I know it can't buy everything, but removing that limit lets me focus on the things that can't be bought or sold - also known as the important things in life.
Luck is overrated: I think so. But who can really tell?
Never let fear stop you & never let greed drive you: I'm not exceptionally brave. But I've maintained the little inner strength I have by trying to reflect on my motives. And in cutting down the knee-jerk reactions to fear & greed, I've torn out the insecurities that fed my self doubt. No, I'm not afraid she will leave me and I'm not waiting for my next raise - I care that she's happy and I need the money, but I'm here to kick ass & chew gum. And I'm all out of gum.
Sometimes the right thing to do is to walk away: You don't have to win every fight. Trust me, you don't have the time to fight every loser who steps out. So don't start a fight you don't want to finish. And when it comes to true confrontation, be as Teddy "Bear" Roosevelt said, speak softly & carry a big stick. Whack him good.
You've been wrong before & you'll be wrong again: This bears repeating - being wrong is important. Just one advice - eating your own words is painful. Even more reason to make them sweet in the first place.
When you're wrong, change your opinion: What's the alternative?
Don't be a rebel, change something instead: I probably had my teenage rebellion way late. And it went about this by turning my world upside down and shaking it till everything that wasn't nailed down fell out. I thought I was watching the world fall down on me, but something else happened. And I came out of it armoured with purpose.
Intelligence and skill doesn't scale: Eventually there's just 24 hours in everybody's day. And I'm not going to put in all 16 hours into work - I have a life. But more importantly, I've learnt to work away from my loner approach to doing things (instilled by the student-beat-student education system) into doing things together. Cooperation scales way better and more easily. I wouldn't say this if I was Roger Federer, but I'm not.
You can't be anything you want: Nothing's stopping you from being all you can be. It'll take a while to figure out what limits we see are real and which ones are self imposed. Ambition will let you find that out, but that's when you need to take a reality check & cash it.
Everything's harder than you realize: Our society respects people who are "brilliant". In honesty, I can't really blame society for it when there's an easier target out there - The Karate Kid. Anyway, effortless was another word for brilliant. And I wanted some of that - so I tried to get that tag for myself. But in the process I learnt something, the things I love are easier for me. The sacrifices are easier and time just flies when I'm having fun.
Failure is OK, Defeat isn't: Sometimes you give up. Life's going to keep bringing up this topic, but the day I can't get up when life knocks me down, I'll be truly defeated. I plan to get out of this life undefeated.
Do not live in the present - tomorrow does come: It's a hellish momentary existence to live in the present forever. Hopes and dreams do not have a place in it, because there is no tomorrow. I've nearly killed myself to escape it & swore never to return there. I forever live in the boundary between days, sometimes wallowing in the past and sometimes pushing towards the future. Today is merely tomorrow turning into yesterday.
May not be much, but this took 10,000 days to come into being. And perhaps, just perhaps, I'm writing this down to read someday later.--
22,000 days, it's not a lot,
it's all you've got
-- Moody Blues
To put a price on a thing is an odd thing to do.
I've never sold my photographs. I'd dreamt of doing a photo exhibition. I wanted to do more than show them only to take them home afterwards. I wanted to do something good along with it - to auction them and raise money. I didn't know what putting a price on one would feel.
But before I wade into my moral dilemma, let me thank the people without whom this wouldn't have been possible - Kavita, Tharak, Kritika, Pooja & Vivek. These five people were the hands, feet, brains, heart and occasionally filled in for all the other organs that were needed. Kavi was the mastermind of this project. I might've taken the photographs but she put on this show. Tharak for all the posters & the artwork in the coffee table book. But my gratitude really goes out to the last three, who flew in from Delhi & stayed the whole week to help!
Back to my dilemma. It wasn't as if people were paying for the photographs. They were paying for a visually impaired student's future & education - that this framed photo was merely a glorified thank you card, from me to you, all paid-for by me. But it did feel like I was making a sale.
Until that point in my life, I'd marked a large number of my photos online as CC-BY. All anyone needed to do was connect my photo to the original upload & use it as they please. They ended up on song cover art, safari brochures, treehugger articles, wikipedia and god knows where else. And if I cared, it was only to know that they were of use to someone.
As an auctioneer, I was conflicted. I wanted to give everyone the picture they liked, but I had to push the price up for the cause. Bidding wars may push the price up, but they do so by denying someone their wish to take the photo home. I wasn't happy to call up someone and tell them they weren't getting their photo of choice - I wanted to prevent people from outbidding others. At the same time, I wanted to hit my fund raising target.
I felt like I was the bad person here, keeping people from having what they want - for money. Generating artificial scarcity for something that was still available at no cost - I felt like I had sold out. Felt like I was doing something morally wrong, cheapening the sensation of having raised a whopping 1.3 lakhs for mitrajyothi. I might be feeling a bit low about the auction, but that money is going to go do a lot more good to a lot more people. But I do have something to re-iterate about my photos and your right to enjoy them.
My Creative Commons photos have always been available for anyone to download - use one as your wallpaper, take a print & frame it or paint a copy.
Just leave a comment or something, so that I have a reason to keep uploading more.--
The essence of all art is to have pleasure in giving pleasure.
-- Dale Carnegie
Divide and conquer. That's how the web's scaling problems have always been solved.
And the tier scales out horizontally for a while. You scale the tiers and everything works. But sooner or later you end up with a different problem - latency. The system gets choked out with the interconnects, but the magnitude of the problem is just mind boggling.
Let's take a random example - imagine about 500 memcached servers, 1000 web nodes and 64 processes on each node. Simple back of the envelope math turns it into 32 million persistent connections going on at any given time. But I'm assuming the worst-case scenario - only because that's what's in production in most places.
The real problem is that the preferred scale-out approach for a web tier is a round-robin or least-connection based fair distribution of requests. That works great for read-heavy throughputs where the key distribution is not tied to a user session. But if you ended up with a scenario where you are operating on only one user's data per-request, the wastefulness of this scenario starts to become evident.
What I really want is to pick a web-node which is currently optimal for this particular user's request. The traditional approach is to pick a node and route all subsequent requests to the particular node and hope that I can do at least a few stale reads off the local cache there. We want to go further and pick an optimal web node (network-wise) for this user session. Since the data layer gets dynamically rebalanced and failed nodes get replaced, the mapping is by no means static. Not only is that an issue, strict pinning might cause a hotspot of web activity might bring down a web server.
The solution is to repurpose stateless user pinning as used by HAProxy to let the web tier rebalance requests as it pleases. We plan on hijacking the cookie mechanisms in haproxy and setting the cookies from the webservers themselves instead of injecting it from the proxy.
Here's how my haproxy.cfg looks at the moment
backend app balance roundrobin cookie SERVERID indirect preserve server app1 127.0.0.1:80 cookie app1 maxconn 32 server app2 127.0.0.2:80 cookie app2 maxconn 32 server app3 127.0.0.3:80 cookie app2 maxconn 32
That's pretty much the complicated part. What remains to be done is merely the php code to set the cookie. The following code is on each app node (so that "app2" can set-cookie as "app3" if needed).
$h = crc32("$uid:blob"); # same used for memcache key $servers = $optimal_server[($h % $shard_count)]; shuffle($servers); $s = $servers; header("Set-Cookie: SERVERID=$s");
As long the optimal_server (i.e ping-time < threshold or well, EC2 availability zone) is kept up-to-date for each user data shard, this will send all requests according to server id till the maxconn is reached. And it fails over to round-robin when no cookie provided or the machine is down/out-of-capacity. HAproxy even holds a connection to reroute data to a different node for failover instead of erroring out.
And nobody said you had to do this for every user - do it only for a fraction that you care about :)--
“Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal.”
-- Friedrich Nietzsche
And I'm concerned.
I'm concerned that she does not understand the difference between marriage and love. That she does not understand the difference between love and sacrifice. That she does not understand the difference between loving someone and living with them. That she does not understand that marriage is not the finish line for love. That she does not understand marriage takes more than love.
And the more I think about it - I'm even more concerned.
I'm concerned that her apathy towards her career will be the death of it. That she will end up being a homemaker, after having a gold medal from NLS. That she will end up succumbing to the social pressures of being a Mrs Somebody. That one day somewhere in her middle ages she would regret her simple surrenders. That if she's wilfully ignoring the springboard of opportunity that so many of her peers don't have. That she might be decieving herself into becoming the role model wife and bahu - and fail. That she'll lose something precious and ephemeral - the fire to burn as bright as you can.
And in some way, I'm saddened.
I'm saddened that whenever she explains her idea of relationships it is to suffer for the sake of her partner, to be with him whatever it takes at whatever cost to her potential. That I couldn't pass off my own ephiphany about love and relationships - that it took me further ahead than I could've done on my own. That my efforts to fulfil my dad's hopes for her weren't enough - simple enough as they were, to see her "breaking through the limitations society might impose". That she won't see that in some way or the other, I've been on her side for twenty odd years in the case of Sister vs The World, 1986-present.
I'd don't think I'll ever stop being concerned about her - she's my baby (sister) too.
But in more than one way, I'm happy for her. And proud of her too.
She's marrying someone of her own choice - after six years of knowing each other. And it's happening out of co-operation between both the families. She's doing this completely out of her own volition, dreams and desires - which is what will truly give her the strength to push through when push comes to shove.
Also, she's been known for making me look very stupid - which this blog post might do in a couple of decades.--
Marriage has some thorns, but the alternative has no roses.
-- Vernon K. McLellan
The last time I drove my bike fast was in June.
No, that's not true. I drove it fast today. Too fast, perhaps. But that leads me to another question, how fast is too fast? I'm not talking about the speed limits or the consequences of speeding. I find that my sense of speed is completely off depending on what I'm driving - I've hit 65 on a bicycle downhill, on a 75cc two wheeler, on a 350cc cruiser and of course, in various cars. The sensation is very different, but in reality the speed is the same. So, in a rather objective sense, can I tell my brain what my driving speeds really mean?
I've always been wary of heights - though not exactly when I've been climbing. I've jumped off enough tall things to have a sense of how it feels. Maybe that's the way I can explain this. Let's take 3 different speeds and work out how they feel - in "jumping out of the window" terms.
The calculations are rather trivial.
def height(v): g = 9.80665 # m/s^2 # convert to m/s vm=v*(1000/3600.0) # v^2 = u^2 + 2as s = (vm*vm)/(2*g) print "Height to fall from (for %d kmph) = %d metres" % (v,s) height(40) # = 6 m height(60) # = 14 m height(80) # = 25 m
Now, the numbers clearly indicate the height goes up to the square of the speed you're driving in, rather than than linearly (duh, kinetic energy is proportional to the square of velocity). But what does scare me is what I've added for perspective is an olympic high dive, which sort of looks like this. Not to mention, you aren't going to be hitting a nice deep pool of water.
And I still drive fast.--
It is impossible to travel faster than the speed of light, and certainly not desirable, as one's hat keeps blowing off.
-- Woody Allen
Anna Hazare has proved me wrong. Maybe I'm bitter about that.
To begin with, I never thought the entire country could be distracted away from Sonia Gandhi's cancer & hospitalization. But it turns out that a Gandhian (*sic*) fasting can actually do that. I wasn't spared either - I was debating about the protests and its impact on future democracy to notice this. But in retrospect, Soniaji failing to survive that surgery was an actual national crisis than anything the Team Anna could cause or prevent. It would've been an all-out civil war to fill that particular power vacuum.
And I feel like a sucker. But that is merely the conspiracy theorist in me talking.
Now, let me tackle the bonafide followers in said "Team Anna". I would like to welcome you to the land of unintended consequences.
Just because I approve of your goals does not mean I approve how you go about it - hunger strike or protests. Netaji & Gandhi had the same vision of a unified India. And I'll say with no doubt that they never saw eye-to-eye on the means. If you are trying to devise a legislative way to solve corruption in India, you are barking up the wrong tree. A social majority movement would work, but then you have a luxury Gandhi never had - elections. That is, if indeed you believe enough in democracy to go through with it. But more on that later, let's first assume that the legislations go through.
Making something already illegal, more illegal does not work. The problem was never the legislation, but more in terms of enforcement. Honestly, Kanimozhi never even suspected she would be in jail (I'm glad she is) - deterrence is a non-factor for career politicians. The issue is one completely of enforcement and the problem right now is that the bosses of enforcers are the criminals involved. Producing a different authority body would solve this, but it's a solution with a limited shelf life - until that authority is corrupted or worse, neutered.
Upping the severity of crimes has an even more negative effect. When vigilance raids on police stations in Kerala picked up, my dad was in the home department as one of the good guys. He used to lament that the extra enforcement merely upped the risk involved in taking bribes, pushing up the "rate" as a sort of risk-offset. Ironically, during the raids, people suffered more - paid more or had their needs ignored.
I don't mean to drag down the new-age revolutionaries here, but this is a democracy. Every uninformed voter in this country dilutes my personal vote. If you can bring that majority over to your fold and fight this battle against corruption, I'd stand with you and vote - the only other way would leave bloodstains across history. But the media based guilt fest that you staged was shameful. If this was the best attempt at fixing corruption in this country, I don't want to really support this movement.
Let's assume you want to start a social revolution and bring aboard the majority. The problems start from the top - I don't think very many would want to live in an Anna Hazare world. To begin with I don't eat meat, don't drink, and have never smoked. I don't gamble and I've *never* paid a bribe. But those are my values and they work for me. I might not stand to lose much in an Anna Hazare world, but I wouldn't let him take away my freedom to eat meat, if I wish to. He might be an incorruptible man, but he's still a fascist who values his written laws over the real legislature's. And even worse, he's not open for negotiations - I get to do what I'm told (yeah, we all clap when the politicians are in his cross-hairs).
A "cure": Maybe there will be a more moderate leader who's policies on my private life are more sane? No, the story gets even worse. If Anna Hazare fails to make any impact on indian politics and its kleptocracy, would you support a new leader next year? Could it be that this is a ploy to disillusion the vocal intelligentisa into not supporting revolutionary leaders? Something to convince the indian middle class that the only people the protests affect are the plebs, while the politicos sit in some farmhouse upstate. A political vaccine if you will, to build up some antibodies to clip off the next cycle of protests in the bud. Even if they didn't mean it, would it work that way?
All in all, the whole episode illustrates the failure of democracy. Its weaknesses exploited by both the politicians and protestors - but two wrongs make a right, so it's okay.--
“The first sign of corruption in a society that is still alive is that the end justifies the means”
-- Georges Bernanos
Monday, August 11th 2003.
I will remember.
I can still feel it in my gut. The pointless despair, the rising anger, panic and the frustration of being at the recieving end of someone else's ego trip. Knowing that I was forever changed from that moment forth.
It was a valuable lesson - something I don't plan on forgetting.--
Experience is the most brutal of all teachers.
-- C.S Lewis
I laughed till it hurt and then some more.
The movie is all entertainment. There is no deeper message, no underlying moral - just plain all out entertainment. But that's why I go to the movies, to laugh, not to see a poignant portrayal of urban india (even about its lack of hygiene or its lack of running water). Totaly worth everything I paid for, despite the fact that Lido chose to charge me extra because they don't have an intermission to fleece me with overpriced junk.
Now, there's nothing new about the plot or the premise. Let's get that out of the way - I saw this movie before in 1992 when it was called Mimics Parade. But for anyone who's seen a Priyadarshan re-warmed-over movie, this movie wasn't stolen. This was reborn afresh, just like an idea whose time had come, yet again.
This is a director's movie. This is a script writer's movie more than adequately carried by the actors. The presentation is absolutely original and so is its framing sequence in 2011's Delhi. Whoever though up the name "Suntara" needs a pat-on-the-back (same for the "Mill on the Floss" reference). All in all, they've managed to turn what was probably a shitty (*sic*) joke into a running gag throughout the movie.
And then they went crazy with the idea. Guns, car chases and robberies. Every tiny coincidence, probable as it may be, building up to ridiculous proportions. Like a Coupling episode, but with more fart jokes. As a metaphor for the whole movie there's the bad guys with a paper bag over Shenaz Treasurywalla's head - in short, all the good stuff, with all the bad stuff papered over. Entertaining and full of laughs, without any of stuff that made romantic comedies unbearable.
And the songs aren't half bad either.--
"Our comedies are not to be laughed at."
-- Samuel Goldwyn
I make it look easy.
I even make looking things easy, look easy. I guess I've had enough practice.
The truth is, most of the things I really want to do are hard. So hard that it hardly seems worth the effort. If I knew what it would take to do them I would've probably never even done it.
The long sleepless nights, the weekends consumed, hobbies neglected. Little sacrifices and the big ones. Perhaps even by someone else. That's what it has taken to make it happen. Every step of the way.
If you knew, you'd probably never attempt them. That is exactly why I can never tell you. That is exactly why you'll never know how hard it was for me. Not that it matters, because here's the kicker, it won't help you.
In some sense, I'm less capable of the impossible once I've proved it is merely difficult. I'm guessing you all think the same. So I deceive you and anyone else who asks. Everything's easy and all you need is a little time & determination. And you're just a few steps away from success, always. There's really nothing to it.
See, *that* was easy.--
If you can't explain it simply, you don't understand it well enough
-- Albert Einstein.
Not for me, of course.
Today's the day when the burdens of all the what-ifs of my life becomes unbearable. The day I work up a year full of courage to face. A day which I devote to despair, for I leave no room in my life for it otherwise. To lay myself bare to all the demons of my mind. And survive.
Four years ago today, I lost a father. And today, I will remember the greatest lesson he ever taught me.
It seems to me most strange that men should fear;
Seeing that death, a necessary end,
Will come when it will come.
-- William Shakespare, "Julius Caesar"
This sunday, there will only be a finish line. There are no easy ways out of it.
42 long kilometres between me and that line. My tired feet pounding out fifty thousand footsteps to get to that line in the sand.
There's no quitting, there's no giving up, hell ... even death is not an option.--
We won he said, and immediately he fell down and died.
-- "Battle of Marathon", Herodotus.
In Memoriam - Monday, August 11th 2003.
And I mourn for a loss I cannot explain.--
I'm not upset that you lied to me, I'm upset that from now on I can't believe you.
Religious books are works of fiction.
At least, they were meant to be (yes, Mr. Tom Cruise).
I've read every religious book in English I could find, before I was twenty. Partly because I wanted to get a hang of religion, but mostly because some of the books made entertaining reading. I'm not going to repeat my issues with religion here, but if you do care - I agree a lot with George Carlin. But I didn't come here to dig a shallow grave for religion & its fan club, I came here to praise the writings it has preserved over the ages.
There is a passage of the Bible, I read often. Hidden in a history book of who begat who, is a passage of pure undiluted philosophical gold. Ecclesiastes - The book of the Preacher. The words, said to be those of King Solomon, inherited from the Talmud.
Ecc-1:17 And I gave my heart to know wisdom, and to know madness and folly: I perceived that this also is vexation of spirit. For in much wisdom is much grief: and he that increaseth knowledge increaseth sorrow.
As I read on, the world made more sense.continue reading "Lost in The Good Book"....
Vanity is so secure in the heart of man that everyone wants to be admired: even I who write this, and you who read this.
-- Blaise Pascal.