mirror of
git://git.savannah.gnu.org/guix/maintenance.git
synced 2023-12-14 03:33:04 +01:00
talks: Add BE-RSE talk.
* talks/be-rse-2020: New directory.
This commit is contained in:
parent
454bd26271
commit
f75efd0fe3
45 changed files with 4186 additions and 9 deletions
18
.gitignore
vendored
18
.gitignore
vendored
|
@ -204,12 +204,12 @@
|
|||
/talks/fosdem-2020/containers/talk.vrb
|
||||
/talks/fosdem-2020/containers/talk.dvi
|
||||
/talks/jdev-2020/images/hwloc-graph.pdf
|
||||
/talks/jdev-2020/talk.aux
|
||||
/talks/jdev-2020/talk.log
|
||||
/talks/jdev-2020/talk.nav
|
||||
/talks/jdev-2020/talk.out
|
||||
/talks/jdev-2020/talk.pdf
|
||||
/talks/jdev-2020/talk.pdf.log
|
||||
/talks/jdev-2020/talk.snm
|
||||
/talks/jdev-2020/talk.toc
|
||||
/talks/jdev-2020/talk.vrb
|
||||
talk.aux
|
||||
talk.log
|
||||
talk.nav
|
||||
talk.out
|
||||
talk.pdf
|
||||
talk.pdf.log
|
||||
talk.snm
|
||||
talk.toc
|
||||
talk.vrb
|
||||
|
|
1
talks/be-rse-2020/images/Git-Logo-2Color.pdf
Symbolic link
1
talks/be-rse-2020/images/Git-Logo-2Color.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/Git-Logo-2Color.pdf
|
1
talks/be-rse-2020/images/Guix-1-0.pdf
Symbolic link
1
talks/be-rse-2020/images/Guix-1-0.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/Guix-1-0.pdf
|
1
talks/be-rse-2020/images/Guix-horizontal-print.pdf
Symbolic link
1
talks/be-rse-2020/images/Guix-horizontal-print.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../fosdem-2020/guix-jupyter/images/Guix-horizontal-print.pdf
|
1
talks/be-rse-2020/images/IBM_Blue_Gene_P_supercomputer.jpg
Symbolic link
1
talks/be-rse-2020/images/IBM_Blue_Gene_P_supercomputer.jpg
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/IBM_Blue_Gene_P_supercomputer.jpg
|
1
talks/be-rse-2020/images/acm-artifacts-functional.jpg
Symbolic link
1
talks/be-rse-2020/images/acm-artifacts-functional.jpg
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/acm-artifacts-functional.jpg
|
1
talks/be-rse-2020/images/arrow-right.pdf
Symbolic link
1
talks/be-rse-2020/images/arrow-right.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/arrow-right.pdf
|
1
talks/be-rse-2020/images/big-picture-1.pdf
Symbolic link
1
talks/be-rse-2020/images/big-picture-1.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/big-picture-1.pdf
|
1
talks/be-rse-2020/images/big-picture-2.pdf
Symbolic link
1
talks/be-rse-2020/images/big-picture-2.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/big-picture-2.pdf
|
1
talks/be-rse-2020/images/big-picture-3.pdf
Symbolic link
1
talks/be-rse-2020/images/big-picture-3.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/big-picture-3.pdf
|
1
talks/be-rse-2020/images/conda-broke-tweet.png
Symbolic link
1
talks/be-rse-2020/images/conda-broke-tweet.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../fosdem-2020/guix-jupyter/images/conda-broke-tweet.png
|
1
talks/be-rse-2020/images/conda.pdf
Symbolic link
1
talks/be-rse-2020/images/conda.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/conda.pdf
|
1
talks/be-rse-2020/images/delorean.jpg
Symbolic link
1
talks/be-rse-2020/images/delorean.jpg
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../fosdem-2020/guix-jupyter/images/delorean.jpg
|
1
talks/be-rse-2020/images/docker-guix-lol.pdf
Symbolic link
1
talks/be-rse-2020/images/docker-guix-lol.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/docker-guix-lol.pdf
|
1
talks/be-rse-2020/images/easybuild.png
Symbolic link
1
talks/be-rse-2020/images/easybuild.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/easybuild.png
|
BIN
talks/be-rse-2020/images/end-to-end-1.pdf
Normal file
BIN
talks/be-rse-2020/images/end-to-end-1.pdf
Normal file
Binary file not shown.
BIN
talks/be-rse-2020/images/end-to-end-2.pdf
Normal file
BIN
talks/be-rse-2020/images/end-to-end-2.pdf
Normal file
Binary file not shown.
3379
talks/be-rse-2020/images/end-to-end.svg
Normal file
3379
talks/be-rse-2020/images/end-to-end.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 254 KiB |
1
talks/be-rse-2020/images/environment-modules.png
Symbolic link
1
talks/be-rse-2020/images/environment-modules.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/environment-modules.png
|
1
talks/be-rse-2020/images/environment.png
Symbolic link
1
talks/be-rse-2020/images/environment.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../fosdem-2020/guix-jupyter/images/environment.png
|
1
talks/be-rse-2020/images/guix-jupyter.png
Symbolic link
1
talks/be-rse-2020/images/guix-jupyter.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../fosdem-2020/guix-jupyter/images/guix-jupyter.png
|
1
talks/be-rse-2020/images/guix-scope.png
Symbolic link
1
talks/be-rse-2020/images/guix-scope.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/guix-scope.png
|
1
talks/be-rse-2020/images/guixhpc-logo-transparent-white.pdf
Symbolic link
1
talks/be-rse-2020/images/guixhpc-logo-transparent-white.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/guixhpc-logo-transparent-white.pdf
|
1
talks/be-rse-2020/images/guixhpc-logo-transparent.pdf
Symbolic link
1
talks/be-rse-2020/images/guixhpc-logo-transparent.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../fosdem-2020/guix-jupyter/images/guixhpc-logo-transparent.pdf
|
1
talks/be-rse-2020/images/inria-white-2019.pdf
Symbolic link
1
talks/be-rse-2020/images/inria-white-2019.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../fosdem-2020/guix-jupyter/images/inria-white-2019.pdf
|
1
talks/be-rse-2020/images/jupyter-select-kernel.png
Symbolic link
1
talks/be-rse-2020/images/jupyter-select-kernel.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../fosdem-2020/guix-jupyter/images/jupyter-select-kernel.png
|
1
talks/be-rse-2020/images/lwn-docker-hello-world.png
Symbolic link
1
talks/be-rse-2020/images/lwn-docker-hello-world.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/lwn-docker-hello-world.png
|
1
talks/be-rse-2020/images/openhub-contributors.png
Symbolic link
1
talks/be-rse-2020/images/openhub-contributors.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/openhub-contributors.png
|
1
talks/be-rse-2020/images/pigx1.pdf
Symbolic link
1
talks/be-rse-2020/images/pigx1.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/pigx1.pdf
|
1
talks/be-rse-2020/images/pigx2.pdf
Symbolic link
1
talks/be-rse-2020/images/pigx2.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/pigx2.pdf
|
BIN
talks/be-rse-2020/images/re-storage-tradeoffs.png
Normal file
BIN
talks/be-rse-2020/images/re-storage-tradeoffs.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 230 KiB |
1
talks/be-rse-2020/images/repeatability-study.png
Symbolic link
1
talks/be-rse-2020/images/repeatability-study.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/repeatability-study.png
|
1
talks/be-rse-2020/images/rescience.png
Symbolic link
1
talks/be-rse-2020/images/rescience.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/rescience.png
|
1
talks/be-rse-2020/images/singularity-def-file.png
Symbolic link
1
talks/be-rse-2020/images/singularity-def-file.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/singularity-def-file.png
|
1
talks/be-rse-2020/images/singularity-hpc-wire.png
Symbolic link
1
talks/be-rse-2020/images/singularity-hpc-wire.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/singularity-hpc-wire.png
|
1
talks/be-rse-2020/images/smoothie.pdf
Symbolic link
1
talks/be-rse-2020/images/smoothie.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/smoothie.pdf
|
1
talks/be-rse-2020/images/snap-crypto-miner.png
Symbolic link
1
talks/be-rse-2020/images/snap-crypto-miner.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/snap-crypto-miner.png
|
1
talks/be-rse-2020/images/software-heritage-logo-title-white.pdf
Symbolic link
1
talks/be-rse-2020/images/software-heritage-logo-title-white.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/software-heritage-logo-title-white.pdf
|
1
talks/be-rse-2020/images/spack-bug.png
Symbolic link
1
talks/be-rse-2020/images/spack-bug.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/spack-bug.png
|
1
talks/be-rse-2020/images/spack-build-errors.png
Symbolic link
1
talks/be-rse-2020/images/spack-build-errors.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/spack-build-errors.png
|
1
talks/be-rse-2020/images/spack.png
Symbolic link
1
talks/be-rse-2020/images/spack.png
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/spack.png
|
BIN
talks/be-rse-2020/images/ten-years-challenge.png
Normal file
BIN
talks/be-rse-2020/images/ten-years-challenge.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1 MiB |
1
talks/be-rse-2020/images/workflow-management-3.pdf
Symbolic link
1
talks/be-rse-2020/images/workflow-management-3.pdf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../aramis-2019/images/workflow-management-3.pdf
|
9
talks/be-rse-2020/rules.ini
Normal file
9
talks/be-rse-2020/rules.ini
Normal file
|
@ -0,0 +1,9 @@
|
|||
;; Rules for Rubber.
|
||||
|
||||
[dot-pdf]
|
||||
target = (.*)\.pdf
|
||||
source = \1.dot
|
||||
rule = shell
|
||||
cost = 0
|
||||
command = dot -Tpdf -Gratio=.78 -o $target $source
|
||||
message = rendering $source into $target
|
752
talks/be-rse-2020/talk.tex
Normal file
752
talks/be-rse-2020/talk.tex
Normal file
|
@ -0,0 +1,752 @@
|
|||
% The comment below tells Rubber to compile the .dot files.
|
||||
%
|
||||
% rubber: module graphics
|
||||
% rubber: rules rules.ini
|
||||
|
||||
% Make sure URLs are broken on hyphens.
|
||||
% See <https://tex.stackexchange.com/questions/3033/forcing-linebreaks-in-url>.
|
||||
\RequirePackage[hyphens]{url}
|
||||
|
||||
\documentclass[aspectratio=169]{beamer}
|
||||
|
||||
\usetheme{default}
|
||||
|
||||
\usefonttheme{structurebold}
|
||||
|
||||
% Nice sans-serif font.
|
||||
\usepackage[sfdefault,lining]{FiraSans} %% option 'sfdefault' activates Fira Sans as the default text font
|
||||
\renewcommand*\oldstylenums[1]{{\firaoldstyle #1}}
|
||||
|
||||
% Nice monospace font.
|
||||
\usepackage{inconsolata}
|
||||
%% \renewcommand*\familydefault{\ttdefault} %% Only if the base font of the document is to be typewriter style
|
||||
\usepackage[T1]{fontenc}
|
||||
|
||||
\usepackage[utf8]{inputenc}
|
||||
\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref,xspace,multicol}
|
||||
|
||||
\usecolortheme{seagull} % white on black
|
||||
\usepackage[absolute,overlay]{textpos}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{arrows,shapes,trees,shadows,positioning}
|
||||
\usepackage{fancyvrb} % for '\Verb'
|
||||
\usepackage{xifthen} % for '\isempty'
|
||||
|
||||
% Remember the position of every picture.
|
||||
\tikzstyle{every picture}+=[remember picture]
|
||||
|
||||
\tikzset{onslide/.code args={<#1>#2}{%
|
||||
\only<#1>{\pgfkeysalso{#2}} % \pgfkeysalso doesn't change the path
|
||||
}}
|
||||
|
||||
% Colors.
|
||||
\definecolor{guixred1}{RGB}{226,0,38} % red P
|
||||
\definecolor{guixorange1}{RGB}{243,154,38} % guixorange P
|
||||
\definecolor{guixyellow}{RGB}{254,205,27} % guixyellow P
|
||||
\definecolor{guixred2}{RGB}{230,68,57} % red S
|
||||
\definecolor{guixred3}{RGB}{115,34,27} % dark red
|
||||
\definecolor{guixorange2}{RGB}{236,117,40} % guixorange S
|
||||
\definecolor{guixtaupe}{RGB}{134,113,127} % guixtaupe S
|
||||
\definecolor{guixgrey}{RGB}{91,94,111} % guixgrey S
|
||||
\definecolor{guixdarkgrey}{RGB}{46,47,55} % guixdarkgrey S
|
||||
\definecolor{guixblue1}{RGB}{38,109,131} % guixblue S
|
||||
\definecolor{guixblue2}{RGB}{10,50,80} % guixblue S
|
||||
\definecolor{guixgreen1}{RGB}{133,146,66} % guixgreen S
|
||||
\definecolor{guixgreen2}{RGB}{157,193,7} % guixgreen S
|
||||
|
||||
\definecolor{rescienceyellow}{RGB}{254,246,91}
|
||||
|
||||
\setbeamerfont{title}{size=\huge}
|
||||
\setbeamerfont{frametitle}{size=\huge}
|
||||
\setbeamerfont{normal text}{size=\Large}
|
||||
|
||||
% White-on-black color theme.
|
||||
\setbeamercolor{structure}{fg=guixorange1,bg=black}
|
||||
\setbeamercolor{title}{fg=white,bg=black}
|
||||
\setbeamercolor{date}{fg=guixorange1,bg=black}
|
||||
\setbeamercolor{frametitle}{fg=white,bg=black}
|
||||
\setbeamercolor{titlelike}{fg=white,bg=black}
|
||||
\setbeamercolor{normal text}{fg=white,bg=black}
|
||||
\setbeamercolor{alerted text}{fg=guixyellow,bg=black}
|
||||
\setbeamercolor{section in toc}{fg=white,bg=black}
|
||||
\setbeamercolor{section in toc shaded}{fg=white,bg=black}
|
||||
\setbeamercolor{subsection in toc}{fg=guixorange1,bg=black}
|
||||
\setbeamercolor{subsection in toc shaded}{fg=white,bg=black}
|
||||
\setbeamercolor{subsubsection in toc}{fg=guixorange1,bg=black}
|
||||
\setbeamercolor{subsubsection in toc shaded}{fg=white,bg=black}
|
||||
\setbeamercolor{frametitle in toc}{fg=white,bg=black}
|
||||
\setbeamercolor{local structure}{fg=guixorange1,bg=black}
|
||||
|
||||
\newcommand{\highlight}[1]{\alert{\textbf{#1}}}
|
||||
|
||||
\title{The role of software deployment in reproducible research}
|
||||
|
||||
\author{Ludovic Courtès}
|
||||
\date{5 November 2020}
|
||||
|
||||
\setbeamertemplate{navigation symbols}{} % remove the navigation bar
|
||||
|
||||
\AtBeginSection[]{
|
||||
\begin{frame}
|
||||
\frametitle{}
|
||||
\tableofcontents[currentsection]
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
|
||||
\newcommand{\screenshot}[2][width=\paperwidth]{
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]
|
||||
{\includegraphics[{#1}]{#2}};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{frame}[plain, fragile]
|
||||
\vspace{10mm}
|
||||
\Huge{\textbf{The role of software deployment \\
|
||||
in reproducible research}}
|
||||
\\[2cm]
|
||||
\large{Ludovic Courtès}
|
||||
\\[2mm]
|
||||
\alert{BE-RSE seminar, \oldstylenums{5 November 2020}}
|
||||
|
||||
\vfill{}
|
||||
\hfill{\includegraphics[width=0.2\paperwidth]{images/inria-white-2019}}
|
||||
\vspace{2mm}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\setbeamercolor{normal text}{fg=black,bg=white}
|
||||
% http://www.nature.com/ngeo/journal/v7/n11/full/ngeo2294.html
|
||||
%% \screenshot{images/nature-transparency}
|
||||
|
||||
% https://www.nature.com/nmeth/journal/v12/n12/full/nmeth.3686.html
|
||||
%% \screenshot{images/nature-reviewing-computational-methods}
|
||||
% http://blogs.nature.com/methagora/2014/02/guidelines-for-algorithms-and-software-in-nature-methods.html
|
||||
|
||||
% http://www.acm.org/publications/policies/artifact-review-badging
|
||||
%% \screenshot[height=\paperheight]{images/acm-artifact-review-and-badging}
|
||||
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]{
|
||||
\includegraphics[height=.8\textheight]{images/acm-artifacts-functional}
|
||||
};
|
||||
\node [at=(current page.south), anchor=south,
|
||||
text=guixdarkgrey, fill=white, text opacity=1]{
|
||||
\small{\url{https://www.acm.org/publications/policies/artifact-review-badging}}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]{
|
||||
\includegraphics[height=.8\textheight]{images/rescience}
|
||||
};
|
||||
\node [at=(current page.south), anchor=south,
|
||||
text=guixdarkgrey, fill=white, text opacity=1]{
|
||||
\small{\url{https://rescience.github.io/}}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]{
|
||||
\includegraphics[width=.9\textwidth]{images/repeatability-study}
|
||||
};
|
||||
\node [at=(current page.south east), anchor=south east,
|
||||
text=guixdarkgrey, fill=white, text opacity=1]{
|
||||
\small{\url{http://reproducibility.cs.arizona.edu/}}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=white}
|
||||
\begin{frame}[plain]
|
||||
\includegraphics[width=\textwidth]{images/big-picture-1}
|
||||
\end{frame}
|
||||
\begin{frame}[plain]
|
||||
\includegraphics[width=\textwidth]{images/big-picture-2}
|
||||
\end{frame}
|
||||
\begin{frame}[plain]
|
||||
\includegraphics[width=\textwidth]{images/big-picture-3}
|
||||
\end{frame}
|
||||
\setbeamercolor{normal text}{fg=white,bg=black}
|
||||
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]
|
||||
{\includegraphics[width=\paperwidth]{images/IBM_Blue_Gene_P_supercomputer}};
|
||||
|
||||
\node[at=(current page.center), rounded corners=4, text centered,
|
||||
inner sep=3mm, opacity=.75, text opacity=1]{
|
||||
\Huge{\textbf{HPC = cutting edge?}}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{fg=black,bg=white}
|
||||
\screenshot{images/environment-modules}
|
||||
\setbeamercolor{normal text}{fg=white,bg=black}
|
||||
|
||||
\setbeamercolor{normal text}{bg=white}
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[overlay]
|
||||
\node [at=(current page.north), anchor=north,
|
||||
fill=white, text width=\paperwidth, text centered, inner sep=0pt,
|
||||
inner sep=0.2\paperheight]
|
||||
{\includegraphics[width=0.3\paperwidth]{images/spack}};
|
||||
\node [at=(current page.center), anchor=center,
|
||||
text width=\paperwidth, text centered,
|
||||
inner sep=0.2\paperheight]
|
||||
{\includegraphics[width=0.4\paperwidth]{images/conda}};
|
||||
\node [at=(current page.south), anchor=south,
|
||||
text width=\paperwidth, text centered, inner sep=25pt,
|
||||
text height=0.5\paperheight]
|
||||
{\includegraphics[width=0.3\paperwidth]{images/easybuild}};
|
||||
|
||||
% https://github.com/LLNL/spack/blob/develop/share/spack/logo/spack-logo-text-64.png
|
||||
% https://github.com/LLNL/spack/blob/develop/share/spack/logo/spack-logo-white-text-48.png
|
||||
% https://docs.conda.io/en/latest/_images/conda_logo.svg
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
%% \screenshot[width=\paperwidth]{images/easybuild-bug}
|
||||
|
||||
% https://github.com/spack/spack/issues?q=is%3Aissue+is%3Aopen+label%3Abuild-error
|
||||
%% \screenshot[width=\paperwidth]{images/spack-bug}
|
||||
\screenshot[width=\paperwidth]{images/spack-build-errors}
|
||||
\screenshot[width=.9\paperwidth]{images/conda-broke-tweet}
|
||||
|
||||
\setbeamercolor{normal text}{bg=guixdarkgrey}
|
||||
\begin{frame}[plain]
|
||||
\Huge{\textbf{Approach \#2:\\``Preserve the mess''.}}
|
||||
\\[0.5cm]
|
||||
\hfill{\large{-- Arnaud Legrand (Inria reproducibility WG)}}
|
||||
\end{frame}
|
||||
\setbeamercolor{normal text}{bg=black}
|
||||
|
||||
\setbeamercolor{normal text}{bg=white}
|
||||
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]
|
||||
{\includegraphics[width=0.95\paperwidth]{images/singularity-hpc-wire}};
|
||||
\node [at=(current page.south east), anchor=south east,
|
||||
text=black, text opacity=1, fill=white]{
|
||||
\small{\url{https://www.hpcwire.com/2016/10/20/singularity-containers-easing-scientific-computing}}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
%% \begin{frame}[fragile]
|
||||
%% \begin{tikzpicture}[overlay]
|
||||
%% \node [at=(current page.center)]
|
||||
%% {\includegraphics[width=0.7\textwidth]{images/shrink-wrap}};
|
||||
%% \node<2> [at=(current page.east), anchor=east]
|
||||
%% {\includegraphics[width=0.4\textwidth]{images/shrink-wrap2}};
|
||||
%% \end{tikzpicture}
|
||||
%% \end{frame}
|
||||
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]
|
||||
{\includegraphics[width=1.3\textwidth]{images/smoothie}};
|
||||
\node [at=(current page.south east), anchor=south east, text=guixgrey]
|
||||
{\small{courtesy of Ricardo Wurmus}};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
% https://xkcd.com/1988/
|
||||
|
||||
\screenshot[height=0.95\paperheight]{images/singularity-def-file}
|
||||
%% \screenshot[width=\paperwidth]{images/rena-container-ship-wreck-nz}
|
||||
|
||||
\setbeamercolor{normal text}{bg=white,fg=guixorange1}
|
||||
\begin{frame}[fragile]
|
||||
\begin{tikzpicture}[overlay]
|
||||
\node(logo) [at=(current page.center), inner sep=0pt]
|
||||
{\includegraphics[width=\textwidth]{images/guixhpc-logo-transparent-white}};
|
||||
%% \node [at=(logo.south), anchor=north, text=black, inner sep=10pt]
|
||||
%% {\Large{\textbf{Reproducible software deployment\\for high-performance computing.}}};
|
||||
\node [at=(current page.south), anchor=south, text=guixdarkgrey, inner sep=20pt]
|
||||
{\Large{\url{https://hpc.guix.info}}};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
\setbeamercolor{normal text}{fg=white,bg=black}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
%% \begin{frame}
|
||||
%% \LARGE{
|
||||
%% \begin{enumerate}
|
||||
%% \item transactional package manager
|
||||
%% \item software environment manager
|
||||
%% \item APIs \& tools to customize environments
|
||||
%% \item container provisioning tools
|
||||
%% \end{enumerate}
|
||||
%% }
|
||||
%% \end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\Large{
|
||||
\begin{itemize}
|
||||
\item Guix started in 2012
|
||||
\item \highlight{$\approx$15,000 packages}, all free software
|
||||
\item \highlight{4 architectures}:\\
|
||||
x86\_64, i686, ARMv7, AArch64
|
||||
%% \item binaries available
|
||||
\item \highlight{Guix-HPC effort (Inria, MDC, UBC, UTHCS) started in 2017}
|
||||
\item<2-> \textbf{Guix 1.2 coming up!}
|
||||
\end{itemize}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
%% \setbeamercolor{normal text}{bg=white}
|
||||
%% \screenshot[width=.7\paperwidth]{images/Guix-1-0}
|
||||
%% \setbeamercolor{normal text}{bg=black}
|
||||
|
||||
|
||||
\begin{frame}[fragile]
|
||||
|
||||
\begin{semiverbatim}
|
||||
\LARGE{
|
||||
guix \alert{install} gcc-toolchain openmpi hwloc
|
||||
|
||||
eval `guix package \alert{--search-paths}=prefix`
|
||||
|
||||
guix package \alert{--roll-back}
|
||||
|
||||
guix \alert{environment} --ad-hoc \\
|
||||
gcc-toolchain@5.5 hwloc@1
|
||||
}
|
||||
\end{semiverbatim}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\begin{semiverbatim}
|
||||
\LARGE{
|
||||
guix package \alert{--manifest}=my-packages.scm
|
||||
|
||||
|
||||
|
||||
(\alert{specifications->manifest}
|
||||
'("gcc-toolchain" "openmpi"
|
||||
"scotch" "mumps"))
|
||||
}
|
||||
\end{semiverbatim}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=guixdarkgrey}
|
||||
\begin{frame}[fragile]
|
||||
\begin{semiverbatim}
|
||||
\Large{
|
||||
bob@laptop$ guix package \alert{--manifest}=my-packages.scm
|
||||
bob@laptop$ guix \alert{describe}
|
||||
guix cabba9e
|
||||
repository URL: https://git.sv.gnu.org/git/guix.git
|
||||
commit: cabba9e15900d20927c1f69c6c87d7d2a62040fe
|
||||
|
||||
\pause
|
||||
|
||||
|
||||
alice@supercomp$ guix \alert{pull} --commit=cabba9e
|
||||
alice@supercomp$ guix package \alert{--manifest}=my-packages.scm
|
||||
}
|
||||
\end{semiverbatim}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
% https://commons.wikimedia.org/wiki/File:TeamTimeCar.com-BTTF_DeLorean_Time_Machine-OtoGodfrey.com-JMortonPhoto.com-07.jpg
|
||||
\node [at=(current page.center), inner sep=0pt]
|
||||
{\includegraphics[width=\paperwidth]{images/delorean}};
|
||||
\node [rounded corners=4, text centered, anchor=north,
|
||||
text width=10cm,
|
||||
inner sep=3mm, opacity=.75, text opacity=1]
|
||||
at (current page.center) {
|
||||
\textbf{\Huge{travel in space \emph{and} time!}}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=guixgrey}
|
||||
\begin{frame}[fragile]
|
||||
\begin{semiverbatim}
|
||||
\LARGE{
|
||||
guix \alert{time-machine} --commit=cabba9e -- \\
|
||||
install hello
|
||||
}
|
||||
\end{semiverbatim}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\begin{semiverbatim}
|
||||
(define pastix
|
||||
(\alert{package}
|
||||
(name "pastix")
|
||||
(home-page "https://gitlab.inria.fr/solverstack/pastix")
|
||||
(\alert{source} (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(\alert{url} home-page)
|
||||
(\alert{commit} "2f30ff07a")\tikz{\node(commit){};}
|
||||
(recursive? #t)))
|
||||
(sha256
|
||||
(base32
|
||||
"106rf402cvfdhc2yf\textrm{...}"))))
|
||||
\textrm{...}))
|
||||
\end{semiverbatim}
|
||||
|
||||
\begin{tikzpicture}[overlay]
|
||||
\node<2->(swh) [inner sep=3mm, rounded corners, fill=black,
|
||||
opacity=.3, text opacity=1] at (12,5) {
|
||||
% https://annex.softwareheritage.org/public/logo/
|
||||
\includegraphics[width=0.33\textwidth]{images/software-heritage-logo-title-white}
|
||||
};
|
||||
\node<2-> [at=(current page.south), anchor=south,
|
||||
inner sep=2mm, rounded corners, fill=black, text width=13cm,
|
||||
opacity=.3, text opacity=1] {
|
||||
\url{https://www.softwareheritage.org/2019/04/18/software-heritage-and-gnu-guix-join-forces-to-enable-long-term-reproducibility/}
|
||||
};
|
||||
|
||||
\path<2->[very thick, draw=guixorange1]
|
||||
(swh) edge [out=-90, in=0, ->] (commit);
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=guixred3}
|
||||
\begin{frame}[fragile]%{Container provisioning}
|
||||
\begin{tikzpicture}[overlay]
|
||||
\node<2> [at=(current page.south), anchor=south,
|
||||
inner sep=2mm, rounded corners, fill=black, text width=10cm,
|
||||
opacity=.3, text opacity=1] {
|
||||
\url{https://hpc.guix.info/blog/2020/05/faster-relocatable-packs-with-fakechroot/}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
|
||||
\LARGE{
|
||||
\begin{semiverbatim}
|
||||
\$ guix \alert{pack}\only<2>{ --relocatable}\only<3>{ --format=squashfs}\only<4->{ --format=docker} \\
|
||||
python python-numpy python-scipy
|
||||
\textrm{...}
|
||||
/gnu/store/\textrm{...}-\only<1-2>{pack.tar.gz}\only<3>{singularity-image.tar.gz}\only<4->{docker-image.tar.gz}
|
||||
\end{semiverbatim}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=white}
|
||||
\screenshot[width=.9\paperwidth]{images/docker-guix-lol}
|
||||
|
||||
\setbeamercolor{normal text}{bg=guixdarkgrey}
|
||||
\begin{frame}[fragile]
|
||||
\begin{semiverbatim}
|
||||
\LARGE{
|
||||
guix pack hwloc \\
|
||||
\alert{--with-source}=./hwloc-2.1rc1.tar.gz
|
||||
|
||||
|
||||
guix install mumps \\
|
||||
\alert{--with-input}=scotch=pt-scotch
|
||||
}
|
||||
\end{semiverbatim}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=guixgreen1}
|
||||
\begin{frame}[plain]
|
||||
\Huge{\textbf{Reproducible deployment\\ is the key.}}
|
||||
\end{frame}
|
||||
\setbeamercolor{normal text}{fg=white,bg=black}
|
||||
|
||||
\screenshot{images/pigx1}
|
||||
\screenshot{images/pigx2}
|
||||
|
||||
\setbeamercolor{normal text}{bg=white}
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]{
|
||||
\includegraphics[height=.7\textheight]{images/workflow-management-3}
|
||||
};
|
||||
\node [at=(current page.south), anchor=south,
|
||||
text=guixdarkgrey, fill=white, text opacity=1]{
|
||||
\small{\url{https://www.guixwl.org/}}
|
||||
};
|
||||
\node [at=(current page.north west), anchor=north west, opacity=0,
|
||||
inner sep=5mm, text=guixdarkgrey, fill=white, text opacity=1]{
|
||||
\Large{\textbf{Guix Workflow Language}}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=white}
|
||||
\begin{frame}[plain, fragile]
|
||||
\center{\includegraphics[width=0.35\textwidth]{images/guix-jupyter}}
|
||||
|
||||
\begin{tikzpicture}[overlay]
|
||||
\node[text=guixdarkgrey, anchor=south, at=(current page.south),
|
||||
inner sep=3mm]
|
||||
{\url{https://hpc.guix.info/blog/2019/10/towards-reproducible-jupyter-notebooks}};
|
||||
\end{tikzpicture}
|
||||
|
||||
\end{frame}
|
||||
|
||||
%% \screenshot{images/jupyter-select-kernel}
|
||||
\screenshot{images/environment}
|
||||
|
||||
%% \begin{frame}[plain]
|
||||
%% \begin{tikzpicture}[remember picture, overlay]
|
||||
%% \node [at=(current page.center), inner sep=0pt]{
|
||||
%% \includegraphics[width=.95\textwidth]{images/guix-kernel-python}
|
||||
%% };
|
||||
%% \node [at=(current page.south), anchor=south,
|
||||
%% text=guixdarkgrey, fill=white, text opacity=1]{
|
||||
%% \small{\url{https://gitlab.inria.fr/guix-hpc/guix-kernel/}}
|
||||
%% };
|
||||
%% \node [at=(current page.north west), anchor=north west, opacity=0,
|
||||
%% inner sep=5mm, text=guixdarkgrey, fill=white, text opacity=1]{
|
||||
%% \Large{\textbf{Guix-Jupyter}}
|
||||
%% };
|
||||
%% \end{tikzpicture}
|
||||
%% \end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=rescienceyellow}
|
||||
\begin{frame}[fragile, plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.south), anchor=south, inner sep=0pt]{
|
||||
\includegraphics[height=0.95\textheight]{images/ten-years-challenge}
|
||||
};
|
||||
\node [at=(current page.north), anchor=north, text=guixgrey] {
|
||||
\small{\url{https://rescience.github.io/ten-years/}}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=white}
|
||||
|
||||
\screenshot{images/end-to-end-1}
|
||||
\screenshot[height=\textheight]{images/end-to-end-2}
|
||||
|
||||
\begin{frame}[fragile, plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]{
|
||||
\includegraphics[width=.9\textwidth]{images/re-storage-tradeoffs}
|
||||
};
|
||||
\node [at=(current page.center), anchor=south, inner sep=8mm, text=guixgrey] {
|
||||
\small{\url{https://doi.org/10.5281/zenodo.3886739}}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=guixblue2}
|
||||
\begin{frame}[plain]
|
||||
\Huge{\textbf{Wrap-up.}}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=white}
|
||||
\screenshot[width=\textwidth]{images/big-picture-3}
|
||||
|
||||
%% \setbeamercolor{normal text}{fg=white,bg=black}
|
||||
%% \begin{frame}
|
||||
%% \LARGE{
|
||||
%% \begin{itemize}
|
||||
%% \item \highlight{reproduce} software environments
|
||||
%% \item \highlight{declare \& publish} complete environments
|
||||
%% \item beyond replication: precision \highlight{experimentation}
|
||||
%% \item a foundation for \highlight{``deployment-aware'' apps}
|
||||
%% \end{itemize}
|
||||
%% }
|
||||
%% \end{frame}
|
||||
|
||||
\screenshot{images/guix-scope}
|
||||
|
||||
\setbeamercolor{normal text}{bg=white}
|
||||
\begin{frame}[fragile]
|
||||
\vspace{-2cm}
|
||||
\begin{tikzpicture}
|
||||
\matrix[row sep=10mm, column sep=1cm]{
|
||||
% https://git-scm.com/downloads/logos
|
||||
\node {\includegraphics[width=0.2\textwidth]{images/Git-Logo-2Color}}; &
|
||||
\node {\includegraphics[width=0.15\textwidth]{images/arrow-right}}; &
|
||||
\node {\includegraphics[width=0.24\textwidth]{images/Guix-horizontal-print}};
|
||||
\\
|
||||
};
|
||||
\end{tikzpicture}
|
||||
|
||||
\begin{tikzpicture}[overlay]
|
||||
\node [at=(current page.center), anchor=north,
|
||||
text=black, text width=.9\textwidth]{
|
||||
\Huge{Let's add\\ \textbf{reproducible deployment}\\
|
||||
to our best practices book. \par
|
||||
}};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\setbeamercolor{normal text}{bg=black}
|
||||
\begin{frame}[plain]
|
||||
|
||||
\vfill{
|
||||
\vspace{3cm}
|
||||
\center{\includegraphics[width=0.5\textwidth]{images/guixhpc-logo-transparent}}\\[1.0cm]
|
||||
\texttt{ludovic.courtes@inria.fr |} @GuixHPC
|
||||
\center{\alert{\url{https://hpc.guix.info}}}
|
||||
\\[1cm]
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=guixred2}
|
||||
\begin{frame}
|
||||
\Huge{\textbf{Bonus slides!}}
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=black}
|
||||
\begin{frame}[fragile]
|
||||
%% \frametitle{Bit-Reproducible Builds$^*$}
|
||||
%% \framesubtitle{$^*$ almost!}
|
||||
|
||||
\begin{semiverbatim}
|
||||
\Large{
|
||||
\$ guix build hwloc
|
||||
\uncover<2->{/gnu/store/\tikz[baseline]{\node[anchor=base](nixhash){\alert<2>{h2g4sf72\textrm{...}}};}-hwloc-1.11.2}
|
||||
|
||||
\uncover<3->{\$ \alert<3>{guix gc --references /gnu/store/\textrm{...}-hwloc-1.11.2}
|
||||
/gnu/store/\textrm{...}-glibc-2.24
|
||||
/gnu/store/\textrm{...}-gcc-4.9.3-lib
|
||||
/gnu/store/\textrm{...}-hwloc-1.11.2
|
||||
}}
|
||||
\end{semiverbatim}
|
||||
|
||||
\begin{tikzpicture}[overlay]
|
||||
\node<1>(labelnixhash) [fill=white, text=black, inner sep=0.5cm,
|
||||
rounded corners] at (current page.center) {%
|
||||
\Large{\textbf{isolated build}: chroot, separate name spaces, etc.}
|
||||
};
|
||||
|
||||
\node<2>(labelnixhash) [fill=white, text=black] at (4cm, 2cm) {%
|
||||
hash of \textbf{all} the dependencies};
|
||||
\path[->]<2>(labelnixhash.north) edge [bend left, in=180, out=-45] (nixhash.south);
|
||||
|
||||
\draw<4-> (-10pt, 105pt) [very thick, color=guixorange2, rounded corners=8pt]
|
||||
arc (10:-50:-50pt and 110pt);
|
||||
\node<4->[fill=white, text=black, text opacity=1, opacity=.7,
|
||||
rounded corners=2mm, inner sep=5mm]
|
||||
at (7, 2) {\textbf{\Large{(nearly) bit-identical for everyone}}};
|
||||
\end{tikzpicture}
|
||||
|
||||
\end{frame}
|
||||
|
||||
\setbeamercolor{normal text}{bg=white}
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]
|
||||
{\includegraphics[width=0.95\paperwidth]{images/snap-crypto-miner}};
|
||||
\node [at=(current page.south east), anchor=south east,
|
||||
text=black, text opacity=1, fill=white]{
|
||||
\small{\url{https://github.com/canonical-websites/snapcraft.io/issues/651}}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]
|
||||
{\includegraphics[width=0.9\paperwidth]{images/lwn-docker-hello-world}};
|
||||
\node [at=(current page.south east), anchor=south east,
|
||||
text=white, fill=black, text opacity=1]{
|
||||
\small{\url{https://lwn.net/Articles/752982/}}
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
||||
\setbeamercolor{normal text}{bg=white}
|
||||
\begin{frame}[plain]
|
||||
\begin{tikzpicture}[remember picture, overlay]
|
||||
\node [at=(current page.center), inner sep=0pt]
|
||||
{\includegraphics[height=\paperheight]{images/hwloc-graph}};
|
||||
\end{tikzpicture}
|
||||
\end{frame}
|
||||
\setbeamercolor{normal text}{fg=white,bg=black}
|
||||
|
||||
\begin{frame}{cluster deployments}
|
||||
\Large{
|
||||
\begin{itemize}
|
||||
% http://zvfak.blogspot.ch/2015/07/gnu-guix-for-easily-managing.html
|
||||
\item \highlight{Max Delbrück Center} (DE): 250-node cluster +
|
||||
workstations
|
||||
% https://ubc.uu.nl/infrastructure/
|
||||
% https://wiki.bioinformatics.umcutrecht.nl/pub/HPC/WebHome/HPC_Flyer.png
|
||||
\item \highlight{UMC Utrecht} (NL): 68-node cluster (1,000+ cores)
|
||||
% https://www.qriscloud.org.au/support/qriscloud-documentation/75-euramoo-datasheet
|
||||
% https://www.qriscloud.org.au/support/qriscloud-documentation/76-flashlite-datasheet
|
||||
\item \highlight{University of Queensland} (AU): 20-node cluster
|
||||
(900 cores)
|
||||
\item \highlight{PlaFRIM} (FR): Inria Bordeaux (3,000+ cores)
|
||||
\end{itemize}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
%% \screenshot[width=.9\paperwidth]{images/openhub-activity}
|
||||
\screenshot[width=\paperwidth]{images/openhub-contributors}
|
||||
|
||||
\begin{frame}{}
|
||||
\begin{textblock}{12}(2, 6)
|
||||
\tiny{
|
||||
Copyright \copyright{} 2010, 2012--2019 Ludovic Courtès \texttt{ludo@gnu.org}.\\[3.0mm]
|
||||
GNU Guix logo, CC-BY-SA 4.0, \url{https://gnu.org/s/guix/graphics}.
|
||||
\\[1.5mm]
|
||||
Smoothie image and hexagon image \copyright{} 2019 Ricardo Wurmus,
|
||||
CC-BY-SA 4.0.
|
||||
\\[1.5mm]
|
||||
Hand-drawn arrows by Freepik from flaticon.com.
|
||||
\\[1.5mm]
|
||||
DeLorean time machine picture \copyright{} 2014 Oto Godfrey and
|
||||
Justin Morton, CC-BY-SA 4.0,
|
||||
\url{https://commons.wikimedia.org/wiki/File:TeamTimeCar.com-BTTF_DeLorean_Time_Machine-OtoGodfrey.com-JMortonPhoto.com-07.jpg}.
|
||||
\\[1.5mm]
|
||||
Copyright of other images included in this document is held by
|
||||
their respective owners.
|
||||
\\[3.0mm]
|
||||
This work is licensed under the \alert{Creative Commons
|
||||
Attribution-Share Alike 3.0} License. To view a copy of this
|
||||
license, visit
|
||||
\url{https://creativecommons.org/licenses/by-sa/3.0/} or send a
|
||||
letter to Creative Commons, 171 Second Street, Suite 300, San
|
||||
Francisco, California, 94105, USA.
|
||||
\\[2.0mm]
|
||||
At your option, you may instead copy, distribute and/or modify
|
||||
this document under the terms of the \alert{GNU Free Documentation
|
||||
License, Version 1.3 or any later version} published by the Free
|
||||
Software Foundation; with no Invariant Sections, no Front-Cover
|
||||
Texts, and no Back-Cover Texts. A copy of the license is
|
||||
available at \url{https://www.gnu.org/licenses/gfdl.html}.
|
||||
\\[2.0mm]
|
||||
% Give a link to the 'Transparent Copy', as per Section 3 of the GFDL.
|
||||
The source of this document is available from
|
||||
\url{https://git.sv.gnu.org/cgit/guix/maintenance.git}.
|
||||
}
|
||||
\end{textblock}
|
||||
\end{frame}
|
||||
|
||||
\end{document}
|
||||
|
||||
% Local Variables:
|
||||
% coding: utf-8
|
||||
% comment-start: "%"
|
||||
% comment-end: ""
|
||||
% ispell-local-dictionary: "francais"
|
||||
% compile-command: "rubber --pdf talk.tex"
|
||||
% End:
|
||||
|
||||
%% LocalWords: Reproducibility
|
Loading…
Reference in a new issue