# What constitutes a good post here?

**URL:** <https://discourse.julialang.org/t/what-constitutes-a-good-post-here/106777>\
**Category:** Meta Discussion\
**Created:** [November 27, 2023, 2:03am UTC](https://discourse.julialang.org/t/what-constitutes-a-good-post-here/106777 "2023-11-27T02:03:06Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tarny\_GG\_Channie](https://avatars.discourse-cdn.com/v4/letter/t/3bc359/32.png) [@Tarny\_GG\_Channie](https://discourse.julialang.org/u/Tarny_GG_Channie)\
**Post date:** [November 27, 2023, 2:03am UTC](https://discourse.julialang.org/t/what-constitutes-a-good-post-here/106777/1 "2023-11-27T02:03:06Z")

</div>

This forum has a bunch of guidelines and some rough descriptions of what each topic is. The community guideline says what constitutes a bad post, but it doesn’t tell you what a good post is. Sometimes, misaligned expectations can lead to issues. For example, posting a toy benchmark problem might be interpreted as asking for help. If one asks about a theoretical plausibility of doing certain stuff in Julia or ask if somebody is interested in implementing X, it could be misinterpreted as an intention to implement something right there. That’s a problem when the question gets abstract. When the question gets too concrete, things ain’t always good either. Sometimes it suffers from the [XY problem](https://mywiki.wooledge.org/XyProblem), misinterpreted context, etc… too long and people might say it’s filled with irrelevant context, too short and it might miss relevant context. Post no code or little code and people might say it lacks effort. Post a lot of code and people may cringe at how cursed your code is or your code might be too long and take too much effort to read. Be a language noob and you might be asking for something which could’ve been answered if you take a 2-minute look at the documentation. Be a language pro and you might not understand issues beginners make. Generate no engagement and obviously your post is useless. Generate extremely high engagement and people are likely actually talking about five or more different things. So, it looks like no matter what you do, there are issues. So…  
What constitutes a good post? What is this forum even about?

---

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [November 27, 2023, 6:17am UTC](https://discourse.julialang.org/t/what-constitutes-a-good-post-here/106777/2 "2023-11-27T06:17:01Z")

</div>

I don’t know exactly what a good post is, but I can assure you that the community is way more “tollerant” and friendly than in the Stack Overflow QA site.

Then it is also true that this is a forum, not a QA site, so don’t worry too much on making a good “starting” question, the discussion can always be directed toward a proficuous conversation if a collaborative spirit is maintened (for example a post without a minimum working example can be just asked to integrate one…).

---

<div class="post-metadata">

**Author:** ![Amval](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/amval/32/6217_2.png) [@Amval](https://discourse.julialang.org/u/Amval)\
**Post date:** [November 27, 2023, 7:07am UTC](https://discourse.julialang.org/t/what-constitutes-a-good-post-here/106777/3 "2023-11-27T07:07:39Z")

</div>

I think in this comment you got a good insight on why your posts are not as well received as you’d like:

> [@Is Julia’s destiny in the creative industry and building the virtual world?](https://discourse.julialang.org/t/is-julia-s-destiny-in-the-creative-industry-and-building-the-virtual-world/106675/5):
>
> In my opinion it is also good to show some level of “effort” into trying actually using Julia for the thing being discussed. Right now, it feels like one day we are building a chess engine ([Building a strong Julia chess engine](https://discourse.julialang.org/t/building-a-strong-julia-chess-engine/101726)), and then another programming language ([Julians... criticize my concept language all you want](https://discourse.julialang.org/t/julians-criticize-my-concept-language-all-you-want/104954)) and then moving on to creating Startcraft 2 bots ([Julians, are you interested in making a StarCraft 2 bot in Julia?](https://discourse.julialang.org/t/julians-are-you-interested-in-making-a-starcraft-2-bot-in-julia/103767)) and “wargames” ([I'm making a Julia wargame! What kind of s…](https://discourse.julialang.org/t/im-making-a-julia-wargame-what-kind-of-special-effects-do-you-want/106521)

Although I would argue that they still seem to gather a fair amount of discussion.

---

<div class="post-metadata">

**Author:** ![johnh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnh/32/3615_2.png) [@johnh](https://discourse.julialang.org/u/johnh)\
**Post date:** [November 27, 2023, 10:39am UTC](https://discourse.julialang.org/t/what-constitutes-a-good-post-here/106777/4 "2023-11-27T10:39:52Z")

</div>

@Tarny_GG_Channie I think you are a marvellous addition to the community here.

“What is this forum even about?” Good question.

I would say expressing enthusiasm for Julia and asking if it is applicable in a particular field. Both of which you do.

Offering help to people who a problem, based on your experience.

Notifying about events such as conferences or relevant webinars.

Job postings which as for people with Julia skills.

---

<div class="post-metadata">

**Author:** ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)\
**Post date:** [November 27, 2023, 4:00pm UTC](https://discourse.julialang.org/t/what-constitutes-a-good-post-here/106777/5 "2023-11-27T16:00:08Z")

</div>

It’s a good question — and really, what makes a good post will be different in different categories. Nearly all the categories are pretty tightly scoped and should be more obvious, but we do have two fairly “loose” categories: #Community and #Offtopic.

If you’re ever curious about the “mandate” for a given category, we try to ensure that the category description has some guidance about what sorts of topics are encouraged there. For example, check out [About the Community category](https://discourse.julialang.org/t/about-the-community-category/290) for the #Community category. But moderators and high-trust users can move topics as needed. I’ve moved this topic into #Meta Discussion — which is for discussion about this site itself.

The #Offtopic category is much trickier; we don’t currently have any written guidance there. But this is still a site about the Julia language targeted for folks who work with the Julia language. I’ve long held that there are many places where folks can go to argue on the internet — we don’t need to foster that here. So we do still keep some informal limits on topics there, too, even if it’s a little fuzzier.

I think a common theme underlying the tensions in many of your topics, @Tarny_GG_Channie, is a desire to ascribe what **The Julia Community** thinks as though it’s a monolithic entity or what **The Future of Julia** _should_ be. This elevates the stakes to a level that’s far out of proportion of what’s possible to meaningfully achieve in a forum posting. As a simple example, reframing “What should the Julia Community do to win big” to “What are you doing to ensure Julia wins big?” makes the topic far more concrete and _descriptive_, rather than trying to _prescribe_ what folks should be doing.

---

<div class="post-metadata">

**Author:** ![mihalybaci](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mihalybaci/32/13528_2.png) [@mihalybaci](https://discourse.julialang.org/u/mihalybaci)\
**Post date:** [November 27, 2023, 7:15pm UTC](https://discourse.julialang.org/t/what-constitutes-a-good-post-here/106777/6 "2023-11-27T19:15:25Z")

</div>

> [@Tarny\_GG\_Channie](#):
>
> What constitutes a good post? What is this forum even about?

What constitutes a good post depends heavily on the content and purpose of the post itself. (Whether or not my current post is a good one remains to be seen.) The following are some observations I’ve made over the years; let’s consider the OP first.

If the poster is asking for _volunteers_ to help them with a problem, then [make it easier to get help](https://discourse.julialang.org/t/please-read-make-it-easier-to-help-you/14757). Following those guidelines should lead to a productive post and, with any luck, a good solution. And I emphasized volunteers precisely because the folks in this forum are volunteers who are interested in the language and want to help and participate in discussion. A good OP should be cognizant of the fact they are asking for help from people who are not obligated to do so. Taking the time and making the effort to craft a good post (e.g. by following the PSA above) is essentially a token of respect to those ready to help.

If the poster has a feature request or “why doesn’t Julia do it this way?” type of question, then they are making a bigger request and have a higher hurdle to jump. The classic response is [Julia is not at that stage of development anymore](https://discourse.julialang.org/t/psa-julia-is-not-at-that-stage-of-development-anymore/44872), but that does not mean the language is static! If someone thinks Feature X should be part of Julia, then have at least a basic working version ready to show (especially if it would be breaking!). It’s hard to convince people that Julia needs `@a_fancy_new_macro` unless you can show both **how** it works and **why** current solutions don’t work (or don’t exist). At the risk of starting it again, a recent ultra-thread on [`rand(Float32)`](https://discourse.julialang.org/t/output-distribution-of-rand-float32-and-rand-float64-thread-2/105184) suggested that Float32 random number generation could be better. It was a good OP with a clear improvement that could be made, and in the resulting posts several working code versions were generated (though no consensus has been reached at the time of this post).

If the poster has an open-ended, philosophical, or opinionated question, then it is definitely best to have a very specific goal or discussion in mind **before** posting. Otherwise the discussion can and will become so unfocused that the OP is lost and no one benefits. Most frequently, the problematic posts are “calls to action” that if “Julia” or “the Julia Community” just did X or didn’t do Y, then all our problems would be solved! Or, if “Julia” puts more effort into technology Z then all programmers from Group Q would use it! [These discussions](https://discourse.julialang.org/t/what-steps-should-the-julia-community-take-to-bring-julia-to-the-next-level-of-popularity/101389) are so open that there is almost no _tangible_ benefit. These topics also very quickly become a place for people to post every problem they see with the language. Then each individual problem “needs” a reply or rebuttal, strong opinions abound, and finally no one is better off than they were before.

(edit, 2 days later: Instead of asking a very broad question, a better tact would be to narrow the question as much as possible. Replacing “How can we improve Julia’s popularity?” with something like “What tools/packages could improve the experience for [blank]?” Then, people may actually post useful information on a topic such as, available packages, missing tools, workflows (good or bad), etc. There is no one-size-fits-all solution for all groups, so narrowing the focus would be better at getting real imrpovement.)

As for replying to posts, a good way to start is to **always assume the best intent**. This goes hand-in-hand with remembering that the community’s goal is to helpful. Everyone has a different background and expertise, and that necessarily implies that everyone will have [a different point of view](https://discourse.julialang.org/t/why-are-missing-values-not-ignored-by-default/106756) AND THAT’S OKAY!

Also, for anyone posting language comparisons similar to “NumPy syntax is better because…” or “[blank] has a better AD scheme because…”, remember, this is a Julia forum. A vast majority of us (I assume) are here because we like the way Julia does things a lot better than other languages. That **does not** mean there are no issues, no bugs, and nothing can be improved. But it **does** mean that making blanket statements about another languages/packages superiority will result in an [argument](https://www.youtube.com/watch?v=uLlv_aZjHXc). Everyone’s opinion matters! So go ahead and say why some other language or feature is superior, just don’t expect or demand universal agreement.

All posts should also follow the [community standards](https://julialang.org/community/standards/).

Finally, as a matter of personal taste, I like threads/posts where I can either help someone or learn something new. IMHO, that’s what Discourse should be about: learning and helping.
