Two-sided membership needs one lock, not two
A bidirectional relationship — users know their rooms, rooms know their users — has to be updated under a single lock, or readers will catch it half-done.
#Go#Concurrency#Data Structures#Real-time Systems
Long-form writing on backend systems, databases, APIs, concurrency, and the trade-offs behind them.
Longer, structured write-ups. Shorter takes are under Opinions .
A bidirectional relationship — users know their rooms, rooms know their users — has to be updated under a single lock, or readers will catch it half-done.
When a client library wraps ~25 near-identical HTTP endpoints, describing them as data instead of writing 25 methods pays off — with one real trade-off.