---
# System prepended metadata

title: 003 Internal

---

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