StackOverflow Man Remakes Net One Answer at a TIme
wired.com
wired.com
Making it an addicting game is great too. People love the social proof.
I use stack overflow and its sister sites nearly every day. On theoretical computer science stack exchange its allowed me to ask better questions. It has increased my research maturity by one hundred times. I know more about topology and I am sincerely in debt to the quality of this concept and platform.
Cheers to Jeff. This is his magnum opus. I can't wait what he thinks of next.
For the last few months I've been in the habit of searching for algorithm questions, and answering them for fun. And then http://stackoverflow.com/questions/11314077/algorithm-for-ex... came along. It was the most fun algorithm question that I had seen in the last week. I put a fair amount of effort into rewriting a response I learned a nice trick from into a response that programmers with no theoretical background should be able to understand. But 4 moderators decided that it should be closed despite multiple votes, stars, and so on.
I then asked at http://meta.stackoverflow.com/questions/138678/can-we-please... and the immediate response was that I got downvoted into oblivion, the question got deleted by clearly senior members of the community (it since has become undeleted, but there is no question what the "wise elders" think should have happened), and I got a lesson in what they really do and do not want to see on their site.
I understand what they are aiming for, and clearly what I find fun is simply not a fit for what they want on their site. The site that they'd like me to go to instead is http://http://cs.stackexchange.com/. I looked. It is practically dead in comparison. What little does appear there seems strongly geared towards computer science students. Given that I'm self-taught in CS, I doubt I'll stay there.
So, goodbye Stack Overflow. I wonder how many other people you don't see there any more.
They are trying to put specific questions to specific stackexchange subsites. So, there is http://programmers.stackexchange.com for conceptual questions , http://cs.stackexchange.com/ for "easy" computer science and http://cstheory.stackexchange.com/ for "hard" computer science.
I don't see the problem in trying to split the horde of questions into more subsites.
Clearly the question and answer was useful to someone, code related, interesting to others (upvotes), so excluding it only serves to discourage great contributors, with the proposed solution being division of the audience.
So I'm left with a choice. I can not see those questions. I can answer those questions on a site where I know that is not wanted. I can become one of the people trying to moderate the site into the structure they want despite knowing how frustrating that can be for the people affected. None of those options is palatable to me, so I'll find other ways to amuse myself.
Look through my answers at http://stackoverflow.com/users/585411/btilly?tab=answers and tell me whether the loss of contributers like me is good or bad to the whole stack exchange enterprise. If you think it is neutral to good, then our value systems are so different that there is no real point in continuing the conversation.
First, the idea that questions can be easily classified into discrete categories is bullshit. Why have they set it up so that multiple tags can be assigned to individual questions? Because most, if not all questions span genres. Not only is it possible for a submitter not to know what category a question goes in, but it is also possible for the same question to legitimately belong in multiple categories.
Most importantly, however, the populations asking and answering these questions (or that you want asking and answering these questions) are not different. Do you really think that people answering questions under "programmers" and under "cstheory" wouldn't also be suitably answering questions under "cs"? Would a question posted under "cstheory" not be useful to people posting under "cs"? At what point in one's academic path does one transition from asking questions in "cs" to doing so in "cstheory"? After your second year of college, after graduating, or after being accepted to a phd program?
Think about it mathematically. Take 1,000 people posting in stackoverflow, divide that population in half and distribute one half of them equally between programmers, cs, and cstheory. The total possible connections and interactions between people in communities of size 500, 167, 167 and 166 is far fewer than the total possible connections and interactions within a single community of size 1000.
I had actually not heard of there being different stackexchange sites for "programmers", "cs" and "cstheory" before reading your comment. What a ridiculous thing to do, to split up these sites. And then to shut down popular questions inside stackoverflow in order to push people into these marginal sites? Talk about shooting yourself in the foot.
That's how they want it. Stack overflow is not about being "interesting", it's about being relevant to common problems.
I'd argue that Snowboarders have a very different culture than Skiiers, with their own sets of terminology, equipment choices, and social norms. That's why they need a community to themselves, with their own moderators, reputation systems, and ideas of what kinds of questions they find on or off topic.
I actually agree with the demarcation between sites for some of these concepts, as it gives opinion and other background concepts a place to flourish (cf, programmers stack exchange).
But this tendency to want to create a perfect little taxonomy and then track down every bit that defies your view of that taxonomy is an unfortunate side effect, IMO. It happens far too frequently that good questions get knocked down that hole inappropriately, and it's never a good experience for the users when it does.
I'm honestly surprised that the site has never found a better way to deal with the problem. When most users who encounter a problem like this for the first time feel insult at the site's action, perhaps there could be a gentler way of redirecting their energy?
A Venn diagram including stackoverflow, programmers, ux, dba, cs, cstheory, security, codereview, and a few others, has substantial areas of intersection. There are over 37,000 stackoverflow questions tagged "database"; surely an exhaustive search for answers to some database-related questions would include both stackoverflow and dba. (Do answers from smaller SE subsites appear lower in Google search results?)
What if SE explicitly worked with a graph whose nodes are all the SE sites, their tags, their questions, and their answers? When seeking answers to questions, we don't care which site we find them on, so why not turn the SE browsing experience into one that can cross site boundaries? As far as I can tell, currently the only explicit edges among such inter-site nodes are the "this question migrated from site x" notices. The danger of the dilution of the SE network into something like Quora would be mitigated by the fact that there would be very few edges connecting bits of sites like stackoverflow and diy.
Surely there's value in seeing how data at the various sites are interrelated, mining those Venn diagram overlaps.
Tangentially, it's evident from the gripes here and elsewhere that there is substantial value in many of the "closed" questions. Instead of closing questions, perhaps they could be routed to some sort of alternate track, usenet alt-hierarchy-style. These questions would still be participants in the overall SE graph; let the user make an affirmative decision to opt in to the "alt" portion of the graph as part of their registered-user SE experience.
Prior awareness of how one's question would be categorized with respect to all the relevant stackexchange subsites falls into the realm of "don't make me think".
Beyond that, if there are a lot of "just barely" off-topic questions being asked, that is a good reason to launch another sub-site; this is how Super User (power computer users, any OS) and Server Fault (sysadmin) sites were launched, because there were a ton of these sorts of questions being asked in the early days of Stack Overflow, but they weren't really about programming.
We've also seen some subsections of the Stack Overflow community want their own sub-site, because they legitimately form a unique, strong community of their own: like DBA (database admins) and Mathematica. All those questions are technically on-topic for SO, but the community wants their own place, with their own reputation system, their own moderators, and their own take on what questions they'll allow.
"The danger of the dilution of the SE network into something like Quora"
This made me laugh, but Quora's problem is that they allow and even solicit pure opinion, whereas on Stack Exchange we prefer answers that can be verified in some tiny way. "Because that's what I think" is a valid reason to answer anything on Quora, which gets into unpleasant weirdnesses like judging answers based on the fame/success of the answerer, because, well, what other science can you apply to an opinion?
And some of the "subjective" questions produce fascinating discussions and enlightening answers; arguably the community moderation of such questions and answers (closing and deletion notwithstanding) still provides valuable weighting that could influence the overall graph and increase the value of the network. Could there be a shadow network still moderated for quality? Hard problems but fun to consider.
That is, you gotta do your homework, and not everyone can get into Harvard. Or even their local community college for that matter.
But I'd say the proof is in the pudding, that is, look at what percentage of pages SE generates that are actually useful and make the Internet better.
As someone who's had a few questions shunted from SE site to SE site, being closed at every step, I think SE would do well to emphasize migration over closure. Having a question closed is a real downer, the opposite of all the SE game mechanics. And it's one of the oldest principles of UX: Don't tell me what I should have done. Just do it for me.
Programmers I can understand, as it seems to be more about the art of programming as a practice. (e.g. software engineering)
What was intended is one thing. What resulted is that I got the message that effort put out by me, that I thought was appreciated due to upvotes, is not what is actually desired there. So why bother?
I'd strike "almost" and "online" from this sentence.
Being part of community always means compromise. Only hermits win all their arguments. But most of us have decided that the benefits of community outweigh the cost.
It was not the moderation itself. It was the discussion on meta that convinced me that what I was interested was so far from the norms that were going to be enforced that there was no point in being present.
As for trying to "help us figure out how to do that" - there could be nothing farther from my interests. As I said in http://news.ycombinator.com/item?id=4197385 I've never enjoyed being around the kind of people who enjoy debating and enforce rules for what is worthy for their community.
But if you should manage to change the culture, maybe it will show up in a story on Hacker New. Then I might give it another try. But not now.
"if your question generally covers …
a specific programming problem a software algorithm software tools commonly used by programmers practical, answerable problems that are unique to the programming profession … then you’re in the right place to ask your question!
show more What kind of questions should I not ask here?
You should only ask practical, answerable questions based on actual problems that you face."
This is practical, answerable, an actual problem someone has faced (presumably for a programming interview), to do with a software algorithm, specific, and unique to the programming profession (otherwise why would you specify 2^63-1 as a limit?!).
How on earth is this "definitely without a doubt, not on topic to SO"? Why would "Progamming Language Pragmatics" be cited as a reference if this was not a programming problem?
The comments in the meta thread are also unhelpful - "True, I would close it as not a real question. Because it is the text literally copied from the interview question whitout any effort to change it into a question and without any effort to solve it".
I'm with btilly, these guys should put more time into answers and less into meta-answers, if I were treated like him I'd be looking for the door as well: why would he want to spend his time convincing these people a clearly useful question and answer should be on this site?
sorry but, "faced at an interview" is far from "actual problems that you face".
Interviews contain all kind of junk, abstact and bs questions...
http://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm shows serious research into a similar problem. It is depressing that useful questions and answers like this are judged on whether they are homework or interview questions, not on the quality of the response.
The discussion on meta shows no appreciation of the quality of btilly's contributions to the site. I'm not surprised he's leaving, and I agree StackOverflow will be worse without his answers. What do you think?
It's not about the "quality of the contributions", it's about their appropriateness.
If a great chef goes to a Burger King and starts making his own stuff when asked for a burger, he might make very high quality stuff, but that doesn't mean he wont be fired.
Same here, there might be "serious research into a similar problem", but that doesn't mean it's appropriate for Stack Overflow. They want more of the "I face this particular problem in my project" type of stuff.
Practical things, like, e.g "how can I store a blob into Oracle from Python" or "why does this html5 canvas project get a low framerate".
No, the "they" in question seem to be the people who hang out on meta, and who spend a serious fraction of their time agreeing on and enforcing rules against everyone else.
Perhaps if "they" stopped to ask whether they should be acting in a way that is not wanted by users, at least one founder, and which drives away contributers, then they might act differently.
Seriously, when you're applying a FAQ and come to the opposite conclusion from the people who wrote it, something is wrong.
Why? Because, in any place that people congregate, they like to talk about unrelated. Unfortunately, if you don't do the tree trimming, the site will degenrate into something else. For example, see how Reddit is almost a completely different site from five years ago(and not in a good way to me) and there is almost no way to fix it after the fact.
So while you have my sympathies that you were collateral damage, I can definitely understand why the moderators did what they did.
I would be willing to bet money that your opinion that it is on topic would come as a surprise to them. I would also be willing to bet money that if the question and answers came back to the attention of the majority of people on meta, it would immediately be closed and deleted again.
If you think that this is a problem, perhaps you should say something publicly. Because it doesn't seem to be an isolated or even particularly unusual occurrence, and it is costing you contributers.
No. No no. No. It isn't.
The biggest reason for the site's success is that it provides a really broad range of useful and detailed content in a useable (and search-indexable) format and doesn't charge for it. It helps that there is a community of thousands (millions?) of developers who need this information on a daily basis and keep going back to the site out of necessity.
If the lesson you take from Stack Overflow is "Wow, I should really add game mechanics to my site. That'll do the trick!" you are simply beyond help.
"provides a really broad range of useful and detailed content"
...which it gets from users. Who are motivated to contribute using game mechanics.
No, you can't just slap a points mechanism at any site and magically make it great. But "get credit for your work" is a motivation that is basic to human nature.
I say this as a longtime user with more than 10k points. I like helping others, but I must admit that having points to show for it is also a motivation.
Learning from/teaching your peers, while leaving useful breadcrumb trails for other people to follow -- that's supposed to feel good!
I find SO perfect for the simple problems you have when you're new to a language/framework/whatever but when you get into the real nitty gritty problems its like nobodys home.
Hasn't the subject been touched recently on HN ? I think I remember a commenter stating that SO degraded because its popularity attracted a flock of "police of the forum mentality kind" posters who would close or move subject based on wording or overzealous sorting of questions in order to get gaming points and that made old and experienced posters go away in reaction.
http://news.ycombinator.com/item?id=4131462
As the mods say, nothing to see here, move along ;)
Nitty-gritty problems tend to be the edge-cases that don't attract a lot of attention, hence fewer user participation.
That said, StackOverflow is without a doubt the single best programmer resource out there.
This applies to just about any business venture that involves investment by outside parties. There are obviously exceptions but usually when money gets involved, compromises start being made to make more money.
This has disillusioned me for my entire 16yr career... I have never found a company that wasn't internally corrupted by money.
At web scale, everything is crud to 5 nines. Give me noise controls. The good stuff's in there, but you need to be able to surface it.
I have to explicitly limit myself to specific tags I'm interested in, and even then, I can't mute the idiot posts. I'll check if downvoting a question does this. But that's not always appropriate -- there are fair questions that just don't pique my interest.
I did finally get enough rep on Server Fault that I can upvote things, which may help there. But I don't want to go through a concerted effort on each and every SE site I care about in order to participate. Maybe that's what SE wants (I know they want strong communities, I listened to the SE podcast since the very beginning) but it feels like a limiting factor to me.
Once you get over 200 rep anywhere in the network, you'll automatically get a +100 rep bonus on other sites you join so you don't have to "grind it out" for the basic privileges.
The low rep hurdles (anything < 100) are basically "know how everything works" bars (the number of people who mistake "answer" for "forum-style reply" and "community close votes" as "moderators" backs up the need for such hurdles), the high ones (down vote, edit, close, etc.) are the "strong community" ones.
My gut feeling is that SE's post structure, handling of reputation and permissions is overly complex... feature creep in a way.
I am glad to hear that your rep can affect other sites rep. I feel like the fractured approach doesn't work very well and it is good to see some improvements in account handling from the beginning like: - Easier account creation and management(openid feels very arcane and this has smoothed out a lot since the beginning I think) - Logging you back on when you visit (I guess they changed how they did session cookies or something, I get these 'welcome back' messages now) - Cross-site notifications and relationships
Maybe if they had gone with centralized SE accounts at the beginning with per-site reputations it would have been simpler. The current method might be because of how SE evolved from the 'original trilogy'.
But realistically, what else should one expect? The cost/benefit ratio just isn't worth it for the person writing the answer. It won't garner you enough points to be worth the time creating an answer that most readers won't even have the skills or knowledge to assess one way or the other. Far better to throw in your 2p by answering an everyday question with a workaday opinion that's shared by thousands of others. Don't frighten the horses, and wait for the waves of groupthink to buoy your score ;)
(I used to read and answer a fair number of questions in the C++ section, and after a while a definite party line became apparent, presumably due to the same incentives.)
Links?
If you answered "no" to both 2 and 3, I would like to gently suggest that the community is only as good as its members make it.
Regarding the down-votes: it's the second time in a week that Jeff publishes something free of any interesting content and makes it big enough to reach a large audience while mentioning each time that he's onto something but can't say anything about it. If that's not a PR exercise, please tell me what it is.
I met Jeff Atwood while I was in San Francisco last month and thought he had a good story that hadn't gotten much mainstream press (for example, StackExchange was covered by the New York Times, [http://www.nytimes.com/2011/02/07/technology/07question.html...] but that story didn't go into the origins of the company or Atwood's "secret agenda" of tricking developers into being better communicators). The story wasn't assigned, I pitched it to Wired because I had the opportunity to interview Atwood.
I think of Atwood were to pay for press (which I very much doubt he would do) I assume he'd do so when he actually had something to announce.
2008 - "By the end of 2008 users were posting 100,000 answers per day"
I find that hard to believe? Surely it'd be more like the other way round? Or has it really dropped off 4 years on?
It looks even better nowadays. Experts-exchange now looks like statistical noise compared to stackoverflow: http://www.alexa.com/siteinfo/stackoverflow.com+experts-exch... Serves them well for hiding community-provided information behind a paywall.
Speculation on what that might be? A curated disqus competitor, or?