testing STDERR messages
redirecting all output to a file
storing STDOUT, then coming back to it
redirecting input file descriptors
redirecting output to different locations
redirecting file input
using an alternative file descriptor