I quite often search on Julia Discourse for solution to my problems and from time to time I’m stuck with problem, is solution given before August 2018 is still good? Since Julia 1.0 change a lot of things, some good solutions for 0.x can be suboptimal or even quit bad in current versions. My problem is not that old code doesn’t running. If it had an error I know that is outdated and maybe not the best way to do things. My problem is that it can be not idiomatic and slow in comparasion to properly optimized code.
Fro this reason, I don’t know if I have good solution to my problem on the other hand I’m hesitating with opening this topic again, since if old solution is still good this is just creating mess on Discourse.
I don’t know if this possible, but I imagine that tag like “0.x” can be added to some topics if someone competent read it for some reason and find it outdated? A look at quite a few old posts and never seen such label, I appologiz if I just miss it.
I will be glad if someone have better solution to my problem.
This is a good idea, but manually tagging discussions may not scale very well.
Perhaps we could automatically
close all topics older than some duration (eg 2 years)
display a banner with a message for old topics (hey, this topic is old, it is possible that software moved on since)
but I don’t know what the discourse engine supports.
BTW, this is not only problem for Julia (the language), but also packages. Almost all actively maintained packages underwent some API changes in the last few years.
I don’t know how I feel about closing old topics. Just because something is old does not mean that it is stale. Also, occasionally I found older discussion gives some insights about know certain decisions were made. Another thing is that an old topic is sometimes revived and has a new life again.
I would think it’s ok just to tag or move old topics to a special area and somehow warn the reader (if possible). Unfortunately I don’t see how it can be done properly except doing it manually. But if we are diligent enough then we can look for some deprecated keywords and at least get rid of the ones that are clearly irrelevant.
Many old discussions are not out of date. I just looked up this pre 1.0 one yesterday: Ccall to libgsl fails. I could not find the information anywhere else. And I don’t have a private SGJ at home.
Closed topics remain readable and show up in searches.
I agree that some old topics are still relevant. There is clearly a trade-off here: some false positives are inevitable. FWIW, I would consider a warning along these lines innocuous:
This discussion is more than … (years/months) old. It is possible that code examples no longer work without modifications because of changes in Julia or packages (if applicable).
A few online newspapers have started doing this, with a little banner saying basically “Hey you do know this article is from 2016, yes?”
Probably I guess one of would need a discourse plug-in for this?
I believe many Julia users have problems with finding up to date information and catch herself on reading outdated material tenth time in the row. I think marker sings like “This is Julia 0.x” is good warning to everybody and maybe make us discussing some topics anew? Old topics as I understand will be visible as “use only as a last resort”.
I repeat the link to a discussion that began and had it’s last activity before August 2018 and 1.0 Ccall to libgsl fails
According the to the rule I quoted, this topic would be closed and marked as outdated. But, this discussion is not outdated in any way. In fact it is the only source of information on a relevant topic. It would be relevant even if subsequent changes in Julia affected syntax or semantics. But in fact it applies with no caveats whatsoever to the current master branch. Marking it in any way that might prejudice a reader regarding it’s usefulness or accuracy would be counter productive. Furthermore, the discussion about ccall and libgsl would benefit from further details or context. Closing it would be counter productive.
I agree that separating obsolete from relevant material online is a problem. But, solving it in an automated way is highly problematic, essentially impossible (… maybe a huge supervised machine learning project that covers online fora) Furthermore, leaving it up to moderators, votes, authority levels, a la stack exchange, is highly problematic, although it may be the best model currently.
There is clearly a trade-off here: some false positives are inevitable.
I’m not optimistic about this. But, it’s a good question. I’d like to see some statistics.
This discussion is more than … (years/months) old. It is possible that code examples no longer work without modifications because of changes in Julia or packages (if applicable).
To my eye it looks innocuous. Seems of marginal value to me. The date is usually the first thing I look at. Neither would it dissuade me from reading the libgsl post. Maybe it wouldn’t dissuade most people,… dunno … I guess I have inadvertently necroposted in the past. Requiring an extra click before posting to an ancient topic might not hurt.
I am most interested in archiving or flagging or whatever topics that are only of historical interest.
I don’t care too much about my concrete proposition, much more important to me is to discus how make sifting outdated information on Julia Discourse easier and implementing some reasonable solution at the end.
I know this not only from my experience, but more important from person that is programming in Julia in his day job, that constantly dashing into 0.x information is one of weak points of using it.
We do warn if someone tries to reply to an old post, but AFAIK it’s not currently possible to warn viewers. I like that idea, though, so I asked at meta.discourse.org here.
This would be especially valuable if we could customize the date/message so that it warns on all topics that predate Julia 1.0.
Reading that thread… wow. And now it’ll be deleted so if someone else has the same question they’ll have to run that gauntlet too. (I guess they’re embarrassed?)
They certainly have a different take on using their own software than we do, that’s for sure. In any case, one option proposed there would be to tag all posts prior to August 2018 as v0.x. Apparently it’s possible to have a theme component that styles different tags differently — and we may be able to add a banner that points folks to the release notes and upgrade guidance thread, while simultaneously warning them about the possible stale-ness.