PSA: make it easier to help you

You’re right. I think I meant “perceived as rude.” There’s a lot of behavior that, to a neutral 3rd party observer would not be considered rude, and certainly don’t violate community standards, but that from the perspective of someone new to this forum, new to coding, and or new to julia, might nevertheless come across as unwelcoming. Eg:

Questioner: Please help, my code has an error (screenshot of REPL)

Response: Please look at this PSA, and copy/paste your code rather than using a screenshot.

Questioner: (paste of unformatted code)

Response: Please format your code (link to PSA)

Questioner: (failed attempt to format code), please can anyone explain this?

Response: Again, please format your code. It’s a MethodError, (link to julia docs on Methods)

None of this is rude per say - it’s all totally in bounds. And it’s also understandable that people don’t want to spend a ton of time explaining this sort of thing over and over. But we should recognize that, from the perspective of someone trying to get help, links to large pages of text that may contain somewhere in them the answer that they’re seeking (but require slogging through irrelevant information, or information whose relevance may not be apparent), can be off-putting.

Asking questions well is a skill, and it takes practice. It’s totally appropriate that we ask people to learn this skill, but I think the community as a whole is better when we all make an extra effort to be kind to people that are struggling.

To be clear - I think this forum is already a role-model for being kind to newcomers, and I think that most of us, most of the time do put in that effort). But the fact that folks like @Nakul_Tiruviluamala have had the experience of feeling scolded (and if there’s one person willing to say that, there are probably many others that felt this way and as a result aren’t around anymore), should be evidence that we can still improve.

10 Likes

This (besides people being always friendly, of course) would be the optimal scenario but since that would be a much more challenging change, at least putting it in the thread would be the next best thing IMO.

I’m certain you had good intentions doing this but please be aware that this can put another barrier on people speaking out about issues like this (in addition to the high barrier that’s there just by nature). I wouldn’t feel good with people going through my history to look at situations I explicitly said I felt uncomfortable in. For people it can be hard in such a moment not to judge (“hm, that didn’t seem too bad”) and even harder not to feel judged (≈ “your feelings are wrong”) which can be off-putting, to say the least.

Few (if any?) have claimed that the Discourse isn’t helpful or isn’t good at finding solutions, and I didn’t get the impression @Nakul_Tiruviluamala was talking about not getting problems solved.
To exaggerate: People can be both friendly and unhelpful (“hey there, I had the same problem too, that’s really unlucky. I googled something and somewhere there I found the answer, hope that helps!”) as well as helpful and unfriendly (“just do …, next time RTFM”).

I wholeheartedly agree, and this is a really important thing to look out for, IMO.

I’m not sure I also agree with

though. Again, I don’t question helpfulness: I think ~90-95% of posts fall in the neutral-helpful category, but that doesn’t make them “a role-model for being kind to newcomers”, IMO. Maybe we read messages differently, and I’d be interested if you have specific situations in mind or if this is more of a general feeling.
Either way, I’d be happy if everybody felt encouraged to write posts that fit that ideal. :slightly_smiling_face:

6 Likes

I think “role model” relative to many programming communities. I’ve said elsewhere that “not as toxic as other programming communities” is not a high enough bar, we can and should do better. But I also think it’s worth comparing like against like.

I think that, given this is a forum populated almost entirely by incredibly busy people offering help and feedback for free, neutral-helpful is pretty great. I think being helpful is kind. Giving people links and advice on how to find solutions on their own is also kind. There’s the adage, “Give a person a fish and you feed them for a day. Teach a person to fish and you feed them for life.”

Given a bunch of recent posts are (rightly I think) offering critiques, it’s worth highlighting that a lot of people here are really kind in trying to teach folks to fish. But I’m also trying to say is that we need to remember that if a person is starving, it would be much better to give them some fish, preferably pre-cooked, before handing them a pole and trying to show them how to bait a hook.

2 Likes

This is a colorful metaphor, but I don’t understand how it applies here. A starving person is in danger of dying, while someone asking for help here and getting some pointers instead of a polished solution is in danger of… doing a bit of reading and thinking, I guess? I don’t consider either of those activities harmful.

In any case, my interest is mostly in helping people who wish to invest in learning Julia. What you describe is essentially free consulting, which I am not motivated to do. If you are, that’s great! I just sincerely hope that it never turns into an implicit or explicit expectation on this forum, because I suspect it would just make a lot of people quietly limit their involvement here (and I would be one of them).

I think that we have each clarified our positions, and this discussion is going in circles now. Note that this page is a wiki now, so anyone can edit it (I think). Feel free to add to it and make it more friendly; I would just appreciate if it was kept concise overall.

11 Likes

This place is the most helpfull and people here in general are the friendliest I ever experienced on any discussion board I have been in decades.

There are a very small number of some minor rudeness and not so friendly answers here to find, still those answers are targeted to help the questioner.

An even smaller number of participants seem to be offended (slightly or more or less) by some wordings which could be considered as rude or sloppy. Sure I do suppose these numbers are small, but at the end, this is all about technical questions and solutions, and not about psychological or mental issues.

It is possible to try harder and harder to even make the most sensitive people feel comfortable here, but at the end, there will be less people who will go through this effort and try to help the original technical question.

Nothing against more friendliness but it is more important to have fast and competent solutions. For this we need the technicians and nerds out there, who, in some cases :wink: , are missing some love and empathy for the one who asked the technical question but now got the technical solution.

