Skip to main content

Posts

When two choices are enough

I came across the  power of two choices   theorem recently, it was referenced in a tech talk about schedulers. The central premise of the power of two choices is simple. Yet it is striking in its effectiveness in making decisions about routing requests. The following is my restatement of the premise: You have n options, and a score or rank associated with each of them. You also have an incoming queue of decisions to make about which option to pick. At each decision point, if you pick two options from the n at random, and then use the score to pick the best among those two, you will get exponentially better results (in terms of distributing load), than choosing a random option.  Going from best of two, to best of 3 or 4 or more, only improves the results by a constant factor.  Using power of two choices really starts to pay off when n is very large and examining all n options becomes prohibitively expensive.  The paper applies this to load balancing, where they showed how effec
Recent posts

What's your black triangle?

There is a great post from 1994 about  black triangles  in the context of building large and complex systems. You might think that 1994 sounds like the dark ages, but the principles outlined in that post do stand the test of time. Here is my favorite excerpt from that post: What she later came to realize (and explain to others) was that the black triangle was a pioneer. It wasn’t just that we’d managed to get a triangle onto the screen. That could be done in about a day. It was the journey the triangle had taken to get up on the screen. It had passed through our new modeling tools, through two different intermediate converter programs, had been loaded up as a complete database, and been rendered through a fairly complex scene hierarchy, fully textured and lit (though there were no lights, so the triangle came out looking black). The black triangle demonstrated that the foundation was finally complete the core of a fairly complex system was completed, and we were now ready to put it

The next step

One sunny day in 2007, I started as engineer #6 at a scrappy little startup that I knew to be as Google for jobs .  Ten amazing years flew by, working with some of the smartest people I will ever know in life. Some highlights of work I did, that I feel really good about. Tokenization and search quality improvements to Indeed's international search (China/Japan/Korea/Germany)  Performance improvements to indexing and search back-end systems, that improved performance and lowered bandwidth costs.  A complex re-architecture to horizontally shard Indeed's index of resumes Helped grow the jobs recommendation engine through performance and ranking improvements, introducing geohash clustering and other architectural changes. Implemented TLS support for Indeed's service framework Built wrappers around  Hystrix , to ease adoption within Indeed.  Built systems for monitoring and visibility of microservices, mongo and mysql. Gave four public tech talks in conferences  Led

Summer memories

We have an internal social networking tool at work. A parent started a thread asking about camps and other summer activities for kids. One of my co-workers said something like below (as a joke): "Put them in the backyard in the morning. Lock the door. Put out sandwiches at noon. Hose them down in the evening with your garden hose".. That turned into people mentioning free range kids . Of course, in America there's some sophisticated sounding terminology for everything, but I would have called this "a typical childhood in India". This got me reminiscing about my childhood summer vacations growing up in Hosur , in the 80s. The "hose them down with the garden hose" part wasn't too far from some part of my summer experience between the age of  7 to 12. Summer vacation started around mid April. My grandparents lived with us, and me and my sister couldn't wait for summer to start each year. The youngest of our cousins R lived in town. My oth

My perspective of women in CS

For almost all of my professional life I have been very passionate about this topic. I am on the Anita Borg Institute  mailing list. I read various posts addressing this where they talk about why girls need more encouragement to get involved in CS from an early age and how gender stereotyping in schools is hurting their chances. Programs like  http://www.girlstart.org/  conduct camps and special events to encourage girls in STEM subjects, that I enthusiastically support. I got extremely worked up over this post ( http://techcrunch.com/2010/08/28/women-in-tech-stop-blaming-me/ ). Two years later it still makes me angry. There's no disputing the fact is that there are relatively very few women in this field, both entrepreneurs and working in the industry. There's also no disputing a facts like the last ten years of ACM programming champion teams are all men. Sure, there are stellar examples like Marissa Mayer, but what about all these women here who want to break into this ind

A cosmo style guide to git

Imagine a Venn diagram with three sets - developers, git users, and Cosmo readers. I am one of those at the tiny intersection of all three. There may be others out there but I don't personally know any. Despite the provocative title, this post has little to do with Cosmo. Cosmo is like my perfect escape route when I want to step away from real life for a bit. Thumbing through articles like '10 ways to style your hair'! '27 must have Shoes for fall!' and more of the same thing said 30 different ways is very entertaining to me. Not that I actually follow anything in there. Cosmo does have a few things going for them -  they know how to pick a provocative title, and their sentences are short enough to convey their message without being overly verbose and preachy. You can get what they are trying to convey using 10% of your brain. As an enthusiastic Git user, I decided to write about how it changed my life. I have never felt this inspired about any other tool to

What are your future plans? Why are you *still* a developer?

If I had a nickel for every time someone has asked me that question I'd have enough change for a year? Inspired by my friend's post here , I thought I'd write about how I ended up doing what I do now. Then I thought about it some more and decided to write about something else. Is it important to know where you are going in life? If you aren't moving forward in your career does it mean that you are doing something wrong? What does "moving up the ladder" even mean? I am going to attempt to answer these questions for myself. Its almost 5 years since I began my professional career. It has been great so far, lots of ups some downs as well. However, once in a while when I get the title question it still throws me off. It is usually my parents or well meaning relatives, sometimes friends that ask this. I have nothing much to say to them except "I enjoy what I am doing right now, haven't really thought about the future". But the truth is - I have thou