Again, in the big wave of emails, this one also got misdirected:Hi everyone,I am looking for people who want to help me, in one way or another, bringhundreds of new first time contributors to sage. If I do not find enoughpartners, I will look for other more suitable python-based projects.The idea would be quite simple: teach python programming around somemathematics (such as combinatorics) and simultaneously produce code thatwould be useful for research and worth including in sage. Two catches:students are given individual problems to work on, and the course is taughton Coursera. Motivation for the students would come in various ways:internships, for instance. Quality of the code would be ensured bypeer-testing the programs.
1) Put "Merged in" back.
2) Fix just how much crazy stuff shows up in "git log", presumably by merging things differently or with different messages or something.
As another example, in attempting to review one patch which relies upon the new Maxima update
: where that is, one cannot learn easily from git log, since$ git log | grep maxima | less$ git log | grep Maxima | less
$ git log | grep 13973
I don't know why the description of a ticket is ending up in the log. We want a description of what actually was done, and the description in the ticket is often full of brainstorming etc.
For instance, for this one I guess I need to first do #13973, and then somehow add #13712 on top of it
The argument that mailing patches "doesn't work at that scale" isn't
convincing, since Linux kernel development is much bigger than Sage
development, and they mail patches around
Before switching to git, we had the policy (enforced by commit hooks, if
I recall correctly) that the commit message mentions the ticket number.
code: How can I easily find that discussion?
(the commit's sha1 hash depending on the commit message),
The main complaint was that the entire ticket description is ending up in the
log. Don't you think that a ticket description has a different purpose
than a commit message?
Can someone point me to instructions for how to install (and use) "git trac"?
If I understand your complaint correctly, the problem is that
re-compiling after switching branches is too expensive.
If I understand your complaint correctly, the problem is that
re-compiling after switching branches is too expensive.You *NEVER* need to recompile everything when switching branches. There is a trick : you should never checkout a branch but instead pull it (merge it) with your current version of Sage.
This is the "gtmp" function I use for almost everything (and in particular for review). It deletes then create a "tmp" branch in git containing the remove branch you are interested in (assuming that the local branch 'd' points toward the release that you use, i.e. develop in my case)
function gtmp{cd ~/sagegit checkout dgit branch -D tmpgit checkout -b tmp d &&git pull trac "$1"}I only type "gtmp public/branch_name" and I can review/test a branch, no recompilation involved as only the files changes in the branch have been modified.
Hmm, I was kind of going on the "avoid unnecessary merges" thing.
Also I am scared about merge conflicts, which I do not know how to handle because I don't have a "merge editor"
Volker, is there some similar functionality in "git trac"?
Hmm, I was kind of going on the "avoid unnecessary merges" thing.You can of course do whatever you want on your computer as long as you don't upload it...
Thanks for the thoughtful replies. It's a fine line between being critical of the idea and dismissive of the students. Please everyone limit yourselves to criticizing the idea, as students might come to this thread later.I don't think one should dismiss the students. Look at the Mathworks competition (another thing MATLAB does!), as it is described in Nielsen's book "Reinventing Dicovery". There is a history there of microcontributions on code leading to optimised code.There is also two assumptions in your emails:1) that they will all have just learned python: the course might be just the right blend of mathematics and CS so that some participants actually a background in python. On top, one can modulate the difficulty progressively to make sure to attract some students who actually have a strong python background already (in MOOCs, there are always some experts lurking)2) that I would let them choose the topic. Not so. For the specifics of how the course will be run, I need to bring the discussion out of the mailing list.As William points out, small contributions are important (example in docstring) and the process is currently suboptimal.I would add that other small contributions could be important, such as semantic information coming from professional mathematicians who have just learned utter basics of python, to have a mere sense of how the decorator they have just added will affect the method itself. For this, existing annotation tools suffice.PaulPaul-Olivier DehayeSNF Professor of Mathematicschat: paulo...@gmail.comtwitter: podehayefreenode irc: pdehayeOn Thu, May 29, 2014 at 3:40 AM, rjf <fat...@gmail.com> wrote:
On Wednesday, May 28, 2014 3:31:08 PM UTC-7, Paul-Olivier Dehaye wrote:Again, in the big wave of emails, this one also got misdirected:Hi everyone,I am looking for people who want to help me, in one way or another, bringhundreds of new first time contributors to sage. If I do not find enoughpartners, I will look for other more suitable python-based projects.The idea would be quite simple: teach python programming around somemathematics (such as combinatorics) and simultaneously produce code thatwould be useful for research and worth including in sage. Two catches:students are given individual problems to work on, and the course is taughton Coursera. Motivation for the students would come in various ways:internships, for instance. Quality of the code would be ensured bypeer-testing the programs.
William Stein has already responded to the major issues regarding theSage development process, but I would just like to comment on thisparticular aspect of peer-testing. Having two or more people who havejust learned python and do not know much mathematics "peer review"code does not lead to much of an ensured level of quality.Certainly there are other clumps of python aggregating code that are notas daunting as Sage. Numpy and Sympy come to mind, but I doubtthat they would really relish a MOOC's-worth of naive contributions, whenit is pretty much guaranteed that a very high percentage would, undercareful scrutiny, be duplicative, erroneous, poorly coded, or all three.It's a nice thought to get many hands to write code free. But impractical,in spite of Eric Raymond's "Cathedral and Bazaar" essay. "All bugs are shallowwith enough eyes" (or whatever the wording is...) is perhaps plausible if the systemis itself shallow (like linux).Where I differ with Raymond is I think there are not enough eyes on the planet to make somebugs shallow in a "deep" system-- one that does (say) sophisticated symbolic mathematics.If extra eyes were all that were necessary, there would be no long-standing mathematicalconjectures.If you do not know what Coursera or MOOCs are, you are welcome to take myupcoming courseIf you are interested to play with a MOOC platform yourself, you might wantfirst to watch the videostream of the 2pm-3pm slot of this conference I amco-organising on Tuesday:as it will help you assess the technical challenges.I am looking at a start date for the course of around October-November, andto bring the discussion off the mailing list (to private) so as to keep anelement of surprise for the students.Let me know!PaulPaul-Olivier DehayeSNF Professor of Mathematicschat: paulo...@gmail.comtwitter: podehayefreenode irc: pdehaye
everything, as for rebuilding docs nothing short of "make distclean &&
make" works.
Right, but the problem is that currently I am uploading it ;-)
Did someone meanwhile track down what exactly went wrong / broke
docbuilding (such that it hangs)?
I hope no one minds my resurrecting this, but after having spent a lot of time waiting for Sage to rebuild itself 3 or 4 times, I just discovered this hint, and would like to suggest it make its way onto http://www.sagemath.org/doc/developer/trac.html#section-review-patches, and all other similar pages in the developer guide.If that's already in the works, then never mind me; just carry on...john perry
On Saturday, May 31, 2014 8:33:14 AM UTC-5, Volker Braun wrote:I've implemented a version of this now. From the README:* Review tickets with minimal recompiling. This assumes that you arecurrently on the "develop" branch, that is, the latest beta. Justchecking out an older ticket would most likely reset the Sage treeto an older version, so you would have to compile older versions ofpackages to make it work. Instead, you can create an anonymous("detached HEAD") merge of the ticket and the develop branch::$ git trac try 12345
yes it is...