[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: