5 ms·
I haven't really found stackoverflow to be that humiliating (compared to some IRC rooms or forums), basic questions get asked and answered all the time. But the
by PhilipRoman 2y ago
I haven't really found stackoverflow to be that humiliating (compared to some IRC rooms or forums), basic questions get asked and answered all the time. But the worst part is when you want to do something off the beaten path.
Q: how do I do thing X in C?
A: Why do you need to know this? The C standard doesn't say anything about X. The answer will depend on your compiler and platform. Are you sure you want to do X instead Y? What version of Ubuntu are you running?
- mhh__ 2y agoI find that this is mainly a problem in languages that attract "practical"/"best tool for the job" Philistines. Not going to name names right now but I had never really experienced this until I started using languages from a certain Washington based software company.
- appendix-rock 2y agoGod. Yeah. I’ve always hated #IAMPolicies on Freenode :)
- haolez 2y agoThe first time that I asked a question on #cpp @Freenode was a unique experience for my younger self. My message contained greetings and the question in the same message. I was banned immediately and the response from the mods was: - do not greet; we don't have time for that bullshit - do not use natural language questions; submit a test case and we will understand what you mean through your code - do not abbreviate words (you have abbreviated "you" as "u"); if you do not have time to type the words, we do not have time to read them The ban lasted for a week! :D
- wccrawford 2y agoA one week ban on the first message is clearly gatekeeping. What a bunch of jerks. A 1 hour ban would have been a lot more appropriate, and escalate from there if the person can't follow the rules. Don't even get me started about how dumb rule 2 is, though. And rule 3 doesn't even work for normal English as many things are abbreviated, e.g. this example. And of course, you didn't greet and wait, you just put a pleasantry in the same message. Jeez. I'm 100% sure I'd never have gone back after that rude ban.
- GeoAtreides 2y ago"I'm 100% sure I'd never have gone back after that rude ban." upon saying this, the young apprentice was enlightened
- luckylion 2y ago> And of course, you didn't greet and wait, you just put a pleasantry in the same message. Jeez. I'm pretty sure that "rule" was more aimed towards "just ask your question" rather than "greet, make smalltalk, then ask your question". I have similar rules, though I don't communicate them as aggressively, and don't ban people for breaking them, I just don't reply to greetings coming from people I know aren't looking to talk to me to ask me how I've been. It's a lot easier if you send the question you have instead of sending "Hi, how are you?" and then wait for 3 minutes to type out your question.
- chrsig 2y ago> I just don't reply to greetings coming from people I know aren't looking to talk to me to ask me how I've been. Yep, it's in there with "please use the public channel rather than DMs". Some nettiquite, please. Of course, in the process of typing out their question, they usually find the answer on their own.
- wccrawford 2y agoHe did send the question. In the same message. It's just that he was polite about it. He didn't send a greeting and wait for a response before continuing.
- bqmjjx0kac 2y ago> do not use natural language questions That is really absurd! AFAIK, it is not possible to pose a question to a human in C++. This level of dogmatism and ignorance of human communication reminds me of a TL I worked with once who believed that their project's C codebase was "self-documenting". They would categorically reject PRs that contained comments, even "why" comments that were legitimately informative. It was a very frustrating experience, but at least I have some anecdotes now that are funny in retrospect.
- ravenstine 2y agoSelf-documenting code is one of the worst ideas in programming. Like you, I've had to work with teams where my PRs would be blocked until I removed my comments. I'm not talking pointless comments like "# loop through the array" but JSdoc style comments describing why a function was needed. I will no longer work anywhere that has this kind of culture.
- seattle_spring 2y agoHard to agree or disagree without real examples. I've worked with people who insist on writing paragraphs of stories as comments on top of some pretty obviously self-descriptive code. In those cases, the comments were indeed just clutter that would likely soon be out of date anyway. Conversely, places that need huge comments like that usually should just be refactored anyway. It's pretty rare to actually need written comments to explain what's going on when the code is written semantically and thoughtfully.
- bqmjjx0kac 2y agoTo be clear, I'm not talking about self-indulgent essays embedded in comments. I'm talking about comments that convey context for humans. Here's a made-up example: // Parses a Foo message [spec]. Returns true iff the parse was successful. // The `out` and `in` pointers must be non-null. // // [spec]: https://foo.example/spec bool parse_foo(foo_t* out, const char* in, size_t in_len) { assert(out); assert(in); // TODO(tracker.example/issue#123) Delete the Foo v1 parser. Nobody will // be sending us Foo v1 message when all the clients are upgraded to Bar // v7.1. // // Starting in Foo v2, messages begin with a two-byte version identifier. // Prior to v2, there was no version tag at all, so we have to make an // educated guess. // // For more context on the Foo project's decision to add a version tag: // https://foo.example/specv2#breaking-change-version-tag uint16_t tag_or_len; if (!consume_u16(&tag_or_len, &in, &in_len)) { return false; } if (tag_or_len == in_len) { return parse_foo_v1(out, in, in_len); } return parse_foo_v2(out, in, in_len); } On that old project, I believe the TL would have rejected each of these comments on the grounds that the code is self-documenting. I find this to be absurd: (1) Function comments are necessary to define a contract with the caller. Without it, callers are just guessing at proper use, which is particularly dangerous in C. Imagine if a caller guessed that the parser would gracefully degrade into a validator when `out` is NULL. (This is a mild example! I'm sure I could come up with an example where the consequence is UB or `rm -rf /`.) (2) The TODO comment links to the issue tracker. There's no universe in which a reader could have found issue#123 purely by reading the code. On the aforementioned project, we were constantly rediscovering issues after wasting hours/days retreading old territory. (3) Regarding the "Starting in Foo v2" comment... OK, fine, maybe this could have been inferred from reading the code. But it eases the reader into what's about to happen while providing further context with a link. On balance, I think this kind of "what" comment is worth including even though it mirrors the code.
- SunlitCat 2y agoThat contradiction is funny, tho: > - do not greet; we don't have time for that bullshit and > do not abbreviate words (you have abbreviated "you" as "u"); if you do not have time to type the words, we do not have time to read them So they have apparently enough time to read full words, it seems!
- beeboobaa3 2y agoYh u gtta b c00l w abbrvs
- 6510 2y agoThe noobs don't got how we get where we get? edit: I remember how some communities changed into: The help isn't good enough, you should help harder, I want you to help me by these conventions. Then they leave after getting their answer and no one has seen them ever again rather than join the help desk.
- sokoloff 2y agoI think reading “u” takes longer than reading “you”. With “u”, I have to pause for a moment and think “that’s not a normal word; I wonder if they meant to type ‘i’ instead (and just hit a little left of target)?” and then maybe read the passage twice to see which is more likely. I don’t think it’s quite as much a contradiction. (It still could be more gruff than needed.)
- kfajdsl 2y agoprobably a generational thing, I process that and other common texting/internet abbreviations exactly like normal words.
- tinco 2y agoI learned a bunch of programming languages on IRC, and the C and C++ communities on freenode were by far the most toxic I've encountered. Now that Rust is succesfully assimilating those communities, I have noticed the same toxicity on less well moderated forums, like the subreddit. The Discord luckily is still great. It's probably really important to separate the curmudgeons from the fresh initiates to provide an enjoyable and positive experience for both groups. Discord makes that really easy. In the Ruby IRC channel curmudgeons would simply be shot down instantly with MINASWAN style arguments. In the Haskell IRC channel I guess it was basically accepted that everyone was learning new things all the time, and there was always someone willing to teach at the level you were trying to learn.
- betaby 2y agoNot my experience. IRC was 'toxic' since forever, but that't not a toxicity, that's inability to read emotion through transactional plan text. Once one account that in the mental model IRC is just fine.
- jancsika 2y agoThis being HN, I'd love to hear from one of the many IRC channel mods who literally typed (I'd guess copy/pasted) this kind of text into their chat room topics and auto-responders. If you're out there-- how does it feel to know that what you meant as a efficient course-correction for newcomers was instead a social shaming that cut so deep that the message you wrote is still burned verbatim into their memory after all these years? To be clear, I'm taking OP's experience as a common case of IRC newbies at that time on many channels. I certainly experienced something like it (though I can't remember the exact text), and I've read many others post on HN about the same behavior from the IRC days. Edit: clarifications
- zahlman 2y ago>If you're out there-- how does it feel to know that what you meant as a efficient course-correction for newcomers was instead a social shaming that cut so deep that the message you wrote is still burned verbatim into their memory after all these years? I've never been a IRC mod for a channel of anywhere near that significance. But as someone who has put in considerable effort for the last few years trying to explain basic fundamental ideas about what Stack Overflow is and how it's supposed to work to people (including to people whose accounts are 15+ years old but who insist on continuing to treat the Q&A like a discussion forum)... ... I'm kinda envious. Being presented with a text entry box, and the implied contract that what you type there will be broadcast to a wide audience, is not supposed to imply a right to reject the community's telos and substitute your own. Gatekeeping of this sort is important; otherwise you end up with the Wikipedia page for "Dog" being flooded with people trying to get free veterinary consultation. Communities are allowed to have goals and purposes that aren't obvious and which don't match the apparent design, and certainly they aren't required to have goals which encompass everything possible with the sites software. There are countless places on the Internet that work like a discussion forum where you can post a question, or a request for help, or just a general state of confusion, about a problem where you're just completely lost; and where you can expect to have a back-and-forth multi-way conversation with others to try and diagnose things or come to a state of understanding; and where nobody cares if your real concern ever surfaces in the form of an explicit, coherent question; and where there's no expectation that any of this dialogue should ever be useful to anyone else. Stack Overflow is not that, explicitly and by design; and that came about specifically so that people who do have some clue and want to find an answer to an actual question, can do so without having to pick through a dialogue of the sort described above, following an arbitrarily long chain of posts of questionable relevance (that might well end in "never mind, I fixed it" with no explanation). But in order to become a repository of such questions, people presented with the question submission form... need to be restricted to asking such questions.
- hanniabu 2y agoMy questions always get closed and marked as a duplicate with a comment linking to a question that's unrelated
- zahlman 2y agoA large majority of the complaints we get of this form on the Meta site, whenever there's an actual object case, turn out to be really clear-cut duplicates where the OP is quibbling on an irrelevant detail instead of trying to understand the explanation in the answer and adapt the code to individual circumstances.
- elicksaur 2y agoOn the other hand, I find it to be a fatal flaw that LLMs can’t say, “Hey you probably don’t actually want to do it that way.”
- stemlord 2y agoSure but most common LLMs aren't going to be patronizing and presumptuous while they say so
- Ekaros 2y agoI always wonder about that. Very often it seems that you need to be able to LLM that they are wrong. And then they happily correct themselves. But if you do not know that the answer is wrong how can you get correct answer?
- o11c 2y agoWorse: if you think the LLM is wrong and try to correct it, it will happily invent something completely different (and actually wrong this time).
- milesvp 2y agoThis happened to me the other day. I had framed a question in the ordinal case, and since I was trying to offload thinking anyways, I forgot that my use case was rotated, and failed to apply the rotation when testing the LLM answer. I corrected it twice before it wrapped around to the same (correct) previous answer, and that’s when I noticed my error. I apologized, added the rotation piece to my question, and it happily gave me a verifiably correct answer.
- rytis 2y agoI think it depends on how the question is constructed: - I want to do X, how do I do it? - I was thinking of doing X to achieve Y, wonder if that's a good idea? Sometimes, I really want to do X, I know it may be questionable, I know the safest is "probably don't want to do it", and yet, that's not someone else's (or LLMs) business, I know exactly what I want to do, and I'm asking if anyone knows HOW, not IF. So IMO it's not a flaw, it's a very useful feature, and I really do hope LLMs stay that way.
- skywhopper 2y agoI mean, those all sound like good questions. You might be a super genius, but most people who ask how to do X actually want to do Y. And if they DO want X, then those other questions about compiler and OS version really matter. The fact that you didn’t include them in your question shows you aren’t really respecting the time of the experts on the platform. If you know you are doing something unusual, then you need to provide a lot more context.
- ElFitz 2y agoIt’s also quite fun when you ask niche questions that haven’t been asked or answered yet ("How do I do X with Y?"), and just get downvoted for some reason. That’s when I stopped investing any effort into that community. Turned out it, counter-intuitively, was impossible. And not documented anywhere.
- bayindirh 2y agoYes, immature people are everywhere, but SO took it to a new level before they had to implement a code of conduct. I remember asking questions and getting "this is is common misconception, maybe you're looking for X instead" type of actually helpful and kind answers. After some point it came to a point that if you're not asking a complete problem which can't be modeled as a logic statement, you're labeled as stupid for not knowing better. The thing is, if I knew better or already found the answer, I'd not be asking to SO in the first place. After a couple of incidents, I left the place for the better. I can do my own research, and share my knowledge elsewhere. Now they're training their and others models with that corpus, I'll never add a single dot to their dataset.
- zahlman 2y agoStack Overflow always had a code of conduct - it just wasn't always called that, and it started out based in some naive assumptions about human behaviour. Someone who tells you something along the lines of "this is is common misconception, maybe you're looking for X instead" is being helpful and kind, and is not at all "labeling you as stupid". On Stack Overflow, it's not at all required that you actually need the question answered, as asked, in order to ask it. (You're even actively encouraged to ask and answer your own questions, as long as both question and answer meet the usual standards, as a way to share your expertise.) It has never been acceptable to insult others openly on the site - but moderation resources are, and always have been, extremely strained, and the community simply doesn't see certain things as insulting or "mean" that others might. In particular, downvotes aren't withheld out of sympathy, because they are understood to be purely for content rating - but many users take them personally anyway. Curators commonly get yelled at when they comment (thus identifying themselves) to explain policy in polite but blunt copy-paste terms; and they get seethed at when they don't comment. There is a standard set of reasons to close questions (https://meta.stackoverflow.com/questions/417476 https://meta.stackoverflow.com/questions/417476), and a how-to-ask guide (https://stackoverflow.com/help/how-to-ask https://stackoverflow.com/help/how-to-ask), and a site tour (https://stackoverflow.com/tour https://stackoverflow.com/tour), and an entire Meta site with a variety of FAQ entries and other common references (for example, I wrote the "proposed faq" of https://meta.stackoverflow.com/questions/429808); https://meta.stackoverflow.com/questions/429808); but very few people seem interested in checking the extant documentation for the community norms, and then feel slighted when the community norms aren't what they assume they ought to be (because it works that way everywhere else). Communities should be allowed to have their own norms, so that they can pursue their own goals (https://meta.stackoverflow.com/questions/254770 https://meta.stackoverflow.com/questions/254770). A ton of users confuse "know better or find the answer ahead of time" for debugging. Stack Overflow allows for what are commonly called "debugging questions", but this does not mean questions wherein you ask someone to debug the code for you. Why? Because that can't ever be helpful to someone else - nobody else has your code, and thus they can't benefit from someone locating the bug in your code. The "debugging questions" that Stack Overflow does want are questions about behaviour that isn't understood, after you have isolated the misbehaving part. These are ideally presented in the form of a "minimal reproducible example" or MRE (https://stackoverflow.com/help/minimal-reproducible-example https://stackoverflow.com/help/minimal-reproducible-example). Stack Overflow explicitly expects you to do research before asking your question (https://meta.stackoverflow.com/questions/261592 https://meta.stackoverflow.com/questions/261592) - because most of the goal of the site is to cover questions that can't be answered that way. Traditional reference documentation is only part of the puzzle (https://diataxis.fr/); https://diataxis.fr/); the Q&A site format allows for explanations (for "debugging questions") and how-to guides (in response to simple queries about how to do some atomic, well-specified task). (Tutorials don't fit in this format because they don't start with a clear question from the student.)
- chii 2y ago> Q: how do I do thing X in C? SO does suck, but i've found that if you clarify in the question what you want, and pre-empt the Y instead of X type answers, you will get some results.
- PhilipRoman 2y agoI wish... Some commenters follow up with "Why do you think Y won't work for you?"
- chii 2y agoi haven't been using SO recently, so this problem may have devolved now. if people remaining today on SO are such that they just question the premise whenever something slightly off the beaten track is asked, then i guess the site has really died.
- d0mine 2y agoThe major misunderstanding is that SO exists to help the question author first. It is not an IRC. The most value comes from googling a topic and getting existing answers on SO. In other words, perhaps in your very specific case, your question is not XY problem but for the vast majority of visitors from google it won't be so. https://en.wikipedia.org/wiki/XY_problem https://en.wikipedia.org/wiki/XY_problem Personally, I always answered SO from at least two perspectives: how the question looks for someone coming from google and how the author might interpret it.