Posts
-
Integer Division in Bucketed Time Series
-
A Mental Model for C++ Coroutine
-
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