Software Design If a design focuses on only one issue, ie. "random data quality", the result is a wimpy interface like /dev/random, which completely ignores the other issues applications run into. I NEED TO GET RANDOM DATA IN THREADS I MAY BE IN CHROOT BUT I DON'T KNOW FOR SURE I MAY BE OUT OF FILE DESCRIPTORS BUT I DON'T KNOW FOR SURE I AM DEEP IN A LIBRARY I AM THE DNS RESOLVER IN LIBC - OPENING A DEVICE IS RIDICULOUS