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. Consensus Algorithms 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 […]

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 »

Cryptography in Plain English – What Every Developer Must Know

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 – What Every Developer Must Know 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 »