# 003 Internal
- 3 Intro
- About RSH briefly: some easy, some hard, etc
- hackmd
- This is published
- 5-10 rkdarst: Interiew with Simo Tuomisto: what happens if you don't control your dependencies?
- Who are you?
- What happens when someone releases software with messy dependencies?
- What are some of the most common pitfalls?
- What should people do to minimize these problems in the future?
- :53 10-15 bast: More about dependencies and reproducibility: what are the strategies?
- https://github.com/ResearchSoftwareHour/rsh-notes/issues/21
- Compiled languages: compiler, compiler version, MPI, libraries, CMake version
- Library depencies: libraries written by others or you
- how to package: apt/rpm, conda, conan, github, web address
- approach 1: vendoring, problem: license and divergence
- approach 2: composition
- Git submodules
- CMake: externalproject, fetchcontent
- approach 3: assuming that the dependencies are on the system
- detect dependencies
- make sure the versions match
- version hell
- conda
- "git grep http"
- Containers: Dockerfile vs image
- do not invent your own package manager
- output
- 5 rkdarst: Semantic versioning
- Semantic versioning
- Git hash into the output
- versioning for things too small to have meaningful versions
- 5 Q&A
===halftime===
- 5 how to talk about code snipets in email
- show how to mention and talk about code portions in email (github, gitlab, permalinks)
- Branches
- What about master vs exact commit
- 3 Interesting .gitconfig tricks: excludesfile and insteadOf
- `git config --global core.excludesfile ~/.gitignore`
- `git config --global url.git@github.com:ResearchSoftwareHour/.insteadOf rsh:`
- 15 rkdarst: minutes: talking about how we document, which tools, when we choose which and why
- MD vs RST
- pandoc, rst2html, github/gitlab interfaces
- From READMEs to generated HTML: , jekyll, sphinx&readthedocs, hugo, gitbook, MkDocs
- How much is right for your project?
- source code comments
- readmes
- apidocs
- written docs
- Richard asks Radovan: how do you make many small commits?
- 2 Contributing to RSH
- 1 Conclusion
- Epilogue discussion
## Buffer or next time
- 10 minutes: what did you learn recently that you are really excited about?
- we could ask each other and the audience
- 2 Radovan: tells Richard about Python wheels
- 15 Intervieuw with a RSE
- what are we going to talk about (roughly, just to place it thematically)?