The program spanned three days, from Friday to Sunday, 9AM to 6PM local time (CEST). Below you will find links to supporting material and video recordings of the talks.

Friday 16th: Reproducible deployment for reproducible research

Friday is dedicated to reproducible software deployment as a foundation for reproducible research workflows, with experience reports from scientists and practitioners, using Guix and other tools.

  • 09:00–09:30
    👋 Welcome!
  • 09:30–10:00
    Sarah Cohen-Boulakia (Université Paris-Saclay, LISN)
    📁📺
    Read more...

    Impossibility to redo a given analysis that run on the same computer a few months ago, failing to re-execute the data analysis described in a peer’s recent paper: recently, we have all experienced computational reproducibility issues.

    The bioinformatics community had to face with the reproducibility crisis and it has been pioneer in the design of elements of solutions to better reproduce and reuse bioinformatics pipelines.

    In this talk, we will introduce and discuss such elements of solutions and present lessons learnt in terms of good practices to follow when analyzing large scientific datasets.

  • 10:00–10:30
    Boud Roukema (Institute of Astronomy, Nicolaus Copernicus University)
    📁📺
    Read more...
    Maneage is a proof-of-concept implementation of a set of eight criteria for long-term reproducible scientific research papers. The criteria are: completeness; modularity; minimal complexity; scalability; verifiable inputs and outputs; recorded history; linking narrative to analysis; and free and open-source software. The criteria will be briefly presented. An outline of Maneage with its structure primarily based on bash, make, Git and LaTeX, and practical experience using and developing it for peer-reviewed papers, will be presented.
  • 10:30–11:00
    ☕ break
  • 11:00–11:30
    Olivier Richard (Inria Grenoble – Rhône-Alpes, LIG)
    📁📺
    Read more...

    Development of environments for distributed systems is a tedious and time-consuming iterative process. The reproducibility of such environments is a crucial factor for rigorous scientific contributions.

    Based on the Nix functional package manager we propose a tool that generates reproducible distributed environment. Moreover, it enables users to deploy their environments on virtualized (Docker, QEMU) or physical (Grid’5000) platforms with the same unique description of the environment.

    After the presentation of the tool and its benefits, limitations and lessons learned we will be discussed.

  • 11:30–12:00
    Konrad Hinsen (Centre de Biophysique Moléculaire, CNRS Orléans; Synchrotron SOLEIL, Saint Aubin)
    📁📺
    Read more...
    Guix is described as a package manager and a GNU/Linux distribution. While technically correct, this summary hides the fact that Guix is a valuable support tool for reproducible computational research, as an add-on to any GNU/Linux distribution, much like many of us currently use Docker containers. I will attempt to convince you that Guix is a better choice than Docker, and show you how to get started with integrating Guix into your computational work environment.
  • 12:00–12:30
    Antoine R. Dumont, Valentin Lorentz (Software Heritage)
    📁
    Read more...
    This talk is not recorded but you can read its transcript.

    Software Heritage is the universal source code archive. It enables reproducible research and build tools (such as Guix and Nix) by storing source code forever with a public API, which can be used as a fallback when original software artifacts are deleted or unavailable. In this talk, we will discuss how Software Heritage performs global deduplication using a Merkle DAG, and some planned developments, such as reconstructing original tarballs exactly using Guix’s Disarchive.

  • 12:30–14:00
    🍽 lunch
  • 14:00–14:30
    Morane Gruenpeter (Software Heritage, Inria)
    📁📺
    Read more...

    Software is a fundamental pillar of modern scientific research, and it is essential to properly archive and reference the source code of software used in all research activities.

    In this presentation, we will show how to use the Software Heritage framework to transparently archive all software source code and how to obtain and use the intrinsic identifiers, specially designed for software source code, which are necessary to reference the source code in a way that facilitates long-term reproducibility. We will also show how to describe the source code for a better understanding of the software and to allow discovery of the software on search engines. Finally, we will discuss the challenges when it comes to citing software to give credit to authors in the academic ecosystem.

  • 14:30–15:00
    Philippe Swartvagher (Inria)
    📁📺
    Read more...
    Ensuring experiment reproducibility with complex software stack can be quite a headache. This presentation will tell the story of a PhD student discovering Guix to ease the reproducibility of the software environments for scientific experiments. We will cover the motivation to use Guix, the features that help to easily customize software environments to fit the experiment requirements, and then how to share experiment scripts in scientific publications to be able to reproduce the experiments.
  • 15:00–15:30
    Nathanaëlle Courant (OCamlPro, Inria)
    📁📺
    Read more...
    In this talk, I will present Camlboot, a project which debootstraps the OCaml compiler, that is, is able to compile the OCaml compiler without using the bootstrap binary. Camlboot consists in a naïve compiler for a subset of OCaml called MiniML, and an interpreter for OCaml written in MiniML. I will first justify the interest of debootstrapping, then explain the architecture and parts of Camlboot, and finally present the experimental validation of Camlboot.
  • 15:30–16:00
    Pjotr Prins (University of Tennessee Health Science Center)
    📁📺
    Read more...

    RISC-V is a modern open hardware platform that is not only part of many new devices, but also powering up new areas of research that will lead to optimised hardware solutions for offloading tasks to dedicated modules on systems-on-chip (SOCs). The European Union, the National Science Foundation (NSF) in the US, and NLnet foundation recognise this promise and fund the design and development of new solutions, including for high-performance computing (HPC).

    GNU Guix, because of its hackability, flexibility, determinismistic output, and potential for ‘generics’, makes an ideal partner for RISC-V development and deployment. In principal the full software stack with all dependencies can be ‘carved in stone’ and provide a reproducible design of RISC-V hardware all the way from idea to taping out a chip, via the stages of simulation, emulation and testing.

    In this presentation I'll talk about this future of open hardware architecture that allows for ‘burning software’ into hardware and how GNU Guix can play a central role in a new industry.

  • 16:10–17:10
    ☇ lightning talks
  • 16:10–16:20
    Evgeny Posenitskiy (LCPQ, CNRS)
    📁📺
  • 16:20–16:30
    Philippe Swartvagher (Inria)
    📁📺
  • 16:30–16:40
    Alice Brenon (ICAR [UMR 5191], LIRIS [UMR 5205])
    📁📺
  • 16:40–16:50
    Konrad Hinsen (Centre de Biophysique Moléculaire, CNRS Orléans; Synchrotron SOLEIL, Saint Aubin)
    📺
  • 17:15–18:00
    🎂 break

