From 5b8d6fe8e9223d08f0802e0666b21416a0a67119 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 23 Oct 2019 10:38:33 +0100 Subject: [PATCH] Add outline first slide of talk. --- 2019-kvm-forum/.gitignore | 8 + 2019-kvm-forum/1000-introduction.html | 25 +++ 2019-kvm-forum/bashrc | 19 ++ 2019-kvm-forum/code.js | 61 ++++++ 2019-kvm-forum/functions | 40 ++++ 2019-kvm-forum/{ => notes}/notes-01-introduction | 0 2019-kvm-forum/redhat.png | Bin 0 -> 4763 bytes 2019-kvm-forum/run | 20 ++ 2019-kvm-forum/style.css | 243 +++++++++++++++++++++++ 9 files changed, 416 insertions(+) create mode 100644 2019-kvm-forum/.gitignore create mode 100644 2019-kvm-forum/1000-introduction.html create mode 100644 2019-kvm-forum/bashrc create mode 100644 2019-kvm-forum/code.js create mode 100644 2019-kvm-forum/functions rename 2019-kvm-forum/{ => notes}/notes-01-introduction (100%) create mode 100644 2019-kvm-forum/redhat.png create mode 100755 2019-kvm-forum/run create mode 100644 2019-kvm-forum/style.css diff --git a/2019-kvm-forum/.gitignore b/2019-kvm-forum/.gitignore new file mode 100644 index 0000000..b9bdd59 --- /dev/null +++ b/2019-kvm-forum/.gitignore @@ -0,0 +1,8 @@ +/bindings +/history +/2000-loop-mounting.d/fedora-29.img +/3000-xz-compressed.d/Fedora-Cloud-Base-29-1.2.x86_64.raw.xz +/5100-shell.d/badblocks.sh +/nbdview/error? +/nbdview/log? +/nbdview/sock? \ No newline at end of file diff --git a/2019-kvm-forum/1000-introduction.html b/2019-kvm-forum/1000-introduction.html new file mode 100644 index 0000000..d73c841 --- /dev/null +++ b/2019-kvm-forum/1000-introduction.html @@ -0,0 +1,25 @@ + + + + +
+

+ Making the Most of NBD +

+ +

+ Eric Blake eblake @ redhat.com
+ Richard W.M. Jones (rjones @ redhat.com)
+ 16:45 Thursday October 31st, 2019 +

+ +

+ The Network Block Device (NBD) protocol dates back to Linux 2.1.55 + in April 1997, pre-dating iSCSI as a means for block device access + of remote storage. However, in more recent years, the protocol has + seen a revival as virtualization scenarios have used and extended + its features for a variety of tasks. +
+ XXX maybe more here XXX +

+
diff --git a/2019-kvm-forum/bashrc b/2019-kvm-forum/bashrc new file mode 100644 index 0000000..f526961 --- /dev/null +++ b/2019-kvm-forum/bashrc @@ -0,0 +1,19 @@ +# -*- shell-script -*- + +# Colour ls. +if [ -f /etc/profile.d/colorls.sh ]; then . /etc/profile.d/colorls.sh; fi + +# Fancy prompt colours (see +# https://wiki.archlinux.org/index.php/Color_Bash_Prompt) +promptcol='\e[0;32m' ;# colour for the prompt +commandcol='\e[1;31m' ;# colour for the typed command +outputcol='\e[0m' ;# colour for command output + +export PS1="\n\[$promptcol\]\$ \[$commandcol\]" + +trap 'echo -ne "$outputcol"' DEBUG + +# Load key bindings (if any). +bind -f $talkdir/bindings + +echo $title diff --git a/2019-kvm-forum/code.js b/2019-kvm-forum/code.js new file mode 100644 index 0000000..261fc85 --- /dev/null +++ b/2019-kvm-forum/code.js @@ -0,0 +1,61 @@ +function plugins () +{ + document.write ("\ +
\ +

plugins available in nbdkit 1.10

\ + \ +
\ +"); +} + +function filters (layer) +{ + document.write ("\ +
\ +

filters available in nbdkit 1.10

