
Strange and maddening rules - omnibrain
https://www.joelonsoftware.com/2018/04/23/strange-and-maddening-rules/
======
Quarrelsome
This is why I quit stackoverflow. I'm a top 2% but there became a point where
people seemed to care more about the correctness of the information repository
than they did about helping people.

It changed from a community vibe into a library and then mods started to stamp
on some very good questions that people asked and closed them as duplicates
(linking to a slightly different question) or as "too open-ended" or "off-
topic". They gave those mods carte-blanche to enforce their way of viewing the
site, of data and people and then meta.overflow adopted a hostile culture to
shame people who questioned this world-view.

I really like that site but ended up hating it. My 2% rep is also a lie. I got
so much from simple answers and so little from much more complicated ones.

~~~
azeirah
I wonder whether instead of closing topics as "off-topic", "duplicate" or
"whatever", which can obviously be perceived as negative to someone, might it
be a better alternative to do the opposite? Instead of blacklisting "bad"
questions as "off-topic", how about whitelisting "good" questions?

If Stackoverflow wants to build this library, let mods and enthusiasts decide
whether a question is worth indexing, and let the questions that would
otherwise be closed as duplicate or off-topic be as they are. Perhaps replace
"duplicate" with "related to indexed question #XXXXXX"?

It would certainly take a while to restructure SO like this, but with enough
effort and time, lower-quality questions simply won't show up in searches
unless there really isn't a better related question available.

~~~
olavk
This is a really good point - people seem to get hung up about questions being
closed, even though "closed as duplicate" is a win since it means somebody
_already_ answered your question. If you just called it "promoted to FAQ" or
something...

~~~
DanBC
> even though "closed as duplicate" is a win since it means somebody already
> answered your question.

That's only a win if the duplicate is real. Sometimes questions are closed
when they aren't really duplicates.

~~~
olavk
Yes that is bad. You can vote to reopen if you have enough rep.

~~~
Bartweiss
> _if you have enough rep._

This is a substantial part of the fighting over the site, though - there are
lengthy guides to picking up enough Stack Overflow rep to render the site
usable.

I usually see this dismissed with "just help some people and ask some good
questions, you'll be there in no time", but when I talk to friends who are
getting a self-taught start with programming, I consistently hear a different
story. They're getting questions closed as dupes, either because they aren't
experienced enough to recognize duplicate questions with different terms or
because mods are squelching their genuinely novel questions. And they're new,
so they can't answer hard questions - and the easy ones don't produce rep
because they're inevitably closed, removing all the payouts for answering
them.

I understand the logic behind the rep gating system, it's not a bad idea. But
it's just fuel on the fire when things go wrong, and they go wrong a _lot_ in
the form of wrongly closed questions.

~~~
olavk
Yes it is hard to ask good questions, especially when you are just starting
with a technology and lack the proper terminology and mental model - which is
the phase where you need to ask the most questions!

~~~
Bartweiss
Yeah - I don't mean to imply this is all Stack Overflow's problem! I think
more could be done, but the 'unknown unknowns' situations is really hard to
provide support for with anything short of sitting down one-on-one and working
through the topic.

------
Clubber
I'm happy to see Spolsky blogging again. Everyone should read his old stuff;
most of it is spot on. I was young in my career when I found his blog; right
around the dot bomb. His posts are very thoughtful and insigntful. They should
be required reading for any programming manager, team lead, or developer.

Joel, if you are reading this, it's difficult to find your archives on your
new site.

