mirror of
https://github.com/vbatts/talks.git
synced 2024-10-31 22:26:44 +00:00
2283 lines
76 KiB
HTML
2283 lines
76 KiB
HTML
<!DOCTYPE html>
|
||
<html class="sl-root decks export offline loaded">
|
||
<head>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||
<title>Containers, Computing and Change</title>
|
||
|
||
|
||
<link rel="stylesheet" type="text/css" href="lib/offline-v2.css">
|
||
|
||
<!-- Team CSS -->
|
||
<style id="global-css-output" type="text/css">
|
||
@import url("https://s3.amazonaws.com/static.slid.es/fonts/overpass2/overpass2.css");
|
||
.reveal {
|
||
|
||
|
||
/*fix icon inversion*/
|
||
|
||
}
|
||
.reveal svg,
|
||
.reveal text,
|
||
.reveal tspan,
|
||
.reveal svg text {
|
||
font-family: "Overpass 2", Overpass, sans-serif !important;
|
||
color: currentcolor;
|
||
fill: currentcolor;
|
||
}
|
||
.reveal .sl-block {
|
||
color: #354045;
|
||
fill: currentcolor;
|
||
}
|
||
.reveal .sl-block svg {
|
||
color: currentcolor;
|
||
}
|
||
.reveal .has-dark-background,
|
||
.reveal .has-dark-background > .sl-block {
|
||
color: white;
|
||
fill: currentcolor;
|
||
}
|
||
.reveal section > .sl-block .redhat-logo .logotext {
|
||
fill: #000000;
|
||
}
|
||
.reveal .has-dark-background > .sl-block .redhat-logo .logotext {
|
||
fill: #ffffff;
|
||
}
|
||
.reveal .has-dark-background > .sl-block[data-block-type="image"] {
|
||
color: #ffffff;
|
||
}
|
||
.reveal [fill="none"] {
|
||
fill: none !important;
|
||
}
|
||
.reveal [fill="#a30000"] {
|
||
fill: #aa0000 !important;
|
||
}
|
||
.reveal [fill="#cc2029"],
|
||
.reveal [fill="#cb2027"],
|
||
.reveal [fill="#c00"] {
|
||
fill: #cc0000 !important;
|
||
}
|
||
.reveal [fill="#fff"] {
|
||
fill: #ffffff !important;
|
||
}
|
||
.reveal [fill="#6d6e70"] {
|
||
fill: #6d6e70 !important;
|
||
}
|
||
.reveal [fill="#231f20"] {
|
||
fill: currentcolor !important;
|
||
}
|
||
.reveal [fill="#efab1f"] {
|
||
fill: #efab1f !important;
|
||
}
|
||
.reveal [fill="#92d400"] {
|
||
fill: #92d400 !important;
|
||
}
|
||
.reveal .has-dark-background [fill="#6d6e70"] {
|
||
fill: #266272 !important;
|
||
}
|
||
.reveal .has-dark-background [fill="#fff"] {
|
||
fill: #555555 !important;
|
||
}
|
||
.reveal .has-dark-background [fill="#fff"] {
|
||
fill: #333333 !important;
|
||
}
|
||
.reveal .has-dark-background [stroke="#231f20"] {
|
||
stroke: currentcolor;
|
||
}
|
||
.reveal [data-inline-svg="true"] img {
|
||
display: none;
|
||
}
|
||
|
||
</style>
|
||
|
||
<!-- Theme CSS -->
|
||
<style id="theme-css-output" type="text/css">
|
||
@import url(//overpassmonotest-30e2.kxcdn.com/overpass-mono.css);
|
||
.reveal {
|
||
|
||
|
||
/*
|
||
.sl-block[data-block-type="snippet"],
|
||
.sl-block[data-block-type="image"]
|
||
{
|
||
text,
|
||
tspan,
|
||
polygon,
|
||
path,
|
||
rect,
|
||
ellipse {
|
||
fill: currentcolor;
|
||
}
|
||
}
|
||
*/
|
||
|
||
/*slide-default*/
|
||
|
||
/*Custom Ordered Lists */
|
||
|
||
/*helpers*/
|
||
|
||
/*fixing left aligned text*/
|
||
|
||
/*h1,h2,h3,h4,h5,h6{&::first-letter{margin-left:-.09em;}}*/
|
||
|
||
/*icon absolute brute-fix*/
|
||
|
||
/*
|
||
.present .icon.stroked path.long{ stroke-width: 2px ;
|
||
-webkit-animation: icon-animation-long 3.5s 1.5s 1;
|
||
-moz-animation: icon-animation-long 3.5s 1.5s 1;
|
||
animation: icon-animation-long 3.5s 1.5s 1;
|
||
}*/
|
||
|
||
/*
|
||
.present .icon.stroked path.short{
|
||
-webkit-animation: icon-animation-short 3.5s 1.5s 1;
|
||
-moz-animation: icon-animation-short 3.5s 1.5s 1;
|
||
animation: icon-animation-short 3.5s 1.5s 1;
|
||
}*/
|
||
|
||
/*controls logic*/
|
||
|
||
/*animated logos with complex svg segments*/
|
||
|
||
/*transitions*/
|
||
|
||
/*logos svg files that contain inverted path alternates */
|
||
|
||
/* call to action */
|
||
|
||
/* tables in snippets.... the devil */
|
||
|
||
/* tables in text */
|
||
|
||
/*testimonial snippet */
|
||
|
||
/*for inverting images*/
|
||
|
||
/**/
|
||
|
||
/*code blocks*/
|
||
|
||
/* round line arrows */
|
||
|
||
/*fix icon inversion*/
|
||
|
||
/*body:hover .corner svg{transform: translate(30%, 30%)}*/
|
||
|
||
}
|
||
.reveal.reveal[role="application"] > .backgrounds > .slide-background:not(.stack):first-child,
|
||
.reveal.reveal[role="application"] > .backgrounds > .stack:first-child > .slide-background:first-child,
|
||
.reveal.reveal[role="application"] .slides > .pdf-page:not(.stack):first-child .slide-background,
|
||
.reveal.reveal[role="application"] .slides > .stack:first-child > .pdf-page:first-child .slide-background {
|
||
background-color: #900;
|
||
color: #fff;
|
||
background-size: cover;
|
||
background-repeat: no-repeat;
|
||
background-position: 50% 50%;
|
||
background-image: linear-gradient(-45deg, #8e0000 20%, #820000 20%, #990000 85%, #890000 85%);
|
||
min-height: 100vh;
|
||
}
|
||
.reveal.reveal[role="application"] > .backgrounds > .slide-background:not(.stack):first-child.has-light-background,
|
||
.reveal.reveal[role="application"] > .backgrounds > .stack:first-child > .slide-background:first-child.has-light-background,
|
||
.reveal.reveal[role="application"] .slides > .pdf-page:not(.stack):first-child .slide-background.has-light-background,
|
||
.reveal.reveal[role="application"] .slides > .stack:first-child > .pdf-page:first-child .slide-background.has-light-background {
|
||
background-image: none;
|
||
}
|
||
.reveal.reveal .slides > .section:first-child,
|
||
.reveal.reveal[role="application"] > .slides > .section:first-child .sl-block {
|
||
color: #fff;
|
||
}
|
||
.reveal .name {
|
||
white-space: nowrap;
|
||
}
|
||
.reveal .reveal,
|
||
.reveal .sl-block,
|
||
.reveal .sl-block-content,
|
||
.reveal .sl-block-content div,
|
||
.reveal .sl-block-content p,
|
||
.reveal .sl-block-content h1,
|
||
.reveal .sl-block-content h2,
|
||
.reveal .sl-block-content h3,
|
||
.reveal .sl-block-content h4 {
|
||
font-family: "Overpass 2", overpass, "Hiragino Kaku Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", sans-serif;
|
||
}
|
||
.reveal .future .sl-block-content,
|
||
.reveal .past .sl-block-content {
|
||
transition: none !important;
|
||
}
|
||
.reveal section,
|
||
.reveal.reveal .has-dark-background,
|
||
.reveal section.background-shade-dark {
|
||
color: #fff;
|
||
}
|
||
.reveal.reveal .has-dark-background a {
|
||
color: #eee;
|
||
}
|
||
.reveal.reveal .has-dark-background a:hover {
|
||
color: #fff;
|
||
}
|
||
.reveal .backgrounds {
|
||
background: #f3f4f4;
|
||
}
|
||
.reveal .slide-background {
|
||
background-size: cover;
|
||
background-position: 50% 50%;
|
||
background-repeat: no-repeat;
|
||
}
|
||
.reveal .slide-background.has-light-background {
|
||
/*background-image: url(//s3.amazonaws.com/media-p.slid.es/uploads/team-32/images/1297460/standard-background.svg);*/
|
||
|
||
}
|
||
.reveal .backgrounds .paint-it-red {
|
||
background-color: #c00 !important;
|
||
-moz-background-blend-mode: multiply;
|
||
-webkit-background-blend-mode: multiply;
|
||
-ms-background-blend-mode: multiply;
|
||
background-blend-mode: multiply;
|
||
}
|
||
.reveal .paint-it-red {
|
||
color: #fff;
|
||
}
|
||
.reveal .has-dark-background .icon.stroked path,
|
||
.reveal section.background-shade-dark .icon.stroked path,
|
||
.reveal section.light-foreground .icon.stroked path {
|
||
stroke: #fff !important;
|
||
}
|
||
.reveal .has-dark-background .redhat-product-logotype path,
|
||
.reveal section.background-shade-dark .redhat-product-logotype path,
|
||
.reveal section.light-foreground .redhat-product-logotype path {
|
||
fill: #ffffff;
|
||
}
|
||
.reveal .has-dark-background text.logotext,
|
||
.reveal section.background-shade-dark text.logotext,
|
||
.reveal section.light-foreground text.logotext,
|
||
.reveal .has-dark-background .logotext text,
|
||
.reveal section.background-shade-dark .logotext text,
|
||
.reveal section.light-foreground .logotext text,
|
||
.reveal .has-dark-background path.logotext,
|
||
.reveal section.background-shade-dark path.logotext,
|
||
.reveal section.light-foreground path.logotext,
|
||
.reveal .has-dark-background path.logotype,
|
||
.reveal section.background-shade-dark path.logotype,
|
||
.reveal section.light-foreground path.logotype,
|
||
.reveal .has-dark-background .logotext path,
|
||
.reveal section.background-shade-dark .logotext path,
|
||
.reveal section.light-foreground .logotext path {
|
||
fill: #fff !important;
|
||
}
|
||
.reveal .has-dark-background .closing-logo .logotext,
|
||
.reveal section.background-shade-dark .closing-logo .logotext,
|
||
.reveal section.light-foreground .closing-logo .logotext,
|
||
.reveal .has-dark-background .redhat-logo .logotext,
|
||
.reveal section.background-shade-dark .redhat-logo .logotext,
|
||
.reveal section.light-foreground .redhat-logo .logotext {
|
||
fill: #ffffff !important;
|
||
}
|
||
.reveal .has-light-background .icon.stroked path {
|
||
stroke: currentcolor;
|
||
}
|
||
.reveal .has-light-background .redhat-logo .logotext {
|
||
fill: #000000 !important;
|
||
}
|
||
.reveal .sl-block-content ol li {
|
||
position: relative;
|
||
padding-bottom: .5em;
|
||
}
|
||
.reveal .sl-block-content ol li > p:first-child {
|
||
margin: 0;
|
||
}
|
||
.reveal .sl-block-content ol > li::before {
|
||
margin-left: -2.5em;
|
||
}
|
||
.reveal .sl-block-content > ol > li:before {
|
||
float: left;
|
||
text-align: center;
|
||
box-shadow: inset 0 0 0 .1em;
|
||
border-radius: 50%;
|
||
}
|
||
.reveal .sl-block-content ol {
|
||
counter-reset: section;
|
||
list-style-type: none;
|
||
margin: 0 0 0 2.5em;
|
||
display: block;
|
||
}
|
||
.reveal .sl-block-content ol ol {
|
||
margin-top: .5em;
|
||
}
|
||
.reveal .sl-block-content ol > li:before {
|
||
font-weight: 400;
|
||
display: inline-block;
|
||
width: 1.75em;
|
||
height: 1.75em;
|
||
line-height: 1.75em;
|
||
text-align: center;
|
||
letter-spacing: 0;
|
||
font-size: .75em;
|
||
margin: 0 0.75em 0 -2.5em;
|
||
counter-increment: section;
|
||
content: counters(section, ".") " ";
|
||
white-space: nowrap;
|
||
}
|
||
.reveal .sl-block-content > ol > li ol li:before {
|
||
opacity: .5;
|
||
text-align: left;
|
||
box-shadow: none;
|
||
letter-spacing: .1em;
|
||
}
|
||
.reveal .sl-block-content > ol > li > ol > li > ol > li:before {
|
||
width: 4em;
|
||
left: -3em;
|
||
font-size: .75em;
|
||
}
|
||
.reveal .has-dark-background .sl-block-content > ol > li:before {
|
||
color: currentcolor;
|
||
background-color: rgba(0, 0, 0, 0.1);
|
||
box-shadow: inset 0 0 0 0.2em rgba(0, 0, 0, 0.2);
|
||
font-weight: 500;
|
||
letter-spacing: -0.05em;
|
||
}
|
||
.reveal .sl-block-content > ol ol ol li:before {
|
||
opacity: 1;
|
||
font-size: .55em !important;
|
||
width: 3.5em !important;
|
||
}
|
||
.reveal .sl-block-content > ol ol ol {
|
||
margin-left: 1.5em !important;
|
||
}
|
||
.reveal .uppercase {
|
||
text-transform: uppercase;
|
||
}
|
||
.reveal .sl-block[data-block-type="text"] > .initial h1,
|
||
.reveal .sl-block[data-block-type="text"] > .initial h2,
|
||
.reveal .sl-block[data-block-type="text"] > .initial h3 {
|
||
text-transform: initial;
|
||
}
|
||
.reveal .force-mono text,
|
||
.reveal .force-mono tspan,
|
||
.reveal .force-mono polygon,
|
||
.reveal .force-mono path,
|
||
.reveal .force-mono rect,
|
||
.reveal .force-mono ellipse {
|
||
fill: currentcolor !important;
|
||
}
|
||
.reveal .force-red .stroked path {
|
||
stroke: #c00;
|
||
}
|
||
.reveal .force-red,
|
||
.reveal .force-red text,
|
||
.reveal .force-red tspan,
|
||
.reveal .force-red polygon,
|
||
.reveal .force-red path,
|
||
.reveal .force-red rect,
|
||
.reveal .force-red ellipse {
|
||
color: #c00;
|
||
fill: currentcolor !important;
|
||
}
|
||
.reveal .force-red .stroked {
|
||
fill: none;
|
||
stroke: #cc0000;
|
||
}
|
||
.reveal .background-shade-dark .sl-block {
|
||
color: #fff;
|
||
}
|
||
.reveal .dark-foreground text.logotext,
|
||
.reveal section.background-shade-light text.logotext,
|
||
.reveal section.dark-foreground text.logotext,
|
||
.reveal .dark-foreground .logotext text,
|
||
.reveal section.background-shade-light .logotext text,
|
||
.reveal section.dark-foreground .logotext text,
|
||
.reveal .dark-foreground path.logotext,
|
||
.reveal section.background-shade-light path.logotext,
|
||
.reveal section.dark-foreground path.logotext,
|
||
.reveal .dark-foreground path.logotype,
|
||
.reveal section.background-shade-light path.logotype,
|
||
.reveal section.dark-foreground path.logotype,
|
||
.reveal .dark-foreground .logotext path,
|
||
.reveal section.background-shade-light .logotext path,
|
||
.reveal section.dark-foreground .logotext path,
|
||
.reveal .dark-foreground .product,
|
||
.reveal section.background-shade-light .product,
|
||
.reveal section.dark-foreground .product {
|
||
fill: currentcolor !important;
|
||
}
|
||
.reveal .dark-foreground .redhat-logo .logotext,
|
||
.reveal section.background-shade-light .redhat-logo .logotext,
|
||
.reveal section.dark-foreground .redhat-logo .logotext {
|
||
fill: currentcolor !important;
|
||
}
|
||
.reveal .slide-background.background-shade-dark:after {
|
||
content: "";
|
||
display: block;
|
||
position: absolute;
|
||
top: 0;
|
||
bottom: 0;
|
||
left: 0;
|
||
right: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
background-color: rgba(40, 40, 40, 0.8);
|
||
}
|
||
.reveal .slide-background.background-shade-light:after {
|
||
content: "";
|
||
display: block;
|
||
position: absolute;
|
||
top: 0;
|
||
bottom: 0;
|
||
left: 0;
|
||
right: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
background-color: rgba(255, 255, 255, 0.8);
|
||
}
|
||
.reveal .slides section {
|
||
text-align: left;
|
||
}
|
||
.reveal .slides section h1 {
|
||
line-height: 1em;
|
||
font-weight: 700 ;
|
||
font-size: 3em ;
|
||
}
|
||
.reveal .slides section h2 {
|
||
font-size: 2em;
|
||
font-weight: 400 ;
|
||
line-height: 1.15em;
|
||
}
|
||
.reveal .slides section h3 {
|
||
font-weight: 700 ;
|
||
font-size: 1em ;
|
||
line-height: 1.25em;
|
||
}
|
||
.reveal .slides section p {
|
||
margin-bottom: .5em;
|
||
}
|
||
.reveal .slides section blockquote {
|
||
font-style: normal;
|
||
box-shadow: none;
|
||
}
|
||
.reveal .progress {
|
||
background-color: transparent;
|
||
}
|
||
.reveal .progress span {
|
||
background-color: #5e6a71;
|
||
}
|
||
.reveal .absolute-element svg {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
right: 0;
|
||
width: 100% !important;
|
||
height: 100% !important;
|
||
}
|
||
.reveal .icon.stroked {
|
||
width: 282px;
|
||
height: 282px;
|
||
}
|
||
.reveal .icon.stroked.icon-arrow path {
|
||
stroke-width: 4px !important;
|
||
}
|
||
.reveal .icon.stroked path {
|
||
fill: none;
|
||
stroke-width: 1.5px;
|
||
transition-delay: .5s !important;
|
||
stroke-dashoffset: 0;
|
||
stroke-width: 1.5;
|
||
stroke-linecap: round;
|
||
stroke-linejoin: round;
|
||
stroke: currentcolor;
|
||
}
|
||
.reveal .icon.stroked path.long {
|
||
stroke-dasharray: 420,420;
|
||
transition: 2.5s all ease;
|
||
}
|
||
.reveal .icon.stroked path.longer {
|
||
stroke-dasharray: 512,512;
|
||
transition: 2.5s all ease;
|
||
}
|
||
.reveal .icon.stroked path.short {
|
||
stroke-dasharray: 90,90;
|
||
transition: 5s all ease;
|
||
}
|
||
.reveal .icon.stroked path.shortest {
|
||
stroke-dasharray: 5,5;
|
||
transition: 2s all ease;
|
||
}
|
||
.reveal .icon.stroked path.round {
|
||
stroke-linecap: round ;
|
||
stroke-linejoin: round ;
|
||
}
|
||
.reveal .icon.stroked path.virtual {
|
||
transition: .5s all ease;
|
||
stroke-dasharray: 1.1, 3;
|
||
stroke-linecap: round ;
|
||
}
|
||
.reveal .icon.stroked path.dashed {
|
||
stroke-dasharray: 3, 3;
|
||
}
|
||
.reveal .icon.stroked path.hand {
|
||
stroke-linecap: round;
|
||
}
|
||
.reveal .present path.virtual {
|
||
-webkit-animation: virtual-outline 60s infinite linear;
|
||
-moz-animation: virtual-outline 60s infinite linear;
|
||
animation: virtual-outline 60s infinite linear;
|
||
}
|
||
@-webkit-keyframes virtual-outline {
|
||
0% {
|
||
stroke-dashoffset: 0;
|
||
}
|
||
100% {
|
||
stroke-dashoffset: 512;
|
||
}
|
||
}
|
||
@-moz-keyframes virtual-outline {
|
||
0% {
|
||
stroke-dashoffset: 0;
|
||
}
|
||
100% {
|
||
stroke-dashoffset: 512;
|
||
}
|
||
}
|
||
@keyframes virtual-outline {
|
||
0% {
|
||
stroke-dashoffset: 0;
|
||
}
|
||
100% {
|
||
stroke-dashoffset: 512;
|
||
}
|
||
}
|
||
.reveal a {
|
||
box-shadow: 0 0.066666em;
|
||
}
|
||
.reveal .overview section.present {
|
||
border: 12px solid white !important;
|
||
box-shadow: 0 0 0 10px #ffffff, inset 0 0 0 6px rgba(0, 0, 0, 0.2);
|
||
}
|
||
.reveal .rh-pattern {
|
||
width: 256px;
|
||
height: 256px;
|
||
}
|
||
.reveal .rh-pattern path {
|
||
transition: all .5s ease;
|
||
}
|
||
.reveal .future .rh-pattern path {
|
||
stroke-dasharray: 0, 85 !important;
|
||
}
|
||
.reveal .present .rh-pattern path {
|
||
stroke-dasharray: 80, 0 !important;
|
||
}
|
||
.reveal div[data-block-type="snippet"] .sl-block-content > svg,
|
||
.reveal div[data-block-type="snippet"] > .sl-block-content > svg,
|
||
.reveal div[data-block-type="snippet"] .icon,
|
||
.reveal div[data-block-type="snippet"] .product {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
.reveal div[data-block-type="snippet"] .sl-block-content > svg:not(:last-child) {
|
||
position: relative;
|
||
}
|
||
.reveal div[data-block-type="snippet"] .icon {
|
||
top: -15%;
|
||
right: -15%;
|
||
bottom: -15%;
|
||
left: -15%;
|
||
width: 130%;
|
||
height: 130%;
|
||
}
|
||
.reveal div[data-block-type="snippet"] {
|
||
min-width: 60px !important;
|
||
}
|
||
.reveal div[data-block-type="text"] {
|
||
font-size: 20px;
|
||
}
|
||
.reveal .triangle-element,
|
||
.reveal .triangle-element * {
|
||
user-select: none;
|
||
}
|
||
.reveal .has-light-background .closing-logo.logotype path {
|
||
fill: black !important;
|
||
}
|
||
@-webkit-keyframes closing-animation {
|
||
0% {
|
||
-webkit-transform: scale(4) translate(40%);
|
||
transform: scale(4) translate(40%);
|
||
opacity: 0;
|
||
}
|
||
80% {
|
||
-webkit-transform: scale(1) translate(30%);
|
||
transform: scale(1) translate(30%);
|
||
}
|
||
}
|
||
@-moz-keyframes closing-animation {
|
||
0% {
|
||
-webkit-transform: scale(4) translate(40%);
|
||
transform: scale(4) translate(40%);
|
||
opacity: 0;
|
||
}
|
||
80% {
|
||
-webkit-transform: scale(1) translate(30%);
|
||
transform: scale(1) translate(30%);
|
||
}
|
||
}
|
||
@-o-keyframes closing-animation {
|
||
0% {
|
||
-webkit-transform: scale(4) translate(40%);
|
||
transform: scale(4) translate(40%);
|
||
opacity: 0;
|
||
}
|
||
80% {
|
||
-webkit-transform: scale(1) translate(30%);
|
||
transform: scale(1) translate(30%);
|
||
}
|
||
}
|
||
@keyframes closing-animation {
|
||
0% {
|
||
-webkit-transform: scale(4) translate(40%);
|
||
transform: scale(4) translate(40%);
|
||
opacity: 0;
|
||
}
|
||
80% {
|
||
-webkit-transform: scale(1) translate(30%);
|
||
transform: scale(1) translate(30%);
|
||
}
|
||
}
|
||
.reveal .present .closing-logo.icon {
|
||
-webkit-animation: closing-animation 1.5s 1;
|
||
-moz-animation: closing-animation 1.5s 1;
|
||
-o-animation: closing-animation 1.5s 1;
|
||
animation: closing-animation 1.5s 1;
|
||
}
|
||
.reveal .present .closing-logo.logotype {
|
||
-webkit-animation: closing-text-animation 1.8s 1;
|
||
-moz-animation: closing-text-animation 1.8s 1;
|
||
-o-animation: closing-text-animation 1.8s 1;
|
||
animation: closing-text-animation 1.8s 1;
|
||
}
|
||
@-webkit-keyframes closing-text-animation {
|
||
0% {
|
||
opacity: 0;
|
||
-webkit-transform: translate(-10%);
|
||
transform: translate(-10%);
|
||
}
|
||
70% {
|
||
-webkit-transform: translate(-10%);
|
||
transform: translate(-10%);
|
||
opacity: 0;
|
||
}
|
||
100% {
|
||
transform: none;
|
||
opacity: 1;
|
||
-webkit-transform: none;
|
||
}
|
||
}
|
||
@-moz-keyframes closing-text-animation {
|
||
0% {
|
||
opacity: 0;
|
||
-webkit-transform: translate(-10%);
|
||
transform: translate(-10%);
|
||
}
|
||
70% {
|
||
-webkit-transform: translate(-10%);
|
||
transform: translate(-10%);
|
||
opacity: 0;
|
||
}
|
||
100% {
|
||
transform: none;
|
||
opacity: 1;
|
||
-webkit-transform: none;
|
||
}
|
||
}
|
||
@keyframes closing-text-animation {
|
||
0% {
|
||
opacity: 0;
|
||
-webkit-transform: translate(-10%);
|
||
transform: translate(-10%);
|
||
}
|
||
70% {
|
||
-webkit-transform: translate(-10%);
|
||
transform: translate(-10%);
|
||
opacity: 0;
|
||
}
|
||
100% {
|
||
transform: none;
|
||
opacity: 1;
|
||
-webkit-transform: none;
|
||
}
|
||
}
|
||
.reveal .brand-pattern-paths path,
|
||
.reveal .pattern-path {
|
||
stroke-width: 1;
|
||
fill: none;
|
||
}
|
||
.reveal .brand-pattern-paths path {
|
||
fill: none !important;
|
||
}
|
||
.reveal pattern {
|
||
patterntransform: scale(2) !important;
|
||
}
|
||
.reveal pattern.normal use {
|
||
stroke: currentcolor;
|
||
fill: none;
|
||
}
|
||
.reveal pattern.light use {
|
||
stroke: #fff !important;
|
||
fill: none;
|
||
}
|
||
.reveal pattern.dark use {
|
||
stroke: #000 !important;
|
||
fill: none;
|
||
}
|
||
.reveal .brand-pattern {
|
||
min-width: 40px;
|
||
min-height: 40px;
|
||
position: absolute;
|
||
top: 0 ;
|
||
left: 0 ;
|
||
right: 0;
|
||
bottom: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
.reveal .brand-pattern path,
|
||
.reveal .brand-pattern rect {
|
||
width: 100% !important;
|
||
height: 100%;
|
||
}
|
||
.reveal .brand-pattern.corporate {
|
||
fill: url(#pattern-corporate);
|
||
}
|
||
.reveal #pattern-corporate-2 use {
|
||
stroke: #dd0000;
|
||
}
|
||
.reveal #pattern-corporate use {
|
||
stroke: #cc0000;
|
||
}
|
||
.reveal section,
|
||
.reveal .slide-background {
|
||
-webkit-backface-visibility: hidden;
|
||
-ms-backface-visibility: hidden;
|
||
backface-visibility: hidden;
|
||
}
|
||
.reveal .slides > section.transition-slide,
|
||
.reveal .slides > section.transition-slide + section.future,
|
||
.reveal .slides > section.transition-slide + section.present,
|
||
.reveal .backgrounds > .slide-background.transition-slide,
|
||
.reveal .backgrounds > .slide-background.transition-slide + .slide-background.future,
|
||
.reveal .backgrounds > .slide-background.transition-slide + .slide-background.present {
|
||
transition: all 1s ease !important;
|
||
}
|
||
.reveal .backgrounds > .slide-background.transition-slide {
|
||
opacity: 1 ;
|
||
}
|
||
.reveal .backgrounds > .slide-background.transition-slide.past {
|
||
z-index: 99;
|
||
-webkit-transform: translate(-100%, 0);
|
||
-ms-transform: translate(-100%, 0);
|
||
transform: translate(-100%, 0);
|
||
}
|
||
.reveal .backgrounds > .slide-background.transition-slide.future,
|
||
.reveal .backgrounds > .slide-background.transition-slide.present + .slide-background.future {
|
||
-webkit-transform: translate(100%, 0);
|
||
-ms-transform: translate(100%, 0);
|
||
transform: translate(100%, 0);
|
||
}
|
||
.reveal .slides > section.transition-slide.past {
|
||
z-index: 99;
|
||
-webkit-transform: translate(-150%, 0);
|
||
-ms-transform: translate(-150%, 0);
|
||
transform: translate(-150%, 0);
|
||
visibility: hidden;
|
||
}
|
||
.reveal .slides > section.transition-slide.future,
|
||
.reveal .slides > section.transition-slide.future + section {
|
||
-webkit-transform: translate(150%, 0);
|
||
-ms-transform: translate(150%, 0);
|
||
transform: translate(150%, 0);
|
||
visibility: hidden;
|
||
}
|
||
.reveal .slides > section.transition-slide-up,
|
||
.reveal .slides > section.transition-slide-up + section.future,
|
||
.reveal .slides > section.transition-slide-up + section.present,
|
||
.reveal .backgrounds > .slide-background.transition-slide-up,
|
||
.reveal .backgrounds > .slide-background.transition-slide-up + .slide-background.future .backgrounds > .slide-background.transition-slide-up + .slide-background.present {
|
||
transition: all 1s ease !important;
|
||
}
|
||
.reveal .backgrounds > .slide-background.transition-slide-up {
|
||
opacity: 1 ;
|
||
}
|
||
.reveal .backgrounds > .slide-background.transition-slide-up.past {
|
||
z-index: 99;
|
||
-webkit-transform: translate(0, -100%);
|
||
-ms-transform: translate(0, -100%);
|
||
transform: translate(0, -100%);
|
||
}
|
||
.reveal .backgrounds > .slide-background.transition-slide-up.future,
|
||
.reveal .backgrounds > .slide-background.transition-slide-up.present + .slide-background.future {
|
||
-webkit-transform: translate(0, 100%);
|
||
-ms-transform: translate(0, 100%);
|
||
transform: translate(0, 100%);
|
||
}
|
||
.reveal .slides > section.transition-slide-up.past {
|
||
z-index: 99;
|
||
-webkit-transform: translate(0, -150%);
|
||
-ms-transform: translate(0, -150%);
|
||
transform: translate(0, -150%);
|
||
visibility: hidden;
|
||
}
|
||
.reveal .slides > section.transition-slide-up.future,
|
||
.reveal .slides > section.transition-slide-up.present + section {
|
||
-webkit-transform: translate(0, 150%);
|
||
-ms-transform: translate(0, 150%);
|
||
transform: translate(0, 150%);
|
||
visibility: hidden;
|
||
}
|
||
.reveal .slides > section.transition-zoom-in,
|
||
.reveal .slides > section.transition-zoom-in + section.future,
|
||
.reveal .slides > section.transition-zoom-in + section.present,
|
||
.reveal .backgrounds > .slide-background.transition-zoom-in,
|
||
.reveal .backgrounds > .slide-background.transition-zoom-in + .slide-background.future .backgrounds > .slide-background.transition-zoom-in + .slide-background.present {
|
||
-webkit-transition: all 1s ease !important;
|
||
-moz-transition: all 1s ease !important;
|
||
transition: all 1s ease !important;
|
||
}
|
||
.reveal .backgrounds > .slide-background.transition-zoom-in.past {
|
||
opacity: 0 !important;
|
||
-webkit-transform: scale(1.5);
|
||
-ms-transform: scale(0.1 0.5);
|
||
transform: scale(1.5);
|
||
}
|
||
.reveal .backgrounds > .slide-background.transition-zoom-in.future,
|
||
.reveal .backgrounds > .slide-background.transition-zoom-in.present + .slide-background.future {
|
||
opacity: 0 !important;
|
||
-webkit-transform: scale(0.01);
|
||
-ms-transform: scale(0.01);
|
||
transform: scale(0.01);
|
||
}
|
||
.reveal .past {
|
||
z-index: -1;
|
||
opacity: 0 !important;
|
||
}
|
||
.reveal .present + .slide-background.future {
|
||
z-index: 99;
|
||
}
|
||
.reveal .slides > section.transition-zoom-in.past {
|
||
z-index: 99;
|
||
-webkit-transform: scale(1.5);
|
||
-ms-transform: scale(1.5);
|
||
transform: scale(1.5);
|
||
visibility: hidden;
|
||
}
|
||
.reveal .slides > section.transition-zoom-in.future {
|
||
-webkit-transform: scale(0.1);
|
||
-ms-transform: scale(0.1);
|
||
transform: scale(0.1);
|
||
visibility: hidden;
|
||
}
|
||
@-webkit-keyframes icon-animation-long {
|
||
0% {
|
||
stroke-dashoffset: 420;
|
||
stroke-width: .5px;
|
||
}
|
||
}
|
||
@-moz-keyframes icon-animation-long {
|
||
0% {
|
||
stroke-dashoffset: 420;
|
||
stroke-width: .5px;
|
||
}
|
||
}
|
||
@keyframes icon-animation-long {
|
||
0% {
|
||
stroke-dashoffset: 420;
|
||
stroke-width: .5px;
|
||
}
|
||
}
|
||
@-webkit-keyframes icon-animation-short {
|
||
0% {
|
||
stroke-dashoffset: 90;
|
||
}
|
||
}
|
||
@-moz-keyframes icon-animation-short {
|
||
0% {
|
||
stroke-dashoffset: 90;
|
||
}
|
||
}
|
||
@keyframes icon-animation-short {
|
||
0% {
|
||
stroke-dashoffset: 90;
|
||
}
|
||
}
|
||
.reveal .present .animate.icon.stroked path,
|
||
.reveal .present .animate .icon.stroked path,
|
||
.reveal .fragment .icon.stroked path {
|
||
animation: 0;
|
||
-moz-animation: 0;
|
||
-webkit-animation: 0;
|
||
display: none;
|
||
}
|
||
.reveal .present .animate.icon.stroked path.long,
|
||
.reveal .present .animate .icon.stroked path.long,
|
||
.reveal .fragment.visible .icon.stroked path.long {
|
||
display: block;
|
||
stroke-width: 2px ;
|
||
-webkit-animation: icon-animation-long 3.5s 0.5s 1;
|
||
-moz-animation: icon-animation-long 3.5s 0.5s 1;
|
||
animation: icon-animation-long 3.5s 0.5s 1;
|
||
}
|
||
.reveal .present .animate.icon.stroked path.short,
|
||
.reveal .present .animate .icon.stroked path.short,
|
||
.reveal .fragment.visible .icon.stroked path.short {
|
||
display: block;
|
||
-webkit-animation: icon-animation-short 3.5s 0.5s 1 !important;
|
||
-moz-animation: icon-animation-short 3.5s 0.5s 1 !important;
|
||
animation: icon-animation-short 3.5s 0.5s 1 !important;
|
||
}
|
||
.reveal .triangle-element {
|
||
transition: all 0.4s cubic-bezier(0.21, 0.9, 0.55, 1) 5s;
|
||
}
|
||
.reveal.reveal:hover .triangle-element {
|
||
transition: all 1s cubic-bezier(0.21, 0.9, 0.55, 1.16) 0s !important;
|
||
top: 100% !important;
|
||
left: 100% !important;
|
||
opacity: 0.95;
|
||
}
|
||
.reveal .has-dark-background .only-dark {
|
||
display: none;
|
||
}
|
||
.reveal .has-light-background .only-light {
|
||
display: none;
|
||
}
|
||
.reveal .thinner .icon.stroked path {
|
||
stroke-width: 1px !important;
|
||
}
|
||
.reveal .thinnest .icon.stroked path {
|
||
stroke-width: 0.05em !important;
|
||
}
|
||
.reveal .thicker .icon.stroked path {
|
||
stroke-width: 3px !important;
|
||
}
|
||
.reveal .thickest .icon.stroked path {
|
||
stroke-width: 4px !important;
|
||
}
|
||
.reveal .angle {
|
||
-ms-transform: rotate(-45deg);
|
||
-moz-transform: rotate(-45deg);
|
||
-webkit-transform: rotate(-45deg);
|
||
transform: rotate(-45deg);
|
||
}
|
||
.reveal .rangle {
|
||
-ms-transform: rotate(45deg);
|
||
-moz-transform: rotate(45deg);
|
||
-webkit-transform: rotate(45deg);
|
||
transform: rotate(45deg);
|
||
}
|
||
.reveal .sl-block > .vertical {
|
||
-ms-transform: rotate(-90deg);
|
||
-moz-transform: rotate(-90deg);
|
||
-webkit-transform: rotate(-90deg);
|
||
transform: rotate(-90deg);
|
||
}
|
||
.reveal .skewed {
|
||
transition: all 1s cubic-bezier(0.13, 0.81, 0.08, 1);
|
||
-moz-transform: skew(-45deg, 0);
|
||
-ms-transform: skew(-45deg, 0);
|
||
-webkit-transform: skew(-45deg, 0);
|
||
transform: skew(-45deg, 0);
|
||
}
|
||
.reveal .future .skewed {
|
||
margin-left: -800%;
|
||
opacity: 0;
|
||
}
|
||
.reveal .past .skewed {
|
||
margin-left: 800%;
|
||
opacity: 0;
|
||
}
|
||
.reveal .item-label,
|
||
.reveal .item-box {
|
||
letter-spacing: 0em;
|
||
font-weight: 500;
|
||
}
|
||
.reveal .epic-content-box {
|
||
height: 100%;
|
||
width: 100%;
|
||
position: absolute;
|
||
top: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
left: 0;
|
||
}
|
||
.reveal .has-dark-background .epic-content-box {
|
||
box-shadow: inset 0 0 0.51em rgba(0, 0, 0, 0.25), 0 0.05em 0.05em rgba(255, 255, 255, 0.1);
|
||
background-color: rgba(0, 0, 0, 0.15);
|
||
}
|
||
.reveal .has-light-background .epic-content-box {
|
||
box-shadow: inset 0 0 0.2em rgba(255, 255, 255, 0.5), 0 0.06666em 0.555em 0 rgba(0, 0, 0, 0.12);
|
||
}
|
||
.reveal .controls {
|
||
bottom: 1%;
|
||
right: 1%;
|
||
}
|
||
.reveal .controls button {
|
||
opacity: 0;
|
||
}
|
||
.reveal .controls button.enabled {
|
||
opacity: 1;
|
||
}
|
||
.reveal .controls {
|
||
opacity: 0 !important;
|
||
transition: opacity .5s ease 4.8s, transform .5s ease 4.8s;
|
||
transform: scale(0.4);
|
||
}
|
||
.reveal.reveal:hover .controls {
|
||
transform: scale(1);
|
||
opacity: 1 !important;
|
||
transition: opacity .5s ease 0s, transform .5s ease 0s;
|
||
}
|
||
.reveal .backgrounds {
|
||
transition-property: height;
|
||
transition-duration: 1s;
|
||
perspective: 1000px;
|
||
transform-style: preserve-3d;
|
||
}
|
||
.reveal .complex-logo {
|
||
min-height: 70px;
|
||
min-width: 70px;
|
||
width: 100%;
|
||
}
|
||
.reveal .complex-logo,
|
||
.reveal .complex-logo svg,
|
||
.reveal .complex-logo > div {
|
||
position: absolute;
|
||
top: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
.reveal .complex-logo > div.line-icon,
|
||
.reveal .complex-logo svg > div.line-icon,
|
||
.reveal .complex-logo > div > div.line-icon,
|
||
.reveal .complex-logo > div.logomark,
|
||
.reveal .complex-logo svg > div.logomark,
|
||
.reveal .complex-logo > div > div.logomark {
|
||
transform-origin: 12% 50%;
|
||
}
|
||
.reveal .animated .complex-logo div {
|
||
transition: all .5s ease;
|
||
}
|
||
.reveal .animated .complex-logo div.line-icon {
|
||
transition-delay: 2s;
|
||
}
|
||
.reveal .animated .complex-logo div.line-icon path {
|
||
transition: all 1s ease .52s;
|
||
stroke-dasharray: 100 ,10;
|
||
}
|
||
.reveal .animated .complex-logo div.event-name {
|
||
transition-delay: 1s;
|
||
}
|
||
.reveal .animated .complex-logo div.location {
|
||
transition-delay: 1.4s;
|
||
}
|
||
.reveal .future .animated .complex-logo > div {
|
||
transition: none;
|
||
}
|
||
.reveal .future .animated .complex-logo > div.line-icon path {
|
||
stroke-dasharray: 0 ,100;
|
||
transition: none;
|
||
}
|
||
.reveal .future .animated .complex-logo {
|
||
/*.line-icon{transform:rotate(30deg); opacity:0;}*/
|
||
|
||
}
|
||
.reveal .future .animated .complex-logo .logomark {
|
||
transform: translate(0, -20%);
|
||
}
|
||
.reveal .future .animated .complex-logo .location {
|
||
transform: translate(0, 0.5em);
|
||
opacity: 0;
|
||
}
|
||
.reveal .future .animated .complex-logo .event-name {
|
||
opacity: 0;
|
||
transform: translate(-0.6em, 0);
|
||
}
|
||
.reveal .lowercase {
|
||
text-transform: lowercase;
|
||
}
|
||
.reveal .pop-in.fragment {
|
||
-webkit-transform: scale(0.2);
|
||
-moz-transform: scale(0.2);
|
||
-ms-transform: scale(0.2);
|
||
transform: scale(0.2);
|
||
-webkit-transition: 2s ease 0.25s;
|
||
-moz-transition: 2s ease 0.25s;
|
||
-ms-transition: 2s ease 0.25s;
|
||
transition: 2s ease 0.25s;
|
||
-webkit-animation-delay: 0.66s;
|
||
-moz-animation-delay: 0.66s;
|
||
-ms-animation-delay: 0.66s;
|
||
animation-delay: 0.66s;
|
||
}
|
||
.reveal .pop-in.fragment.visible {
|
||
-webkit-transform: scale(1);
|
||
-moz-transform: scale(1);
|
||
-ms-transform: scale(1);
|
||
transform: scale(1);
|
||
}
|
||
.reveal .pop-in.fragment.current-fragment {
|
||
color: #c22;
|
||
}
|
||
.reveal .grow-width {
|
||
-webkit-transition: all 0.5s ease 0.2s;
|
||
-moz-transition: all 0.5s ease 0.2s;
|
||
-o-transition: all 0.5s ease 0.2s;
|
||
-ms-transition: all 0.5s ease 0.2s;
|
||
transition: all 0.5s ease 0.2s;
|
||
}
|
||
.reveal .future .grow-width {
|
||
width: 0% !important;
|
||
-webkit-transition: none;
|
||
-moz-transition: none;
|
||
-o-transition: none;
|
||
-ms-transition: none;
|
||
transition: none;
|
||
}
|
||
.reveal .stampit {
|
||
-webkit-transition: all 1s cubic-bezier(0.79, 0.53, 0.46, 1.3) 1s;
|
||
-moz-transition: all 1s cubic-bezier(0.79, 0.53, 0.46, 1.3) 1s;
|
||
-ms-transition: all 1s cubic-bezier(0.79, 0.53, 0.46, 1.3) 1s;
|
||
transition: all 1s cubic-bezier(0.79, 0.53, 0.46, 1.3) 1s;
|
||
}
|
||
.reveal .future .stampit {
|
||
-webkit-transform: rotate(-12deg) scale(2);
|
||
-moz-transform: rotate(-12deg) scale(2);
|
||
-ms-transform: rotate(-12deg) scale(2);
|
||
transform: rotate(-12deg) scale(2);
|
||
-webkit-transition: none;
|
||
-moz-transition: none;
|
||
-ms-transition: none;
|
||
transition: none;
|
||
opacity: 0;
|
||
}
|
||
.reveal .headshot img {
|
||
border-radius: 50%;
|
||
border: 4px solid #c00 !important;
|
||
}
|
||
.reveal .condensed {
|
||
letter-spacing: 0.02em;
|
||
}
|
||
.reveal .condensed li {
|
||
margin-bottom: 1em ;
|
||
}
|
||
.reveal .has-light-background .sl-block .has-dark-background > svg.redhat-logo .logotext {
|
||
fill: #ffffff !important;
|
||
}
|
||
.reveal .has-light-background .sl-block .reversed.redhat-logo .logotext,
|
||
.reveal .has-light-background .sl-block .reversed .redhat-logo .logotext,
|
||
.reveal .has-light-background .sl-block .has-dark-background > .redhat-logo .logotext {
|
||
fill: #ffffff !important;
|
||
}
|
||
.reveal .has-dark-background .sl-block .reversed.redhat-logo .logotext,
|
||
.reveal .has-dark-background .sl-block .reversed .redhat-logo .logotext,
|
||
.reveal .has-dark-background .sl-block .has-light-background > .redhat-logo .logotext {
|
||
fill: #000000 !important;
|
||
}
|
||
.reveal .has-dark-background .has-light-background .logo .only-dark path,
|
||
.reveal .has-light-background .mono.redhat-logo path {
|
||
fill: #000000 !important;
|
||
}
|
||
.reveal .has-dark-background .mono.redhat-logo path {
|
||
fill: #ffffff;
|
||
}
|
||
.reveal .has-dark-background .logo .only-dark {
|
||
display: block;
|
||
}
|
||
.reveal .has-light-background .logo .only-light {
|
||
display: block;
|
||
}
|
||
.reveal .has-light-background .logo .only-dark {
|
||
display: none;
|
||
}
|
||
.reveal .has-dark-background .logo .only-light {
|
||
display: none;
|
||
}
|
||
.reveal .has-light-background .reversed svg path {
|
||
fill: #ffffff !important;
|
||
}
|
||
.reveal .has-dark-background .reversed svg path {
|
||
fill: currentcolor;
|
||
}
|
||
.reveal .has-dark-background .has-light-background .logo .only-light,
|
||
.reveal .has-dark-background .reversed .logo .only-dark {
|
||
display: block;
|
||
}
|
||
.reveal .has-light-background .has-dark-background .logo .only-dark,
|
||
.reveal .has-light-background .logo .only-light {
|
||
display: block;
|
||
}
|
||
.reveal .has-light-background .has-dark-background .redhat-logo .only-dark,
|
||
.reveal .has-light-background .redhat-logo .only-light {
|
||
fill: #ffffff !important;
|
||
}
|
||
.reveal .has-light-background .has-dark-background .logo .only-light,
|
||
.reveal .has-light-background .logo .only-dark,
|
||
.reveal .has-dark-background .has-light-background .logo .only-dark,
|
||
.reveal .has-dark-background .logo .only-light {
|
||
display: none;
|
||
}
|
||
.reveal .future .fade-up,
|
||
.reveal .future .fade-down,
|
||
.reveal .future .fade-left,
|
||
.reveal .future .fade-right,
|
||
.reveal .future .fade-zoom {
|
||
-webkit-transition: none;
|
||
transition: none;
|
||
opacity: 0;
|
||
filter: alpha(opacity=0);
|
||
}
|
||
.reveal .future .fade-up,
|
||
.reveal .fade-up.fragment {
|
||
-webkit-transform: translate(0, 2em);
|
||
-ms-transform: translate(0, 2em);
|
||
transform: translate(0, 2em);
|
||
opacity: 0;
|
||
filter: alpha(opacity=0);
|
||
}
|
||
.reveal .future .fade-down,
|
||
.reveal .fade-down.fragment {
|
||
-webkit-transform: translate(0, -2em);
|
||
-ms-transform: translate(0, -2em);
|
||
transform: translate(0, -2em);
|
||
opacity: 0;
|
||
filter: alpha(opacity=0);
|
||
}
|
||
.reveal .future .fade-left,
|
||
.reveal .fade-left.fragment {
|
||
-webkit-transform: translate(2em, 0);
|
||
-ms-transform: translate(2em, 0);
|
||
transform: translate(2em, 0);
|
||
opacity: 0;
|
||
filter: alpha(opacity=0);
|
||
}
|
||
.reveal .future .fade-right,
|
||
.reveal .fade-right.fragment {
|
||
-webkit-transform: translate(-2em, 0);
|
||
-ms-transform: translate(-2em, 0);
|
||
transform: translate(-2em, 0);
|
||
opacity: 0;
|
||
filter: alpha(opacity=0);
|
||
}
|
||
.reveal .future .fade-zoom,
|
||
.reveal .fade-zoom.fragment {
|
||
-webkit-transform: scale(0.1);
|
||
-ms-transform: scale(0.1);
|
||
transform: scale(0.1);
|
||
opacity: 0;
|
||
filter: alpha(opacity=0);
|
||
}
|
||
.reveal .future .fade-in {
|
||
transition: none;
|
||
opacity: 0;
|
||
}
|
||
.reveal .present .fade-in,
|
||
.reveal .present .fade-up,
|
||
.reveal .present .fade-down,
|
||
.reveal .present .fade-left,
|
||
.reveal .present .fade-right,
|
||
.reveal .present .fade-zoom {
|
||
-webkit-transition: all .5s ease .5s;
|
||
transition: all .5s ease .5s;
|
||
opacity: 1;
|
||
filter: alpha(opacity=100);
|
||
}
|
||
.reveal .present .fragment.visible.fade-up,
|
||
.reveal .present .fragment.visible.fade-down,
|
||
.reveal .present .fragment.visible.fade-left,
|
||
.reveal .present .fragment.visible.fade-right,
|
||
.reveal .present .fragment.visible.fade-zoom {
|
||
-webkit-transform: none ;
|
||
-ms-transform: none ;
|
||
transform: none ;
|
||
opacity: 1;
|
||
filter: alpha(opacity=100);
|
||
}
|
||
.reveal .sl-block {
|
||
font-family: "Overpass 2", "Hiragino Kaku Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", Overpass, sans-serif !important;
|
||
}
|
||
.reveal .has-light-background .icon.stroked {
|
||
color: currentcolor;
|
||
}
|
||
.reveal .has-dark-background .icon.stroked path {
|
||
stroke: currentcolor;
|
||
}
|
||
.reveal .has-dark-background .only-light-background {
|
||
display: none !important;
|
||
}
|
||
.reveal .has-dark-background .only-dark-background {
|
||
display: block !important;
|
||
}
|
||
.reveal a.call-to-action:hover {
|
||
background-color: #d00 !important;
|
||
box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.05) !important;
|
||
text-shadow: none !important;
|
||
}
|
||
.reveal .sl-block[data-block-type="snippet"] table {
|
||
width: 100% !important;
|
||
max-width: 100% !important;
|
||
}
|
||
.reveal .sl-block[data-block-type="snippet"] table td {
|
||
border-color: currentcolor !important;
|
||
}
|
||
.reveal .sl-block[data-block-type="snippet"] table td {
|
||
text-align: inherit !important;
|
||
}
|
||
.reveal .sl-block[data-block-type="text"] table {
|
||
width: 100%;
|
||
}
|
||
.reveal .sl-block[data-block-type="text"] table td {
|
||
border-color: currentcolor;
|
||
}
|
||
.reveal .sl-block[data-block-type="text"] table td {
|
||
text-align: inherit;
|
||
}
|
||
.reveal.reveal .sl-block[data-block-type="image"] .person {
|
||
border-radius: 50%;
|
||
position: relative !important;
|
||
background-color: transparent;
|
||
height: auto !important;
|
||
}
|
||
.reveal.reveal .sl-block[data-block-type="image"] .person:before {
|
||
content: "" !important;
|
||
display: block !important;
|
||
padding-top: 100% ;
|
||
position: relative !important ;
|
||
/* 4:3 aspect ratio */
|
||
|
||
}
|
||
.reveal.reveal .sl-block[data-block-type="image"] .person > img {
|
||
position: absolute ;
|
||
margin: 0 auto !important;
|
||
left: 0% ;
|
||
right: 0 ;
|
||
width: auto !important;
|
||
top: 0 ;
|
||
bottom: 0 ;
|
||
}
|
||
.reveal .present .delay-1 {
|
||
transition-delay: 0.1s;
|
||
}
|
||
.reveal .present .delay-2 {
|
||
transition-delay: 0.2s;
|
||
}
|
||
.reveal .present .delay-3 {
|
||
transition-delay: 0.3s;
|
||
}
|
||
.reveal .present .delay-4 {
|
||
transition-delay: 0.4s;
|
||
}
|
||
.reveal .present .delay-5 {
|
||
transition-delay: 0.5s;
|
||
}
|
||
.reveal .present .delay-6 {
|
||
transition-delay: 0.6s;
|
||
}
|
||
.reveal .present .delay-7 {
|
||
transition-delay: 0.7s;
|
||
}
|
||
.reveal .present .delay-8 {
|
||
transition-delay: 0.8s;
|
||
}
|
||
.reveal .present .delay-9 {
|
||
transition-delay: 0.9s;
|
||
}
|
||
.reveal .present .delay-10 {
|
||
transition-delay: 1s;
|
||
}
|
||
.reveal .present .delay-11 {
|
||
transition-delay: 1.1s;
|
||
}
|
||
.reveal .present .delay-12 {
|
||
transition-delay: 1.2s;
|
||
}
|
||
.reveal .present .delay-13 {
|
||
transition-delay: 1.3s;
|
||
}
|
||
.reveal .present .delay-14 {
|
||
transition-delay: 1.4s;
|
||
}
|
||
.reveal .present .delay-15 {
|
||
transition-delay: 1.5s;
|
||
}
|
||
.reveal .present .delay-16 {
|
||
transition-delay: 1.6s;
|
||
}
|
||
.reveal .present .delay-17 {
|
||
transition-delay: 1.7s;
|
||
}
|
||
.reveal .present .delay-18 {
|
||
transition-delay: 1.8s;
|
||
}
|
||
.reveal .present .delay-19 {
|
||
transition-delay: 1.9s;
|
||
}
|
||
.reveal .present .delay-20 {
|
||
transition-delay: 2s;
|
||
}
|
||
.reveal .present .delay-21 {
|
||
transition-delay: 2.1s;
|
||
}
|
||
.reveal .present .delay-22 {
|
||
transition-delay: 2.2s;
|
||
}
|
||
.reveal .present .delay-23 {
|
||
transition-delay: 2.3s;
|
||
}
|
||
.reveal .present .delay-24 {
|
||
transition-delay: 2.4s;
|
||
}
|
||
.reveal .present .delay-25 {
|
||
transition-delay: 2.5s;
|
||
}
|
||
.reveal .present .delay-26 {
|
||
transition-delay: 2.6s;
|
||
}
|
||
.reveal .present .delay-27 {
|
||
transition-delay: 2.7s;
|
||
}
|
||
.reveal .present .delay-28 {
|
||
transition-delay: 2.8s;
|
||
}
|
||
.reveal .present .delay-29 {
|
||
transition-delay: 2.9s;
|
||
}
|
||
.reveal .present .delay-30 {
|
||
transition-delay: 3s;
|
||
}
|
||
.reveal .present .delay-31 {
|
||
transition-delay: 3.1s;
|
||
}
|
||
.reveal .present .delay-32 {
|
||
transition-delay: 3.2s;
|
||
}
|
||
.reveal .present .delay-33 {
|
||
transition-delay: 3.3s;
|
||
}
|
||
.reveal .present .delay-34 {
|
||
transition-delay: 3.4s;
|
||
}
|
||
.reveal .present .delay-35 {
|
||
transition-delay: 3.5s;
|
||
}
|
||
.reveal .present .delay-36 {
|
||
transition-delay: 3.6s;
|
||
}
|
||
.reveal .present .delay-37 {
|
||
transition-delay: 3.7s;
|
||
}
|
||
.reveal .present .delay-38 {
|
||
transition-delay: 3.8s;
|
||
}
|
||
.reveal .present .delay-39 {
|
||
transition-delay: 3.9s;
|
||
}
|
||
.reveal .present .delay-40 {
|
||
transition-delay: 4s;
|
||
}
|
||
.reveal .light-foreground .sl-block * {
|
||
color: #fff;
|
||
}
|
||
.reveal .dark-foreground .sl-block * {
|
||
color: #000;
|
||
}
|
||
.reveal .has-dark-background .invert {
|
||
color: #000;
|
||
}
|
||
.reveal .has-light-background .invert * {
|
||
color: #fff ;
|
||
}
|
||
.reveal .has-light-background .invert .only-light-background {
|
||
display: none ;
|
||
}
|
||
.reveal .has-light-background .invert .only-dark-background {
|
||
display: block !important;
|
||
}
|
||
.reveal .has-dark-background .invert .only-light-background {
|
||
display: block !important ;
|
||
}
|
||
.reveal .has-dark-background .invert .only-dark-background {
|
||
display: none !important;
|
||
}
|
||
.reveal .slide-number {
|
||
position: absolute !important;
|
||
opacity: 1;
|
||
right: 1em;
|
||
height: 28px;
|
||
min-width: 28px;
|
||
bottom: auto;
|
||
left: auto;
|
||
text-align: center;
|
||
font-size: 14px;
|
||
border-radius: 28px;
|
||
line-height: 28px;
|
||
color: white;
|
||
text-shadow: 0 0.1em 0.5em rgba(0, 0, 0, 0.4);
|
||
top: 1em;
|
||
font-family: "Overpass 2", Overpass, sans-serif;
|
||
font-weight: 500;
|
||
white-space: nowrap;
|
||
padding: 4px;
|
||
box-sizing: content-box;
|
||
}
|
||
.reveal .slide-number-delimiter {
|
||
margin: 0 1px;
|
||
}
|
||
.reveal.reveal .present.in-3d-appear {
|
||
transform: translatez(0em) !important;
|
||
animation: none !important;
|
||
transition: transform 1s ease !important;
|
||
}
|
||
.reveal.reveal .future.in-3d-appear {
|
||
transform: translatez(10em) rotateX(21deg) !important;
|
||
animation: none !important;
|
||
}
|
||
.reveal .no-filter img,
|
||
.reveal .no-filter {
|
||
filter: none !important;
|
||
-webkit-filter: none !important;
|
||
}
|
||
.reveal .present .fade-in-slow {
|
||
transition: all 5s ease;
|
||
}
|
||
.reveal .future .fade-in-slow {
|
||
transition: none;
|
||
opacity: 0;
|
||
}
|
||
.reveal .redhat-logo .logotext {
|
||
fill: #000000 !important;
|
||
}
|
||
.reveal .has-dark-background .redhat-logo .logotext {
|
||
fill: #ffffff !important;
|
||
}
|
||
.reveal [data-block-type="table"] .sl-block-content {
|
||
font-size: .75em;
|
||
background-color: #c00;
|
||
color: #fff;
|
||
}
|
||
.reveal [data-block-type="table"] td {
|
||
background-color: #e5e5e5;
|
||
color: #333;
|
||
border-color: white;
|
||
}
|
||
.reveal div[data-block-type="table"] th {
|
||
font-weight: 500;
|
||
}
|
||
.reveal [data-block-type="table"] tr:nth-child(odd) td {
|
||
background-color: #f5f5f5;
|
||
color: #333;
|
||
}
|
||
.reveal .has-dark-background > [data-block-type="table"] td {
|
||
background-color: #131619;
|
||
color: #fff;
|
||
}
|
||
.reveal .has-dark-background > [data-block-type="table"] tr:nth-child(odd) td {
|
||
background-color: #232629;
|
||
color: #fff;
|
||
}
|
||
.reveal [data-block-type="code"],
|
||
.reveal .hljs {
|
||
background-color: white ;
|
||
color: rgba(55, 55, 55, 0.85) !important;
|
||
}
|
||
.reveal section .hljs {
|
||
background-color: white !important;
|
||
}
|
||
.reveal .has-dark-background [data-block-type="code"],
|
||
.reveal .has-dark-background .hljs {
|
||
background-color: #012736!important ;
|
||
color: rgba(255, 255, 255, 0.85) !important;
|
||
}
|
||
.reveal [data-block-type="code"] pre {
|
||
letter-spacing: 0.015em;
|
||
line-height: 1.5em;
|
||
}
|
||
.reveal .has-light-background[data-block-type="code"] pre,
|
||
.reveal [data-block-type="code"] pre {
|
||
background-color: white ;
|
||
color: currentcolor;
|
||
padding: 1em !important;
|
||
}
|
||
.reveal .has-dark-background [data-block-type="code"] pre {
|
||
background-color: #012736 ;
|
||
}
|
||
.reveal .hljs,
|
||
.reveal pre,
|
||
.reveal code {
|
||
font-family: 'Overpass Mono', monospace !important;
|
||
font-weight: 200 !important;
|
||
}
|
||
.reveal .hljs-literal {
|
||
color: #ffb612 !important;
|
||
}
|
||
.reveal .hljs-keyword {
|
||
color: #ffb612;
|
||
font-weight: 700 !important;
|
||
}
|
||
.reveal .hljs-string {
|
||
color: #88c639;
|
||
font-weight: 700;
|
||
}
|
||
.reveal .hljs-comment {
|
||
color: #94a0a7 !important;
|
||
font-weight: 400 !important;
|
||
}
|
||
.reveal .hljs-params {
|
||
color: #028c98 ;
|
||
font-weight: 700;
|
||
}
|
||
.reveal .hljs-attr {
|
||
color: #EC7A08 !important;
|
||
}
|
||
.reveal .hljs-tag {
|
||
color: #7F5FAE !important;
|
||
}
|
||
.reveal .hljs-name {
|
||
color: #028c98 !important;
|
||
}
|
||
.reveal .hljs-string {
|
||
color: #7f5fae !important;
|
||
}
|
||
.reveal .hljs-comment {
|
||
color: rgba(125, 125, 125, 0.65) !important;
|
||
}
|
||
.reveal .hljs-number {
|
||
color: #4e9fdd !important;
|
||
}
|
||
.reveal .hljs-attribute {
|
||
color: #ec9e34 !important;
|
||
}
|
||
.reveal .hljs-variable {
|
||
color: #4e9fdd !important;
|
||
}
|
||
.reveal .hljs-built_in {
|
||
color: #ee1122!important;
|
||
}
|
||
.reveal .hljs-selector-class {
|
||
color: #55aab2 !important;
|
||
}
|
||
.reveal [data-line-end-type="line-arrow"] line,
|
||
.reveal [data-line-start-type="line-arrow"] line,
|
||
.reveal [data-line-end-type="line-arrow"] path {
|
||
stroke-linecap: round;
|
||
stroke-linejoin: square;
|
||
}
|
||
.reveal div[data-block-type="line"] line[stroke="#000000"],
|
||
.reveal div[data-block-type="line"] path[stroke="#000000"] {
|
||
stroke: currentcolor;
|
||
}
|
||
.reveal [fill="none"] {
|
||
fill: none !important;
|
||
}
|
||
.reveal [fill="#a30000"] {
|
||
fill: #aa0000 !important;
|
||
}
|
||
.reveal [fill="#cc2029"],
|
||
.reveal [fill="#cb2027"],
|
||
.reveal [fill="#c00"] {
|
||
fill: #cc0000 !important;
|
||
}
|
||
.reveal [fill="#fff"] {
|
||
fill: #ffffff !important;
|
||
}
|
||
.reveal [fill="#6d6e70"] {
|
||
fill: #6d6e70 !important;
|
||
}
|
||
.reveal [fill="#231f20"] {
|
||
fill: currentcolor !important;
|
||
}
|
||
.reveal [fill="#efab1f"] {
|
||
fill: #efab1f !important;
|
||
}
|
||
.reveal [fill="#92d400"] {
|
||
fill: #92d400 !important;
|
||
}
|
||
.reveal .has-dark-background [fill="#6d6e70"] {
|
||
fill: #266272 !important;
|
||
}
|
||
.reveal .has-dark-background [fill="#fff"] {
|
||
fill: #555555 !important;
|
||
}
|
||
.reveal .has-dark-background [fill="#fff"] {
|
||
fill: #333333 !important;
|
||
}
|
||
.reveal .has-dark-background [stroke="#231f20"] {
|
||
stroke: currentcolor;
|
||
}
|
||
.reveal .has-dark-background [fill="#221F1F"],
|
||
.reveal .has-dark-background [fill="#221f1f"],
|
||
.reveal .has-dark-background [fill="#231F20"],
|
||
.reveal .has-dark-background [fill="#010101"] {
|
||
fill: #ffffff !important;
|
||
}
|
||
.reveal [data-inline-svg="true"] img {
|
||
display: none;
|
||
}
|
||
.reveal .corner {
|
||
position: absolute;
|
||
top: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
left: 0;
|
||
overflow: hidden;
|
||
z-index: 8;
|
||
}
|
||
.reveal .corner svg {
|
||
transition: all .75s ease 5s;
|
||
}
|
||
|
||
</style>
|
||
|
||
</head>
|
||
<body class="reveal-viewport theme-font-overpass2 theme-color-no-color">
|
||
<div class="reveal">
|
||
<div class="slides">
|
||
<section data-background-color="#b21a0f" data-background-image="containers-computing-and-change/5e1a7c37f8b075137176a16db5edc490.svg" data-background-size="cover" data-id="104124bc9471640953b625b5574edf7d" data-background-position="50% 50%">
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 852px; left: 108px; top: 244px;" data-block-id="d47113ddc5922a083caff91ea62b4024"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11; color: rgb(255, 255, 255);">
|
||
<h1 style="color:rgb(209, 212, 211)">Containers,</h1>
|
||
|
||
<h1 style="color:rgb(209, 212, 211)">Computing</h1>
|
||
|
||
<h1 style="color:rgb(209, 212, 211)">and Change</h1>
|
||
|
||
<p style="color:rgb(209, 212, 211)"> </p>
|
||
|
||
<p style="color:rgb(209, 212, 211)">Vincent Batts @vbatts</p>
|
||
</div></div>
|
||
</section><section data-background-color="#7c7c7c" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="43c67a8fd2abdb057ed6d2fbfd010939">
|
||
<div class="sl-block" data-block-type="image" style="min-width: 30px; min-height: 30px; width: 478.222px; height: 269px; left: 241px; top: 389px;" data-block-id="7e8f21afa8ae97d7f7a463287afa0887"><div class="sl-block-content" style="z-index: 11;"><img data-natural-width="320" data-natural-height="180" data-src="containers-computing-and-change/339e84e5deca8af62480a1dc3fb7af96.gif"></div></div>
|
||
<div class="sl-block" data-block-type="code" style="min-width: 30px; min-height: 30px; width: 896px; height: 356px; left: 47px; top: 15px;" data-block-id="d978286e7b3525a0195af2d6e397bf77"><div class="sl-block-content" style="z-index: 12; font-size: 141%;" data-highlight-theme="zenburn"><pre class="none"><code>$> finger $(whoami)
|
||
Login: vbatts Name: Vincent Batts
|
||
Directory: /home/vbatts Shell: /bin/bash
|
||
Such mail.
|
||
Plan:
|
||
OHMAN
|
||
$> id -Gn
|
||
devel opencontainers docker appc redhat golang slackware</code></pre></div></div></section><section data-background-color="#efefef" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="c5a2cf06815f58aeef7d22c99ff5c3bc">
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 24px;" data-block-id="f36e763f022e3a676a0843ed9659480a"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
|
||
<h2>Containers</h2>
|
||
</div></div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="image" style="width: 660px; height: 363px; left: 150px; top: 197px;" data-block-id="2cd3452c64be6e82a4492a6a6d51c886"><div class="sl-block-content" style="z-index: 12;"><img data-natural-width="320" data-natural-height="176" data-src="containers-computing-and-change/41bdbfee7c1333d20604b26b7ed5087c.gif"></div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="1b0f9b21474654a8a2b879f23c2c98b4" style="height: auto; min-width: 30px; min-height: 30px; width: 232px; left: 720px; top: 630px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;">
|
||
<p><a href="http://i.imgur.com/ijajqjg.gif" target="_blank">(Cite: The Internet)</a></p>
|
||
</div></div></section><section data-background-color="#cfe68f" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="61b0f0beead3f9f76ea1b5d49e122480">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="image" data-block-id="7c4022fbed9f29674c13bca89984c5e4" style="min-width: 30px; min-height: 30px; width: 933px; height: 700px; left: 14px; top: 0px;"><div class="sl-block-content" style="z-index: 11;"><img style="" data-natural-width="960" data-natural-height="720" data-src="containers-computing-and-change/d1732148fa540940bd44ffeb6ef82af5.svg"></div></div></section><section data-background-color="#cfe68f" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="ab2d3586f683d63fd7041b0b7d2e9660">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" data-block-id="33bb4ab285c8c199b5406713150354da" style="height: auto; min-width: 30px; min-height: 30px; width: 434px; left: 160px; top: 110px;"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;" data-fragment-index="0">
|
||
<p>Share the host's kernel</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="afcdcc32d2fb1049b381bdb47c3839e8" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 80px; top: 40px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;">
|
||
<h3>Containers:</h3>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 434px; left: 240px; top: 180px;" data-block-id="1156a916c3217cf25312b53ffa60588c"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;" data-fragment-index="1">
|
||
<p>Crashes and Exploits alike</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 616px; left: 160px; top: 265px;" data-block-id="c631fd779bfd7386f1cba24ecf8531ce"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 14;" data-fragment-index="2">
|
||
<p>virtualizing by "namespacing" kernel resources and concepts</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="c85ddcf8308ac8b3e077e5891a0473e9" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 180px; top: 335px;"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 15;" data-fragment-index="3">
|
||
<p>Isolation by control groups, syscall filtering, and Linux Security Modules (SELinux, apparmor, etc.)</p>
|
||
</div></div></section><section data-background-color="#cfe68f" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="d279ac403a5cd3a2df8b451f044e49aa">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" data-block-id="fafc86c72d23003a65a317e75722de32" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 80px; top: 40px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
|
||
<h3>Kernel Namespaces:</h3>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="d8956f68a61a08b3fcd913310e57425f" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 160px; top: 210px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;">
|
||
<ul>
|
||
<li><span style="font-size:1.4em">mount</span></li>
|
||
<li><span style="font-size:1.4em">IPC (message queues, semaphores, shm)</span></li>
|
||
<li><span style="font-size:1.4em">UTS (hostname)</span></li>
|
||
<li><span style="font-size:1.4em">network</span></li>
|
||
<li><span style="font-size:1.4em">PID</span></li>
|
||
<li><span style="font-size:1.4em">cgroup</span></li>
|
||
<li><span style="font-size:1.4em">user</span></li>
|
||
</ul>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="6d42efb06b8180102da4e068e2c58f89" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 160px; top: 140px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;">
|
||
<p><a href="https://github.com/torvalds/linux/blob/master/Documentation/unshare.txt" target="_blank">unshare() docs</a></p>
|
||
</div></div></section><section data-background-color="#cfe68f" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="a5ebc7ea42759f1e8f6b4bdf63b20002">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 40px;" data-block-id="4e62f465f60504e0eaf1eaa331db29c1"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
|
||
<h3>Kernel Namespaces: PID</h3>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="image" data-block-id="aa07aac2de8575e84db45f37cade5273" style="min-width: 30px; min-height: 30px; width: 933px; height: 700px; left: 14px; top: 0px;"><div class="sl-block-content" style="z-index: 12;"><img style="" data-natural-width="960" data-natural-height="720" data-src="containers-computing-and-change/ccc6c1f5cb558a0459d5574e88010b53.svg"></div></div></section><section data-background-color="#cfe68f" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="a035e694d9e27ec3ae228e56debf8ac4">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 40px;" data-block-id="67232754fe068412ebd2106fbfd55c72"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
|
||
<h3>Container runtime Standards</h3>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="ef61bbab3911745f6567a0739f39d80d" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 80px; top: 140px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;">
|
||
<p><a href="https://github.com/opencontainers/runtime-spec" target="_blank">OpenContainer Initiative Runtime Specification</a></p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="code" data-block-id="a4b39e119c3b6a2f0a33c82be7cea77f" style="min-width: 30px; min-height: 30px; width: 899px; height: 297px; left: 31px; top: 193px;"><div class="sl-block-content" data-highlight-theme="zenburn" style="z-index: 13;"><pre class="none groovy"><code>$> runc spec
|
||
$> less config.json
|
||
{
|
||
"ociVersion": "1.0.0-rc5",
|
||
"platform": {
|
||
"os": "linux",
|
||
"arch": "amd64"
|
||
},
|
||
"process": {
|
||
"terminal": true,
|
||
...</code></pre></div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="462d47f617d437a85e27a47272b7847d" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 80px; top: 530px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 14;">
|
||
<p>Using <a href="https://github.com/opencontainers/runc" target="_blank">runc</a></p>
|
||
</div></div></section><section data-background-color="#fde2ce" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="78bee31f66b411107342671898456e68">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 40px;" data-block-id="65535fdf4dc3c996d8d1be52eec76f17"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
|
||
<h3>Container Distribution</h3>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="60d545e908335411e49378b211f49429" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 80px; top: 140px;"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;" data-fragment-index="0">
|
||
<p>Root ('/') File System</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="05fb64397c3e22646c99b423e54d5326" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 240px; top: 250px;"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;" data-fragment-index="1">
|
||
<p>Approaches:</p>
|
||
|
||
<ul>
|
||
<li>Tar Archive</li>
|
||
<li>Raw Image</li>
|
||
<li>rsync</li>
|
||
<li>ostree</li>
|
||
</ul>
|
||
</div></div>
|
||
</section><section data-background-color="#fde2ce" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="6eb6c24b9e70201031b4ed2efd5d11c9">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 40px;" data-block-id="2d9dd26936c805edefe021ece6c6e799"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 10;">
|
||
<h3>Container Distribution</h3>
|
||
</div></div>
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 140px;" data-block-id="a8470fbcfe0a7eaa450b0da5cec0e7c1"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;" data-fragment-index="0">
|
||
<p><a href="http://github.com/opencontainers/image-spec" target="_blank">Distributable formats</a> (see <a href="https://www.opencontainers.org/" target="_blank">Open Container Initiative</a>)</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="b0666ef50cd2ed97312094680a59b498" style="height: auto; min-width: 30px; min-height: 30px; width: 271px; left: 160px; top: 560px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;">
|
||
<p>tools like:</p>
|
||
|
||
<ul>
|
||
<li><a href="https://github.com/projectatomic/skopeo" target="_blank">projectatomic/skopeo</a></li>
|
||
<li><a href="https://github.com/jessfraz/riddler" target="_blank">jessfraz/riddler</a></li>
|
||
<li><a href="https://github.com/openSUSE/umoci" target="_blank">openSUSE/umoci</a></li>
|
||
</ul>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="code" data-block-id="ed7381b4016063c46e493d4d4e43fc00" style="min-width: 30px; min-height: 30px; width: 960px; height: 380px; left: 0px; top: 180px;"><div class="sl-block-content" data-highlight-theme="zenburn" style="z-index: 14;"><pre class="none groovy"><code>$ skopeo copy docker://opensuse/amd64:42.2 oci:opensuse:latest
|
||
Getting image source signatures
|
||
Copying blob sha256:b0d17859d0e6c32023637374cc2a58223f013758bf13b5b390e00f1c89556cb8
|
||
47.09 MB / 47.09 MB [=========================================================]
|
||
Copying config sha256:402d70d449419de6963c694b69af418d35a026ad14159e93da8ef9973db21605
|
||
0 B / 805 B [-----------------------------------------------------------------]
|
||
Writing manifest to image destination
|
||
Storing signatures
|
||
$ find ~/opensuse -type f
|
||
/home/vbatts/opensuse/blobs/sha256/ca2b806433c495ede5114aec2ffd567b43f084c60774346214b610f8ba0b8309
|
||
/home/vbatts/opensuse/blobs/sha256/402d70d449419de6963c694b69af418d35a026ad14159e93da8ef9973db21605
|
||
/home/vbatts/opensuse/blobs/sha256/b0d17859d0e6c32023637374cc2a58223f013758bf13b5b390e00f1c89556cb8
|
||
/home/vbatts/opensuse/refs/latest
|
||
/home/vbatts/opensuse/oci-layout</code></pre></div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 306px; left: 473px; top: 573px;" data-block-id="fb3f6f6f0d7ba453c3df52976cd9f4a9"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 15;">
|
||
<p> </p>
|
||
|
||
<ul>
|
||
<li><a href="https://github.com/opencontainers/image-tools" target="_blank">opencontainers/image-tools</a></li>
|
||
<li><a href="https://github.com/opencontainers/runtime-tools" target="_blank">opencontainers/runtime-tools</a></li>
|
||
</ul>
|
||
</div></div></section><section data-background-color="#f8af78" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="e2cf8c69319d76cabe53e994c7dd67bf">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 40px;" data-block-id="5bccd651dc35a48083df8f0970852338"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 10;">
|
||
<h3>What's next?</h3>
|
||
</div></div>
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" data-block-id="3f2297b505d0b2e421fa2c168f32c3ab" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 160px; top: 180px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
|
||
<p>Desktop applications will shape and mold (see f<a href="http://flatpak.org/" target="_blank">latpak.org</a>)</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="12a87caa5be56994ca82cbe82cd701cd" style="height: auto; min-width: 30px; min-height: 30px; width: 646px; left: 173px; top: 291px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;">
|
||
<p>Get used to not having root privileges (see <a href="https://github.com/projectatomic/bubblewrap" target="_blank">bubblewrap</a> and <a href="https://github.com/projectatomic/bwrap-oci" target="_blank">bwrap-oci</a>)</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 191px; top: 390px;" data-block-id="4d9b046d0e44500517dda15a96bd0059"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 14;">
|
||
<p>Get used to not having capabilities (see System Tap)</p>
|
||
</div></div></section><section data-background-color="#f8af78" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="35ed9c4244d555887c2701b682ba9bd3">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 40px;" data-block-id="e0fd8cdfe898cfb603d98cd783d37072"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 10;">
|
||
<h3>What's next?</h3>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 160px; top: 125px;" data-block-id="bc98773faa0c1a5dde3794556e4b6f1b"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;" data-fragment-index="0">
|
||
<p>Cloud Native application development (see <a href="https://www.cncf.io/" target="_blank">CNCF</a>)</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 240px; top: 195px;" data-block-id="8ce08c429959105894b8d1c0c6800825"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;" data-fragment-index="1">
|
||
<p>Rather than only shoving "legacy" code in new boxes</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 200px; top: 265px;" data-block-id="8189b09239bcb60904d01e31031f75bc"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;" data-fragment-index="2">
|
||
<p>Discoverable APIs (see <a href="https://www.openapis.org/" target="_blank">OpenAPIs</a>)</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 180px; top: 335px;" data-block-id="91ec0542597fbcc54a35ae4c38225ab2"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 14;" data-fragment-index="3">
|
||
<p>"Scheduled" functionality (see <a href="https://www.openshift.org/" target="_blank">OpenShift</a> and <a href="https://kubernetes.io/" target="_blank">Kubernetes</a>)</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 260px; top: 405px;" data-block-id="8367a3d300959ab67e250ce9824d2ef0"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 15;" data-fragment-index="4">
|
||
<p>intercommunication (see <a href="http://www.grpc.io/" target="_blank">gRPC</a>)</p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 217px; top: 475px;" data-block-id="7b8b38a16e51f9ac1a02d7b1efa3b7cd"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 16;" data-fragment-index="5">
|
||
<p>event and metric driven services</p>
|
||
</div></div></section><section data-background-color="#f08d24" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="b11846cc3b78285d592026a1c3354810">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 24px;" data-block-id="496f5785ea4e5271457340ac8e0b4949"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
|
||
<h2>Cloud</h2>
|
||
</div></div>
|
||
|
||
|
||
<div class="sl-block" data-block-type="image" data-block-id="b734495f6a47aed00e767ca6fc212b43" style="min-width: 30px; min-height: 30px; width: 568px; height: 319px; left: 152px; top: 217px;"><div class="sl-block-content" style="z-index: 12;"><img style="" data-natural-width="500" data-natural-height="281" data-src="containers-computing-and-change/64ef75dca16bff31cb46a23c074439aa.gif"></div></div>
|
||
<div class="sl-block" data-block-type="text" data-block-id="f9a472d1af9e8d75adbd9667eda9af65" style="height: auto; min-width: 30px; min-height: 30px; width: 194px; left: 760px; top: 630px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;">
|
||
<p><a href="https://m.popkey.co/8e4ec3/EjyED.gif" target="_blank">(Cite: the internet)</a></p>
|
||
</div></div></section><section data-background-color="#cc2114" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="0500ed26097305bbb5680ab53f95eeec">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 45px;" data-block-id="97436c4c0d1ba067955422ca1bfe3453"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 10;">
|
||
<h3>Shameless Plug</h3>
|
||
</div></div>
|
||
|
||
|
||
|
||
<div class="sl-block" data-block-type="text" data-block-id="5822686b7ae6b6e09dc941b30a7d7df9" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 160px; top: 140px;"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
|
||
<p><span style="font-size:1.6em">Red Hat is active in this area</span></p>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 240px; top: 239px;" data-block-id="30598622289f2848d1dcc9054634e2c8"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;">
|
||
<p><span style="font-size:1.2em">(both technology and proximity)</span></p>
|
||
</div></div></section><section data-background-color="#cc2114" data-background-image="containers-computing-and-change/60672f0849c5b758b11dc0905dc42c02.svg" data-id="f493b413871c1e2cc59b0016ba9f03db"><div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 180px; top: 491px;" data-block-id="b907e1a44da82b3a5f0e3af6097b2ebf"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 10;">
|
||
<h2 style="text-align: center;">Thanks!</h2>
|
||
</div></div>
|
||
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 800px; left: 80px; top: 294px;" data-block-id="ef51e9976de4838e5a1d814b1e95a71f"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;">
|
||
<h2 style="text-align:center">Vincent Batts</h2>
|
||
|
||
<h2 style="text-align:center">@vbatts| vbatts@redhat.com</h2>
|
||
</div></div></section>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
var SLConfig = {"deck": {"id":979359,"slug":"containers-computing-and-change","title":"Containers, Computing and Change","description":"","width":960,"height":700,"visibility":"self","published_at":null,"sanitize_messages":null,"thumbnail_url":"https://s3.amazonaws.com/media-p.slid.es/thumbnails/7ae9d61e49ea1c11a41e31bcc8d1e553/thumb.jpg","view_count":0,"user":{"id":352550,"username":"vbatts","name":"Vincent Batts","description":"","thumbnail_url":"https://www.gravatar.com/avatar/a76bbb02d3ce311820f53ef484c0f8bf?s=140\u0026d=https%3A%2F%2Fstatic.slid.es%2Fimages%2Fdefault-profile-picture.png","paid":true,"pro":true,"lite":false,"team_id":32,"settings":{"id":185974,"present_controls":true,"present_upsizing":true,"present_pointer":false,"present_notes":true,"default_deck_tag_id":null},"enterprise":true,"membership":{"role":"member","manager":false,"activated":true}},"background_transition":"none","transition":"none","theme_id":176,"theme_font":"overpass2","theme_color":"no-color","auto_slide_interval":0,"comments_enabled":true,"forking_enabled":false,"rolling_links":false,"center":false,"shuffle":null,"should_loop":false,"share_notes":false,"slide_number":false,"slide_count":15,"rtl":false,"version":2,"collaborative":false,"deck_user_editor_limit":1,"data_updated_at":1492120792542,"font_typekit":null,"font_google":null,"notes":{"b7d8b0e84f42a99bd85a74cb3f49f839":"","9a31d21232bc7b9c95cf55dea8c67528":"Ask the audience to shout out some words.\nBuild system? pushing images? Immutable runtime?","92f87b47321515efd469a6b7fdd0b7b8":"Packages? \nLike distributing file systems?\nOh my god no. We _solved_ that problem already.\n\nLet's stick all these packages in an even bigger package","59c48b37c55612e6adbe6fb049eeebd3":"","ade1d1532b65f5cd89c0534356bcd58a":"It's an all new API and model for networking.\nDifficult for outside plugins to maintain their own state.\nRequires libkv integration, likely needing another daemon to the infrastructure.","b5810a00d5ba26824cc9f8c7bdc560a0":"spec-first\nStaged approach for sandbox and exec\nDefines pod for groups of applications as a service","b99e1461d3f88260c9845321cab9a9a6":"","fe0b3035817b0010681e9dcb95645309":"","3c8420c074073c8d0600122a5add94ee":"tar archives!","36ce870c10e084014b7ba91b330f8250":"Ridiculous Contentions?\nAversion to being humble?\n\nIs this about being able to have a build of an image last forever? I sure hope not.\nBut your tooling and infrastructure ought not have pervasive churn with every upstream release. ","b40af9a3eee5d605371b2434fb4b6587":"","bb89c31aabf25cfcbe365755ec9d0300":"v1 is intended to be generally the infrastructure that many have already been working on.\nOnce we're all on the same open page, then we can continue improving the baseline together.\n\nEnsuring that a \"container integration\" done today, is not _completely_ broken on the next minor release of some tool. If a switch is needed, it ought not demand re-architecture.\n\nMaybe not tarballs foreva\nAnd now Brandon announces `quayctl` that can do bittorrent replication of container images. Amazing.","31d4a1253bc0e1e7824fa7dc00e15bde":"Is this really standardized?\n\nIsn't this what folks use config management for?","4ab0867b39a2610f7393f3c017096dba":"I welcome to hear any particular wishes now. or send them to the oci-dev mailing-list"}}};
|
||
|
||
SLConfig.theme = {"id":176,"created_at":"2014-05-27T12:38:16.183Z","updated_at":"2018-05-04T07:53:25.097Z","name":"Red Hat Corporate","thumbnail_url":"https://s3.amazonaws.com/media-p.slid.es/thumbnails/66755080be2b0c8c0146bfa70069ef16/thumb.jpg?1525420403","sanitize_messages":null,"slide_template_ids":[56706,56689,28642,36442,27160,26765,26762,56684,56696,56704,56703],"font_typekit":"","font_google":"","width":960,"height":700};
|
||
|
||
// Use local fonts
|
||
SLConfig.fonts_url = 'lib/fonts/';
|
||
</script>
|
||
|
||
<script src="lib/head.min.js"></script>
|
||
<script src="lib/reveal.min.js"></script>
|
||
<script src="lib/offline.js"></script>
|
||
|
||
<!-- Initialize the presentation -->
|
||
<script>
|
||
Reveal.initialize({
|
||
width: 960,
|
||
height: 700,
|
||
margin: 0.05,
|
||
|
||
controls: true,
|
||
progress: true,
|
||
history: true,
|
||
mouseWheel: false,
|
||
showNotes: false,
|
||
slideNumber: false,
|
||
|
||
autoSlide: 0 || 0,
|
||
autoSlideStoppable: true,
|
||
|
||
center: false,
|
||
shuffle: false,
|
||
loop: false,
|
||
rtl: false,
|
||
|
||
transition: "none",
|
||
backgroundTransition: "none",
|
||
|
||
dependencies: [
|
||
{ src: 'lib/reveal-plugins/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
||
{ src: 'lib/reveal-plugins/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
||
{ src: 'lib/reveal-plugins/highlight/highlight.js', async: true, callback: function() { hljs.initHighlighting(); hljs.initHighlightingOnLoad(); } },
|
||
{ src: 'lib/reveal-plugins/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } },
|
||
{ src: 'lib/reveal-plugins/zoom/zoom.js', async: true }
|
||
]
|
||
});
|
||
</script>
|
||
|
||
|
||
<script id="theme-js-output" type="text/javascript">var themeHTMLOutput = document.getElementById('theme-html-output');
|
||
if( themeHTMLOutput ) {
|
||
themeHTMLOutput.innerHTML = '<link rel="stylesheet" href="https://overpassmonotest-30e2.kxcdn.com/overpass-mono.css" />';
|
||
}
|
||
|
||
// (function() {
|
||
//
|
||
// var slidesInitInterval = setInterval( function() {
|
||
// if( window.SL && window.SL.view ) {
|
||
// // If we're in the editor, wait for the Blocks controller
|
||
// // to be initialized
|
||
// if( SL.editor ) {
|
||
//
|
||
// if( SL.editor.controllers && SL.editor.controllers.Blocks && SL.editor.controllers.Blocks.textSaved ) {
|
||
// SL.editor.controllers.Blocks.textSaved.add( function( element ) {
|
||
// var html = element.html();
|
||
// html = html.replace( /(@RedHat | @redhat)/g, '@redhat' );
|
||
// html = html.replace( 'redhat.com', 'redhat.com' );
|
||
// html = html.replace( /(Red Hat|red hat|RedHat|Red hat|Redhat|redHat|red Hat)/g, '<span class="name">Red Hat</span>' );
|
||
// html = html.replace( /( redhat |redhat )/g, ' <span class="name">Red Hat</span> ' );
|
||
// html = html.replace( 'REDHAT', '<span class="name">RED HAT</span>' );
|
||
// html = html.replace( 'redhat<', '<span class="name">Red Hat</span><' );
|
||
// html = html.replace( 'openshift', '<span class="name">OpenShift</span>' );
|
||
// html = html.replace( '<span class="name"><span class="name">Red Hat</span></span>', '<span class="name">Red Hat</span>' );
|
||
// html = html.replace( 'redhat.com', 'redhat.com' );
|
||
// html = html.replace( 'REDHAT.COM', 'REDHAT.COM' );
|
||
// html = html.replace( '@redhat', '@redhat' );
|
||
// html = html.replace( /(@RedHatNews | @redhatnews)/g, '@RedHatNews' );
|
||
// html = html.replace( /(@RedHat | @redhat)/g, '@RedHatInc' );
|
||
// html = html.replace( /(RHEL-OSP|RHELOSP|Red Hat Enterprise Linux OpenStack Platform)/g, 'Red Hat OpenStack Platform' );
|
||
// html = html.replace( /(openstack |openstack|open stack|openStack|Openstack)/g, 'OpenStack' );
|
||
// html = html.replace( 'openstack', 'OpenStack' );
|
||
// html = html.replace( 'openstack<', 'OpenStack<' );
|
||
//
|
||
// element.html( html );
|
||
// } );
|
||
//
|
||
// clearInterval( slidesInitInterval );
|
||
// }
|
||
//
|
||
// }
|
||
// else {
|
||
// clearInterval( slidesInitInterval );
|
||
// }
|
||
// }
|
||
// }, 500 );
|
||
//
|
||
// })();
|
||
|
||
|
||
|
||
// piwik script
|
||
var _paq = _paq || [];
|
||
_paq.push(["trackPageView"]);
|
||
_paq.push(["enableLinkTracking"]);
|
||
|
||
(function() {
|
||
var u = (("https:" == document.location.protocol) ? "https" : "http") +
|
||
"://engstats.redhat.com/piwik/";
|
||
_paq.push(["setTrackerUrl", u+"piwik.php"]);
|
||
_paq.push(["setSiteId", "8"]);
|
||
var d=document, g=d.createElement("script"),
|
||
s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
|
||
g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
|
||
})();
|
||
|
||
|
||
|
||
|
||
function sliceString(selector) {
|
||
var elements = document.getElementsByClassName(selector);
|
||
|
||
|
||
for (var h=0; h<elements.length; h++){
|
||
var string = elements[h].innerText,
|
||
total = string.length,
|
||
div = '';
|
||
|
||
// futile attempt to clean space
|
||
var string = elements[h].innerText.trim();
|
||
|
||
for (var i=0; i<total; i++) {
|
||
var letter = string.charAt(i);
|
||
div+= '<span class="'+letter+'">'+letter+'</span>';
|
||
}
|
||
elements[h].innerHTML = div;
|
||
}
|
||
}
|
||
sliceString('lettering');
|
||
sliceString('lettering'); //no rogue spaces when fired twice for some reason
|
||
|
||
|
||
|
||
// function sliceString(selector) {
|
||
// if (!document.querySelector) return;
|
||
// var string = document.querySelector(selector).innerText,
|
||
// total = string.length,
|
||
// html = '';
|
||
// for (var i=0; i<total; i++) {
|
||
// var letter = string.charAt(i);
|
||
// html+= '<span class="'+letter+'">'+letter+'</span>';
|
||
// }
|
||
// document.querySelector(selector).innerHTML = html;
|
||
//}
|
||
//sliceString('.lettering');</script>
|
||
|
||
</body>
|
||
</html>
|