1. 3

    All of the retrospectives of StackOverflow’s culture clearly state that asking questions effectively is a skill. They then repeat the same few bullet points about ensuring that questions are within the scope of the site, provide enough information, aren’t duplicates, etc. etc. What they don’t mention is that this will have approximately zero impact on your question getting answered. As far as I’ve been able to tell over the past decade on StackOverflow, what leads to your question getting answered is the size and popularity of the technology or programming language your question relates to. Ask a Javascript question? You’ll have a dozen replies almost before you hit submit, even if your question is poorly formed and has been asked a million times before. Ask a question about a relatively obscure technology, and it’s very possible that your question will never be answered.

    1. 2

      You can blame this on the network effect or simply probability. What’s the chance that an expert in an obscure domain would answer the question on StackOverflow, It would be better to send that person an email directly. There’s too much expectations of StackOverflow in my opinion.

      1. 4

        I think you can also blame it on the platform. There is no reward in answering a question that will be seen by 1 person a year.

        1. 1

          Sure, there is a bit of that. But the questions I’m referring aren’t that obscure. It’s mostly for things like Erlang, or F#. It’s the sort of thing where StackOverflow ought to shine, because there aren’t a whole lot of resources for these languages, whereas Javascript or Python tutorials are a dime a dozen.

        2. 1

          Ask a Javascript question? You’ll have a dozen replies almost before you hit submit, even if your question is poorly formed and has been asked a million times before.

          I played with this briefly - if you’re quick enough you can get a couple of upvotes, the answer tick and the consequent dopamine hit before mods get around to marking it as a dupe. It does get boring very quickly though.

        1. 2

          The subject of how to ask questions and how can someone learn to ask better questions is something that has been bugging me lately, mostly because of personal reasons (mentoring and teaching). Does anyone have more articles on this topic, other than the classic ESR “how to ask questions”?

          1. 2

            Lately I’ve noticed that “how to ask questions” in a domain seems to be one of the best metrics for expertise. When you’ve learned the language of your topic well enough to form the kinds of questions StackOverflow prefers, you often won’t need StackOverflow - and when you do, you’ll also have the bedrock of clear language and details that help you get a response when there are other experts around.

            Unfortunately, I’m not sure I have a good answer that generalizes well - and also no articles. I’m honestly not sure question-asking is a skill that generalizes between domains other than at very high levels of abstraction like “respect the readers’ time”, “show evidence of the problem and what you’ve done”, and “be humble about the whole situation”.

            1. 2

              I’ve liked Tatham’s guide to reporting bugs, because of the overlap.

              1. 1

                In my experience, if you want someone to learn how to ask good questions, put them to answer questions. They will quickly figure it out.

              1. 4

                In my opinion, the big change that agile brought to the table was the formalization of trial-and-error. It assumes that we will not get it right the first time, so instead of adding more documentation we simply build it, test it, and make it fail fast. And finally (and most importantly) we learn from it and start over.

                As a developer with no experience in project management, my suggestion would be to listen, dig deep into the reasons why they think they need what they are asking for, and once you have an idea build a prototype and test it quickly to find where you got it wrong.

                In other words, optimize for failure :)

                1. 3

                  In retrospect it’s kind of amazing how quickly we moved from an Internet with no “like” counts (the golden age of blogging) to an Internet where it’s very difficult to find any community where “like” counts or upvotes are not a core part of the system. Even indie sites like Lobste.rs or Metafilter that eschew a lot of the apparatus of the modern Internet incorporate this very quantitative approach to community and social interaction.

                  1. 2

                    Yes. The quieter, less-evaluative Internet was hijacked by one of addictive narcissism.

                    1. 2

                      After writing my earlier comment I realized that there is one type of online community I participate in that is completely free of likes/voting/ranking/quantitative anything: mailing lists.

                      It’s probably not a coincidence that I love mailing lists, while people whose Internet experience started even a few years later than mine did seem to really, really hate them. I wonder if there is a real generational (or internet-generational) divide here, or if I’m just an outlier.

                      1. 2

                        It’s probably not a coincidence that I love mailing lists, while people whose Internet experience started even a few years later than mine did seem to really, really hate them. I wonder if there is a real generational (or internet- generational) divide here, or if I’m just an outlier.

                        As a guy who first acquired an ISP in 1993, I can honestly say that I generally dislike mailing lists (like most people, I guess). I always think of them as a poor-man’s usenet, I would much rather just hop on tin(1) and read the latest posts in my subscribed groups.

                        Having said that, I am a member of some mailing lists that I genuinely enjoy. Though they are the exception, not the rule…

                      2. 1

                        It would be interesting to see an implementation of an upvote button that didn’t display the count to the users. You still get the “community” aspect of it, without the narcissistic side.

                        1. 1

                          HN does this.

                          1. 2

                            Right! For the comments. They still show the points for each story, which I think makes sense (or does it…?)

                        2. 1

                          Back then we had guestbooks and hit counters to provide the tingle of popularity that is oh so addictive.

                          I remember when I first added commenting to my blog and getting ten or so meaningfull comments within the first week of publishing a new post was a thrill to see; those were different to likes though, because they were actual meaningful interactions that often spawned discussion.

                        1. 4

                          I was confused to see random snippets of code until I realized these are part of a book: http://rtoal.github.io/ple/

                          IMO it would have been much more interesting to link the book, which already links to the repo.

                          1. 2

                            The object literal pattern only supports switching on strings, because only strings can be object keys. By contrast, JavaScript’s built-in switch statement can switch on numbers too. Though with JavaScript’s type coercion, maybe you could use strings like '39' as object keys and access it with the index 39, but that feels unsafe to me.

                            1. 2

                              It might “feel” unsafe, but it’s perfectly fine. Here, try this:

                              var x = {"39": 13.37}
                              print(x[39])
                              
                              1. 3

                                I think just further demonstrates why people don’t trust Javascript: to many reasonable, seasoned programmers that shouldn’t work, but it does.

                                1. 3

                                  This works because JavaScript converts the hash keys to string before using it as key:

                                  > a = 'key';  // String
                                  > b = 4;  // Number
                                  > c = {};  // Object
                                  > d = {};
                                  > d[a] = 1;
                                  > d[b] = 2;
                                  > d[c] = 3;
                                  > d
                                  { '4': 2,
                                    key: 1,
                                    '[object Object]': 3 }
                                  

                                  This means that even though you can use objects as keys, they will all translate to '[object Object]'.