14th regular meeting

10 ppl attended

Organisational matters

  • the next meeting will take place on the 10th January

  • Francesco Carrer will give a short intro on the tools for spatial statistics he’s been developing

Conferences, meetings and sessions

  • CAA2022: The conference will probably take place in July (announcement via twitter ), but no exact dates have been released yet

SIG activities

  • Teaching material list: Sophie Schmidt has shared a google document in the respective slack channel. Please invest some minutes of brainstorming to add the relevant materials you know.

Discussion

Show and tell

  • Show and tell focused on pipeline tools

  • Compiling software projects is similar to running data analysis scripts, one needs to run a number of scripts / functions in a certain order

  • Therefore there are pipeline tools for any kind of scripting language “out there”

  • Several pipeline tools can be found here: https://github.com/pditommaso/awesome-pipeline

  • Ben Marwick introduced the R packages {targets} and {renv}

    • {targets}
      • if you use Rmarkdown and don’t want all analysis steps to run every time you knit and dislike the caching knitr offers
      • target “flips” the process
      • the analysis steps are outsourced to functions in separate scripts
      • _targets.R is the “recipe book” similar to a make-file that defines the run order of the scripts
      • at the end the document is knitted
      • this way: unchanged scripts are skipped (and there is a load function for data, which will “alert” the later scripts if the data has been changed)
      • in the RMD you only reference to the images you create with the scripts
      • especially well suited for tasks that take long to compute
      • active maintainer
      • corresponding article: https://doi.org/10.21105/joss.02959
      • tutorial: https://wlandau.github.io/targets-tutorial/#1
    • {renv}
      • “better packrat”
      • saves your package versions in a renv.lock file
      • the Rprofile file sources renv action, which compares the versions of your session / project which those given in the renv.lock
      • alerts you to changes and uses the package versions given in renv.lock, but doesn’t overwrite any of your packages (if you close the project, everything returns to default)
      • three functions needed: renv::init(), renv::snapshot() and renv::restore()
      • easier than the rrtools workflow using the DESCRIPTION file
  • Clemens showed the haskell based Shake and described the same steps as detailed in his blog post

    • shake only needs stack
    • within a shakefile the rules in which order to run which scripts and what are input and output data are defined
    • Clemens created some operators to reduce the complexity of the rules syntax in a shakefile

Next meeting: Monday, January 10, 2022

  • everyone: Happy holidays and merry Christmas to everyone celebrating!
  • Have a great start into the new year, looking forward to seeing you again!

Scientific Scripting Languages in Archaeology

A special interest group of CAA International dedicated to scientific scripting languages in archaeology.


2021-12-06