Hard drives and network pipes are non-deterministic too, we use error correction to deal with that problem.