Five years is a long time, no matter how I look at it. I've been in Yahoo! for half a decade now or to put it in perspective, half my adult life.
If I had to describe the last year of here, I'd use almost the same words as I'd used to describe my first year here (with fairy godmothers and unicorns inked in). And it almost feels like all that was yesterday as I stare at that gumball machine at my desk.
No matter how I look at it, working here has been a huge personal event in my life. Not just professionally, but with everything else that I've managed to accomplish over the years. I guess that's what's kept me here, year after year.--
The best way to appreciate your job is to imagine yourself without one.
-- Oscar Wilde
One Monday morning morning four years ago, I walked into an office.
In retrospect, it was a very important moment in my life. But all I did that day was to dump my bags and go to the cafeteria.
But it was going to be my home for years to come. Lived in that little sheltered world for four years. Made friends, made enemies, got a life, then gave it up, discovered myself, travelled the world, grew my hair & shaved it, found love, even lost it, lost a father and nearly killed myself too - picked my life up out of a rut, ran alongside my career and didn't have to give up either.
Ah, good times ...--
We are so busy watching out for what's just ahead of us that we don't take the time to enjoy where we are.
In the last three years, very few things have stayed the same for me. Hardly did I think when I walked into my cube in Feb 2005, that I'd still be sitting in the same exact cube when 2008 dawned. My team changed, my entire upward hierarchy changed, even the company name changed - but hidden behind the walls of 3A-14 I sat. Slept there, ate there and sometimes even did some work.
I've come a long way in those three years, but I hardly moved at all. But perhaps this world did move a lot and all's relative.--
This Universe is populated by stable things.
-- Richard Dawkins
It's too late to write anything about it now. Enough good things have been said of how it has been run and the whole vibe of the event, but I'll add my two cents anyway (and my mug made it to the newspaper article).
WiFi The WiFi coverage was awesome. Except a lot of people who had borrowed laptops for the event had no clue how to get it working, not to mention requiring kernel upgrades to get it working. Just for the sake of recording it, this is how you set up a franken-net NAT quickly.
iptables --flush iptables --table nat --flush iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE iptables --append FORWARD --in-interface eth0 -j ACCEPT echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward ifconfig eth0 10.0.0.1
Then everyone else joining up on that hub can pick a 10.0.0.xx IP and set my machine as a gateway. But after nearly everyone got their WiFi working, the environment got a bit more interesting.
There were a bunch of decent hacks - some of them functional, but not technically brilliant and vice versa. For example, the flickr offliner was an interesting hack - but without offline writes and conflict resolution, it wasn't really cool enough. Or the first prize winning Map canvas hack, which never worked with zoom or pans - which was sad because being able to convert from YCoordPoint to YGeoPoint would have made a lot of cool hacks possible (and was just an overlay of canvas painter on a map div). But I wasn't a judge, merely tech-support.
And when the hacking was all done, we partied out the night, to the rhythms of TAAQ.--
When a man knows he is to be hanged in a fortnight, it concentrates his mind wonderfully.
-- Samuel Johnson
Yahoo! Bangalore is throwing a hack fest on the 5th of October and all through the night. If you've ever done something with pipes, YUI, y! mail or flickr apis, this is the place to be for you. And it doesn't even matter if you like writing RoR based backends or greasemonkey funk - what matters is how it works and what it solves.
The hack session is by invite only and we've got a submission queue for you to put in your geek credentials, so make sure to put all your cool hacks in the list. And take a good look at what happened at the previous hack days for inspiration.
It is going to be a "Bring your Own Laptop" hackfest of the kind you've never seen before. To keep the tempo, we'll be trying to put up a strong team of hackers from Yahoo! to help you hack (and more importantly, appreciate the uber-coolness of your hack-in-construction).
Watch hackday.org for more announcements. Hope to see you there ... so start planning!--
To whom the mornings are like nights,
What must the midnights be!
-- Emily Dickinson
There are moments in my life when I'm at a loss for words.
And something like that happens.--
Take my advice, I don't use it anyway.
Nearly every year, I'm usually with my entire joint family for nearly the entire half of the ten day Onam celebrations. But this year, since I'm in mourning, I hadn't thought much about going home and by the time I had gotten back from the US, it was too late to do anything. Thankfully, the office has a significant enough malayalee population to actually make a good friday out of it.
Kudos to all the folks who did all the fantastic floral work ... makes me feel right at home here :)--
The worst feeling in the world is the homesickness that comes over a man occasionally when he is at home.
-- Edgar Watson
The hustle and bustle of real life is a killer. But there's no reason for it to be a silent killer, so here's one of those mental kicking & screaming thoughts which was dragged through my head as I was wasting time in Hongkong Airport. My flight called for me before I finished this, but the time has come to acheive some closure.
To: y-blr <...> Subject: Cubicle for Rent (rates negotiable) One premium corner cubicle in M G Road available for rent. The cube is surrounded by conference rooms, fully furnished with a laptop dock, a comfortable chair. Extensive table space, entire sixteen foot carpet area with easy access to sofas, coffee and the pool table. 24x7 internet access enabled, fully packed bookshelf and with neighbours used to loud music after 7 PM. Available for occupancy for a month and at negotiable rates.
Since it is too late to actually send that mail, I guess this is its home now. But sing with me - My cubicle ... it doesn't have a view.--
If money can't buy happiness, I guess I'll just have to rent it.
Some of you might have seen me wearing this tshirt. But it was one of those things which me and mojo came up with. After a couple of nearly non-starts, we finally got a half-decent t-shirt design for the Y! Bangalore frontend engineering conference. Nearly completely borrowed the style and attitude of xkcd, threw in a bit of self-deprecating humour (It's so uncool, that even I don't do it).
Somehow the more catty punchline, "When you're *this* pretty, you don't have to do anything" (as said by the machine to the ex-(*heh*)-asperated girlfriend), wouldn't fit into the speech bubble. But this one still is pretty kick-ass.--
Oh what a tangled web we weave, when first we practice to deceive.
Goodbyes are hard to say. The heart still hopes that in this small world, our paths shall again cross.
My voyage ran aground into one of those moments today - sabiokap's last day in Yahoo! Bangalore. He's been the joker in our pack, inventor of crazy games and a very good friend. We all were nightbirds who used to hangout together and in general formed the resident population of the office nearly 24x7. Sitting up in the balcony at 2 AM in the morning was actually fun when everybody thought there was a point to working hard & long - and we liked it.
But more than just at work, he's been someone for me to lean on when my life was shaky. When I was penniless and homeless after booking my LCA 07 tickets, I crashed out in his guest room for four months. I managed to get out of that financial hole thanks to premshree spotting me some dough and accomodation at Hell's Kitchen (that's what we call sabiokap's place, for good reason).
There was a certain bit of company ethos that is oozing out slowly to various other places these days. The day (or well night) of the workaholic hacker is gone, obsoleted by the eary morning meetings. The concept of working with each other replaced by working as team, under the bidding of a manager. The days don't pass so easily and to pour the company into a new mould needs a cultural genoicide of sorts. But well, the good thing is that I was here for those good old days - work hard, play harder and don't care what else happens.
I don't hold any grudges against anyone, but all this takes away the thing I loved about this company - interesting people and good friends. For whatever reasons, good or bad, people I like working with are leaving, those with attitude, talent and a sense of humour. All I can do is wish them Godspeed.
That's how it ends, not with a bang but a whimper.--
The ability to bear with calmness the misfortunes of our friends.
This had to be documented, like the other offtopic masterpeices. It all starts from a mail which had a typo - "Vacancy for 1/2 girls" which evolved into a discussion about dinosaurs (don't ask). But it eventually ended up with Dinoman and spo0nman in discussion.
I know Kung-Fu: Now throw yourself back to the Matrix, the first ever episode  - spo0nman as Neo. dinoman as Tank and me as Morpheus.
spo0nman : Reg-ex? I'm going to learn Reg-ex?... Holy shit. dinoman : Hey Mikey, I think he likes it. How about some more? spo0nman : Hell yes. Hell yeah. t3rmin4t0r: How is he? dinoman : Ten hours straight. He's a machine. spo0nman : I know Regular expressions. t3rmin4t0r: Show me.
Volley #2: Now, that alone wouldn't classify as an offtopic masterpeice. So here's the second wave with even more - in the matrix gym.
Sometime later, after t3 beats the cwap out of spo0nman, dinoman : There is no spoon, really. t3rmin4t0r: How did I beat you? spo0nman : You were too fast. t3rmin4t0r: Do you think my beating you has anything to do with perl in this place? spo0nman : .... t3rmin4t0r: Again...
And I for one, welcome our matrix spoofing overlords ... *bows*--
I suppose if we couldn't laugh at things that don't make sense, we couldn't react to a lot of life.
Every company has its own unique attitude. Now, I lament a bit about some stuff in Yahoo! I never got to experience - its fun side. I did catch the tail end of this phenomenon, but here's a blast from the past about how different the times were in the last millenium.
This is one of the cards from the Yahoo!-o-poly which was given out as the year end gifts in '99. There is a fair bit of company history hidden inside those images like the Say 'No' to AOL card or the reply to all card.
Somewhere along the way, that sense of humour seems to have been replaced with suit & coat seriousness. Maybe not with the old folks, but every hire you make you dilutes the culture if you fail to inculcate the same in him - which requires slow growth and mainly of fresh talent. A crowd of new joinees in their thirties is impossible to subvert to local cultural standards.
But let me say this - mourn not for what some never had.--
Some changes are so slow, you don't notice them;
Others are so fast, they don't notice you.
The time I've been at Yahoo! has been the best couple of years of my life so far. Sure, I've had my share of problems - some with work and some otherwise - but who hasn't ? The thing I truly treasure about these years are the sweet sweet memories. There's a lot that happened which I'll remember for a long long time to come - because I've changed from that other guy who joined-up two years ago and that's no accident.
It wasn't the smooth ride it looks like in hindsight. I admit it, there were all sorts of days in there - good and bad. But most of what I remember is time spent with friends - premshree, spo0nman, teemus, sabiokap, hitesh, sid and aathitude. Hanging out in the cafeteria, playing pool, the 4th floor balcony at 3 AM`.
In fact, you could totally blame my current sanity on pool. That pool table has been a place where I could go to just to get away from the computer. More than just playing the game, there was a point when I got more than usually good at it. The friday evening pool sessions were my time to shine and I generally came back upto level for every game I lost over the week. There is something about sending in your status report that makes you really kick ass in pool.
And then there were the crazy hours. Coming in to office just in time to complain about the buffet lunch and leaving just in time to complain about the early morning traffic. But these days, when I feel like working, I just stay at home and concentrate on working rather than head out somewhere where there's an near infinite supply of friends and coffee.
But after two years, it doesn't quite have the same small company feel it had. I had decided that I'd stick around for at least two years - no matter what. That is done.
As the walrus said, "The time has come to talk of many things" ...
PS: Happy 12th birthday Yahoo! ...--
How do you expect me to remember your birthday when you never look any older?
-- The Diplomatic Husband
The manifesto ostensibly wants to roll back the clock and go back into the past.
I'm doubtful whether it is possible to achieve this, mainly because
of a few laws of
thermopeople-dynamics. Reducing the head
count by 20% is not going to improve performance and all you might
end up doing is to give the rest a persecution complex and possibly
increase their workload. And all that after admitting to bad decisions in investment
Then the wage strawman is throw in, always available as a convenient reason for low productivity.
Moreover, our compensation systems don't align to our overall success. Weak performers that have been around for years are rewarded. And many of our top performers aren't adequately recognized for their efforts.
Pay packages are generally a function of the years of experience. A 10 year experienced employee churning out run-of-the-mill code will get paid more than a 2+ guy writing top of the line code. The pay parity that the company keeps is indirectly unfair and enocurages you to be as stupid & worthless as you can be, yet earn more than the hard-working junior.
Those are the rules of the game and some of us have come to accept that as inevitable. But when you hear rumours (in Economic Times, no less) that fresh campus recruits are going to be paid at par, maybe a bit more than what you are earning, the quoted paragraph makes no sense.
As a result, the employees that we really need to stay (leaders, risk-takers, innovators, passionate) become discouraged and leave.
Well, duh ! If they didn't leave, they'd hardly qualify as people with initiative. I've put down my take on that, a while back. That bit of wisdom from a senior VP, vindicates my personal feelings (or does it prove that I'm not a risk-taking passionate innovator, because I'm still sticking around ?). And maybe ... just maybe toolz had a point.
All in all, I assume that the author of this Manifesto wrote it out of pure good-will, frustration and naivete, as a last call to turn the company around. For once, I'd like to think the dilbert cartoon above is completely fictional and bears no resemblance to any company, outside of a cartoon.
Either way, que sera, sera.--
Give me the strength to change what I can, the inability to accept what I can't and the incapacity to tell the difference.
-- Calvin prays,
Once upon a time, in the cold December of 2004, there was a blog post. I read it, thought about it a lot and eventually made a decision.
All that's now history - friday was swaroop's last day at Yahoo! bangalore.
With that, it looks like I know more ex-Yahoos than those in office ... .--
A good compromise leaves everyone mad.
One of the lamest hacks, we've ever done is something called Debt-o-Matic. I know spo0nman has already blogged about this, but there's more to this hack than meets the eye. To start with, this was the first hack which went from decision to action in around twenty minutes. And then we *designed*.
Through out this period, I was being active and generally bouncing around. Sad to say, but I was the product manager for the hack - doing little and suggesting a lot. But I redeemed myself by producing a kick-ass logo for for our hack. And after all that, we finally had ourselves a product before the morning dawned and an idea left to finish.
Remember the good old days in college where we used to adjust debts by transferring debts around ? We wrote up something which would find circles of debt and remove the smallest amount from all of them, by virtually circulating it. Not rocket science, but useful as this system can do it automatically. But stating privacy concerns, we cut down that to a A -> B -> C scenario, which is trimmed into an A -> C scenario.
We never got around to building the audit trail and details view stuff because it was getting late for our flight to Delhi. And off we went, leaving teemus to submit the hack, but there still was nobody to present it.
In short, we had fun.--
A gift of God bestowed upon debtors in compensation for their destitution of conscience.
Time is nearing 1 AM and there's a cool breeze blowing across. It's actually quite pleasant to sit there and we're discussing all of life's problems. Mostly with sabiokap and really about the difference of really crossing 25. According to him, that's when you really get to loosen up and relax in life - but I don't believe it. Then, the stage is set for the ultimate joke.
<me> Man, you're in denial. <sabiokap> No, I'm not !
I've never laughed like that in my life. Mister Douglas Adams could have hardly set up a more perfect paradox in context. Please feel free to wrap your brain around it and tell me, could he have answered any other way ?--
If life is merely a joke, the question still remains: for whose amusement?
Today was Yahoo! Bangalore's hack day. After having literally killed myself debugging spidermonkey js magic for an entire night, this was my chance to actually let the world see my cute little application run real Konfabulator widgets. The hack itself isn't too spectacuar, it merely combines some widely available libraries, spidermonkey, zziplib, libgdk, curl and libxml2, to run the widgets. Unlike all the efforts of dotgnu, there was no complicated binary formats, nor were there any limitations of performance. Basically - it just worked.
So after pulling in a few widgets and throwing out all the animation and other eyecandy stuff out, I was able to get a decent group of widgets working. The most spectacular of which was the Yahoo! News Reader. Here's a screenshot with corresponding clickys for the widget sources.
But just like all my other efforts, this project was also DOOMED. And just like all the other screwups that punctuate my life I have nobody but to blame but me. I did a hurried demo of the application using a windows machine via VNC. I was probably too negative (as teemus pointed out) or maybe I was all hung over from not sleeping, it was a lukewarm performance at best. I expected the code to speak for itself and I failed to impress anyone with the potential of this hack.
For a few moments, I felt crushed. From that point onwards, there was only one path to closure for the whole project. I had to throw away all that code and keep walking without a glance back. I know I have the strength to do exactly that and do it without flinching. And I did it.
Even if I'd kept this codebase, the world could've never seen it opensourced as it is a competing with a Yahoo! product. But the code isn't lost to the world completely. Two people mailed me asking for the code and I sent them the code as an attachment. But for their mailboxes, the world has no trace of kartwheels now.
I do not know why, but I feel liberated.--
"Plan to throw one away. You will anyway."
-- Fred Brooks, The Mythical Man Month
It's been a year. A year which in retrospect went a lot quicker than most years of my life. It was all a quick blur of landscape from a train with some stops whose tea stalls I can still remember. There was never a destination, or at least that was the plan. Last year - that's where this story starts and it is still mostly under construction. Once the story's done, it will be painted pink with lots of with fairy godmothers, unicorns and the dawn of spring - and exactly where Santa Claus gets funding from. I guess you'll just have to read along and find out whether I am as high as that sounded.
I joined Yahoo! to work in their platforms wing which deals with all the BSD magic that happens in the background of all the frenzied money making that is the real business. I have always wanted to work on some core stuff far away from the business, where I could really focus on getting the job done rather than how much money this is going to make. A year later, I've done some bits and peices - some of those bits I can talk about, like APC. I've truly enjoyed working on it - it's been a fun experience to just jump in and fixing it up for php5.
Last year has been almost like a paid vacation. Literally no work pressure, no deadlines whooshing by and no arm twisting from anybody higher up. But somewhere in the back of my mind is that hey, you're getting way too comfortable there which keeps pointing me to my real achievements. My coding skills have only regressed in the last year. Where there was a needle sharp point of code-foo there was it is now directed in so many way that a fakir could sleep on my skillset without hardly a prickle. Been doing too many things and not enough of each - flitting from flower to flower like an idle butterfly with a summer afternoon to waste.
Anyway, today I know that my dreams of writing core bits and peices just needs a bit of a breeze from reality to disperse. A very cynical bit of me has always been expecting this saying - "boy, that was a surprise." (sarcasm spills from the same well). The ultimate optimist in me always thought that things work out if given time to do so - my life is full of cutting things too fine. I've always come out upright and in one peice. Last minute rescues and disdainfuly fool-hardy attempts punctuate my life in the midst of boring plateaus of inaction.
Wipro was hard work. My manager (a nice chap named Sampath) was quite understanding and yet there was little else he could do than pass on the pressure from the client onto us. To tell the truth, I enjoyed the pressure and sense of urgency the project had. It was about survival rather than victory and we gave it the good fight. And we were happy at the end of the day, though probably not during the weekends.
Now, the situation is flipped. I've got a well paying job, a lenient work place and I can go home any weekend I like. But I seem to crave for real work pressure. At the end of the day I just want to go home feeling happy that I made a difference. For the less cynical, the literal translation might not mean Look ma, I'm not useless - but that's what it finally says to yourself. And whatever others think about your performance, you cannot lie to yourself.
It has been awesome to work at Yahoo!, but I wish I could say work with a straight face.--
Procrastination avoids boredom; one never has the feeling that there is nothing important to do.
A couple of days back, I had posted a puzzle on my flickr.com account. It dealt with a simple capture from a video - as shown below.
Since nobody could really guess what happened, I thought I'd publish the answer. Here's the video in divx with sound. Before anyone starts making fun of premshree, I'd like to say that I lost to him with him today morning - twice. He has the sort of talent which makes pool a truly spectator sport, something a straight laced player like me can't copy. He's got his heart in the right place after all.
This office gets really interesting after midnight.--
It is better to be a spectacular failure than a dismal success.
-- Venture Capitalists 101