Speaking only for myself, I would absolutely not read an “unsifted” category looking for ideas that are ready to “promote”. What’s the point? The only reason for an “unsifted” category is so that I don’t have to read it. And if the people in the “unsifted” category get to decide what’s ready to be promoted, I don’t have a lot of confidence that the vetted category would be worth following either.
Fair enough, and “shielding”, e.g., core developers from the flood of daily ideas is very much the point. But presumably there is a third category of people on this platform who don’t carry the maintenance burden of being core developers, etc., but nevertheless understand what makes ideas viable and ready for serious discussion. I don’t know how these people would be identified (automatically).
I have no idea where that is.
And besides that, sure, putting all the ideas in one place won’t solve the problem of repetitive topics and we will have the monthly request to add exceptions in function signatures. Yet making all the evolution ideas happening on this site, from now on, searchable at the same place, will help. Case in point: my yaml thing.
I appreciate the search for a solution - and the fact that your proposal keeps all ideas separate from the rest - but I don’t think adding another category of people, whose nomination would need to be managed, is a good solution. It would turn into more paperwork.
I’m maybe opening up to the idea (pun intended) of adding expectations to a pinned explanation topic at the head of the section. But without the threat that your thread will be moved away.
I think the trusted level system that already exists automatically as a builtin feature of discourse is a decent enough proxy. [1] Moving topics is already something that “mods” don’t have to do themselves. This is somewhat of a pet-peeve of mine that is similar on StackOverflow: A significant amount “moderation” work is not being done by moderators. Saying that a new split into two categories means more work for “mods” doesn’t have to be true.
I am less sure if there is a good way to create a topic that TL3 users can move a topic into and that everyone can contribute to, but lower trust level users can’t create topics in. But also, I don’t mind the latest policy of just moving incomplete Ideas threads into Python Help. It still creates a bit of noise in the Ideas category, but I think if that policy is properly executed it shouldn’t be too bad. What I learned from the last incident is that I need to first leave a comment, and then move the topic :-/
Ofcourse, I am biased there, since that would include me in that group of people ↩︎
This process would signal that the thread is being moved to another category. If the original poster doesn’t respond within a short period, the thread could be moved to the correct category.
If it’s my thread you’re mentioning, the problem was that an ideas thread was moved to where it had no business to be, a comment explaining what had just been done wouldn’t have solved anything : I did get a notification about the move anyway, even though you need to know Discourse to understand it. You have every right to believe that
is a good idea, the problem is that on its face it makes no sense to anyone who reads the description of the Ideas category - which, given all the flak it’s taking, still reads what it reads - and so will generate more incomprehension and arguments. (And I’m not blaming you for it.)
I mean, I said pretty clearly how I’m against gatekeeping Ideas at all, but if you do it (and apparently y’all already started doing it), you have to make the rules clear. Moving ideas from one part of the website labeled “changing python goes here” to another part called Help is the opposite of that.
Have you all realized that the Help section has a pinned post explaining how that section works, and the PEP section as well, but the Ideas section does not ? Don’t you think the first step should be to explain what’s expected from ideas providers, the baseline of what can go in the stdlib, the zen of python maybe, and the sources of former proposed ideas ?
It will certainly not completely solve any issue, but I think adding one and referring to it in relevant threads deemed to be low-quality should be a first step.
Yes, which is why it has been suggested numerous times before in this thread to add one. There just hasn’t been a clear consensuses on what it should say and noone has asked moderators to create the post. Again: Do a bit of research. discourse has a search function that easily allows you to find all the previous times someone mentioned a pinned post in this thread. (or did you do the search and still decided to formulate it like that? That seems a bit rude…)
No, I didn’t, and I should have.
But in any case, that should be the way forward : establishing exclusion rules without explaining them in a pinned post seems absurd to me, and establishing exclusion rules without first trying the gentle way, by adding advice and expectations in the pinned post, seems unnecessary.
I think everyone is in agreement that the expectations need to be better explained. Perhaps we can move on from there?
WHO is in agreement? I don’t see very many people actually posting in this thread. For example, the only core dev I’ve seen post here is Paul and I’m not convinced that you can speak for him in that “everyone”.
Everyone participating in the thread, at least?
I was mostly just (desperately) trying to move this conversation along from endlessly re-litigating the movement of one thread.
Commendable goal but I doubt it’s going to succeed. This thread has become an echo chamber.
I have a few thoughts about this.
The first thought is that maybe to try to think what to do about the problem we can think about why the problem exists. Why is the Ideas message board more full of poorly-researched/low-quality/low-effort ideas than the old mailing list was? Is it just because more people can figure out how to post on the forum than could figure out how to join a mailing list? Is it that the Discourse site design puts the different sub-forums on an equal footing, so once you’re posting it’s easy to slide over from Help into Ideas? Is it just that the topic description (the “Do you want to change something in Python” thing) seems to suggest too much openness to any whim?
The second thought is that I do think trust levels/reputation/etc. can be a way to handle this, but I’m not sure if Discourse has enough granularity for maybe the best way. But like, what if there were just some simple cutoff requirements before someone could create a post in Ideas? Such as:
- Account was created at least X months ago
- User has read at least Y threads in Ideas
- User has commented on at least Z threads in Ideas (and/or received at least K likes on such comments)
The idea (har har) being that perhaps one source of “noise” ideas is that they come from users who haven’t really read the forum much to see what kind of stuff is posted and what typical reactions to it are. So including a sort of forced waiting/learning period could be helpful.
Like I say, I’m not sure if Discourse would let us set specific criteria like that. But maybe less granular ones would be possible and would still have a salubrious effect?
My third thought is: how much of the problem is that ideas are “low quality” or “poorly researched” in general, and how much is that many posters here simply are unaware of a few specific FAQs? I don’t read this forum quite as closely as I read the old mailing list, but my impression is a fair amount of the dissatisfaction is due to repeated posts that make the same mistakes, such as:
- Requesting that an existing third-party library be added to the stdlib
- Requesting that a feature from another language be added to Python, without much reasoning other than “this other language has it”[1]
- Duplicating an idea from a rejected PEP[2]
- Proposing a syntax change that meets only very narrow use case (like
1..10
for iteration) and/or is simply a respelling of existing syntax (e.g., some alternative way to write a lambda) - Proposing something that egregiously breaks backward compatibility
At the least, it would probably make sense to update the pinned post in the Ideas category to mention these pitfalls, and having such a FAQ would make it easier to quickly curtail decisions by saying “Please see FAQ #1”[3]. Ideally (har har again) it would be possible to have some kind of “template” similar to what exists on some Github issue trackers, which explicitly throws up hurdles in the post (like “expected output”). For our case, these could be stuff like “Did you search the list of PEPs for similar proposals?” or “Are you suggesting an existing package be added to the standard library?”
Of course, people might not read all of that, but at least foregrounding it might divert at least some potential posters towards things to research more.
Relatedly, I don’t think it’s a good idea to try to separate ideas based on how “baked” they are (or else I just mean something different by “half-baked” than other people maybe do). When I think of an idea that’s not fully baked, I think of one that has various ramifications that haven’t been fully thought through. Many such ideas are actually good and worth discussing to explore those ramifications, and I think Ideas is the right category to do that. The problem (or at least a more tractable problem) is ideas that have certain known ramifications — known to many readers here, but just not considered by the person posting them (e.g., breaking backward compatibility).
that is, considering the feature primarily in terms of how it works in the other language rather than how it would work in Python ↩︎
While it would also be nice to catch cases that duplicate an idea that was proposed here or on the mailing list and never reached the PEP stage, realistically I think that’s a lot harder to ensure. We can of course ask people to search, but searching a big forum and a dormant mailing list is a much bigger ask than scrolling through a finite list of PEPs. ↩︎
This can sometimes seem unwelcoming but I get the feeling that’s sort of what some people want in this case. ↩︎
Please don’t quote this suggestion of mine out of the context I provided.
The proposed “What ifs” category is meant to specifically address the second problem I pointed out, that there is likely to be less participation in the discussions of less-researched ideas if they are mixed with the large number of other regular Help posts asking about using Python as it is, for the same reason why there is less participation in well-researched ideas when they are mixed with less-researched ones right now.
If we lump less-researched ideas into the Help category, then those who are interested in any ideas to make changes to Python would start ignoring idea posts in the Help cateogry as a result because Help is too spammy to them.
And I also made an alternative suggestion of a “Proposal” cateogry, if a “What ifs” category sounds too casual:
A “Proposal” category above Ideas, where people submit well-researched ideas that are able to answer a certain predefined set of questions.
The point is that I think there is a good number of us who are always interested in reading about potential ideas for changes to Python but may not necessarily have time to go through every Help post to discover them. It’s okay to us for some of the potential ideas, after discussions and clarifications, to turn out to be XY problems or the Dunning-Kruger effect, as long as the potential for changes is there.
If you’re looking for previous proposals, Python Help is a great place to check, as many Ideas threads have been moved there.
Moving Ideas threads to Help is standard practice. I don’t think adding another general/discussion category will make the current situation any easier.
Example: Search results for 'propos #users' - Discussions on Python.org
Results:
Fun thought. We have string concatenation, so what about the opposite? I was brainstorming how str -= x could work, and considering the purpose of .[l|r]strip(x) which would handle removing characters from any/either side, I think the syntax should equal the same as str.replace(x, ''), as there’s currently no shortcut for it. I would accept either the exact same, or kind of like strip(x) where x is interpreted as a list of characters and not a full match.
Have you considered using a dictionary instead? Also I don’t think you’d ever want to actually call namedtuple inside of a loop, the performance of that will probably be pretty bad.
Python MRO is a linear ordering of the base classes that is used to decide the order in which inherited methods are overridden. As mentioned in @guido’s blog: Basically, the idea behind C3 is that if you write down all of the ordering rules imposed by inheritance relationships in a complex class hierarchy, the algorithm will determine a monotonic ordering of the classes that satisfies all of them. If such an ordering can not be determined, the algorithm will fail. Unfortunately, sometimes ev…
This is somewhat me thinking out loud of a slightly different way of removing the GIL. Whilst avoiding some of the downsides mentioned for @colesbury 's PEP703. I’m trying to propose a design, not an implementation. There are many ways of building something like this. These things are typically complex in reality, and require many hours to get working well. Also worth noting that post this from a random guy rambling on about performance, without any code or numbers backing him up. I somewhat w…
in Python, “A” + “V” = “AV” but “AV” - “V” produces an error. seems like in a world of NLP, python should have more string operators (-. +, etc) example xyz = “the guy is a turkey” current python = just another immutable string strings like xyz shoud have methods like 'xyz.author" xyz.date xyz.true.opinion etc just my two cents… thank you, James
Hi all, Is it feasible to add a bound parameter to ParamSpec? Sometimes, manually specifying the bound can greatly reduce the difficulty of using ParamSpec. For example, I have a base class defined like this: class IntView: def __init__(self, init_data: int): ... Then I want to inherit IntView like this: class RangedIntView(IntView): def __init__(self, init_data: int, min_value: int, max_value: int): super().__init__(init_data) self._min_value = min_value …
Let’s discuss that in a separate thread: Add pinned post in ideas
If this is so, I suggest adding one more tag “Ideas” to be able to filter ideas in “Help” section.
If you’re looking for previous proposals, Python Help is a great place to check, as many Ideas threads have been moved there.
No it is not. If I’m looking for previous proposals I should be looking in a category made for them, not in the Help category that is made for posts asking for help using Python as it is.
Moving Ideas threads to Help is standard practice.
Just because it is a standard practice now it doesn’t mean it makes sense, as pointed out in the problems I outlined previously.
I don’t think adding another general/discussion category will make the current situation any easier.
Why not? Adding a clearly defined category will certainly help users find what they need more easily.
Example: Search results for ‘propos #users’ - Discussions on Python.org
A substring search using the keyword “propos”… seriously? For every idea post with the keyword “propos” there are easily more than twice as many idea posts without this keyword.
Why make things artificially hard when the forum already comes with the facility of categories to easily um, categorize posts?
If this is so, I suggest adding one more tag “Ideas” to be able to filter ideas in “Help” section.
That will theoretically make filtering easier, but I recall my days as a newcomer to Discourse and I did not notice that there is this tag option until many posts later, so I think many less-researched idea posts will still be made without this tag and get mixed with regular Help posts. It’s worth a consideration if a new category is too much though.
Also I think notification settings can only be based on categories, not tags, so we still need a separate category to maximize participation.
Do we really want to maximise participation, though? Surely the ideal is that people don’t make “drive by” or badly thought out proposals in the first place, and every proposal is of a standard that’s reasonable to post directly to the Ideas category?
The posts we are trying to separate out here are basically of two types:
- Posts by people acting like Ideas is a “feature request” list, where they can simply post “it would be nice if Python did X”, and then wait for someone to take that idea and implement it.
- Posts by people who have an idea and want help getting it into a form that’s suitable for posting in the Ideas category.
(And yes, various shades in between those two extremes).
The first type, I’m not sure we want at all. At best they can be posted somewhere looking for a champion who will take the idea forward - and that’s essentially a request for help geting the feature added to Python.
The second is absolutely a help request - it’s asking for help with navigating the processes involved in getting a feature added to Python, but that’s just as much a help request as a coding question.
So I still think these types of post belong in the Help category. The problem is how we help the posters understand that fact.