[Nix-dev] less: When assumptions ruin the world

Charles Strahan charles.c.strahan at gmail.com
Fri Jan 2 03:18:52 CET 2015


I agree with this. I have `less` configured to restore the screen at
termination
(via smcup/rmcup), which is a bit annoying if I want to keep the results
around.

I'd rather be explicit about opting-in to the pager being used (with `|
less`)
rather than opting-out (with `| cat`).

I also have to explicitly hit 'q' to get back to my shell.

Perhaps suggesting shell aliases would be sufficient for those that may
want the
pager by default?

-Charles


On Thu, Jan 1, 2015 at 8:36 PM, Ertugrul Söylemez <ertesx at gmx.de> wrote:

> Hi everybody,
>
> since Nix 1.8 much of the output of nix commands is piped through
> `less`, which is certainly meant to be a convenience, but that
> convenience depends on a few assumptions:
>
>   * the user uses a crappy terminal emulator,
>   * the user is interested in all of the output,
>   * the user reads using their eyes.
>
> The first assumption is wrong for me and probably for a lot of other
> people as well.  The second assumption is wrong for me most of the time;
> in most cases only the last few lines are interesting.  The third one is
> wrong for blind people.  If they can't afford an external braille
> terminal (not those single-line pads, which are expensive enough, but a
> real terminal), they will rely on text-to-speech.
>
> If not all three assumptions hold, then this "feature" makes Nix
> consistently `less` convenient to use.  Not only do I have to press `q`
> now, but `less` is an ncurses program, which means that the output
> disappears after quitting.  This does not happen when I just use my
> terminal emulator to scroll, and yes, most of them if not all allow
> scrolling with the keyboard (commonly Shift+PageUp and Shift+PageDown).
>
> Furthermore we hold in our hands an operating system that follows the
> Unix philosophy, which is about composability.  There is simply no need
> to precompose everything with `less`.  As humans we are smart beings,
> and we have a powerful shell, so that every user can decide for
> themselves when to use a pager.
>
> Also remember that we may have disabled users.  A blind person will
> dislike this new anti-feature even more than I do, because `less` is not
> exactly a text-to-speech-friendly program.
>
> Feature request 1:  Please do your part in saving the software world and
> remove this anti-feature.  Don't even consider making it optional.  It's
> useless.  Remove it.  In the future, whenever you think that some
> UX-related automation will make things easier, think again.  You are
> most likely wrong.  Just look at the huge damage that Microsoft has done
> by assuming that users are complete idiots.
>
> Feature request 2:  Also I strongly believe that `--help` should
> absolutely never open a man-page.  When we need a manual, we will use
> the `man` command, but in most cases we just need a quick reminder of
> what that one option was called that we're failing to recall, so I would
> much prefer the original purpose of the `--help` option:  Print a short
> summary to the terminal.
>
> If this appears superficial to you, please remember that many little bad
> things can do a lot of damage in the long run.  The purpose of this post
> is to wake everybody up before it's too late.
>
> I hope that some people agree with me, and if yes, I will turn these
> into actual feature requests on Github.  I'm also happy to help with
> implementing the latter one, because writing a good `--help` system for
> commands with subcommands is not necessarily easy.
>
>
> Greets,
> Ertugrul
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20150101/1205c346/attachment.html 


More information about the nix-dev mailing list