
Why does man print “gimme gimme gimme” at 00:30? - isp
https://unix.stackexchange.com/questions/405783/why-does-man-print-gimme-gimme-gimme-at-0030
======
craigc
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.

~~~
fhood
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!

~~~
jacalata
This is a great example of a time when you should go home, get some sleep, and
everything will work in the morning :)

~~~
azernik
Sometimes your servers are set to UTC.

------
Omnius
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
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.

~~~
nulagrithom
Ah, but there's something to be said for the effectiveness of these weird
error messages. Typically the conversation would go: "We got an error come fix
it", with no further details. It can be really hard to track down from there.

I experienced something similar when troubleshooting some Chrome issues across
a Citrix XenApp farm. It was so incredibly useful to be able to ask the users
"Did you get a dinosaur or a _He 's Dead Jim_?" One was a connection issue I
could disregard, the other was the memory management problem I was trying to
track down.

Sometimes I wonder if we should make all our cryptic, developer-only errors
absurd and memorable. I've never had a user tell me anything like
"java.lang.OutOfMemoryError: Java heap space error". "The lemur jumped the
shark again" gets their attention.

~~~
ConceptJunkie
A unique error code would accomplish the same thing, but I get your point.

This happens to me all the time with the software project I work on, which is
enormous and has been around for a long, long time: the error messages usually
aren't very useful. Neither is the log. In fact, the log is often little more
than all the debug messages created during development.

~~~
nulagrithom
A unique error _code_ will accomplish little. It will serve mostly to bewilder
and frustrate you after discovering many users can't (or won't) remember so
much as two numbers.

What I'm saying is take the unique error code and add an absurd/funny phrase
to the number. It's easier for people to remember an odd mental image than it
is _ERROR CODE -42_.

~~~
anitil
I could see a use for an error code generator that would come up with
memorable nonsense sentences sort of like imgur's urls. "Error : Green
Exemplary Huemul" rather than "Error : -42"

~~~
styfle
I think you just gave me an idea for a weekend project :)

~~~
anitil
You just made my day!

------
vadimberman
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
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".

~~~
bluesmoon
Benny owns the Rival Hotel in Stockholm. They mainly play ABBA music in the
lounge. I spoke at the Stockholm webperf meetup a few years ago and the
organisers put me up at this hotel (side story about how flying from Munich to
Boston via a night in Stockholm saved me $400 in airfare). It was a really
nice, modern hotel, very comfortable, and stylish, and of course, for a
70s/80s kid, the music was great.

------
isp
Demonstration from [https://unix.stackexchange.com/questions/405783/why-does-
man...](https://unix.stackexchange.com/questions/405783/why-does-man-print-
gimme-gimme-gimme-at-0030#comment725879_405784)

    
    
        $ faketime '00:29:00' man
        What manual page do you want?
    
        $ faketime '00:30:00' man
        gimme gimme gimme
        What manual page do you want?

------
misnome
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!"

~~~
theprotocol
Programmer humor is really cringey. I fully expect to be downvoted for this
comment (outside of our cringey humor, we tend to be rather humorless and thin
skinned), but so be it.

~~~
majewsky
My downvote is not because of our collective sense of humor, but because I
deny the notion of millions of people sharing a certain collective sense of
humor.

~~~
criddell
> I deny the notion of millions of people sharing a certain collective sense
> of humor

You don't think there's any such thing as nerd culture?

~~~
rootlocus
> You don't think there's any such thing as nerd culture?

Nothing is ever black or white. I'm most certainly a nerd, but that doesn't
mean I have the same sense of humor as every other nerd. Think of it like
inheritance vs composition. Just because I'm a nerd, doesn't mean I inherit
everything other nerds have. I only have some components. And while I
appreciate Sci-Fi movies, I don't participate in wars between Star Wars and
Star Trek (I think Stargate SG1 was better anyway).

~~~
criddell
> that doesn't mean I have the same sense of humor as every other nerd

Of course not. Think _statistically significant_ rather than about absolutes.

------
fusiongyro
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...

~~~
ams6110
Really not much different from using a unique "error" number, and certainly
easier to communicate without transposition or other unintentional errors:

Compare:

"The program says 'atrocity' and I don't know what I did wrong!"

vs.

"The program says 'error 567231' and I don't know what I did wrong!"

~~~
fusiongyro
True, but atrocity conveys something extra that 567231 does not. Or at least
that's what the humans tell me.

------
mjw1007
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).

