guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: talks: Add BlueHats 2019 talk.


From: Ludovic Courtčs
Subject: 02/02: talks: Add BlueHats 2019 talk.
Date: Wed, 15 Jan 2020 17:03:39 -0500 (EST)

civodul pushed a commit to branch master
in repository maintenance.

commit 885e217618340c2e6402080e344f50825e9c9be0
Author: zimoun <address@hidden>
AuthorDate: Fri Dec 20 20:15:16 2019 +0100

    talks: Add BlueHats 2019 talk.
    
    * talks/bluehats-2019: New directory.
    
    Signed-off-by: Ludovic Courtès <address@hidden>
---
 .gitignore                                         |   8 +
 talks/bluehats-2019/images/Guix-white.pdf          |   1 +
 talks/bluehats-2019/images/big-picture-3.pdf       |   1 +
 talks/bluehats-2019/images/diderot_u-paris.png     | Bin 0 -> 2260 bytes
 talks/bluehats-2019/images/diderot_u-paris_bis.png | Bin 0 -> 2130 bytes
 talks/bluehats-2019/images/guix-refcard.pdf        |   1 +
 .../images/guixhpc-logo-transparent.pdf            |   1 +
 .../images/software-heritage-logo-title-white.pdf  |   1 +
 talks/bluehats-2019/outline                        |  62 +++
 talks/bluehats-2019/talk.20191211.pdf              | Bin 0 -> 468454 bytes
 talks/bluehats-2019/talk.tex                       | 440 +++++++++++++++++++++
 11 files changed, 515 insertions(+)

diff --git a/.gitignore b/.gitignore
index 07b7f65..d290e5f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -186,3 +186,11 @@
 /talks/jcad-2019/talk.snm
 /talks/jcad-2019/talk.toc
 /talks/jcad-2019/talk.vrb
