# 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)?