Saturday: Hacking (with) Guix

Saturday is for Guix and free software enthusiasts, users and developers alike. We will reflect on ten years of Guix, show what it has to offer, and present on-going developments and future directions.

  • 09:00–09:30
    👋 Welcome back!
  • 09:30–10:00
    Julien Lepiller
    📁📺
    Read more...
    Code is not the only way to contribute. You're not a native English speaker? You can help popularize Guix around you by translating it to your native language. After a short presentation of the infrastructure that was put into place for localisation, I will guide you through your first contribution. We will spend most of the session translating and discussing various language-related topics.
  • 10:15–11:00
    Andreas Enge (Inria)
    📁📺
    Read more...
    Ten years are a long time, and an occasion to look back. As any past, that of Guix is strewn with struggles to do the right thing™ and inevitable failures, disappointments and broken dreams. Since I am provided the stage, I will give a personal account of the history of Guix, and who knows, maybe we will even celebrate a few successes!
  • 11:00–11:30
    ☕ break
  • 11:30–12:15
    David Wilson (System Crafters)
    📁📺
    Read more...
    In this talk, we will discuss a number of ideas for how to make Guix more approachable and widen its userbase of friendly hackers. Guix is in a very unique position to be the GNU/Linux distro of choice for Lisp enthusiasts and configuration tinkerers. Let's discuss how we can make the idea of using Guix irresistible and reduce the friction for new adopters!
  • 12:30–14:00
    🍽 lunch
  • 14:00–14:30
    Danjela Lura
    📁📺
    Read more...

    During the summer of 2020, I had the opportunity to work on the Guix Data Service as an Outreachy intern under the mentorship of Christopher Baines. The internship project was aimed at improving the internationalization support for the Guix Data Service and thus providing non-English speaking users a more feasible way of interacting with Guix data.

    In this talk, I will walk you through my experience of working on the Guix Data Service, how it helped me grow both professionally and personally, and I will also provide my suggestions for other potential interns or contributors.

  • 14:30–15:00
    David Wilson (System Crafters)
    📁📺
    Read more...

    Guix Home is an exciting new feature of GNU Guix that enables you to apply the same functional configuration style you enjoy from Guix System to your own home directory! If you've ever wondered how to manage your dotfiles with Guix, this is the tool for you. It even works on all Guix-supported GNU/Linux distributions!

    In this talk, I'll explain how it works and how you can get started with it without fear of breaking your $HOME directory.

  • 15:00–15:30
    Denis “GNUtoo” Carikli
    📁
    Read more...
    Replicant is a 100% free software Android distribution certified by the FSF. This short talk will look at how and why Replicant uses or depends on Guix, and future directions with the usage of Guix by the Replicant project.
  • 15:30–16:00
    Julien Lepiller
    📁📺
    Read more...
    In this talk, I will present the current effort for packaging various Android parts. I will briefly mention what works (not much), and the future challenges that I can see coming on that front. The talk will mostly serve to popularize knowledge about build systems and some of Guix internals, applied to what was needed to package Android tools.
  • 16:00–16:15
    Simon Tournier
    📁📺
    Read more...

    In this talk, we will present the non-profit association Guix Europe. We will expose its main goals, showcase some past activities, explain how to become a member, and present what we plan to achieve with your help.

  • 16:30–17:30
    🎂 break
  • 17:20–18:00
    ☇ lightning talks
  • 17:30–17:40
    Emma Turner
    📺
  • 17:40–17:50
    Tobias Platen
    📺
  • 17:50–18:00
    Simon Tournier
    📺
  • 18:00–18:10
    Jérémy Korwin-Zmijowski, Simon Tournier
    📺