+/talks/bluehats-2019/talk.aux
+/talks/bluehats-2019/talk.log
+/talks/bluehats-2019/talk.nav
+/talks/bluehats-2019/talk.out
+/talks/bluehats-2019/talk.pdf
+/talks/bluehats-2019/talk.snm
+/talks/bluehats-2019/talk.toc
+/talks/bluehats-2019/talk.vrb
diff --git a/talks/bluehats-2019/images/Guix-white.pdf 
b/talks/bluehats-2019/images/Guix-white.pdf
new file mode 120000
index 0000000..288a029
--- /dev/null
+++ b/talks/bluehats-2019/images/Guix-white.pdf
@@ -0,0 +1 @@
+../../fosdem-2019/minimalist/images/Guix-white.pdf
\ No newline at end of file
diff --git a/talks/bluehats-2019/images/big-picture-3.pdf 
b/talks/bluehats-2019/images/big-picture-3.pdf
new file mode 120000
index 0000000..b8d0c4f
--- /dev/null
+++ b/talks/bluehats-2019/images/big-picture-3.pdf
@@ -0,0 +1 @@
+../../fosdem-2018/hpc/images/big-picture-3.pdf
\ No newline at end of file
diff --git a/talks/bluehats-2019/images/diderot_u-paris.png 
b/talks/bluehats-2019/images/diderot_u-paris.png
new file mode 100644
index 0000000..3eaf755
Binary files /dev/null and b/talks/bluehats-2019/images/diderot_u-paris.png 
differ
diff --git a/talks/bluehats-2019/images/diderot_u-paris_bis.png 
b/talks/bluehats-2019/images/diderot_u-paris_bis.png
new file mode 100644
index 0000000..841d735
Binary files /dev/null and b/talks/bluehats-2019/images/diderot_u-paris_bis.png 
differ
diff --git a/talks/bluehats-2019/images/guix-refcard.pdf 
b/talks/bluehats-2019/images/guix-refcard.pdf
new file mode 120000
index 0000000..560fc1a
--- /dev/null
+++ b/talks/bluehats-2019/images/guix-refcard.pdf
@@ -0,0 +1 @@
+../../fosdem-2019/minimalist/images/guix-refcard.pdf
\ No newline at end of file
diff --git a/talks/bluehats-2019/images/guixhpc-logo-transparent.pdf 
b/talks/bluehats-2019/images/guixhpc-logo-transparent.pdf
new file mode 120000
index 0000000..9976a7f
--- /dev/null
+++ b/talks/bluehats-2019/images/guixhpc-logo-transparent.pdf
@@ -0,0 +1 @@
+../../fosdem-2018/hpc/images/guixhpc-logo-transparent.pdf
\ No newline at end of file
diff --git a/talks/bluehats-2019/images/software-heritage-logo-title-white.pdf 
b/talks/bluehats-2019/images/software-heritage-logo-title-white.pdf
new file mode 120000
index 0000000..0c5148d
--- /dev/null
+++ b/talks/bluehats-2019/images/software-heritage-logo-title-white.pdf
@@ -0,0 +1 @@
+../../aramis-2019/images/software-heritage-logo-title-white.pdf
\ No newline at end of file
diff --git a/talks/bluehats-2019/outline b/talks/bluehats-2019/outline
new file mode 100644
index 0000000..dea487d
--- /dev/null
+++ b/talks/bluehats-2019/outline
@@ -0,0 +1,62 @@
+-*- mode: org -*-
+
+This talk was in French with a slot of 5-7 minutes, questions included.  It was
+taken in a full day satellite to Paris Open Source Summit.  The initiative was
+lead by Bastien Guerry from https://www.etalab.gouv.fr/.  More information of
+the programme 
[[https://forum.etalab.gouv.fr/t/journee-bluehats-lors-du-paris-open-source-summit-le-11-decembre-2019/4614][here]].
+
+The slot was very short and the audience very heterogeneous; especially about
+the day-to-day concerns.  As an engineer working in an institute doing research
+in biology, I have tried to explain what is the Reproducible Science challenge
+in the modern age of data.
+
+In short, today a scientific result is an experiment producing data *and* a
+numerical processing.  From what I am seeing, the experimental part is more or
+less well described, or let say that people in labs are aware of its importance
+because they have already several decades (even more) of collective learning.
+
+However, not enough people take care about the numerical processing.  Mainly, 
in
+my opinion, because we are living a scientific paradigm shift.  From what I am
+seeing, more than often, it is not understood that more scientific value is in
+the numerical process than really in the data itself (or how they are 
produced).
+Even if I am fully biased because computing is my job and I understand nothing
+about labs.
+
+To guarantee Reproducible Science in the modern age of data, we need to
+guarantee several items, especially:
+ 1. Open Articles
+ 2. Open Data
+ 3. Open Source
+ 4. Controlled computing environment (open, too)
+Today, initiatives have been starting, to name some, about 1. 
[[http://rescience.github.io/][ReScience journal]]
+or french specific [[https://hal.archives-ouvertes.fr/][HAL]], 2.  
[[https://zenodo.org/][Zenodo]] and 3. 
[[https://www.softwareheritage.org/][Software Heritage]].
+
+However, what about the point 4.?
+
+To fix the ideas, let consider some examples I encounter everyday.
+  + Alice use the tool foo-1.2, bar-3.4 and baz-5.6
+  + Carole works with Alice but works for another project with the tools 
foo-7.8
+    and bar-9.0
+  + Charlie upgrades their system and then nothing is working
+  + Bob uses the same versions than Alice but he hits different results
+  + Dan wants to replay the same numerical processing several months (or years)
+    later but he is not able to reinstall the same versions of the tools 
because
+    the tools have been updated breaking the backward compatibility.
+With these scenarii, the idea is to spot concrete issues of the daily life of
+researchers.
+
+Each issue is fixable separately:
+ * package managers fix the dependency hell
+ * virtual environments fix the coexistence of several versions
+ * containers fix the exact same version (and the coexistence).
+But now the nightmare is to work with all these layers.  Wait, Guix already
+provides all we need.
+
+Guix allows to control with a fine grain the toolchain and this control is the
+masterpiece of Reproducible Science.  At in least in my opinion.
+
+The two keys are the binary transparency which allows to track what should be
+wrong and the bootstrapping which is the root ingredient of the former.
+
+Then, it is how Guix works, firstly as an end-user for each scenario and
+secondly some plumbing presented in length elsewhere (FOSDEM, etc.)
diff --git a/talks/bluehats-2019/talk.20191211.pdf 
b/talks/bluehats-2019/talk.20191211.pdf
new file mode 100644
index 0000000..01dd5b6
Binary files /dev/null and b/talks/bluehats-2019/talk.20191211.pdf differ
diff --git a/talks/bluehats-2019/talk.tex b/talks/bluehats-2019/talk.tex
new file mode 100644
index 0000000..9aea272
--- /dev/null
+++ b/talks/bluehats-2019/talk.tex
@@ -0,0 +1,440 @@
+\documentclass[aspectratio=169]{beamer}
+
+\usetheme{default}
+
+\usefonttheme{structurebold}
+\usepackage{helvet}
+\usepackage{multimedia}         % movie
+\usecolortheme{seagull}         % white on black
+
+\usepackage[utf8]{inputenc}
+\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref,xspace,multicol}
+\usepackage[absolute,overlay]{textpos}
+\usepackage{tikz}
+\usetikzlibrary{arrows,shapes,trees,shadows,positioning, 
decorations.pathreplacing}
+\usepackage{fancyvrb}           % for \Verb
+
+\usepackage[french]{babel}
+
+% 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
+
+\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}}}
+\newcommand{\orange}[1]{\textcolor{guixorange1}{\textbf{#1}}}
+\newcommand{\comment}[1]{\textcolor{guixgreen2}{#1}}
+\newcommand{\red}[1]{\textcolor{guixred2}{#1}}
+
+
+\title{GNU Guix: vers la reproductibilité computationnelle}
+
+\author{Simon Tournier}
+\date{BlueHats, Paris, 11 DĂ©cembre 2019}
+\institute{\texttt{address@hidden}}
+
+\setbeamertemplate{navigation symbols}{} % remove the navigation bar
+
+\AtBeginSection[]{
+  \begin{frame}
+    \frametitle{}
+    \tableofcontents[currentsection]
+  \end{frame}
+}
+
+
+\newcommand{\screenshot}[1]{
+  \begin{frame}[plain]
+    \begin{tikzpicture}[remember picture, overlay]
+      \node [at=(current page.center), inner sep=0pt]
+        {\includegraphics[width=\paperwidth]{#1}};
+    \end{tikzpicture}
+  \end{frame}
+}
+
+
+\begin{document}
+
+\begin{frame}[plain, fragile]
+  \vspace{10mm}
+  \titlepage
+
+  \vfill{}
+  Ing. Rech. Calcul Sci. \scriptsize{(+un peu adminsys)}
+
+  \normalsize
+
+  Analyses avec biologistes/médecins
+
+  \tiny{(avant)} \scriptsize{Simul. num. (fem, bem, sys. lin.)}
+  \normalsize
+  \hfill{%
+    \begin{minipage}{0.2\paperwidth}
+      \begin{tabular}{c|c}
+        \includegraphics[width=0.1\paperwidth]{images/diderot_u-paris}
+        &
+          \includegraphics[width=0.04\paperwidth]{images/diderot_u-paris_bis}
+      \end{tabular}
+    \end{minipage}
+  }
+\end{frame}
+
+
+\begin{frame}[plain]
+  \begin{center}
+    \textcolor{guixgreen1}{Résultat scientifique = expérience + traitement 
numérique}
+  \end{center}
+  \begin{tabular}{cclll}
+    \orange{$\rhd$} & expérience &:& comment produire la donnée & 
$\approx$décrit
+    \\
+    \orange{$\rhd$} & trait. num. &:& quels logiciels, paramètres, versions, 
etc. & \alert{?}
+  \end{tabular}
+
+  \vfill{}
+
+  \begin{center}
+    \highlight{Reproductibilité scientifique à l'ére numérique :}
+  \end{center}
+
+  \begin{tabular}{cll}
+    \orange{1.} & Articles accessibles & HAL, ReScience
+    \\
+    \orange{2.} & Données ouvertes & Zenodo
+    \\
+    \orange{3.} & Code source ouvert & Forges, Software Heritage
+    \\
+    \orange{4.} & Environnement d'exécution & \alert{?}
+  \end{tabular}
+
+  \begin{center}
+    {et comment lier tout ca ?}
+  \end{center}
+
+  \vfill{}
+
+    $\left(
+    \begin{tabular}{lcl}
+      reproductibilité &=& vérification\\
+  réplicabilité &=& validation
+    \end{tabular}
+    \right)$
+
+    \vspace{-0.75cm}
+
+  \begin{flushright}
+    \href{https://scibian.org/up/201609/Software_Heritage.pdf}%
+    {\small{R. Di Cosmo@Scibian2016 (lien)}}\\
+    
\href{https://aramis.resinfo.org/wiki/lib/exe/fetch.php?media=pleniaires:aramis_keynote_enjeux-et-defis-recherche-reproductible_konrad_hinsen.pdf}%
+    {\small{K. Hinsen@Aramis2019 (lien)}}
+  \end{flushright}
+\end{frame}
+
+\begin{frame}{Scenarii concrets}
+  \begin{itemize}
+  \item Alice a utilisé les outils numériques \emph{foo-1.2}, \emph{bar-3.4} 
et \emph{baz-5.6}.
+  \item Carole travaille avec Alice \dots \\
+    \hfill{mais utilise aussi les versions \emph{foo-7.8}, \emph{bar-9.0}.}
+  \item Charlie a mis à jour son système et plus rien ne fonctionne.
+  \item Bob utilise les mĂŞmes versions qu'Alice \dots \\
+    \hfill{mais n'obtient pas les mêmes résultats.}
+  \item Dan veut refaire l'analyse des mois (années?) plus tard \dots\\
+    \hfill{mais rencontre le \emph{dependencies hell}\footnote{au mieux}.}
+  \end{itemize}
+  \begin{center}
+    \highlight{Solution(s)}
+  \end{center}
+
+  \vspace{-0.6cm}
+
+  \begin{tikzpicture}[decoration=brace]
+    \node[text width=0.6\paperwidth] (box)
+    {
+      \begin{enumerate}
+      \item \textbf{gestionnaire de paquets}: \texttt{apt}, \texttt{yum}, etc.
+      \item \textbf{environnement virtuel}: \texttt{conda}, 
\texttt{modulefiles}, etc.
+      \item \textbf{conteneur}: Docker, Singularity, etc.
+      \end{enumerate}
+    };
+    \draw [decorate] (box.north east) --node[right=10pt]{\alert{Guix}} 
(box.south east);
+  \end{tikzpicture}
+
+
+
+\end{frame}
+
+
+\begin{frame}{Guix en résumé}
+  \begin{enumerate}
+  \item outil de gestion de paquets: paradigme fonctionnel et transactionnel
+  \item gestionnaire d'environnements
+  \item permet générer des conteneurs
+  \item fournit des outils (biblio. Scheme) pour adapter Ă  ses propres 
spécificités
+  \end{enumerate}
+
+  \vfill{}
+  \begin{center}
+    \highlight{Contrôle (fin) sur la chaîne de dépendances}
+  \end{center}
+
+  \vfill{}
+
+  \begin{tabular}{cll}
+  \alert{$\star\star$} & Reproductibilité binaire &
+    \scriptsize{(du moins permet de la tracer)}\normalsize \\
+    \alert{$\star\star$} & \emph{Bootstrap} &
+    \scriptsize{(binaire${}_{n}$ $\leftarrow$ source + 
binaire${}_{n-1}$)}\normalsize
+  \end{tabular}
+\end{frame}
+
+\begin{frame}[fragile]
+  \begin{semiverbatim}
+    \small{
+      \comment{\# Alice}
+      guix \alert{install} foo@1.2 bar@3.4 baz@5.6       \comment{\# -m 
manifest.scm}
+      guix \alert{describe} -f channels > \red{alice-conf.scm}
+
+      \comment{\# Carole}
+      guix install \alert{--profile}=./avec-alice foo@1.2 bar@3.4 baz@5.6
+      guix install foo@7.8 bar@9.0
+
+      \comment{\# Charlie}
+      guix package \alert{--roll-back}                   \comment{\# 
generations}
+
+      \comment{\# Bob}
+      guix \alert{pull --channels}=\red{alice-conf.scm}
+      guix \alert{pack} -f docker ...                    \comment{# -f 
squashfs}
+
+      \comment{\# Dan}
+      guix \alert{time-machine} -C \red{alice-conf.scm} -- install foo@1.2 
bar@3.4 baz@5.6
+    }
+  \end{semiverbatim}
+\end{frame}
+
+\setbeamercolor{normal text}{fg=black,bg=white}
+\begin{frame}[fragile]
+  \vspace{2.5cm}
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt, rotate=-90,
+    drop shadow={opacity=0.5}, draw, color=guixgrey, line width=1pt]
+    {\includegraphics[height=1.4\paperheight]{images/guix-refcard}};
+  \end{tikzpicture}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\begin{frame}{DĂ©ploiement sur Clusters}
+  \large{
+    \begin{tabular}{lcrl}
+      \highlight{Max DelbrĂĽck Center} &(DE):& 250-node &+ workstations \\
+      \highlight{UMC Utrecht} &(NL):& 68-node  &(1,000+ cores)\\
+      \highlight{University of Queensland} &(AU):& 20-node  &(900 cores)\\
+      \highlight{PlaFRIM Inria Bordeaux} &(FR):& 120-node   &(3000+ cores)\\
+      \highlight{GriCAD Grenoble} &(FR):& 72-node  &(1000+ cores)\\
+      \highlight{CCIPL Nantes} &(FR):& 230-node  &(4000+ cores)\\
+      \quad (le votre ?)\\
+    \end{tabular}
+  }
+  \begin{center}
+    \includegraphics[height=0.3\paperheight]{images/guixhpc-logo-transparent}
+
+    \url{https://guix-hpc.bordeaux.inria.fr}
+  \end{center}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=black}
+\begin{frame}[fragile]{Survol technique}
+
+  \begin{semiverbatim}
+    \Large{
+guix build pastix \only<2>{\alert{--with-source=}./my-pastix.tar.gz} 
\only<3>{\alert{--with-input=}lapack=my-lapack}
+\uncover<4->{/gnu/store/\tikz[baseline]{\node[anchor=base](nixhash){\alert<4>{h2g4sf72\textrm{...}}}}-pastix-6.0.2}
+
+\uncover<5->{{guix \alert<5>{gc --references} 
/gnu/store/\textrm{...}-pastix-6.0.2}
+/gnu/store/3fa68b5\textrm{...}-glibc-2.24
+/gnu/store/bd9c330\textrm{...}-gcc-4.9.3-lib
+/gnu/store/ca175fd\textrm{...}-pastix-6.0.2
+}}
+  \end{semiverbatim}
+
+  \begin{tikzpicture}[overlay]
+    \node<1-3>(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<4>(labelnixhash) [fill=white, text=black] at (4cm, 2cm) {%
+      hash de \textbf{toutes} les dépendances};
+    \path[->]<4>(labelnixhash.north) edge [bend left, in=180, out=-45] 
(nixhash.south);
+
+    \draw<6-> (-10pt, 105pt) [very thick, color=guixorange2, rounded 
corners=8pt]
+      arc (10:-50:-50pt and 110pt);
+    \node<6->[fill=white, text=black, text opacity=1, opacity=.7,
+          rounded corners=2mm, inner sep=5mm]
+      at (7, 2) {\textbf{\Large{(presque) bit-identique pour tout le monde}}};
+  \end{tikzpicture}
+
+  \begin{semiverbatim}
+    \Large{
+    }
+  \end{semiverbatim}
+
+\end{frame}
+
+
+\setbeamercolor{normal text}{bg=guixgrey}
+\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(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      [at=(current page.south), anchor=south,
+                    inner sep=2mm, rounded corners, fill=black, text 
width=11.75cm,
+                    opacity=.3, text opacity=1] {
+                      
\href{https://www.softwareheritage.org/2019/04/18/software-heritage-and-gnu-guix-join-forces-to-enable-long-term-reproducibility/}%
+                      {SWH and Guix join forces to enable long term 
reproductibility (lien)}
+    };
+
+    \path[very thick, draw=guixorange1]
+      (swh) edge [out=-90, in=0, ->] (commit);
+  \end{tikzpicture}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\setbeamercolor{normal text}{fg=black,bg=white}
+\begin{frame}[plain]{Dans un monde \emph{idéal}}
+  \vspace{-0.9cm}
+  \includegraphics[width=\textwidth]{images/big-picture-3}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\begin{frame}{(Venez (partager (les (parenthèses !))))}
+  \Large{
+    \begin{itemize}
+    \item \textbf{installez}
+      \begin{center}
+        
\href{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh}{\texttt{https://.../guix-install.sh}}
+      \end{center}
+      \vspace{0.5cm}
+    \item \textbf{utilisez}, rapportez des problèmes, empaquetez
+      \begin{center}
+        \url{https://issues.guix.gnu.org/}
+      \end{center}
+      \vspace{0.5cm}
+    \item \textbf{partagez} vos \highlight{idées} !
+      \begin{center}
+        \texttt{address@hidden}
+
+        \vspace{0.5cm}
+
+        \texttt{\#guix} \small{(irc.freenode.net)}
+      \end{center}
+    \end{itemize}
+  }
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{frame}[plain]
+  \vfill{
+    \vspace{1.5cm}
+    \center{\includegraphics[width=0.3\textwidth]{images/Guix-white}}\\[1.0cm]
+    \texttt{address@hidden}\hfill{\alert{\url{https://guix.gnu.org}}}
+  }
+\end{frame}
+
+\begin{frame}{}
+
+  \begin{textblock}{12}(2, 8)
+    \tiny{
+      Copyright \copyright{} 2019 Simon Tournier 
\texttt{address@hidden}.\\[3.0mm]
+      GNU Guix logo, CC-BY-SA 4.0, \url{https://gnu.org/s/guix/graphics}
+
+      GNU~Guix Reference Card under GFDL~1.3+.
+
+      Copyright of other images included in this document is held by
+      their respective owners; especially from Ludovic Courtès.
+      \\[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{http://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: "french"
+% End:



reply via email to

[Prev in Thread] Current Thread [Next in Thread]