[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
(via smcup/rmcup), which is a bit annoying if I want to keep the results

I'd rather be explicit about opting-in to the pager being used (with `|
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?


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