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?
This discussion has been archived.
No new comments can be posted.
Why "man -w" will Sometimes Print "gimme gimme gimme"
|
Log In/Create an Account
| Top
| 70 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
(1)
(Score: 5, Funny) by Snow on Wednesday November 22 2017, @07:49PM (16 children)
I usually put little Easter eggs in my documentation and that's how I know no one ever reads it.
(Score: 1, Disagree) by Rosco P. Coltrane on Wednesday November 22 2017, @08:10PM (12 children)
man is documentation - and people do use it.
Also, most people wish the stuff they use to do actual work wasn't trying to be funny or witty. There are other venues for that.
(Score: 5, Informative) by All Your Lawn Are Belong To Us on Wednesday November 22 2017, @08:40PM
[Citation needed]
This sig for rent.
(Score: 4, Insightful) by Azuma Hazuki on Wednesday November 22 2017, @08:57PM
Pssh, you're just jealous 'cause YOUR Aptitude doesn't have Super Cow Powers!
I am "that girl" your mother warned you about...
(Score: 3, Informative) by tekk on Wednesday November 22 2017, @11:30PM (5 children)
Did you read the article (well, it *is* soylent...)? Man never *doesn't* work, it just prints the message that gets returned when you don't pass it a man page if it's 00:30
(Score: 4, Interesting) by edIII on Thursday November 23 2017, @12:07AM (4 children)
Haven't read the article, but that's not true I think. Just ran "man -w" and received:
Now I don't know why, but if I was running "man -w" in a backtick from Perl trying to receive those paths, I would instead be parsing, "gimme gimme gimme". That's problematic because it isn't delimited the same way, won't be interpreted correctly, and the process would receive a failure code. Probably would only happen during installations or some obscure scripting, but if it WAS critical, then the Easter Egg did more harm than good.
I'm all for being laid back and including Easter Eggs, and I do with some of the stuff I've done, but I've NEVER compromised function. Just added some funny shit that had no effect or bearing upon the process. Stuff like replacing some employee's names and login information upon login, or replacing a background image with something humorous. All display time Easter Eggs, in non-critical systems and processes.
I can see the argument to keep it serious. Most of the stuff I do with servers and programming is for serious applications, and not entertainment. I don't need to spend 20 minutes to figure out that something failed because of a very weird corrupted output from a well understood function that somebody thought would be funny.
Technically, lunchtime is at any moment. It's just a wave function.
(Score: 1) by Ethanol-fueled on Thursday November 23 2017, @02:26AM
The older versions of Ubuntu have a similar easter egg:
(Score: 2, Informative) by Anonymous Coward on Thursday November 23 2017, @03:41AM
Apparently, using "man" with just a "-w" switch and without arguments WASN'T a documented way of using it. Once they heard that someone WAS using it that way, they didn't say "you're using it wrong", but acknowledged the usage and the Easter egg was limited to just man without switches OR arguments.
(Score: 4, Informative) by ncc74656 on Thursday November 23 2017, @03:49AM
Only if you're parsing stderr instead of stdout. Here's the relevant set of lines in man.c, which I'll run together since the indentation will be fscked up anyway: if (localnow && localnow->tm_hour == 0 && localnow->tm_min == 30) fprintf (stderr, "gimme gimme gimme\n");
(Score: 5, Informative) by tekk on Thursday November 23 2017, @04:56AM
Looking at the man page, using man -w without a man page isn't allowed, the entry for -w doesn't say that you're allowed to omit a page; basically it's undocumented behavior that people are relying on.
(Score: 5, Funny) by TheRaven on Thursday November 23 2017, @08:59AM (2 children)
sudo mod me up
(Score: 0) by Anonymous Coward on Thursday November 23 2017, @01:34PM (1 child)
In the name of gender equality, future Linux distribution will not only come with man, but also with woman.
(Score: 0) by Anonymous Coward on Monday November 27 2017, @07:04PM
Emacs already does :)
(Score: 2) by Runaway1956 on Thursday November 23 2017, @03:25PM
"and people do use it"
More citations needed. I'm pretty sure the only people who use man are techies and geeks, and not even all of those. The average twit has no idea what man is.
(Score: 4, Interesting) by nobu_the_bard on Wednesday November 22 2017, @08:48PM (2 children)
Same with me, and in the comments of scripts and code. The actual code doesn't have any.
I know not many people read them, because they're mostly strange quotes and jokes I never get asked about.
But sometimes someone chuckles and gives me a friendly look, and its all worth it.
(Score: 3, Insightful) by bob_super on Wednesday November 22 2017, @09:38PM (1 child)
I used to put specific messages in code that was going to go through code review. Some pretty obvious, and some more subtle.
Pretty good way to know who had looked at all, who had skimmed, and who I could trust to care about bugs.
(Score: 2) by edIII on Thursday November 23 2017, @12:12AM
Yeah. If I never see you complain, maybe you didn't review my code :)
I kind of like your idea.
Technically, lunchtime is at any moment. It's just a wave function.
(Score: 4, Funny) by wonkey_monkey on Wednesday November 22 2017, @08:10PM (42 children)
Yeah, stuff like this will help people see that Linux is an option for professional computing and not just a hobby for a bunch of nerds...
systemd is Roko's Basilisk
(Score: 5, Touché) by Rosco P. Coltrane on Wednesday November 22 2017, @08:13PM (8 children)
Linux is just trying to look as professional as Microsoft [wikipedia.org]...
(Score: 2) by EvilSS on Wednesday November 22 2017, @08:23PM (4 children)
(Score: 5, Insightful) by MostCynical on Wednesday November 22 2017, @08:30PM
Sad, that flight simulator was the best bit of Excel.
"I guess once you start doubting, there's no end to it." -Batou, Ghost in the Shell: Stand Alone Complex
(Score: 4, Touché) by SomeGuy on Wednesday November 22 2017, @09:17PM
I hear there are some rotten easter eggs in Microsoft's Windows telemetry code, but you will never be allowed to see them.
Trustworthy, riiiiight.
(Score: 2) by DannyB on Wednesday November 22 2017, @09:39PM (1 child)
I don't think the Blue Screen was removed until Vista, long after 2002.
Blue Scream of Death is an easter egg, isn't it?
The lower I set my standards the more accomplishments I have.
(Score: 0) by Anonymous Coward on Wednesday November 22 2017, @10:50PM
It's still there, but you have to disable the automatic restart to see the BSOD.
(Score: 3, Touché) by DannyB on Wednesday November 22 2017, @09:35PM (2 children)
Microsoft trying to look professional? Remember that Windows XP had the PlaySkool theme by default.
The lower I set my standards the more accomplishments I have.
(Score: 2) by edIII on Wednesday November 22 2017, @11:55PM (1 child)
I think I may literally be the only guy that liked it. I dunno why, but I like it, and some days, miss running Windows XP. The rolling hills were calming :)
Technically, lunchtime is at any moment. It's just a wave function.
(Score: 0) by Anonymous Coward on Thursday November 23 2017, @06:06PM
I like it too, it reminds me of Teletubbies.
(Score: 4, Insightful) by Arik on Wednesday November 22 2017, @08:50PM (20 children)
Then you can shove it, we don't need it.
If laughter is the best medicine, who are the best doctors?
(Score: 3, Insightful) by wonkey_monkey on Wednesday November 22 2017, @09:50PM (19 children)
No, it means no inconsistent behaviour.
systemd is Roko's Basilisk
(Score: 3, Informative) by maxwell demon on Wednesday November 22 2017, @11:37PM (10 children)
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)
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)
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:
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)
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
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
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)
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)
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)
That's not what it says on my system:
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)
Well, I now decided to look in the source: [nongnu.org]
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
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
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)
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
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)
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)
If laughter is the best medicine, who are the best doctors?
(Score: 0) by Anonymous Coward on Thursday November 23 2017, @10:09PM
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)
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
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?
(Score: 1) by ataradov on Wednesday November 22 2017, @10:12PM (3 children)
Just like flight simulator in Excel?
(Score: 3, Touché) by wonkey_monkey on Wednesday November 22 2017, @10:56PM (2 children)
No, not exactly like it, because Excel doesn't behave differently when you use a documented command at a certain time of day.
But, since you mentioned it:
systemd is Roko's Basilisk
(Score: 0) by Anonymous Coward on Thursday November 23 2017, @01:42PM (1 child)
Emphasis by me:
Nor does man.
(Score: 2) by wonkey_monkey on Thursday November 23 2017, @06:12PM
-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: 5, Insightful) by sjames on Wednesday November 22 2017, @10:31PM (4 children)
Many professional products contain easter eggs and other humor. In the case of mathematics textbooks, it well predates computers.
I recall Corel Draw (for Windows) had an easter egg where you could control the burner on a little hot air balloon with the mouse button.
(Score: 2) by wonkey_monkey on Wednesday November 22 2017, @11:00PM (3 children)
An easter egg shouldn't hijack a documented switch at a certain time of day. And "everyone else does it" isn't a great excuse, anyway. Microsoft saw fit to ban them in the name of "Trustworthy Computing."
Lovely. Not so lovely if undocumented/unexpected code turns out have an exploitable bug in it, of course.
systemd is Roko's Basilisk
(Score: 0, Disagree) by Anonymous Coward on Thursday November 23 2017, @08:48AM (1 child)
Apparently the documented behavior of that switch is to print "missing argument" - though that never actually worked.
(Score: 0) by Anonymous Coward on Thursday November 23 2017, @09:43AM
man -w
/usr/local/man:/usr/local/share/man:/usr/share/man
And this is what the documentation says it is supposed to do:
-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.
It doesn't say it's supposed to output "gimme gimme gimme" when run sometime after midnight.
(Score: 2) by sjames on Thursday November 23 2017, @11:36PM
I fail to see the harm. It does perform it's documented behavior. The funny output is on stderr, so an automated script won't trip over it. It doesn't mess with the return code.
(Score: 2) by isostatic on Thursday November 23 2017, @05:46PM (2 children)
Sorry, convince who? You realize that 90% of the world runs on linux right?
(Score: 2) by wonkey_monkey on Thursday November 23 2017, @06:19PM (1 child)
90% of the world's computers might - though I don't know what that number truly represents or where you got it from - but desktop share is single figures.
systemd is Roko's Basilisk
(Score: 2) by isostatic on Friday November 24 2017, @07:17PM
40% of end users are running linux. Next is 36% with windows
Server side it's about 2 in 3 linux - https://w3techs.com/technologies/overview/operating_system/all [w3techs.com]
Supercomputer wise it's 100%
(Score: 5, Interesting) by MichaelDavidCrawford on Wednesday November 22 2017, @08:15PM (2 children)
It was in the 2Market home shopping CD. This was about the last of the multimedia CDROMs, just before the dot-com boom took off.
It had catalogs for such merchants as land's end, and absolutely positively had to be delivered to end users by Black Friday.
My coworker said "Hey Mike, look at this!" then clicked on his name in the credits. It displayed a picture of him holding his newborn son. "Do you want to put anything in it?"
When you clicked on my name, you got a recording of me saying "Hi Mom!".
This was a contract job. Medior - my employer - was a multimedia developer who mostly did sales presentation CDs for big businesses. 2Market was a new... market... for us. Medior pressed 250,000 CDs, then delivered them to the customer.
Who discovered our Easter egg.
The customer wanted the CDs repressed. Barry Schuler, the president of medior, got down on his knees and begged not to have to do that. The customer relented.
The company celebrated by renting out a pool hall. During the party one of the execs asked me why I that that Easter egg was a good idea. Oopsy.
I think apologized to Barry Schuler, who assigned me the special task of ensuring that no one ever did that again.
Yes I Have No Bananas. [gofundme.com]
(Score: 5, Insightful) by edIII on Thursday November 23 2017, @12:19AM
Dear lord, what was the problem? It's CREDITS. A man holding his baby, and you say some apple-pie Leave-It-To-Beaver message to your own mother? Yeah, Thank God they caught it right? Customers would've been trying to find you to kill you, death threats sent to corporate, and the Pope issues a formal condemnation.
You know, that ISN'T an Easter Egg. Sorry, don't think it qualifies after thinking about it. Sounds like a novel and interesting way to show credits for work that *shouldn't* be controversial.
That customer didn't need a sense of humor, but the jaws of life on their backside to remove their head.
Technically, lunchtime is at any moment. It's just a wave function.
(Score: 0) by Anonymous Coward on Thursday November 23 2017, @09:36AM
And I don't consider it an easter egg at all, just fancier and more interesting credits (which many other software have). Look at the credits for movies nowadays too. More people actually stay back to watch them.
Stuff like the sony CD rootkit on the other hand deserves sending people to jail for.
(Score: 2) by All Your Lawn Are Belong To Us on Wednesday November 22 2017, @08:50PM
The panopoly of Apple Newton Easter Eggs [mackido.com]. All pretty good. But none better than you could search for Area 51 as a location and then for the rest of the day it would replace your Dates icons with aliens and ships.
This sig for rent.
(Score: 2) by DannyB on Wednesday November 22 2017, @10:47PM (1 child)
Does the Intel Management Engine in your processor have easter eggs?
Happy Thanksgiving, keep it real, without use of an FPU.
The lower I set my standards the more accomplishments I have.
(Score: 3, Funny) by c0lo on Wednesday November 22 2017, @11:11PM
Easter eggs for Thanksgiving, how appropriately traditional...! (grin)
https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
(Score: 1, Interesting) by Anonymous Coward on Wednesday November 22 2017, @10:52PM
telnet towel.blinkenlights.nl
(Score: 5, Informative) by NotSanguine on Thursday November 23 2017, @12:46AM
But back when I was in college, the admins there modified their primary SMTP server's Sendmail $e macro (now 'SMTPGreetingmessage' since v8.7) option to be "$j is ready for love" with a timestamp. [docstore.mik.ua]
Of course no one would see it unless they connected (telnet, usually) manually to Sendmail (tcp/25) on the server and issue the 'HELO' command. It (like the 'man -w' bit in TFA) didn't impact functionality, it was just the admins having a little fun.
Nothing wrong with this bit or the 'man -w' bit either. Some folks just have no sense of humor.
No, no, you're not thinking; you're just being logical. --Niels Bohr
(Score: 2, Informative) by pkrasimirov on Thursday November 23 2017, @05:15PM (1 child)
> Six years is a reasonable shelf life for a joke, but I think its time has passed now.
https://git.savannah.nongnu.org/cgit/man-db.git/commit/?id=b225d9e76fbb0a6a4539c0992fba88c83f0bd37e [nongnu.org]
(Score: 0) by Anonymous Coward on Thursday November 23 2017, @06:21PM
Too late, I've switched to Texinfo for good.