Questions and notes from workshop day 4

This document contains the shared notes activities, some direct identifiers have been removed.

Sep 29 - Day 4 morning - Reproducible research

Icebreaker

  1. Have you heard the sentence "hmm... works on my computer"? What does this mean in practice? How do you solve this problem?

    • That very often, they are using a different OS or just OS version and some library that was deprecated is still present on the machine and I can't get it to work...
    • Different environments... Solution; use uv (for Python) and maybe Docker containers :)
    • This is happening to me a lot at work. I'm trying to document everything so that other new people can figure out why things don't work on there machine. But its difficult to figure out whether its the os/env/data version etc...
    • Many times, not by me. XD
    • Many times, and then I have to go and try to make it work for both of us / all of us (often a Windows-Linux incompatible, different versions of R/python)
  2. What are your experiences re-running or adjusting a script or a figure you created few months ago?

    • Yes and the pain was real (thank you reviewer 2)
      • Well, reviewer 2 had a point :)
    • That unless i documented my setup really well, things don't work as expected or I don't remember how to use my scripts
    • Not always so easy.
    • If it is a couple of months go, it usually works, but if it was a year ago - very little chance of it working properly again :(
    • hashtags need to be consice, not novels, yet have enough infomation, the balance
  3. Have you continued working from a previous persons script/code/plot/notebook (or your own, a year after you wrote it)? What were the biggest challenges?

    • no documentation of Python dependencies at all...
    • updating libraries etc due to security issues -> something in code doesn't work/needs fixing
    • Going through and 'modularizing' one long script... very very long one
    • Missing comments or details.
    • Finding all the input and output files created by the script (often throwing an error, as paths are set up for my colleague's machine)
    • Code missing parts or scripts, so it needed more work to be able to restore it

Introduction - How it all connects

Your questions here:

Motivation

Organizing your projects

Your questions/comments here:

Excursion: Reproducible publications

Questions continued:

Recording computational steps

Questions continued:

Workflow solution using Snakemake

Recording dependencies

Questions continued:

Question to the audience

Which version is most reproducible:

5 students (A, B, C, D, E) wrote a code that depends on a couple of libraries. They uploaded their projects to GitHub. We now travel 3 years into the future and find their GitHub repositories and try to re-run their code before adapting it.

Add a + for your vote:

A: B: C:
D: +++++++++ E: ++++

Questions continued:

Recording environments

Questions continued here:

Where to go from here


Sep 29 - Day 4 afternoon - Social coding

Social coding

Questions to the audience

Question 1: Why would I want to share my scripts/code/data?

Choose many. Vote by adding an o character:

Question 2: The most concerning thing for me, If I share my software now

Choose one. Vote by adding an o character:

Question 3: Why is software often treated differently from papers?

Free-form answers:

Question 4: When you find a repository with code/library you would like to reuse, what are the things you look at to decide whether you use it?

Free-form answers:


Your questions here:

Software licensing

Your questions here:

License Selection Decision Matrix & Scenario Index

Question: How do you work with other's code?

Choose many. Vote by adding an o character:

Your questions continued:

JoinUp Licensing assistant that Sabry is showing: https://interoperable-europe.ec.europa.eu/collection/eupl/solution/licensing-assistant/find-and-compare-software-licenses

Software citation

Feedback for Day 4 of CodeRefinery workshop

:::success

Today was (vote (add an o) for all that apply):

too fast: too slow: right speed:ooooo too slow sometimes, too fast other times:oo too advanced:ooo too basic:o right level:oo I will use what I learned today:ooooooo I would recommend today to others:ooooooo I would not recommend today to others:

One good thing about today:

One thing to improve for next time:


Funding

CodeRefinery is a project within the Nordic e-Infrastructure Collaboration (NeIC).

Privacy

Privacy policy

Follow us

Contact

support@coderefinery.org

Improve this page

Source code