5 ms·
These are all good points, and I wish more clis were like this. My own pet peeve is un-disablable stdout logging. > It’s important that each row of your output
by ISO-morphism 8y ago
These are all good points, and I wish more clis were like this. My own pet peeve is un-disablable stdout logging.
> It’s important that each row of your output is a single ‘entry’ of data.
It felt weird to me to use `ls` as an example as it's not immediately obvious it adheres to the advice from the printed output. I suppose they were also trying to highlight the earlier point of differing output format depending on whether output is a tty/pipe.
Unrelated, but I didn't know `ls` was that smart about isatty. Once upon a time I read the '-1' option to print one name per line in the man page and assumed it was necessary for that functionality. Thanks!
- dickeytk 8y agoI just picked `ls` as it's a common utility everyone understands and isn't some contrived example using `cat`. I am going to add a note about `ls`'s behavior with isatty. It's sort of conflating a couple of things, but I think it's interesting enough to leave it in.
- ISO-morphism 8y agoI agree, it is a good example, and hey I learned something. I really appreciate that you're taking the time to respond to all the feedback in this thread and wade through everyone's nitpicks. Looking forward to more articles.
- dickeytk 8y agoThank you for the great feedback!
- dotancohen 8y ago> My own pet peeve is un-disablable stdout logging. I really think that we need a stdmeta file descriptor. See my comments at the link below, I would appreciate your feedback: https://unix.stackexchange.com/questions/197809/propose-additional-file-descriptor-stdmeta https://unix.stackexchange.com/questions/197809/propose-addi...
- TeMPOraL 8y agoI like the idea in Common Lisp - beyond stdin, stdout and stderr, it also specifies bidirectional streams for general interactivity (querying users for data and accepting their input), interactive debugging and an output stream for tracing&timing code. See: http://www.lispworks.com/documentation/lw61/CLHS/Body/v_debug_.htm http://www.lispworks.com/documentation/lw61/CLHS/Body/v_debu.... Unfortunately, if using CL to deploy a CLI app for modern systems, all of this has to be shoehorned into the usual stdin/stdout/stderr split.