Would any devs have interest in making some tutorial videos for new devs? I will also discuss with the @SGB to see if we can get resources to help if needed.
Possible topics for stan-math
- Overview of stan-math. What are the different folders - fwd, rev, mix, opencl, prob, prim, etc.
- Going in depth on the templates and stan specific stuff. Also stuff about arena and how to use that
- Common problems and how to fix them. Such as template getting called multiple times (unit test failure).
- Getting started and installation
- Overview of Stan’s use of Ocaml.
- Adding new functions and distributions (univariate and multivariate)
- Common issues and how to resolve them
Other topics include overview of Stan’s HMC, VI, and adding functionality to cmdstan.
Is there a reason to have these as videos rather than text? It seems like a video would be harder to amend if it goes stale
Good point and may suggest a video could be good for getting started but stop there. I’m hoping to generate some discussion on this but ultimately the goal is to get new contributors onboard the project.
I think there are some areas - like “How to install OCaml and run the tests locally” which are pretty stable, but others (such as “How to add a function”) which will go stale quickly if a file name changes or something gets refactored. It’s probably good to do both, and link to any videos from text explanations.
Something worth discussing is a sort of ““code review”” for this kind of thing. For example, after getting up to speed myself I tried to write some “Getting Started” doc for stanc3 here. The issue is, the only people writing or reviewing this were people already on the inside. I would love if someone else, who didn’t already know it, read through/tried to follow it and gave feedback.
An idea that was discussed at Numfocus was doing contributor sprints. We would host a day, couple days, or week where we have a list of issues and topics that we want to get through and have workshops where anyone who has ever wanted to contribute to Stan can get started.
They did bring up that these involve a lot of upfront work from the current devs in getting docs up to date, putting together material, and being around to do the workshops. It was also unclear if this resulted in actual new devs. However, it was said that new devs who come after benefit from all the update docs and material that was made for the sprint.
I would love this because I know that I’m lacking in a number of c++ areas and I don’t know Ocaml at all. Maybe something we could put on in January after the holidays but before things get busy.