Skip navigation


Conferences on Distributed Systems and Operating Systems get increasingly competitive by the year. In an attempt to provide scalable, reliable solutions in the Internet era, often one is forced to test solutions at volumes that are experienced only by a small fraction of the systems architects community. The Googles, Twitters and the Facebooks of our era have defined the way we think about Distributed Systems. The systems that back these organisations not only serve millions of users but have also been successful at academic conferences. Year after year, papers from Industry ’research labs’ redefine problems, and at times even reinvent solutions.

In this essay, I wish to perform a retrospective analysis on a few papers from the industry that have been impactful enough to invent their own class of problems in the systems community. Read More »


Over the past couple of weeks, I have been on the lookout for an internship/full time position. I am taking a break from my PhD and have been looking out for a job. My effort into preparation went primarily into being able to demonstrate my ability as someone who could understand and build systems that scale. I dont mean applications. I mean systems. I am yet to really accept an offer and work at any of these places. So, at this point I have little to show that these jobs really were as systemsy as they claimed to be. Nevertheless, I have not found much content on the Internet that says much about how one can develop a good understanding of building computer systems. One would think that this is a must-have skill in the era of the Internet and Big Data.

Here are some pointers that have helped me find these jobs. Read More »

There is a lot said in the Internet about how Content Delivery Networks speed-up the delivery of static content to a website. Sure — there is a lot of sense in saying that servers that are in physical proximity to the end point (typically a browser) are capable of delivering content with lesser latency than those that are on another continent. There were some important questions that I did not ask myself when I used Akamai’s CDN (due credit to them for nicely abstracting these details away!). Off late I have been reading about Coral, a more open CDN in an academic sense. Read More »

SLAM and BLAST are automated static checkers that took the programming language world by storm. Recently I have spent a bit of time trying to understand the way these tools work and quite honestly, I think it is their ability to formalize their ideas that have made them such successes over as opposed to the ingenuity which we ideally want to promote as good samaritans. Read More »

Most of this article may seem like I am stating the obvious (offcourse unlike the rest of my blog!). I have been attending a course on Programming Languages by Prof Wesley Weimer. Been quite awesome till date. We were speaking about static analysis of programming languages and the success of Microsoft’s SLAM project Read More »

I recently read V.S.Ramachandran’s Phantoms in the Brain. It is quite brilliant. I would really recommend it to anyone who prides himself of being a rationalist. Read More »

The greatest apparent threat that causes us to program functionally is the fact that Object Oriented Programming has failed to address mutability in states that results because of most objective implementations. Read More »

For those of you who have played around with some bleeding edge asynchronous HTTP servers like python’s tornado and Ruby’s goliath, I am sure there have been several ahaaaa! moments finding out  things that need improvement. As part of these things, I find that structuring evented code and taking a bottom up approach to debugging nested calls can really dissuade you from asynchronous http approaches itself. Read More »

Vinkesh and I made a presentation at xonf Bangalore on building jabber chat bots in cases where web application seem like a redundant solution. Read More »

I am currently working on a project in ThoughtWorks that required a lot of operations work to be done. Translating that to English, we wrote a lot of code that needed to be shared by an online application and a set of background jobs. Not to mentions that a large part of these operations were speaking to REST APIs. Not rocket science right? So  Here is what we did. Read More »