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.

Reply via email to