------
pm215
Note in particular the comment from the man-db maintainer: "Oops! It was never
meant to affect non-error cases" \-- and this upstream commit
[https://git.savannah.gnu.org/cgit/man-
db.git/commit/?id=84bd...](https://git.savannah.gnu.org/cgit/man-
db.git/commit/?id=84bde8d8a9a357bd372793d25746ac6b49480525) makes sure the
easter egg doesn't affect real use cases.

~~~
exikyut
1\. I really really like how they kept the easter egg in by figuring out how
to permanently sweep it out of the way. I can imagine some environments that
would stumble on something like this and tensely rm -rf the whole thing with
forced smiles.

2\. "print_where" is set by the option parsing code when it sees "-w".
[https://git.savannah.gnu.org/cgit/man-
db.git/tree/src/man.c?...](https://git.savannah.gnu.org/cgit/man-
db.git/tree/src/man.c?id=f498f1bad6cb5bd154f1a10cbdafad0aa159bfd3#n413)

------
donatj
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.

~~~
Clubber
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.

~~~
uolo
Not that I think it has much relevance as an argument, but my employer pays
for Ubuntu. Which in turn seems to be this developers employer. Presumably
this is part of his job there, since the commit was made during the day.

As I said, not that I think it matters. But "no one pays for open source"
frequently just isn't correct these days.

~~~
Clubber
>But "no one pays for open source" frequently just isn't correct these days.

I understand it's paid for one way or the other, but to use it, it is free.
I'm comparing it to before, if you wanted to try a Microsoft product or
something, you had to buy it and once you broke the seal, you owned it* (or
the little plastic disk and box).

Also, if the OP was a maintainer, I can see where he would get frustrated. I
assume he was just some overzealous user.

Anyway, the fact that open source even exists is probably the best thing to
happen to computing since it's invention (and I'm not even much of an open
source user).

*No refunds.

------
petdance
There's having fun, and then there's violating the Principle of Least
Astonishment.
[https://en.wikipedia.org/wiki/Principle_of_least_astonishmen...](https://en.wikipedia.org/wiki/Principle_of_least_astonishment)

------
chatmasta
Here's a list of some other Linux easter eggs:
[https://www.digitalocean.com/community/tutorials/top-10-linu...](https://www.digitalocean.com/community/tutorials/top-10-linux-
easter-eggs)

------
dep_b
This is what Rickrolls looked like before Rick Ashley recorded his first big
hit.

------
marchenko
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
> This is probably the fewest bits needed to encode a widely-distributed
> earworm.

someBODY

~~~
Noughmad
I recently wrote a tool that worked on bodies of text in Rust. Had multiple
instances of

    
    
        if let Some(body) = ...

~~~
reificator
I'm working on a game engine in Rust in my spare time, I'll probably end up
with that same code in the physics side.

------
ghamrick
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
Aren't all times after midnight?

~~~
nouveau0
Yes. But, they chose 00:30 because she says "Half past twelve" at the
beginning of the song

~~~
Simon_says
That makes sense. I wasn't familiar with the song.

------
snvzz
This is a bug and should be fixed.

~~~
em3rgent0rdr
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.

~~~
waffle_ss
How much joy do you think the SO questioner had when their CI was breaking at
(seemingly) random times of the day due to this idiotic flourish?

~~~
breakingcups
About as much fun as they had using free software they did not pay for of
which they were free to browse the source code to their hearts content.

~~~
21
So you're saying that free software is not reliable and you can't have any
sort of expectations from it, so it shouldn't be used for "serious business"
(enterprise, government, ...)

~~~
salvar
Yes, I believe that's exactly what they're saying.