~~~
daveslash
Agreed. Good greats for anybody; excellent for people newer to software
development (including managers, leads, and other non-programmers). On his
website [https://www.joelonsoftware.com/](https://www.joelonsoftware.com/)
scroll down to "Reading Lists"; he has a link to his archives, as well as top
reading lists by topic.

------
jancsika
> To novices, the long bureaucratic rigmarole associated with asking your
> first question on Stack Overflow can feel either completely unnecessary, or
> just plain weird.

I just think of SO as being "read-only." It might as well be Encyclopedia
Brittannica for all I know.

I also think of the errors I read in SO as being part of that immutable
encyclopedia. The only alternative is to spend time trying to correct an error
which led me down this rabbit hole:

1\. Realize that the site makes you jump through all kinds of hoops just to
respond to a (wrong) answer or comment on a question.

2\. Spend a total of 45 minutes researching and emailing two people who
already are SO members. Sending them a link to the SO page that has a clearly
wrong statement, and politely asking them to add a comment or whatever to make
it clear that the statement is wrong.

Ironically, that wrong statement was about one of the old string-handling
functions in the C standard library. So while the old usenet might have gotten
a cranky response from a C Jedi who knows all the answers, it is prohibitively
expensive to even provide the right answer on SO.

Luckily SO has enough correct information on it that treating it like an
immutable datastore still has great benefit.

~~~
toast0
I think, given that SO has become an encylopedia, it needs editors in addition
to moderators. My one contribution to stack overflow was a comment on a
question about a strange TLS problem, where I explained what was happening,
and mentioned it was worked around in the latest OpenSSL and linked to the
diff where my workaround had been accepted. Then a few weeks or so later I got
a message that I needed to fix my comment because something. I was motivated
to fix the problem in openssl, and to respond back to help any other people
who run into this, but I'm not motivated enough to fix my comment to follow
community rules.

~~~
cnaeotnh34nh
There are editors. Any user with something like 2000 rep can edit any question
or answer. I do it all the time. There's even a queue of questions that have
been flagged in need of editing.

------
nlawalker
I find that a lot of askers on SO are really in need of a consultation with a
_tutor_ or _technical mentor_ , not a singular answer. Maybe I'm overly
optimistic, but to me, really poor SO questions often look like opportunities
- what if the asker was open to a 30 minute chat with someone knowledgeable
that could totally illuminate things and set them on the right path, but
there's just no forum for accomplishing that (or they don't know about it)?

Is there any site/service out there that facilitates this? Paid, unpaid,
whatever, I'm just curious if anyone in the HN community has done something
like this, on either side (as either the tutor, or the tutored).

~~~
stinos
Very good point. Best thing you can do on SO is starting a chat with the user
I think, or sometimes you can give a 'teach a man how to fish'-style answer
where you don't just give a code-only answer (i.e. how), or maybe don't even
give a complete direct answer at all, but explain the bigger picture (i.e.
why). Problem with the latter approach is that if the OP doesn't leave any
comment you don't really know if it helped at all, whereas chat is more
direct. But if you do get a 'well now I learned something' type of comment
there's a good chance it actually helped the OP becoming more knowledgeable.

~~~
kqr
> Problem with the latter approach is that if the OP doesn't leave any comment
> you don't really know if it helped at all

I have thought before that somehow responding to people's answers should be
mandatory to get them, but I have yet to figure out a good scheme for this.

------
jasode
_> , with this in mind, to read Jon Skeet’s checklist for writing the perfect
question.[...] Sadly, not everybody finds his checklist. Maybe they found it
and they don’t care. They’re having an urgent problem with code; they heard
that Stack Overflow could help them; and they don’t have time to read some
nerd’s complicated protocol for requesting help._

As to the Jon Skeet checklist[1] that Spolsky linked, is there any reason why
those questions can't be part of the UI when posting a question?

The data entry for those fields can even be _optional_ instead of mandatory.
The incentive for filling them out is to boost the likelihood of the question
getting visibility and getting answered. An analogy is "SEO" Search Engine
Optimization and "pagerank". If you want your question to bubble up to the top
of the answerers' queue, boost the "effort score" by answering those Jon Skeet
questions. Any drawbacks for this?

[1] [https://codeblog.jonskeet.uk/2012/11/24/stack-overflow-
quest...](https://codeblog.jonskeet.uk/2012/11/24/stack-overflow-question-
checklist/)

~~~
mistermann
This seems like an absolute no brainer great idea to me. I've often wondered
why moderators don't do the same on subreddits....how often when you're doing
a search do you see results with useless titles like "Need help!" or "What
should I do here!!??".

------
fergie
SO has never quite cracked the "be nice" rule. You can still get some pretty
nasty feedback on your questions, and I completely understand why some
beginners would be put off.

Its also worth noting that the top result for a software question in Google
often takes you to a SO question that is "closed as off-topic" or "marked as
duplicate".

