hmm. when reading, /dev/null behaves like an empty file but /dev/zero gives you endless amounts of NUL bytes ('\0') ; iirc and the /dev/random and /dev/urandom gives you endless amounts of random bytes, but there is a subtle difference between those random sources.