Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Wednesday November 22 2017, @07:42PM   Printer-friendly
from the ABBA++ dept.

Spotted at Lobsters is a thread about a stackoverflow question on man; why does running "man -w" report "gimme gimme gimme" when run at 00:30?

This gets this response:

Pretty much the whole story is in the commit. The maintainer of man is a good friend of mine, and one day six years ago I jokingly said to him that if you invoke man after midnight it should print "gimme gimme gimme", because of the Abba song called "Gimme gimme gimme a man after midnight":

Well, he did actually put it in. A few people were amused to discover it, and we mostly forgot about it until today.

The commit in question, and more commentary over at HackerNews.

Anyone know of other good easter eggs that have cropped up unexpectedly and caught users out?


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Insightful) by wonkey_monkey on Wednesday November 22 2017, @09:50PM (19 children)

    by wonkey_monkey (279) on Wednesday November 22 2017, @09:50PM (#600370) Homepage

    No, it means no inconsistent behaviour.

    --
    systemd is Roko's Basilisk
    Starting Score:    1  point
    Moderation   +1  
       Insightful=1, Disagree=1, Total=2
    Extra 'Insightful' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 3, Informative) by maxwell demon on Wednesday November 22 2017, @11:37PM (10 children)

    by maxwell demon (1608) on Wednesday November 22 2017, @11:37PM (#600425) Journal

    But the behaviour of Easter eggs is consistent. The Easter egg is consistently triggered under the exact same conditions each time.

    --
    The Tao of math: The numbers you can count are not the real numbers.
    • (Score: 0) by Anonymous Coward on Thursday November 23 2017, @09:26AM (9 children)

      by Anonymous Coward on Thursday November 23 2017, @09:26AM (#600585)
      Don't consider it consistent when the documented features stop working as per documented. e.g man -w stopped working as documented.

      In contrast stuff like the Excel flight simulator was unlikely to be triggered by accident when using features as documented.
      • (Score: 2, Informative) by Anonymous Coward on Thursday November 23 2017, @09:44AM (3 children)

        by Anonymous Coward on Thursday November 23 2017, @09:44AM (#600592)

        Don't consider it consistent when the documented features stop working as per documented. e.g man -w stopped working as documented.

        No, man -w didn't stop working as documented.

        Using man -w [pagename] continued to work exactly the same as before.

        Using man -w without a pagename didn't stop working as documented either, because that would imply that before it would have worked as documented, which in turn would imply that this usage had been documented at all. As a general rule, undocumented behaviour may change at any time.

        Here's an excerpt of the man page of man:

        SYNOPSIS
               man  [-C  file]  [-d]  [-D]  [--warnings[=warnings]]  [-R encoding] [-L
               locale] [-m system[,...]] [-M path] [-S list]  [-e  extension]  [-i|-I]
               [--regex|--wildcard]   [--names-only]  [-a]  [-u]  [--no-subpages]  [-P
               pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justifi-
               cation]  [-p  string]  [-t]  [-T[device]]  [-H[browser]] [-X[dpi]] [-Z]
               [[section] page ...] ...
               man -k [apropos options] regexp ...
               man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...
               man -f [whatis options] page ...
               man -l [-C file] [-d] [-D] [--warnings[=warnings]]  [-R  encoding]  [-L
               locale]  [-P  pager]  [-r  prompt]  [-7] [-E encoding] [-p string] [-t]
               [-T[device]] [-H[browser]] [-X[dpi]] [-Z] file ...
               man -w|-W [-C file] [-d] [-D] page ...
               man -c [-C file] [-d] [-D] page ...
               man [-?V]

        Note that all forms using the -w option have a non-optional argument.

        Also note that there's no documentation of what error messages it may spit out; since "gimme gimme gimme" was output on stderr, it was a (admittedly not very instructive) error message. And it does spit out error messages other than "gimme gimme gimme"; those error messages are unspecified (and also locale dependent by the way). And while I'm too lazy to search through the repository, I would bet that some error messages changed over time.

        So no, man -w didn't stop working as documented.

        • (Score: 2) by wonkey_monkey on Thursday November 23 2017, @06:10PM (1 child)

          by wonkey_monkey (279) on Thursday November 23 2017, @06:10PM (#600740) Homepage

          That's not what my man says:

          -w or --path
                      Don’t actually display the man pages, but do print the loca-
                      tion(s) of the files that would be formatted or displayed. If no
                      argument is given: display (on stdout) the list of directories
                      that is searched by man for man pages.
          If manpath is a link to
                      man, then "manpath" is equivalent to "man --path".

          --
          systemd is Roko's Basilisk
          • (Score: 2) by maxwell demon on Friday November 24 2017, @07:22AM

            by maxwell demon (1608) on Friday November 24 2017, @07:22AM (#600983) Journal

            Well, what actually matters is what the man which contained the Easter egg says. Elsethread I've quoted that, directly from the repository. It doesn't allow -w without argument.

            --
            The Tao of math: The numbers you can count are not the real numbers.
        • (Score: 2) by wonkey_monkey on Thursday November 23 2017, @06:26PM

          by wonkey_monkey (279) on Thursday November 23 2017, @06:26PM (#600754) Homepage

          Further to my previous comment: what you've quoted there is from a version of man somewhere between 7 and 16 years old.

          --
          systemd is Roko's Basilisk
      • (Score: 2) by Arik on Thursday November 23 2017, @10:17AM (4 children)

        by Arik (4543) on Thursday November 23 2017, @10:17AM (#600596) Journal
        "man -w stopped working as documented."

        Did not.
        --
        If laughter is the best medicine, who are the best doctors?
        • (Score: 2) by wonkey_monkey on Thursday November 23 2017, @06:21PM (3 children)

          by wonkey_monkey (279) on Thursday November 23 2017, @06:21PM (#600750) Homepage

          Did too.

          -w or --path
                      Don’t actually display the man pages, but do print the loca-
                      tion(s) of the files that would be formatted or displayed. If no
                      argument is given: display (on stdout) the list of directories
                      that is searched by man for man pages.
          If manpath is a link to
                      man, then "manpath" is equivalent to "man --path".

          --
          systemd is Roko's Basilisk
          • (Score: 2) by maxwell demon on Thursday November 23 2017, @06:56PM (2 children)

            by maxwell demon (1608) on Thursday November 23 2017, @06:56PM (#600765) Journal

            That's not what it says on my system:

                   -w, --where, --path, --location
                          Don't actually display the manual pages, but do print the  loca-
                          tion(s) of the source nroff files that would be formatted.

            Checked on 3 different versions of Linux (all Debian/Ubuntu based, though).

            --
            The Tao of math: The numbers you can count are not the real numbers.
            • (Score: 2) by maxwell demon on Thursday November 23 2017, @07:09PM (1 child)

              by maxwell demon (1608) on Thursday November 23 2017, @07:09PM (#600774) Journal

              Well, I now decided to look in the source: [nongnu.org]

              .TP
              .if !'po4a'hide' .BR \-w ", " \-\-where ", " \-\-path ", " \-\-location
              Don't actually display the manual pages, but do print the location(s) of
              the source nroff files that would be formatted.
              .TP

              Note that this is from the very repository in which the Easter egg was added.

              --
              The Tao of math: The numbers you can count are not the real numbers.
              • (Score: 0) by Anonymous Coward on Thursday November 23 2017, @10:05PM

                by Anonymous Coward on Thursday November 23 2017, @10:05PM (#600846)

                Things are a bit confusing because there are at least two different implementations of man in common use today on GNU/Linux systems.

                The subject of this article is man-db [nongnu.org], a reimplementation of the older "man" (whose website has been down for some time now but it is archived here [archive.org] -- I'm not sure if anyone has taken over from this)

                There are several differences, including (apparently) the documentation of the -w option. The part quoted by wonkey_money is from the classic "man" version.

  • (Score: 0) by Anonymous Coward on Thursday November 23 2017, @02:51AM

    by Anonymous Coward on Thursday November 23 2017, @02:51AM (#600479)

    No, it means no inconsistent behaviour.

    Well, we all know that Linus Torvalds is a prime example of consistent behavior.

  • (Score: 2) by Arik on Thursday November 23 2017, @09:40AM (6 children)

    by Arik (4543) on Thursday November 23 2017, @09:40AM (#600590) Journal
    Really? Are you sure? Inconsistent with what?

    Inconsistent with the documentation? Well, no. The documentation specifies only using man -w with a manpage. You have to omit the manpage to get this, if you're relying on the documentation you wouldn't expect that to do anything but throw an error.

    Which is exactly what it does. The 'easter egg' goes to sterr. So even the scripts are happy.

    So what's it inconsistent with? What possible reason is there to object to this beyond being a sad humorless control freak that doesn't like to be reminded that other people have wit and sometimes even a little fun while working?
    --
    If laughter is the best medicine, who are the best doctors?
    • (Score: 0) by Anonymous Coward on Thursday November 23 2017, @01:40PM

      by Anonymous Coward on Thursday November 23 2017, @01:40PM (#600647)

      Well, if you look at the Stack Exchange post, apparently it broke some test case.

    • (Score: 2) by wonkey_monkey on Thursday November 23 2017, @06:24PM (4 children)

      by wonkey_monkey (279) on Thursday November 23 2017, @06:24PM (#600751) Homepage

      The documentation you land on if you Google "man man page" might only specify -w with an argument, but that page is 7 years old.

      -w or --path
                  Don’t actually display the man pages, but do print the loca-
                  tion(s) of the files that would be formatted or displayed. If no
                  argument is given: display (on stdout) the list of directories
                  that is searched by man for man pages.
      If manpath is a link to
                  man, then "manpath" is equivalent to "man --path".

      --
      systemd is Roko's Basilisk
      • (Score: 2) by Arik on Thursday November 23 2017, @06:43PM (3 children)

        by Arik (4543) on Thursday November 23 2017, @06:43PM (#600759) Journal
        OK, assuming you're right, the timeline is that this was completely consistent with the documentation until the documentation was changed in error.
        --
        If laughter is the best medicine, who are the best doctors?
        • (Score: 0) by Anonymous Coward on Thursday November 23 2017, @10:09PM

          by Anonymous Coward on Thursday November 23 2017, @10:09PM (#600849)

          The quoted snippet above is from the manual of the classic "man" package, not from "man-db" which is the subject of this article. In classic "man" the -w option is clearly documented to work without any additional arguments.

          Completely pointless incompatibilities between the two implementations is probably not a desirable scenario for anyone.

        • (Score: 2) by wonkey_monkey on Thursday November 23 2017, @10:44PM (1 child)

          by wonkey_monkey (279) on Thursday November 23 2017, @10:44PM (#600859) Homepage

          Why do you assume the documentation was changed in error? Can't it have been a deliberate change to the functionality of the program?

          --
          systemd is Roko's Basilisk
          • (Score: 2) by Arik on Friday November 24 2017, @04:19AM

            by Arik (4543) on Friday November 24 2017, @04:19AM (#600921) Journal
            Actually reading it again I take that back, I was wrong.

            It's actually consistent with the documentation you quoted, regardless of when it was changed, they're still consistent.

            This is because the doc specifies the output to stdout, and that's exactly what you get on stdout.

            The 'easter egg' doesn't print to stdout, it prints to stderr.
            --
            If laughter is the best medicine, who are the best doctors?