Paxos in Plain English

It is easier to understand Paxos in context of other solutions that try to solve the consensus problem but have shortcomings, so let’s talk about that. An intuitive way of reaching consensus is to take marriage vows: “Do you …?” “I do!” “I do!”“I now pronounce you …” Assume now that the marriage is not …

Paxos in Plain English Read More »

When in Doubt Iterate Faster

There is a little something that most people who are in the business of creating software understand, but outsiders seldom know. It is this — in software development you cannot get things right the first time. And I am not just talking about full products, but even tiny details. It is very rare in software to …

When in Doubt Iterate Faster Read More »

Offering Choices Considered Harmful

Here’s something that I wish more people involved in designing consumer software products realized — multiple choices in a product prevent the user from using the product and make him unhappy. Let me explain why. The other day my wife managed to drag me to get a new pair of jeans. We went to a Levi’s …

Offering Choices Considered Harmful Read More »

Cryptography in Plain English

Most developers whom I have come across, lack a solid grasp of the fundamentals of cryptography.  When a developer who does not understand crypto needs to use crypto, several things can go wrong: •    Not understanding the implications of using some crypto technology in the code•    Not realizing where to use crypto•    Not implementing crypto …

Cryptography in Plain English Read More »

Notes on the CLR Garbage Collector

A few days ago, some of us in my group were discussing about the GC mechanism used in the CLR. It was an interesting discussion, and like most discussions, inconclusive. So I decided to put (almost) everything interesting to know about the GC on paper. Some of the people who read this, particularly Vinod – …

Notes on the CLR Garbage Collector Read More »

SQL Server: Non-preemptive Scheduling, UMS, CLR and Fiber Mode

On a recent mailing list discussion, Veer Wangoo asked: “DOT NET CLR only uses thread-based scheduling and does not support Fiber-mode scheduling; however, SQL Server can use Fiber-mode scheduling as well. How does SQL 2005 Handle this Limitation?” Answering this question led to a lot of deep-dive and I finally managed to answer this in …

SQL Server: Non-preemptive Scheduling, UMS, CLR and Fiber Mode Read More »

Masters of Doom

Which computer game did you start with? In my case, it was PacMan on a brand-new 286 machine in my dad’s office. This was followed by several games, but ones which stand out in memory are: a car racing game by a company called Accolade, a version of Donkey Kong (can’t remember the name), a …

Masters of Doom Read More »

The Karma of Blogging

karmany evadhikaras tema phaleshu kadachanama karma-phala-hetur bhurma te sango ‘stv akarmani   (You have a right to perform your prescribed duty, but you are not entitled to the fruits of action. Never consider yourself to be the cause of the results of your activities, and never be attached to not doing your duty) – Krishna …

The Karma of Blogging Read More »