I see that the community has found ways of sharing a new package that they have registered via discourse threads. They tag the thread with the announcement and package keywords and whoever is interested will follow the tags and get notifications.
What if instead of this manual process, we had an integrated service creating posts in discourse? A bot that creates a post for every newly registered package. Every time I go to pkg.julialang.org I discover a new cool package that would have saved me a lot of time if I knew of its existence.
For me, the ideal announcement explains motivation, implementation details when relevant, and gives examples. For updates, they talk about what has changed, etc, again with examples. This way I get some perspective of improvements and deprecations since the last release without going through the changelog. I hope that even if automated announcements are implemented, people continue to write informative announcements of this kind here.
I agree the current approach is super nice, perhaps I have chosen the wrong words in the question. I am not proposing to replace the current approach, just add to it. It is good when developers take the time to post on Discourse and write a beautiful rationale for the changes, that is too ideal though.
Besides the current approach, I believe we would benefit from knowing every new package out there. It is also a way of motivating package authors because they will get instant feedback.
Thanks @ChrisRackauckas, I tried that in the past, it is just too much traffic. I am not interested in new tags, but only newly registered packages (i.e. v0.0.0).
Thanks @dfdx, that would be awesome! I would say keep it simple, the RSS feed could go first in your priority list, the rest is decoration. Also, the main feature we are discussing here is being able to filter out normal PRs from PRs that introduce a new package. Perhaps you could compare the diff to see if any new folder was created by the PR? Something on these lines.
Some info on this topic is already available here: http://pkg.julialang.org/pulse.html. This shows both new and updated packages in the last 7 days, and has links to the packages if you want more info. How often is this updated?
I decided to start with parsing PRs title and checking if it starts with “Register” - it requires a way fewer API calls and still seems to be quite reliable. We can improve it later if needed.
Any suggestions on how to name or where to place such a service?
Hosting is not an issue - I can just put it to one of my already running servers. As for the name, it might make sense to integrate with some existing package listing. I can provide an API so that simple redirect would be enough to integrate such an RSS feed. (cc: @djsegal)
BTW, I’m somewhere 80% done with the first version, so expect to see it at the end of the week.
Depending on your spare time and wish we can go 3 ways:
Client-side integration: you can just add a <link> element pointing to my RSS to your main page.
Server-side integration: you may want to provide your own endpoint (and thus nicer url like “juliaobserver.com/rss”), and then on server side call my API.
Or you may want to rewrite RSS feed code to Ruby to avoid dependency on 3rd party APIs at all. You will only need to make a few more GitHub API calls, parse results and build XML document, and I can provide all the pieces and knowledge I’ve got so far.