what problems have you run into with redirection in the terminal? so far I have:
1. trying to read and write to the same file overwrites the file with an empty version (like `grep blah file.txt > file.txt`)
2. `sudo echo blah > /etc/file.txt` doesn't work (you can `echo blah | sudo tee file.txt` instead)
3. remembering where you're supposed to put 2>&1 to redirect stderr to stdout is hard
For that reason also running `foo` and `cat | foo` will exhibit different effective stdin buffering behaviour -- in the former case `foo` will see your input line-by-line while in the latter likely will see it only once you send EOF (the buffer is iirc 16KiB).