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?
(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.