guix-commits
[Top][All Lists]
Advanced

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

01/01: talks: Add OpenTechSummit 2015 talk.


From: Ricardo Wurmus
Subject: 01/01: talks: Add OpenTechSummit 2015 talk.
Date: Sun, 24 May 2015 15:36:19 +0000

rekado pushed a commit to branch master
in repository maintenance.

commit 028164d344cfa23d5fffdd889aac9acebc724712
Author: Ricardo Wurmus <address@hidden>
Date:   Sun May 24 17:32:25 2015 +0200

    talks: Add OpenTechSummit 2015 talk.
---
 talks/ots-2015/demo-home/.bashrc             |   11 +
 talks/ots-2015/demo-home/start.sh            |   16 +
 talks/ots-2015/images/function.pdf           |  Bin 0 -> 8071 bytes
 talks/ots-2015/images/function.svg           |  259 ++++++
 talks/ots-2015/images/functional-package.pdf |  Bin 0 -> 42240 bytes
 talks/ots-2015/images/gnuhead.pdf            |  Bin 0 -> 70558 bytes
 talks/ots-2015/images/guix-logo.pdf          |  Bin 0 -> 1999 bytes
 talks/ots-2015/images/guixsd-logo.pdf        |  Bin 0 -> 48878 bytes
 talks/ots-2015/images/profile-1.pdf          |  Bin 0 -> 128646 bytes
 talks/ots-2015/images/profile-2.pdf          |  Bin 0 -> 173219 bytes
 talks/ots-2015/images/profiles.svg           | 1239 ++++++++++++++++++++++++++
 talks/ots-2015/outline.org                   |  144 +++
 talks/ots-2015/talk.pdf                      |  Bin 0 -> 476941 bytes
 talks/ots-2015/talk.tex                      |  314 +++++++
 14 files changed, 1983 insertions(+), 0 deletions(-)

