Travis, On 09/21/2018 07:51 PM, Travis Scrimshaw wrote: > Hi Andy, > It would be great to improve our methodologies for > recruiting/training new contributors and developers, and I am happy to > hear you are willing to work on this. Thanks. > > I'm a casual user of sage and python. I know a little of both, but > far > far from expert. There have been a number of very minor bugs that I > could fix, but was stymied because I don't know, or have > forgotten, how > to debug sage code, how to find the code be called etc. > > > That seems a little contradictory IMO. If you know they are (very) > minor bugs, you already (mostly) know how to fix them. Although I > might have a different definition of minor than you for this.
By minor I was thinking of problems that don't require a high level of mathematical sophistication nor expert level python skills. Small annoyances that should be fixed. For example the LaTeX rendering bug I mentioned a couple weeks ago. That one might be more involved, but hopefully that conveys what I was aiming at. I don't have the skills to handle core sage development, but I might be able to help with simpler aspects. > To the regular sage developer these are quite minor issues, but > they are enough to stop me from pursuing issues further. > > I'm a C++ developer, so general concepts are not the issue, it is > sage/python specific things that I need help with. > > I propose adding a section to the sage developer guide that address > things like: > > How to setup a testing environment that won't interfere with my > installed sage. > > > Technically that is impossible because you have to modify Sage to test > your development changes. However, the practical answer is git already > provides this for you. Just make your changes in a new branch. I vaguely remember some kind of python sandboxing system, the I'm not sure if that would apply here. > > How to debug code on the command line. > > How to debug in code in Jupyter. > > > Without modifying the source code (which you cannot do from either of > those options), all you can really do is isolate a MWE. > > > Are there tricks to sage development that make it simpler? > > > I'm sorry, but that really sounds like "I want to get really good > without practicing". I'd guess the word "tricks" was objectionable. What I meant was techniques like locating the source using funcName? Now that I know that exists, I can add it to my "practice". Discovering those though google searches takes time. I'd rather have a catalog of them in a known place. Sadly my memory is not getting better with age. Having one place to check speeds the process. > > How to I find the code being called? > > > %prun is reasonably good for that. The foo?? is also very useful for > looking at a particular block of code. > > Which python debugger are best for sage? > > > This is bound to have lots of bikeshedding or just be pdb. I had to look up bikeshedding :) I simply wanted to know if there are alternatives that sage developers find useful. > > > I can write those sections, but I will need help and direction > from the > community. My goal is to make it dead easy for people like myself > to fix > minor problems. Some of the above are probably generic python > questions. > However, having them addressed here makes it more likely the > casual user > will contribute. Even if all the doc does is to provide links to > python > sites, that is helpful. > > > From my experience, the biggest issue that prevents people from fixing > bugs in Sage is getting used to our development workflow and learning > how to work with git (and more generally, version control software). > This is the part where we need to focus on more. I think people are > fairly adept at finding where they need to fix a bug, although this > could be improved as well (in contrast, finding the correct spot where > to add new code to Sage seems to be more problematic). > I use git regularly. It does take awhile to learn. I can't really speak to the rest of the process. Thanks, Andy -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.