# 005 Internal
- 2 intro
- 15: Richard: Interview with Sarah Gibson
- About your background
- What is Research Software Engineering? When and why did the term come about?
- [name=Sarah] Terms origins: https://www.software.ac.uk/research-software-engineers
- Why do we have people with the title of Research Software Engineer? What do you do?
- How does benefit researchers and science?
- Example (brought up by Sarah): Non-reproducible code for C19 decision-making.
- We want to start RSE as a service (RSE groups) at our universities. Any advice?
- Radovan would like to ask
- Binder
- briefly what it is
- what are the challenges running this service? how can the community help the binder team/project?
- what do you know now, that you wish someone had told you when you first started? ...
- If there was one thing you would like all researchers
(who write code/scripts or perform computations) use or do, what would it be? (tool, policy, practice)
- What would be the second thing/tool/convention?
- 10: Snakemake in the board-games-network project
- Why make is hard to use: https://www.gnu.org/software/make/manual/html_node/Quick-Reference.html
- First Impressions on Snakemake
- Syntax has more power than make
- Ability to interface with Python is nice
- Annoyances
- `--cores` needed, even in snakemake --delete-all-outputs
- Seems to break some standard unix abstractions, e.g. mtimes.
- removing files for rules that break
-
- Demonstration of Snakefile
- When would I recommend someone use this?
- If you actually need to automate a workflow, not replace file management
-
- 5 Q&A
=== Halftime ===
- 10 Radovan: Organization of experimental results when code evolves over time
- Eric Bach
- https://github.com/ResearchSoftwareHour/rsh-notes/issues/27
- encode version information in path structure
- encore version info in the output
- snakemake and friends
- https://dvc.org/
- disclaimer that i haven't used it yet, only read
- tutorial
- configuration of storage
- interesting looking features
- git-annex
- git LFS
- discussion
- 5-10 auto-formatting C++ code (question came up on Twitter)
- question came from twitter: Lukas Wirz
- clang-format
- show how it works
- nice to commit it to the repo
- how to take it into use? from manually formatted project to autoformatted
- automation inside editor or hook or pipeline/action
- what are the pitfalls?
- working with colleagues who don't like it
- possible to apply only one rule in clang-format?
- opt out instead of opt in?
- 3 min: richard's venv script
- Show it
- How should I distribute this? gist or own repo or dotfiles repo? What makes it most findable and reusable?
- Next time: how do we track our own config files?
- 3 Anything interesting you learned lately?
- Richard: always use `type -a` instead of `which`.
- Radovan:
- fd, ripgrep, exa, bat
- https://github.com/google/jax (I haven't tried it out but this is the thing I would like to try out if I had some time)
- conclusion
- Give us a "stumper" question
- Epilogue discussion
## Ideas
- 10 What's a `#!` ?
- Turning any script to an executable
- #!python
- #!/usr/bin/env python
- #!make -f
- #!
- Next time: how to make a python scirpt suitable for this
- 5 minutes Radovan
- probably shows Cicero unless I get an inspiration
- blub paradox