[Reproducible-commits] [presentations] 02/02: start preparing Cambrdige talk. mental summary: 'the other 66%'
Holger Levsen
holger at moszumanska.debian.org
Sat Oct 31 15:59:33 UTC 2015
This is an automated email from the git hooks/post-receive script.
holger pushed a commit to branch master
in repository presentations.
commit 45e8866e49a82da827ed900b79df1572c8825ca2
Author: Holger Levsen <holger at layer-acht.org>
Date: Sat Oct 31 09:58:29 2015 -0600
start preparing Cambrdige talk. mental summary: 'the other 66%'
---
.../2015-11-06-MiniDebConfCambridge.tex | 1065 ++++++++++++++++++++
2015-11-06-MiniDebConfCambridge/Makefile | 36 +
2015-11-06-MiniDebConfCambridge/images/31c3.png | Bin 0 -> 435876 bytes
.../images/bug_chart.pdf | Bin 0 -> 14494 bytes
.../images/cii_logo.png | Bin 0 -> 7099 bytes
.../images/diffoscope_example_html.png | Bin 0 -> 98085 bytes
.../images/diffoscope_example_text.png | Bin 0 -> 64829 bytes
.../images/diffoscope_logo.png | Bin 0 -> 2335 bytes
.../images/examples/build_date_in_makefile.png | Bin 0 -> 39671 bytes
.../images/examples/cpp_macros_1.png | Bin 0 -> 29557 bytes
.../images/examples/cpp_macros_2.png | Bin 0 -> 40992 bytes
.../images/examples/date_in_configure.png | Bin 0 -> 50627 bytes
.../images/examples/date_in_m4.png | Bin 0 -> 37409 bytes
.../images/examples/docbook-to-man.png | Bin 0 -> 15216 bytes
.../images/examples/embedded_kernel_version.png | Bin 0 -> 65820 bytes
.../images/examples/fileorder_python-support.png | Bin 0 -> 62937 bytes
.../images/examples/hostname_in_configure.png | Bin 0 -> 50649 bytes
.../images/examples/hostname_in_m4.png | Bin 0 -> 37368 bytes
.../images/examples/locale_in_docutils.png | Bin 0 -> 47158 bytes
.../images/examples/random_order_in_python_ns.png | Bin 0 -> 10378 bytes
.../images/examples/random_order_in_tarball.png | Bin 0 -> 87551 bytes
.../images/examples/random_order_in_texi2html.png | Bin 0 -> 71911 bytes
.../images/examples/random_perl_hash_order.png | Bin 0 -> 63535 bytes
.../images/examples/random_python_import_order.png | Bin 0 -> 56626 bytes
.../images/examples/random_serials_in_ogg.png | Bin 0 -> 100057 bytes
.../examples/temp_filenames_in_ocaml_lib.png | Bin 0 -> 62994 bytes
.../examples/timestamp_dependent_rebuilds.png | Bin 0 -> 42071 bytes
.../images/examples/timestamps_by_cheetah.png | Bin 0 -> 59056 bytes
.../images/examples/timestamps_by_doxygen.png | Bin 0 -> 27077 bytes
.../images/examples/timestamps_by_epydoc.png | Bin 0 -> 45545 bytes
.../images/examples/timestamps_by_ghostscript.png | Bin 0 -> 37304 bytes
.../images/examples/timestamps_by_groff.png | Bin 0 -> 40796 bytes
.../images/examples/timestamps_by_javadoc.png | Bin 0 -> 61404 bytes
.../images/examples/timestamps_by_latex.png | Bin 0 -> 56466 bytes
.../images/examples/timestamps_by_man2html.png | Bin 0 -> 24372 bytes
.../images/examples/timestamps_by_maven.png | Bin 0 -> 18542 bytes
.../images/examples/timestamps_by_pyqt4.png | Bin 0 -> 21948 bytes
.../images/examples/timestamps_by_sphinx.png | Bin 0 -> 25858 bytes
.../images/examples/timestamps_in_ada_ali.png | Bin 0 -> 51226 bytes
.../images/examples/timestamps_in_beam.png | Bin 0 -> 41373 bytes
.../images/examples/timestamps_in_dot_a.png | Bin 0 -> 58119 bytes
.../images/examples/timestamps_in_dvi.png | Bin 0 -> 21735 bytes
.../images/examples/timestamps_in_epub.png | Bin 0 -> 113197 bytes
.../images/examples/timestamps_in_groovydoc.png | Bin 0 -> 49357 bytes
.../images/examples/timestamps_in_gzip.png | Bin 0 -> 21093 bytes
.../images/examples/timestamps_in_header_files.png | Bin 0 -> 49674 bytes
.../images/examples/timestamps_in_help2man.png | Bin 0 -> 37065 bytes
.../images/examples/timestamps_in_jar.png | Bin 0 -> 37405 bytes
.../images/examples/timestamps_in_pe.png | Bin 0 -> 26532 bytes
.../images/examples/timestamps_in_php_reg.png | Bin 0 -> 11094 bytes
.../images/examples/timestamps_in_png.png | Bin 0 -> 32007 bytes
.../examples/timestamps_in_python_version.png | Bin 0 -> 51672 bytes
.../examples/timestamps_in_qmake_makefile.png | Bin 0 -> 39861 bytes
.../images/examples/timestamps_in_ruby_gemspec.png | Bin 0 -> 46317 bytes
.../examples/timestamps_in_static_library.png | Bin 0 -> 32888 bytes
.../images/examples/timestamps_in_tarball.png | Bin 0 -> 41909 bytes
.../images/examples/timestamps_in_texi2html.png | Bin 0 -> 43640 bytes
.../images/examples/timestamps_in_ttf.png | Bin 0 -> 52878 bytes
.../images/examples/timestamps_in_zip.png | Bin 0 -> 42951 bytes
.../images/examples/timestamps_timezone_in_pot.png | Bin 0 -> 31975 bytes
.../images/examples/user_and_group_in_tarball.png | Bin 0 -> 34512 bytes
.../images/examples/whoami_in_m4.png | Bin 0 -> 37363 bytes
.../images/examples/wordwarvi.png | Bin 0 -> 37531 bytes
.../images/linux_foundation_logo.png | Bin 0 -> 10163 bytes
.../images/openlogo-nd.pdf | Bin 0 -> 3168 bytes
.../images/profitbricks_logo.png | Bin 0 -> 3778 bytes
2015-11-06-MiniDebConfCambridge/images/rbwww1.png | Bin 0 -> 53235 bytes
2015-11-06-MiniDebConfCambridge/images/rbwww2.png | Bin 0 -> 37801 bytes
.../images/stats_bugs.png | Bin 0 -> 58328 bytes
.../images/stats_pkg_state.png | Bin 0 -> 29377 bytes
.../images/strawhorse.png | Bin 0 -> 226278 bytes
.../images/swirl-lightest.pdf | Bin 0 -> 3540 bytes
.../images/wholeworld.jpg | Bin 0 -> 156812 bytes
2015-11-06-MiniDebConfCambridge/notes | 21 +
2015-11-06-MiniDebConfCambridge/outline | 58 ++
75 files changed, 1180 insertions(+)
diff --git a/2015-11-06-MiniDebConfCambridge/2015-11-06-MiniDebConfCambridge.tex b/2015-11-06-MiniDebConfCambridge/2015-11-06-MiniDebConfCambridge.tex
new file mode 100644
index 0000000..b69c631
--- /dev/null
+++ b/2015-11-06-MiniDebConfCambridge/2015-11-06-MiniDebConfCambridge.tex
@@ -0,0 +1,1065 @@
+\documentclass[14pt]{beamer}
+\setbeamertemplate{caption}[numbered]
+\setbeamertemplate{caption label separator}{:}
+\setbeamercolor{caption name}{fg=normal text.fg}
+\usepackage{amssymb,amsmath}
+\usepackage{ifxetex,ifluatex}
+\usepackage{fixltx2e} % provides \textsubscript
+\usepackage{lmodern}
+\ifxetex
+ \usepackage{fontspec,xltxtra,xunicode}
+ \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
+ \newcommand{\euro}{€}
+\else
+ \ifluatex
+ \usepackage{fontspec}
+ \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
+ \newcommand{\euro}{€}
+ \else
+ \usepackage[T1]{fontenc}
+ \usepackage[utf8]{inputenc}
+ \fi
+\fi
+% use upquote if available, for straight quotes in verbatim environments
+\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
+% use microtype if available
+\IfFileExists{microtype.sty}{\usepackage{microtype}}{}
+\PassOptionsToPackage{hyphens}{url}
+\usepackage{hyperref}
+\usepackage{ulem}
+
+% Comment these out if you don't want a slide with just the
+% part/section/subsection/subsubsection title:
+\AtBeginPart{
+ \let\insertpartnumber\relax
+ \let\partname\relax
+ \frame{\partpage}
+}
+\AtBeginSection{
+ \let\insertsectionnumber\relax
+ \let\sectionname\relax
+ \begin{frame}[plain]
+ \tableofcontents[currentsection]
+ \end{frame}
+}
+\AtBeginSubsection{
+ \let\insertsubsectionnumber\relax
+ \let\subsectionname\relax
+ \frame{\subsectionpage}
+}
+
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{6pt plus 2pt minus 1pt}
+\setlength{\emergencystretch}{3em} % prevent overfull lines
+\setcounter{secnumdepth}{0}
+% Thanks Richard Darst on how to get a nice Beamer theme.
+% See http://rkd.zgib.net/wiki/DebianBeamerThemes
+
+\usepackage{ctable}
+\usepackage{multicol}
+\usepackage{tikz}
+\usetikzlibrary{positioning}
+
+\usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/swirl-lightest.pdf}}
+\logo{\includegraphics[viewport=274 335 360 440,width=1cm]{images/openlogo-nd.pdf}}
+
+\definecolor{debianred}{rgb}{.780,.000,.211} % 199,0,54
+\definecolor{debianblue}{rgb}{0,.208,.780} % 0,53,199
+\definecolor{debianlightbackgroundblue}{rgb}{.941,.941,.957} % 240,240,244
+\definecolor{debianbackgroundblue}{rgb}{.776,.784,.878} % 198,200,224
+
+\usetheme{Boadilla}
+\setbeamertemplate{navigation symbols}{}
+
+\usecolortheme[named=debianbackgroundblue]{structure}
+\setbeamercolor{normal text}{fg=black}
+\setbeamercolor{titlelike}{fg=debianblue}
+\setbeamercolor{sidebar}{fg=debianred,bg=debianbackgroundblue}
+
+\setbeamercolor{palette sidebar primary}{fg=debianred}
+\setbeamercolor{palette sidebar secondary}{fg=debianred}
+\setbeamercolor{palette sidebar tertiary}{fg=debianred}
+\setbeamercolor{palette sidebar quaternary}{fg=debianred}
+
+\setbeamercolor{section in toc}{fg=debianred}
+\setbeamercolor{subsection in toc}{parent=debianred}
+
+\setbeamercolor{item}{fg=debianred}
+
+\setbeamercolor{block title}{fg=debianblue}
+
+\title[Reproducible builds]{Stretching out for trustworthy reproducible builds}
+\subtitle{Creating bit-by-bit identical binaries}
+\author[Holger Levsen]{%
+ \texorpdfstring{
+ Holger 'h01ger' Levsen\\
+ \href{mailto:holger at debian.org}{\texttt{holger at debian.org}}
+ }{Reproducible builds team}}
+\institute[Debian]{}
+\date[FSL.mx 2015]{%
+ Festival de Software Libre 2015,\\
+ Puerto Vallarta, Mexico\\
+ \small
+ 2015-10-30}
+
+\begin{document}
+
+\begin{frame}
+ \titlepage
+\end{frame}
+
+\begin{frame}
+ \frametitle{about me and this talk}
+ \begin{itemize}
+ \item Por favor disculpa mi, pero este charla esta in ingles…
+ \only<2>{\item Please tell me to slow down.
+ \item This is a quite complex and sometimes complicated topic. Don't worry
+ if you miss some bits, the slides are available on the net.}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{about me}
+
+ \begin{itemize}
+ \item Debian user since 1995
+ \item Debian contributor since 2001
+ \item Debian developer since 2007
+ \item ex DebConf organizer, founded the DebConf video team (video.debian.net)
+ \item Debian-Edu (Debian for education)
+ \item Debian QA (quality assurance)
+ \begin{itemize}
+ \item piuparts.debian.org
+ \item jenkins.debian.net (900 jobs continously testing Debian)
+ \end{itemize}
+ \item Debian LTS (Long Term Support)
+ \item\only<2-3>{ \texttt{sudo apt-get install torbrowser-launcher}}
+ \item\only<3>{Ask me anything! I do key signing too.}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Debian reproducible builds team}
+ \begin{center}
+ \begin{columns}
+ \small
+ \column{.33\linewidth}
+ {akira} \\
+ {Andrew Ayer} \\
+ {Asheesh Laroia} \\
+ {Chris Lamb} \\
+ Chris West \\
+ {Christoph Berg} \\
+ {Daniel Kahn Gillmor} \\
+ David Suarez \\
+ {Dhole} \\
+ Drew Fisher \\
+ Esa Peuha \\
+ {Guillem Jover} \\
+ \column{.33\linewidth}
+ Hans-Christoph Steiner \\
+ {Helmut Grohne} \\
+ \only<1>{Holger Levsen}\only<2>{{\color{debianblue} Holger Levsen}} \\
+ Jelmer Vernooij \\
+ {josch} \\
+ Juan Picca \\
+ {Lunar} \\
+ Mathieu Bridon \\
+ {Mattia Rizzolo} \\
+ Nicolas Boulenguez \\
+ {Niels Thykier} \\
+ Niko Tyni \\
+ \column{.33\linewidth}
+ {Paul Wise} \\
+ Peter De Wachter \\
+ Philip Rinn \\
+ {Reiner Herrmann} \\
+ {Stefano Rivera} \\
+ {Stéphane Glondu} \\
+ {Steven Chamberlain} \\
+ Tom Fitzhenry \\
+ Valentin Lorentz \\
+ {Wookey} \\
+ {Ximin Luo} \\
+ \end{columns}
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Who are you?}
+ \only<2-5>{Who is using Linux on the desktop?}\only<3-5>{ Debian?\\}
+ \only<4-5>{Who is using only Linux on the desktop?\\}
+ \only<5>{Who is contributing to some free software project?\\}
+\end{frame}
+
+\section{Introduction}
+
+\begin{frame}
+ \frametitle{The problem}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \draw (-2,0) node[font=\LARGE] (source) { source };
+ \draw (2,0) node[font=\LARGE] (binary) { binary };
+ \draw[->,very thick] (source) -- (binary) node[midway] (midbuild) {};
+ \draw (midbuild) node [above,color=debianred,font=\small] (build) {build};
+ \visible<2>{
+ \draw (0,2) node[font=\LARGE,color=debianblue] (fs) { free software };
+ % font= specification is required to work-around a bug in md->latex conversion
+ \draw[->,font=\normalsize] (fs) -- (source) node[midway,left=0.2cm,color=debianred,font=\footnotesize,align=center]{freedom\\to study};
+ \draw[->,font=\normalsize] (fs) -> (binary) node[midway,right=0.2cm,color=debianred,font=\footnotesize,align=center]{freedom\\to run};
+ }
+ \visible<3->{
+ \draw (-4,-1) node[font=\small,color=debianblue] (verified) { can be verified };
+ \draw (4,-1) node[font=\small,color=debianblue] (used) { can be used };
+ \path (verified) edge[->,bend left=30] (source);
+ \path (used) edge[->,bend right=30] (binary);
+ }
+ \visible<4->{
+ \draw (0,-2) node[font=\LARGE,color=debianred,align=center] (prove) { can I get a proof? };
+ \path (prove) edge[->] (midbuild);
+ }
+ \end{tikzpicture}
+ \end{center}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Why does it matter?}
+
+ \begin{center}
+ \includegraphics[width=0.7\textwidth]{images/31c3.png}
+
+ Available on \url{media.ccc.de}, 31c3
+ \end{center}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Motivations}
+ \begin{itemize}
+ \item CVE-2002-0083: remote root exploit in \texttt{sshd}, 1 bit difference in the binary
+ \item 31c3 talk showed a PoC for a kernel module modifying source code in memory only
+ \item how can you be sure what's running on your machine or on a build
+ daemon network? Do you ever leave your computer alone?
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Motivations to crack build machines}
+ \begin{itemize}
+ \item Compromise one computer to get:
+ \begin{itemize}
+ \item Hundreds of millions of other computers?
+ \item Every bank account in the world?
+ \item Every Windows computer in the world?
+ \item Every Linux computer in the world?
+ \end{itemize}
+ \item Compromise one computer is worth:
+ \begin{itemize}
+ \item \$100k USD (market price of remote 0day)
+ \item \$100M USD (censorship budget of Iran per year)
+ \item \$4B USD (Bitcoin market cap)
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}[fragile]
+ \frametitle{Another example}
+
+ At a CIA conference in 2012:
+ \begin{center}
+ \includegraphics[width=0.8\textwidth]{images/strawhorse.png}
+
+ {\footnotesize
+ \url{firstlook.org/theintercept/2015/03/10/ispy-cia-campaign-steal-apples-secrets/}
+ }
+ \end{center}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{In depth explaination of the problem}
+
+ \begin{center}
+ \includegraphics[width=0.7\textwidth]{images/31c3.png}
+
+ Available on \url{media.ccc.de}, 31c3
+ \end{center}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{The solution}
+
+ \begin{center}
+ \Large
+ enable anyone to reproduce\\
+ identical binary packages\\
+ from a given source
+\end{center}
+
+\end{frame}
+
+\begin{frame}
+ \frametitle{The solution}
+
+ \begin{center}
+ We call this:
+
+ \Huge
+ “reproducible builds”
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{It's not only security - nice side effects of our work}
+
+ \begin{itemize}
+ \item Early detection of FTBFS and other problems
+ \item Debug packages can be created at any time
+ \item Validation of cross-builds
+ \item Smaller \texttt{.deb} deltas
+ \item …
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{So trendy!}
+
+ \begin{itemize}
+ \item Bitcoin (\textbf{"done"})
+ \item Tor (\textbf{"done"})
+ \item Debian (\emph{in progress})
+ \item Coreboot (\textbf{"done"})
+ \item OpenWrt (\emph{in progress})
+ \item NetBSD (\emph{in progress})
+ \item FreeBSD (\emph{in progress})
+ \item Arch Linux (\emph{in progress})
+ \item \ldots{}
+\end{itemize}
+
+\end{frame}
+
+
+\begin{frame}[plain]
+ \begin{tikzpicture}[remember picture,overlay]
+ \node[at=(current page.center)] {
+ \includegraphics[width=\paperwidth]{images/wholeworld.jpg}
+ % Credits to Kevin ‘Chuise’ Jackson
+ % http://dumhi.com/about
+ };
+ \end{tikzpicture}
+\end{frame}
+
+\begin{frame}[plain]
+\begin{center}
+ \Huge It should become the \textbf{norm}.\\
+ \only<2>{\small We want to change the meaning of "free software": \\
+ it's only free software if it is reproducible!}
+\end{center}
+
+\end{frame}
+
+\section{Current status}
+
+\begin{frame}[plain]
+ \frametitle{Progress in Debian \texttt{unstable}}
+ \begin{center}
+ \includegraphics[width=\paperwidth]{images/stats_pkg_state.png}
+
+ 19399 out of 23033 source packages are reproducible in our current
+ test framework.
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{What we did since summer 2014}
+
+ \begin{itemize}
+ \item Agreed on using a fixed build path: \texttt{/build}
+ \item Record the build environment: \texttt{.buildinfo}
+ \item \texttt{strip-nondeterminism}
+ \item \texttt{reproducible.debian.net}
+ \item \texttt{diffoscope} (formerly known as \texttt{debbindiff})
+ \item \texttt{SOURCE\_DATE\_EPOCH}
+ \item \texttt{disorderfs}
+ \item Many many patches: \texttt{dpkg}, \texttt{debhelper}, \texttt{cdbs}, \texttt{sbuild}, …
+ \item\only<2>{Tell the world \& collaborate}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Tell the world \& collaborate}
+
+ \begin{itemize}
+ \item Many talks already:
+ \begin{itemize}
+ \item 2014-02-01: FOSDEM’14
+ \item 2014-08-26: DebConf14
+ \item 2015-01-31: FOSDEM’15
+ \item 2015-07-06: Libre Software Meeting 2015
+ \item 2015-08-13: Chaos Communication Camp 2015
+ \item 2015-08-20: DebConf15
+ \item (videos available, in EN/FR/DE)
+ \end{itemize}
+ \item Linked on the wiki:
+ {\small \url{https://wiki.debian.org/ReproducibleBuilds/About#Presentations}}
+ \item Weekly reports since May 2015
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Tell the world \& collaborate, cont.}
+
+ \begin{itemize}
+ \item Summit in December 2015 in Athens
+ \begin{itemize}
+ \item 40 people from 16 projects
+ \end{itemize}
+ \item coming soon: \texttt{https://reproducible-builds.org}
+ \begin{center}
+ \includegraphics[width=0.6\textwidth]{images/rbwww1.png}
+ \end{center}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Testing for variations}
+
+ \begin{itemize}
+ \item Build for the first time
+ \item Save the result
+ \item Perform change(s) to the environment
+ \item Build for a second time
+ \item Compare results
+ \item\only<2>{started as a 10 line shell script, this has become
+ \texttt{https://reproducible.debian.net}}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{reproducible.debian.net}
+
+ \begin{itemize}
+ \item maintained in \texttt{jenkins.debian.net.git}, 27 contributors
+ \item 4k lines of Python and 5k lines Bash code
+ \item 111 jenkins jobs now running on 10 hosts
+ \item Continuously testing Debian testing, unstable and experimental
+ \begin{itemize}
+ \item Previously amd64 only, now also armhf, more to come…
+ \end{itemize}
+ \item Not just testing Debian, but also Coreboot, OpenWrt, NetBSD, FreeBSD,
+ Archlinux and soon Fedora
+ \item Thanks to ProfitBricks for providing amd64 servers:
+ \end{itemize}
+ \vfill
+ \begin{center}
+ \includegraphics[height=0.15\paperheight]{images/profitbricks_logo.png}
+ \end{center}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Variations on reproducible.debian.net}
+
+ \begin{center}
+ \begin{table}
+ \resizebox{0.95\textwidth}{!}{%
+ \begin{tabular}{l|ll}
+\textbf{variation} & \textbf{first build} & \textbf{second build} \\
+\hline
+hostname & \texttt{jenkins} & \texttt{i-capture-the-hostname} \\
+domainname & \texttt{debian.net} & \texttt{i-capture-the-domainname} \\
+\texttt{env TZ} & \texttt{GMT+12} & \texttt{GMT-14} \\
+\texttt{env LANG} & \texttt{en\_GB.UTF-8} & \texttt{fr\_CH.UTF-8} \\
+\texttt{env LC\_ALL} & not set & \texttt{fr\_CH.UTF-8} \\
+\texttt{env USER} & \texttt{pbuilder1} & \texttt{pbuilder2} \\
+uid & \texttt{1111} & \texttt{2222} \\
+gid & \texttt{1111} & \texttt{2222} \\
+UTS namespace & shared with the host & \textit{modified using \texttt{/usr/bin/unshare --uts}} \\
+kernel version & Linux 3.16.0-4-amd64 & Linux 2.6.56-4-amd64 \\
+umask & 0022 & 0002 \\
+CPU type & \multicolumn{2}{l}{same for both builds \textit{(work in progress)}} \\
+filesystem & \multicolumn{2}{l}{same for both builds \textit{(work in progress - disorderfs)}} \\
+year, month, date & \multicolumn{2}{l}{same for both builds \textit{(work in progress)}} \\
+hour, minute & \multicolumn{2}{l}{hour is usually the same… usually, the minute differs… \textit{(work in progress)}} \\
+\textit{everything else} & \multicolumn{2}{l}{\textit{is likely the same…}}
+ \end{tabular}
+ }
+ \end{table}
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{reproducible.debian.net}
+ \begin{center}
+ show in webbrowser
+ \end{center}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Debian .buildinfo}
+
+ \begin{itemize}
+ \item Aggregate in the same file:
+ \begin{itemize}
+ \item Sources (checksums)
+ \item Generated binaries (checksums)
+ \item Packages used to build (with specific version, checksums coming soon)
+ \end{itemize}
+ \item Can be later used to reinstall environment exactly as it was
+ \item For Debian all versions are available from \url{snapshot.debian.org}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}[fragile]
+ \frametitle{Example .buildinfo}
+
+{\small
+\begin{verbatim}
+Format: 1.9
+Build-Architecture: amd64
+Source: txtorcon
+Binary: python-txtorcon
+Architecture: all
+Version: 0.11.0-1
+Build-Path: /usr/src/debian/txtorcon-0.11.0-1
+Checksums-Sha256:
+ a26549d9…7b 125910 python-txtorcon_0.11.0-1_all.deb
+ 28f6bcbe…69 2039 txtorcon_0.11.0-1.dsc
+Build-Environment:
+ base-files (= 8),
+ base-passwd (= 3.5.37),
+ bash (= 4.3-11+b1),
+ …
+\end{verbatim}
+}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{strip-nondeterminism}
+
+ \begin{itemize}
+ \item Normalizes various file formats
+ \item Currently handles:
+ \begin{itemize}
+ \item ar archives (\texttt{.a})
+ \item gzip
+ \item Java jar
+ \item Javadoc HTML
+ \item Maven \texttt{pom.properties}
+ \item PNG
+ \item ZIP archives
+ \item … \textit{extensible to new formats}
+ \end{itemize}
+ \item Written in Perl (like \texttt{dpkg-dev})
+ \end{itemize}
+\end{frame}
+
+
+
+{
+\usebackgroundtemplate{%
+ \begin{tikzpicture}[remember picture,overlay]%
+ \node[shift={(-0.15\paperwidth, 0.4\paperheight)},at=(current page.south east)] {
+ \includegraphics[width=0.2\paperwidth]{images/diffoscope_logo.png}
+ };
+ \end{tikzpicture}%
+}
+\begin{frame}{diffoscope}
+ \frametitle{Debugging problems: diffoscope}
+
+ \begin{itemize}
+ \item Examines differences \textbf{in depth}
+ \item Outputs HTML or plain text showing the differences
+ \item Recursively unpacks archives
+ \item Seeks human readability:
+ \begin{itemize}
+ \item uncompresses PDF
+ \item disassembles binaries
+ \item unpacks Gettext files
+ \item … \textit{easy to extend to new file formats}
+ \end{itemize}
+ \item Falls back to binary comparison
+ \item Available in Debian sid and stretch
+ \item Maintainers in other distros wanted
+ \end{itemize}
+ \vfill
+ \begin{center}
+ \url{http://diffoscope.org/}\\
+ {\footnotesize \color{gray}{(formely known as \texttt{debbindiff})}}
+ \end{center}
+\end{frame}
+}
+
+\begin{frame}
+ \frametitle{diffoscope example (HTML output)}
+
+ \begin{center}
+ \includegraphics[width=0.9\paperwidth]{images/diffoscope_example_html.png}
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{diffoscope example (text output)}
+
+ \begin{center}
+ \includegraphics[width=0.9\paperwidth]{images/diffoscope_example_text.png}
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{\texttt{diffoscope} is "just" for debugging}
+
+ \begin{itemize}
+ \item Reminder: \texttt{diffoscope} is for \textbf{debugging}
+ \item\only<2>{ "reproducible" according to our definition means: \textbf{bit by bit
+ identical}. So the tools for testing whether something is reproducible are
+ either \texttt{diff} or \texttt{sha256sum}!}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{\texttt{SOURCE\_DATE\_EPOCH}}
+
+ \begin{itemize}
+ \item Build date usually not useful for the user
+ \item Standardize a build-time environment variable
+ \item Value of \texttt{SOURCE\_DATE\_EPOCH} is used instead of the current date
+ \item General solution for other free software projects and distributions
+ \item In Debian, set from the latest \texttt{debian/changelog} entry
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{\texttt{SOURCE\_DATE\_EPOCH} (closed bugs)}
+
+ \begin{itemize}
+ \item \sout{\texttt{\#791823}}: debhelper
+ \item \sout{\texttt{\#787444}}: help2man
+ \item \sout{\texttt{\#790899}}: epydoc
+ \item \sout{\texttt{\#794004}}: ghostscript
+ \item \sout{\texttt{\#783475}}: texi2html
+ \item \sout{\texttt{\#794586}}: ocamldoc
+ \item sphinx \small{\url{https://github.com/sphinx-doc/sphinx/pull/1954}}
+ \end{itemize}
+
+\end{frame}
+
+\begin{frame}
+ \frametitle{\texttt{SOURCE\_DATE\_EPOCH} (open bugs)}
+
+ \begin{itemize}
+ \item gcc (\texttt{\_\_DATE\_\_} and \texttt{\_\_TIME\_\_} macros) \texttt{\footnotesize{\url{https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02210.html}}}
+ \item \texttt{\#792687}: gettext (xgettext)
+ \item \texttt{\#792201}: doxygen
+ \item \texttt{\#800797}: docbook-utils
+ \item \texttt{\#790801}: txt2man
+ \item \texttt{\#791815}: libxslt
+ \item \texttt{\#794681}: qt4-x11 (qthelpgenerator)
+ \item \texttt{\#792202}: texlive-bin
+ \end{itemize}
+
+\end{frame}
+
+\section{Fixing reproducibility issues}
+
+% Straightforward..
+
+\begin{frame}{Timestamps in gzip headers}
+ \begin{center}
+ \includegraphics[width=0.9\textwidth]{images/examples/timestamps_in_gzip.png}
+ \vfill
+ \pause
+ \texttt{gzip FAQ} $\Longrightarrow$ \texttt{gzip -n FAQ}
+ \end{center}
+\end{frame}
+
+\begin{frame}{Timestamps in Python version}
+ \begin{center}
+ \includegraphics[width=0.9\textwidth]{images/examples/timestamps_in_python_version.png}
+ \vfill
+ \texttt{tag\_date=True} $\Longrightarrow$ \texttt{tag\_date=False} in \texttt{setup.py}
+ \end{center}
+\end{frame}
+
+\begin{frame}{Timestamps in static libraries}
+ \begin{center}
+ \includegraphics[width=0.7\textwidth]{images/examples/timestamps_in_static_library.png}
+ \vfill
+ \texttt{.a} files are "\texttt{ar}" archives $\Longrightarrow$ \texttt{binutils} in determinstic mode or \texttt{strip-nondeterminism}
+ \end{center}
+\end{frame}
+
+\begin{frame}{Timestamps in PNG}
+ \begin{center}
+ \includegraphics[width=0.6\textwidth]{images/examples/timestamps_in_png.png}
+ \vfill
+ \texttt{convert ... +set date:create +set date:modify -define png:exclude-chunk=time}
+ \end{center}
+\end{frame}
+
+\begin{frame}{Tarballs: Users and groups}
+ \begin{center}
+ \includegraphics[width=0.7\textwidth]{images/examples/user_and_group_in_tarball.png}
+ \vfill
+ \texttt{--owner=root --group=root --numeric-owner}
+ \end{center}
+\end{frame}
+
+\begin{frame}{Tarballs: Ordering}
+ \begin{center}
+ \includegraphics[width=0.6\textwidth]{images/examples/random_order_in_tarball.png}
+ \vfill
+ \texttt{find -type f | LC\_ALL=C sort | tar ...}
+ \end{center}
+\end{frame}
+
+\begin{frame}{Tarballs: Timestamps}
+ \begin{center}
+ \includegraphics[width=0.7\textwidth]{images/examples/timestamps_in_tarball.png}
+ \vfill
+ $\Longrightarrow$ \texttt{--mtime} (or \texttt{find}/\texttt{xargs}/\texttt{touch})
+ \end{center}
+\end{frame}
+
+% toolchain
+
+\begin{frame}{Timestamps in Erlang .BEAM}
+ \begin{center}
+ \includegraphics[width=0.6\textwidth]{images/examples/timestamps_in_beam.png}
+ \vfill
+ \vfill
+ Patch \texttt{erlc} to obey \texttt{SOURCE\_DATE\_EPOCH} (\texttt{\#795834})
+ \end{center}
+\end{frame}
+
+\begin{frame}{Timestamps in Ruby gemspec}
+ \begin{center}
+ \includegraphics[width=0.9\textwidth]{images/examples/timestamps_in_ruby_gemspec.png}
+ \vfill
+ Varies on timezone $\Longrightarrow$ patch to always use UTC (\texttt{\#779631})
+ \end{center}
+\end{frame}
+
+% ugly
+
+\begin{frame}{Hostname/time recorded via ./configure}
+ \begin{center}
+ \includegraphics[width=0.7\textwidth]{images/examples/hostname_in_configure.png}
+ \vfill
+ $\Longrightarrow$ Sometimes override from \texttt{debian/rules}..?
+ \end{center}
+\end{frame}
+
+% uglier
+
+\begin{frame}{Perl hash order}
+ \begin{center}
+ \includegraphics[width=0.6\textwidth]{images/examples/random_perl_hash_order.png}
+ \vfill
+ $\Longrightarrow$ \texttt{\$Data::Dumper::Sortkeys = 1;}
+ \end{center}
+\end{frame}
+
+\begin{frame}{Timestamps in header files}
+ \begin{center}
+ \includegraphics[width=0.6\textwidth]{images/examples/timestamps_in_header_files.png}
+ \vfill
+ Patch with a better unique id or use \texttt{SOURCE\_DATE\_EPOCH}
+ \end{center}
+\end{frame}
+
+\begin{frame}{Build time recorded via Makefile}
+ \begin{center}
+ \includegraphics[width=0.9\textwidth]{images/examples/build_date_in_makefile.png}
+ \vfill
+ $\Longrightarrow$ Patch upstream\ldots{} :(
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Some toolchain issues}
+
+ % list taken from https://wiki.debian.org/ReproducibleBuilds/ExperimentalToolchain on 2015-08-19
+ % Skipping SOURCE_DATE_EPOCH related patches since they are listed in the related section
+ \begin{itemize}\small
+ \item \sout{\texttt{\#776026} \textbf{wheel:} create reproducible wheel (.whl) files}
+ \item \sout{\texttt{\#776143} \textbf{docbook-to-man:} remove timestamps from the generated manpages}
+ \item \sout{\textbf{gtk-doc:} generate its links in a stable order}
+ \item \texttt{\#774148} \textbf{fontforge:} propagate creation and modification times from source file
+ \item \texttt{\#775786} \textbf{python-support:} sort file lists in /usr/share/python-support/*.private
+ \item \textbf{libxslt:} make generate-id() return identifiers in a deterministic way
+ \item And many more! \url{https://deb.li/3bX6F}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Work on individual packages}
+
+ \begin{itemize}
+ \item 644 bugs for individual problems
+ \item 610 tagged with “patch”
+ \item Nearly two patches per day since fall 2014 on average!
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[plain]
+ \begin{tikzpicture}[remember picture,overlay]
+ \node[at=(current page.center)] {
+ \includegraphics[width=\paperwidth]{images/stats_bugs.png}
+ };
+ \end{tikzpicture}
+\end{frame}
+
+\section{Next?}
+
+\begin{frame}
+ \frametitle{Status and next steps in Debian}
+ \begin{itemize}
+ \item Remember: this is just a proof-of-concept, Debian is not 80\%
+ reproducible.
+ \item Major changes still need to be merged.
+ \item Once this has happend, Debian will be >80\% reproducible.
+ \item The next Debian release ("stretch") shall be >80\% reproducible.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{dpkg}
+
+ \begin{itemize}\small
+ \item \sout{\texttt{\#719844}: make compression of \{data,control\}.tar.gz deterministic}
+ \item \texttt{\#759999}: set reproducible timestamps in \texttt{.deb} ar file headers
+ \item \texttt{\#787980}: normalize file permissions when creating control.tar
+ \item \texttt{\#719845}: make file order within {data,control}.tar.gz deterministic
+ \item \texttt{dpkg-genbuldinfo}: \textit{patch already written, but waiting on agreement about spec}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{debhelper}
+
+ \begin{itemize}\small
+ \item \texttt{\#759886}: make mtimes of packaged files deterministic
+ \item \sout{\texttt{\#759895}: add a call to
+ \texttt{dh\_strip\_nondeterminism} in \texttt{dh}}
+ \item \sout{\texttt{\#791823}: set \texttt{SOURCE\_DATE\_EPOCH} env var for
+ reproducible builds}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{sbuild}
+
+ \begin{itemize}\small
+ \item \sout{\texttt{\#790868}: allow sbuild to use a deterministic build
+ path to build packages}
+ \item \texttt{\#778571}: predictible build location for reproducible builds
+ \item Finish the \texttt{srebuild} script
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{ftp.debian.org}
+
+ \begin{itemize}\small
+ \item \texttt{\#763822}: please include .buildinfo file in the archive
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{"Finally", changing Debian policy}
+
+ \begin{itemize}
+ \item Section 4.15: “Sources \textbf{must} build reproducible binaries.”
+ \item\only<2-3> {I hope this will happen in early 2017 = after the Stretch
+ (Debian 9) release}
+ \item\only<3> {in 2016, hopefully: “Sources \textbf{shall} build reproducible binaries.”}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Reproducible builds demand a defined build environment}
+ \begin{itemize}
+ \item Re-creating an identical build environment is mandatory too.
+ \item Without an identical build environment reproducible builds
+ will only happen by sheer luck, thus that's not really reproducible at all.
+ \item\only<2>{This is probably only solved for Debian right now - and
+ currently that's still a proof of concept only…}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Reproducible builds are just the first 33\%}
+ \begin{itemize}
+ \item Continuous rebuilds need to happen in a systematic way and the
+ resulting checksums need to be properly published.
+ \item \only<2>{ Integration in end user tools\\
+ "Do you really want to install this unreproducible software (y/N)" \\
+ "Which rebuilders do you want to trust?"}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Status of reproducible builds in other distros}
+
+ \begin{itemize}
+ \item As shown we're also testing Coreboot, OpenWrt, NetBSD, FreeBSD,
+ Archlinux and soon Fedora.
+ \item But the work needs to be done within those projects.
+ \item \only<2>{And we are only testing for reproducible builds. No work
+ has been done on the other
+ 66\% yet. (Systematic rebuilds and sharing the checksum \& end-user tool
+ integration)}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Android, Windows and all the rest}
+ \begin{itemize}
+ \item Android: some work on making Cyanogenmod reproducible (but with
+ \texttt{faketime})
+ \item Windows: why not, Microsoft is sharing\^ wselling the source at least…
+ \item IOS: in very short: it's a mess, might work with jailbreaked devices
+ only - but AFAIK there's no source code anyway :-(
+ \item MacOS: no idea, probably same as IOS :-(
+ \item ...
+ \end{itemize}
+ \only<2> {Let's focus on Free Software first!}
+\end{frame}
+
+
+\section{Want to help?}
+
+\begin{frame}
+ \frametitle{As a software developer}
+ \begin{itemize}
+ \item stop using build date
+ \item use \texttt{SOURCE\_DATE\_EPOCH} instead \\
+ \item see \url{https://reproducible-builds.org/specs/}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Get involved - learning by doing}
+
+ \begin{itemize}
+ \item Test for yourself:
+ \begin{itemize}
+ \item just build something twice, run diffoscope on the results
+ \begin{itemize}
+ \item for better results use our “reproducible” repository, \texttt{pbuilder} and a custom config
+ \end{itemize}
+ \end{itemize}
+
+ \item Tips on the wiki: \\
+ {\small \url{https://wiki.debian.org/ReproducibleBuilds/Howto}} \\
+ {\small
+ \url{https://wiki.debian.org/ReproducibleBuilds/ExperimentalToolchain}}
+ \item Ask for help on \texttt{\#debian-reproducible} \\
+ or on the mailing-list
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Join the team!}
+
+ \begin{itemize}
+ \item Why?
+ \begin{itemize}
+ \item \heartsuit{}\heartsuit{}\heartsuit{} Lovely group of people \heartsuit{}\heartsuit{}\heartsuit{}
+ \item Learn something new everyday
+ \item Change the (software) world!
+ \end{itemize}
+ \item What do we do?
+ \begin{itemize}
+ \item Review packages
+ \item Identify issues and document solutions
+ \item \texttt{reproducible.d.n}, diffoscope, strip-nondeterminism
+ \item Propose changes for toolchain
+ \item Submit patches for individual packages
+ \item Write more general documentation and talk to the world
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Create a new team!}
+
+ \begin{itemize}
+ \item Why?
+ \begin{itemize}
+ \item Every distribution should be reproducible!
+ \item Learn something new everyday
+ \item Change the (software) world!
+ \end{itemize}
+ \item How to get started?
+ \begin{itemize}
+ \item Talk to me here or talk to us on IRC or via mail.
+ \item RTFM, there is lots of documentation
+ \item Experiment - learning by doing
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Write a thesis!}
+
+ \begin{itemize}
+ \item We are trying to document all our work, but we won't write
+ scientific articles.
+ \item Maybe you can do that?
+ \item We'll be happy to help and there is Gunnar Wolf (gwolf at debian.org) in
+ Mexico, D.F. too!
+ \end{itemize}
+\end{frame}
+
+
+\section{Questions?}
+
+\begin{frame}
+ \frametitle{Questions?}
+ \begin{center}
+ Please ask me now or later today.
+ \end{center}
+ \begin{itemize}
+ \item\url{https://reproducible.debian.net}
+ \item\url{#debian-reproducible} on \url{irc.OFTC.net}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Thanks!}
+
+ \begin{itemize}
+ \item Debian “Reproducible Builds” team \\
+ {\small (you are just \textbf{so} awesome!)}
+ \item Linux Foundation and the Core Infrastructure Initiative
+ \item Festival de Software Libre 2015
+\end{itemize}
+
+ \begin{center}
+ \includegraphics[height=0.1\paperheight]{images/linux_foundation_logo.png}
+ \hspace{0.1\paperwidth}
+ \includegraphics[height=0.1\paperheight]{images/cii_logo.png}
+ \end{center}
+
+ \vfill
+ \begin{center}
+ \resizebox{0.8\textwidth}{!}{%
+ \begin{tabular}{rl}
+ \texttt{holger at debian.org} & \texttt{B8BF 5413 7B09 D35C F026} \\
+ & \texttt{FE9D 091A B856 069A AA1C}
+ \end{tabular}
+ }
+ \end{center}
+\end{frame}
+
+\end{document}
diff --git a/2015-11-06-MiniDebConfCambridge/Makefile b/2015-11-06-MiniDebConfCambridge/Makefile
new file mode 100644
index 0000000..c936052
--- /dev/null
+++ b/2015-11-06-MiniDebConfCambridge/Makefile
@@ -0,0 +1,36 @@
+.PHONY: all source images
+
+PRESENTATION = 2015-11-06-MiniDebConfCambridge
+
+all: $(PRESENTATION).pdf
+
+source: $(PRESENTATION)-src.tar.gz
+
+IMGS = $(shell sed -n -e 's/^[^%]*\\includegraphics\([^{]*\)\?{\([^}]*\)}.*$$/\2/p' $(PRESENTATION).tex | sort -u)
+
+$(PRESENTATION).pdf: $(PRESENTATION).tex $(IMGS)
+ set -e && \
+ build=1; \
+ while [ $$build -le 5 ]; do \
+ build=$$(($$build + 1)); \
+ lualatex $<; \
+ if sha1sum -c $(PRESENTATION).aux.sha1sum > /dev/null 2>&1; then \
+ break; \
+ fi; \
+ sha1sum $(PRESENTATION).aux > $(PRESENTATION).aux.sha1sum; \
+ done; \
+ echo ; \
+ echo "Who is contributing to any free software project?" ; \
+ echo "Who is contributing to Debian?" ; \
+ echo "What else are you contributing too?" ; \
+ echo "This talk will be mostly about Debian, 'but' I look forward to discuss other distros too."
+ echo ; \
+ echo "English or German?"
+
+clean:
+ rm -f $(PRESENTATION).aux $(PRESENTATION).log $(PRESENTATION).nav \
+ $(PRESENTATION).out $(PRESENTATION).snm $(PRESENTATION).toc \
+ $(PRESENTATION).vrb $(PRESENTATION).aux.sha1sum $(PRESENTATION).pdfpc
+
+distclean:
+ rm -f $(PRESENTATION).pdf
diff --git a/2015-11-06-MiniDebConfCambridge/images/31c3.png b/2015-11-06-MiniDebConfCambridge/images/31c3.png
new file mode 100644
index 0000000..8922581
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/31c3.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/bug_chart.pdf b/2015-11-06-MiniDebConfCambridge/images/bug_chart.pdf
new file mode 100644
index 0000000..c618984
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/bug_chart.pdf differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/cii_logo.png b/2015-11-06-MiniDebConfCambridge/images/cii_logo.png
new file mode 100644
index 0000000..690b7c6
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/cii_logo.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/diffoscope_example_html.png b/2015-11-06-MiniDebConfCambridge/images/diffoscope_example_html.png
new file mode 100644
index 0000000..f7bb7f9
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/diffoscope_example_html.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/diffoscope_example_text.png b/2015-11-06-MiniDebConfCambridge/images/diffoscope_example_text.png
new file mode 100644
index 0000000..ed82864
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/diffoscope_example_text.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/diffoscope_logo.png b/2015-11-06-MiniDebConfCambridge/images/diffoscope_logo.png
new file mode 100644
index 0000000..ff9c312
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/diffoscope_logo.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/build_date_in_makefile.png b/2015-11-06-MiniDebConfCambridge/images/examples/build_date_in_makefile.png
new file mode 100644
index 0000000..6ee3c8e
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/build_date_in_makefile.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/cpp_macros_1.png b/2015-11-06-MiniDebConfCambridge/images/examples/cpp_macros_1.png
new file mode 100644
index 0000000..90b11a2
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/cpp_macros_1.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/cpp_macros_2.png b/2015-11-06-MiniDebConfCambridge/images/examples/cpp_macros_2.png
new file mode 100644
index 0000000..ffc67cd
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/cpp_macros_2.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/date_in_configure.png b/2015-11-06-MiniDebConfCambridge/images/examples/date_in_configure.png
new file mode 100644
index 0000000..e6f2675
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/date_in_configure.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/date_in_m4.png b/2015-11-06-MiniDebConfCambridge/images/examples/date_in_m4.png
new file mode 100644
index 0000000..cb26275
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/date_in_m4.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/docbook-to-man.png b/2015-11-06-MiniDebConfCambridge/images/examples/docbook-to-man.png
new file mode 100644
index 0000000..1b069fd
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/docbook-to-man.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/embedded_kernel_version.png b/2015-11-06-MiniDebConfCambridge/images/examples/embedded_kernel_version.png
new file mode 100644
index 0000000..58d7526
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/embedded_kernel_version.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/fileorder_python-support.png b/2015-11-06-MiniDebConfCambridge/images/examples/fileorder_python-support.png
new file mode 100644
index 0000000..acf4e17
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/fileorder_python-support.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/hostname_in_configure.png b/2015-11-06-MiniDebConfCambridge/images/examples/hostname_in_configure.png
new file mode 100644
index 0000000..1ff0b1f
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/hostname_in_configure.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/hostname_in_m4.png b/2015-11-06-MiniDebConfCambridge/images/examples/hostname_in_m4.png
new file mode 100644
index 0000000..a8b794b
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/hostname_in_m4.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/locale_in_docutils.png b/2015-11-06-MiniDebConfCambridge/images/examples/locale_in_docutils.png
new file mode 100644
index 0000000..f151e89
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/locale_in_docutils.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/random_order_in_python_ns.png b/2015-11-06-MiniDebConfCambridge/images/examples/random_order_in_python_ns.png
new file mode 100644
index 0000000..5a28313
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/random_order_in_python_ns.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/random_order_in_tarball.png b/2015-11-06-MiniDebConfCambridge/images/examples/random_order_in_tarball.png
new file mode 100644
index 0000000..e76aa03
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/random_order_in_tarball.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/random_order_in_texi2html.png b/2015-11-06-MiniDebConfCambridge/images/examples/random_order_in_texi2html.png
new file mode 100644
index 0000000..dcbac30
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/random_order_in_texi2html.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/random_perl_hash_order.png b/2015-11-06-MiniDebConfCambridge/images/examples/random_perl_hash_order.png
new file mode 100644
index 0000000..365f156
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/random_perl_hash_order.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/random_python_import_order.png b/2015-11-06-MiniDebConfCambridge/images/examples/random_python_import_order.png
new file mode 100644
index 0000000..b7e2aca
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/random_python_import_order.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/random_serials_in_ogg.png b/2015-11-06-MiniDebConfCambridge/images/examples/random_serials_in_ogg.png
new file mode 100644
index 0000000..6bb7b6b
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/random_serials_in_ogg.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/temp_filenames_in_ocaml_lib.png b/2015-11-06-MiniDebConfCambridge/images/examples/temp_filenames_in_ocaml_lib.png
new file mode 100644
index 0000000..0e03e2a
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/temp_filenames_in_ocaml_lib.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamp_dependent_rebuilds.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamp_dependent_rebuilds.png
new file mode 100644
index 0000000..4a57f70
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamp_dependent_rebuilds.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_cheetah.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_cheetah.png
new file mode 100644
index 0000000..388a7bd
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_cheetah.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_doxygen.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_doxygen.png
new file mode 100644
index 0000000..4ae95b6
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_doxygen.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_epydoc.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_epydoc.png
new file mode 100644
index 0000000..83e1449
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_epydoc.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_ghostscript.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_ghostscript.png
new file mode 100644
index 0000000..e4c7347
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_ghostscript.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_groff.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_groff.png
new file mode 100644
index 0000000..d0ac26c
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_groff.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_javadoc.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_javadoc.png
new file mode 100644
index 0000000..9374b36
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_javadoc.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_latex.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_latex.png
new file mode 100644
index 0000000..965bab3
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_latex.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_man2html.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_man2html.png
new file mode 100644
index 0000000..25f9a22
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_man2html.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_maven.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_maven.png
new file mode 100644
index 0000000..ac07efd
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_maven.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_pyqt4.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_pyqt4.png
new file mode 100644
index 0000000..202bc7a
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_pyqt4.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_sphinx.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_sphinx.png
new file mode 100644
index 0000000..1667d1c
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_by_sphinx.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_ada_ali.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_ada_ali.png
new file mode 100644
index 0000000..3679890
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_ada_ali.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_beam.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_beam.png
new file mode 100644
index 0000000..72c1520
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_beam.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_dot_a.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_dot_a.png
new file mode 100644
index 0000000..f4643ba
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_dot_a.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_dvi.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_dvi.png
new file mode 100644
index 0000000..0459a9e
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_dvi.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_epub.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_epub.png
new file mode 100644
index 0000000..b2926a0
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_epub.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_groovydoc.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_groovydoc.png
new file mode 100644
index 0000000..0ff08bc
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_groovydoc.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_gzip.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_gzip.png
new file mode 100644
index 0000000..9d7875e
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_gzip.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_header_files.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_header_files.png
new file mode 100644
index 0000000..a708e89
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_header_files.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_help2man.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_help2man.png
new file mode 100644
index 0000000..62056bb
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_help2man.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_jar.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_jar.png
new file mode 100644
index 0000000..1151021
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_jar.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_pe.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_pe.png
new file mode 100644
index 0000000..513751d
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_pe.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_php_reg.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_php_reg.png
new file mode 100644
index 0000000..e6b1dcf
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_php_reg.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_png.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_png.png
new file mode 100644
index 0000000..4343e40
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_png.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_python_version.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_python_version.png
new file mode 100644
index 0000000..a404d52
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_python_version.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_qmake_makefile.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_qmake_makefile.png
new file mode 100644
index 0000000..bf59446
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_qmake_makefile.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_ruby_gemspec.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_ruby_gemspec.png
new file mode 100644
index 0000000..265ab28
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_ruby_gemspec.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_static_library.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_static_library.png
new file mode 100644
index 0000000..316e0c4
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_static_library.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_tarball.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_tarball.png
new file mode 100644
index 0000000..442a8d4
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_tarball.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_texi2html.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_texi2html.png
new file mode 100644
index 0000000..2a2e84a
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_texi2html.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_ttf.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_ttf.png
new file mode 100644
index 0000000..8448738
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_ttf.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_zip.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_zip.png
new file mode 100644
index 0000000..6bd952b
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_in_zip.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_timezone_in_pot.png b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_timezone_in_pot.png
new file mode 100644
index 0000000..65d8506
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/timestamps_timezone_in_pot.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/user_and_group_in_tarball.png b/2015-11-06-MiniDebConfCambridge/images/examples/user_and_group_in_tarball.png
new file mode 100644
index 0000000..7ebd19a
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/user_and_group_in_tarball.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/whoami_in_m4.png b/2015-11-06-MiniDebConfCambridge/images/examples/whoami_in_m4.png
new file mode 100644
index 0000000..3cbcf4a
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/whoami_in_m4.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/examples/wordwarvi.png b/2015-11-06-MiniDebConfCambridge/images/examples/wordwarvi.png
new file mode 100644
index 0000000..eb2ef92
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/examples/wordwarvi.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/linux_foundation_logo.png b/2015-11-06-MiniDebConfCambridge/images/linux_foundation_logo.png
new file mode 100644
index 0000000..860c2bb
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/linux_foundation_logo.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/openlogo-nd.pdf b/2015-11-06-MiniDebConfCambridge/images/openlogo-nd.pdf
new file mode 100644
index 0000000..fed3d93
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/openlogo-nd.pdf differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/profitbricks_logo.png b/2015-11-06-MiniDebConfCambridge/images/profitbricks_logo.png
new file mode 100644
index 0000000..2ce8ce8
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/profitbricks_logo.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/rbwww1.png b/2015-11-06-MiniDebConfCambridge/images/rbwww1.png
new file mode 100644
index 0000000..8932f53
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/rbwww1.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/rbwww2.png b/2015-11-06-MiniDebConfCambridge/images/rbwww2.png
new file mode 100644
index 0000000..0390683
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/rbwww2.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/stats_bugs.png b/2015-11-06-MiniDebConfCambridge/images/stats_bugs.png
new file mode 100644
index 0000000..d114550
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/stats_bugs.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/stats_pkg_state.png b/2015-11-06-MiniDebConfCambridge/images/stats_pkg_state.png
new file mode 100644
index 0000000..1cce4c8
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/stats_pkg_state.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/strawhorse.png b/2015-11-06-MiniDebConfCambridge/images/strawhorse.png
new file mode 100644
index 0000000..d089dbf
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/strawhorse.png differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/swirl-lightest.pdf b/2015-11-06-MiniDebConfCambridge/images/swirl-lightest.pdf
new file mode 100644
index 0000000..1c8ffd2
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/swirl-lightest.pdf differ
diff --git a/2015-11-06-MiniDebConfCambridge/images/wholeworld.jpg b/2015-11-06-MiniDebConfCambridge/images/wholeworld.jpg
new file mode 100644
index 0000000..b31c95a
Binary files /dev/null and b/2015-11-06-MiniDebConfCambridge/images/wholeworld.jpg differ
diff --git a/2015-11-06-MiniDebConfCambridge/notes b/2015-11-06-MiniDebConfCambridge/notes
new file mode 100644
index 0000000..e781670
--- /dev/null
+++ b/2015-11-06-MiniDebConfCambridge/notes
@@ -0,0 +1,21 @@
+"talk cambridge - this time we will only shortly cover the general topic
+ and instead dive deeper into discussion the next steps
+ as well as the end user view on reproducible builds."
+mental summary: "the other 66%"
+
+(the first 33% = reproduible builds)
+the 2nd 33% = actual rebuilders and sharing checksums securly and sanely
+the last 33% = end user tools)
+
+- adopt slide title, etc., add lamby, also his fingerprint
+
+
+nice to have
+------------
+- improve on packages slide (2 patches per day...)
+- variations
+ kernel variations 3.16/4.1/2 vs 2.6.66
+- next:
+ send mail to that dam dak bug. NOW.
+
+
diff --git a/2015-11-06-MiniDebConfCambridge/outline b/2015-11-06-MiniDebConfCambridge/outline
new file mode 100644
index 0000000..9e08f1c
--- /dev/null
+++ b/2015-11-06-MiniDebConfCambridge/outline
@@ -0,0 +1,58 @@
+Outcomes
+========
+
+ * Get an idea of what has changed
+ * Learn about the open issues and questions to make Stretch (partly)
+ reproducible
+ * Learn how to help
+
+Outline
+=======
+
+What is it and why it matters
+-----------------------------
+
+5 minutes max on what it is and why it matters.
+
+What has changed and available tools
+------------------------------------
+
+What have been done real real quick but point people at:
+https://wiki.debian.org/ReproducibleBuilds/History
+
+Explain past changes in dpkg, debhelper, and others
+
+SOURCE_DATE_EPOCH
+
+strip-nondeterminism
+
+reproducible.debian.net test
+
+.buildinfo
+
+Unresolved issues
+-----------------
+
+.buildinfo signature
+
+Unmerged changes to dpkg and others
+
+others issues?
+
+announce the plenary (come help us figure out the best way to do things)
+
+How can you help
+----------------
+
+reproducible.debian.net web interface
+ useful to find other bugs too
+
+notes.git
+
+IRC channel
+
+debbindiff
+
+prebuilder script — improve the doc before, probably
+
+annonce the hack session (come learn how to fix specific packages)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/presentations.git
More information about the Reproducible-commits
mailing list