top | item 15747313

Why does man print “gimme gimme gimme” at 00:30?

560 points| isp | 8 years ago |unix.stackexchange.com | reply

159 comments

order
[+] craigc|8 years ago|reply
I think people here need to lighten up. I know we are all programmers, and we are sometimes portrayed as snobby and entitled, but we don't have to live up to those stereotypes.

I understand it's frustrating when a tool you use is expected to work a certain way and it doesn't. I understand it's even more frustrating when the output could change depending on the time of day. That doesn't mean it is our place to gang up on an open source tool that is designed to make our lives easier.

I think we should be allowed to have some fun every once in a while, and this "gimme gimme gimme" easter egg is awesome.

It seems the maintainers didn't realize that this easter egg was affecting a command that was designed to have a predictable output so that is the real issue here. Just a simple bug. If this was output on some help screen or something like that then no one would be complaining.

[+] bluesmoon|8 years ago|reply
The exit value is always 0 regardless of what's printed on stderr. If code parses stderr to determine error state instead of looking at the exit code, then it's doing unix wrong.
[+] fhood|8 years ago|reply
BUT IT IS 12:30 AT NIGHT, THE CLIENT WAS PROMISED DELIVERY OF THIS FEATURE TWO WEEKS AGO, AND I CAN"T FIGURE WHY TF STDERR KEEPS OUTPUTTING GIMME GIMME GIMME!
[+] rapind|8 years ago|reply
"we are sometimes portrayed as snobby and entitled"

Huh? That's not at all the stereotype I see associated with programmers. More like the opposite. In fact, a gag like this is much more in line with the stereotype I'm familiar with.

[+] a_lieb|8 years ago|reply
Maybe command line tools should have a --no-fun flag to disable all easter eggs. I'm only half kidding. It could be undocumented, but at least it gives you a way to ensure consistent output for tests if you stumble into a problem like this.
[+] cgmg|8 years ago|reply
I just don't see a reason to modify important program functionality for the sake of a joke. There are so many other ways to show a sense of humor without doing that.
[+] Omnius|8 years ago|reply
Year's ago i was coding a warehouse management system and in this edge case, that required a moon full and blood sacrifice to even have it occur i stuck some debug code/message that was only ever meant for me to try and figure out how it was happening.

5 years later i get a call. "We have a weird error message it says ... How did i even get here! This error is bad and you should feel bad."

[+] bdamm|8 years ago|reply
As a used-to-be engineering manager for a group of engineers who didn't appreciate how often these "blood sacrifice" errors actually do occur in production, I fully appreciate the kind of "oops" feeling that comes when realizing that your obscure errors messages made it into production. Even something simple like "This has all gone terribly wrong. Call engineering." can make its way to the console of some "customer service" technician talking on the phone with an irate muggle working three companies away, and the error message triggered escalations at all three companies... you start to appreciate that maybe you should take your job seriously, and not make so many assumptions about who is using your software.
[+] vadimberman|8 years ago|reply
As an old fart who grew up with 1970s and 1980s music, I didn't even have to read the Stackexchange article to know the answer.
[+] interfixus|8 years ago|reply
Completely off on a tangent: A good friend of mine, getting on in years, just this weekend told me a story about the time he met one half of the composer-team behind that song, Benny Andersson of ABBA, at the absolute height of his fame somewhere in the mid to late seventies. Pleasant and low-key, almost self-effacing, superstardom or not. Someone tried to pull a fast one on him, and my friend, in a professional capacity, had to intercede. "Nah, let it be", said Benny in a very quiet Swedish way, "I can probably afford it".
[+] jgrahamc|8 years ago|reply
Me neither. I immediately thought "gimme, gimme, gimme" and "00:30 is after midnight" so clearly the answer is somehow Abba.
[+] AdmiralAsshat|8 years ago|reply
My mind went to the Black Flag song, so the reference was lost on me.
[+] misnome|8 years ago|reply
Perhaps it makes me a killjoy, but generally if I see things like this in our codebase I think "Great! I get to remove code today!"
[+] fusiongyro|8 years ago|reply
I had a coworker who would often just throw out a random word as a hapax legomenon if he thought an edge case was unreachable, to make it easy to search the source code. One day we got a call from an analyst: "The program says 'atrocity' and I don't know what I did wrong!"

