Some solid advice on how to debug and in general make sense of complex distributed systems. Deductive reasoning is unlikely to work; we need to rely on empirical methods instead.