1
0
Fork 0
mirror of https://github.com/vbatts/talks.git synced 2024-12-26 08:36:31 +00:00
talks/2016/09-whats_next_for_containers/index.html

2119 lines
70 KiB
HTML
Raw Normal View History

<!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>Whats next for containers?</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="#079cd5" data-id="f578020bea69fec6a593f086f93c7452"><div data-block-id="37ff92110d5260fbb6d73ae7a03eb7c2" class="sl-block" data-block-type="text" style="width: 800px; left: 80px; top: 250px; height: auto;"><div style="z-index: 10;" class="sl-block-content" data-placeholder-tag="h1" data-placeholder-text="Title Text">
<h1>What's Next</h1>
<h1>For Containers</h1>
</div></div>
<div data-block-id="d38a6cf93cf1850360e049623f26ca1b" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 200px; top: 475px;" data-block-type="text" class="sl-block"><div style="z-index: 12;" data-placeholder-text="Text" data-placeholder-tag="p" class="sl-block-content">
<p>Vincent Batts (vbatts)</p>
</div></div></section><section data-id="2587bca6e27e0459bf4b2723f0dbe359" data-background-color="#079cd5" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg"><div class="sl-block" data-block-type="code" style="min-width: 30px; min-height: 30px; width: 635px; height: 300px; left: 163px; top: 120px;" data-block-id="6e07ae198e2068bea79895b46fb4b2e2"><div class="sl-block-content" style="z-index: 11;"><pre class="bash"><code>$&gt; finger $(whoami)
Login: vbatts Name: Vincent Batts
Directory: /home/vbatts Shell: /bin/bash
Such mail.
Plan:
OHMAN
$&gt; id -Gn
devel opencontainers docker appc redhat golang slackware</code></pre></div></div></section><section data-background-color="#6ec1e3" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="a27bc586ebe2bdc0dcd7d7d0010de4f3"><div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 46px; top: 120px;" data-block-id="01fc9f71aa8afef958bb13413cc3860f"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;" dir="ui"><p><span style="font-size:1.6em">Get Past the Hype</span></p></div></div>
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 120px; top: 190px;" data-block-id="dda3b6de341667dbecd8badbaaef8b8b"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;" dir="ui" data-fragment-index="0">
<p><span style="font-size:1.6em">Make Containers Boring</span></p>
</div></div>
<div class="sl-block" data-block-type="image" style="min-width: 30px; min-height: 30px; width: 486px; height: 203.721px; left: 283px; top: 318px;" data-block-id="1811fa3f92a191ec5a0240e20d96bf99"><div class="sl-block-content fragment" style="z-index: 13;" data-fragment-index="1"><img data-natural-width="365" data-natural-height="153" data-lazy-loaded="" data-src="let-s-make-containers-boring-10/84e6ddbe805664d194775b25510ba889.gif"></div></div></section><section data-background-color="#b6e7f5" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="bc6da7bf30f133452a208c1eaf3ecd91"><div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 46px; top: 120px;" data-block-id="44a27a8aea6d4b290ce3726214279994"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 10;" dir="ui">
<p><span style="font-size:32px">Common Interfaces</span></p>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 80px; top: 210px;" data-block-id="6fc4f2cc047d172be785d9a8a0efc03e"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;" data-fragment-index="0">
<p>Standards</p>
<ul>
<li>OpenContainers (OCI) <a href="https://github.com/opencontainers/runtime-spec" target="_blank">runtime</a> and <a href="http://github.com/opencontainers/image-spec" target="_blank">image</a> specification</li>
<li><a href="https://cncf.io/" target="_blank">Cloud Native Compute Foundation (CNCF)</a></li>
<li>
<a href="https://github.com/containernetworking/cni" target="_blank">Container Network Interface (CNI)</a> </li>
</ul>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 80px; top: 350px;" data-block-id="0c3f2bf328d95c1886e954ec83bd3f2c"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;" data-fragment-index="0">
<p>Interface</p>
<ul>
<li><a href="https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/container-runtime-interface-v1.md" target="_blank">Kubernetes Container Runtime Interface (CRI)</a></li>
</ul>
</div></div></section><section class="stack" data-id="296f5492de71921cdcc9101bc181b8a2"><section data-background-color="#d6f1fa" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="f8c611373ef67e5d3326289d7979e78c"><div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 46px; top: 120px;" data-block-id="9c452bce859ef147c29caaff121225e3"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;" dir="ui">
<p><span style="font-size:32px">What is needed next?</span></p>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 160px; top: 210px;" data-block-id="441489365496ecd365e62c0b701d382b"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;">
<ul>
<li><span style="font-size:1.2em">Unified plumbing</span></li>
<li><span style="font-size:1.2em">Discoverable</span></li>
<li><span style="font-size:24px">UX</span></li>
</ul>
</div></div></section><section data-background-color="#d6f1fa" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="d907a15dea82c41732b4e9b4b8a569f1"><div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 180px; top: 280px;" data-block-id="f94b495baf782eb27f41f6133115c524"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;" dir="ui">
<pre style="text-align: center;"><span style="font-size:1.2em">“Getting your chi right with systemd”
Then it all makes sense</span></pre>
</div></div>
</section><section data-background-color="#d6f1fa" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="f7d8268af84b7dacb16f8d6297b18464"><div class="sl-block" data-block-type="text" style="height: auto; width: 892px; left: 34px; top: 252px;" data-block-id="0fb59c297d9886a9c74abac2072cae93"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 10;" dir="ui">
<ul>
<li class="fragment" data-fragment-index="0">
<pre>systemd-nspawn -M httpd bash</pre>
</li>
<li class="fragment" data-fragment-index="1">
<pre>machinectl start httpd</pre>
</li>
<li class="fragment" data-fragment-index="2">
<pre>systemctl start systemd-nspawn@httpd.service</pre>
</li>
<li class="fragment" data-fragment-index="3">
<pre>systemd-run -M httpd /usr/bin/tail -f /dev/null</pre>
<ul>
<li>
<p>(has to be an already running container)</p>
</li>
<li>
<pre>machinectl shell httpd /usr/bin/systemctl status run-u69.service</pre>
</li>
</ul>
</li>
</ul>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 46px; top: 120px;" data-block-id="26d6793dcbe2b9a61b6b5380b6d4f29e"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;" dir="ui">
<p><span style="font-size:32px">Let's start a container</span></p>
</div></div></section><section data-background-color="#d6f1fa" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="9c25060f3896ce1a78c6fc73f0d17302"><div class="sl-block" data-block-type="text" style="height: auto; width: 892px; left: 34px; top: 252px;" data-block-id="cbeddf1d86255ae15bf98e0ea8352f7d"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;" dir="ui">
<ul>
<li class="fragment" data-fragment-index="0">
<pre>machinectl status httpd</pre>
</li>
<li class="fragment" data-fragment-index="1">
<pre>systemctl status systemd-nspawn@httpd.service</pre>
</li>
</ul>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 180px; top: 405px;" data-block-id="755250e75ed3b34700dbcade77f1803b"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;" data-fragment-index="2">
<p style="text-align: center;">Different views/properties for the same service</p>
</div></div></section><section data-background-color="#d6f1fa" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="9aeb02010f4767daa45dd9e352ec2e1c">
<div class="sl-block" data-block-type="text" style="height: auto; width: 892px; left: 26px; top: 178px;" data-block-id="1367dc9dff4fd146613a96d892636458"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;" dir="ui">
<pre>/etc/systemd || /usr/lib/systemd</pre>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 160px; top: 405px;" data-block-id="44b40d9d9328dda2b28011462d105b59"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;">
<ul>
<li class="fragment" data-fragment-index="4">
<pre>systemd.nspawn(5)</pre>
</li>
<li class="fragment" data-fragment-index="5">
<pre>systemd.network(5)</pre>
</li>
<li class="fragment" data-fragment-index="6">
<pre>systemd.resource-control(5)</pre>
</li>
<li class="fragment" data-fragment-index="7">
<pre>systemd.directives(7)</pre>
</li>
</ul>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 780px; left: 20px; top: 210px;" data-block-id="e3b7833a5c09d6c1d048b3104aabcb54"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;">
<ul>
<li class="fragment" data-fragment-index="0">
<pre>./nspawn/https.nspawn</pre>
</li>
<li class="fragment" data-fragment-index="1">
<pre>./system/systemd-nspawn@httpd.service.d/50-Memory.conf</pre>
</li>
<li class="fragment" data-fragment-index="2">
<pre>./system/lamp-stack.slice</pre>
</li>
<li class="fragment" data-fragment-index="3">
<pre>./system/machines.target.wants/systemd-nspawn@httpd.service</pre>
</li>
</ul>
</div></div></section><section data-background-color="#d6f1fa" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="78585055ba8c568e3fcfd0c0117bd642">
<div class="sl-block" data-block-type="text" style="height: auto; width: 892px; left: 26px; top: 178px;" data-block-id="38307ca047e9d5e23adc66e13a50d199"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;" dir="ui">
<pre>/etc/systemd/user || /home/$USER/.config/systemd/user</pre>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 80px; top: 280px;" data-block-id="a9418d115a49b46fe194f7d5f5da9107"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;" data-fragment-index="0">
<p><span style="font-size:1.2em">Next?</span></p>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 180px; top: 335px;" data-block-id="7245c67bf8f202a12c0e9598ef45a0a4"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;" data-fragment-index="0">
<ul>
<li>Limited user service containers</li>
<li>bwrap@.service ?</li>
<li>Different from user namespaced nspawn containers</li>
</ul>
</div></div></section></section><section class="stack" data-id="74dc132775ac5f41dba857b9109b56a0"><section data-background-color="#bed9b3" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="ac3d8f09236a0d4ab624219c52f4e76b">
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 80px; top: 110px;" data-block-id="c8a3800577866e52db96a9a5f320bf43"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
<h3>Other Points:</h3>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 160px; top: 210px;" data-block-id="d53f06c1d160136b15a03e31340f5ba8"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;">
<pre>Pulling from OpenContainers image
It's in the same vein as portable services</pre>
</div></div></section><section data-background-color="#bed9b3" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="f3e79b1aa1dfca9127f46d92685424a3">
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 110px;" data-block-id="6508eb2e84d5eca83eaa202883ce339f"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 10;">
<h3>Other Points:</h3>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; width: 681px; left: 119px; top: 250px;" data-block-id="3508ea5a219f2eb8744e04af931af67c"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
<pre>Really glad to see `--network-zone=&lt;NAME&gt;` in v230</pre>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; width: 681px; left: 119px; top: 344px;" data-block-id="f8497d4c8a45b47eea1e79621dd2bdf9"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;">
<pre>Would be nice if `--port` could expose to localhost</pre>
</div></div></section><section data-background-color="#bed9b3" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="37a815472d263693f28dede64c8706b6">
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 110px;" data-block-id="dad49d07021705c32802ef923b8be6ed"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
<h3>Other Points:</h3>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 814px; left: 80px; top: 210px;" data-block-id="e03e27646b66e3d067b460215bbea860"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;" dir="ui"><pre>User namespaces. Cool and Crazy, but VFS needs to be <em>right</em> <br>(without `chown -R `)
<br>overlayfs == copy up<br>
UID/GID shift.
<a href="https://github.com/systemd/systemd/issues/2404" target="_blank">https://github.com/systemd/systemd/issues/2404</a>
<a href="https://lkml.org/lkml/2016/5/4/411" target="_blank">https://lkml.org/lkml/2016/5/4/411</a>
Current iteration: <a href="https://lkml.org/lkml/2016/5/12/655" target="_blank">https://lkml.org/lkml/2016/5/12/655</a>
Not looking like its issues will get sorted out any time soon.</pre></div></div></section><section data-background-color="#bed9b3" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="b4311770985df18ba225c24074748813">
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 110px;" data-block-id="34e53523e3ec4fca63879350ebae5362"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
<h3>Other Points:</h3>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; width: 814px; left: 80px; top: 210px;" data-block-id="fb95e690456d63e65cab829d3ad1b7ce"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;" dir="ui">
<pre>cgroup namespace + limited user containers</pre>
<p> </p>
<p>currently requires a privileged helper to provide ownership for the pid</p>
<p> </p>
<p>Aleksa Sarai (SUSE) is on v10 of patchset on LKML</p>
</div></div></section><section data-background-color="#bed9b3" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="412dfa095aae2df8cfd9efdd89740119">
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 80px; top: 110px;" data-block-id="1b0a72e8cf619f684f968ac508f1451e"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
<h3>Other Points:</h3>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 816px; left: 80px; top: 281px;" data-block-id="1dc76935c663c17a408287b63af854fc"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 12;">
<pre>`machinectl login &lt;name&gt;` is still blocked by selinux on fedora
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1310464" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1310464</a></pre>
<p> </p>
<p>(the 4 prior BZs were closed as WONTFIX or because EOL)</p>
</div></div></section></section><section data-background-color="#a4cb92" data-background-image="let-s-make-containers-boring-10/90253bef29aa6cf3d220ad379dc57d8c.svg" data-id="53351a5f906376c8708398dc25711079"><div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 54px; top: 169px;" data-block-id="997abab638815010987fb0a1be14b099"><div class="sl-block-content fragment" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 10;" dir="ui" data-fragment-index="0">
<p><span style="font-size:32px">Thanks!</span></p>
</div></div>
<div class="sl-block" data-block-type="image" style="min-width: 30px; min-height: 30px; width: 360px; height: 333.409px; left: 300px; top: 236px;" data-block-id="a32ebf7820968e70c4a3d4ce2d0c2982"><div class="sl-block-content fragment" style="z-index: 12;" data-fragment-index="0"><img data-natural-width="352" data-natural-height="326" data-lazy-loaded="" data-src="let-s-make-containers-boring-10/e205b50cd19c36e45048cd51a314ae7f.gif"></div></div>
<div class="sl-block" data-block-type="text" style="height: auto; width: 600px; left: 40px; top: 120px;" data-block-id="860244bd56cdf1f14b14909f238d8ea2"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 13;" dir="ui">
<p><span style="font-size:32px">Questions?</span></p>
</div></div></section>
</div>
</div>
<script>
var SLConfig = {"deck": {"id":813888,"slug":"let-s-make-containers-boring-10","title":"Whats next for containers?","description":"","width":960,"height":700,"visibility":"self","published_at":null,"sanitize_messages":null,"thumbnail_url":"https://s3.amazonaws.com/media-p.slid.es/thumbnails/c6b5226357dc3abf72dccb017ea8c01a/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":null,"slide_number":null,"slide_count":18,"rtl":false,"version":2,"collaborative":false,"deck_user_editor_limit":1,"data_updated_at":1510757111346,"font_typekit":null,"font_google":null,"notes":{"f8c611373ef67e5d3326289d7979e78c":"dbus-http (https://github.com/larskarlitski/dbus-http) is a great step, but the DBUS interface is not all-inclusive.","ac3d8f09236a0d4ab624219c52f4e76b":"mounting an image on loopback is clever, but not ideal and likely to expose kernel differences from the image creator and consumer.\nRead-only? Overlayfs? copy-up?\n\nunlike --pull-dkr, this is a versioned metadata and layout.\n\nTar Archives are awful, but this is the reason folks still use them."}}};
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>