Skip to content(if available)orjump to list(if available)

My stackoverflow question was closed so here's a blog post about CoreWCF

palata

I used to be very active on StackOverflow, it was a great platform.

After a while, I stopped having to post questions about "common frameworks", either because I could do with the official docs of because there was already a StackOverflow answer for my question.

What was becoming more common was that I would have a question similar to an existing unanswered one. Or that my question would never receive an answer (presumably because my questions were becoming more tricky/niche). So what I started doing was answering my own question (or answering those existing unanswered ones) after solving it on my own. Still, it was fine and I was contributing.

And for some reason, a few years ago my questions started being closed for no apparent reason other than "those who reviewed it have no clue and think that it is invalid". Many times they closed even though I had posted both the question and the answer at the same time (as a way to help others)! The first few times, I fought to get my question reopened and guess what? They all got a few tens of votes in the following year. Not so useless, eh?

Still, that toxic moderation hasn't changed. If anything, it has gotten worse. So I stopped contributing to StackOverflow entirely. If I find information there, that's great, if not, I won't go and add it once I find a solution for myself. I am usually better off opening an issue or discussion directly with the upstream project, bypassing StackOverflow's moderation.

I heard people mentioning that LLMs were hurting StackOverflow badly. I'm here to say that what pushed me away was the toxic moderation, not LLMs.

ChrisMarshallNY

Same here.

