Posts
Access a function's return value in C++ scope guard
When `__cxa_pure_virtual` is just a different flavor of SEGFAULT
Rust's early vs. late lifetime binding
zsh interprets a standalone redirect as a `cat` command
C++ coroutine and lambda's lifetime
`folly::IOBuf` and zero-copy networking
What I learned about `inline` recently
`ssh` to my workstation over Internet
What Good Are Impossibility Results
Caching Partially Materialized Views Consistently
Project Management is a Concurrency Control Problem
PTP/TrueTime vs. HLC when it comes to snapshots
Describing State Machines using Math – TLA+ series (2)
Notes on the Spanner: becoming a SQL system paper
Linearizability is more than Capturing Causality Everywhere
IP as distributed data in the cloud
Bet using a token bucket
Generic Fault Tolerant Distributed Critical Section is Impossible
Notes on Amazon's DynamoDB USENIX ATC'22 Paper
Leave something to be somebody else's problem
Why TIMEOUTs are hard to get rid of
Fast SQL from Schemaless ingestion
Notes on Photon - Databricks' query engine over data lakes
When and How to Invalidate Cache
Cache Invalidation
Feedback Loops
Little's Law and Service Latency
Don't point out something wrong immediately
How and why the Relational Model works for databases
`defaulted` constructor in C++
How electrical energy powers the light bulb in your house
C++ exception (3) – catching an exception
C++ exception (2) — throwing an exception
C++ exception (1) — zero-cost exception handling
Application Binary Interface from the Ground Up
Fix Flickering Relay Switch caused by Nest Thermostat
`struct Foo f;` and `struct Foo f{};` are very different
Learning C++ Memory Model from a Distributed System's Perspective
Fiber-compatible Future
DNS – the first distributed database
There's Nothing 100% in Computer Science
When would someone use std::enable_shared_from_this
How FoundationDB works and why it works
Paxos vs. Quorum-based Consistency
Build `folly::coro` with GCC
Why you don't need virtual base destructor with smart pointers
How `AUTO_INCREMENT` works on MySQL
SeqLock
`folly::Indestructible`
C++ Map Lookup Memoization
C++ Type Erasure and `std::function`
atomic_thread_fence
Paxos Commit with Constraints
How C++ `typeid` operator works
BW-Tree
GNU Visibility Attribute
Fix visual artifact on Linux running AMD 3400G
Compile `folly` from source on Arch Linux
std::atomic from bottom up
Read-Write Transaction API
Synchronized Multi-Append
Linear scalable read-write lock
Global Data Locality – Why and How
My Ben Eater 8-bit breadboard build
Every Computer System is a State Machine – TLA+ series (1)
2 + 2 can be 22
API for Assigning Timestamp
Notes on the Google Spanner Paper
Unary Plus
Understanding Paxos as a Read-modify-write Transaction
Stack overflow
Re-entrant vs. Thread-safe
Discover Paxos via 2pc
Compare Small Versions that Wrap Around
Notes on the Amazon Aurora Paper
Non-blocking 2pc
Proper Boost Installation on OSX
Debugging Random Program Behavior
Consistent Badge Count at Scale
Paxos at its heart is very simple
Paxos Replication vs. Leader-Follower Replication
Different ways of caching and maintaining cache consistency
请不要再称数据库是CP或者AP (Please stop calling databases CP or AP)
State Machine and Synchronization
A Look into Return Value Optimization of C++
Time and Order
subscribe via RSS