\ + \ +
\ +"); +} diff --git a/2019-kvm-forum/functions b/2019-kvm-forum/functions new file mode 100644 index 0000000..7baaed0 --- /dev/null +++ b/2019-kvm-forum/functions @@ -0,0 +1,40 @@ +# -*- shell-script -*- +# This creates some standard functions. See also $talkdir/bashrc +# which runs in the same bash context as the terminal. + +# Place any local environment variables and settings in "local". +if [ -f local ]; then source local; fi + +# Environment variables. +export HISTFILE=$talkdir/history +export PATH=$talkdir:$PATH +export EDITOR="emacs -nw" + +# remember +# +# This function does two things: (1) It adds the command and arguments +# to the shell history, so that commands can be recalled using up +# arrow or reverse search. (2) It makes a function key recall the +# command. The first command is assigned to F2, the second to F3 and +# so forth. + +rm -f $HISTFILE +touch $HISTFILE +rm -f $talkdir/bindings +touch bindings + +fnum=2 +keys=(- OP OQ OR OS '[15~' '[17~' '[18~' '[19~' '[20~' '[21~') + +remember () +{ + echo "$@" >> $HISTFILE + echo \"\\e${keys[$fnum]}\":\"\\C-k \\C-u"$@"\" >> $talkdir/bindings + ((fnum++)) +} + +terminal () +{ + chmod -w $HISTFILE + /bin/bash --rcfile $talkdir/bashrc "$@" +} diff --git a/2019-kvm-forum/notes-01-introduction b/2019-kvm-forum/notes/notes-01-introduction similarity index 100% rename from 2019-kvm-forum/notes-01-introduction rename to 2019-kvm-forum/notes/notes-01-introduction diff --git a/2019-kvm-forum/redhat.png b/2019-kvm-forum/redhat.png new file mode 100644 index 0000000000000000000000000000000000000000..f50076ad8e004c4b299f28c79526e98f7c8a3d8d GIT binary patch literal 4763 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 literal 0 HcmV?d00001 diff --git a/2019-kvm-forum/run b/2019-kvm-forum/run new file mode 100755 index 0000000..6645a8e --- /dev/null +++ b/2019-kvm-forum/run @@ -0,0 +1,20 @@ +#!/bin/bash - +# Run the talk. + +set -e + +# Avoid GNOME keyring stupidity +export GNOME_KEYRING_CONTROL= +export GNOME_KEYRING_PID= + +# No proxy. +#unset http_proxy +#unset https_proxy +#unset ftp_proxy + +# If we need to precreate any files. +# ... + +# Run techtalk. +techtalk-pse +#~/d/techtalk-pse/techtalk-pse diff --git a/2019-kvm-forum/style.css b/2019-kvm-forum/style.css new file mode 100644 index 0000000..35588a8 --- /dev/null +++ b/2019-kvm-forum/style.css @@ -0,0 +1,243 @@ +/* Red Hat red is rgb(204,0,0). */ + +body { + background: url(redhat.png) no-repeat; + background-position: 98% 0; + /* font-size: 28pt; */ /* For max */ + font-size: 20pt; /* For 1024x768 */ + /* font-family: liberation, helvetica; */ + font-family: helvetica; + + /* Can be used to scale the whole document. */ + /*transform: translate(-10%,-10%) scale(0.75,0.75);*/ +} + +body td, body th { /* why?? */ + font-size: 24pt; + padding-bottom: 8px; +} + +h1 { + color: rgb(204,0,0); + /*font-size: 48px;*/ + font-size: 40px; + top: 8; + left: 0; + border-bottom: 2px solid rgb(204,0,0); +} + +h2 { + color: rgb(204,0,0); + font-size: 32px; + font-style: italic; + border-bottom: 2px solid rgb(204,0,0); +} + +b { + color: rgb(204,0,0); +} + +/* Title page. */ +div#titlepage { + margin-top: 100px; + width: 80%; + margin-left: 10%; +} + +div#titlepage p.title { + color: rgb(204,0,0); + font-weight: bold; + font-size: 48px; + text-align: left; +} + +div#titlepage p.author { + font-size: 36px; + text-align: left; +} + +div#titlepage p.abstract { + font-size: 28px; + text-align: left; +} + +/* Code */ +pre.code { + margin-left: 1em; + background: #eee; +} + +code { + color: rgb(204,0,0); +} + +/* Bullet points */ +li { + padding-bottom: 16px; +} + +/* Plugins box. */ +div.plugins { + background: #f8f8ff; + border: 1px solid rgb(204,0,0); + border-radius: 15px; + margin-left: auto; + margin-right: auto; + width: 800px; + height: 400px; + /* Position relative is needed so that items may be + positioned inside. */ + position: relative; +} + +div.plugins p#caption { + position: absolute; + bottom: -5px; right: 5px; + color: rgb(204,0,0); + text-align: right; + font-size: 16px; + font-weight: bold; +} + +div.plugins ul { + position: absolute; + top: 10%; + width: 700px; + height: 380px; + column-count: 4; + list-style-type: none; + margin: 0; +} + +div.plugins ul li { + padding: 0px; + margin: 5px; +} + +div.plugins ul li.highlighted { + border: 1px solid rgb(204,0,0); + background: #fff; + padding-left: 10px; + color: rgb(204,0,0); + border-radius: 20px; + font-weight: bold; +} + +/* Filters box. */ +div.filters { + background: #f8fff8; + border: 1px solid rgb(204,0,0); + border-radius: 15px; + margin-left: auto; + margin-right: auto; + width: 800px; + height: 200px; + /* Position relative is needed so that items may be + positioned inside. */ + position: relative; +} + +div.filters p.filtercaption { + position: absolute; + bottom: -5px; right: 5px; + color: rgb(204,0,0); + text-align: right; + font-size: 16px; + font-weight: bold; +} + +div.filters ul { + position: absolute; + top: 10%; + width: 700px; + height: 180px; + column-count: 4; + list-style-type: none; + margin: 0; +} + +div.filters ul li { + padding: 0px; + margin: 5px; +} + +div.filters ul li.highlighted { + border: 1px solid rgb(204,0,0); + background: #fff; + padding-left: 10px; + color: rgb(204,0,0); + border-radius: 20px; + font-weight: bold; +} + +/* For images which must be centered on the page. */ +div.allcenter { + display: flex; + justify-content: center; + align-items: center; + height: 50vw; +} + +div.all-center img { +} + +/* Outlined text. */ +.outline { + text-shadow: 2px 2px 0 rgb(204,0,0), + -2px 2px 0 rgb(204,0,0), + 2px -2px 0 rgb(204,0,0), + -2px -2px 0 rgb(204,0,0), + 0px 2px 0 rgb(204,0,0), + 0px -2px 0 rgb(204,0,0), + -2px 0px 0 rgb(204,0,0), + 2px 0px 0 rgb(204,0,0), + 4px 4px 0 rgb(204,0,0), + -4px 4px 0 rgb(204,0,0), + 4px -4px 0 rgb(204,0,0), + -4px -4px 0 rgb(204,0,0), + + 0px 4px 0 rgb(204,0,0), + 0px -4px 0 rgb(204,0,0), + -4px 0px 0 rgb(204,0,0), + 4px 0px 0 rgb(204,0,0), + 2px 4px 0 rgb(204,0,0), + -2px 4px 0 rgb(204,0,0), + 2px -4px 0 rgb(204,0,0), + -2px -4px 0 rgb(204,0,0), + 4px 2px 0 rgb(204,0,0), + -4px 2px 0 rgb(204,0,0), + 4px -2px 0 rgb(204,0,0), + -4px -2px 0 rgb(204,0,0), + + 4px 4px 0 rgb(255,128,128), + -4px 4px 0 rgb(255,128,128), + 4px -4px 0 rgb(255,128,128), + -4px -4px 0 rgb(255,128,128), + 0px 4px 0 rgb(255,128,128), + 0px -4px 0 rgb(255,128,128), + -4px 0px 0 rgb(255,128,128), + 4px 0px 0 rgb(255,128,128), + 8px 8px 0 rgb(255,128,128), + -8px 8px 0 rgb(255,128,128), + 8px -8px 0 rgb(255,128,128), + -8px -8px 0 rgb(255,128,128), + + 0px 8px 0 rgb(255,128,128), + 0px -8px 0 rgb(255,128,128), + -8px 0px 0 rgb(255,128,128), + 8px 0px 0 rgb(255,128,128), + 4px 8px 0 rgb(255,128,128), + -4px 8px 0 rgb(255,128,128), + 4px -8px 0 rgb(255,128,128), + -4px -8px 0 rgb(255,128,128), + 8px 4px 0 rgb(255,128,128), + -8px 4px 0 rgb(255,128,128), + 8px -4px 0 rgb(255,128,128), + -8px -4px 0 rgb(255,128,128); +} + +/* Warning symbol. */ +span.warning { + background-color: yellow; + font-weight: bold; +} -- 1.8.3.1