Where to go from here

Objectives

  • Understand when tools discussed in this episode can be useful

Instructor note

  • 10 min teaching/discussion

This episode presents a lot of different tools and opportunities for your research software project. However, you will not always need all of them. As with so many things, it again depends on your project.

Important for every project

  • Clear file structure for your project

  • At least consider the possibility that someone, maybe you may want to reproduce your work

    • Can you do something (small) to make it easier?

    • If you have ideas, but no time: add an issue to your repository; maybe someone else wants to help.

Workflow tools will maybe make sense in the future

  • In many cases, it is probably not needed

  • You will want to consider workflow tools:

    • When processing many files with many steps

    • Steps or files may change

    • Your main script, connecting your steps gets very long

When should I worry about dependencies?

  • Your code depends on multiple other packages

  • You want to avoid questions like: “What do I need to install to run your code”

  • You want help yourself running your code

    • After a few years

    • On a different computer

Containers seem amazing, but do I have use for them?

  • Maybe not yet, but knowing that you can …

    • Run Linux tools on your Windows computer

    • Run different versions of same software on your computer

    • Follow the “easy installation instructions” for an operating system that is not your own

    • Get a fully configured environment instead of only installing a tool

    • Share your setup and configurations with others … can be very beneficial :)

Keypoints

  • Not everything in this lesson might be useful right now, but it is good to know that these things exist if you ever get in a situation that would require such solution.

  • Caring about reproducibility makes work easier for the next person working on the project - and that might be you in a few years!