Writing
I want to get better at writing. Writing long-form pieces accomplishes a few things: It sharpens your thinking regarding the topic. You can hide a lot of sloppy thinking in bullet points and presentations. If…
I want to get better at writing. Writing long-form pieces accomplishes a few things: It sharpens your thinking regarding the topic. You can hide a lot of sloppy thinking in bullet points and presentations. If…
The internet is so full of discussions concerning this point. It was first presented to me in Effective Java and while I think one should always take suggested good practices with a grain of salt…
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…
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…
Recently I’ve been hard at work building a distributed in-memory cache for our runtime systems. One of the most important decisions that I’ve had to make in this project is the size of the cache….
This post is to write down my first impressions after reading Facebook’s Gorilla which is their in-house TSDB. Long story short, Facebook designed their own time-series database (TSDB) to collect and expose system metrics for…
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…
Yesterday I tried to look into the differences between using Zookeeper vs Consul for service discovery. In summary I don’t think that Consul has anything that Zookeeper can’t accomplish, but Consul comes with it built-in. Consul…
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…
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…