>  It seems to be such a well-
> known concept that nobody really talks about it in detail on the web.
> I know what they are by definition, but beyond that I'm having trouble
> finding anything.

Hm. Under Unix, processes automatically have three streams/files
attached to them:

"At program startup, three streams are predefined and need not be
opened explicitly: standard input (for reading conventional input),
standard output (for writing conventional output) and standard error
(for writing diagnostic output)."
(http://www.opengroup.org/onlinepubs/007908799/xsh/stdout.html)

By default, stdin is the input coming from the keyboard and stderr and
stdout are output to the terminal the process is running in. This can
be manipulated, though. For example if you want the output of a script
`myprog.rb` to be written into a file named `output` rather than on
the terminal, you redirect the output like this:

$ myprog.rb > output

Under Unix (you'll need to experiment with windows) this only
redirects stdin, which is useful, because you still get to see error
messages and they won't get mixed in with the results of the program.

stdout is also where everything you write with `puts` and `printf` ends up.

Google for something like "unix beginner's tutorial" and search around
in there for terms like `pipe` and `redirection`
   -tim


>
> Any help/information you can provide is greatly appreciated.
>
> Thanks --
>
>
>