[HN Gopher] Why does man print "gimme gimme gimme" at 00:30? (2017)
___________________________________________________________________
Why does man print "gimme gimme gimme" at 00:30? (2017)
Author : jamesy0ung
Score : 868 points
Date : 2024-10-04 01:25 UTC (21 hours ago)
(HTM) web link (unix.stackexchange.com)
(TXT) w3m dump (unix.stackexchange.com)
| addaon wrote:
| This update broke my workflow!
| dudeinjapan wrote:
| This update fixed my workflow. I needed a man after midnight.
| SCUSKU wrote:
| Relevant: https://xkcd.com/1172/
| AStonesThrow wrote:
| Because you can tune a filesystem, but you can't tune a fish.
|
| https://unixhistory.livejournal.com/1808.html
| tonetegeatinst wrote:
| Ah but you can tune a fish.
|
| https://www.youtube.com/watch?v=F2y92obnsc0
| hi-v-rocknroll wrote:
| I prefer all bah corps.
| chriscjcj wrote:
| https://youtu.be/XEjLoHdbVeE?t=68
| rectang wrote:
| Gimme some more... https://www.youtube.com/watch?v=TcRujcvfQeY
| snvzz wrote:
| erb cover[0].
|
| 0. https://www.youtube.com/watch?v=whGM9_kZjLw
| HackerQED wrote:
| A fun idea, but it should not be put in the ordinary flow. It
| will hurt users.
|
| `man -abba` would be nicer, as the author said in the original
| post.
| thih9 wrote:
| It has been removed, see:
| https://news.ycombinator.com/item?id=41738239
| kevincox wrote:
| The first answer explains that it was only supposed to trigger
| on error cases (no page specified) but due to an oversight also
| triggered if you specified a man page by the --path flag
| (rather than just the page name)
| DonHopkins wrote:
| $ man --abba --format=json ["gimme", "gimme", "gimme"]
| worstspotgain wrote:
| Narada Michael Walden came to mind, instead of Abba. Guess I'm
| both too old and too young.
|
| https://www.youtube.com/watch?v=OrnUuXiVgBc
|
| Edit: It's also a way better song, no wonder I remember it
| better.
| jeltz wrote:
| No idea what you mean about being too old and too young. The
| ABBA song is from 1979 and the Narada song in 1985, just 6
| years later.
| worstspotgain wrote:
| Too young to remember Abba's song when it was new, too old to
| not remember Narada's song and get confused by it.
| IgorPartola wrote:
| Sorry time: years ago I worked on a telemedicine web app before
| telemedicine was nearly as popular as it is today. Part of the
| application had patients filling out questionnaires online to
| show answers to the doctors. We were onboarding different parts
| of a large healthcare system throughout all this (cardio, GI,
| etc.) and each had questionnaires that required different logic
| for when and how to display the questions, so the application had
| a fairly powerful system for driving the conditional logic of
| when questions do and do not show up.
|
| Well one day I am working on a new set of features to help
| support the new clinic that's coming online and for whatever
| reason the question that should by all rights show up, does not.
| As I am getting deeper into debugging why, I pepper the code with
| nonsensical and slightly angry debug statements that show up
| alongside the questions. After solving the problem I happily
| clean up and commit the fixed code and move onto the next thing.
|
| Well, it turns out I didn't clean up all the debug statements.
| The statement I left in said I SEE YOU!!! in big red letters if
| you answered a particular set of questions in a particular way.
| This was discovered by a patient. Of the psychiatric clinic that
| just came online. On the questionnaire meant to evaluate
| paranoia.
|
| Since then I have started using things like aaa and 111 as my
| debug markers.
| Terr_ wrote:
| > Since then I have started using things like aaa and 111 as my
| debug markers.
|
| I often use my initials and "DEBUG", so that the string (A) is
| distinctly grep-able before committing code and (B) if it
| somehow ends up in production it's not totally mysterious.
| adastra22 wrote:
| I like this, but use the initials of annoying Steve down the
| hall.
| daurnimator wrote:
| And if he isn't "annoying Steve" now he will be known as
| that soon enough :)
| dctoedt wrote:
| > _And if he isn 't "annoying Steve" now he will be known
| as that soon enough :)_
|
| I once heard a guy -- named Ed -- who responded to a
| query about something with, "Well, I'm _special_. " You
| can guess how he was referred to from then on ....
| jxramos wrote:
| same, "DEBUG 1", "DEBUG 2", "DEBUG 3 with description xyz",
| etc.
| Terr_ wrote:
| > "DEBUG 1", "DEBUG 2"
|
| If you use language expressions that automatically become
| file/line info, that frees you from juggling unique labels.
| Then it can be saved into your IDE as a insertable code
| snippet.
|
| It goes without saying that a real interactive debugger
| session is even better, but it isn't always convenient or
| possible.
| TremendousJudge wrote:
| Sometimes an interactive debugger session will make the
| issue you are researching not happen -- I don't know of a
| way of tracking down race conditions that isn't logging
| everything that happens until I find out which thing
| happened before which other thing that wasn't supposed to
| eastbound wrote:
| And the reverse: I change values using breakpoints. So
| the code runs (because the breakpoint condition is false)
| but the value is different. Example of breakpoint
| condition:
|
| (licenseActive = true) != true
| Terr_ wrote:
| > Sometimes an interactive debugger session will make the
| issue you are researching not happen
|
| I still remember the first time that happened to me, I
| think it had to do with some (not yet diagnosed) race
| condition on a PHP server between the HTTP requests it
| served, and the debugger had a side-effect of blocking
| the next request while I was inspecting the first one.
|
| That reminds me of another thing: Some debuggers allow
| you to set breakpoints and set them to _not_ suspend or
| pause execution, but to emits a log-message to the
| debugger or terminal instead.
|
| Those are an upgrade over print-statements in that:
|
| 1. You can't accidentally commit it and it doesn't show
| up to make your diffs weird
|
| 2. You may be able to dynamically change what things it
| prints out without restarting the program
| ajross wrote:
| FIXME is also popular.
| sn9 wrote:
| Am I the only one who just uses my name?
|
| As in "MYNAME: " prefixed to whatever useful information I
| might need.
| laurent_du wrote:
| This reminds me of the classical episode of the Onion "Is The
| Government Spying On Schizophrenics Enough?".
| blast wrote:
| https://www.youtube.com/watch?v=FzoXQKumgCw
| guenthert wrote:
| Came for me with an ad for supposedly an in-ear hearing
| aid. Of course it's such a whispering device. You can't
| fool me!
| evilc00kie wrote:
| Well, maybe I shouldn't use "Hello" by Adele either for the
| same reason ^^*
| pcl wrote:
| I use ##### along with a git commit hook that rejects commits
| adding such text.
|
| I like the 5 pounds because they are visually easy to find on
| the screen, too.
| throwawayk7h wrote:
| I use DONOTCOMMIT the same way.
| projektfu wrote:
| Also prevents getting too deep in your markdown outline
| structure.
| mooktakim wrote:
| It doesn't matter how advanced debugging gets. At the end we
| always use print. Only reliable thing to do.
| IshKebab wrote:
| Sometimes you can't even print and have to resort to toggling
| a GPIO pin...
| bloak wrote:
| I've worked with systems that were so utterly and entirely
| broken that the only way I could confirm that a particular
| code path was followed was by inserting an infinite loop
| and observing that the system then hung instead of
| crashing.
|
| Combine that with a build system that is so utterly and
| entirely broken that the only way to be sure is to do a
| fresh checkout each time, and with a hardware set-up that
| involves writing the binary onto flash memory and plugging
| it into a device that is located under somebody else's desk
| in another room and then perhaps you have the Debugging
| Cycle From Hell.
| Moru wrote:
| When I was programming at home om my Atari ST I thought
| debuggers was the greatest invention ever. It was
| wonderful to be able to step through assembler code line
| by line, instead of looking at BASIC print statement
| output and guessing what was going on and where. Made
| life so much easier.
|
| Don't people believe in debuggers any more?
| IshKebab wrote:
| Some people just don't believe in tooling full stop. Kind
| of mind-blowing. They're essentially coding with a fancy
| notepad.exe.
| db48x wrote:
| What's weird is that debuggers are so advanced now. rr
| and Pernosco are to regular debuggers like regular
| debuggers are to inserting an infinite loop into your
| code.
| polotics wrote:
| I guess that once you reach a certain level of coding,
| static verification, strong typing, solid unit tests, you
| only got timing multi-threaded Heisenbugs left to find...
| qingcharles wrote:
| This is a hacking technique too -- I've seen it used for
| extracting entire databases via SQL injection by putting
| delays in SQL statements and then measuring how long the
| web page hangs, when you can't force any output on the
| page. You put different delays in for different string
| matches and eventually you can get all the table and
| column names this way.
| brunoarueira wrote:
| Pretty much it https://tenderlovemaking.com/2016/02/05/i-am-
| a-puts-debugger...
| serf wrote:
| I sort of laugh when using chatgpt/claude to code anything,
| if you ever mention to it that something isn't quite working
| right it'll pepper the entire code with printed debug
| statements rather than assisting you with any more advanced
| debugging methods.
|
| even the bots do it (joke)
| tomphoolery wrote:
| I had a comment in this file for a very long time but the
| project lead was something of a Professional so he removed it.
| The comment was "# MULTIPASS!"
|
| https://github.com/workarea-commerce/workarea/blob/master/co...
|
| Some context:
|
| - The 5th Element is a cool movie
|
| - My sister's dog was named Leeloo Dallas Multipass and she was
| like my favorite dog of all time
|
| - I was the original developer of the `ProductMultipass` search
| query feature
|
| - Turns out, funny comments make other developers like your
| product more
| roydivision wrote:
| I handed a project over to a new developer once before
| leaving the company. I returned about 18 months later, and
| he'd stripped out the one Easter egg I'd put in. No sense of
| humor that chap. Good coder though.
| PetahNZ wrote:
| I made a website for a goat breading society. It played
| screaming goat sounds if you typed the Konami code. I was
| sad the day that site was replaced.
| yellowapple wrote:
| If I was a goat I, too, would scream if I was breaded :)
| worstspotgain wrote:
| She's not my bride. She's my fare.
| qingcharles wrote:
| Username checks out.
| 0xfeba wrote:
| I just made one last week that cracks me up still:
|
| // We are liiiiiving in a material world, and I am a ma-ma-
| material org.
|
| const materialOrgs = await db_read<Org>(organizations, {
| type: 'materials' });
| xnorswap wrote:
| This is why I enjoy writing C#/.Net, I don't need to deal with
| nonsense like print debugging.
|
| I don't think I'd be anywhere near as productive without:
| - Conditional breakpoints - Debugger.Launch -
| Debugger.Break - Debugger.Write
|
| Conditional breakpoints are essential, just run as normal and
| it'll only break when your bizarre edge case is hit.
|
| Debugger.Break and Debugger.Launch are like a breakpoint that
| gets hit even when you're not debugging, and prompts you to
| attach a debugger. ( Launch won't pause if you already have one
| attached, but especially useful when you want to attach to a
| start-up routine in an IIS hosted web-app. )
|
| Debugger.Write writes to a different output stream, and like
| all Diagnostic.Debug statements, isn't even compiled into
| release builds, so there's zero chance of it ending up in prod.
|
| These are essential tools for rapid debugging. Printing
| nonsense and hoping to spot it feels 20+ years out of date.
| rglullis wrote:
| Get off your .NET high horse. Every reasonably mature
| language has powerful debuggers.
| xnorswap wrote:
| Well indeed, I could have said, "this is why I enjoy
| working in a mature environment". .NET just happens to be
| my experience.
|
| The point I was trying to make is that you shouldn't be
| print debugging in 2024.
| rezonant wrote:
| Unfortunately it is not always possible to debug for a
| myriad of reasons
| appendix-rock wrote:
| Yawn. I'm all but certain that all the environments in
| these "print debugging fail" stories have debuggers. The
| fact that generation after generation of programmers fall
| into print debugging, despite there being "no reason" to
| do it in many contexts for...decades at this point,
| should tell you that you're missing something, _not_ that
| everyone is dumb except for you.
| xnorswap wrote:
| I'm not saying people are dumb, I'm saying we've failed
| to provide good dev UX for debugging, so that people find
| it easier to reach for print debugging than leverage
| their debugger.
| xnorswap wrote:
| It's also clear I got the tone of my original post wrong,
| I was always trying to make this point, not some point
| scoring "I'm better because I use X".
| ziml77 wrote:
| FWIW I didn't get the feeling at all that you were trying
| to come off as superior because you use .NET and its
| debugger.
| high_na_euv wrote:
| I wish it was true
|
| My experience in cpp is 5 times worse than in .net
| alfiedotwtf wrote:
| I still haven't found a good way of debugging async code
| that also has timing restrictions...
|
| .., the world runs off print statements sprinkled
| throughout by a very frustrated and angry developer
| neonsunset wrote:
| Does the GP comment claim that other languages cannot have
| similar quality of tooling? Why reply with a swipe?
| ploynog wrote:
| Cool story bro. Let me tell the guys at work that we should
| just run .NET on our multi-core digital signal processors.
|
| And we should also teach them not to get their delicate
| timing out of whack because they'll immediately stop dropping
| incoming samples if any of them gets interrupted by a
| debugger.
|
| I'm sure everyone will be delighted.
| dotnet00 wrote:
| There are endless numbers of cases where you can still end up
| having to just resort to print debugging, even in C#. Race
| conditions are a great example.
| chris_pie wrote:
| you can configure the breakpoint to log stuff to the
| console, instead of breaking
| throwaway2037 wrote:
| Real question: Does Java have equivalent methods? I have
| never seen them.
| mwkaufma wrote:
| CVS at my first job was configured to reject commits containing
| f-bombs after a spicy debug message sneaked into production and
| showed up in a children's game.
| PhilipRoman wrote:
| Lol, at $work there is a big list of forbidden words, I was
| not aware of it until I created a pull request containing the
| phrase "bad packet". Turns out "bad" is in the list, along
| with stuff like "workaround", "hard-coded", and also a huge
| list of every slur and vaguely sexual term known to man, some
| of them oddly specific like "son of a motherless goat".
| Learned a few new words myself that day...
| johnisgood wrote:
| Why is "bad", "workaround" and "hard-coded" are on the list
| of blacklisted words? Sounds kind of dystopian; just
| because you forbid a word from the dictionary or remove it,
| it does not solve the underlying issue.
| Anthony-G wrote:
| Dystopian for sure: I'd wager that if the code-base lives
| long enough and the pool of developers is large enough,
| they will start using Newspeak words such as "ungood" or
| "doubleplusungood" - or other synonyms for "bad" - to
| work around the blacklist.
| dotnet00 wrote:
| You mean to work around the ungoodlist :)
| geoduck14 wrote:
| You joke, but the phrase "black list" isn't allowed where
| I work. It contains "black," which has racial
| connotations. We use "block list" instead. I didn't
| realize the connection to Newspeak until now
| dotnet00 wrote:
| Yes, a lot of dumb little "American political brainrot"
| like that has been getting pushed in places.
|
| Another example is GitHub changing the default branch
| name from master to main due to their perception that the
| existence of a master implies the existence of slaves.
| jacoblambda wrote:
| okay so as much as people like to meme on the whole
| banning blacklist/whitelist thing, it actually makes
| things clearer to just say blocklist/allowlist,
| especially for non-native speakers.
|
| People got grumpy about master/slave being replaced with
| server/client, superior/subordinate, leader/follower, and
| similar terms but that actually largely benefits as well
| in that it makes things clearer. Anyone who has dealt
| with bus protocols that support the more complex "multi-
| leader" setups or peer-to-peer setups knows how the
| master/slave terminology can be confusing and potentially
| limiting in accurately describing the parts of the
| system.
|
| And the git master/main thing also is more a matter of
| just making things easier to pick up. Master can be
| confusing there for the same reasons it's confusing in
| bus topologies. Main instead is obvious. It's the
| main/mainline branch of the project. And that also helps
| set the divide for main vs feature vs maintenance
| branches (and release tags).
|
| So yeah some of it was done under the guise of politics
| but that's generally been more about getting an excuse to
| make the change without people dismissing it rather than
| the underlying reason for the change to happen.
| dotnet00 wrote:
| I tend to not really notice whtever slight
| cleanliness/communication improvement any of these
| changes add (this is probably just a me thing).
|
| So, putting politics aside, I don't really care as long
| as it isn't breaking existing stuff. My only point of
| contention has been the politics behind some of the
| pushes.
| kevin_thibedeau wrote:
| Electronics protocols are getting a newspeak renaming
| with sometimes humorous results when you see
| documentation where mass search-and-replace mangled a
| substring or they forgot to replace the bad words in all
| caps.
| PhilipRoman wrote:
| This gem comes to mind: https://github.com/rust-
| lang/rust/pull/95508/files/76cf1e1e4...
|
| Reads almost like a haiku struct Simba
| { - mother: u32, - father: u32,
| + parent: u32, + parent: u32, }
| "I don't think this will compile"
| jrockway wrote:
| 2 fewer characters to type every time you switch
| branches. I can't complain.
| snapcaster wrote:
| Aren't blocklist and allowlist strictly better as terms?
| Black and white (even ignoring the connotations) require
| at least one level of indirection compared to explicit
| terms that describe what they are
| nuancebydefault wrote:
| I don't like the 'bad gateway' Http response. I'd rather
| it'd find the good way and show me the freakin' website
| /i
| HanClinto wrote:
| My guess is it's about client perception (and perhaps
| even admission of guilt).
|
| My first encounter with this was as a young developer at
| an electronics manufacturing company. When discussing a
| request from a customer to change a particular
| undesirable behavior of the device, I referred to this as
| a "bug" in an e-mail to them.
|
| I was quickly reprimanded / corrected, with the
| explanation that -- while "bug" is a somewhat innocuous
| term to engineers, to non-engineer types it brings to
| mind a whole host of bad images, fears, and can lead to
| canceled contracts under the premise that we've delivered
| bad-faith product. I was initially very resistant to this
| idea, but I've seen the wisdom in this as I've matured as
| an engineer over the past 20 years since this run-in.
|
| For a related example, it reminds me of this issue that
| was opened on llama.cpp by a user who was concerned that
| the software had been "hacked":
|
| https://github.com/ggerganov/llama.cpp/issues/33#issuecom
| men...
|
| > Hey, I was reading your Readme.md and I saw that your
| repo was hacked. I want to ask what this means and wanted
| to check if the users like me also get the impact of
| hacking. Or, this is not the thing I should worry about?
|
| Of course, the repo was not hacked -- but the founder of
| the project mentioned that it had been "hacked together"
| (as a term of humility / self-deprecation) and some users
| got the wrong idea of what he meant by that.
|
| So I don't think this is about censorship, so much as
| good public relations. "Don't spook the horses" -- not
| all words mean the same things to engineers as people
| whose perceptions of technology are shaped more by movies
| and headlines.
| secondcoming wrote:
| "blacklist" is also blacklisted
| arethuza wrote:
| I remember reading a great story about someone doing
| embedded development who was doing something like download
| firmware onto a device and being told "Checksum is bad"...
|
| After much checking it was realised that this was because
| the checksum literally was 0xBAD....
| int_19h wrote:
| In some places, those lists are even more extensive as they
| include transliterations of profanities in all the various
| languages the product is ever localized in.
|
| Sometimes this leads to embarrassing issues. I remember one
| case where a Chinese guy named Hui was unable to make a
| blog post on his team's official public blog. Turned out
| that his name was on the list of banned words because of
| https://en.wiktionary.org/wiki/%D1%85%D1%83%D0%B9#Russian
| Daviey wrote:
| Back in 2009, I saw something similar was when a user
| reported a bug to Ubuntu regarding Pulseaudio[0]. Basically
| the error messages was: $ pulseaudio W:
| main.c: D-Bus name org.pulseaudio.Server already taken. Weird
| shit!
|
| I thought a user facing error message like this is
| inappropriate, so politely took the issue upstream [1].
|
| Lennart, who I had spent some time with in real life a few
| months previous, didn't yet have the reputation for being the
| person he is today. I thought he'd be pretty reasonable about
| it. Instead he closed the bug as "won't fix" and left the
| comment, "Sorry, but please don't waste my time, will you?".
|
| I was pretty shocked by his response, I lost a lot of respect
| for him at this moment and then wrote a long ass blog post
| about professionalism of developers and appropriate language
| for user facing error messages.. but still, Lennart tainted
| himself and showed the person we now know him as. (Also, if
| you are reading this Lennart, fuck you).
|
| Ubuntu ended up carrying a patch simply to remove this
| inappropriate language, I never checked if it was eventually
| cleaned upstream or if other distros also removed it.
|
| EDIT: I just checked, and it was eventually removed in 2011
| [2]
|
| [0] https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug
| /44...
|
| [1] https://lists.freedesktop.org/archives/pulseaudio-
| bugs/2009-...
|
| [2] https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/co
| mmi...
| homebrewer wrote:
| What "reputation"? He's disliked by a very loud minority,
| the rest of us don't care. I will take someone like
| Poettering who's actively solving decades-long problems
| over a useless "professional" any day of the week. He's
| effective _because_ of his bullish personality.
| Daviey wrote:
| Either you know about his "reputation" or you don't.
|
| Those that have never interacted with him don't care, I
| agree (I mean, why would they?). But those that have, i'd
| suggest is a minority that can tolerate him.. but ho-hum,
| neither of have statistics on this so we'll never know.
|
| When I met and had discussions with him in 2007 he was
| mild and seemed to be constructive, i'd suggest his
| "bullish personality" became more prevalent with time.
| majewsky wrote:
| I met him once in 2012 and ate dinner with him and Kay
| Sievers. I agree to your observation about "mild" and
| "constructive", and will extend by saying that he
| appeared to me as someone fiercely focused on technical
| challenges. Therefore the "please don't waste my time"
| bit further up the thread appears to me totally in
| character for him. Lennart is really similar to Linus
| pre-2018 in that regard.
| speed_spread wrote:
| There's no correlation between effectiveness and
| rudeness. Some people are effective _despite_ being
| assholes.
| consteval wrote:
| No, there's a strong correlation between leadership and
| being bullish. Because in order to get what YOU want done
| YOU have to advocate for yourself - other people won't
| advocate for you. Being stubborn is a type of advocacy.
|
| People will claim it's unprofessional, and it is. The
| problem is that when other's are also unprofessional you
| can't convince them by being professional.
|
| If you look at who moves up the social ladder fastest and
| retains their power the longest, they are typically hard-
| headed people. The have an almost unreasonable amount of
| confidence in themselves, and in many ways they are
| delusional.
|
| However, I would argue such a personality is better than
| being timid. Ultimately, past the computers and the
| programs we are humans, and human effects come into play.
| Success is not just measured by correctness; it's
| measured by perception.
| mistrial9 wrote:
| there is no simple way to dissect these inter-related
| statements, but from my point of view, no. Plenty of
| people here have dealt with serial abusers, which is
| being defended as "ends justify the means" above
| consteval wrote:
| To be clear there's a far, far gap between being abusive
| and being bullish. It's quite immature of you to make
| that leap and use that to paint me as pro-abuse to
| discredit my argument.
|
| You could instead provide a real argument, not "well what
| you say is used to defend abusers!"
|
| Yes, and famously Hitler wanted economic strength for his
| country. I guess wanting economic strength makes you
| Hitler? ... wait no, definitely not.
|
| I don't have patience for these weak types of arguments.
| Saying nothing at all is free and easy, I would look into
| that more if I were you. Seems more your pace.
| tacitusarc wrote:
| I find the content of your statements reasonable, but the
| ad hominem really undercuts the message.
|
| Many years ago, someone replied to me saying, "you're
| right, but your comment is so abrasive," and that really
| stuck with me.
|
| Humility and grace can go a long way, even in internet
| conversations.
| consteval wrote:
| To be fair, my argument was taken in such a ridiculous
| and offensive direction I felt it necessary.
|
| It's one thing to think I'm wrong, it's another all
| together to warp my argument to make me appear crazy. Or
| pro-abuse. Or whatever. That, to me, isn't in good faith
| and I quickly lose the motivation to be kind. I work
| under the assumption the people I talk to aren't stupid,
| they're aware of what they're doing. I won't extend pity
| or give people the innocence of a child. In my eyes, that
| is even more offensive.
| tbrownaw wrote:
| > _There 's no correlation between effectiveness and
| rudeness._
|
| Ineffective assholes are nonentities. Therefore all
| assholes worth noticing are effective, and all
| ineffective people worth noticing are nice.
|
| I believe there's a name for this effect, but what it is
| escapes me at the moment.
| toyg wrote:
| _> Poettering who 's actively solving decades-long
| problems_
|
| He's doing that only because it's his job: his employer
| has an agenda (i.e. steering Linux fast enough and
| disruptively enough at a low level, so that serious
| competitors cannot arise), and he's implementing that
| agenda without a care in the world.
|
| Would I personally take such a ruthless mercenary over
| more community-minded folks? No.
| pbhjpbhj wrote:
| Based only on your post I'm confused. You better a person
| for including "weird shit" in an error message. But the on
| a pubic forum tell them "fuck you".
|
| On the basis of profanity alone, your action seems far
| worse than their's?
| Daviey wrote:
| This is a community, not an end user facing error message
| for a product for the public used by millions of people.
|
| I can use profanity in my communication, but I would
| never put foul language in an error.. same as I wouldn't
| in documentation or a formal letter.
|
| Just imagine a pop-up dialogue box on Windows or OSX
| showing an error with "Weird Shit!" in it. Could you?
| beeboobaa3 wrote:
| I can, and it'd be pretty funny. Better than "Something
| went wrong!".
|
| Why does it upset you so?
| Daviey wrote:
| It wasn't me that raised the original bug, but a user. I
| didn't say it upsets me, but I do consider it
| unprofessional for a product.
|
| So tell me, why would it be "funny"? Are you, or have you
| ever been responsible for content end users might see?
| serf wrote:
| I don't think it's funny , but I do feel it's entirely
| more palatable than "WOOPS SOMETHING WENT WRONG
| <cute_dog_picture.jpg>" scheme that Amazon and other
| dotcoms use.
|
| Regardless, the Lennart tirade added into the anecdote
| really just convinces me that the anecdote is there
| purely for axe-grinding.
| beeboobaa3 wrote:
| Because it's practically identical to "Something went
| wrong!" but different and unexpected, which makes it
| funny. I don't know. Can you really explain what exactly
| makes something funny?
|
| > Are you, or have you ever been responsible for content
| end users might see?
|
| Yes. I don't do such things because of curmudgeons like
| yourself. But as a user I wouldn't mind at all, and think
| it's funny.
| Izkata wrote:
| It would be less scary than "...has performed an illegal
| operation" was to non-technical users.
| sgarland wrote:
| The larger WTF here is a developer thinking that Linux
| having audio problems is weird.
| snapcaster wrote:
| This seems so fragile and prudish. I can't imagine having
| any other reaction beyond chuckling and moving on
| mattnewton wrote:
| The strings used for debugging at Google were supposed to
| include "DO NOT SUBMIT" which, a bot to check for this was
| added after a debug strings made it to production (It was
| before my time but I believe it was after the legendary WD
| incident- "western digital" was remapped to "woodly doodly" in
| test code that accidentally shipped for those curious)
| riffraff wrote:
| Was the debug string that made it to production embarrassing?
|
| I remember a swearword appearing in a very big national
| company login form once, and I'd have felt sorry for the dev
| if it wasn't so hilarious.
| PetahNZ wrote:
| Yea, I have seen a very inappropriate debug statement being
| left in the led to the dev being promptly fired.
| arethuza wrote:
| I was leading a startup development team in the late 90's
| and one of our developers told me that some _very_
| inappropriate test data had been sent to IBM to be
| included in a product demo and burned onto tens of
| thousands of discs that they would distribute.
|
| Eventually it turned out that it was the single word
| "sheep" - which taken out of the relevant alt.* context
| was pretty harmless.
|
| Talk about a moment when I thought my career had crashed
| and burned...
| MonkeyClub wrote:
| > Eventually it turned out that it was the single word
| "sheep" - which taken out of the relevant alt.* context
| was pretty harmless.
|
| Please, do contextualize it?
| HaZeust wrote:
| Likewise; they tried to pin it on me, and I had to go to
| the Git commit history to show it was another employee.
| My administrative leave was promptly revoked.
| mattnewton wrote:
| "Western Digital" was replaced with "Woodly Doodly" on the
| srp. Not really thag embarassing but I am sure WD didn't
| appreciate it
| raverbashing wrote:
| Pro tip: never add a "funny comment" especially an error
| message that's "never supposed to happen" unless you're happy
| with that message showing up in a board meeting, in front of
| your boss or worse (and it being traced back to you)
| mackman wrote:
| Listen. If it's never supposed to happen then you
| definitely want a customer to tell you if it happens. Best
| way to make sure that happens is to insult their mum. It's
| just good engineering discipline.
| bartread wrote:
| In my younger and more foolish years I worked for a
| company called Redgate and, whilst there, I had to do
| some licensing jiggery pokery that stopped people using
| our tools if the licensing code had been tampered with or
| removed.
|
| I didn't want to make it too easy for people trying to
| crack our tools so, if such a problem were detected, the
| error message spat out to the console bore no relation to
| what had gone wrong.
|
| By "bore no relation" I mean the error message would be
| one of a number of lines of dialogue from a scene in a
| House episode where House is trying to figure out who
| Wilson's girlfriend is... which led to this:
|
| https://gist.github.com/gregoryyoung/871736
|
| Yes, Greg Young (the event sourcing guy) ran into an
| error that said "Because I wanna ask you about your
| girlfriend. I must know who she is, or you would've told
| me her name," because he'd moved Smartassembly minus the
| licensing DLLs. Of course, he didn't realise what he'd
| done "wrong" so he tweeted it to his considerable
| following and it went viral.
|
| Because I'm exactly the sort of walking cliche you'd
| expect I was blissfully unaware of the unfolding drama,
| being away on sabbatical snowboarding at the time. I
| hadn't taken my laptop with me, I'd disabled data roaming
| on my phone to avoid a whopper of a bill after a couple
| of months away, and had only a gen 1 iPad to access email
| and internet. So of course I came back in the evening to
| discover that it had all kicked off, with this ludicrous
| chain of emails where people were trying to figure out
| what was going on, until somebody had the sense to go and
| look in our source control system (which at the time was
| still svn for most things), and figure out that it was my
| fault.
|
| People saw the funny side and it wasn't that big a deal
| but the reason I bring this up is that the last line of
| dialogue in that scene is, "Your mama," delivered by
| Wilson to House, and it was also the error message for
| the final failure scenario I was looking for. I'm glad
| that one didn't get printed.
| tverbeure wrote:
| Back in the nineties, 3D Studio used to be pirated by
| every kid in their dorm and more. The software had
| license checks all over the place apparently, but
| crackers tried to remove all of them.
|
| However, if they missed one, it would move a random
| vertex by some random amount which is obviously very
| visible when rendering a 3D scene.
|
| When people complained about this on forums (usenet
| mostly), they outed themselves for using pirated
| software.
| eastbound wrote:
| System.exit(0); in Java is probably the most evil thing
| invented, when the license check fails (preferably launch
| a thread and do it without stacktrace, after a random
| time).
|
| To this day I still think Google's motto only referred to
| "Do no System.exit(0)".
| m3047 wrote:
| Sadly I mostly agree with this. File it with "the first
| time people get the password right tell them they failed,
| making them enter it a second time" and other janky but
| highly effective stuff.
| eastbound wrote:
| I believe you can get someone's entire list of passwords
| this way.
| nicce wrote:
| I write alot of #![no_std] code in Rust and forgetting
| debug messages is luckily impossible because compiler won't
| compile in the end if you forget something.
| mattnewton wrote:
| The nice thing about DO NOT SUBMIT is that it worked in
| comments, text protos and other configuration files, and
| every language.
| Suzuran wrote:
| I did this once with the deliberate intention that be
| traceable. Holding down a few keys while clicking on a
| specific small set of pixels in an application we were
| developing for a customer would produce a specific message
| that was attributable to me personally. I did this sort of
| thing in most things I worked on back then, partially as a
| "calling card" and partially as a means of being able to
| prove my involvement in a given product if the need ever
| arose. This saved our bacon when a sales rep sent an
| "evaluation" copy of the nearly completed product to the
| customer, without authorization, that consisted of our
| entire source tree. (This was the 1990s and we were running
| MS-DOS, no file security)
|
| Suddenly the customer tells us they have "repurposed" an
| "internally developed program" and they cancel our
| contract. The sales rep was upset that he would not be
| getting a commission on the sale and mentioned that he had
| "even sent them a demo", which led to the discovery of what
| had happened. My boss and I went to the customer's site to
| "finalize the paperwork", and when we were shown the
| application (which had extremely minor UI changes) I
| checked if the hidden click spot still worked, and it did!
| The customer was horrified. My boss was outraged.
|
| We ended up getting paid the full contract amount plus a
| large bonus in exchange for agreeing not to sue. The sales
| rep decided to leave voluntarily rather than be fired.
| MonkeyClub wrote:
| > Holding down a few keys while clicking on a specific
| small set of pixels
|
| Did you draw inspiration for it from Bullock's The Net
| (1995) by any chance?
| Suzuran wrote:
| I don't think so; I don't remember ever seeing it
| jpm_sd wrote:
| I like the way you phrased this. Maybe someday academics
| will refer to Bullock's net the same way we talk about
| Occam's razor, or Maxwell's demon, today.
| smitelli wrote:
| > "DO NOT SUBMIT"
|
| Kinda verbose, ain't it? Just speaking from my own personal
| experience, usually when I resort to print-debugging I'm
| already pretty punchy and more likely to use a quick
| "ASDFASD" or similar.
| bipson wrote:
| Yes, but you can check for "DO NOT SUBMIT" with automation.
|
| You can't automate checking for random strings, right?
| neutronicus wrote:
| Perhaps an abbreviation would be the best of both worlds,
| and debug strings should be prefixed with "DNS"
|
| You won't need to submit that particular string working
| at Google, right?
| tetha wrote:
| We could also have an acronym for the more severe "DO NOT
| SUBMIT - SECURITY EXPECTATIONS COMPROMISE".
| pixl97 wrote:
| DNS-SEC...
|
| Confused sysadmins wondering if this is SOX code...
| Tyr42 wrote:
| The automation which can check for do not submit itself
| is hard to submit. Or at least updates to it are hard to
| submit.
| Dylan16807 wrote:
| forbidden_string = "DO NOT " + "SUBMIT"
|
| Seems easy enough?
| organsnyder wrote:
| Just disable that particular linting rule (or however
| it's implemented) in that repo.
| pjerem wrote:
| Well in the LLM era, you could. I'm not sure you should
| :)
| trelane wrote:
| > You can't automate checking for random strings, right?
|
| No, but you can make the string configurable.
| anyonecancode wrote:
| Related in terms of being easy to search for, I use the
| abbreviation "TK" as a placeholder for text or incomplete
| code. Took this from the publishing industry (my partner
| worked in magazines) -- it's a combination that does not
| appear in regular English and so is easy to both see and
| to use search tools for.
| ASUfool wrote:
| I hope you never built a rooTKit.
| anthk wrote:
| TK is a semi-well known widget toolkit/GUI toolkit which
| came from TCL and today it's the default toolkit for
| Python. Nothing fancy, just basic menues/buttons and
| widgets, but they get the job done in a hurry.
| EvanAnderson wrote:
| > > "DO NOT SUBMIT"
|
| > Kinda verbose, ain't it?
|
| I always used the word "doberman" for this purpose. I've
| never written code for a project that legitimately included
| the name of a dog variety. A simple grep for "doberman" in
| the production release CI pipeline catches it. If one ever
| did slip thru I figured it wouldn't be too offensive to
| anybody.
| durumu wrote:
| I've used NOCOMMIT. Less verbose, equally clear.
| domoritz wrote:
| I'd be scared to spell it with one M or two Ts.
| HaZeust wrote:
| Not if a layperson comes across it and you miss an
| omission.
| hotspot_one wrote:
| depends. If you are paranoid and afraid of dogs, ...
| corobo wrote:
| I use xyzzy
|
| - Nothing happens
|
| - Easy to find string in code, output, wherever
| medstrom wrote:
| And in GNU info manuals. https://www.gnu.org/software/ema
| cs/manual/html_node/elisp/Se... Just so happened to be
| reading that in the next tab.
| rlpb wrote:
| XXX is already highlighted by most editors by default (or
| at least mine) and seems suitable. Any comment to be
| committed to a shared branch should probably contain more
| specifics and not contain that, if you wanted to institute
| a policy.
| twic wrote:
| I use the strings "XXX" and "999" for this (the latter
| because you sometimes need a dummy value in a numeric
| context), and have a global git hook which stops me
| committing a changeset which includes them.
|
| I occasionally need to override the hook, for example when
| using mktemp -t, or when some floating-point data actually
| contains a run of 9s. But mostly, it is quite specific at
| catching stuff that shouldn't be checked in.
| metrognome wrote:
| It's about writing code that your peers can read. "DO NOT
| SUBMIT" is clear as day. "ASDFASD" probably does not mean
| "this is a debugging string" to most people.
| mattnewton wrote:
| Not really? it's close to the minimum string you'd be okay
| with never actually wanting to commit. Never had a problem
| with it in logs, but it could be in a comment next to the
| log if you did. Easy enough to add a shortcut for if you
| really have a problem typing it out, but at my typing speed
| my brain has always been the bottleneck, not the number of
| characters.
| names_are_hard wrote:
| I worked on a codebase that had a special logging function
| with a name like NoPushLog that was just a direct wrapper
| of the base log function. A githook checked that this
| string was not in pushed code.
|
| This solves many of the concerns raised in this thread
| about readability, automation, avoiding typos in the magic
| string.
|
| The tricky thing you have to solve is how to push the code
| that defines the custom logging function, but there are
| solutions.
| mattnewton wrote:
| It doesn't allow you to put that in comments, config
| files or other languages though like a plain text string.
| sneak wrote:
| Why wouldn't it? Sounds like the git hook is probably
| just grep...
| mattnewton wrote:
| Then why have a function?
| default-kramer wrote:
| I use "NOMERGE" plus the habit of grepping for it before I
| merge a branch.
| secondcoming wrote:
| "GOT_HERE_1"
| refulgentis wrote:
| They pay you enough that you'll respect the need to be
| professional and write "DO NOT SUBMIT" over "ASDFASD" or
| similar.
| veunes wrote:
| It's amazing how many processes evolve because of incidents
| like these.
| indrora wrote:
| When I worked as a technical writer earlier in my career, we
| had a debug/prod check: If you used a series of words it
| would fail you in prod (refused to build). These were usually
| codenames of projects and such.
|
| One afternoon, I added the phrase "[Ww]ombo\s[Cc]ombo" (it
| supported regular expressions) and an expansion set
| (&prodbomb; evaluated to &wca; &wcb; to create "womb combo")
| but only in prod. In debug builds, it would produce "Wombat
| Combat"in bright red text.
|
| This was a useful way to mark pages as "Don't build this in
| prod yet" - a habit some teams had of just yolo'ing their
| development branches right into production instead of doing a
| rebase to main. More than one build was saved by it within a
| few months.
| thephyber wrote:
| All of the comments seem to talk about automation for
| detecting sloppy logging.
|
| Is nobody reviewing code before merging it upstream?
| mattnewton wrote:
| Belt and suspenders.
|
| Every line was reviewed but that doesn't mean it would be
| caught every time. And if it's automatable to catch things
| like this it should be.
| mstade wrote:
| I did something similar years ago when working on a gambling
| site where people could upload bets in bulk using specially
| crafted files.
|
| During development this would sometimes break but only in very
| specific circumstances, and because they were so absurd and
| seemingly specific to our local development environment I just
| added an error message saying "watch and amaze while the
| application eats itself!" Or something to that effect. It was
| inspired by an error I saw with the Discworld game for the
| original PlayStation.
|
| Of course, once this hit production it turns out the det of
| circumstances necessary to trigger this error wasn't quite as
| specific as I'd thought, and support was overloaded by hundreds
| of people calling in to report the error, worried that their
| money was gone. Of course, people using these feature were high
| rollers placing very large bets, so management was not happy...
|
| Fortunately I wasn't fired and we fixed the issue very quickly,
| but man I felt the edge of that sword really close to my neck.
| It was at one of my first jobs as well nearby 20 years ago. I
| definitely learned some valuable lessons that week. :o)
| doublerabbit wrote:
| > I wasn't fired and we fixed the issue very quickly, but man
| I felt the edge of that sword really close to my neck.
|
| The same experience. I was working for a pornography company
| and where I was configuring load balancers. I had a test page
| of semi-naked red deviless with the words "Hello Minion"
| above her head which I had forgotten to remove.
|
| So during peak times, when the misconfigured LB went active
| it threw that page to the public, advertisers and the other
| white labelled websites.
| eru wrote:
| I feel like given the industry, they should have a higher
| tolerance for slightly spicy placeholder images?
| varjag wrote:
| I remember a colleague leaving a debug popup "fuck is wrong
| with the data" in a product outsourced to us. Naturally it
| popped during the customer demo, in presence of someone like
| Germany's minister of something.
|
| We had a good laugh; the dude was fired on the spot tho.
| veunes wrote:
| It's one of those mistakes that's hilarious in hindsight for
| everyone except the person responsible
| lexicality wrote:
| Personally I use the word "MEOW" because a) it's easy to search
| for and spot in logs b) it will (hopefully) never be a
| legitimate string in the kind of things I work on c) fairly
| unlikely to cause offence (unless the customer is a dog)
| SpaceNoodled wrote:
| BRB grepping our codebase for MEOW
| bendigedig wrote:
| I use "meow", "woof", and "cheeseburger".
| Tijdreiziger wrote:
| https://upload.wikimedia.org/wikipedia/en/f/f8/Internet_dog..
| ..
|
| (alt text: vintage meme depicting two dogs using a computer,
| captioned 'On the Internet, nobody knows you're a dog.')
| ithinkso wrote:
| Our testers (China and India) know that when they see KURWA
| or DUPA in logs that to send it straight to the polish site,
| we are considering adding a hook to check for those
| ndsipa_pomu wrote:
| Not a good choice if you refer to "homeowners" in the app
| though.
| stuartjohnson12 wrote:
| Wanted to make this comment, scrolled in anxious
| anticipation hoping no one else had made it yet, sadness
| washes over me.
| herodoturtle wrote:
| Hacker news poetry right here.
| Damogran6 wrote:
| Have an upvote, just the same. (From someone else who's
| thoughts aren't as original as he'd once thought.)
| coldpie wrote:
| I use "QWERT", for the same reasons.
| mananaysiempre wrote:
| Hope you aren't inspecting COM or DCOM data then. Those MEOW
| all over the place.
|
| > The header of the marshaled object reference begins with a
| distinguished signature ('MEOW')6 [...].
|
| > 6 A Microsoft Program Manager who shall remain anonymous
| claims that MEOW stands for _Microsoft Extended Object Wire_
| representation. The author, while somewhat gullible, is
| skeptical of this story but is willing to give the
| aforementioned source the benefit of the doubt.
|
| -- Don Box, _Essential COM_
| dh2022 wrote:
| MEOW fits in 4 bytes and the string is probably aligned on
| 4-bytes boundary (being at the start of the reference) So
| probably not a bad choice for a binary protocol.
| veunes wrote:
| It has a kind of charm to it. Like leaving your own harmless,
| personal mark on the code without risking another "I SEE
| YOU!" moment.
| systems_glitch wrote:
| Ugh, we had a FNG that did debug things like that at a previous
| job. His "humor" got exposed to the client several times.
| veunes wrote:
| This sounds like one of those lessons you never forget - the
| hard way!
| sensanaty wrote:
| Lol I remember early in my career using "fuck" and "cock" a lot
| for debugging. _Very_ quickly learned to not do that, I instead
| replaced it with "banana" for the most part
| wraptile wrote:
| banana has been there with me from the beginning! There's
| something weirdly satisfying about this particular word - the
| spelling, the sound and just sheer siliness just has a
| calming effect.
| twic wrote:
| And for fine and trace logging, you've got bananana,
| banananana, etc.
| hermitdev wrote:
| "ba" + "na" * severity
| VBprogrammer wrote:
| Yeah, someone did that at a place I once worked with the C-word
| in some JavaScript debug logs. Never put anything in the code,
| no matter how temporary, that you would be embarrassed to have
| appear to a customer.
| goblox9999 wrote:
| I once did the same except my debug message, created in a
| punchy mood late at night, was "YOU ARE BEING ATTACKED BY
| MOTHS." Left that in there and forgot about it until I received
| a very puzzled debug request months later...
| wonnage wrote:
| Twitter was working on streaming with chunked encoding, which
| resulted in this:
| https://x.com/ryankuder/status/474658110737371136
| jdwithit wrote:
| I've definitely committed debug messages before. Probably
| everyone who writes code has at some point. Thankfully it's
| never been anything TOO embarrassing. These days I try to
| always do a git diff and search for "print" (or whatever the
| language equivalent is) before I commit and push as a final
| sanity check.
|
| In high school, my friend had a habit of titling draft papers
| something inappropriate. Which was funny when we were peer
| editing each other. But inevitably, one time he forgot to
| change it back. We sat down in English class and as the teacher
| was walking around collecting papers, he glanced down at his
| and suddenly UH I GOTTA GO TO THE BATHROOM. He sprinted out the
| door straight to the computer lab and printed off a copy that
| didn't have a bunch of profanity in 24 point font at the top. I
| about died laughing.
| bornfreddy wrote:
| Instead of git diff, you can also use git add -p, which asks
| you for each change.
| dbmikus wrote:
| I used to debug with curse words until I accidentally pushed
| one of those into the company's open source repo and then we
| went and did some `git push --force` to scrub it from history.
|
| Now I just use my initials at the start of a debug line.
| matheusmoreira wrote:
| I gotta ask... Is the patient alright?
| FuckButtons wrote:
| I just have a snippet that prints "DEBUG", easy to grep for.
| Philadelphia wrote:
| I always use "elephant" as my debugging statement, since it's
| unlikely to come up in the code and easy to search for when you
| need to remove it, and also pretty innocuous. If you're writing
| software for zoos, you might want to try something else,
| though.
| hirsin wrote:
| It's not my first time seeing this, but I'm struck by some
| disappointment in the legacy of OSS here. The author clearly
| understood what was happening enough to post this to the unix SO
| - but not enough to find the `man` code and grep for the string
| that had to be present? I'll admit I don't immediately know where
| to go to look for the source code, but I can't imagine it's some
| tightly held secret address to a file share somewhere.
|
| Alternatively - maybe it wasn't the difficulty of finding it but
| the (perceived?) difficulty in requesting that it be changed?
|
| E - maybe the likely alternative is the "the customer has nukes
| so please fix it" entitlement?
| https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95644#c4
| jdnbndhxb wrote:
| It's a nice anecdote, don't think too much about it
| MiguelX413 wrote:
| No.
| strken wrote:
| I don't see Bill as doing anything wrong here. Given that he
| works for Cray on their own Fortran compiler, it seems
| reasonable that he would be allowed to report bugs in the
| competing product gfortran but not allowed to actually fix fix
| them, and that he would ask a question knowing full well that
| the answer would be "fuck you, pay me" just to be able to
| truthfully report that back up the chain.
|
| The nuclear-armed _client_ seems entitled, but I don 't think
| he necessarily is.
| eloisant wrote:
| Nukes or not, telling open source developers "the customer is
| asking for it" twice is either entitled or very ignorant.
| coldpie wrote:
| I spent years working on open source and I disagree.
| Politely nudging bugs is fine. Sometimes things fall
| through the cracks, and a quick prod will get someone's
| attention to take the time to go fix it. We do actually
| want to fix bugs for our users, after all. It is very easy
| to nudge bugs impolitely, so do this with extreme caution,
| but I don't think Bill stepped over the line in that issue.
| gavindean90 wrote:
| What does this have to do with the link?
| krick wrote:
| I hate such "jokes" so much. I just need to say it. Obviously, me
| saying that won't change anything, I don't even believe there is
| a minor possibility that anyone reading this may remember it in
| the future and know better than doing something like that, but,
| really, I hate it so, so, so much. As if there's not enough semi-
| intended weird behaviors in all our systems. Of course, I won't
| pretend that I believe that if not for the things like that we
| could live in a world where technology actually exists to save
| our time, not to spend more time on maintaining technology. What
| a silly idea. The majority of people on this forum only exist to
| maintain the technology.
|
| But still, there's no more mind-numbing, infuriating, exhausting
| feeling, than to find out that a thing you were debugging for the
| last hour was supposed to be a "fun little joke". Fun? You know
| what's fun: when stuff just works. That's about the most fun
| thing there is.
| tuyiown wrote:
| You're so intense about it, I just want that there would be
| more right now !
|
| Generally people make way to much assumption about software
| behavior <<just work>> is easily confused with <<works as I
| personally expected>>
|
| You're assuming too much, expecting too much, and get
| frustrated. I don't think you deserve it, but I don't think you
| have the right mindset about it either.
| ozim wrote:
| Let's not downvote the guy to oblivion.
|
| He is somewhat right. I think Easter eggs belong in computer
| games and user facing stuff like website or online forum.
|
| There shouldn't be jokes in something like man or grep.
| tuyiown wrote:
| Yes, he and you should not be downvoted, I agree, I fully
| understand how one can want to never be bothered by others
| playfulness.
|
| But I'm in the team that software is made by people, and
| that should be reflected. Jokes, like always, must be
| respectful to strangers, and strangers have to be polite
| and allow others to express themselves, jokes are not a
| trap.
|
| There definitely should be jokes in man and grep, it's just
| have to be of good taste (this one was good). We're not in
| a high stake diplomatic field. Removing all the jokes by
| principle is just giving in to the great consensus leveler
| that crushes humanity. Embrace humanity, don't crush it.
| aniviacat wrote:
| Is man not user facing?
| ozim wrote:
| If we define users as a subset of all users - by gamers
| and people who only visit websites or use web apps.
|
| But I expected it could be inferred from my post.
| travisjungroth wrote:
| > The majority of people on this forum only exist to maintain
| the technology.
|
| That's quite a belief and would certainly affect how you
| perceive easter eggs.
| RHSman2 wrote:
| Nothing more frustrating than being so offended, so easily.
| pantulis wrote:
| It depends on the particular easter egg. In this case, well,
| printing "gimme gimme gimme" after midnight is not that hard to
| catch and from what I understand it doesn't affect the basic
| functionality. I prefer to think of it as a kind reminder that
| software is written by humans, at least from the time being.
| _V_ wrote:
| Software bugs out sometimes. You cannot assume that everything
| will work as you expect even without easter eggs like this.
|
| If this triggers you so much then maybe, just maybe you chose
| the wrong career path. You know, all that "if you can't stand
| the heat, get out of kitchen. If you can't stand the debugging,
| ...." ;-)
| wodenokoto wrote:
| HN is obviously not where you'll find people sympathetic to
| this point of view, but in the grander scheme of things, the
| no-Easter-eggs attitude won out
| appendix-rock wrote:
| The no-Easter-egg attitude 'won out'c sure. There's not much
| else you can conclude from that, though. Not even that it's
| the popular opinion.
| keybored wrote:
| This is OSS. So it is impossible to have a rational discussion
| on it here--OSS has the halo of No Warranties And If You
| Complain You Are Entitled. Including intentionally adding
| things that turn to break things in the most puzzling,
| Heisenbug-looking way.[1]
|
| [1] It doesn't work after midnight???
| thih9 wrote:
| Note that it's no longer there.
|
| > The developer of the man-db, Colin Watson, decided that there
| was enough fun and the story won't get forgotten and removed the
| easter egg completely.
|
| https://git.savannah.gnu.org/cgit/man-db.git/commit/?id=b225...
| m463 wrote:
| I just tried it on an old raspberry pi and it is there. (based
| on debian 9 stretch)
| blahyawnblah wrote:
| You can't really expect that old of a version of Debian to be
| up to date
| thih9 wrote:
| This can be your reason to update to a non-EOL system.
| m463 wrote:
| or the humorous reason not to bother. :)
|
| (lol, this is not a mission critical, internet connected
| system)
| thih9 wrote:
| Looks like you're fine with not getting updates, you get
| to enjoy the easter egg then.
| cyptus wrote:
| at a discussion about this issue i read a comment which i cant
| find right now but was very beautiful. It was saying that we
| should keep easter eggs like this, because in the end this is
| what differs us humans from machines.
| Cthulhu_ wrote:
| Which is valid. But it's also valid that certain systems
| should work consistently and reliably. I mean in this case it
| seems mostly harmless, but in a hypothetical scenario a
| hacker needs to fix the production system of a hospital after
| a major disaster but needs to look up the docs for a command
| aaand... "gimme gimme gimme" shows up. No internet either.
|
| I'm all for easter eggs (and haven't added one in forever,
| maybe unit test test strings), but they shouldn't interfere
| with regular operation. This particular one could've been
| updated to only trigger for a certain command, for example.
| thih9 wrote:
| > in a hypothetical scenario a hacker needs to fix the
| production system of a hospital after a major disaster but
| needs to look up the docs for a command aaand... "gimme
| gimme gimme" shows up. No internet either.
|
| I thought the easter egg only occurs when man is called
| without arguments.
| itsoktocry wrote:
| > _but in a hypothetical scenario a hacker needs to fix the
| production system of a hospital after a major disaster but
| needs to look up the docs for a command aaand... "gimme
| gimme gimme" shows up._
|
| What obligation does a developer/maintainer have in this
| situation? If the hospital is using free/open source code,
| it's on them to understand how it works and how to fix it.
| chgs wrote:
| this ain't the movies bruv
| bongodongobob wrote:
| Then fork it and maintain it yourself, that's the beauty.
| umanwizard wrote:
| I'm sure I'm a human and not a machine. I even enjoy art and
| humor. But I think Easter eggs are cringey and not funny in
| the vast majority of cases.
|
| It's just a difference in personality. Claiming that liking
| Easter eggs is the essence of humanity is a pretty extreme
| exaggeration.
| K0balt wrote:
| You need to report to lizard HQ to get your personality
| simulator recalibrated immediately. You are risking
| exposing all of us.
| itsoktocry wrote:
| > _Claiming that liking Easter eggs is the essence of
| humanity is a pretty extreme exaggeration._
|
| Claiming that the parent claimed that easter eggs are "the
| essence of humanity" is an extreme exaggeration.
| fkyoureadthedoc wrote:
| Not surprising coming from someone trying to bully people
| out of doing something they like by calling it cringe
| though.
| umanwizard wrote:
| I'm not trying to bully anyone out of or into doing
| anything. Just expressing an opinion.
| Sparkyte wrote:
| Easter eggs like this show the quality of the work. Very charming
| and awesome!
| larodi wrote:
| Coding must be fun, using code too. Guys did right. This whole
| idea of opensource having to be coldstone serious is only because
| of corporations running it. But you see, when a program is being
| written by myself and my brov, I'd put easter eggs all over it,
| just ot remind people there were people on the other end of the
| line.
| Etheryte wrote:
| Yeah, definitely agreed, there's few things as fun and
| satisfying as a well hid easter egg. Doubly so if what you're
| working on is surrounded by a lot of red tape. My personal
| favorite is a Rick Roll I managed to hide in the source code of
| a government application I helped fix years ago on a consulting
| gig. The only way you'd find it is if you're a developer
| working on a very specific subsystem, but if you do find it,
| you'll know why it's there from the context.
| bauerd wrote:
| >I'd put easter eggs all over it, just ot remind people there
| were people on the other end of the line
|
| Most people won't come across your Easter egg since it's
| hidden. The ones that do encounter it will likely stumble over
| it, as did the OP, who had their CI pipeline broken. I think
| easter eggs are a poor tool to "remind people there were people
| on the other end of the line".
|
| Edit: at least outside of entertainment software
| fkyoureadthedoc wrote:
| Oh no, anything but the pipeline run!
| mrguyorama wrote:
| If your build pipeline depends on "man -w" and you don't work
| on man, the easter egg wasn't the problem.
| rendall wrote:
| Agreed. I'm really trying but failing to come up with a
| non-screwed-up scenario where this Easter egg legitimately
| breaks a well-planned testing suite.
| Denvercoder9 wrote:
| I guess you could have an integration test that validates
| that your installer puts the man pages in a directory that
| man searches in? It's a bit far-fetched but also not
| entirely outlandish.
| Nifty3929 wrote:
| This! Is it illegal to have a sense of humor or something?
| Must everything be serious, when the consequences are
| essentially zero?
|
| Some of these old easter eggs are great, and I don't think we
| do enough of that anymore.
| morning-coffee wrote:
| One man's funny easter egg is another man's non-deterministic
| trigger for errant behavior in their workflow with possible
| real-world consequences, I suppose...
|
| Yet another reason I have a hard time trusting software that is
| the product of integrating many disparate pieces with different
| engineering processes into something used in any life-safety or
| mission-critical application.
| kibwen wrote:
| If you want serious software, then pay for it.
|
| If you want free-as-in-beer software, you'll take what I give
| you, easter eggs and all.
|
| Anything else is just entitlement.
| chgs wrote:
| Absolutely, if you're precious about it review the code,
| remove the lines, and away you go.
|
| Your pipeline will error with an unexpected result from
| man, you can grep the man code for "gimme" and remove it in
| 2 minutes, far quicker than reading a man page.
|
| I miss the Linux world of the 90s before all the money
| grabbers came. I accept I'm in a tiny minority, and that
| would be fine. Sadly corporate interests overwhelm the
| ecosystem now.
| retsibsi wrote:
| You can have, and share, opinions about a thing without
| feeling that you're 'entitled' to have it conform to your
| wishes! I'll take it or leave it, but I'll also feel free
| to say what I think about it (within bounds of politeness
| and decency).
| Ekaros wrote:
| I wonder how many paid for Linux distributions patched this
| out? As surely they have reviewed all pieces of code for
| exactly this sort of malicious behaviour.
| __MatrixMan__ wrote:
| I have skepticism for anything that has a free/paid tier.
| The reduced functionality version has typically been gimped
| in a way that doesn't make much sense. You end up with
| cases where the button for the paid functionality is just
| missing so users don't even know that the thing is
| possible... and other such problems. It ends up feeling
| rather 1984. But I'd respect a maintainer who had a paid
| tier which differed in some kind of goofy way:
|
| - the free version does something goofy at 11:11, but works
| fine otherwise
|
| - the paid version is identical to the free version, but it
| doesn't do anything goofy at 11:11
|
| Of course it would be trivial to just do this:
| if time.now() == time(hours=11, minutes=11):
| sleep(60) freeversion()
|
| But if you've got a pipeline which absolutely must not fail
| then you should probably be paying the maintainer. Hacking
| around the easter egg would hopefully feel enough like an
| admission of guilt to just talk your boss into paying.
| Denvercoder9 wrote:
| > non-deterministic trigger
|
| This easter egg was entirely deterministic, though.
| tempestn wrote:
| Anyone have a hypothesis why there would be a test that calls man
| without arguments? Is the goal just to check that man is
| installed? Even so, you'd think you'd test the command as it's
| normally used...
| Ekaros wrote:
| Automated test that verifies something like just build image
| installs correctly and man produces expected output?
| kevincox wrote:
| Reading the answer it seems that the easter egg accidentally
| also triggered if you pass the page to load via --path. This
| was then fixed later (and then even later the whole easter egg
| was removed).
| caymanjim wrote:
| I'm pretty sure the Stack Overflow question was contrived
| nonsense just so the other dude could tell his story in public.
| int_19h wrote:
| It's discussed extensively in the comments on the linked SO
| question. The short answer:
|
| > Because we wanted the "manpath" - 'man -w'
| thrdbndndn wrote:
| After reading the whole thing there seems to be no explanation
| why it was changed from 0001 to 0030?
| ARandomerDude wrote:
| > Let's mention that the initial commit triggered at 12:01am. A
| followup commit changed that to 12:30am with the commit log
| message "half past twelve" which is again quoted from the same
| song
| winwang wrote:
| But 12:30am is 30 past twelve!
| blipvert wrote:
| Check the lyrics
| martypitt wrote:
| What a lovely, civil exchange. (I hope that the tone on the
| socials at the time was just as civil).
|
| Developer plants an easter egg. It was a good one ... and it was
| a reasonable assumption it wasn't gonna break anything. Several
| people have a good chuckle. Someone gets affected negatively by
| it, so the developer says, "fair play, that wasn't the intent,
| let's remove it". Everyone hugs it out and moves on.
|
| I have no idea if this was the full story, or if his Twitter was
| aflame with negativity, but I imagine if this happened today, the
| tone would be much more combative than the exchange on the Stack
| Overflow page (eg: this HN thread, which is full of 'Easter Eggs
| Bad! Bugs!') -- which is a real shame.
|
| If humour be the bugs of life, play on.
| klez wrote:
| Consider that SE comments are heavily moderated. Unfortunately
| if you read the chat linked in the comments (which got moved
| from the comments section) it's everything but fun and games.
| Also apparently the developer who suggested the feature had to
| set their twitter to private because he was getting bashed for
| this.
| bradley13 wrote:
| That's a shame, but (sadly) not unexpected. Humorous people
| who take themselves far too seriously. The negativity was
| explained decades ago by the "Greater Internet Fuckwad
| Theory". Sadly, things have not improved.
| mjmsmith wrote:
| Stack Exchange comments are where humor goes to die^H^H^Hbe
| moved to chat.
| tlrobinson wrote:
| > Fixed in master: https://git.savannah.gnu.org/cgit/man-
| db.git/commit/?id=84bd...
|
| Waiting for the bug report that the fix broke someone's workflow.
| https://xkcd.com/1172/
| rcarmo wrote:
| Oh man. I read the title and had immediate ABBA flashbacks, which
| I think kind of dates me...
| noja wrote:
| Read the article...
| BLKNSLVR wrote:
| Almost totally off topic, but I love the scenario.
|
| Great song to roller disco to. Great beat, great build up. Prior
| to taking up roller skating (inline) I wouldn't have given the
| song much credence, but I get a little surge of adrenaline just
| thinking about having weaved through crowds of noobs with this
| song pumping.
| varelaz wrote:
| I'm against easter eggs, at least right now. First of all not of
| them are harmless, can you make sure that it wouldn't break
| anything important, would it tolerate race, religion, gender and
| after all of these would it remain fun? It's hard to be
| responsible and fun in the same time.
| 9dev wrote:
| Well... I find your conclusion a bit sad, and turned upside
| down. Instead of banning all things fun for fear of
| misstepping, maybe it's time to take things less personally, be
| more tolerant towards others, and push for positive change
| instead of trying to punish others for not being "aware"
| enough?
| varelaz wrote:
| I'm not trying to punish others, I just don't find it fun
| anymore with all respect to everyone who keeps up. Before it
| was naive and simple, right now it just more complicated,
| often looks commercialized or not appropriate.
| 9dev wrote:
| I didn't mean to imply you personally aim to punish others,
| but that we should collectively strive to foster a culture
| of positivity rather than instilling fear of offending
| others, until people say nothing at all anymore (or say a
| lot that doesn't _mean_ anything).
| _V_ wrote:
| Why on Earth would jokes have to "tolerate" race, religion and
| gender or anything else? The point of (some) jokes is to
| challenge anything and everything you deem to be a norm.
|
| I'm starting to think that many tolerance-preaching people are
| the most intolerant bunch by far.
| illys wrote:
| Well, my 2-cent is that you can laugth of everything but not
| with everybody... So defying the norms with Easter Eggs sent
| to the wild can be an issue. You have to know your audience
| to properly chose your level of impertinence.
| _V_ wrote:
| I completely agree with the first sentence - however I
| would argue that normal, level-headed and sane person
| either laughs or just shrugs and moves on if that
| particular joke is not to their taste.
| aniviacat wrote:
| Is the Google "Minecraft" easter egg intolerant of gender?
|
| Easter eggs can certainly be problematic when used in APIs (or
| similar) where access is intended to be automated (and
| therefore vulnerable to surprises).
|
| But in user facing code, easter eggs are perfectly fine.
| varelaz wrote:
| Is it just a marketing tool of a mega-corp which tries to
| look nicer and engage you more?
| aniviacat wrote:
| I don't know what your point is.
|
| Yes, Google is a corporation and yes, Google tries to build
| a product people want to use.
|
| (Building things that people like is a good thing.)
| varelaz wrote:
| I don't say it's bad. It's commercialized experiense and
| it's cool if you love it. I just wouldn't treat it the
| same as devs fun of hiding things for valuable user who
| loves their product and I'm talking from dev prospective,
| not user.
| ARandomerDude wrote:
| I'm sure some companies use easter eggs as
| marketing/recruiting tools.
|
| That said, I've put a small number of user-facing easter
| eggs in publicly-traded MegaCorp code before. In every
| case, it was an inside joke among devs that the higher-ups
| never knew about it. The C-Suite is uptight and we
| definitely would have been reprimanded if they were aware.
| chuckadams wrote:
| It's an _Easter_ egg, so clearly it 's intolerant of other
| religions!
| w4rh4wk5 wrote:
| Obligatory meme https://www.youtube.com/shorts/KXonMpe4hr8
| sebstefan wrote:
| I feel like you can trust `man` to give you exit codes that make
| sense if you want to determine whether it exited correctly or not
|
| It's always shakey to use the length of `stderr` for that
| lockedinspace wrote:
| Love these easter eggs, makes you not forget we are all humans
| veunes wrote:
| Exactly! They're like the bloopers of the tech world
| moatel wrote:
| At 10:31 does it print "man man man"?
| sirsinsalot wrote:
| I know someone who was on a team whose proprietary software was
| decompiled and it still contained the code comments.
|
| They were made public. They were horrific. Assume all code may
| become public.
| jajko wrote:
| Depending on language/compiler this is normal, ie Java
| decompiled will contain all comments.
|
| Idiots using nasty comments or test data and then this leaking
| to management or users is nothing new, always a fireable
| offense showing immature behavior and lack of professionalism,
| something any company desperately need in software devs.
| trashburger wrote:
| Bet you're real fun at parties.
| elif wrote:
| Did ANYONE have "automated man calls" on their devops bingo card?
|
| I still don't understand what they were trying to accomplish...
| 4gotunameagain wrote:
| If you read the linked question, they say that they were
| testing the output of "man -w" which prints the path of man
| pages.
|
| I can easily see that as a test for deployment image generation
| where you want to fiddle with the available man pages and test
| whether they will be accessible.
| dbtablesorrows wrote:
| I can imagine using man to generate random but realistic text
| in a test.
|
| MANROFFSEQ= MANPAGER=cat man sprintf
| xattt wrote:
| I had a QNAP Celeron NAS where I installed Ubuntu because it was
| out of support.
|
| The trouble was that it threw a kernel panic at certain times of
| the day. I troubleshooted it to no end - reinstalled Linux, did
| an EFI update. I chalked it up to something I did because I was
| running 16 GB of RAM when QNAP said max RAM was 8 GB.
|
| Fast forward to this year, and it fails to load up completely.
|
| It turned out that it was a silicon degradation bug that was a
| problem with J1900 devices.
|
| I wasted so much time over the years trying to troubleshoot
| something that I could not fix...
| bluedino wrote:
| The best part of stuff like this is all of the other stuff you
| fixed that you didn't know were broken or wrong, and all the
| things you learned along the way
| userbinator wrote:
| There is a hardware workaround for those. Involves a little bit
| of soldering.
| sambeau wrote:
| If your software is free and the maintainers aren't getting paid
| then a few Easter eggs are a small price to pay.
|
| Colin was being paid, of course, but not primarily for
| maintaining man.
|
| Having said that, I once worked at a company (incidentally one
| where Colin worked, though after he'd left to join Ubuntu) where
| a developer added a line to the T&Cs that meant that a user
| granted their soul to the company. The intention was to check if
| the execs/legals checked the T&Cs like they promised to. They did
| not. Many souls were captured.
| eastbound wrote:
| It could make the entire T&C invalid.
| alanbernstein wrote:
| Why, is the soul an established legal concept? Or just the
| fact that nobody checked the thing?
| opello wrote:
| Presumably if the T&C didn't have a severability clause the
| impossible soul capturing part could be argued to
| invalidate the entirety.
| lolinder wrote:
| Do any T&Cs _not_ have a severability clause? I 'm not a
| lawyer and have written exactly one semi-legal document
| ever, but even I knew to put one of those in.
| eastbound wrote:
| No, it's the fact that someone is joking in the ToS, proves
| that no-one can take it seriously. It would require a
| phrase like "If any term is considered invalid, it doesn't
| invalidate the others", but even this sentence is not
| always applicable.
| unethical_ban wrote:
| I don't think the minority opinion would have won out of it
| weren't for social media.
| karaterobot wrote:
| More easter eggs please, not fewer.
| kunley wrote:
| Pity the author removed it
| justin66 wrote:
| _This joke only three people are ever going to see is fucking
| up somebody 's automated tests but I'm going to leave it in
| anyway_ seems like it would have been a poor approach to take.
| kunley wrote:
| I will raise a glass of wine for the good impressions of
| whoever at 0:30am is taking care of automated tests instead
| of a glass of wine.
|
| _kidding_ , but also: please get the perspective..
| justin66 wrote:
| > please get the perspective..
|
| There are certainly different points of view here.
|
| I'd immediately take the easter egg out because I just
| assume if I hear about a bug once, I'm going to hear about
| it again. The selfish reason to fix any bug ASAP: it's an
| easy way to make life easier for my future self.
|
| And yeah, also, why fuckup someone else's tests needlessly.
|
| > I will raise a glass of wine for the good impressions of
| whoever at 0:30am is taking care of automated tests instead
| of a glass of wine.
|
| _Automated_ tests.
| kunley wrote:
| Are you serious?
|
| I mean, are you writing automated tests of /usr/bin/man ?
| justin66 wrote:
| I'm reacting to a Stack Overflow comment that begins
| "We've noticed that some of our automatic tests fail when
| they run at 00:30 but work fine the rest of the day."
|
| I don't know what you're doing.
| jll29 wrote:
| Got a good laugh out of this post, thanks.
| dang wrote:
| Related:
|
| _Why does man print "gimme gimme gimme" at 00:30? (2017)_ -
| https://news.ycombinator.com/item?id=27994194 - July 2021 (211
| comments)
|
| _Why does man print "gimme gimme gimme" at 00:30?_ -
| https://news.ycombinator.com/item?id=15747313 - Nov 2017 (159
| comments)
|
| _Why does man print "gimme gimme gimme" at 00:30?_ -
| https://news.ycombinator.com/item?id=15746972 - Nov 2017 (1
| comment)
|
| _Why does man print "gimme gimme gimme" at 00:30?_ -
| https://news.ycombinator.com/item?id=15742221 - Nov 2017 (1
| comment)
| waynecochran wrote:
| The ABBA song instantly came into my mind the second I saw it --
| I am truly a child of the 80's.
| feralchimp wrote:
| "gimme gimme gimme" from man after midnight, you say?
| joemi wrote:
| I set up FreePBX at my work when we got rid of our old phone
| system. We don't need a lot of extensions, so I just used 1xx,
| 2xx, and 3xx for difference types of extensions and had plenty of
| numbers leftover for future purposes with those. So I figured to
| add a little easter egg if anyone ever calls the 666 extension:
| it plays a clip of Vincent Price's terrifying laugh from the end
| of Michael Jackson's Thriller.
|
| Well, a year or two after I set that up, I got a text early one
| morning from a coworker who said the phones must have been hacked
| because they're not working right and whenever they try to call
| anywhere they hear a scary voice. When I took a look, it turned
| out that something went wrong somehow and all calls were getting
| forwarded to the last extension I added, which was 666. Needless
| to say, people weren't amused by my intended easter egg and felt
| insulted by the laughter.
___________________________________________________________________
(page generated 2024-10-04 23:00 UTC)