He also thought it would be funny in another edge case to have the program print out "SB no es bueno." I thought it was funny too...

[+] mjw1007|8 years ago|reply
I think the impressive thing here is how quickly both upstream and the distros have fixed this once the problem was reported (even though the report was via an unofficial channel).
[+] donatj|8 years ago|reply
I’m beyond irritated by the presence of an output breaking easteregg in a GNU utility under standard usage. I should be able to depend on my outputs being repeatable.

Honestly, the fact that this got into the codebase makes me question the code review process of GNU and what else is potentially hiding in there.

[+] theli0nheart|8 years ago|reply
Like the OP and maintainer said, no one ran into this for 6 years—that's a darn long time in the lifetime of a program. And, as the maintainer said, "it was never meant to affect non-error cases." He pushed a change to fix that [1] and this won't break any builds in the future.

Personally, I really appreciate that a little whimsy was added into a terminal command that's literally built for reading manuals for command-line programs. IMO, this was a net-positive for humanity.

[1]: https://git.savannah.gnu.org/cgit/man-db.git/commit/?id=84bd...

[+] Clubber|8 years ago|reply
I understand what you are saying, but keep in mind, you are also bitching about software you didn't pay for, probably didn't spend time coding, yet get to use for free that probably made your career and livelihood, AND you get the source code for.

Maybe if you took a step back, you wouldn't feel so irritated. You could be stuck working on an AS400.

[+] MadcapJake|8 years ago|reply
Seriously, you expect a command meant for users to navigate manuals to be a dependable part of a pipeline?! (it was being run once a minute at that!)

People need to realize this isn't some mission-critical tool, this is a manual reader.

[+] dep_b|8 years ago|reply
This is what Rickrolls looked like before Rick Ashley recorded his first big hit.
[+] marchenko|8 years ago|reply
I bet it is a reference to the ABBA song "Gimme Gimme Gimme (a man after midnight)"

Edit: I see that is the explanation given on StackOverflow. This is probably the fewest bits needed to encode a widely-distributed earworm.

[+] reificator|8 years ago|reply
> This is probably the fewest bits needed to encode a widely-distributed earworm.

someBODY

[+] Kliment|8 years ago|reply
Even sticking to ABBA, "Waterloo!" is fewer bits and triggers an earworm just as well, but of course waterloo is not a man after midnight.
[+] ghamrick|8 years ago|reply
I worked on an (now obscure) OS named CTOS back in the 80's. In an error message file, the error message that would be delivered in the unlikely event that the correct error message could not be found was "Pressed Rat and Warthog closed down their shop". This was an even more obscure reference to a Cream song that Ginger Baker sang lead on
[+] Simon_says|8 years ago|reply
Aren't all times after midnight?
[+] nouveau0|8 years ago|reply
Yes. But, they chose 00:30 because she says "Half past twelve" at the beginning of the song
[+] Crespyl|8 years ago|reply
Midnight is not after midnight.
[+] snvzz|8 years ago|reply
This is a bug and should be fixed.
[+] em3rgent0rdr|8 years ago|reply
Easter eggs remind us we're human and bring us joy when we least suspect and might need it the most.

Obviously don't want easter eggs in things like security code.

[+] falcolas|8 years ago|reply
I was once tasked with fixing a bug around an easter egg - but it was because the easter egg stopped working.

Search for more cowbell (in a search field that's geared towards finding installs of an app), get a gif with more cowbell.

Sometimes, it's the little things that matter, that make you smile when you're in the middle of a crisis. I think the world needs more of these instead of less.

[+] koolba|8 years ago|reply
Barring an RFC or spec to code against, I'd say it's a feature that would need to be replicated.
[+] Angostura|8 years ago|reply
It's an important feature and should be documented.

There's probably someone somewhere using this as part of a mission-critical timing proceedure.

[+] gpmcadam|8 years ago|reply
Or a feature that needs adding to the specification ;)