> 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 -- > > >