> hget is similar to almost all plan 9 programs > and (not surprisingly) different from many > modern unix programs in that, by default, > it writes to standard output.
This may seem idiosyncratic, but it has a big benefit. On various machines I have wget, curl, fetch, etc., and each one has a different policy for where it puts its output--some of them "helpfully" choose a semi-predictable filename instead of overwriting an existing file, which is almost always anti-helpful, because I'm generally *trying* to overwrite the (obsolete) existing file with the new bits. Each one helpfully provides a "no, really, name the file this: ____" flag which will allow me to manually tell it to put the bits where it supposedly automatically puts them, BUT EACH ONE USES A DIFFERENT LETTER FOR THIS FUNCTION. Is it wget where it's -o and curl where it's -O, or the other way around? Whee! In sharp contrast, the "option letter" for sending stdout to somewhere is always the same: '>'. By having this one feature in the shell and *not* having it in every other program, life is improved despite there being fewer lines of code. How odd. Dave Eckhardt