I have a rep that is based almost entirely on questions, not answers. I learned to ask questions fairly well (to the point I seldom get answers -there's a price to pay, for questions that are very specific).

In some cases, the question is a basic one, and doesn't need a code listing and sample project. It's still a perfectly valid, pertinent, thoughtful question, but not very verbose.

Those questions almost always get closed.

I have found that asking LLMs doesn't always get me the best answer, but I get an answer. In some cases, I can have an iterative refinement, where I keep adjusting the question, until I get a useful answer.

I've never gotten code from SO, that I can use without modification, but I have gotten some great answers, over the years, and have expressed gratitude and respect.

I have gotten quite annoyed with the "attitude" that is often expressed. There's no doubt that folks who ask questions, are considered "lesser beings" on SO. Just look at the question-to-answer ratio of the high-score individuals. Weird attitude, for a site that is pretty much completely reliant on questions.

Basically, I have just given up on SO, and have found LLMs to give me what I used to get from it.

In my opinion, they have killed SO.

fragmede

[closed]

This thread was closed because it was too thoughtful, not easily monetizable via ad impressions, and didn’t include a complete reproducible example involving React, or Kubernetes. Additionally, it addresses the Cabal of Question Closers, which shall never be mentioned.

Want to improve this question?

* Add a code snippet or stack trace, especially if your question is conceptual or existential in nature.

* Explain what you’ve tried (e.g., begging mods, crying in the comments).

* Link to a duplicate that isn't actually a duplicate, yet you will still get your question closed as a duplicate with a link to the "dupe" you linked and directly stated as not actually a duplicate.

zahlman

Snark like this is neither productive nor accurate.

handsclean

I’d appreciate if somebody more familiar with SO would verify this, but I believe there’s some low constant number of close votes required to close something, and this doesn’t adapt to how many people are voting or to positive signals. Because there’s an error rate in all things, this naturally means that things are wrongly closed all the time, especially content that’s viewed a lot and not fought for.

avereveard

There's a metric incentivizing "maintenance tasks" so the system is biased toward the side of closing and duplicating.

And because recourse is so hard and goes trough the same gatekeepers anyway, they don't get any signal about the accuracy of the maintenance.

One of the reason I've left as well was bureaucrats wrecking havoc to perfectly reasonable answers trying to rack up these points.

Peak of the fenomenon was 2014 when people started publishing their so scores on their resumes, but the platform never really recovered.

shagie

> There's a metric incentivizing "maintenance tasks" so the system is biased toward the side of closing and duplicating.

Could you describe this? A lot of people seem to believe that closing or duplicating questions awards reputation. It doesn't.

The complete list of reputation gain sources is at https://stackoverflow.com/help/whats-reputation

palata

> One of the reason I've left as well was bureaucrats wrecking havoc to perfectly reasonable answers trying to rack up these points.

This. It is exactly the problem with incentives.

At some point I was wondering why Tor was not offering incentives, which is something Nym was talking about. And I found an explanation on the Tor website that said something along those lines: "we thought about incentives, but we decided that we wanted contributions from people who cared, not from interested people". Makes sense to me.

zahlman

> There's a metric incentivizing "maintenance tasks" so the system is biased toward the side of closing and duplicating.

If only. Sorry to say, all of this curation effort happens purely by intrinsic motivation - a desire to see a better-curated site.

It's objectively a good thing when more questions get closed (including marking duplicates) because the overwhelming majority of what gets posted is nowhere near meeting standards, and because those standards have been carefully considered with the site's goals in mind.

Those goals just don't happen to match the goals of the overwhelming majority of people who come to ask a new question on Stack Overflow. That's because they don't understand the site's purpose. There is a tremendous amount of misinformation out there (and the site owners are at least complicit in this, because it drives traffic).

In point of fact, my reputation increased the most during a period when I barely used the site at all, because I accumulated votes on answers I'd already written. And I didn't care about any of that, because it gets you absolutely nothing past IIRC about 35000. (The last privilege - https://stackoverflow.com/help/privileges - is awarded at 25000, but past that you can get an increase in the number of flags and votes you can cast daily. It would take an unimaginable level of obsession with the site to ever run out of validly raised flags, but I have run out of closure votes on several occasions.)

When I came back, I started actually paying attention to the meta site and understanding how Stack Overflow is actually intended to work, instead of just being another random person trying to contribute expertise. And my reputation has actually levelled off and declined, mainly because I award generous bounties for existing exceptional answers, or to promote the few high-quality questions I find that need a better answer (especially, questions that I'd like to use as a duplicate target, but wouldn't provide others asking the question with a good enough answer).

> bureaucrats wrecking havoc to perfectly reasonable answers trying to rack up these points.

It's not bureaucracy and it isn't "trying to rack up points". You get two reputation points for an accepted answer, only if you don't already have at least 1000 points and only if you get two out of three users with unilateral edit privileges to agree that it's a good edit (and they, in turn, are incentivized to steal your edit - not for reputation, but because they can get it published unilaterally instead of waiting for someone else to approve). You can't even reach unilateral edit privileges this way, since you need 2000 points for that.

Among people making edits unilaterally - both to questions and answers - this is overwhelmingly motivated by good faith attempts to improve quality. "Perfectly reasonable" is not the standard. The standard is "as good as the available attention allows" (ideally, people focus on more popular content). When you post on Stack Overflow, you license the content to the community (and separately also to the site and company) and they are absolutely within their rights to make good faith edits. If you want to share "your" ideas with the world and not allow others to touch, use a blog.

zerkten

I had 15k reputation score at one time on SO. It recently dropped down to due to people deleting their accounts. There are review queues which appear on the top nav incentivizing power users with enough rep to go in and take action like closing requests.

Having met many SO power users in group settings over the years, I feel that there is very little tolerance for questions that require effort to understand. If it's a simple question posed by a non-English speaker that needs some thought, then it doesn't belong (but that's why comments were introduced later.) The same goes for a deeper technical question where the author gets it all out but doesn't take the time to structure or format it. The volume of behavior like this differs based on the type of question and experts prepared to weigh in.

This gets compounded by the up and comers on the reputation scale. They get their special powers and see this BOFH close behavior and replicate it. Over time it starts to become the norm. I had the ability to vote for reopens and these same people would argue about why this was a bad idea. They weren't prepared to admit they were wrong and felt they were doing God's work by ridding the site of poor questions when some of us even had the ability to make edits to clarify them.

I just opened the site after some time away. At the top, pushing the question list below the fold, are: Reputation, Badge Progress, and Watched Tags blocks. The Interesting Posts for You question feed is below that and I have to go see how that is constructed. I only ever wanted the firehose of new questions with my tags highlighted.

EDIT: The behavior I noted above is yet example of why I always want to know how a job candidate deals with ambiguity. In my experience, this has a massive impact on the ability to work independently, not piss off colleagues/clients/customers, and make good decisions.

zahlman

> If it's a simple question posed by a non-English speaker that needs some thought, then it doesn't belong (but that's why comments were introduced later.)

No, that's not why. If we can understand the English, we edit to fix the English.

We constantly get questions by native English speakers that are nevertheless barely comprehensible. Even when the problem is clearly described, it still needs to meet several other standards (https://meta.stackoverflow.com/questions/417476/). This is by design.

We aren't closing questions because we want to close questions. We're closing questions because they need to be improved by the OP (i.e., fixing the question requires OP's perspective or knowledge) before they are compatible with the site's objectives, which do not necessarily align with yours as a person who has a question.

This is not a punishment and is not in general a permanent state. Closed questions can be, and are, re-opened if the problem with the question is fixed (without fundamentally changing it).

> I just opened the site after some time away. At the top, pushing the question list below the fold, are: Reputation, Badge Progress, and Watched Tags blocks.

And the people doing the majority of the curation work do not care in the slightest about reputation or badges. I certainly don't.

The users with the most reputation are generally the ones who spend hours a day answering easy questions that don't come anywhere close to meeting the site's standards (not because they're easy, but because they're terribly asked and probably duplicates) after doing a bit of mind-reading to figure out what the terribly-asked question is (or scanning through a couple dozen lines of code for trivial problems without really reading the question - because they usually don't need to) and getting a quick upvote and accept from the OP.

Questions like that have ruined the site and continue to make it worse - by diluting search results, by making it harder for curators to find the "canonical" targets for closing duplicates, by click-baiting away from questions other people actually want to find (e.g. by describing a completely different problem with all the same keywords, or by completely misidentifying what's wrong), and most of all by the broken-window effect (bad content examples overwhelm good ones).

But the reputation system rewards people who answer those questions. (The obsessive answer writers I complain about the most in Stack Overflow chat often have 10x or more my reputation.)

Curators have had a goal of closing bad new questions quickly (https://meta.stackoverflow.com/questions/260263), trying to beat the answer to the punch. But answer-writers get a grace period, and can fill in a stub answer and edit it later; and they can act unilaterally while curators usually have to come to a consensus.

palata

In my case, the questions were closed very quickly. I opened votes to reopen a few times, one of which eventually passed, and then upvotes started to come regularly.

As I said, those were pretty specialised questions, you can't expect to have 10 upvotes in the first day for those.

zahlman

> In my case, the questions were closed very quickly.

I'm happy to hear it. This is how it's supposed to work. If the system were properly designed, questions would start out closed - that is to say: the community would have a chance to fully refine the question and ensure that it meets the site's standards, before people were allowed to write answers.

(The new Staging Ground implements a form of this, for a small selection of new questions.)

The point is to ensure that everyone who has the same question can have an optimal experience by finding it: they should see a question that's easy for them to read and understand; they should easily be able to verify that it's the same question (even though it came up in a radically different context for someone else); they should be able to come across it with a search engine (so the title should make sense, etc.); and it should be properly focused. Then they can scroll down - ideally, not very far - and see the answers, already written, without themselves having to ask again and wait.

> you can't expect to have 10 upvotes in the first day for those.

Ultimately, the thing that gets a question 10 upvotes in the first day is off-site exposure. That's not how it's supposed to work, but the Internet is what it is.

zahlman

Hi, I'm intimately familiar with Stack Overflow (https://meta.stackoverflow.com/users/523612).

It requires either:

* Three votes (it used to be 5) from community members with the close vote privilege (awarded at 3000 reputation)

* Unilateral closure by a moderator (there are currently 24 of these: https://stackoverflow.com/users?tab=moderators - compare to 29 million user accounts: https://data.stackexchange.com/stackoverflow/query/1877958/c... )

* Unilateral closure as a duplicate by a user with the close vote privilege who also has a gold badge for one of the tags originally used on the question (https://meta.stackoverflow.com/questions/254589)

The thresholds are deliberately fairly low, mainly because closure of new bad questions must happen promptly for the site to work as intended (https://meta.stackoverflow.com/questions/260263). This is frankly a major fault in the site design; but the new Staging Ground feature (https://meta.stackoverflow.com/questions/430404) helps a lot, on the occasions when the site software actually decides to use it.

However, "closing" content "that's viewed a lot" (this basically only ever means old questions; new questions rarely ever get a lot of views, regardless of quality, unless it's from spambots - see https://meta.stackoverflow.com/questions/431084) is emphatically not wrong. We close old, popular questions all the time, because they don't currently meet site standards (usually, because they are no longer deemed on topic). This is at least partly to discourage new questions along the same lines; but the primary effect of closing a question is to prevent answers from being contributed. These old questions generally wouldn't need new answers (although edits to existing answers may be helpful - and are not blocked) even if they were still considered suitable.

trollbridge

And the irony here is that much of what LLMs know is from training on StackOverflow.

eru

StackOverflow's content is contributed by regular folks under an open source license.

trollbridge

It is; however, I doubt most contributors would put in effort if they knew the main purpose of what they were typing out and researching would be grist for a for-profit (let's not kid ourselves) AI business.

karmakaze

I had stopped interacting with SO as well, though the fact didn't really cross my mind. I had a few popular answers that got be enough points to be a moderator. The experience there is similar--possibly worse because the idiocy is unveiled. In the past I've often argued to reopen questions, sometimes even making edits to make it more agreeable to other mods.

It's common for those to get shouted down based on some policy or other bureaucratic nonsense by those who have no idea what the question is actually about. The problem could be that many of those who don't do, moderate. It attracts different sorts of people than those that are actually working with the things being discussed.

esafak

The moderators were elected. What should StackOverflow have done, held a vote of no confidence? Given them less power; make moderation more democratic?

lolinder

Look, I'm all for democracy in the real world, but this is a very bad use of democratic processes for a number of reasons:

1. First and foremost, it's not a democracy if your turnout is too low. The 2024 election had voter turnout of 2%, which would be a catastrophic turnout in any real democracy. Either too few knew about the election, too few thought their vote mattered, or too few had any idea how to choose between the options. Any of these reasons requires immediate and pressing attention if a democracy is to be called that.

2. Never having re-elections makes it useless. For it to be a truly democratic process there absolutely needs to be a way to withdraw consent from a moderator who behaves differently than expected. So yeah, a no confidence vote would be an option, or better yet regular elections to hold a position.

I'm afraid that the largest problem is that democracy is really just a bad fit for this kind of site. By its nature the only people who are likely to vote in this type of election are a small dedicated core, not the enormous number of users that the site actually serves. A small core of contributors to a community resource invariably seems to develop a sense of "us against the world"—the thin blue line of police lore isn't an isolated thing, it's what happens when people view themselves as lone defenders of something they care about. And just like with police, that can result in a toxic culture that begins to actively degrade the plebian outgroup that they started out serving.

I don't have a better answer, but I don't believe democracy is a good fit for moderators on the scale of community that Stack Overflow operates. It's too big to have good turnout, and the problems caused by bad turnout have become catastrophic.

BOOSTERHIDROGEN

Then the answer is clear; copy paste a lot of dang to moderate. So this is clearly a management faulted no properly choosing a moderator.

eru

That's part of the reason that as an employer I don't like worker democracy anywhere I work.

With the usual model, I can just negotiate directly with management and they can tell me yes or no, and we can make a contract (or be a bit vaguer and make promises).

With worker democracy, there's no one I can negotiate with that can tell me anything definitive.

esafak

In real world terms, it is not that big a democracy, but the founders may have judged against mandatory voting. First, it would have added friction that could have impeded growth. Second, the voters may not have been qualified; they did not use the site enough to be able to or care to select one moderator over another.

zahlman

> The moderators were elected.

The overwhelming majority of the actions people complain about in this context (never mind that they don't understand the purpose of those actions or the underlying objectives) are not performed by moderators. They are curation actions taken by members of the community.

The rights to do so are awarded based on reputation, in a very poorly thought out and fundamentally broken incentive system; but there are far more people involved than the moderators. You can query by reputation at https://data.stackexchange.com/stackoverflow/query/1834631/c... : there are about 29 million total user accounts, 3.3 million which may upvote, 1.1 million which may downvote, 150 thousand which may unilaterally edit posts, 100 thousand which may vote to close questions, 28 thousand which may vote to soft-delete posts (and view soft-deleted posts), 9300 with access to internal site analytics...

and twenty-four moderators (https://stackoverflow.com/users?tab=moderators). Who are not the highest-reputation users. (I have more reputation than over half of them, and I frequently complain about users with over ten times my reputation.)

fiskfiskfisk

In my own experience it's not often the elected moderators that are the problem, but those with a golden tag in a specific tag. They're far too eager to close questions because they're the ones culling through a tag often - and then close the question as they quickly think "oh, it's that again".

But it often isn't, they just didn't spend enough time to see nuance.

And neither do they see that even if _they_ understand that the question linked to is the same thing, there is no way the asker can understand what the similarity is from their knowledge point of view (or why the linked duplicate question is the same question).

esafak

How do you think they should have handled closing questions, if at all?

zabzonk

Yes, they WERE elected, by the community (i.e. those asking and answering questions) and did a good job. Then those elected were dumped by the new owners and replaced by a bunch of yes-men. The people voting on closing submissions were not mods (in general) but ordinary users with sufficient rep.

malfist

I think you misunderstand how stackoverflow works.

Super moderators are elected, but not your regular "moderators". In stack overflow, regular folks you have enough karma are moderators and can cast votes, or initiate voting on moderation action. Enough votes and the action happens.

The elected moderators aren't the problem, generally, it's that anyone with a bit of karma can go power tripping and if you get enough of those people on an ever growing platform, they reach a critical mass to stifle anything.

So yes, some moderators are elected, and yes moderation is very democratic.

bombcar

Slashdot of all places basically solved the moderation problem, with random moderators selected from the pool of "know users" and then others selected to meta moderate.

malfist

I don't remember slashdot moderation being particularly good. Innovative yes, but not good. I got to be a moderator multiple times while I was a teen. I'm sure I didn't make good decisions.

mschuster91

There should always be some sort of human to appeal to. Even Wikipedia has it this way at least formally [1], although "office actions" overruling community moderation decisions are extremely rare.

[1] https://foundation.wikimedia.org/wiki/Policy:Wikimedia_Found...

wokwokwok

How about making it a site where only people who answer questions can even be eligible to be moderators?

What if moderators had to actually have karma from recently answering questions or they lose mod privileges?

Wouldn't that be a fresh change. You'd have to actually work to be a mod.

...

It shouldn't be controversial. That mods currently make visitors unwelcome is disgrace. :(

That SO incentivizes that behavior is ridiculous.

PaulHoule

Somehow I never found the StackOverflow game to be worth playing.

In retrospect it is a case study of a particular enshittification scenario: "benign neglect" Back when they published a data dump I had a project on my speculative list to clean up their database, take only the best answers, etc. For python, the numerous Python 2 examples

   print "something"
would get rewritten to Python 3

   print("something")
basically do the maintenance work they weren't doing. Personally I find their idea of what is a valid question to ask offensive. If you're coding in Java or Javascript for example, the question of "Guava vs. Spring" or "Vue vs. React" are probably more consequential decisions for your app as opposed to anything else but questions like that are forbidden.

devrandoom

I stopped flagging things on SO when some of my flags were deemed unhelpful. They clearly weren't.

agos

just a few months ago they closed a question of mine that I posted in 2010 (!), which in the meanwhile had gathered more than 1000 votes, nearly one million views, and 20 or so answers. I get it that it does not meet their most recent criteria, but closing a question after 15 years telling me to edit my question and read the comments on how it could be improved (there were none) sounds tone deaf and unnecessarily bureaucratic

Larrikin

What was the question?

If it is from 2010 and was a relevant question or answer then but has since become irrelevant or even wrong because the framework or language has moved on I actually support this kind of clean up.

There are a lot of best practices that just don't apply anymore that far down the line. Even simple things like whats the best way to use a variable inside of a string in Python would have an outdated (and to most users, wrong) answer if it was from 2010.

palata

> I actually support this kind of clean up.

I don't understand the idea. Are you also in favour of deleting blog posts that are older than a couple years? There is a date next to the question...

eterm

A post in which I try to rubber-duck a CoreWCF issue I've been having, because stackoverflow no longer seems suitable for asking questions about programming issues.

Screaming into the void of the blogosphere is catharsis for getting my SO question closed.

And because I know you're all nosy, the SO question is here: https://stackoverflow.com/questions/79605462/high-cpu-usage-... . Please feel free to point out more ways in which I screwed up asking my SO question.

npodbielski

Hey mate is it your post? I did glanced at it and it does not stop because server is not notified that client is not there.

Or at least that is my guess, since I stopped working with WCF about 2016 probably.

Anyway in newer version of .net you CancellationToken everywhere what would do exactly that: tell your server that client disconnected. That would be my first try on fixing it.

Use token that is sent via HTTP implementation to the endpoint, pass it to your stream and when it is cancelled, end the stream. Stream ends, endpoint finishes, not CPU load.

balls187

I don't see anything wrong with your SO question (I am a long time contributor), and don't see why it would have been closed.

I will say, this is a level of question that is too sophisticated for SO, and likely will only have an answer once you figure it out and go back and answer your question.

Are you confident the code is the issue--have you repro'd it consistently with different versions of .NET? What about reproing on different machines? Locally?

matsemann

Honestly, I agree with it not being a good fit for a Q&A site. It's a debugging problem, probably needing a discussion, and might even not be of any use to others being that "high cpu" is kinda vague. Seems better suited for a bug report / issue tracker of the relevant library.

wokwokwok

How can a question that is:

1) clearly technical

2) reproducible

3) has a clear failure condition

Not be a suitable candidate for S/O?

Did we step into a dimension where only "How do I print('hello world')?" is a valid question while I wasn't watching, because it has a trivial one-line answer?

Hard questions doesn't mean they're bad, it just means many people aren't competent answer them. The same goes for obscure questions; there might just not be many people who care, but the question itself is entirely valid.

Does that mean they're not suitable for S/O?

I... can't believe anyone seriously believes that hard niche problems are too obscure or too hard for S/O to be bothered to grace themselves with.

It's absurd.

It just baffles me that a question that might take some effort to figure an answer out to might 'not be suitable' to S/O.

robertlagrant

> 2) reproducible

Is it? What hardware and OS version should I use to reproduce the server?

zahlman

The problem with the question as originally asked is not the difficulty or "obscurity".

The problem is complexity and scope.

We don't debug code for others. We expect them to find the specific part of the code that is causing a problem and showcase a minimal reproducible example. For performance issues, we expect them to profile code and isolate bottlenecks - and then they can ask a hard, obscure question about the bottleneck. Or a very easy one, as long as it's something that could make sense to ask after putting in the effort.

In short: we're looking for a question, not a problem. Stack Overflow "can't be bothered to grace itself with" hard niche problems, or with easy common problems. But it is about answering the question that results from an analysis of a problem. Whether that's understanding the exact semantics of argument passing, or just wanting to know how to concatenate lists.

And we're looking for one question at a time. If there are multiple issues in a piece of code, they need to be isolated and asked about separately. If the task clearly breaks down into a series of steps in one obvious way, then you need to figure out which of those steps is actually causing a problem first, and ask about whichever steps separately. (Or better yet, find the existing Q&A.)

(Questions seeking to figure out an algorithm are usually okay, but usually better asked on e.g. cs.stackexchange.com. And usually, an algorithm worth asking about isn't just "do X, then do Y, then do Z".)

Stack Overflow is full of highly competent people who are yearning for questions that demand their specific expertise - recently, not just in the 2010s.

Most questions I've asked since 2020 were deliberate hooks to deal with common beginner-level issues or close FAQs that didn't already have a clear duplicate target. (I've stopped contributing new Q&A, but still occasionally help out with curation tasks like editing.) But I asked https://stackoverflow.com/questions/75677825 because I actually wanted an answer, and it's an instructive example here.

Answering it required detailed expert-level knowledge of modern CPU architectures and reverse engineering of the Python implementation. Asking it required noticing a performance issue, then putting extensive effort into simplifying the examples as much as possible and diagnosing the exact qualities of the input that degrade performance - as well as ruling out other simple explanations and citing the existing Q&A about those.

But demonstrating it requires nothing more than a few invocations of the `timeit` standard library module.

eterm

Your'e right, "High CPU" just means more than zero. It was a symptom of the stream continuing to be written to. I've edited the title now to be better.

francisofascii

I could see it being useful to others. If there is an internal bug that causes the issue or even a code pitfall that causes this issue.

jve

A community site for multiplayer debugging... I like it! Some people like to tackle problems and feel rewarded when they crack the nut :)

agos

for what it's worth, I submitted the question as a candidate for reopening

eterm

Thank you, it has now been re-opened.

aflukasz

FWIW seems open to me right now.

robertlagrant

> Please feel free to point out more ways in which I screwed up asking my SO question.

With pleasure! SO is definitely more of a distinct Q&A site and not a discursive, open-ended collaborate and problem-solve site.

zahlman

I fully expect nobody in this comment section to care about the CoreWCF content. (I don't even know offhand what that is.) In my experience, people love talking about Stack Overflow in places that are about programming but aren't Stack Overflow, so.

(Edit: it seems people do care about CoreWCF ITT. That's nice to see.)

> Screaming into the void of the blogosphere is catharsis for getting my SO question closed.

That's fine. Almost everyone who comes to SO, in my experience, has a fundamentally wrong idea about how the site is intended to work. That includes people who don't have a question and only want to post answers. Unfortunately, it's difficult to explain because people find the model unintuitive - the UI affords using the place just like many others, even though the site was created exactly to get away from frustrations caused by older models (https://meta.stackexchange.com/questions/92107). And the real objective is a synthesis of many not-always-compatible ideas (https://meta.stackoverflow.com/questions/254770). My personal sense is that the community didn't really get a handle on "what SO is" until around the time that new question volume peaked (way back in 2014).

Even then, people can hang around for years and not really get it (e.g. https://meta.stackoverflow.com/questions/427224) - in large part because the policies have been inconsistently applied on a volunteer basis, and the people who are allowed to e.g. cast close votes are vastly outnumbered.

We generally don't care about people not liking the Stack Overflow model while discussing it off-site. There's far too much of that to worry about. But that doesn't mean we'll change to accommodate everyone else. The entire point is to provide something that isn't available everywhere you look: a polished artifact, an organized repository of commonly-needed, high-quality answers to clear, focused, practical questions.

Do we accomplish that goal? Hell no, not by a long shot. But there are some real gems in there - and a few of them have millions of views. And as the rate of new questions slows, users who put on the "curator" hat become able to keep on top of the incoming queue, filter through for what's of value (and not a duplicate), and even turn attention towards the old Q&A to improve it (incidentally, a lot of that work is rounding up old duplicates that went unnoticed).

> I had forgotten that any external links are a big no-no in SO land, so my question immediately attracted 2 close votes.

The problem isn't simply including an external link (we'll happily just edit those out if they aren't necessary). The problem occurs when a question appears to depend upon the externally linked content. We can't accept that (https://meta.stackoverflow.com/questions/254428) because of link rot and licensing issues (someone who wants to answer you often needs to be able to cite the code; posting on-site automatically licenses the content appropriately, per the terms of service) but mainly because of scope - a question that's suitable for the Stack Exchange format would fit neatly within the actual question text.

We don't want to do detailed analysis of the problem you encountered, even if we're capable of it, because questions are for everyone. They need to be able to reflect a problem that other people could a) have; b) plausibly search for; and c) recognize if they found it. Answers to a question need to make sense in general to people who would ask - not just in the specific context of one person's original problem. In short, we want a question, not a problem - and extracting a proper question starts with (https://meta.stackoverflow.com/questions/261592) your own analysis.

"How do I do X?" questions are usually much easier to ask in the format, and are very valuable and can end up very well regarded, even when they're on very basic topics. But "what went wrong with Y code?" is not fully refined. What we're really looking for is more like "why does Y' code construct do Z?" - where the specific, exact cause of failure (https://stackoverflow.com/help/minimal-reproducible-example) is extracted from your own debugging session (along with reproducing input and actual vs expected output).

> Two days later my question got it's third vote for closure, and remains unanswered and now closed forever.

This is literally not how Stack Overflow works. The OP has at least (https://stackoverflow.com/help/auto-deleted-questions) 9 days to fix the question and nominate it for reopening until it gets "deleted"; but even then it's a soft deletion (delisting) which is still reversible - you can find the question from your personal listing (https://stackoverflow.com/users/deleted-questions/current while logged in; or replace 'current' with your user ID), edit and nominate for undeletion.

The established policy is that we intentionally close questions that don't meet standards (https://meta.stackoverflow.com/questions/417476) as quickly as possible (https://meta.stackoverflow.com/questions/260263). The main point of this is to prevent the sort of people (notice that https://meta.stackoverflow.com/questions/271684 is over 10 years old; and the original complaint https://meta.stackexchange.com/questions/9731 is from before the official launch, during the private beta) who would otherwise hang out on a traditional discussion forum 12 hours a day from trying to read the OP's mind, repost the same basic explanation of the same basic idea dozens of times, etc.

(Unfortunately, the incentive system is completely broken - https://meta.stackexchange.com/questions/387356 - and the company's interests are not aligned with the community, so this is a losing battle.)

And, in fact, your question has been reopened, as of about 3/4 of an hour after your comment that I'm replying to. Stack Overflow is not at all immune to external pressure - after all, many regulars there are also on HN and other usual-suspect sites.

It also looks like your edits have actually improved the question. In particular, adding in a definite conclusion from your profiling attempt.

(We understand that a lot of people in a situation like yours wouldn't necessarily know how to use a profiler and wouldn't necessarily be able to come up with a theory about what's wrong. That isn't our problem. We aren't offering tech support. It's a bitter pill for almost everyone, but Stack Overflow by design is not there to make your code work. It's there to answer questions that arise during your attempt. And a question like yours, properly refined, can help those other people.)

phkahler

Stackoverflow is no longer a Q&A site. It's trying to become a curated information source. Like wikipedia or the kind of thing you'd train AI with. As such it isn't great for answering question any more.

Another old problem was notable users. There was a guy famous for his presence and answering tons of question (I forgot his name). He was actually pretty good but... he was not an expert in all the areas he'd participate in, but his answers would sometimes win because he was articulate, not because it was the best.

nicce

zahlman

On the contrary, the people trying to keep the site a useful, curated source of information (rather than a dumping ground for people trying to get others to debug code for them) are on balance strongly against every kind of AI involvement with the site, including the use of that information for training AI (although we can't do anything about that). We curate a repository of high quality questions and answer (which is a "Q&A site", and is specifically what the site is supposed to be, so as to distinguish it from traditional forums) exactly because we want it to be a place where you get information from humans that reflects original human insight.

Which is also the reason for the ban on GenAI content (https://meta.stackoverflow.com/questions/421831).

nicce

The primary question is that who is deciding that what kind of information is curated and whether the arguments have been properly voted, and the process itself is transparent.

I guess nobody could disagree, that it benefits all if the site is useful and whether the content is factually correct and up-to-date and follows Q&A format.

I admit, I haven't followed what happens closely for some time, but here is some older example post: https://meta.stackexchange.com/questions/389834/statement-fr...

cadamsdotcom

Looks like the framework is just going to keep reading to the end of the random number stream, but of course there isnt an end to it.

Is there some kind of `IClosableStream` you can implement? That’d give you a `Closed` method, which you can then use to let either your server or stream know that it’s time to stop reading (or the stream reached EOF) - even if it’s done with a flag that’s set when the client disconnects.

Maybe there’s already an optional `Close` method you’re not overriding?

eterm

Thanks for trying to help.

On the client side, randomStream.Close will get called when it's disposed.

On the server side, I'm not sure what I could put into an overriden Close that wouldn't just be base.Close()? RandomStream itself doesn't own any resources that need cleaning up.

I could force WCF to use Session mode, and then add flow-control through a side-channel, so other messages could prepare the stream to internally buffer and then rewrite in requested chunks?

But at that point I might as well just use an apprpriately sized GetRandomBlock(ValueWithSequence[]), and chunk requests that way and abandon using a stream for this at all.

I'll have an experiment with that approach to try to find the best buffer size and whether streaming the buffer actually helps vs just having it as the message and letting WCF control the sending.

__s

Stupid idea: throttle stream by putting Sleep in Read

bitbasher

I'm curious-- did you feed this into an LLM to see what it thinks the issue is?

eterm

I didn't, but I've not had much previous success with these kinds of issues.

Just for the sake of it, I've now tried pasting this whole blog into claude.

It has some strange suggestions, including many things that don't work, such as adding to the client:

                // Important: Properly close the stream
                randomStream.Close();

I read the Stream documentation ( https://learn.microsoft.com/en-us/dotnet/api/system.io.strea... ), and it points out:

> This method calls Dispose, specifying true to release all resources. You do not have to specifically call the Close method. Instead, ensure that every Stream object is properly disposed.

My stream is properly disposed.

Claude also sticks in things like:

                // Simulate some work or add a small delay to prevent CPU spinning
                Thread.Sleep(1);
I can't see how that do anything to solve my issue. I suppose I should humour the machine, go full-vibe and try everything it suggests, and if I end up with a working solution go back from there, but I fear that would just leave me more confused about the underlying mechanisms here.

On the client side it not only rewrites my reading to read multiple times, but adds in:

                    await Task.Delay(500, cts.Token); // Small delay between reads
I didn't ask it to re-introduce the loop, and a 500ms delay between reads is horribly long for reading successive bytes from a stream.

The only thing that was interesting was creaitng a linked cancellation token source on the service to pass to the underlying stream and cancelling it on server shutdown.

That's a useful thing to keep in mind to help with helping to shutdown the services, but doesn't actually address the issue for a server you want to keep running.

It does also add send/receive timeouts too, and they're also worth keeping in mind, but that doesn't seem like a good mechanism for dealing with this issue. If anything, it would just mask the issue by having it write to the stream for the duration of the timeout period instead, which if short could cause a problem like this to go unnoticed until it's actually under more load.

neonsunset

If the author reads HN comments - findings like these are probably better to be submitted at https://github.com/CoreWCF/CoreWCF instead

(although I have no idea how active CoreWCF owners are w.r.t this)

eterm

Thanks. In my experience the CoreWCF team are fairly active, but I didn't want to bother them until I can understand if this is a problem with CoreWCF.

This might also be a problem WCF client, which is maintained by others elsewhere in a different repo: https://github.com/dotnet/wcf for the nuget package version.

But this might just be how WCF is designed. I'll try a version of this within .NET Framework, but even that might change depending on whether it's via IIS or started via ASP.NET Core, and whether it uses the built in System.ServiceModel or the nuget version.

( You can probably tell I'm a bit frustrated with MS for making a bit of a mess in the way they hurried away from .NET Framework especially with respect to WCF. )

neonsunset

> Thanks. In my experience the CoreWCF team are fairly active, but I didn't want to bother them until I can understand if this is a problem with CoreWCF.

It may not be necessarily a problem but, ideally, the less users have to care about gotchas and knowing how to exactly use the API the better. There are some constraints to this but chances are at least documentation can be improved.

Plus, especially if there are not that many issues, it signals interest and active usage.

jgalt212

> This is confusing enough for humans, let alone a machine that will happily reproduce calls and configuration from something that is almost identical, yet subtly different and incompatible.

Interesting point. I'm going to see if they similarly struggle generating VBA code vs generating Visual Basic code.

xyst

C# is not my primary language but have the misfortune of debugging C#/.Net junk.

Seems like an issue with not closing resources properly. Looking at your server code, seems the Close and Dispose methods are not overridden. Try that?

eterm

What resources do you think should or could be handled in an overriden close method on RandomService?

It'll be calling base.Close(), and doing what else?