Why does man print “gimme gimme gimme” at 00:30?
unix.stackexchange.com
unix.stackexchange.com
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.
I'm not sure how well that'd work due to the lack of buffering. But I wouldn't want to go anywhere near stderr in production code.
Same deal with profanity, excessive vulgarity or calling out named persons, etc. in error messages.
It's just unprofessional and it can cause all sorts of unforeseen "upstream" issues.
(Even really surprising things like profane class names can cause issues because of things like reflection, etc.)
Free software almost always has the 'this is provided as is' caveat, and offers access to the source for you to review to ensure it's fit for purpose, so the whole 'This did something I don't approve of' complaint is a bit weak.
Further, the 'important program functionality' may not apply in the case of running the program in an atypical way - that is, without parameters - at a certain time of day.
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.
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."
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.
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.
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.
And I think we have a test case for probing programmer cultural heritage.
$ 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?FWIW I love this kind of stuff and if properly documented would rather work around it than remove it, but nobody relies on my code so what do I know :).
Expect that "gimme gimme gimme" is a cheap way to determine if the tests are running after midnight, nor not. If so, do more extensive tests; if not, do less burdensome tests.
I know - its lame. But, you cannot predict these things.
If you don't want people to use your Easter egg for something, don't include it in the release.. ;)
/s
>I deny the notion of millions of people sharing a certain collective sense of humor.
Comedy shows appeal to more than a handful of people. Most humor only works collectively.
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).
Of course not. Think statistically significant rather than about absolutes.
I merely believe that the kind of humor associated with any given group or subculture has its own characteristics (which often reflect the values & norms of the group); and I believe "cringeyness" is characteristic of programmer humor.
Overlaps are possible.
I would argue that I didn't make an especially bold proposition when I said programmer humor was cringey. I knew some would construe it as a verbal application of negative space, as if implying all other humor was strictly superior; but this is not the case.
But I think it's funny.
Also sad that this kind of culture is dying with the increasing professionalization of the industry.
I often feel a bit like a pioneer, doing this stuff at home when I was young, having fun and later making a living with it.
Now I meet more and more people who just do it because it pays well.
But what can I say, it still pays to have a passion for your job :)
But seriously, who uses a documentation tool for automated tests every minute? That use case is just insane and out of the scope of man IMHO.
As someone with a long history of abusing tools and side-effects, I'll defend that. The whole point of the Unix philosophy is small, useful tools that can be composited in ways the creator never anticipated. If it works for them, great. (At least until it isn't.)
But then I also pry with my pocketknife, and you probably don't want to know how about using a mill engine as a come-along...
It seems that it's not being triggered every minute: https://unix.stackexchange.com/questions/405783/why-does-man... . (In fact, I can't find, even in the pre-editing version of the post, any reference to it happening every minute; but probably I'm just missing it.)
Actually, I was being self-critical. Self-awareness is a good thing.
>whining about downvotes
I have no issue with receiving downvotes in this case. "So be it" is a pretty simple phrase. Maybe you're projecting.
This is the thin skinned backlash I expected. Oh well.
you stated that "Programmer humor is really cringey."
Cringey is generally a negative sentiment and saying "is" implies that this negative sentiment is a generally accepted fact.
I'd suggest that humour is almost entirely subjective, and therefore attempting to suggest that any form of humour is objectively bad makes no real sense.
If you had said "I find programmer humor to be really cringey" you may well have received fewer negative reactions.
>outside of __our__ cringey humor, __we__ tend to be rather humorless and thin skinned
I appreciate you being constructive, but I thought the pronouns I used made it sufficiently clear that I consider myself as a part of this culture (and thus subject to the characterizations I made about programmer humor). Anyway, I do not mind the negative reactions, even though I may reply in disagreement.
The point I was going for was that I'd suggest that all humor is so subjective that it's impossible for a universal negative to apply.
In the same way that beauty is in the eye of the beholder, humour is in the ear of the listener.
Being a part of the group I was characterizing means my comment was not from some perceived position of superiority.
Anyway, I knew what I was getting myself into with that post.
It suggests to me that the person is perhaps not the best curator of the code base under their custody.
BTW I like to remove my own code too, assuming it's become obsolete or replaced. My joy in having a clean and performant present-day product trumps any feelings about past efforts and old code.
If yours has commit messages not good enough to properly understand its history, fix that.
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...
TIL a new phrase!
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!"
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?...
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.
Scripting however I take very seriously.
Unless you're someone who write that kind of embedded software, and depends on the stderr output of man to control some critical parts of that system (which would be insane) your level of pedantry is unwarranted.
Man is an UI for people. Complaining about its output is like complaining about the GUI of a PDF reader. Sure, you could take snapshots of it, parse it in your system, and be slightly annoyed once by a small easter egg, but it would be kind of stupid because that's not what it was build for.
> Man is an UI for people.
Even the man page includes a couple of examples where it isn't.
Also, it's debatable whether `man -w` without further arguments is standard usage, since it's clearly an incomplete command (that should return nonzero, but that's another story).
Maybe if you took a step back, you wouldn't feel so irritated. You could be stuck working on an AS400.
I remember the days of batch creating UPC barcodes on an AS400
As I said, not that I think it matters. 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.
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...
People need to realize this isn't some mission-critical tool, this is a manual reader.
Technically the behavior is standard, for some definition of standard.
The output of man is repeatable, and you may depend on that.
Regardless of TZ, dom, dow, etc -- if it's 00:30 local you get this (additional) output. If it's not, you don't.
There's humor all over every technical discipline. Lighten up.
The question isn't believable. Your position is hardly believable.
Edit: I see that is the explanation given on StackOverflow. This is probably the fewest bits needed to encode a widely-distributed earworm.
someBODY
if let Some(body) = ...Damn it, I can hear it in my head!
(And now it'll be stuck my head for a week)
An earworm[1] is a (part of a) song that gets stuck in your head.
The GP was wondering if "gimmie gimmie gimmie"[2] was the fewest bytes required to put one in someone's head.
I shaved 12 bytes off by using All-Star[3] by Smash Mouth. It was a very popular song in its day, it's newer than ABBA, and lately it's become a meme[4] of its own[5], partly on the back of being featured in Shrek. It's even the basis for a trilogy[6] of mash-up[7] albums[8].
[1]: https://en.m.wikipedia.org/wiki/Earworm
[2]: https://youtu.be/3wCK6INQcHs
[3]: https://youtu.be/L_jWHffIx5E
[4]: https://youtu.be/0Iqr0L4bUms
[5]: https://www.youtube.com/results?search_query=all+star+but
[6]: http://www.neilcic.com/mouthsounds/
Somebody (somebody) ooh somebody (somebody)
Can anybody find me .... somebody to love?
https://youtu.be/kijpcUv-b8MMaybe Rihanna will come out with a song called "Grep". Heck, maybe the Black-Eyed Peas already did...
Obviously don't want easter eggs in things like security code.
> @MarnanelThurman No problem, at least there was some fun ;-)
So I'd say the answer to your question is: "some". Some being more than none, I'm almost tempted to think they enjoyed this little episode.
You'd also have to add the joy of all the people encountering this. Since it's somewhat likely that someone typing "man" after midnight and forgetting the parameter is somewhat frustrated, I'd venture a guess and say this easter egg is a net positive for humanity. Since happy people working after midnight are better than unhappy people working after midnight, I'd even go so far as to say that it improves productivity. And productivity is my professionalism.
Each one by itself maybe is cute and "makes you feel human", but not the aggregate behavior.
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.
There's probably someone somewhere using this as part of a mission-critical timing proceedure.