I noticed in another question that work is underway to develop a palette for automatically uploading Mathematica images to StackExchange (and a "thank you" to those of you working on this--it will be very helpful and much appreciated). Is there a public repository for useful Mathematica code like that which has community-supported infrastructure similar to StackExchange (i.e., users can edit and comment about the code as well as vote on it)? I've occasionally found places where users upload code, but eventually these places become dumping grounds for junk and it becomes difficult to find the good stuff.
-
Apart from the Wolfram Library Archive?– J. M.'s missing motivation ModCommented Feb 11, 2012 at 15:56
-
1@J.M. I don't really find the Wolfram Library Archive to be very useful. I'm not sure why that is, but perhaps because there's no feedback from the user community. The code I cited in my question is an example of something I would never find on the Wolfram site because I wouldn't know to search for it in the first place.– CassiniCommented Feb 11, 2012 at 16:02
-
2The palette is already completely functional on Windows, and quite usable on Mac/Linux. I was planning to put it on GitHub soon. I don't like Git itself, but GitHub lets everyone propose changes to the code without needing to install Git or any other software on their own computer. It's probably the place with the lowest barrier to participation.– SzabolcsCommented Feb 12, 2012 at 16:27
2 Answers
Right now, it seems that Github is a good option. Apart from full-fledged repositories, which are free and unlimited if the code is public, one can create gists, which can be used for smaller pieces of code one would like to share. Gists allow people to leave comments.
This choice has the following advantages:
- GitHub has become a very popuar place to share code, for communities for many languages. It has been time-tested and there is no reason to not trust it.
- Repository is based on the modern distributed version control system (Git)
- One can indicate that the language is Mathematica, for both full-fledged repositories and gists. It is then possible to search for gists or repositories containing Mathematica code
In the future, we may want some more sophisticated functionality, such as advanced search based on tags and categories, etc, but for now, my opinion is that Github offers more than enough to satisfy the needs of our community. It is in active use in Javascript, Ruby, Python, and other communities, so I see no reason to not follow their examples. For particularly useful pieces of code, we may maintain a page here with the links to gists and repositories, at least for the time-being. This is not a final solution or suggestion, but this may be a good start.
-
I've heard of but am unfamiliar with GitHub, but it does sound like a good suggestion. It would be nice to know if a significant number of users of MMA SE would support this idea.– CassiniCommented Feb 11, 2012 at 18:55
-
By the way, thank you @Leonid for this and your numerous other answers. I've learned a lot from you!– CassiniCommented Feb 11, 2012 at 18:57
-
@David You are most welcome! I very much hope that the community will support the "GitHub way". Some of us already use it, and I think that this is a future-proof approach. Commented Feb 11, 2012 at 19:04
-
@Leonid: I agree. I tried to setup YouSource (a fork of Gitorious) myself and it is troublesome. Plus we would have to have some hosting place somewhere which would cost money. So GitHub is a good place probably. Commented Feb 11, 2012 at 22:35
-
@Rolf Sorry, I promised you to have a chat on that, and never did. I looked at it, made a few gists there, and need to put more stuff in, so I never felt like I know enough about it - but answered here since the question was asked. But generally it looks like a good place to put our stuff in. Commented Feb 11, 2012 at 22:40
-
There are sites akin to GitHub that are based on other DVCS's, like BitBucket for Mercurial. So if people don't like using git, that is an option.– David ZCommented Feb 13, 2012 at 0:55
What about just plain using a Wiki? That strikes me as the ideal. I think SE-style would work great because of the tag system.
Things like Github seem higher-threshold than necessary if we're just talking about relatively small snippets, plus searching through those systems is weirder, I think. (Also, it doesn't seem like Github actually supports Mathematica explicitly).