guix-commits
[Top][All Lists]
Advanced

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

01/03: talks: Add GHM 2016 talk.


From: Ludovic Courtès
Subject: 01/03: talks: Add GHM 2016 talk.
Date: Thu, 18 Aug 2016 08:46:26 +0000 (UTC)

civodul pushed a commit to branch master
in repository maintenance.

commit 148c48b464b92c51ca5458d50b103f9ab5a844b6
Author: Ludovic Courtès <address@hidden>
Date:   Thu Aug 18 10:42:56 2016 +0200

    talks: Add GHM 2016 talk.
---
 .gitignore                                         |    8 +
 .../update/images/GuixSD-horizontal-print.pdf      |  Bin 0 -> 6174 bytes
 talks/ghm-2016/update/images/GuixSD.pdf            |    1 +
 .../images/arstechnica-snappy-goodbye-apt-yum.png  |  Bin 0 -> 176140 bytes
 talks/ghm-2016/update/images/better.png            |    1 +
 .../update/images/docker-image-layers-cropped.png  |    1 +
 .../update/images/dockerfile-owncloud-cropped.png  |    1 +
 .../update/images/flatpak-how-it-works-cropped.png |  Bin 0 -> 40978 bytes
 .../update/images/flatpak-how-it-works.png         |  Bin 0 -> 52598 bytes
 talks/ghm-2016/update/images/flatpak.png           |  Bin 0 -> 445459 bytes
 talks/ghm-2016/update/images/frozen-pizza.jpg      |    1 +
 talks/ghm-2016/update/images/gimp-graph.dot        |    1 +
 talks/ghm-2016/update/images/gimp-graph.pdf        |  Bin 0 -> 60585 bytes
 talks/ghm-2016/update/images/libreboot-server.jpg  |  Bin 0 -> 159364 bytes
 .../update/images/npm-curl-pipe-sh-cropped.png     |    1 +
 talks/ghm-2016/update/images/openhub-activity.png  |  Bin 0 -> 24396 bytes
 .../update/images/openhub-contributors.png         |  Bin 0 -> 20182 bytes
 talks/ghm-2016/update/images/os-declaration.jpg    |    1 +
 .../update/images/package-managers-cropped.png     |    1 +
 .../update/images/snappy-press-release.png         |  Bin 0 -> 172394 bytes
 talks/ghm-2016/update/images/snappy.png            |  Bin 0 -> 83547 bytes
 .../update/images/universal_install_script.png     |  Bin 0 -> 40485 bytes
 talks/ghm-2016/update/notes.org                    |  275 ++++++++
 talks/ghm-2016/update/rules.ini                    |    9 +
 talks/ghm-2016/update/talk.tex                     |  660 ++++++++++++++++++++
 25 files changed, 961 insertions(+)

diff --git a/.gitignore b/.gitignore
index c6eabf4..43190c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,3 +52,11 @@
 /talks/fosdem-2016/scheme-api/talk.snm
 /talks/fosdem-2016/scheme-api/talk.toc
 /talks/fosdem-2016/scheme-api/talk.vrb
