Lu PanHow electrical energy powers the light bulb in your houseYou do not need a wire to transfer electrical energy. You do need a wire to harness electrical energy and turn it into something else (e.g…Dec 3, 2021Dec 3, 2021
Lu PanDNS — the first distributed databaseDNS was created in 1983. Before then, Stanford was storing the host name to IP address map on HOSTS.TXT, which obviously doesn’t scale…Oct 19, 2021Oct 19, 2021
Lu PanThere’s Nothing 100% in Computer ScienceWhen it comes to correctness guarantees, there are few communities in Computer Science (software) more obsessed with them than the database…Sep 2, 2021Sep 2, 2021
Lu PanHow FoundationDB works and why it worksFoundationDB is a very impressive database. Its paper won the best industry paper award in SIGMOD’21. In this post, I will explain, in…Jul 21, 2021Jul 21, 2021
Lu PanPaxos vs. Quorum-based ConsistencyPaxos, is the famous synonym for consistency in the context of distributed system. Unfortunately, consistency alone, is such an overloaded…Jul 17, 2021Jul 17, 2021
Lu PanC++ Map Lookup MemoizationMemoization is an old technique. It’s basically caching outputs for giving inputs (usually in a map). But a map lookup itself is not free…May 5, 2021May 5, 2021
Lu PanPaxos Commit with ConstraintsLamport proposed Paxos Commit algorithm as an alternative to 2PC for achieving Transaction Commit. It’s a very natural application of the…Feb 17, 2021Feb 17, 2021
Lu PanHow C++ `typeid` operator worksC++ language include an operator called typeid ( https://en.cppreference.com/w/cpp/language/typeid).Feb 13, 2021Feb 13, 2021
Lu PanGNU Visibility AttributeWhen going through the folly code base, sometimes, you see definitions likeSep 20, 2020Sep 20, 2020
Lu PanLinear scalable read-write lockThe basic concept of a read-write lock is simple. It allows multiple readers to access the resource simultaneously, but at most one thread…Jul 1, 2020Jul 1, 2020