I wanted to discuss what categories we should have here. Of course, this can evolve over time. As a basis for comparison, Rust has two different Discourse forums:
Presumably we don’t want to have separate Discourse setups for language development and usage, especially since these groups have considerable overlap for Julia. I would propose these initial categories:
Meta: discussion of the forum itself (i.e. rename “Site Feedback”)
Usage
Beginner: beginner usage questions
Intermediate: normal usage questions
Advanced: advanced usage, verging on language and/or internals
Development
Internals: language internals (LLVM, src/*, etc.)
Language: language design
Library: standard library
Domains
Statistics: replacement for julia-stats
Optimization: replacement for julia-opt
Machine Learning
Linear Algebra
Plotting
Visualization
Imaging
…
The purpose of having different levels of Usage categories is so that people can subscribe to them separately. For example, @jeff.bezanson may not want see beginner usage questions, while I might be happy to see them and answer them now and then. Different subcategories for Development serve a similar purpose: a fair number of people don’t care about and won’t follow @jameson and @yuyichao getting into calling conventions, but do care about user-visible language design or standard library changes.
That’s really hard to define, and I think a Dunning-Kruger effect will ensure that this isn’t useful. I think having a general section is good, and moving discussions to specific domains will reduce the clutter considerably in a way that’s better than trying to impose a hierarchy.
I propose lumping together linear algebra with numerical analysis and differential equations in to one domain. Call it Computational Science, Scientific Computing, Applied Mathematics, or whatever other synonym you like. These questions usually go together which is why most sites (like StackOverflow) union these together.
Plotting
Visualization
Imaging
Are there really enough questions on julia-users for these to warrant 3 separate categories? There are lots of plotting questions but I don’t call as many on visualization / imaging.
My understanding is that people don’t necessarily categorize their own posts – that’s what admins do. The vast majority of usage questions would be “normal” – only very basic intro questions would be “beginner”; only very high level questions would be advanced. Maybe it doesn’t make sense to try to separate, but it would be nice if there was a way for people who aren’t interested in getting the full barrage of julia-users traffic to still see some set of relevant questions. Maybe there’s another better mechanism for that though.
The domains could certainly be adjusted in granularity, and I certainly buy that Plotting, Visualization and Imaging should maybe just be one category, but rendering large amounts of MRI data and making nice stats plots are pretty far apart even though they’re both ways of visualizing data.
And while I do agree there are differences between plotting, visualization, and imaging, I think if domains are split too much then you will have some domains with very few posts which will discourage their use. I think domains should be try to be as specific as possible, while ensuring they’re general enough to have at least weekly activity.
Yeah, I think Chris has a point that it’s probably hard for users, (particularly new users), to categorize their own questions. It’s much easier, however, to choose a specific domain that my question belongs in.
I’m also in the camp of “less is more”; i.e. let’s start out with just a few categories and allow them to grow over time. To start out, I think we have just:
Usage
Internals
Domains
Statistics/Machine Learning/Data Manipulation
Optimization
Numerics/Linear Algebra
Visualization
One thing that strikes me is that the “domain” categories probably won’t correspond one-to-one to the various “JuliaX” GitHub organizations out there; I mean that in the sense that we probably don’t want that many separate category forums, particularly when things like JuliaML, JuliaStats, and JuliaData can easily be lumped together. Perhaps that’s just something we let evolve naturally as the organizations themselves evolve.
Alternative names for Internals could be Language Design (though that may sound like too much of an invitation for bike-shedding ), or Base Julia, or just Dev.
Mr original intention was to have quite a flat forum, with one place Development for discussion about the development of the base language and compiler, General/Usage for discussions about how to write Julia code, asking questions, and as a general discussion forum about the Julia ecosystem.
We can also encourage categorisation from users and disallow uncategorised posts. Tags are an alternative way of organising.
What do people think about Domains? I was originally a bit confused about its meaning, maybe Topics or Communities would be appropriate.
I’m not sure about “Communities” since I may want to ask a GPU question regardless of community, no? To me the purpose of having these categories is to allow people to opt in and out of discussions of certain kinds of subject matter.
Meta - I think “site feedback” is a clearer name. There’s no need (afaik) for abbreviating the category titles, and meta makes me think it is for meta-programming.
Development - I’m not sure I see how Language differs from Internals vs. Library, so I would leave it out. But I would add Packages + Ecosystem and Deployment.
Other categories that don’t appear to be covered but might be useful include announcements, meetups (social, local, or community might be other names for this), and jobs.
The difference between Internals, Language and Library is pretty clear to me:
Internals: stuff that is not visible from Julia at all.
Language: stuff that exists in the core language before loading sysimg.
Library: all the stuff we define and load when building sysimg.
Language and library affect everyone; Internals should only be visible in terms of performance and memory usage. Maybe there’s no point in distinguishing Language from Library, but there’s a lot of people who don’t care about internals at all.
Hi, the move to discourse has been brought to our attention at BioJulia as possibly replacing our Gitter’s and so on. I’m wondering you think focused groups like BioJulia, JuliaStats, JuliaDocs, JuliaGPU and so on should follow this trend and have their own discourse setups, or whether all of them should simply come here and do everything on julialang.discourse under the domain (btw can we have a Biological Science domain on here pleeeeze? ).
In my opinion I would like to see the communities coming together in one place, but it is up to the communities to make that decision. Speaking for JuliaGPU we are planning to promote and use GPU - JuliaLang.
Thank youuuuuu .
We’re currently discussing this over at: BioJulia/Bio.jl - Gitter, and it’s been asked is there anything say Gitter can do that discourse can’t right now? I expect Github integration is probably possible…
Oh would you like me to give a bit of BioJulia blurb to put in the “About This Category” for Biological Science?
Discourse is more of a forum, long text discussions (with formatting, code-highlighting, etc…), whereas Gitter is more of a chat-room (ephemeral?). What level of Github integration are you looking for?
If you send me a PM with a blurb I can update the category description.
I like the general structure and agree that we should add an announcements channel.
I have one question: How should one deal with smaller topical groups? There is a small JuliaGeo community with a github organization maintaining a few Geoscience related packages and a low-traffic mailing list which is mostly used for announcing geo-related packages. Would this deserve its own Geoscience domain or should we create a geo tag and announcements and questions would go to the general list.