Bloom Filter for Dummies

Someone once told me that when it comes to Computer Science white papers, don’t bother with reading the whole thing. According to him as long as he understands the intuition behind it, he’ll know where to look…

Services and modules

There has been some debate in my team about how to define and differentiate between a “service” and a “module”. Here is my proposal: A module exists to fulfill some technical purpose. (A good module…

Java Weak References

This is just a note about an (in my opinion at least) interesting use case for Java weak references. Weak References Java helps the developer take care of tracking objects and memory and cleaning up…

Alias Method

This post is about a brilliant algorithm called the Alias Method. This method allows you to generate samples according to a discrete probability distribution in constant time. In other words, it allows you to simulate a loaded or…

Using Memcache at Scale (Facebook)

My last post summarized why I chose memcached over Redis for our system’s caching layer. Memcache fit our desired feature set and was also faster (probably due to the relatively simple workload, set and get…

Redis and Memcache

I’m launching into a project to implement a distribute cache in front of our bidding and impression layer. Part of the project is to evaluate caching technologies and the most popular technologies are: redis and…