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…3 min read·Dec 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…5 min read·Oct 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…1 min read·Sep 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…15 min read·Jul 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…2 min read·Jul 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…1 min read·May 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…2 min read·Feb 17, 2021----
Lu PanHow C++ `typeid` operator worksC++ language include an operator called typeid ( https://en.cppreference.com/w/cpp/language/typeid).3 min read·Feb 13, 2021----
Lu PanGNU Visibility AttributeWhen going through the folly code base, sometimes, you see definitions like3 min read·Sep 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…5 min read·Jul 1, 2020----