Differences between revisions 7 and 10 (spanning 3 versions)
Revision 7 as of 2011-04-02 13:07:18
Size: 3875
Editor: GreyCat
Comment: dilbert
Revision 10 as of 2016-02-03 20:13:35
Size: 5152
Editor: GreyCat
Comment: more bashphorisms
Deletions are marked like this. Additions are marked like this.
Line 34: Line 34:
 * All examples given by the questioner will be broken, misleading, wrong, and not representative of the actual question.  * All examples given by the questioner will be broken, misleading, wrong, and/or not representative of the actual question.
Line 38: Line 38:
 * The more beginner you are, the more likely you are to be overcomplicating it.  * The more of a beginner you are, the more likely you are to be overcomplicating it.
Line 42: Line 42:
 * The newbie will always have some excuse for doing it wrong.
 * --(If)-- When the newbie's question is ambiguous, the proper interpretation will be whichever one makes the problem the hardest to solve.
 * The newcomer will abuse the bot's factoid triggers for their own entertainment until someone gets annoyed enough to ask them to message it privately instead.
 * Everyone is a newcomer.
 * The newcomer will address greybot as if it were human.
 * The newbie won't accept any answer that uses practical or standard tools.
 * The newbie will not TELL you about this restriction until you have wasted half an hour.
 * The newbie will lie.
 * When the full horror of the newbie's true goal is revealed, the newbie will try to restate the goal to trick you into answering. Newbies are stupid.
 * It's always git. Or python virtualenv, or docker, or puppet, or ansible. One of those pieces of shit. ALWAYS.
 * They won't show you the homework assignment. That would make it too easy.
 * Your teacher is a fucking idiot.
 * The more horrifyingly wrong a proposed solution is, the more likely it will be used.
 * The newbie cannot explain what he is doing, or why. He will show you incomprehensible, nonworking code instead. What? You can't read his mind?!

Why is it so hard to get an answer to the question that I asked in #bash?

Maybe nobody knows the answer (or the people who know the answer are busy). Maybe you haven't given enough detail about the problem, or you haven't presented the problem clearly. Maybe the question you asked is answered in this FAQ, or in BashPitfalls, or in the BashGuide.

This is a big one: don't just post a URL and say "here is my script, fix it!" Only post code as a last resort, if you have a small piece of code that you don't understand. Instead, you should state what you're trying to do.

Shell scripting is largely a collection of hacks and tricks that do not generalize very well. The optimal answer to one problem may be quite different from the optimal answer to a similar-looking problem, so it's extremely important that you tell us the exact problem you want to solve.

Moreover, if you've attempted to solve a problem yourself, there's a really high probability that you've gone about it using a technique that doesn't work (or, at least, doesn't work for that particular problem). Any code you already have is probably going to be thrown away. Posting your non-working code as a substitute for a description of the problem you want to solve is usually a waste of time, and is nearly always irritating.

See NetEtiquette for more general suggestions. Try to avoid the infamous XyProblem.

dilbert-20110402.gif

Also:

  • #bash aphorism 1: The questioner's first description of the problem/question will be misleading.

    • #bash corollary 1.1: The questioner's second description of the problem/question will also be misleading.

  • #bash aphorism 2: The questioner will keep changing the original question until it drives the helpers in the channel insane.

The aphorisms given here are intended to be humorous, but with a touch of realism underlying them. Several have been suggested over time, but only the ones shown above have remained largely untouched. Others include:

  • The data is never formatted in the way that makes it easiest to manipulate.
  • 30 to 40 percent of the conversations in #bash will be about aphorisms #1 and #2.
  • The questioner will never tell you what they are really doing the first time they ask.
  • The questioner's third description of the problem will clarify two previously misdescribed elements of the problem, but will add two new irrelevant issues that will be even more difficult to unravel from the actual problem.
  • Offtopicness will continue until someone asks a bash question that falls under bashphorisms 1 and/or 2, and greycat gets pissed off.
  • The questioner will not read and apply the answers he is given but will instead continue to practice b1 and b2.
  • The ignorant will continually mis-educate the other noobies.
  • When given a choice of two solutions, the newbie will always choose the more complicated, or less portable, solution.
  • When given a choice of solutions, the newbie will always choose the wrong one.
  • The newbie will always find a reason to say, "It doesn't work."
  • If you don't know to whom the bashphorism's referring, it's you.
  • All examples given by the questioner will be broken, misleading, wrong, and/or not representative of the actual question.
  • Everyone ignores greycat when he is right. When he is wrong, it is !b1.
  • The newbie doesn't actually know what he's asking. If he did, he wouldn't need to ask.
  • The more advanced you are, the more likely you are to be overcomplicating it.
  • The more of a beginner you are, the more likely you are to be overcomplicating it.
  • A newbie comes to #bash to get his script confirmed. He leaves disappointed.
  • The newbie will not accept the answer you give, no matter how right it is.
  • The newbie is a bloody loon.
  • The newbie will always have some excuse for doing it wrong.
  • If When the newbie's question is ambiguous, the proper interpretation will be whichever one makes the problem the hardest to solve.

  • The newcomer will abuse the bot's factoid triggers for their own entertainment until someone gets annoyed enough to ask them to message it privately instead.
  • Everyone is a newcomer.
  • The newcomer will address greybot as if it were human.
  • The newbie won't accept any answer that uses practical or standard tools.
  • The newbie will not TELL you about this restriction until you have wasted half an hour.
  • The newbie will lie.
  • When the full horror of the newbie's true goal is revealed, the newbie will try to restate the goal to trick you into answering. Newbies are stupid.
  • It's always git. Or python virtualenv, or docker, or puppet, or ansible. One of those pieces of shit. ALWAYS.
  • They won't show you the homework assignment. That would make it too easy.
  • Your teacher is a fucking idiot.
  • The more horrifyingly wrong a proposed solution is, the more likely it will be used.
  • The newbie cannot explain what he is doing, or why. He will show you incomprehensible, nonworking code instead. What? You can't read his mind?!

BashFAQ/064 (last edited 2021-08-19 17:49:59 by GreyCat)