Archive for the ‘Technical Blogs’ Category

Interesting distributed computing problem

July 22, 2010

Routing items from seller to buyer for an Ebay like company. If 1 item has to be sent from 1 seller to 1 buyer, the shortest (cheapest) path can be found easily. But sending 10,000 items from 1000 sellers to 5000 buyers using the same algorithm will obviously be inefficient. Sending all the items to a central location and then distributing it is also non-optimal. Theoretically solving the problem is obviously NP-hard. We were more interested in building a real-time distributed system which does the task using limited knowledge. Given 100 distribution centers, how do they communicate between themselves to distribute huge number of items per day between different buyers and sellers. Servers can fail, two servers can potentially give conflicting information.

The system should support fault tolerance and state machine replication. Realize that making all servers agree on one routing path for x items is a Distributed Consensus problem.


Why PhDs don’t write technical blogs

November 28, 2009

The first thing when I decided to write a technical blog was to see how and where my erstwhile PhD colleagues designed theirs.  But surprise, surprise not one of them have a technical blog.

Then it became obvious; anything technical could end up theoretically being a paper – even if it turns out be explaining their vim settings.  Since a paper can be published once and only once anywhere in any form, that means keeping it secret even if you itching to show it off to the world.  This itching is partly satisfied by some secret huggery-muggery at conferences over coffee.

On the other hand, every friend who’s in industry has a blog. Why? Because their companies ask them to write it to sell their product! If you see a description of a product coming from a blog, you would think it’s a reliable independent third party opinion. But no, it’s officially company made and certified.  So be wary of the opinions expressed in them.