From ae41daf88f81b079e90f4da0d626eade08003498 Mon Sep 17 00:00:00 2001 From: Thomas Pfau Date: Fri, 30 Aug 2024 08:00:11 +0300 Subject: [PATCH] Reorder and change importance of Where to go, with clearer instructions of what should be done in every project --- content/where-to-go.md | 50 ++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/content/where-to-go.md b/content/where-to-go.md index b524992..5e15db6 100644 --- a/content/where-to-go.md +++ b/content/where-to-go.md @@ -11,41 +11,33 @@ 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 - * ... +- 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 + - You are still collecting your input data + - ... ## 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 :) +- 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 :) + +## Important for every project +- Clear file structure for your project +- Record your workflow and write it down in a script file. +- Create a dependency list and keep it updated, optimally in an environment file +- 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. ```{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.