diff --git a/talks/ots-2015/demo-home/.bashrc b/talks/ots-2015/demo-home/.bashrc
new file mode 100644
index 0000000..64999d0
--- /dev/null
+++ b/talks/ots-2015/demo-home/.bashrc
@@ -0,0 +1,11 @@
+# .bashrc
+
+# User specific aliases and functions
+export USER=demo
+export HOME=/home/rekado/demo-home
+export PATH=~/.guix-profile/bin:~/.guix-profile/sbin:$PATH
+export LOCPATH="$HOME/.guix-profile/lib/locale/:$LOCPATH"
+
+PS1='address@hidden \w\$ '
+alias ls='ls -p --color'
+alias ll='ls -l'
diff --git a/talks/ots-2015/demo-home/start.sh 
b/talks/ots-2015/demo-home/start.sh
new file mode 100755
index 0000000..0a77c0a
--- /dev/null
+++ b/talks/ots-2015/demo-home/start.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+export USER=demo
+export HOME=/home/rekado/demo-home
+cd
+unset GUILE_LOAD_PATH
+unset GUILE_LOAD_COMPILED_PATH
+export 
PATH=$HOME/.guix-profile/bin:/run/current-system/profile/bin:$HOME/local/bin:/run/setuid-programs
+rm -f /var/guix/profiles/per-user/demo/guix-profile*
+rm -f ~/.guix-profile
+rm -f old-times*
+rm -rf ~/hello*
+unset LANGUAGE
+exec bash
diff --git a/talks/ots-2015/images/function.pdf 
b/talks/ots-2015/images/function.pdf
new file mode 100644
index 0000000..c0a7a8d
Binary files /dev/null and b/talks/ots-2015/images/function.pdf differ
diff --git a/talks/ots-2015/images/function.svg 
b/talks/ots-2015/images/function.svg
new file mode 100644
index 0000000..dd030c4
--- /dev/null
+++ b/talks/ots-2015/images/function.svg
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="297mm"
+   height="210mm"
+   viewBox="0 0 1052.3622 744.09448"
+   id="svg3386"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="function.svg">
+  <defs
+     id="defs3388" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.98994949"
+     inkscape:cx="672.69935"
+     inkscape:cy="514.34439"
+     inkscape:document-units="px"
+     inkscape:current-layer="g5089"
+     showgrid="true"
+     inkscape:window-width="1280"
+     inkscape:window-height="740"
+     inkscape:window-x="0"
+     inkscape:window-y="31"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4200" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata3391">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-308.26772)">
+    <g
+       id="g5111">
+      <text
+         sodipodi:linespacing="125%"
+         id="text4196"
+         y="572.65308"
+         x="56.987644"
+         
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0074d8;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:90px;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu Serif';fill:#0074d8;fill-opacity:1"
+           y="572.65308"
+           x="56.987644"
+           id="tspan4198"
+           sodipodi:role="line">g:<tspan
+   id="tspan4210"
+   
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu Serif 
Bold';fill:#d83e00;fill-opacity:1">n  <tspan
+   id="tspan4256"
+   style="fill:#439b00;fill-opacity:1">u</tspan></tspan></tspan></text>
+      <path
+         sodipodi:nodetypes="cccccccccccccccc"
+         inkscape:connector-curvature="0"
+         id="path4204"
+         d="m 132.4162,391.36736 -20,39.99999 0,40 250,0 0,160 -40,0 0,40 
20,40 m -90.71429,0 20,-40 0,-40 -249.285707,0 0,-160 40,0 0,-40 -20,-39.99999"
+         
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <circle
+         r="25"
+         cy="367.08163"
+         cx="88.130486"
+         id="path4228"
+         
style="fill:#d83e00;fill-opacity:1;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4234"
+         d="m 82.416203,401.36735 10,0 0,20 9.999997,0 -14.999997,20 -15,-20 
10,0 z"
+         
style="fill:#7b665d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4234-9"
+         d="m 292.4162,654.51022 10,0 0,20 10,0 -15,20 -15,-20 10,0 z"
+         
style="fill:#7b665d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4234-5"
+         d="m 220.27334,553.51021 0,-10 20,0 0,-10 20,15 -20,15 0,-10 z"
+         
style="fill:#7b665d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+      <path
+         inkscape:transform-center-y="1.5626758"
+         inkscape:transform-center-x="-1.720021"
+         d="m 312.19729,709.18458 -0.11702,22.5476 18.50784,12.87897 
-21.4802,6.8563 -6.5294,21.58182 -13.15848,-18.31017 -22.54322,0.45932 
13.34781,-18.17261 -7.40308,-21.29794 21.40788,7.07888 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="false"
+         sodipodi:arg2="-0.47883019"
+         sodipodi:arg1="-1.1071487"
+         sodipodi:r2="16.977167"
+         sodipodi:r1="33.954334"
+         sodipodi:cy="739.55429"
+         sodipodi:cx="297.01246"
+         sodipodi:sides="5"
+         id="path4300"
+         
style="fill:#439b00;fill-opacity:1;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         sodipodi:type="star" />
+    </g>
+    <g
+       id="g5089">
+      <text
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         sodipodi:linespacing="125%"
+         id="text4196-19"
+         y="742.3064"
+         x="590.00159"
+         
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0074d8;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu Serif';fill:#0074d8;fill-opacity:1"
+           y="742.3064"
+           x="590.00159"
+           id="tspan4198-3"
+           sodipodi:role="line"><tspan
+             id="tspan4210-7"
+             
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu 
Serif';fill:#d83e00;fill-opacity:1">in  </tspan><tspan
+             
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu Serif';fill:#439b00;fill-opacity:1"
+             id="tspan4409">out</tspan></tspan></text>
+      <ellipse
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         ry="113.6878"
+         rx="135"
+         cy="395.04706"
+         cx="610.43018"
+         id="path4383"
+         
style="fill:#d83e00;fill-opacity:1;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <text
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         sodipodi:linespacing="125%"
+         id="text4196-1"
+         y="673.44922"
+         x="582.00159"
+         
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0074d8;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu Serif';fill:#0074d8;fill-opacity:1"
+           y="673.44922"
+           x="582.00159"
+           id="tspan4198-0"
+           sodipodi:role="line">recipe:</tspan></text>
+      <path
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         sodipodi:nodetypes="cccccccccccccccc"
+         inkscape:connector-curvature="0"
+         id="path4204-8"
+         d="m 656.8587,524.44921 -20,39.99999 0,40 249.99997,0 0,160 -40,0 
0,40 20,40 m -90.7143,0 20,-40 0,-40 -249.28567,0 0,-160 40,0 0,-40 
-20,-39.99999"
+         
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:connector-curvature="0"
+         id="path4234-3"
+         d="m 606.8587,534.4492 10,0 0,20 10,0 -15,20 -15,-20 10,0 z"
+         
style="fill:#7b665d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+      <path
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:connector-curvature="0"
+         id="path4234-9-7"
+         d="m 816.85867,787.59207 10,0 0,20 10,0 -15,20 -15,-20 10,0 z"
+         
style="fill:#7b665d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+      <path
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         inkscape:connector-curvature="0"
+         id="path4234-5-7"
+         d="m 678.14441,728.02063 0,-10 20,0 0,-10 20,15 -20,15 0,-10 z"
+         
style="fill:#7b665d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 />
+      <text
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         sodipodi:linespacing="125%"
+         id="text4363"
+         y="341.87772"
+         x="613.59839"
+         
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:center;text-anchor:middle;fill:#ffffff"
+           id="tspan4367"
+           y="341.87772"
+           x="613.59839"
+           sodipodi:role="line">headers</tspan><tspan
+           style="text-align:center;text-anchor:middle;fill:#ffffff"
+           y="391.87772"
+           x="613.59839"
+           sodipodi:role="line"
+           id="tspan3374">sources</tspan><tspan
+           style="text-align:center;text-anchor:middle;fill:#ffffff"
+           y="441.87772"
+           x="613.59839"
+           sodipodi:role="line"
+           id="tspan3376">build tools</tspan><tspan
+           style="text-align:center;text-anchor:middle;fill:#ffffff"
+           id="tspan4377"
+           y="491.87772"
+           x="613.59839"
+           sodipodi:role="line">libs</tspan><tspan
+           style="text-align:center;text-anchor:middle;fill:#ffffff"
+           id="tspan4379"
+           y="541.87769"
+           x="613.59839"
+           sodipodi:role="line" /></text>
+      <ellipse
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         ry="47.522808"
+         rx="135"
+         cy="905.97205"
+         cx="824.71588"
+         id="path4383-9"
+         
style="fill:#439b00;fill-opacity:1;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <text
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         sodipodi:linespacing="125%"
+         id="text4363-7"
+         y="915.59204"
+         x="827.88409"
+         
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="text-align:center;text-anchor:middle;fill:#ffffff"
+           id="tspan4377-1"
+           y="915.59204"
+           x="827.88409"
+           sodipodi:role="line">package</tspan><tspan
+           style="text-align:center;text-anchor:middle;fill:#ffffff"
+           id="tspan4379-4"
+           y="965.59204"
+           x="827.88409"
+           sodipodi:role="line" /></text>
+    </g>
+  </g>
+</svg>
diff --git a/talks/ots-2015/images/functional-package.pdf 
b/talks/ots-2015/images/functional-package.pdf
new file mode 100644
index 0000000..60284d7
Binary files /dev/null and b/talks/ots-2015/images/functional-package.pdf differ
diff --git a/talks/ots-2015/images/gnuhead.pdf 
b/talks/ots-2015/images/gnuhead.pdf
new file mode 100644
index 0000000..4f061d3
Binary files /dev/null and b/talks/ots-2015/images/gnuhead.pdf differ
diff --git a/talks/ots-2015/images/guix-logo.pdf 
b/talks/ots-2015/images/guix-logo.pdf
new file mode 100644
index 0000000..6d6064e
Binary files /dev/null and b/talks/ots-2015/images/guix-logo.pdf differ
diff --git a/talks/ots-2015/images/guixsd-logo.pdf 
b/talks/ots-2015/images/guixsd-logo.pdf
new file mode 100644
index 0000000..d48c5cc
Binary files /dev/null and b/talks/ots-2015/images/guixsd-logo.pdf differ
diff --git a/talks/ots-2015/images/profile-1.pdf 
b/talks/ots-2015/images/profile-1.pdf
new file mode 100644
index 0000000..880b26f
Binary files /dev/null and b/talks/ots-2015/images/profile-1.pdf differ
diff --git a/talks/ots-2015/images/profile-2.pdf 
b/talks/ots-2015/images/profile-2.pdf
new file mode 100644
index 0000000..37bb990
Binary files /dev/null and b/talks/ots-2015/images/profile-2.pdf differ
diff --git a/talks/ots-2015/images/profiles.svg 
b/talks/ots-2015/images/profiles.svg
new file mode 100644
index 0000000..061cfd8
--- /dev/null
+++ b/talks/ots-2015/images/profiles.svg
@@ -0,0 +1,1239 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="210mm"
+   height="297mm"
+   viewBox="0 0 744.09448819 1052.3622047"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="profiles.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker48868"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DotM">
+      <path
+         transform="scale(0.4) translate(7.4, 1)"
+         
style="fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C 
-10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 
-7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         id="path48870" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker48642"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DotM">
+      <path
+         transform="scale(0.4) translate(7.4, 1)"
+         
style="fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C 
-10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 
-7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         id="path48644" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker48422"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DotM">
+      <path
+         transform="scale(0.4) translate(7.4, 1)"
+         
style="fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C 
-10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 
-7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         id="path48424" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker48208"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DotM">
+      <path
+         transform="scale(0.4) translate(7.4, 1)"
+         
style="fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C 
-10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 
-7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         id="path48210" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker48000"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DotM">
+      <path
+         transform="scale(0.4) translate(7.4, 1)"
+         
style="fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C 
-10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 
-7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         id="path48002" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker47798"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DotM">
+      <path
+         transform="scale(0.4) translate(7.4, 1)"
+         
style="fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C 
-10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 
-7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         id="path47800" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker47602"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="DotM">
+      <path
+         transform="scale(0.4) translate(7.4, 1)"
+         
style="fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C 
-10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 
-7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         id="path47604" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker39150"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend">
+      <path
+         transform="scale(0.6) rotate(180) translate(0,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 
8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 
8.7185878,4.0337352 z "
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#008fde;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         id="path39152" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker38966"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path38968"
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#008fde;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 
8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 
8.7185878,4.0337352 z "
+         transform="scale(0.6) rotate(180) translate(0,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker38788"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.6) rotate(180) translate(0,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 
8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 
8.7185878,4.0337352 z "
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#008fde;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         id="path38790" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker38666"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path38668"
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#008fde;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 
8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 
8.7185878,4.0337352 z "
+         transform="scale(0.6) rotate(180) translate(0,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker15672"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.6) rotate(180) translate(0,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 
8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 
8.7185878,4.0337352 z "
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#008fde;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         id="path15674" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Mend"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path5210"
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#008fde;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 
8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 
8.7185878,4.0337352 z "
+         transform="scale(0.6) rotate(180) translate(0,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path5204"
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#008fde;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 
8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 
8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="DotM"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path5247"
+         d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C 
-10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 
-7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
+         
style="fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         transform="scale(0.4) translate(7.4, 1)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Mstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path5189"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1;fill:#008fde;fill-opacity:1"
+         transform="scale(0.4) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path5201"
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 
8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 
8.7185878,4.0337352 z "
+         transform="scale(1.1) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path5183"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path5186"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.1811 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09449 : 526.1811 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.7874 : 1"
+       id="perspective5057" />
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM-5"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5247-9"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 
2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mstart-7"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5189-1"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,4,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM-5-7"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5247-9-7"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 
2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Mend-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5210-2"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c 
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="scale(-0.6,-0.6)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM-5-4"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5247-9-8"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 
2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Mend-0"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5210-7"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c 
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="scale(-0.6,-0.6)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM-1"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5247-3"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 
2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker15672-5"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="scale(-0.6,-0.6)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c 
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path15674-9" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM-1-9"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5247-3-9"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 
2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker15672-5-2"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="scale(-0.6,-0.6)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c 
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path15674-9-0" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM-5-4-0"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5247-9-8-5"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 
2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM-5-7-4"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5247-9-7-0"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 
2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Mend-2-4"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5210-2-6"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c 
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="scale(-0.6,-0.6)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM-5-75"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5247-9-9"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 
2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:stockid="DotM"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="DotM-8"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5247-36"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 
2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:1pt;stroke-opacity:1"
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker15672-1"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="scale(-0.6,-0.6)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c 
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path15674-96" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker38966-9"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         inkscape:connector-curvature="0"
+         id="path38968-5"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c 
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="scale(-0.6,-0.6)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker39150-6"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="scale(-0.6,-0.6)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c 
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         
style="fill:#008fde;fill-opacity:1;fill-rule:evenodd;stroke:#008fde;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path39152-4" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.16"
+     inkscape:cx="1126.7921"
+     inkscape:cy="-25.232209"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1280"
+     inkscape:window-height="740"
+     inkscape:window-x="0"
+     inkscape:window-y="31"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3384" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g49466"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <rect
+         y="452.36221"
+         x="-840"
+         height="1120"
+         width="80"
+         id="rect49348"
+         
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <rect
+         y="452.50937"
+         x="1.1978977"
+         height="1104.723"
+         width="740"
+         id="rect11160-2"
+         
style="fill:#e8ffd5;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <rect
+         y="451.32675"
+         x="-761.65503"
+         height="1104.7231"
+         width="740"
+         id="rect11160"
+         
style="fill:#fbf3d5;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <text
+         sodipodi:linespacing="125%"
+         id="text3336"
+         y="164.69431"
+         x="-195.94496"
+         
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="164.69431"
+           x="-195.94496"
+           id="tspan3338"
+           sodipodi:role="line">/home/rekado/.guix-profile</tspan></text>
+      <text
+         sodipodi:linespacing="125%"
+         id="text3340"
+         y="501.17294"
+         x="-702.04224"
+         
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="501.17294"
+           x="-702.04224"
+           id="tspan3342"
+           sodipodi:role="line">/var/guix/...</tspan><tspan
+           id="tspan3344"
+           y="551.17297"
+           x="-702.04224"
+           sodipodi:role="line" /><tspan
+           id="tspan3358"
+           y="601.17297"
+           x="-702.04224"
+           sodipodi:role="line">    guix-profile</tspan><tspan
+           id="tspan3356"
+           y="651.17297"
+           x="-702.04224"
+           sodipodi:role="line" /><tspan
+           id="tspan3380"
+           y="701.17297"
+           x="-702.04224"
+           sodipodi:role="line">    42</tspan></text>
+      <text
+         sodipodi:linespacing="125%"
+         id="text3360"
+         y="497.9227"
+         x="58.469902"
+         
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           y="497.9227"
+           x="58.469902"
+           id="tspan3362"
+           sodipodi:role="line">/gnu/store</tspan><tspan
+           id="tspan3366"
+           y="547.92273"
+           x="58.469902"
+           sodipodi:role="line"></tspan><tspan
+           id="tspan3372"
+           y="597.92273"
+           x="58.469902"
+           sodipodi:role="line"><tspan
+   id="tspan5735"
+   style="fill:#969696;fill-opacity:1">    
hscq14x...-</tspan>profile</tspan><tspan
+           id="tspan3368"
+           y="647.92273"
+           x="58.469902"
+           sodipodi:role="line">        bin</tspan><tspan
+           id="tspan3374"
+           y="697.92273"
+           x="58.469902"
+           sodipodi:role="line">            emacs</tspan><tspan
+           id="tspan3376"
+           y="747.92273"
+           x="58.469902"
+           sodipodi:role="line">            guile</tspan><tspan
+           id="tspan3378"
+           y="797.92273"
+           x="58.469902"
+           sodipodi:role="line" /></text>
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4481"
+         d="m 69.898475,512.35199 0,709.15591"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         inkscape:connector-curvature="0"
+         id="path5025"
+         d="m 69.898475,586.49413 c 32.857135,0 32.857135,0 32.857135,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="ccc"
+         inkscape:connector-curvature="0"
+         id="path5025-8"
+         d="m 115.61276,607.1283 0.71428,27.85714 41.42857,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="ccc"
+         inkscape:connector-curvature="0"
+         id="path5025-8-4"
+         d="m 167.75562,657.1283 0.71428,27.85714 41.42857,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="ccc"
+         inkscape:connector-curvature="0"
+         id="path5025-8-4-2"
+         d="m 168.46991,681.27116 0.71428,56.42857 41.42857,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <text
+         sodipodi:linespacing="125%"
+         id="text3360-3"
+         y="854.72479"
+         x="57.048538"
+         
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           id="tspan3372-0"
+           y="854.72479"
+           x="57.048538"
+           sodipodi:role="line"><tspan
+   id="tspan5741"
+   style="fill:#969696;fill-opacity:1">    
rhrdst11m...-</tspan>emacs-24.5</tspan><tspan
+           id="tspan3368-3"
+           y="904.72479"
+           x="57.048538"
+           sodipodi:role="line">        bin</tspan><tspan
+           id="tspan3374-4"
+           y="954.72479"
+           x="57.048538"
+           sodipodi:role="line">            emacs</tspan><tspan
+           id="tspan3376-1"
+           y="1004.7248"
+           x="57.048538"
+           sodipodi:role="line">        share </tspan><tspan
+           id="tspan3378-5"
+           y="1054.7249"
+           x="57.048538"
+           sodipodi:role="line" /></text>
+      <path
+         inkscape:connector-curvature="0"
+         id="path5025-5"
+         d="m 68.477114,845.29623 c 32.857136,0 32.857136,0 32.857136,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="ccc"
+         inkscape:connector-curvature="0"
+         id="path5025-8-1"
+         d="m 114.1914,865.9304 0.71428,27.85714 41.42857,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="ccc"
+         inkscape:connector-curvature="0"
+         id="path5025-8-4-4"
+         d="m 166.33426,915.9304 0.71428,27.85714 41.42857,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="cscc"
+         inkscape:connector-curvature="0"
+         id="path5177"
+         d="m 371.42858,685.21934 c 0,0 249.99999,-44.28571 299.99999,65.71429 
C 762.55922,951.42105 508.98985,942.3622 508.98985,942.3622 l -148.98985,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM);marker-end:url(#marker15672)"
 />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4481-6"
+         d="m -692.04226,517.03081 0,172.71354"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         inkscape:connector-curvature="0"
+         id="path5025-1"
+         d="m -692.04226,591.17295 c 32.85714,0 32.85714,0 32.85714,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path5025-5-8"
+         d="m -693.46362,689.97502 32.85714,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <text
+         sodipodi:linespacing="125%"
+         id="text3360-3-6"
+         y="1094.7249"
+         x="57.048538"
+         
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           id="tspan3372-0-2"
+           y="1094.7249"
+           x="57.048538"
+           sodipodi:role="line"><tspan
+   id="tspan5741-7"
+   style="fill:#969696;fill-opacity:1">    
lud0v1c...-</tspan>guile-2.0.11</tspan><tspan
+           id="tspan3368-3-9"
+           y="1144.7249"
+           x="57.048538"
+           sodipodi:role="line">        bin</tspan><tspan
+           id="tspan3374-4-9"
+           y="1194.7249"
+           x="57.048538"
+           sodipodi:role="line">            guile</tspan><tspan
+           id="tspan3376-1-9"
+           y="1244.7249"
+           x="57.048538"
+           sodipodi:role="line" /><tspan
+           id="tspan3378-5-1"
+           y="1294.7249"
+           x="57.048538"
+           sodipodi:role="line" /></text>
+      <path
+         inkscape:connector-curvature="0"
+         id="path5025-5-9"
+         d="m 68.477114,1085.2962 c 32.857136,0 32.857136,0 32.857136,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="ccc"
+         inkscape:connector-curvature="0"
+         id="path5025-8-1-9"
+         d="m 114.1914,1105.9304 0.71428,27.8571 41.42857,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="ccc"
+         inkscape:connector-curvature="0"
+         id="path5025-8-4-4-9"
+         d="m 166.33426,1155.9304 0.71428,27.8571 41.42857,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="ccc"
+         inkscape:connector-curvature="0"
+         id="path5025-8-4-2-0"
+         d="m 114.46991,890.69973 0.71428,105 41.42857,0"
+         
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <path
+         sodipodi:nodetypes="csc"
+         inkscape:connector-curvature="0"
+         id="path5177-3"
+         d="m -708.95531,592.26511 c 0,0 -130.49059,20.97828 
-100.70347,112.15156 20.36812,62.34335 156.6208,8.54168 156.6208,8.54168"
+         
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-5);marker-end:url(#Arrow2Mend)"
 />
+      <path
+         sodipodi:nodetypes="csc"
+         inkscape:connector-curvature="0"
+         id="path5177-3-3"
+         d="m -579.78175,681.3379 c 0,0 171.37205,12.70882 345.78395,-63.61497 
100.72923,-44.07976 287.94064,-33.88475 287.94064,-33.88475"
+         
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-5-7);marker-end:url(#Arrow2Mend-2)"
 />
+      <path
+         sodipodi:nodetypes="csc"
+         inkscape:connector-curvature="0"
+         id="path5177-3-2"
+         d="m 87.982974,194.87661 c 0,0 2.66419,179.04808 
-205.759334,300.03995 -112.08224,65.06481 -285.826,85.31326 -285.826,85.31326"
+         
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-5-4);marker-end:url(#Arrow2Mend-0)"
 />
+      <path
+         sodipodi:nodetypes="csc"
+         inkscape:connector-curvature="0"
+         id="path5177-1"
+         d="m 147.37077,737.05893 c 0,0 -242.95445,-13.98114 
-235.380857,229.359 6.85092,220.12057 231.520777,219.71287 231.520777,219.71287"
+         
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-1);marker-end:url(#marker15672-5)"
 />
+    </g>
+    <g
+       id="g49522"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <rect
+         y="454.36221"
+         x="749.75"
+         height="1120"
+         width="80"
+         id="rect49348-0"
+         
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+      <g
+         inkscape:export-ydpi="90"
+         inkscape:export-xdpi="90"
+         id="g49276">
+        <rect
+           
style="fill:#e8ffd5;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="rect11160-2-3"
+           width="740"
+           height="1104.723"
+           x="1593.5525"
+           y="456.82816" />
+        <rect
+           
style="fill:#fbf3d5;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="rect11160-6"
+           width="740"
+           height="1104.7231"
+           x="830.69958"
+           y="455.64554" />
+        <text
+           xml:space="preserve"
+           
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="1396.4097"
+           y="167.77138"
+           id="text3336-0"
+           sodipodi:linespacing="125%"><tspan
+             sodipodi:role="line"
+             id="tspan3338-4"
+             x="1396.4097"
+             y="167.77138">/home/rekado/.guix-profile</tspan></text>
+        <text
+           xml:space="preserve"
+           
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="890.31238"
+           y="504.25"
+           id="text3340-1"
+           sodipodi:linespacing="125%"><tspan
+             sodipodi:role="line"
+             id="tspan3342-5"
+             x="890.31238"
+             y="504.25">/var/guix/...</tspan><tspan
+             sodipodi:role="line"
+             x="890.31238"
+             y="554.25"
+             id="tspan3344-6" /><tspan
+             sodipodi:role="line"
+             x="890.31238"
+             y="604.25"
+             id="tspan3358-4">    guix-profile</tspan><tspan
+             sodipodi:role="line"
+             x="890.31238"
+             y="654.25"
+             id="tspan3356-4" /><tspan
+             sodipodi:role="line"
+             x="890.31238"
+             y="704.25"
+             id="tspan3380-5">    42</tspan><tspan
+             sodipodi:role="line"
+             x="890.31238"
+             y="754.25"
+             id="tspan39389" /><tspan
+             sodipodi:role="line"
+             x="890.31238"
+             y="804.25"
+             id="tspan39391">    43</tspan></text>
+        <text
+           xml:space="preserve"
+           
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="1650.8245"
+           y="500.99976"
+           id="text3360-9"
+           sodipodi:linespacing="125%"><tspan
+             sodipodi:role="line"
+             id="tspan3362-5"
+             x="1650.8245"
+             y="500.99976">/gnu/store</tspan><tspan
+             sodipodi:role="line"
+             x="1650.8245"
+             y="550.99976"
+             id="tspan3366-5" /><tspan
+             sodipodi:role="line"
+             x="1650.8245"
+             y="600.99976"
+             id="tspan3372-4"><tspan
+   style="fill:#969696;fill-opacity:1"
+   id="tspan5735-6">    hscq14x...-</tspan>profile</tspan><tspan
+             sodipodi:role="line"
+             x="1650.8245"
+             y="650.99976"
+             id="tspan3368-6">        bin</tspan><tspan
+             sodipodi:role="line"
+             x="1650.8245"
+             y="700.99976"
+             id="tspan3374-1">            emacs</tspan><tspan
+             sodipodi:role="line"
+             x="1650.8245"
+             y="750.99976"
+             id="tspan3376-6">            guile</tspan><tspan
+             sodipodi:role="line"
+             x="1650.8245"
+             y="800.99976"
+             id="tspan3378-2" /></text>
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1662.2531,515.42906 0,983.91734"
+           id="path4481-7"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1662.2531,589.5712 c 32.8571,0 32.8571,0 32.8571,0"
+           id="path5025-59"
+           inkscape:connector-curvature="0" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1707.9674,610.20537 0.7143,27.85714 41.4285,0"
+           id="path5025-8-8"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1760.1102,660.20537 0.7143,27.85714 41.4286,0"
+           id="path5025-8-4-6"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1760.8245,684.34823 0.7143,56.42857 41.4286,0"
+           id="path5025-8-4-2-3"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccc" />
+        <text
+           xml:space="preserve"
+           
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="1649.4032"
+           y="857.80188"
+           id="text3360-3-7"
+           sodipodi:linespacing="125%"><tspan
+             sodipodi:role="line"
+             x="1649.4032"
+             y="857.80188"
+             id="tspan3372-0-0"><tspan
+   style="fill:#969696;fill-opacity:1"
+   id="tspan5741-1">    rhrdst11m...-</tspan>emacs-24.5</tspan><tspan
+             sodipodi:role="line"
+             x="1649.4032"
+             y="907.80188"
+             id="tspan3368-3-0">        bin</tspan><tspan
+             sodipodi:role="line"
+             x="1649.4032"
+             y="957.80188"
+             id="tspan3374-4-1">            emacs</tspan><tspan
+             sodipodi:role="line"
+             x="1649.4032"
+             y="1007.8019"
+             id="tspan3376-1-8">        share </tspan><tspan
+             sodipodi:role="line"
+             x="1649.4032"
+             y="1057.8019"
+             id="tspan3378-5-4" /></text>
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1660.8317,848.3733 c 32.8572,0 32.8572,0 32.8572,0"
+           id="path5025-5-88"
+           inkscape:connector-curvature="0" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1706.546,869.00747 0.7143,27.85714 41.4286,0"
+           id="path5025-8-1-8"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1758.6889,919.00747 0.7143,27.85714 41.4286,0"
+           id="path5025-8-4-4-1"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker39150);marker-start:url(#marker47602)"
+           d="m 1963.7832,688.29641 c 0,0 250,-44.28571 300,65.71429 
91.1307,200.48742 -162.4387,191.42857 -162.4387,191.42857 l -148.9898,0"
+           id="path5177-4"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cscc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 900.31235,520.10788 0,274.73895"
+           id="path4481-6-4"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 900.31235,594.25002 c 32.85714,0 32.85714,0 32.85714,0"
+           id="path5025-1-6"
+           inkscape:connector-curvature="0" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 898.89099,693.05209 32.85714,0"
+           id="path5025-5-8-0"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+        <text
+           xml:space="preserve"
+           
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="1649.4032"
+           y="1097.8019"
+           id="text3360-3-6-1"
+           sodipodi:linespacing="125%"><tspan
+             sodipodi:role="line"
+             x="1649.4032"
+             y="1097.8019"
+             id="tspan3372-0-2-7"><tspan
+   style="fill:#969696;fill-opacity:1"
+   id="tspan5741-7-7">    lud0v1c...-</tspan>guile-2.0.11</tspan><tspan
+             sodipodi:role="line"
+             x="1649.4032"
+             y="1147.8019"
+             id="tspan3368-3-9-8">        bin</tspan><tspan
+             sodipodi:role="line"
+             x="1649.4032"
+             y="1197.8019"
+             id="tspan3374-4-9-1">            guile</tspan><tspan
+             sodipodi:role="line"
+             x="1649.4032"
+             y="1247.8019"
+             id="tspan3376-1-9-4" /><tspan
+             sodipodi:role="line"
+             x="1649.4032"
+             y="1297.8019"
+             id="tspan3378-5-1-4" /></text>
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1660.8317,1088.3733 c 32.8572,0 32.8572,0 32.8572,0"
+           id="path5025-5-9-2"
+           inkscape:connector-curvature="0" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1706.546,1109.0075 0.7143,27.8571 41.4286,0"
+           id="path5025-8-1-9-2"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1758.6889,1159.0074 0.7143,27.8571 41.4286,0"
+           id="path5025-8-4-4-9-6"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1706.8245,893.7768 0.7143,105 41.4286,0"
+           id="path5025-8-4-2-0-1"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker38788);marker-start:url(#marker48642)"
+           d="m 883.3993,595.34218 c 0,0 -145.50929,-46.11519 
-72.41919,221.24803 33.54881,122.72138 138.43805,-1.55984 138.43805,-1.55984"
+           id="path5177-3-0"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="csc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker38966);marker-start:url(#marker48208)"
+           d="m 1012.5729,684.41497 c 0,0 171.372,12.70882 345.7839,-63.61497 
100.7292,-44.07976 287.9407,-33.88475 287.9407,-33.88475"
+           id="path5177-3-3-5"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="csc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker38666);marker-start:url(#marker48422)"
+           d="m 1680.3376,197.95368 c 0,0 2.6642,179.04808 -205.7593,300.03995 
-112.0823,65.06481 -285.826,85.31326 -285.826,85.31326"
+           id="path5177-3-2-2"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="csc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker15672-5-2);marker-start:url(#marker47798)"
+           d="m 1739.7254,740.136 c 0,0 -242.9545,-13.98114 -235.3809,229.359 
6.851,220.1205 231.5208,219.7128 231.5208,219.7128"
+           id="path5177-1-8"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="csc" />
+        <text
+           xml:space="preserve"
+           
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="1652.5233"
+           y="1340.8685"
+           id="text3360-9-0"
+           sodipodi:linespacing="125%"><tspan
+             sodipodi:role="line"
+             x="1652.5233"
+             y="1340.8685"
+             id="tspan3372-4-2"><tspan
+   style="fill:#969696;fill-opacity:1"
+   id="tspan5735-6-1">    z3braf1sh...-</tspan>profile</tspan><tspan
+             sodipodi:role="line"
+             x="1652.5233"
+             y="1390.8685"
+             id="tspan3368-6-2">        bin</tspan><tspan
+             sodipodi:role="line"
+             x="1652.5233"
+             y="1440.8685"
+             id="tspan3374-1-0">            emacs</tspan><tspan
+             sodipodi:role="line"
+             x="1652.5233"
+             y="1490.8685"
+             id="tspan3376-6-7">            </tspan><tspan
+             sodipodi:role="line"
+             x="1652.5233"
+             y="1540.8685"
+             id="tspan3378-2-0" /></text>
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1663.9519,1333.4399 c 32.8571,0 32.8571,0 32.8571,0"
+           id="path5025-59-8"
+           inkscape:connector-curvature="0" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1709.6662,1354.0741 0.7143,27.8572 41.4285,0"
+           id="path5025-8-8-8"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1761.809,1404.0741 0.7143,27.8572 41.4286,0"
+           id="path5025-8-4-6-3"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#969696;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 899.75948,792.72759 32.85714,0"
+           id="path5025-5-8-0-2"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker38966-9);marker-start:url(#marker48000)"
+           d="m 1006.7946,791.51879 c 0,0 165.2997,-15.42421 
244.7687,271.75571 79.2065,286.2313 392.9965,265.1204 392.9965,265.1204"
+           id="path5177-3-3-5-6"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="csc" />
+        <path
+           
style="fill:none;fill-rule:evenodd;stroke:#008fde;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker39150-6);marker-start:url(#marker48868)"
+           d="m 1953.243,1427.8044 c 0,0 435.0874,31.0519 337.9797,-293.4489 
-43.6446,-145.84541 -339.9282,-164.53075 -339.9282,-164.53075"
+           id="path5177-4-4"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="csc" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/talks/ots-2015/outline.org b/talks/ots-2015/outline.org
new file mode 100644
index 0000000..e0e9213
--- /dev/null
+++ b/talks/ots-2015/outline.org
@@ -0,0 +1,144 @@
+* Outline
+** Package management is a good idea
+*** easy to install, upgrade, remove software
+*** dependency resolution
+*** centrally maintained
+so no need to scour the Internet for installers or sources
+
+** Problems
+But with traditional means there are still annoyances probably many of
+us have run into:
+
+*** outdated packages
+The application you want to use is too old in the official
+repositories.
+
+*** version conflicts
+You can't have two versions of an application installed at the same
+time.  Most package systems won't accomodate this need for arbitrary
+versions.
+
+*** changes affect all users
+On a shared system a package upgrade affects everyone on the system.
+It happened often that I would accidentally break the system for other
+users on the same machine after an upgrade even though everything
+worked fine for me.  It would have been nice if I could have only
+updated the applications I was using.  These problems get a lot worse
+in big shared environments like clusters.
+
+*** potentially dangerous
+When a package is installed, system files are overwritten one by one.
+When this process is aborted you end up with a system in an
+inconsistent state.
+
+There is also another potential danger: binary packages are
+inscrutable blobs.  Reproducible builds are near-impossible with
+binary maintainer uploads.  How can we really trust?
+
+** Partial solutions
+*** third-party repositories
+They may solve the problem of outdated packages, but sufficiently
+large repositories such as EPEL may aggravate version conflicts.  They
+all share the problem of trust.
+*** manual compilation
+You say you don't want to trust other people's binary packages so you
+compile software manually.  This is not very practical as we lose all
+the benefits of package management: no more easy upgrades, no easy
+removal, no dependency tracking.
+*** language-specific package systems
+This just dilutes the problem and makes it all the more challenging to
+properly *manage* software.  These package systems often don't even
+have feature parity with established system package managers as they
+aren't made for general package management.
+*** build your own system package
+This is rather hard for users because of arcane description languages
+and package formats, special build tools and directory structures,
+etc.  It is uncomfortable even when you are trained to do this and do
+it somewhat regularly.
+*** meta-package managers
+The frustration with traditional packaging procedures has resulted in
+the rise of meta-package managers that generate low-quality but
+installable RPMs, debs or gems.  Using them may simplify getting
+software installed and tracked by the system package manager, but it
+does not solve any of the other problems and is actually equal to
+admitting that packaging is hard.
+*** giving up
+You could also just shrug and deploy software by downloading an
+"appliance" or by using disk snapshots.  There are very popular
+variations on this theme now but they all have in common that they are
+rather blunt and undisciplined.  They ignore the problem and abstract
+it away with another level of binary indirection.
+
+** Guix
+Another approach is functional package management, and GNU Guix is my
+functional package manager of choice.  What *is* functional package
+management?
+
+** Functional?
+Well, what is a function?  This slide shows a pure function g that
+takes red discs and outputs green stars.  That's *all* it can do.  It
+cannot turn off the lights or eat all your candy.  This means it has
+no side-effects.
+
+It performs its task no matter the environment in which it operates.
+It does not depend on anything except the red disc, its input.
+
+Given a certain input it always returns the same output; the result is
+immutable.
+
+** Functional packages
+Mapping this to package management, we want the output of a package
+recipe to be solely determined by its inputs, i.e. its bag of
+dependencies.  These inputs may be development headers, compilers and
+other build tools, and libraries, and their dependencies as well.  The
+output is an immutable package.
+
+** Functional package management
+We want a package definition to behave like a pure function; nothing
+in the environment (no other installed libraries, applications or
+headers) should affect it.  It should only depend on declared and
+inherited inputs.
+
+This leads to reproducible results, so we can cache results and even
+offload the build process to other machines.
+
+The output should be immutable.  It may not be changed by any other
+package evaluation.  Any package built must be side-effect free.
+
+** Build process
+In the case of Guix these properties are achieved by isolating each
+build.  An unprivileged user communicates with the build daemon to
+make it build software.  Each build is performed by one of the
+unprivileged build users in a chroot in which only the declared inputs
+are available.  The results of each build are placed in their own,
+separate, unique directory in a cache called the store.
+
+* Demos
+** preparation
+cd ./demo-home
+./start.sh
+
+** installing a package
+which hello                   # does not exist
+guix package -i hello  
+guix package --list-installed # shows hello in store
+which hello                   # shows hello in PATH
+
+switch to other user, show that "hello" only exists
+
+** profiles
+guix package -i guile
+guile --version
+
+guix package -i python -r guile
+guix package --list-generations
+guix package --roll-back
+
+guix package -p old-times -i guile-1.8.8
+./old-times/bin/guile --version
+
+** reusing recipes for testing pre-releases or custom modifications
+tar xf $(guix build -S hello) && \
+             sed -i -e 's/Welt/Open Tech Summit/' hello-2.10/po/de.gmo && \
+             tar czf hello-3.tar.gz hello-2.10 && \
+             guix build --with-source=$HOME/hello-3.tar.gz hello
diff --git a/talks/ots-2015/talk.pdf b/talks/ots-2015/talk.pdf
new file mode 100644
index 0000000..101e8be
Binary files /dev/null and b/talks/ots-2015/talk.pdf differ
diff --git a/talks/ots-2015/talk.tex b/talks/ots-2015/talk.tex
new file mode 100644
index 0000000..b12bf9e
--- /dev/null
+++ b/talks/ots-2015/talk.tex
@@ -0,0 +1,314 @@
+\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{tree}
+\usepackage{fancyvrb}           % for \Verb
+\usepackage{ulem}               % for \sout
+
+% 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{guixorange2}{RGB}{236,117,40}  % guixorange S
+\definecolor{guixtaupe}{RGB}{134,113,127} % guixtaupe S
+\definecolor{guixgrey}{RGB}{91,94,111} % guixgrey 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}
+
+% Black-on-white color theme.
+\setbeamercolor{structure}{fg=guixblue2}
+\setbeamercolor{title}{fg=guixblue2}
+\setbeamercolor{frametitle}{fg=guixblue2}
+\setbeamercolor{date}{fg=darkgray}
+\setbeamercolor{author}{fg=darkgray}
+\setbeamercolor{alerted text}{fg=guixgreen2,bg=black}
+
+\title{Functional Package Management with GNU Guix}
+%%\subtitle{How GNU Guix Seeks to Empower Users}
+
+\author{Ricardo address@hidden
+\date{\small{OpenTechSummit\\14 May 2015}}
+
+\setbeamertemplate{navigation symbols}{} % remove the navigation bar
+
+\AtBeginSection[]{
+  \begin{frame}
+    \frametitle{}
+    \tableofcontents[currentsection, hideothersections]
+  \end{frame} 
+}
+
+
+\AtBeginSubsection[]{
+  \begin{frame}
+  \frametitle{}
+  \tableofcontents[currentsection, currentsubsection]
+  \end{frame}
+}
+
+\begin{document}
+
+\maketitle
+
+\begin{frame}{Good idea}
+  \Large{
+  \begin{itemize}
+  \item easy to install, upgrade, remove software
+  \item dependency resolution
+  \item centrally maintained repositories
+  \end{itemize}
+  }
+\end{frame}
+
+\begin{frame}{Common problems}
+  \Large{
+  \begin{itemize}
+  \item outdated packages
+  \item version conflicts
+  \item changes affect all users
+  \item potentially dangerous
+  \item trust
+  \end{itemize}
+  }
+\end{frame}
+
+\begin{frame}{Partial solutions}
+  \setbeamercovered{transparent=35}
+
+  \Large{
+  \begin{itemize}[<+>]
+  \item \alert{third-party repositories}\\
+        EPEL, PPAs, ...
+  \item \alert{manual compilation}\\
+        install to custom prefix, static linking
+  \item \alert{language-specific package systems}\\
+        gem, cabal, pip, cpan, npm ...
+  \item \alert{build your own system package}\\
+        RPM, deb, PKGBUILD, ...
+  \item \alert{meta package managers}\\
+        e.g. fpm generating RPM, deb, gem
+  \item \alert{giving up}\\
+        virtual machines, ``app images'', snapshots
+  \end{itemize}
+  }
+\end{frame}
+
+\begin{frame}[plain]
+  \includegraphics[width=\textwidth]{images/guix-logo}
+\end{frame}
+
+\begin{frame}[plain]
+  \begin{center}
+    \includegraphics[height=0.6\textheight]{images/function}
+  \end{center}
+\end{frame}
+
+\begin{frame}[plain]
+  \begin{center}
+    \includegraphics[height=0.8\textheight]{images/functional-package}
+  \end{center}
+\end{frame}
+
+\begin{frame}{Functional package management}
+  \Large{
+  \begin{itemize}
+  \item no \alert{global} values:\\
+        /bin, /usr/include, /usr/lib, ...
+  \item \alert{purity}:\\
+        only declared inputs are visible at build time
+  \item \alert{reproducible} results:\\
+        build outputs can be cached and substituted;\\
+        automatic deduplication!
+  \item \alert{immutable results} without \alert{side effects}:\\
+        nothing outside of the cache and internal state is modified
+  \end{itemize}
+  }
+\end{frame}
+
+\begin{frame}[fragile]{}
+  \begin{tikzpicture}[tools/.style = {
+                        text width=35mm, minimum height=4cm,
+                        text centered,
+                        rounded corners=2mm,
+                        fill=black, text=white
+                      },
+                      tool/.style = {
+                        fill=black, text=white, text width=3cm,
+                        text centered
+                      },
+                      daemon/.style = {
+                        rectangle, text width=50mm, text centered,
+                        rounded corners=2mm, minimum height=15mm,
+                        top color=guixorange1,
+                        bottom color=guixyellow,
+                        text=black
+                      },
+                      builders/.style = {
+                        draw=guixorange1, very thick, dashed,
+                        fill=white, text=black, text width=5cm,
+                        rounded corners=2mm,
+                      },
+                      builder/.style = {
+                        draw=guixred2, thick, rectangle,
+                        fill=white, text=black,
+                        rotate=90
+                      }]
+    \matrix[row sep=3mm, column sep=1cm] {
+      \node(builders)[builders, text height=5cm]{}
+          node at (0, 2) {\large{\textbf{build processes}}}
+          node at (0, 1.5) {chroot, separate UIDs}
+          node[builder] at (-1,-0.5) {\alert{Guile}, make, etc.}
+          node[builder] at ( 0,-0.5) {\alert{Guile}, make, etc.}
+          node[builder] at ( 1,-0.5) {\alert{Guile}, make, etc.}; &
+      \node[tools]{}
+          node[text=white] at (0, 1) {\large{\textbf{Guix client}}}
+          node[tool] at (0, 0) {\texttt{(guix packages)}}
+          node(client)[tool] at (0, -1) {\texttt{(guix store)}};
+      \\
+
+      \node(daemon)[daemon]{\large{\textbf{build daemon}}}; &
+      &
+      \\
+    };
+  \end{tikzpicture}
+
+  \begin{tikzpicture}[overlay]
+    \path[very thick, draw=guixblue2]
+      (client.south) edge [out=-90, in=0, ->] node[below, sloped]{RPCs} 
(daemon.east);
+    \path[->, very thick, draw=guixblue2]
+      (daemon) edge (builders);
+  \end{tikzpicture}
+\end{frame}
+
+\begin{frame}[plain]
+  \begin{center}
+    \includegraphics[height=\textheight]{images/profile-1}
+  \end{center}
+\end{frame}
+\begin{frame}[plain]
+  \begin{center}
+    \includegraphics[height=\textheight]{images/profile-2}
+  \end{center}
+\end{frame}
+
+\begin{frame}[fragile]
+  \begin{semiverbatim}
+(define hello
+  (\alert{package}
+   (name "hello")
+   (version "2.8")
+   (source (\alert{origin}
+            (method url-fetch)
+            (uri (string-append
+                  "mirror://gnu/\textrm{...}/hello-" version
+                  ".tar.gz"))
+            (sha256 (base32 "0wqd\textrm{...}dz6"))))
+   (\alert{build-system} gnu-build-system)
+   (synopsis "Hello, GNU world: An example GNU package")
+   (description "Produce a friendly greeting.")
+   (home-page "http://www.gnu.org/software/hello/";)
+   (license gpl3+)))
+  \end{semiverbatim}
+\end{frame}
+
+\begin{frame}[plain]
+
+  \vspace{0.7cm}
+  \Large{
+    \begin{itemize}
+    \item version 0.8.2 is \textbf{out now}
+    \item quickly growing collection of package recipes (1800+)
+    \item \textbf{install the distribution}
+    \item \textbf{use it}, report bugs, add packages
+    \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}{}
+\hfill{
+  \includegraphics[width=0.5\textwidth]{images/gnuhead}
+  \includegraphics[width=0.5\textwidth]{images/guixsd-logo}}
+\vfill{
+  \hfill{\includegraphics[width=0.3\textwidth]{images/guix-logo}}\\[0.2cm]
+  address@hidden \hfill{\alert{\url{http://gnu.org/software/guix/}}}
+}
+
+\end{frame}
+
+\begin{frame}{}
+
+  \begin{textblock}{12}(2, 8)
+    \tiny{
+      Copyright \copyright{} 2015 Ricardo Wurmus address@hidden
+      Copyright \copyright{} 2010, 2012, 2013, 2014 Ludovic Court├Ęs 
address@hidden
+      \\[3.0mm]
+      A GNU head, GFDL, \url{http://gnu.org/graphics/agnuhead.html}\\
+      GNU Guix logo, GFDL, \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: "pdflatex talk.tex"
+% End:



reply via email to

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