+/talks/ghm-2016/update/talk.aux
+/talks/ghm-2016/update/talk.log
+/talks/ghm-2016/update/talk.nav
+/talks/ghm-2016/update/talk.out
+/talks/ghm-2016/update/talk.pdf
+/talks/ghm-2016/update/talk.snm
+/talks/ghm-2016/update/talk.toc
+/talks/ghm-2016/update/talk.vrb
diff --git a/talks/ghm-2016/update/images/GuixSD-horizontal-print.pdf 
b/talks/ghm-2016/update/images/GuixSD-horizontal-print.pdf
new file mode 100644
index 0000000..b5242cb
Binary files /dev/null and 
b/talks/ghm-2016/update/images/GuixSD-horizontal-print.pdf differ
diff --git a/talks/ghm-2016/update/images/GuixSD.pdf 
b/talks/ghm-2016/update/images/GuixSD.pdf
new file mode 120000
index 0000000..688296d
--- /dev/null
+++ b/talks/ghm-2016/update/images/GuixSD.pdf
@@ -0,0 +1 @@
+../../../fosdem-2016/distributions/images/GuixSD.pdf
\ No newline at end of file
diff --git 
a/talks/ghm-2016/update/images/arstechnica-snappy-goodbye-apt-yum.png 
b/talks/ghm-2016/update/images/arstechnica-snappy-goodbye-apt-yum.png
new file mode 100644
index 0000000..593084a
Binary files /dev/null and 
b/talks/ghm-2016/update/images/arstechnica-snappy-goodbye-apt-yum.png differ
diff --git a/talks/ghm-2016/update/images/better.png 
b/talks/ghm-2016/update/images/better.png
new file mode 120000
index 0000000..b8230c8
--- /dev/null
+++ b/talks/ghm-2016/update/images/better.png
@@ -0,0 +1 @@
+../../../fosdem-2016/distributions/images/better.png
\ No newline at end of file
diff --git a/talks/ghm-2016/update/images/docker-image-layers-cropped.png 
b/talks/ghm-2016/update/images/docker-image-layers-cropped.png
new file mode 120000
index 0000000..829451a
--- /dev/null
+++ b/talks/ghm-2016/update/images/docker-image-layers-cropped.png
@@ -0,0 +1 @@
+../../../fosdem-2016/distributions/images/docker-image-layers-cropped.png
\ No newline at end of file
diff --git a/talks/ghm-2016/update/images/dockerfile-owncloud-cropped.png 
b/talks/ghm-2016/update/images/dockerfile-owncloud-cropped.png
new file mode 120000
index 0000000..3df6c3b
--- /dev/null
+++ b/talks/ghm-2016/update/images/dockerfile-owncloud-cropped.png
@@ -0,0 +1 @@
+../../../fosdem-2016/distributions/images/dockerfile-owncloud-cropped.png
\ No newline at end of file
diff --git a/talks/ghm-2016/update/images/flatpak-how-it-works-cropped.png 
b/talks/ghm-2016/update/images/flatpak-how-it-works-cropped.png
new file mode 100644
index 0000000..12a03f8
Binary files /dev/null and 
b/talks/ghm-2016/update/images/flatpak-how-it-works-cropped.png differ
diff --git a/talks/ghm-2016/update/images/flatpak-how-it-works.png 
b/talks/ghm-2016/update/images/flatpak-how-it-works.png
new file mode 100644
index 0000000..d2424bc
Binary files /dev/null and 
b/talks/ghm-2016/update/images/flatpak-how-it-works.png differ
diff --git a/talks/ghm-2016/update/images/flatpak.png 
b/talks/ghm-2016/update/images/flatpak.png
new file mode 100644
index 0000000..c7cbdfc
Binary files /dev/null and b/talks/ghm-2016/update/images/flatpak.png differ
diff --git a/talks/ghm-2016/update/images/frozen-pizza.jpg 
b/talks/ghm-2016/update/images/frozen-pizza.jpg
new file mode 120000
index 0000000..20306e2
--- /dev/null
+++ b/talks/ghm-2016/update/images/frozen-pizza.jpg
@@ -0,0 +1 @@
+../../../fosdem-2016/distributions/images/frozen-pizza.jpg
\ No newline at end of file
diff --git a/talks/ghm-2016/update/images/gimp-graph.dot 
b/talks/ghm-2016/update/images/gimp-graph.dot
new file mode 120000
index 0000000..d3ecaff
--- /dev/null
+++ b/talks/ghm-2016/update/images/gimp-graph.dot
@@ -0,0 +1 @@
+../../../fosdem-2016/distributions/images/gimp-graph.dot
\ No newline at end of file
diff --git a/talks/ghm-2016/update/images/gimp-graph.pdf 
b/talks/ghm-2016/update/images/gimp-graph.pdf
new file mode 100644
index 0000000..338b59b
Binary files /dev/null and b/talks/ghm-2016/update/images/gimp-graph.pdf differ
diff --git a/talks/ghm-2016/update/images/libreboot-server.jpg 
b/talks/ghm-2016/update/images/libreboot-server.jpg
new file mode 100644
index 0000000..6af4a17
Binary files /dev/null and b/talks/ghm-2016/update/images/libreboot-server.jpg 
differ
diff --git a/talks/ghm-2016/update/images/npm-curl-pipe-sh-cropped.png 
b/talks/ghm-2016/update/images/npm-curl-pipe-sh-cropped.png
new file mode 120000
index 0000000..e98fb8f
--- /dev/null
+++ b/talks/ghm-2016/update/images/npm-curl-pipe-sh-cropped.png
@@ -0,0 +1 @@
+../../../fosdem-2016/distributions/images/npm-curl-pipe-sh-cropped.png
\ No newline at end of file
diff --git a/talks/ghm-2016/update/images/openhub-activity.png 
b/talks/ghm-2016/update/images/openhub-activity.png
new file mode 100644
index 0000000..6fb7b69
Binary files /dev/null and b/talks/ghm-2016/update/images/openhub-activity.png 
differ
diff --git a/talks/ghm-2016/update/images/openhub-contributors.png 
b/talks/ghm-2016/update/images/openhub-contributors.png
new file mode 100644
index 0000000..3ce39f7
Binary files /dev/null and 
b/talks/ghm-2016/update/images/openhub-contributors.png differ
diff --git a/talks/ghm-2016/update/images/os-declaration.jpg 
b/talks/ghm-2016/update/images/os-declaration.jpg
new file mode 120000
index 0000000..50f01cc
--- /dev/null
+++ b/talks/ghm-2016/update/images/os-declaration.jpg
@@ -0,0 +1 @@
+../../../fosdem-2016/distributions/images/os-declaration.jpg
\ No newline at end of file
diff --git a/talks/ghm-2016/update/images/package-managers-cropped.png 
b/talks/ghm-2016/update/images/package-managers-cropped.png
new file mode 120000
index 0000000..5cc98e4
--- /dev/null
+++ b/talks/ghm-2016/update/images/package-managers-cropped.png
@@ -0,0 +1 @@
+../../../fosdem-2016/distributions/images/package-managers-cropped.png
\ No newline at end of file
diff --git a/talks/ghm-2016/update/images/snappy-press-release.png 
b/talks/ghm-2016/update/images/snappy-press-release.png
new file mode 100644
index 0000000..f20fe8a
Binary files /dev/null and 
b/talks/ghm-2016/update/images/snappy-press-release.png differ
diff --git a/talks/ghm-2016/update/images/snappy.png 
b/talks/ghm-2016/update/images/snappy.png
new file mode 100644
index 0000000..8f9ffde
Binary files /dev/null and b/talks/ghm-2016/update/images/snappy.png differ
diff --git a/talks/ghm-2016/update/images/universal_install_script.png 
b/talks/ghm-2016/update/images/universal_install_script.png
new file mode 100644
index 0000000..15aeefd
Binary files /dev/null and 
b/talks/ghm-2016/update/images/universal_install_script.png differ
diff --git a/talks/ghm-2016/update/notes.org b/talks/ghm-2016/update/notes.org
new file mode 100644
index 0000000..29f4975
--- /dev/null
+++ b/talks/ghm-2016/update/notes.org
@@ -0,0 +1,275 @@
+scaling up for the next century!
+
+* context: the rise and fall of distros
+
+** "when i got involved..."
+
+distros like Debian were the pride of free software hackers:
+
+  - unique model for the free software commons
+  - efficient, well-integrated systems, unforeseen before
+  - well-defined distributed social structure (upstream/downstream)
+
+** distros unloved
+
+  - "that thing you run Docker on"
+  - main griefs:
+    + distros are inflexible
+    + distros "lag behind"
+      * or: people no longer feel concerned)
+      * or: developers are selfish
+    + barrier to entry too high
+      * arcane tools
+      * evolution is hard since everything is intermingled
+
+** need for flexibility: virtualenv, Vagrant, Docker, Spack, etc.
+
+** profusion of language package managers (-> xkcd image)
+
+  - good for developers: facilitates distribution of small packages,
+    makes the language environment more useful
+  - good: upstream formalizes the dependency graph
+  - bad for users: makes things messier
+    + example: npm relies on the host system to build C++ extensions
+    + need to use several package managers
+  - bad: a bunch of isolated communities
+
+** Flatpak and Snappy
+
+  - cite FOSDEM 2016 talk by RH employee about "core" vs. non-core
+  - see "runtimes" at http://flatpak.org/apps.html
+
+#+BEGIN_EXAMPLE
+  {
+      "app-id": "com.igalia.Gobby",
+      "branch": "0.4",
+      "runtime": "org.gnome.Platform",
+      "runtime-version": "3.20",
+      "sdk": "org.gnome.Sdk",
+      "separate-locales": false,
+      "command": "gobby",
+      "rename-desktop-file": "gobby.desktop",
+      "rename-icon": "gobby",
+      "desktop-file-name-prefix": "(0.4) ",
+      "finish-args": [
+         /* X11 + XShm access */
+         "--share=ipc", "--socket=x11",
+         /* Home directory */
+         "--filesystem=home",
+         /* Network access */
+         "--share=network"
+      ],
+      "build-options" : {
+         "cflags": "-O2 -g0",
+         "cxxflags": "-O2 -g0 --std=c++11",
+         "env": {
+             "V": "1"
+         }
+      },
+      "cleanup": [
+         "/include",
+         "/lib/*.a",
+         "/lib/*.la",
+         "/lib/*.so",
+         "/lib/atkmm-1.6",
+         "/lib/cairomm-1.0",
+         "/lib/debug",
+         "/lib/gdkmm-2.4",
+         "/lib/giomm-2.4",
+         "/lib/glibmm-2.4",
+         "/lib/gtkmm-2.4",
+         "/lib/libxml++-2.6",
+         "/lib/pangomm-1.4",
+         "/lib/pkgconfig",
+         "/lib/sigc++-2.0",
+         "/share/devhelp",
+         "/share/doc",
+         "/share/gtk-doc"
+      ],
+      "modules": [
+         {
+             "name": "sigc++",
+             "sources": [
+                 {
+                     "type": "archive",
+                     "url": 
"http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.8/libsigc++-2.8.0.tar.xz";,
+                     "sha256": 
"774980d027c52947cb9ee4fac6ffe2ca60cc2f753068a89dfd281c83dbff9651"
+                 }
+             ]
+         },
+
+         {
+             "name": "glibmm",
+             "sources": [
+                 {
+                     "type": "archive",
+                     "url": 
"http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.48/glibmm-2.48.1.tar.xz";,
+                     "sha256": 
"dc225f7d2f466479766332483ea78f82dc349d59399d30c00de50e5073157cdf"
+                 }
+             ]
+         },
+
+         {
+             "name": "cairomm",
+             "sources": [
+                 {
+                     "type": "archive",
+                     "url": 
"http://ftp.gnome.org/pub/GNOME/sources/cairomm/1.12/cairomm-1.12.0.tar.xz";,
+                     "sha256": 
"a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6"
+                 }
+             ]
+         },
+
+         {
+             "name": "pangomm",
+             "sources": [
+                 {
+                     "type": "archive",
+                     "url": 
"http://ftp.gnome.org/pub/GNOME/sources/pangomm/2.40/pangomm-2.40.0.tar.xz";,
+                     "sha256": 
"7dd0afa9dcce57cdb0aad77da9ea46823ee8515d5f3ffd895b9ede7365c3d70d"
+                 }
+             ]
+         },
+
+         {
+             "name": "atkmm",
+             "sources": [
+                 {
+                     "type": "archive",
+                     "url": 
"http://ftp.gnome.org/pub/GNOME/sources/atkmm/2.24/atkmm-2.24.2.tar.xz";,
+                     "sha256": 
"ff95385759e2af23828d4056356f25376cfabc41e690ac1df055371537e458bd"
+                 }
+             ]
+         },
+
+         {
+             "name": "gtkmm",
+             "sources": [
+                 {
+                     "type": "archive",
+                     "url": 
"http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.24/gtkmm-2.24.4.tar.xz";,
+                     "sha256": 
"443a2ff3fcb42a915609f1779000390c640a6d7fd19ad8816e6161053696f5ee"
+                 }
+             ]
+         },
+
+         {
+             "name": "xmlmm",
+             "sources": [
+                 {
+                     "type": "archive",
+                     "url": 
"http://ftp.gnome.org/pub/GNOME/sources/libxml++/2.40/libxml++-2.40.1.tar.xz";,
+                     "sha256": 
"4ad4abdd3258874f61c2e2a41d08e9930677976d303653cd1670d3e9f35463e9"
+                 }
+             ]
+         },
+
+         {
+             "name": "gtksourceview",
+             "sources": [
+                 {
+                     "type": "archive",
+                     "url": 
"http://ftp.gnome.org/pub/GNOME/sources/gtksourceview/2.10/gtksourceview-2.10.5.tar.bz2";,
+                     "sha256": 
"c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e"
+                 }
+             ]
+         },
+
+         {
+             "name": "net6",
+             "sources": [
+                 {
+                     "type": "archive",
+                     "url": "http://releases.0x539.de/net6/net6-1.3.14.tar.gz";,
+                     "sha256": 
"155dd82cbe1f8354205c79ab2bb54af4957047422250482596a34b0e0cc61e21"
+                 }
+             ]
+         },
+
+         {
+             "name": "obby",
+             "config-opts": [
+                 "--enable-ipv6"
+             ],
+             "sources": [
+                 {
+                     "type": "archive",
+                     "url": "http://releases.0x539.de/obby/obby-0.4.8.tar.gz";,
+                     "sha256": 
"7d1d7ba6e800cea1b1a3c47d1189f959ef49a647ebe77170351e2dfd27b89b67"
+                 }
+             ]
+         },
+
+         {
+             "name": "gobby",
+             "post-install": [
+                 "sed -e s/^_// contrib/gobby.desktop.in > 
contrib/gobby.desktop",
+                 "install -dm755 /app/share/applications",
+                 "install -m644 contrib/gobby.desktop /app/share/applications"
+             ],
+             "sources": [
+                 {
+                     "type": "archive",
+                     "url": 
"http://releases.0x539.de/gobby/gobby-0.4.13.tar.gz";,
+                     "sha256": 
"8cbd89ffbe3e056160a8d76e11d641f3b045793e35897546f98d2de368001871"
+                 }
+             ]
+         }
+      ]
+  }
+#+END_EXAMPLE
+
+*** quote from Adam Williamson (Red Hat, Fedora)
+
+"You may have read some stuff this week about an application delivery
+mechanism called Snappy and how it’s going to unite all distributions
+and kill apt and rpm!
+
+This is, to put it diplomatically, a heaping pile of steaming
+bullshit. You may not be surprised to learn that said pile has been
+served by the Canonical press department."
+
+"There is in fact another system with very similar goals, which is now
+called Flatpak [...] Canonical’s press
+release, of course, doesn’t even acknowledge Flatpak’s existence…"
+
+https://www.happyassassin.net/2016/06/16/on-snappy-and-flatpak-business-as-usual-in-the-canonical-propaganda-department/
+
+** fundamental problems
+
+*** losing "big picture" work, integration work
+
+*** not composable
+
+*** where's the Corresponding Source?
+
+*** "app" model/free software mismatch
+
+* what we have
+
+** package manager
+
+** development environment
+
+** GuixSD
+
+*** VM, container, metal
+*** services
+
+* scaling up
+
+** packages: guix import, guix refresh
+
+** builds: hardware donations, funding campaign, Igalia
+
+*** new machine: picture, Libreboot
+
+** contributions: guix lint, documented processes
+
+  - reviews
+  - tools? (Patchwork, etc.)
+
+** maintainership, responsibilities
+
+  - distributed sysadmin
+  - talks
diff --git a/talks/ghm-2016/update/rules.ini b/talks/ghm-2016/update/rules.ini
new file mode 100644
index 0000000..5a74423
--- /dev/null
+++ b/talks/ghm-2016/update/rules.ini
@@ -0,0 +1,9 @@
+;; Rules for Rubber.
+
+[dot-pdf]
+target = (.*)\.pdf
+source = \1.dot
+rule = shell
+cost = 0
+command = dot -Tpdf -Gratio=.78 -o $target $source
+message = rendering $source into $target
diff --git a/talks/ghm-2016/update/talk.tex b/talks/ghm-2016/update/talk.tex
new file mode 100644
index 0000000..c87a4f8
--- /dev/null
+++ b/talks/ghm-2016/update/talk.tex
@@ -0,0 +1,660 @@
+% The comment below tells Rubber to compile the .dot files.
+%
+% rubber: module graphics
+% rubber: rules rules.ini
+
+\documentclass{beamer}
+
+\usetheme{default}
+
+\usefonttheme{structurebold}
+\usepackage{helvet}
+\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}
+\usepackage{fancyvrb}           % for \Verb
+
+% 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}}}
+
+\title{GNU~Guix is 4 years old!}
+
+\author{Ludovic Courtès}
+\date{\small{GNU Hackers Meeting, Rennes, August 2016}}
+
+\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}
+
+\maketitle
+
+\setbeamercolor{normal text}{bg=guixblue2}
+\begin{frame}
+  \Huge{\textbf{The rise and fall of distros.}}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+%% \begin{frame}[plain]
+%%   \Huge{It's worse, really.}
+%% \end{frame}
+
+%% \setbeamercolor*{normal text}{bg=guixdarkgrey,fg=white}
+%% \begin{frame}[plain]
+%%   \Large{``Let's Package jQuery: A Javascript Packaging Dystopian
+%%     Novella'' by Chris Webber}
+%%   \\[2.cm]
+  
+%%   \url{http://dustycloud.org/blog/javascript-packaging-dystopia/}
+%% \end{frame}
+%% \setbeamercolor*{normal text}{fg=white,bg=black}
+
+\setbeamercolor{normal text}{bg=guixred3,fg=white}
+\begin{frame}[plain]
+  \begin{quotation}
+    \noindent
+    \LARGE{``Debian and other distributions are going to be \textbf{that
+        thing you run docker on}, little more.''}
+  \end{quotation}
+  \hfill{--- Jos Poortvliet, ownCloud developer}
+
+  \begin{tikzpicture}[overlay]
+    \node [at=(current page.south east), anchor=south east]{
+      \url{http://lwn.net/Articles/670566/}
+    };
+  \end{tikzpicture}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+          
{\includegraphics[width=\paperwidth]{images/dockerfile-owncloud-cropped}};
+
+    \node [at=(current page.center), anchor=south west, overlay,
+           text=black, text opacity=1, fill=white, opacity=.7, text width=5cm]
+          {\LARGE{It's also that thing you run \emph{inside} Docker!}};
+  \end{tikzpicture}
+\end{frame}
+
+\begin{frame}[plain]
+  \LARGE{
+    main griefs:
+  \begin{itemize}
+  \item distros are \textbf{inflexible}
+  \item distros \textbf{``lag behind''}
+  \item developers have to \textbf{``chase distros''}
+  \end{itemize}
+  }
+\end{frame}
+
+\setbeamercolor{normal text}{bg=white}
+\screenshot{images/package-managers-cropped}
+\screenshot{images/npm-curl-pipe-sh-cropped}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+          
{\includegraphics[height=\paperheight]{images/universal_install_script}};
+    \node [at=(current page.north east), anchor=south east, rotate=90,
+           text=black, text opacity=1, fill=white, opacity=.6]{
+      \url{http://xkcd.com/1654/}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=black}
+
+\begin{frame}[plain]
+  \Huge{\textbf{Giving up?}}
+  \\[1.0cm]
+  \uncover<2->{\Large{$\rightarrow$ ``app bundles''}}
+\end{frame}
+
+\screenshot{images/dockerfile-owncloud-cropped}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+          
{\includegraphics[width=\paperwidth]{images/docker-image-layers-cropped}};
+    \node [at=(current page.north east), anchor=north east,
+           text=black, text opacity=1, fill=white, opacity=.6]{
+      \url{https://imagelayers.io/}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=guixdarkgrey,fg=white}
+\begin{frame}[plain]
+  \Huge{... still too low-level}
+  \\[1cm]
+  \uncover<2->{\Huge{Maybe what we need is an \textbf{app store} that
+      \emph{feels} like apt, yum \& co.?}}
+\end{frame}
+\setbeamercolor{normal text}{bg=black,fg=white}
+
+\screenshot{images/arstechnica-snappy-goodbye-apt-yum}
+
+\setbeamercolor{normal text}{bg=guixred3,fg=white}
+\begin{frame}[plain]
+  \begin{quotation}
+    \noindent
+    \LARGE{``This is, to put it diplomatically, a heaping pile of
+      steaming bullshit [...] served by the Canonical press
+      department.''}
+    \\[6mm]
+    \LARGE{\uncover<2->{``There is in fact another system with very
+        similar goals, which is now called \textbf{Flatpak} [...]''}}
+  \end{quotation}
+  \hfill{--- Adam Williamson (Red Hat, Fedora)}
+
+  % 
https://www.happyassassin.net/2016/06/16/on-snappy-and-flatpak-business-as-usual-in-the-canonical-propaganda-department/
+  \begin{tikzpicture}[overlay]
+    \node [at=(current page.south east), anchor=south east]{
+      \url{https://www.happyassassin.net/}
+    };
+  \end{tikzpicture}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+
+\screenshot{images/flatpak}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+          
{\includegraphics[width=\paperwidth]{images/flatpak-how-it-works-cropped}};
+    \node [at=(current page.north east), anchor=north east,
+           text=black, text opacity=1, fill=white, opacity=.6]{
+      \url{http://flatpak.org/}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+
+\begin{frame}[plain]{``app bundles'' are headed wrong}
+  \Large{
+    \begin{itemize}
+    \item difficulty to \highlight{compose} software packages
+    \item no ``big picture'' \highlight{integration work}
+    \item where's the \highlight{Corresponding Source}?
+    \item \textbf{``app'' model/free software commons mismatch}
+    \end{itemize}
+  }
+\end{frame}
+
+%% \screenshot{images/frozen-pizza}
+%% \screenshot{images/docker-security}
+
+% TODO: 
http://www.vitavonni.de/blog/201503/2015031201-the-sad-state-of-sysadmin-in-the-age-of-containers.html
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\setbeamercolor{normal text}{fg=black,bg=white}
+\screenshot{images/GuixSD-horizontal-print}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\begin{frame}{Guix}
+  \LARGE{
+    \begin{enumerate}
+    \item transactional package manager
+    \item software environment manager
+    \item APIs \& tools to customize environments
+    \item packaging tools
+    \end{enumerate}
+  }
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \begin{semiverbatim}
+\$ guix package -i gcc-toolchain coreutils sed grep
+\textrm{...}
+
+\$ eval `guix package --search-paths`
+\textrm{...}
+
+\$ guix package --manifest=my-software.scm
+\textrm{...}
+  \end{semiverbatim}
+
+  %% \begin{tikzpicture}[overlay]
+  %%   \node[rounded corners=4, text centered,
+  %%         fill=guixorange1, text width=3cm,
+  %%         inner sep=3mm, rotate=5, opacity=.75, text opacity=1,
+  %%         drop shadow={opacity=0.5}] at (5, 4) {
+  %%           \textbf{\large{demo}}
+  %%         };
+  %% \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=guixdarkgrey,fg=guixred3}
+\begin{frame}[fragile]
+  \Huge{Want to get started hacking on GIMP?}
+  \\[2cm]
+  \uncover<2->{\Large{A simple matter of installing the deps, right?}}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=white}
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+          {\includegraphics[width=\paperwidth]{images/gimp-graph}};
+  \end{tikzpicture}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+
+\begin{frame}[fragile]
+  \begin{semiverbatim}
+\$ guix environment --container gimp
+\textrm{...}
+
+\$ guix environment --container gimp \\
+     --ad-hoc git autoconf automake gdb
+\textrm{...}
+
+  \end{semiverbatim}
+\end{frame}
+
+\begin{frame}[plain]
+  \Huge{Creating package variants at the command line}
+\end{frame}
+
+\begin{frame}[fragile]
+  \begin{semiverbatim}
+\$ guix package -i emacs \\
+    \alert<1>{--with-source}=./emacs-25.1rc0.tar.gz
+\textrm{...}
+
+\pause
+\$ guix package -i git \\
+     \alert<2>{--with-input}=openssl=libressl
+\textrm{...}
+
+  \end{semiverbatim}
+\end{frame}
+
+\begin{frame}[plain]
+  \Huge{Your personal packages or variants in
+    \texttt{GUIX\_PACKAGE\_PATH}!}
+\end{frame}
+
+\begin{frame}[plain]
+  \Huge{Security updates ``grafted'' onto available binaries}
+\end{frame}
+
+\screenshot{images/gimp-graph}
+
+\begin{frame}[plain]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+          {\includegraphics[width=\paperwidth]{images/os-declaration}};
+    \node [at=(current page.center), fill=black, opacity=.3, text
+      opacity=1., minimum height=21cm, minimum width=297mm]
+          {\huge{\textbf{GuixSD: declarative OS config}}};
+  \end{tikzpicture}
+\end{frame}
+
+\begin{frame}[fragile]
+  \begin{overlayarea}{\textwidth}{8cm}
+  \begin{tikzpicture}[kernel/.style = {
+                        text width=10cm, minimum height=1.4cm,
+                        text centered,
+                        rounded corners=2mm,
+                        fill=white, text=black
+                      },
+                      userland/.style = {
+                        draw=guixorange1, very thick,
+                        fill=white, text=black, text width=6cm,
+                        rounded corners=2mm, minimum height=1.4cm,
+                        text centered
+                      }]
+    \matrix[row sep=6mm, column sep=1cm] {
+      \node(kernel)[kernel]{\textbf{\Large{Linux-libre}}};
+      \\
+
+      \node<2->(initrd)[userland]{\textbf{\Large{initial RAM disk}}};
+      \\
+
+      \node<4->(shepherd)[userland]{\textbf{\Large{PID 1: GNU Shepherd}}
+        \\ services...};
+      \\
+
+      \node<6->(user)[userland, dashed]{\textbf{\Large{applications}}};
+      \\
+    };
+
+    \path[->, very thick, draw=guixred1]<2->
+      (kernel) edge (initrd);
+    \path[->, very thick, draw=guixred1]<4->
+      (initrd) edge (shepherd);
+    \path[->, very thick, draw=guixred1]<6->
+      (shepherd) edge (user);
+    
+  \end{tikzpicture}
+  \end{overlayarea}
+
+  \begin{tikzpicture}[overlay,
+                      guile/.style = {
+                         fill=guixyellow, text=black, rotate=30,
+                         rounded corners=4mm, text width=3cm,
+                         opacity=.75, text opacity=1, text centered,
+                         minimum height=1.3cm
+                      }]
+    \node<3->(labelinitrd) [guile] at (initrd.east) {%
+      \Large{Guile}
+    };
+    \node<5->(labelinitrd) [guile] at (shepherd.east) {%
+      \Large{Guile}
+    };
+  \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=guixblue2}
+\begin{frame}[plain]
+  \Huge{\textbf{Status.}}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\begin{frame}{4 years!}
+  \begin{itemize}
+    \item Aug. 2012 --- GNU Hackers Meeting, Düsseldorf
+    \item Nov. 2012 --- dubbed GNU
+    \item{Jan. 2013 --- \alert{0.1}}
+    \item ...
+    \item{July 2014 --- \alert{0.7}, \textbf{installable operating
+        system}}
+    \item ...
+    \item{Nov. 2015 --- \alert{0.9.0}, new service framework, etc.}
+    \item{Jan. 2016 --- successful \alert{fundraiser} for new
+      \textbf{build farm}}
+    \item{Mar. 2016 --- \alert{0.10.0}, grafts, GNOME}
+    \item{Aug. 2016 --- \alert{0.11.0}, system tests, more services}
+  \end{itemize}
+\end{frame}
+
+\screenshot{images/better}
+
+\begin{frame}{growth!}
+  \Large{
+  \begin{itemize}
+    \item 3,800+ packages
+    \item 4 architectures
+    \item binaries at \url{https://hydra.gnu.org}
+    \item $\approx$500 new packages per release
+    \end{itemize}
+  }
+\end{frame}
+
+
+\setbeamercolor{normal text}{bg=white}
+\screenshot{images/openhub-activity}
+\screenshot{images/openhub-contributors}
+\setbeamercolor{normal text}{bg=black}
+
+\setbeamercolor{normal text}{bg=guixblue2}
+\begin{frame}[plain]
+  \Huge{\textbf{Scaling up.}}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\begin{frame}[fragile]{importers \& updaters}
+  \Large{
+  \begin{itemize}
+  \item{\texttt{guix import}
+    \begin{itemize}
+    \item \highlight{8.5 importers}: GNU, Nix, PyPI, CPAN, CRAN,
+      Hackage, ELPA, Gem, npm (GSoC~2016)
+    \end{itemize}}
+  \item{\texttt{guix refresh}
+    \begin{itemize}
+      \item \highlight{11 updaters}: GNU, GNOME, KDE, Xorg, ELPA, CRAN,
+        Bioconductor, Hackage, PyPI, Gem, GitHub
+    \end{itemize}}
+  \item \texttt{guix lint -c cve} (vulnerabilities)
+  \end{itemize}
+  }
+\end{frame}
+
+\begin{frame}{contributions}
+  \Large{
+  \begin{itemize}
+  \item \highlight{documented processes}, code of conduct
+  \item \highlight{consensus-based} decision making
+  \item \highlight{tools}: \texttt{guix lint} (12 checkers!),
+    \texttt{guix build --rounds=2}, etc.
+  \item good \highlight{reviews \& mentoring}
+  \item<2-> 30 committers, but \highlight{5--10 frequent reviewers}
+  \item<3->{50+ emails per day, \highlight{hard to track patches}
+    \begin{itemize}
+    \item Patchwork? QEMU's \texttt{patches}? suggestions?
+    \end{itemize}}
+  \end{itemize}
+  }
+\end{frame}
+
+\begin{frame}{maintainership, responsibilities}
+  \Large{
+  \begin{itemize}
+    \item \highlight{Ricardo Wurmus} co-maintainer since July!
+    \item{currently \highlight{$\approx$3 build farm sysadmins}
+      \begin{itemize}
+      \item ... but heading towards distributed sysadmin!
+      \item run GuixSD everywhere, version-control that
+      \item eventually: \texttt{guix deploy}
+      \end{itemize}}
+  \end{itemize}
+  }
+\end{frame}
+
+\begin{frame}{build farm \& funding}
+  \Large{
+  \begin{itemize}
+    \item \highlight{hardware donated} by FSF, TUM, GNU~Spain,
+      individuals
+    \item 2 \highlight{Novena} boards (ARMv7) donated by Bunnie
+    \item \highlight{raised \$8,000+} in January 2016
+    \item \highlight{5,000~EUR donated by Igalia}
+    \item ``\highlight{Guix Europe}'' NPO created in France in 2016
+  \end{itemize}
+  }
+
+  \begin{tikzpicture}[overlay]
+    \node<2>[rounded corners=4, text centered,
+          fill=guixorange1, text width=5cm,
+          inner sep=5mm, opacity=.75, text opacity=1,
+          drop shadow={opacity=0.5}] at (5, 3) {
+            \textbf{\LARGE{Thank You! :-)}}
+          };
+  \end{tikzpicture}
+\end{frame}
+
+
+\begin{frame}[plain,fragile]
+  \begin{tikzpicture}[remember picture, overlay]
+    \node [at=(current page.center), inner sep=0pt]
+          {\includegraphics[width=\paperwidth]{images/libreboot-server}};
+  \end{tikzpicture}
+
+  \begin{tikzpicture}[overlay]
+    \node<2>[rounded corners=4, text centered,
+          fill=guixorange1, text width=8cm,
+          inner sep=5mm, opacity=.75, text opacity=1,
+          drop shadow={opacity=0.5}] at (current page.center) {
+            \textbf{\Large{Libreboot inside! No MEâ„¢!}}
+          };
+  \end{tikzpicture}
+
+  %% \begin{tikzpicture}[overlay]
+  %%   \node<3>[rounded corners=4, text centered,
+  %%         fill=guixorange1, text width=8cm, rotate=10,
+  %%         inner sep=5mm, opacity=.75, text opacity=1, anchor=north east,
+  %%         drop shadow={opacity=0.5}] at (current page.center) {
+  %%           \Large{chewing new dog food soon...}
+  %%         };
+  %% \end{tikzpicture}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=guixblue2}
+\begin{frame}[plain]
+  \Huge{\textbf{What's left before 1.0?}}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\begin{frame}[plain]{getting to 1.0}
+  \Large{
+    \begin{itemize}
+    \item \texttt{guix pull} \& authenticated checkouts
+    \item performance \& usability improvements
+    \item{\highlight{GuixSD}
+      \begin{itemize}
+      \item encrypted root file system
+      \item LVM support
+      \item more system services
+      \item fix bugs and glitches!
+    \end{itemize}}
+    \item self-hosted infra: \texttt{guix publish} and Cuirass
+    \end{itemize}
+  }
+\end{frame}
+
+\begin{frame}[plain]
+
+  \vspace{0.7cm}
+  \Large{
+    \begin{itemize}
+    \item \textbf{install the distribution}
+    \item \textbf{use it}, report bugs, add packages
+    \item help with the \textbf{infrastructure} + admin
+    \item \textbf{donate} hardware/money
+    \item share your \textbf{ideas}!
+    \end{itemize}
+  }
+
+  \begin{textblock}{5}(7,8)
+    \tikz
+    \node[overlay, rounded corners=4, text centered,
+          minimum size=10mm, fill=guixorange1, text width=5cm,
+          inner sep=3mm, rotate=-7, opacity=.75, text opacity=1,
+          drop shadow={opacity=0.5}] at (3, 3) {
+            \textbf{your help needed!}
+          };
+  \end{textblock}
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{frame}[plain]
+
+\vfill{
+  \vspace{2.5cm}
+  \center{\includegraphics[width=0.3\textwidth]{images/GuixSD}}\\[1.0cm]
+  address@hidden://gnu.org/software/guix/}}}
+}
+
+\end{frame}
+
+\begin{frame}{}
+
+  \begin{textblock}{12}(2, 8)
+    \tiny{
+      Copyright \copyright{} 2010, 2012--2016 Ludovic Courtès address@hidden
+      GNU GuixSD logo, CC-BY-SA 4.0, \url{http://gnu.org/s/guix/graphics}
+
+      Copyright of other images included in this document is held by
+      their respective owners.
+      \\[3.0mm]
+      This work is licensed under the \alert{Creative Commons
+        Attribution-Share Alike 3.0} License.  To view a copy of this
+      license, visit
+      \url{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{http://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{http://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: "american"
+% compile-command: "rubber --pdf talk.tex"
+% End:
+
+%%  LocalWords:  Reproducibility



reply via email to

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