9 Likes

OK, think instead that a new coworker says “I didn’t have lunch, I’m starving! What should I do for dinner?” If you send that person a link to LMGTFY “places to eat nearby” or hand him a fishing rod and a recipe book for cooking fish, that’s not a great response. There’s certainly a spectrum - you could say “this burger joint around the corner” or “come over to my house and I’ll cook for you.” To be clear, I think the vast majority of people on this forum (you included!) do these later things. I think you might say (yes, I realize this metaphor is getting super tortured), “Come over to my house - I’ve got all of the ingredients for a great meal, I’ll show you how to cook it,” which to be clear is super kind and above and beyond - you’re interested in people learning to cook for themselves, and that’s admirable (and again so I’m clear, from my perspective, your contributions here are constantly among the most useful on the forum). But for someone that was looking for options for fast food near work, this might seem a little aggressive.

Probably true. I’ve just made a couple of small edits to this end - take a look and let me know. I think it’s still quite concise, but adds just a little bit more social padding :slight_smile:.

Edit: should probably mention that I adapted @ElOceanografo’s text from here for the beginning.

2 Likes

It would be great if you did not try to base this discussion on stories and metaphors like this, because they are not very pertinent and just muddle the whole issue.

Eg a coworker is someone I have an ongoing cooperative relationship with in the workplace, enforced by social standards and the business culture of our common employer, which does not apply to most people on this forum. If you relate to total strangers you just met online and your coworkers the same way, that’s fine, I don’t.

Again, I am not sure I am decoding the metaphor correctly, but I don’t think that participating in a technical discussion in a civil manner, consistent with the community guidelines, can be construed as aggressive. We may just have to agree to disagree about this.

That said, I don’t think it is helpful to label behavior “rude” and “aggressive” (you have used both labels in this discussion) just because you would do it differently. The implication is that people who give help here, but do not go out of their way to be extra friendly by your standards, are rude and aggressive.

8 Likes

For example, when i see the first post of someone, i always start welcoming to this Discourse, and then i switch to response mode. If i have time, i try to untangle what the asker wants, if its possible and it’s in my attention budget, while also asking for more information and better formatting (in a lot of cases, the next comment is someone posting this thread). if there is enough information provided, then a preliminary response is made. iterate until solution is found.

Sometimes, even if no response can be given, and specially if its the asker’s first question, a post from someone in the community can make a difference, as essentially we are just people behind a keyboard (or smartphone).

2 Likes

I’ve shared an adaption of the post on the Go Forum. Thank you for the inspiration.

8 Likes

Cool! Nice to see this message spreading. Some formatting suggestions for the first point:

  1. If you put four spaces before paragraphs after the line break, including the code block, they will look like they’re of the same element of the ordered list.

    Like this.

    Or this
    
  2. For showing quoted code, wrap your example in 4 backticks, so that your triple backticks show up, like this:

    ````
    ```
    func add(x, y int) int {
        return x + y
    }
    ```
    ````
    

    Tamas put a link in the original post of this thread to a different post about formatting discourse posts that’s super.

2 Likes

How about explicitly stating that a MWE sometimes or oftentimes can identify the source of evil itself?

1 Like

The original did contain something to that effect, but it was removed in edit 6 by @non-Jedi.

While there is a lot of useful advice that could be added to this post, I am still concerned that the longer we make it, the less of it will be read.

The post had been getting super long at that point, and I also removed a bunch of other stuff that might be considered helpful. The philosophy I employed was generally only to keep direct, actionable items and remove reasons/motivation and other commentary; the main reason that e.g. you should include a MWE is fairly obvious.

For what it’s worth, I have no personal objection to adding anything back in that people think is worthwhile, but I do believe that the longer the list gets, the less of it is actually read.

By the same token, the longer this thread gets, the less likely it is to be taken seriously by novices seeking help. How about splitting off the OP from the subsequent discussion?

Only the first post is meant to be read (the wiki part), the rest is discussion for that. Should we split it? I don’t know how wikis work on Discourse.

I agree with this. I think the items collected in this post (now a wiki, technically) convey the message rather well.

This is not meant to be a very detailed guide for every possible eventuality, just something that gets 90% of the common problems that prevent people from helping. FWIW, I am totally happy with people adding stuff, but even happier when they make it shorter. :wink:

My point was that this whole thread must look intimidating and confusing to a novice coming to the OP for advice. Threads have been split before, so I’m sure the top could be split off from the rest.

5 Likes

I am thinking about adding something along the following lines:

Instead of asking for translations of code in other languages (Matlab, Python, R, …) to Julia, it is recommended that you just explain what you are trying to do. This helps as it allows more people to respond (fewer people will know the other language well enough to understand what you are asking for); also, not all constructs have a direct mapping to Julia so context is useful.

5 Likes

I think this is a good point, but I might say “instead of just asking… it is recommended that you also explain…” Or something like that. I 100% agree with the sentiment, but having example code in a different language can often be helpful.

Then again this might undermine the clarity of the message, so feel free to disregard.

This seems like a specific kind of XY problem. Maybe better to just include a brief point requesting that they provide context for their question–what and why they’re trying to accomplish in an overall rather than local sense?

I’ve also been thinking: would it be better to simply link to something like Stack Overflow’s “How do I ask a good question” and limit this guide to things that are specific to Julia/this forum?

In principle, linking to a guide like that could work; in practice, I am not sure that the people who need it most would click through 2 links.

1 Like