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.

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.
 

> 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.
 

> 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.
 

> What are the differences between Sage's use of python and vanilla python? 
>

None. Sage uses a preparser via IPython, which can amount to differences 
between writing true Python code (a .py file) and Sage code (a .sage file).

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".
 

> 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 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).

Best,
Travis

-- 
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.

Reply via email to