I have a lot of sympathy with Joel's view that you should mercilessly enforce
standards, but some of the "SO approved" moderation and feedback is not just
rude, its actually wrong and unhelpful in the wider scheme of things.

~~~
olavk
If the question is "marked as duplicate" then there is always a link to the
duplicate, where the question is hopefully answered. I think it is a good
thing that the same question has answers in a single place. But of course
there is a grey zone when it is not _exactly_ the same question.

As for off-topic questions, this is annoying, but I also think it is necessary
for any useful site to maintain a focus. For example, StackOverflow does not
allow requests for software recommendations even though this a frequent kind
of question. But it is not a good fit for the format of the site since you
often cannot say a recommendation is the "correct" one.

~~~
psyc
If the linked question does not answer the new question, then it isn't a grey
area, and it isn't a duplicate. This seems to happen too often.

~~~
klez
In defence of this, one can still vote to reopen a question. If enough people
did this maybe it would help with the situation.

------
psyc
It isn't just novices. I've been programming for 30 years, and I wouldn't
dream of asking a question on SO, because I simply don't loathe myself that
much. I've seen this before with Wikipedia. SO culture gives me the
expectation that odds are asking my question will be a waste of my time.

~~~
HenryBemis
[1]:
[https://en.wikipedia.org/wiki/Rubber_duck_debugging](https://en.wikipedia.org/wiki/Rubber_duck_debugging)

I don't have a rubber duck near me, but I (sometimes) find it helpful, when I
code and hit a wall, to 'talk to myself' (out loud). For someone who's been
coding 30 years (you), you have practiced this enough to be able to debug
easily (and silently:).

For newbie coders (me)(not sarcastically) sometimes this helps.

Oh, and SO is a great tool/forum, a true gift with many-many positive and
helpful people.

~~~
psyc
I do appreciate that SO does help beginners. This is part of an ongoing recent
discussion that has been critical of where SO fails. I am far from convinced
that SO's culture is really some deliberate Miyagi-style ruse intended to
teach you that you had the power inside you all along.

------
Coincoin
What I hate the most about StackOveflow is people continuously questioning the
poster's motive instead of answering the question.

That often means that if the answer doesn't involve glittering golden code
seeping perfection, people won't bother and will just answer: "Don't do that."

~~~
stinos
In all honesty, quite often the people are right.

I've seen _so many_ questions where the poster comes in and already 'solved'
part of the problem by making false assumptions (note: this can be by
accident, it's normal for novices and even more advanced programmers to have a
lack of diagnostic insight) and then asks 'I want to do this, how do I do
this?' which is at that point simply the wrong question.

Practical analogy to one particular style of questions: I have a lamp and a
switch, and I don't see any light when I toggle the switch and I go to SO to
ask how to replace the lamp. SO people could of course come up with a
perfectly valid and acceptable answer and leave it as-is. But SO people might
know better and realize such answer might not fix the actual problem, which
could be a myriad of other things (no power, no wires, switch broken, I'm
blind, ....).

~~~
alien_at_work
It's highly presumptious to assume you know better than the person asking. You
might, but you might not. The fact that SO serves as a collection of
programming knowledge, you _do not_ know better than everyone who will ever
search for that question even if you do actually know better than the OP who
actually asked the first time.

It would be fine to help with all these other possibilites but part of your
answer should... actually answer the question that was asked, as it was asked
and not doing so should result in a servere punishement.

~~~
olavk
> It's highly presumptious to assume you know better than the person asking.

But SO is a QA site - you are only supposed to answer if you indeed know
better than the person asking!

I acknowledge there is a grey area with the so called XY question, where the
questioner ask about one thing but actually want to achieve something
different. But in such cases the correct approach is, in my opinion, to help
the OP solve the actual problem they have, not lead them down the wrong path.

~~~
sirclueless
I think part of the point here is that you are not just answering OP's
question, which may or may not be an example of an XY problem. You're also
answering everyone who searches answers using similar terms to those the OP
used.

For example, let's say the title of the question is, "How do I reformat my
hard drive on linux?" and the body of the question is "I accidentally screwed
up my upgrade of Ubuntu by <doing XYZ> and now it won't boot. Can I reformat
the hard drive and install again so I can boot?" If your answer is "Are you
sure you need to reformat? Have you tried <solution to XYZ>?" then you may be
solving OP's root problem but you will be making a useless landing page for
anyone searching "How do I reformat a hard drive on linux?"

~~~
olavk
That is a good point and not easily solvable. I think the best approach is the
OP updating the question title and text to reflect the actual problem they
need a solution for, eg. <Ubuntu will not boot after doing XYZ.>

I _don 't_ think it is helpful to answer the literal question rather than the
actual problem, since this is optimizing for a hypothetical future reader at
the expense of the actual person having a problem. After all, the future
reader might _also_ have the same problem as the current user.

~~~
alien_at_work
>since this is optimizing for a hypothetical future reader at the expense of
the actual person having a problem

Which is fine because there are N potential future readers but only one OP.

~~~
olavk
I don't agree with this line of thinking. Helping the user at hand means you
help at least one person, and probably others which might have the same
problem. This is the purpose of the site! The OP is supposed to select one of
the answers as "accepted", if the answer solved their problem.

You suggest answering "the wrong question" would help _more_ users in the
future. I don't see why that would be likely.

N could be less than 1

~~~
alien_at_work
Again, you're assuming the question is "wrong". But how likely is it that
every single person who asks that question is wrong? With your line of
thinking you help the OP and anyone who gets in the exact same situation as
the OP but no one who actually needs the answer to the question that was
asked.

If you're worried about it then just answer exactly what was ask _and_ follow
your strategy. But please don't simply do your strategy because it's a real
pain for those of us who end up having to move off the beaten path from time
to time.

~~~
olavk
I should not have used the word "wrong", of course someone would nitpick that.
I mean the Y in an XY question.

My point is just you should try help the person at hand with their actual
problem, the X, and then clarify the question title to reflect the problem
they need help with. It is easy to see if an answer have solved the actual
problem - the OP selects the answer as "accepted".

If another person have a different problem which happen to be Y they will ask
that as a question and get help for that. Everybody is happy.

I get really miffed when I see someone answering the literal question even
when it is clear that the OP have a different problem and is just not
knowledgeable enough to put it in the technically correct terms. I guess it is
an effect of the education system when people think it is better to provide a
useless but technically correct answer, than actually help people who have a
problem.

Answering both X and Y is fine of course, and probably the preferred.

~~~
alien_at_work
>and then clarify the question title to reflect the problem they need help
with.

How many times have you seen that happen? Further that only occurs in an XY
situation where the question was wrong. I've been hit by cases where the
answer was "don't do that because it's bad". Well, I know that and I know
_why_ it's bad but I also know that I have to do it anyway. What now? You
couldn't change the question in that case because they asked what they meant,
they were just told that they were wrong (and _they_ were).

>I get really miffed when I see someone answering the literal question even
when it is clear that the OP have a different problem

And I get just as miffed when they don't because of all the times I get burned
by people behaving as you want and then I can't get that same answer answered
and have to go through even more pain (it was painful enough to be forced into
the situation) to figure it out for myself. I have basically no karma on SO
because when I get some I use it to vote down such people.

>Answering both X and Y is fine of course, and probably the preferred.

Here we can agree.

~~~
olavk
Good point. If they really asked what they want (it wasn't an XY question), I
don't think "don't do that because it is bad" should be accepted as an answer,
since it isn't, and it doesn't help.

It is the OP which decides what it the accepted answer though, but the
community should not upvote unhelpful answers.

------
Sir_Cmpwn
SO has long been the butt of jokes about over-moderation. Any arbitrary SO
link found in the wild is 90% likely to be closed for some reason or another,
even though it probably solves the problemn you ended up on that page to
solve.

It's hard to read from this blog post, but if fixing this is one of the
forthcoming changes I think it's a good move.

~~~
olavk
Can you link to a few examples? (I sometimes moderate on SO, so would like to
learn from previous mistakes.)

~~~
malvosenior
Anytime a question that has interesting or thoughtful replies is closed, it
does a disservice to the community and content of the site. It's something
moderators don't seem to agree with the users about.

Here are a few of _many_ , _many_ examples:

[https://stackoverflow.com/questions/2847655/find-threads-
run...](https://stackoverflow.com/questions/2847655/find-threads-running-for-
a-particular-process-in-linux)

[https://web.archive.org/web/20150404191857/http://stackoverf...](https://web.archive.org/web/20150404191857/http://stackoverflow.com/questions/5574241/using-
sun-misc-unsafe-in-real-world)

[https://stackoverflow.com/questions/5574241/why-does-sun-
mis...](https://stackoverflow.com/questions/5574241/why-does-sun-misc-unsafe-
exist-and-how-can-it-be-used-in-the-real-world)

[https://stackoverflow.com/questions/961942/what-is-the-
worst...](https://stackoverflow.com/questions/961942/what-is-the-worst-
programming-language-you-ever-worked-with)

I'm sure mods can explain why those don't fit on the site but closing them
makes people not want to use SO and develop a negative opinion of the
moderation team.

~~~
olavk
SO have a very well-defined purpose: To answer practical questions about
software development - questions which have answers. The site is not a good
fit for open-ended discussions - the UI is not designed for this. How would
you select the "accepted answer" in a questions like "what is the worst
language you have ever worked with?" What is the actual problem in search of a
solution here? Upvote/downvote is supposed to indicate "helpful"/"not helpful"
\- how would you determine this for such a question?

Think of it in unix philosophy - a site which does one thing and does it well.
If you need something different, use another site which does that thing well.

And what is lost by pushing general discussions to sites like HN or Reddit
which is much more suited for such discussions?

~~~
malvosenior
Users don't care about any of that. They look at the answers on those
questions and think "wow this is great content!" then they get mad when mods
shut down the discussion.

It's important to remember that users don't care what SO's purpose is, they
care about their experience with the service and for a lot of people that
experience is extremely negative.

I think it would be in SO's best interest to actual listen to the complaints
people have instead of just saying "you're not using the site right". People
wanting to use a product is a privilege that is best not taken for granted.
After all, the customer is always right.

~~~
olavk
Perhaps - and I don't se the benefit of all decisions, like pushing system
admin and database admin questions to separate sites. But I do think the
overall perceived value of the site would decrease if general discussions,
joke threads and unfocused flamewars were allowed to run wild. The basic
premise of SO is that "it answers your question", and I believe it does this
extremely well. I remember a time before SO.

But that is a decision for the owner of the site - Joel Spolsky I guess? Don't
blame the mods for keeping the site at the intended focus.

There are also frequently users complaining about HN not allowing joke-
threads. Clearly those users are not served well by HN and have a bad
experience here - but would it improve the site to cater to them? Are all
customers always right?

~~~
malvosenior
There might be some users wanting joke threads on HN but there's a massive
number of people who feel closed questions on SO are a problem. It's a very
well known issue in our industry.

> Don't blame the mods for keeping the site at the intended focus.

For better or for worse, the users are going to blame the mods for this since
they're the ones closing the questions.

~~~
olavk
Questions are closed by voting just as they can be reopened by voting. You do
need a certain level of rep to vote either way. So the closing and reopening
trends for better or worse reflects the community using SO, not just some
cabal of mods.

A closed question only needs 5 votes to reopen, if I remember correctly. So if
there are massive amounts of people who wants a question reopened it should be
possible.

Not disputing some people are overzealously closing qestions, and this problem
should be addressed - just saying it is just as easy to vote against closing.

------
brudgers
It's worth noting that Spolsky lost the "How do you move the turtle in LOGO"
philosophical debate. [1] Atwood won and thus people get an excuse to treat
people badly. Particularly relevant is that people get an excuse to treat new
comers particularly badly. Sure, there's a scale at which aggressively closing
questions is administratively necessary. [python] or [android] are at that
scale. But the small corners of StackExchange are often dominated by Usenet
behaviors because such behaviors are sanctioned from on high. Policies that
encourage treating people badly are established by fix or sixteen votes on the
related Meta site. And blessed in the moderator discussions as site wide
policies based on the administrative needs of tags like [php] on
StackOverflow.

A lot of StackExchange is similar to comp.lang.c did in the Usenet era. As in
the days of the Usenet, They tolerate and encourage those behaviors. I think
there's a critical lower bound and a maximum upper bound for the number of
users. The topic has to be big enough that there is a steady stream of new
questions and small enough that regulars talking among themselves is a
meaningful percentage of the activity.

[1]: The discussion from 2009 in SO Podcast #58 (under the old numbering
system):
[https://stackoverflow.blog/2009/06/18/podcast-58/](https://stackoverflow.blog/2009/06/18/podcast-58/)

~~~
Quarrelsome
The question in question [1] was closed as "not a real question" and then
further "locked".

[1]: [https://stackoverflow.com/questions/1003841/how-do-i-move-
th...](https://stackoverflow.com/questions/1003841/how-do-i-move-the-turtle-
in-logo)

~~~
brudgers
As Spolsky describes in the recent article, the question was seen as
problematic by Atwood because it didn't reflect enough research. Atwood even
deleted it in 2011.[1] A moderator later restored for historical relevance.
But the site's policies reflect a lot more of Atwood's personality than
Spolsky's...most unfortunately.

[1] See revision 16
[https://stackoverflow.com/posts/1003841/revisions](https://stackoverflow.com/posts/1003841/revisions)

------
sstanie
For anyone that clicked through to his 1988 question on comp.lang.c ... what
was causing what he was happening? I'm assuming something with an old version
of gcc, but I can't reprocue it- I get the correct result using both cc and
gcc.

[https://groups.google.com/forum/#!searchin/comp.lang.c/spols...](https://groups.google.com/forum/#!searchin/comp.lang.c/spolsky%7Csort:date/comp.lang.c/BKhAacGNtZI/GLSW-
QG_O3MJ)

Are you allowed to use getchar() twice? (seems like a silly question? read
on!)

\---------------------------------------------------- kangaroo% cat test.c
#include <stdio.h>

main() { int c; c=getchar(); putchar(c); c=getchar(); putchar(c);
putchar('\n'); } kangaroo% gcc test.c kangaroo% echo "Hi" | a.out H^@
kangaroo% cc test.c kangaroo% echo "Hi" | a.out Hi
\---------------------------------- Anybody know what's going on?

~~~
brianpgordon
It looks like for some reason GCC is returning EOF from the second getchar()
call and his terminal is rendering it as ^@.

------
munificent
_> we could improve the prompts we provide on the “Ask Question” page, and we
could provide more tools for community moderation of comments where the snark
currently runs unchecked._

Here's an idea: On the ask question page, have a checkbox for "Help me ask my
question". Check that, and the question temporarily goes into a separate
corral where helpers can edit or refine the question. These self-selected
subset of the Stack Overflow community help get the question ready before it
goes "public" to the larger SO world.

~~~
edem
There is already a review system in place. The problem is that there is almost
no incentive to participate in it since you get no rep from it.

------
ILikeConemowk
The absolute best quote in the OP:

These questions feel like showing up on a medical website and saying something
like __“I think my kidney has been hurting. How can I remove it?” __

~~~
slantyyz
>> These questions feel like showing up on a medical website and saying
something like “I think my kidney has been hurting. How can I remove it?”

While I laughed at this example for a few seconds, I also think this is a
question that needs to be answered.

While we'd like to think that everyone who uses the Internet has a basic level
of intelligence and a grasp of common sense, this is often not true.

Having a real expert answering this question properly (in simple, non-
patronizing language) could prevent someone who may not be thinking
rationally/logically from doing something incredibly stupid.

------
jnordwick
Ask anything optimization or performance related and you get a string of
"premature optimization", "let the compiler to it", or "use this library"
comments.

One of SO's biggest problems is the mod thinking they know better than the
people asking and over-aggressively closing things down.

And given a number of ways to ask the same question, they will often get
closed down in not in the exact right form:

\- How do I do X in my programming language? \- Is there a library to do X in
my programming language? \- What is the best library to do X in my programming
language?

While the three questions are slightly different, they will result in about
the same answers. I see no reason to close any of them down since they all
imply each other.

Or the huge issues with decade old answers still coming up when they no longer
apply to recent software versions.

Once seeing an interesting Java question answered by Gosling himself, I made a
suggestion on Meta to highlight answers by notable people. I thought it would
be very interesting. Wow! Was ever a bad idea. Meta is even worse and nastier
than SO regular. It seemed like the mods were fighting to be the biggest on
the site and didn't want anybody to outshine them.

Joel doesn't seem to want to understand the SO has large problems for many
user types, and it needs more than just a little lipstick.

------
edem
I see a lot of people complaining about SO because of duplicates, barriers,
etc but it seems that none of those people actually read the article.

You have to go through all these hoops because you can't force your way
through this learning process the same way as you can't have 9 women give
birth to a baby in 1 month.

Contributing to SO is a journey and the milestone system is geared towards
helping people through it.

You have to admit that nothing is perfect and complaining won't help.

Criticizing something is easy but I see close to zero suggestions for
improvement.

Just ask yourself whether you can do better than Joel and the others or at
least give some suggestions for improvement.

 _Disclaimer:_ I'm also one of those 2% people and I also see problems but I
think that it is not that serious as some people claim it to be.

------
pjungwir
Every HN conversation about Stack Overflow is full of carping, so I feel
obliged to say: I love Stack Overflow. It has saved me days of work, and I've
really enjoyed helping people when I could. It was a revolution, and I would
hate to return to the days of searching old phpbb forums for help (and if I
was really desperate creating yet another account to ask something myself).

I've been on the site since the beginning, although my participation waxes and
wanes. I often only check the "bounty" tab for tags I care about, since those
tend to be better-asked questions. That's one way to engage off-and-on without
much effort.

When I do look through the non-bounty questions, I find a lot of beginners.
Some questions are so badly-asked I won't engage, but a lot of questions show
someone trying who is just not yet knowledgeable enough to know the right
approach, or even how to ask for help. I feel like those are the most fun to
answer. I could probably mark them all as duplicates somehow, but where is the
fun in that? I'd rather offer an answer tailored to their own situation,
possibly with links to other SO answers that elaborate on relevant (not
"duplicate") topics.

Joel's post here actually sounds less hard-line against duplicates than the
Stack Overflow conventional wisdom. It sound like what he really cares about
is whether the asker is trying. Personally I have never marked a question as a
duplicate, because there is usually some room to explain how that other
question applies to the asker's situation.

With Rust I've been on the other side of that exchange, too. That is really
the only region of Stack Overflow where I've seen the pedantry and
unhelpfulness that others complain about---mostly from one person actually.
And I wonder how many people have given up on Rust because of bad experiences
there.

What looks like a duplicate to an experienced developer may seem totally
unrelated to a beginner. When your question is marked as a duplicate you get
this sinking feeling of hopelessness, like someone is saying, "I can see the
problem, but I won't tell you, and I'll make sure no one else sees your
question either. Good bye!" Knowing what it feels like makes me even more
inclined to answer every question in its uniqueness. And it is very rewarding
to help someone out of their bind!

Another fun question is the "Something is failing and I don't know why" type.
If you have a lot of experience with that tech, you might be able to recognize
the problem or guess it from little information. These questions are like fun
puzzles, and they let you show off a bit of "magic".

Anyway, every time I see a HN post about Stack Overflow, I want to write this
comment. Joel, Jeff, and everyone else there: thank you so much for a huge
gift to developers everywhere!

~~~
rspeer
> With Rust I've been on the other side of that exchange, too. That is really
> the only region of Stack Overflow where I've seen the pedantry and
> unhelpfulness that others complain about---mostly from one person actually.
> And I wonder how many people have given up on Rust because of bad
> experiences there.

You're not wrong! I almost gave up on learning Rust when I saw all the
belittling answers on Stack Overflow. It particularly seemed common to see SO
pages of the form:

\- Q: How do I do [thing X that Rust doesn't do well yet] in Rust?

\- A: You're doing it wrong! Write better code! You're only trying to do X
because you're sloppy.

And then thing X would actually become possible in Rust, because the language
keeps getting better, but the SO page would remain, implying that only bad
programmers do this thing that works in Rust and that you want to do.

Fortunately, I've realized that this guy on SO doesn't represent the Rust
community. The community on Reddit is pretty good, and on the Gitter, there
are people who are happy to answer even simple questions that have been asked
before.

------
amp108
"Closed as duplicate" is such a frustrating experience with SO, especially
since the canonical answer for the original post so often has so little to do
with the supposed "duplicate" post, other than a superficial similarity in how
the question is posed.

E.g.:

Q1: I'm trying to do _x_ and it isn't working. A1: You're missing a comma in
the list on line 7.

Q2: I'm trying to do _x_ (and I've checked all of my commas), and it isn't
working. A2: Closed as duplicate of Q1.

------
ken
"And programming is hard enough; we should see our mission as making it
easier."

Programming is _complicated_ enough, and we should see our mission as making
it _simpler_. That would benefit everyone, not just newcomers.

I see the eventual harshness and gatekeeping in every forum (not just Usenet
and SO) as the inevitable consequence of accidental complexity. We've got 173
layers between what we want to accomplish and what we have to type on on the
keyboard today, and that naturally leads to ultra-specialization and Barton's
"high priests".

I don't think I can describe the modern web stack with a straight face. It's
become its own parody of software development. I no longer think I understand
how to stay secure on the modern internet, except by mindlessly following
"best practices" I've been told. Complexity has a real cost for everyone.

To change the background color on my C=64, you had to consult a memory map --
but there weren't dozens of other abstraction layers to think about, so even
my parents weren't afraid to crack open the book and help. Abstraction is a
necessary tool, but a lot of the layers we've got today are just plain bad,
and exist mostly by historical accident.

You either have to study the archaeology of all your software and hardware, or
you have to memorize bizarre cargo cult rituals and recite them back without
understanding why. The root cause can't be solved with a Q&A website, no
matter how much you tweak the phrasing of the form fields.

------
chadlavi
> The average programmer, in the world, has been helped by Stack Overflow 340
> times.

That seems low, to be honest.

------
mcguire
" _What did we think of newbie questions?_ "

That's the wrong question. (Hah!) A better one: What do you think about
complicated, difficult questions?

Answer: apparently, not much.

------
fouc
>The average programmer, in the world, has been helped by Stack Overflow 340
times.

Seems suspiciously low to me, I suppose that's not counting page views.

------
peterwwillis
I notice a lot of people talking about moderation on SO. It reminds me of the
moderation on HN. It's all focused on one of two things: being "nice", or
being "interesting". Which is really bizarre. It's not reasonable to expect
people to act in an artificial way. People are emotional, and usually not all
that smart or interesting. We're monkeys with hats. Just because you can train
a monkey to paint a picture does not mean it won't fling poo at you.

SO wants to keep _some_ beginner questions, but also keep the really
complicated questions, and you have to do some homework, but really most
questions are okay, and you shouldn't ask a question again, and you have to be
_nice_ , ... These are so many subjective rules that serve to make everything
"look" a certain way. It's almost like playing a game. Ah, you didn't say
please and thank you! You lose five points. In a world where not everyone
agrees with you or behaves the way you want, I wonder what the goal of this
particular game is?

I guess what I'm driving at is how thinking you can just make up a list of
rules of how humans should behave and expect it to go okay, is maybe not the
best idea. It's like expecting that you can write some shell scripts that tell
a computer how to work, and it will always work that way. Bad news: computers
don't always follow simple rules, and neither do humans. Moderators are the
equivalent of health checks that go around restarting things that died. That
may be fine for your massively scaled enterprise application, but humans have
something computer programs don't have: feelings.

Which brings up a completely unrelated question: In the future, when computers
have emotions, will server automation be considered equivalent to chicken
farms? Yes, we're killing all these living creatures after they have a meager
existence in cramped spaces, but have you tasted this amazing chicken cordon
bleu?

(Inb4 flagged for "incendiary topic: animal rights")

------
mcguire
Tl;dr: a question/answer forum is a poor way to build a reference library.

------
douglaswlance
Open source StackOverflow, Joel. Let us fix it!

------
Animats
That post could have been much shorter. The picture of the San Francisco
waterfront didn't help.

