From d56184b4525453bc6157e212b0338a7e82d15b87 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Tue, 20 Aug 2019 01:48:39 +0530 Subject: Git commits in slide now have a checksum The fact that we only displayed the Git checksum before showing it in the paper could be a little confusing to people not much familiar with Git. So a commit checksum (taken randomly from the history of these slides) was added to it. Also, some minor changes were done here and there. --- img/verified.png | Bin 0 -> 869599 bytes reproducible-paper.tex | 146 ++++++++++++++++++++++++++----------------------- tex/git-branch.tex | 119 ++++++++++++++++++++++------------------ tex/project-graph.tex | 5 ++ 4 files changed, 148 insertions(+), 122 deletions(-) create mode 100644 img/verified.png diff --git a/img/verified.png b/img/verified.png new file mode 100644 index 0000000..7c03c44 Binary files /dev/null and b/img/verified.png differ diff --git a/reproducible-paper.tex b/reproducible-paper.tex index 413b72d..ca039ec 100644 --- a/reproducible-paper.tex +++ b/reproducible-paper.tex @@ -27,8 +27,8 @@ } %% Set the date and insitutional logos. -\date{\scriptsize \href{https://ifas5.sciencesconf.org}{5th - Indo-French Astronomy School}, \href{http://www.iucaa.in}{IUCAA}, Pune (India),\\August 21st, 2019\\ +\date{\scriptsize August 21st, 2019\\\href{https://ifas5.sciencesconf.org}{5th + Indo-French Astronomy School}, \href{http://www.iucaa.in}{IUCAA}, Pune (India),\\ \vspace{0.1cm} Slides available at \textcolor{blue}{\url{http://akhlaghi.org/pdf/reproducible-paper.pdf}}} @@ -100,7 +100,7 @@ \newcommand{\imgtdir}{/home/mohammad/documents/personal/professional/astronomy/talks/in-prep/images} - \begin{frame}{Reproducibility is critically important for astronomy} + \begin{frame}{Reproducibility is critically important in the sciences (example from astronomy)} \small \begin{columns} \column{6cm} Example: Detecting outer regions of M51 in a @@ -209,56 +209,6 @@ - \begin{frame}[t]{Types of reproducibility} - \vspace{-5mm} - \begin{columns}[t] - \column{0.5\linewidth} - \begin{center} - \large\textbf{Hardware/Statistical reproducibility} - \rule{0.5\linewidth}{1pt} - \end{center} - \begin{itemize} - \setlength\itemsep{0.5em} - \item Involves data \alert{collection}. - \item Inherently includes \alert{measurements errors}\\(can - never be exactly reproduced). - \item Example: Raw telescope image/spectra. - \item \alert{\textbf{NOT DISCUSSED HERE.}} - \end{itemize} - - \vspace{3.5mm} - \begin{center} - \vspace{-5mm} - \includegraphics[width=0.7\linewidth]{img/hale-prime-focus.jpg}\\ - \vspace{-0.6mm} - \tiny \href{http://slittlefair.staff.shef.ac.uk/teaching/phy217/lectures/telescopes/L07/index.html}{http://slittlefair.staff.shef.ac.uk} - \end{center} - - \column{0.5\linewidth} - \begin{center} - \large\textbf{Software/Deterministic reproducibility} - \rule{0.5\linewidth}{1pt} - \end{center} - \begin{itemize} - \setlength\itemsep{1em} - \item Involves data \alert{analysis}, or simulations. - \item Starts \alert{after} data is collected/digitized. - \item Example: $2+2=4$ (i.e., sum of datasets). - \item \textbf{\textcolor{green!50!black}{DISCUSSED HERE.}} - \end{itemize} - - \centering - \vspace{3mm} - \includegraphics[width=0.8\linewidth]{img/digital-tunnel.jpg}\\ - \vspace{-0.6mm} - \tiny \href{https://tsongas.com/newsletter_articles/the-new-electronic-version-of-the-advantage/digital-tunnel-wallpaper/}{https://tsongas.com} - \end{columns} - \end{frame} - - - - - %% Step-by-step slides. \newcommand{\allopacity}{1} \begin{frame}{General outline of a project} \include{tex/project-graph} \end{frame} @@ -323,6 +273,8 @@ \begin{frame}{General outline of a project} \include{tex/project-graph} \end{frame} \newcommand{\humanerr}{} \begin{frame}{General outline of a project} \include{tex/project-graph} \end{frame} + \newcommand{\confirmbias}{} + \begin{frame}{General outline of a project} \include{tex/project-graph} \end{frame} \newcommand{\depupdate}{} \begin{frame}{General outline of a project} \include{tex/project-graph} \end{frame} \newcommand{\coauth}{} @@ -399,6 +351,57 @@ + + \begin{frame}[t]{Types of reproducibility} + \vspace{-5mm} + \begin{columns}[t] + \column{0.5\linewidth} + \begin{center} + \large\textbf{Hardware/Statistical reproducibility} + \rule{0.5\linewidth}{1pt} + \end{center} + \begin{itemize} + \setlength\itemsep{0.5em} + \item Involves data \alert{collection}. + \item Inherently includes \alert{measurements errors}\\(can + never be exactly reproduced). + \item Example: Raw telescope image/spectra. + \item \alert{\textbf{NOT DISCUSSED HERE.}} + \end{itemize} + + \vspace{3.5mm} + \begin{center} + \vspace{-5mm} + \includegraphics[width=0.7\linewidth]{img/hale-prime-focus.jpg}\\ + \vspace{-0.6mm} + \tiny \href{http://slittlefair.staff.shef.ac.uk/teaching/phy217/lectures/telescopes/L07/index.html}{http://slittlefair.staff.shef.ac.uk} + \end{center} + + \column{0.5\linewidth} + \begin{center} + \large\textbf{Software/Deterministic reproducibility} + \rule{0.5\linewidth}{1pt} + \end{center} + \begin{itemize} + \setlength\itemsep{1em} + \item Involves data \alert{analysis}, or simulations. + \item Starts \alert{after} data is collected/digitized. + \item Example: $2+2=4$ (i.e., sum of datasets). + \item \textbf{\textcolor{green!50!black}{DISCUSSED HERE.}} + \end{itemize} + + \centering + \vspace{3mm} + \includegraphics[width=0.8\linewidth]{img/digital-tunnel.jpg}\\ + \vspace{-0.6mm} + \tiny \href{https://tsongas.com/newsletter_articles/the-new-electronic-version-of-the-advantage/digital-tunnel-wallpaper/}{https://tsongas.com} + \end{columns} + \end{frame} + + + + + \newcommand{\focusonpackages}{} \begin{frame}{General outline of a project} \include{tex/project-graph} \end{frame} \let\focusonpackages\undefined @@ -847,6 +850,8 @@ + + \begin{frame}{New projects branch from template} \include{tex/git-branch} \end{frame} \newcommand{\projinit}{} \begin{frame}{New projects branch from template} \include{tex/git-branch} \end{frame} @@ -860,22 +865,8 @@ \begin{frame}{New projects branch from template} \include{tex/git-branch} \end{frame} \newcommand{\githappy}{} \begin{frame}{New projects branch from template} \include{tex/git-branch} \end{frame} - - - - - \begin{frame}{Project source and its execution} - \begin{tcolorbox} - Programs \textcolor{gray}{[here: Scientific projects]} must be - written for \alert{people to read}... - - \hfill ...and only \emph{incidentally} for machines to - \emph{execute}. - - \vspace{2mm} - \hfill \footnotesize Harold Abelson, Structure and Interpretation of Computer Programs - \end{tcolorbox} - \end{frame} + \newcommand{\gitverified}{} + \begin{frame}{New projects branch from template} \include{tex/git-branch} \end{frame} @@ -913,6 +904,23 @@ + \begin{frame}{Project source and its execution} + \begin{tcolorbox} + Programs \textcolor{gray}{[here: Scientific projects]} must be + written for \alert{people to read}... + + \hfill ...and only \emph{incidentally} for machines to + \emph{execute}. + + \vspace{2mm} + \hfill \footnotesize Harold Abelson, Structure and Interpretation of Computer Programs + \end{tcolorbox} + \end{frame} + + + + + \begin{frame}{Future prospects...} \large Adoption of reproducibility by many researchers will enable the following: diff --git a/tex/git-branch.tex b/tex/git-branch.tex index 9a2666a..9f1bc37 100644 --- a/tex/git-branch.tex +++ b/tex/git-branch.tex @@ -45,50 +45,59 @@ %% circles. %% Template commits. - \ifdefined\tofuture - \foreach \y in {0.55,...,7} - \draw [fill=green!80!blue, opacity=0.5] (0,\y) circle [radius=2.1mm]; - \else - \ifdefined\tempevolve - \foreach \y in {0.55,...,5} - \draw [fill=green!80!blue, opacity=0.5] (0,\y) circle [radius=2.1mm]; - \else - \foreach \y in {0.55,...,2.5} - \draw [fill=green!80!blue, opacity=0.5] (0,\y) circle [radius=2.1mm]; + \draw[anchor=north] (0,0) node {\textbf{Template}}; + \draw [fill=green!80!blue, opacity=0.5] (0,0.55cm) circle [radius=2.1mm]; + \draw[anchor=east] (-5pt,0.55cm) node {\tiny\texttt{ad2c476}}; + \draw [fill=green!80!blue, opacity=0.5] (0,1.55cm) circle [radius=2.1mm]; + \draw[anchor=east] (-5pt,1.55cm) node {\tiny\texttt{706c644}}; + \ifdefined\tempevolve + \draw [fill=green!80!blue, opacity=0.5] (0,2.55cm) circle [radius=2.1mm]; + \draw[anchor=east] (-5pt,2.55cm) node {\tiny\texttt{fa2ac10}}; + \draw [fill=green!80!blue, opacity=0.5] (0,3.55cm) circle [radius=2.1mm]; + \draw[anchor=east] (-5pt,3.55cm) node {\tiny\texttt{1e06fe2}}; + \draw [fill=green!80!blue, opacity=0.5] (0,4.55cm) circle [radius=2.1mm]; + \draw[anchor=east] (-5pt,4.55cm) node {\tiny\texttt{32043ee}}; + \ifdefined\tofuture + \draw [fill=green!80!blue, opacity=0.5] (0,5.55cm) circle [radius=2.1mm]; + \draw[anchor=east] (-5pt,5.55cm) node {\tiny\texttt{2d808f2}}; + \draw [fill=green!80!blue, opacity=0.5] (0,6.55cm) circle [radius=2.1mm]; + \draw[anchor=east] (-5pt,6.55cm) node {\tiny\texttt{a4d96c0}}; \fi \fi + %% Project commits. \ifdefined\projinit - \draw[anchor=north] (1,1.7) node {Project}; - - \ifdefined\tofuture - \foreach \y in {2,...,6} - \draw [fill=red!60!green, opacity=0.5] (0.95,\y) circle [radius=2.1mm]; - \else + \draw[anchor=north] (1,1.7) node {\textbf{Project}}; + \draw [fill=red!60!green, opacity=0.5] (0.95,2) circle [radius=2.1mm]; + \draw[anchor=west] (1.1,2) node {\tiny\texttt{53b53d6}}; + \ifdefined\projwork + \draw [fill=red!60!green, opacity=0.5] (0.95,3) circle [radius=2.1mm]; + \draw[anchor=west] (1.1,3) node {\tiny\texttt{9f8cc74}}; + \draw [fill=red!60!green, opacity=0.5] (0.95,4) circle [radius=2.1mm]; + \draw[anchor=west] (1.1,4) node {\tiny\texttt{8ebb784}}; \ifdefined\mergewithtemp - \foreach \y in {2,...,5} - \draw [fill=red!60!green, opacity=0.5] (0.95,\y) circle [radius=2.1mm]; - \else - \ifdefined\projwork - \foreach \y in {2,...,4.9} - \draw [fill=red!60!green, opacity=0.5] (0.95,\y) circle [radius=2.1mm]; - \else - \foreach \y in {2,...,2.9} - \draw [fill=red!60!green, opacity=0.5] (0.95,\y) circle [radius=2.1mm]; + \draw [fill=red!60!green, opacity=0.5] (0.95,5) circle [radius=2.1mm]; + \draw[anchor=west] (1.1,5) node {\tiny\texttt{01ce2cc}}; + \ifdefined\tofuture + \draw [fill=red!60!green, opacity=0.5] (0.95,6) circle [radius=2.1mm]; + \draw[anchor=west] (1.1,6) node {\tiny\texttt{b52cc6f}}; \fi \fi \fi \fi - \draw[anchor=north] (0,0) node {Template}; - %% Happy scientist \ifdefined\githappy \node [inner sep=0pt] at (3.5,4) {\includegraphics[width=2cm]{img/happy.jpg}}; \node [inner sep=0pt] at (4.15,5.3) {\includegraphics[width=0.2cm]{img/checkmark.png}}; - \draw[anchor=east] (2.4,6) node {\footnotesize\texttt{5cfe2eab}}; - \draw[anchor=south] (4.5,5) node [rotate=20] {\tiny\texttt{5cfe2eab}}; + \draw [<->, red, line width=0.2mm] plot [smooth, tension=2] coordinates + { (1.9,6.15) (4,6) (4.8,5.25) }; + \draw[anchor=south] (4.5,5) node [rotate=20] {\tiny\texttt{b52cc6f}}; + + \ifdefined\gitverified + \node [inner sep=0pt] at (3.5,1.5) {\includegraphics[width=3cm]{img/verified.png}}; + \fi \fi \end{tikzpicture} @@ -98,29 +107,33 @@ \begin{itemize} \setlength\itemsep{0.3cm} \item Template's history is recorded. - \ifdefined\projinit - \item New project: a branch from the template. - \fi - \ifdefined\projwork - \item Research progresses in the project branch. - \fi - \ifdefined\tempevolve - \item Template will evolve (improved infrastructure). - \fi - \ifdefined\mergewithtemp - \item Template can be imported/merged back into project. - \fi - \ifdefined\tofuture - \item The template and project will \alert{evolve}. - \fi - \ifdefined\githappy - \item During research this \alert{encourages creative tests}\\ - (previous research states can easily be retrieved). - \item \alert{Coauthors} can work on same project in parallel - \\(separate project branches). - \item Upon publication, the \alert{Git hash} is enough to verify the - integrity of the result. - - \fi + \ifdefined\projinit + \item New project: a branch from the template. + \fi + \ifdefined\projwork + \item Research progresses in the project branch. + \fi + \ifdefined\tempevolve + \item Template will evolve (improved infrastructure). + \fi + \ifdefined\mergewithtemp + \item Template can be imported/merged back into project. + \fi + \ifdefined\tofuture + \item The template and project will \alert{evolve}. + \item During research this \alert{encourages creative tests}\\ + (previous research states can easily be retrieved). + \item \alert{Coauthors} can work on same project in parallel + \\(separate project branches). + \fi + \ifdefined\githappy + \item Upon \alert{publication}, the \alert{Git checksum} is enough + to verify the integrity of the result. + \fi \end{itemize} + + \ifdefined\gitapproved + \vspace{4mm} + \tiny ``Verified'' image from \href{https://www.vectorstock.com/royalty-free-vector/red-vintage-verified-stamp-retro-style-on-white-vector-22770076}{vectorstock.com} + \fi \end{columns} diff --git a/tex/project-graph.tex b/tex/project-graph.tex index 1ed5b73..07d5d67 100644 --- a/tex/project-graph.tex +++ b/tex/project-graph.tex @@ -140,6 +140,11 @@ [rbox, above=of runopt, yshift=-8mm, opacity=\ppopacity] {Human error?}; \fi + \ifdefined\confirmbias + \node (confirmbias) + [rbox, above=of humanerr, yshift=-8mm, opacity=\ppopacity] + {Confirmation bias?}; + \fi \ifdefined\depupdate \node (depupdate) [rbox, below=of srun, yshift=+8mm, opacity=\ppopacity] -- cgit v1.2.1