Shared Memory Consistency from Scratch Part 1: Causality | Hacker News Reader