@robryk maybe a better example is how `rm -file.txt` won't remove a file called `-file.txt`
it's pretty easy to understand *why* that problem is happening, but even if you understand why it's happening I don't think the solutions (`rm -- -file.txt`, `rm ./file.txt`) are that obvious, I'm not sure if I personally would have thought of them if someone didn't tell me
@robryk one example is "output from a command getting buffered and not immediately landing in your redirection target" -- like I have a somewhat reasonable understanding of flushing / how buffering interacts with libc
but that doesn't help me thaaat much to navigate the world of possible solutions (unbuffer`, `stdbuffff`, etc) -- I have to kind of just try stuff and see what works