Sunday: Hands-on!

On Sunday, users and developers (or developers-to-be) will discuss technical and community topics and join forces for hacking sessions, unconference style.

  • 10:15–10:30
    Laszlo Krajnikovszkij
    📁📺
    Read more...
    This talk will present a non-programmer's perspective on using Guix and its features, as well as other related topics. Being a very powerful tool for system configuration and reproducibility, Guix inspires many ideas about the possible use cases and further advancement of personal computing experience. During the presentation various ideas will be presented in the form of theoretical discussion and will pose more questions than answers.
  • 10:30–11:00
    Josselin Poiret
    📁📺
    Read more...

    Did you ever wonder what kind of magic lies inside the guix/ directory? Do you want to help untangle the obscure Guix bugs that appear on the mailing lists, but don't know where to start? Or do you just want to know your package manager of choice better? This talk will hopefully achieve all of the above, by diving deep and introducing the structure and contents of (most) of the Guix tree, so that you can find your way back the next time someone claims an obscure Guix feature is broken!

  • 11:00–11:30
    Efraim Flashner
    📁📺
    Read more...
    Like the early days of AArch64, 64-bit RISC-V boards are hard to come by. Everyone's really excited for boards and devices and machines to be generally available and already making plans for what to do with them. So where is Guix in all of this? How prepared are we for 64-bit RISC-V? We'll fill you in with how the port is going, what's left to do, and where we need help.
  • 11:30–12:00
    Christopher Baines
    📁📺
    Read more...

    I'll summarise how I review patches, and how I think automating parts of the process can speed up getting patches merged, while also maintaining or improving the quality of Guix. I'll also discuss the technical approach I've been taking to automate parts of reviewing patches and the path forward.

    Personally, I feel that patch review needs to not be limited to those who have the access to merge patches, so this topic and talk should be of interest to anyone with an interest in Guix.

  • 12:30–14:00
    🍽 lunch
  • 14:00–14:30
    Efraim Flashner
    📺
    Read more...
    Guix has been called “the Emacs of operating systems” and luckily it does come with a text editor, vim! We'll work together and see how with just a few lines of Vim configuration and an extra package or two you'll have a nice set of tools ready to use to get more from your vim and Guix installations.
  • 14:30–14:40
    Ludovic Courtès (Inria)
    📺
  • 14:40–14:50
    indieterminacy
    📺
  • 14:50–15:00
    Simon Tournier
    📺
  • 15:00–15:10
    Julien Lepiller
    📺
  • IRILL
  • Software Heritage
  • Inria
  • GRICAD
  • Meso@LR
  • Guix