Skip to content

Instantly share code, notes, and snippets.

@ewarchul
Forked from ryanj/gist-reveal.it-slides.html
Last active May 28, 2020 15:45
Show Gist options
  • Select an option

  • Save ewarchul/bd2ca3b07b38ceea740cd8aac1ce2ad9 to your computer and use it in GitHub Desktop.

Select an option

Save ewarchul/bd2ca3b07b38ceea740cd8aac1ce2ad9 to your computer and use it in GitHub Desktop.

Revisions

  1. Eryk Warchulski revised this gist May 28, 2020. 1 changed file with 529 additions and 104 deletions.
    633 changes: 529 additions & 104 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -1,107 +1,532 @@
    <section data-background-transition='zoom' data-transition='concave' data-background='http://ryanjarvinen.com/presentations/shared/img/broadcast_reveal_dark.png' data-state='blackout'>
    <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <br/>
    <h1 class='fragment grow'><a style='color:deepskyblue;' href='http://gist-reveal.it'>gist-reveal.it</a></h1>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
    <p>Create your own deck by forking a copy of <a href='https://gist.github.com/ryanj/af84d40e58c5c2a908dd'>this github gist</a>: <br /><a href='https://gist.github.com/ryanj/af84d40e58c5c2a908dd'>https://gist.github.com/ryanj/af84d40e58c5c2a908dd</a></p>
    <p>Or, by placing any valid Revealjs <a href="#sections">&lt;section&gt;</a> tag content into a fresh gist.</p>
    <br />
    <p class='fragment'>When you're ready to view your slides, grab your github gist id and add it to the end of this url:</p>
    <p class='fragment grow'><a href='http://gist-reveal.it/'>http://gist-reveal.it/YOUR_GIST_ID_HERE</a></p>
    </section>
    <section data-transition='concave'>
    <section data-transition='concave'>
    <h2>Presentations on the Open Web</h2>
    <p><span class='fragment'>Reveal.js is a framework</spam><br/><span class='fragment'>for easily crafting</span> <br/><span class='fragment'>beautiful presentations</span><br/> <span class='fragment'>in HTML</span> <br/><br/><div class='fragment'><p>You'll need a browser with support for CSS 3D transforms to see it's full capabilities.</p>
    <aside class="notes">Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard).</aside>
    </section>
    <section>
    <h2>Tips on using Reveal.js</h2>
    <p class='fragment'>There is a lot of great information about using Reveal.js in the project's <a href='http://github.com/hakimel/reveal.js'>README page on GitHub</a>.</p>
    <p class='fragment'>Their <a href='http://lab.hakim.se/reveal-js/'>original slide deck sample conent</a> also contains a lot of great examples.</p>
    </section>
    <section id='themes' data-markdown>
    ## Gist-powered Slideshow Themes
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Prezentacja algorytmy ewolucyjne</title>
    <meta name="description" content="Prezentacja na seminarium dyplomowe">
    <meta name="author" content="Eryk Warchulski">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="dist/reset.css">
    <link rel="stylesheet" href="dist/reveal.css">
    <link rel="stylesheet" href="dist/theme/serif.css" id="theme">
    <!-- Theme used for syntax highlighting of code -->
    <link rel="stylesheet" href="plugin/highlight/monokai.css" id="highlight-theme">
    </head>
    <body>
    <div class="reveal">
    <div class="slides">
    <section>
    <h3>Modyfikacja reguły adaptacji macierzy kowariancji w strategiach ewolucyjnych</h3>
    <p>
    <h4><br>Eryk Warchulski</h4>
    </p>
    <p>
    <small>Praca realizowana pod opieką <br> prof. PW dr hab. inż. Jarosława Arabasa</small>
    </p>
    </section>
    <section>
    <p style="text-align:left;"><h2>Plan prezentacji:</h2></p>
    <ol>
    <li>Optymalizacja</li>
    <li>Strategie ewolucyjne</li>
    <li>Adaptacja rozkładu</li>
    <li>Ścieżka ewolucyjna oraz macierz kowariancji</li>
    <li>Trudności z realizacją</li>
    <li>Rozwiązania stosowane dotychczas</li>
    <li>Idea realizowana w pracy </li>
    <li>Weryfikacja</li>
    <li>Dalsze plany</li>
    <li>Bibliografia</li>
    </ol>
    </section>
    <section>
    <p style="text-align:center;">
    Optymalizacja
    </p>
    </section>
    <section>
    <p style="text-align:left;">
    Na problem optymalizacji statycznej składa się:
    </p>
    <br>
    <ul>
    <li> funkcja celu <br> $f\colon X \rightarrow Y$ <br> </li>
    </ul>
    </section>
    <section>
    <p style="text-align:left;">
    Na problem optymalizacji statycznej składa się:
    </p>
    <br>
    <ul>
    <li> funkcja celu <br> $f\colon X \rightarrow Y$ <br> </li>
    <li> algorytm optymalizacyjny <br> $A\left(\textbf{x}_{\small{0}}, f, \mathcal{P}\right)$ </li>
    </ul>
    </section>
    <section>
    <p style="text-align:left;">
    Na problem optymalizacji statycznej składa się:
    </p>
    <br>
    <ul>
    <li> funkcja celu <br> $f\colon X \rightarrow Y$ <br> </li>
    <li> algorytm optymalizacyjny <br> $A\left(\textbf{x}_{\small{0}}, f, \mathcal{P}\right)$ </li>
    </ul>
    <br>
    <br>
    \[ \small{\min_{x \in X}} \; \large{f}(\textbf{x}) \]
    </section>
    <section>
    <p style="text-align:left;">
    Gdzie można spotkać problemy statycznej optymalizacyjne?
    </p>
    <ul>
    <li> Uczenie ze wzmocnieniem </li>
    </ul>
    <br>
    <br>
    </section>
    <section>
    <p style="text-align:left;">
    Gdzie można spotkać problemy statycznej optymalizacyjne?
    </p>
    <ul>
    <li> Uczenie ze wzmocnieniem </li>
    <li> Konstrukcja modeli parametrycznych </li>
    </ul>
    <br>
    <br>
    </section>
    <section>
    <p style="text-align:left;">
    Gdzie można spotkać problemy statycznej optymalizacyjne?
    </p>
    <ul>
    <li> Uczenie ze wzmocnieniem </li>
    <li> Konstrukcja modeli parametrycznych </li>
    <li> Procesy technologiczne </li>
    </ul>
    <br>
    <br>
    </section>
    <section>
    Strategie ewolucyjne
    </section>
    <section>
    <p style="text-align:left;">
    Paradygmat wśród obliczeń ewolucyjnych (ang. evolutionary computation) poświęcony optymalizacji w przestrzeni rzeczywistoliczbowej.
    </p>
    <br>
    <br>
    </section>
    <section>
    <p style="text-align:left;">
    Paradygmat wśród obliczeń ewolucyjnych (ang. evolutionary computation) poświęcony optymalizacji w przestrzeni rzeczywistoliczbowej.
    </p>
    $ X \equiv R^{n} $
    <br>
    $ Y \equiv R^{m} $
    <br>
    $x_{\small{0}} \equiv \big\{x_{i}\big\}_{i \in 1\dots\lambda}$
    </section>
    <section>
    <p style="text-align:left;">
    Paradygmat wśród obliczeń ewolucyjnych (ang. evolutionary computation) poświęcony optymalizacji w przestrzeni rzeczywistoliczbowej.
    </p>
    $ X \equiv R^{n} $
    <br>
    $ Y \equiv R^{m} $
    <br>
    $x_{\small{0}} \equiv \big\{x_{i}\big\}_{i \in 1\dots\lambda}$
    <br>
    <p style="text-align:left;">
    Najczęsciej algorytmy z tej rodziny poświęcone są optymalizacji jednokryterialnej, tj. $m = 1$.
    </p>
    <br>
    </section>
    <section>
    <p style="text-align:left;">
    Często algorytmy strategii ewolucyjnych nazywane są algorytmami ostatniej szansy.
    </p>
    </section>
    <section>
    <img src="klee-minty.svg" height="390" width="900"/>
    Rys. sześcian Klee-Minty'ego.
    </section>
    <section data-markdown>
    <textarea data-template>
    ### (1+1)-ES
    #### [I. Rechenberg, H. Schwefel, 1970]

    Available CSS themes include [the default reveal.js themes](http://lab.hakim.se/reveal-js/#/themes), but can be easily extended by storing new themes [in a gist](https://gist.github.com/450836bbaebcf4c4ae08b331343a7886):
    ```Haskell [1|4|5|6|7-8|10-11]
    ustaw m(0), σ(0), α, β
    t = 0
    repeat
    z(t) ~ N(0, I)
    x(t) = m(t) + σ(t)*z(t)
    if f[m(t)] ≥ f[x(t)] then
    m(t+1) = x(t)
    σ(t+1) = σ(t)*exp(α)
    else
    m(t+1) = m(t)
    σ(t+1) = σ(t)*exp(β)
    t = t + 1
    ```
    </textarea>
    </code></pre>
    </section>
    <section>
    Adaptacja rozkładu
    </section>
    <section>
    <p style="text-align:left;">
    Na przestrzeni lat wprowadzano pewne
    usprawnienia algorytmu dotyczące:
    </p>
    <ul>
    </ul>
    <p style="text-align:left;">
    </p>
    </section>
    <section>
    <p style="text-align:left;">
    Na przestrzeni lat wprowadzano pewne
    usprawnienia algorytmu dotyczące:
    </p>
    <ul>
    <li> polityki sterowania zasięgiem mutacji $\sigma$ </li>
    </ul>
    <p style="text-align:left;">
    </p>
    </section>

    * [a theme from the CoreOS team](?theme=450836bbaebcf4c4ae08b331343a7886#/themes)
    * [a theme for OpenShift fans](?theme=60e54843de11a545897e#/themes)
    * [the revealjs black theme](?theme=black#/themes)
    * [the revealjs simple theme](?theme=simple#/themes)
    * [the revealjs league theme](?theme=default#/themes)
    * [the revealjs sky theme](?theme=sky#/themes)
    <section>
    <p style="text-align:left;">
    Na przestrzeni lat wprowadzano pewne
    usprawnienia algorytmu dotyczące:
    </p>
    <ul>
    <li> polityki sterowania zasięgiem mutacji $\sigma$ </li>
    <li> zwiększania rozmiaru populacji bazowej oraz potomnej </li>
    </ul>
    <p style="text-align:left;">
    </p>
    </section>

    Conference organizers can host their own modified gist-reveal templating service (with it's own default theme), to provide a consistent look for all presentations at an event.
    </section>
    </section>
    <section>
    <section id='kubernetes'>
    <h3>Host your own slideshow service on Kubernetes</h3>
    <p>To create a kubernetes deployment and NodePort service, both named gist-reveal, run:</p>
    <pre><code contenteditable>kubectl run gist-reveal --image=ryanj/gist-reveal \
    --expose --port=8080 --service-overrides='{ "spec": { "type": "NodePort" } }' \
    --env="DEFAULT_GIST=YOUR_DEFAULT_GIST_ID" \
    --env="GH_CLIENT_SECRET=YOUR_GH_CLIENT_SECRET" \
    --env="GH_CLIENT_ID=YOUR_GH_CLIENT_ID" \
    --env="REVEAL_SOCKET_SECRET=0P3N-S0URC3" \
    --env="GA_TRACKER=YOUR_GA_TRACKER"</code></pre>
    <div class='fragment'><p>Minikube users should be able to open the new service in their browser by running:</p>
    <pre class='fragment'><code contenteditable>minikube service gist-reveal</code></pre></div>
    </section>
    <section>
    <h3>Host your own slideshow index with Docker</h3>
    <p class='fragment'>Start up a local development server on port 8080:</p>
    <pre class='fragment'><code contenteditable>docker run ryanj/gist-reveal</code></pre>
    <p class='fragment'>For production, I like to daemonize the process, configure a default gist_id, and make the container available on port 80:</p>
    <pre class='fragment'><code contenteditable>docker run -d -p 80:8080 -e "DEFAULT_GIST=af84d40e58c5c2a908dd" ryanj/gist-reveal</code></pre>
    </section>
    <section>
    <h3>GITHUB API RATE LIMITS</h3>
    <p class='fragment'>Include your own GitHub application keys if you plan on making more than 60 requests in 2 hours:</p>
    <pre class='fragment'><code contenteditable>docker run -e "GH_CLIENT_SECRET=11becbb840e0ff7414b19104e9e797556498fc3f" -e "GH_CLIENT_ID=639ffe9fd9dcc4f6eb4b" ryanj/gist-reveal</code></pre>
    </section>
    <section>
    <h3>Built-in Analytics</h3>
    <p class='fragment'>Include your own GA-TRACKER key:</p>
    <pre class='fragment'><code contenteditable>docker run -e "GA_TRACKER=UA-12345678" ryanj/gist-reveal</code></pre>
    </section>
    <!--
    <section id='openshift'>
    <h3>Hosting on OpenShift</h3>
    <p>You can launch this application on OpenShift in a single command:</p>
    <pre class='fragment'><code contenteditable>rhc app create gistreveal nodejs-0.10 \
    --from code=http://github.com/ryanj/gist-reveal \
    DEFAULT_GIST=YOUR_DEFAULT_GIST_ID \
    GH_CLIENT_SECRET=YOUR_GH_CLIENT_SECRET \
    GH_CLIENT_ID=YOUR_GH_CLIENT_ID \
    REVEAL_SOCKET_SECRET=0P3N-S0URC3 \
    GA_TRACKER=YOUR_GA_TRACKER</code></pre>
    <p class='fragment'>Or, <a href="https://openshift.redhat.com/app/console/application_types/custom?name=reveal&initial_git_url=https%3A%2F%2Fgithub.com/ryanj/gist-reveal.git&cartridges[]=nodejs-0.10">click here to launch on the web!</a></p>
    <p class='fragment'>Then, use the <code>rhc env set</code> command to publish your application config and keys to the system environment.</p>
    </section>
    -->
    </section>
    <section data-transition='concave'>
    <section>
    <h2>Broadcasting Your Slide Transitions</h2><h1 class='fragment grow'>with Socket.IO</h1>
    <pre class='fragment'><code contenteditable>docker run -e "REVEAL_SOCKET_SECRET=0P3N-S0URC3" ryanj/gist-reveal</code></pre>
    <p>Configure your browser as a presentation device by setting the same key in your browser's localStorage</p>
    <pre class='fragment'><code contenteditable>localStorage.secret="YOUR_SECRET_KEY"</code></pre>
    </section>
    <section data-transition='zoom' data-background-transition='zoom'>
    <p>Be sure to use two different devices or brower types when testing your broadcasting relay<br/> <span class='fragment'>(FireFox vs. Chrome, desktop vs. mobile, etc.)</span></p>
    </section>
    </section>
    <section>
    <h1>THE END</h1>
    <h3>Revaljs by Hakim El Hattab / hakim.se</h3>
    <h3><a href="http://gist-reveal.it">gist-reveal</a> by <a href="http://twitter.com/ryanj/">ryanj</a> and <a href="https://github.com/fkautz">fkautz</a></h3>
    <br/>
    <p><small><a style='font-weight:bold;color:deepskyblue;' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a style='font-weight:bold;color:deepskyblue;' href='https://hub.docker.com/r/ryanj/gist-reveal/'>hub.docker.com/r/ryanj/gist-reveal</a></small></p>
    </section>
    <section>
    <p style="text-align:left;">
    Na przestrzeni lat wprowadzano pewne
    usprawnienia algorytmu dotyczące:
    </p>
    <ul>
    <li> polityki sterowania zasięgiem mutacji $\sigma$ </li>
    <li> zwiększania rozmiaru populacji bazowej oraz potomnej </li>
    <li> sposobu rekombinacji osobników </li>
    </ul>
    <p style="text-align:left;">
    </p>
    </section>
    <section>
    <p style="text-align:left;">
    Na przestrzeni lat wprowadzano pewne
    usprawnienia algorytmu dotyczące:
    </p>
    <ul>
    <li> polityki sterowania zasięgiem mutacji $\sigma$ </li>
    <li> zwiększania rozmiaru populacji bazowej oraz potomnej </li>
    <li> sposobu rekombinacji osobników </li>
    <li> metody selekcji osobników z populacji potomnej.</li>
    </ul>
    <p style="text-align:left;">
    </p>
    </section>
    <section>
    <p style="text-align:left;">
    Na przestrzeni lat wprowadzano pewne
    usprawnienia algorytmu dotyczące:
    </p>
    <ul>
    <li> polityki sterowania zasięgiem mutacji $\sigma$ </li>
    <li> zwiększania rozmiaru populacji bazowej oraz potomnej </li>
    <li> sposobu rekombinacji osobników </li>
    <li> metody selekcji osobników z populacji potomnej.</li>
    </ul>
    <p style="text-align:left;">
    Największą wartosć dodaną do działania algorytmu przyniosła adaptacja macierzy kowariancji wraz z ideą kumulacji.
    </p>
    </section>
    <section>
    Ścieżka ewolucyjna oraz macierz kowariancji
    </section>
    <section>
    Idea stojąca za kumulacją:
    \[
    \mathcal{N}(0, 1)\textbf{x} \sim
    \mathcal{N}(0, \textbf{x}\textbf{x}^{T})
    \]
    </section>
    <section>
    Idea stojąca za kumulacją:
    \[
    \mathcal{N}(0, 1)\textbf{x} \sim
    \mathcal{N}(0, \textbf{x}\textbf{x}^{T})
    \]
    \[
    \textbf{p} =
    \mathcal{N}(0, 1)\textbf{x}_{1} +
    \dots +
    \mathcal{N}(0, 1)\textbf{x}_{K} \sim
    \mathcal{N}(0, \sum^{K}_{i = 1}\textbf{x}_{i}\textbf{x}_{i}^{T})
    \]
    </section>
    <section>
    Idea stojąca za kumulacją:
    \[
    \mathcal{N}(0, 1)\textbf{x} \sim
    \mathcal{N}(0, \textbf{x}\textbf{x}^{T})
    \]
    \[
    \textbf{p} =
    \mathcal{N}(0, 1)\textbf{x}_{1} +
    \dots +
    \mathcal{N}(0, 1)\textbf{x}_{K} \sim
    \mathcal{N}(0, \sum^{K}_{i = 1}\textbf{x}_{i}\textbf{x}_{i}^{T})
    \]
    Ścieżka ewolucyjna (ang. evolution path) niesie informacje o kierunkach, w których prawdopodobieństwo sukcesu jest największe.
    </section>
    <section>
    <p style="text-align:left;">
    Pomysł został zrealizowany przez N. Hansena i A. Auger [1].
    Autorzy opracowali algorytm $\textbf{CMA-ES}$.
    Ścieżka ewolucyjna została osadzona w kontekście
    wektora średniego populacji $\textbf{m}$, będącego efektem rekombinacji. <br>
    Operator mutacji został wyposażony w macierz kowariancji różną od macierzy $I$.
    </p>
    </section>
    <section>
    Standardowa realizacja strategii ewolucyjnych została rozszerzona o:
    \[
    \textbf{z}^{(t)} = \mathcal{N}(\textbf{0}, I) \\
    \textbf{d}^{(t)} = \textbf{m}^{t} + \sqrt{C^{(t)}}\textbf{z}^{(t)} \\
    \]
    </section>
    <section>
    Standardowa realizacja strategii ewolucyjnych została rozszerzona o:
    \[
    \textbf{z}^{(t)} = \mathcal{N}(\textbf{0}, I) \\
    \textbf{d}^{(t)} = \textbf{m}^{t} + \sqrt{C^{(t)}}\textbf{z}^{(t)} \\
    \textbf{p}^{(t)} = \frac{m^{(t+1)} - m^{(t)}}{\sigma^{(t)}} \\
    \textbf{p}_{\sigma}^{(t)} = (C)^{-\frac{1}{2}}\frac{m^{(t+1)} - m^{(t)}}{\sigma^{(t)}} \\
    \]
    </section>
    <section>
    Standardowa realizacja strategii ewolucyjnych została rozszerzona o:
    \[
    \textbf{z}^{(t)} = \mathcal{N}(\textbf{0}, I) \\
    \textbf{d}^{(t)} = \textbf{m}^{t} + \sqrt{C^{(t)}}\textbf{z}^{(t)} \\
    \textbf{p}^{(t)} = \frac{m^{(t+1)} - m^{(t)}}{\sigma^{(t)}} \\
    \textbf{p}_{\sigma}^{(t)} = (C)^{-\frac{1}{2}}\frac{m^{(t+1)} - m^{(t)}}{\sigma^{(t)}} \\
    C^{(t+1)} = C^{(t)} + \textbf{p}^{(t+1)}(\textbf{p}^{(t+1)})^{T} + \sum^{\lambda}_{i = 1}w_{i}\textbf{d}_{i}^{(t+1)}(\textbf{d}_{i}^{(t+1)})^{T}
    \]
    </section>
    <section>
    Trudności z realizacją
    </section>
    <section>
    \[
    \sqrt{\star}\colon\; \mathbb{R} \rightarrow \mathbb{R}
    \]
    </section>
    <section>
    \[
    \sqrt{\star}\colon\; \mathbb{R}^{n \times m} \rightarrow \mathbb{R^{n \times m}}
    \]
    </section>
    <section>
    \[
    \sqrt{\star}\colon\; \mathbb{R}^{n \times m} \rightarrow \mathbb{R^{n \times m}} \Large{?}
    \]
    </section>
    <section>
    <p style="text-align:left;">
    Pierwiastek kwadratowy liczby rzeczywistej jest dobrze zdefiniowane. <br>
    Pierwiastek kwadratowy macierzy -- niekoniecznie. <br>
    </p>
    </section>
    <section>
    <ul>
    <li> pierwiastkowanie macierzy z użyciem dekompozycji Choleskiego, $\mathcal{O}(N^{3})$ </li>
    </ul>
    </section>
    <section>
    <ul>
    <li> pierwiastkowanie macierzy z użyciem dekompozycji Choleskiego, $\mathcal{O}(N^{3})$ </li>
    <li> pierwiastkowanie macierzy z użyciem dekompozycji według wartości osobliwych, $\mathcal{O}(N^{3})$ </li>
    </ul>
    </section>
    <section>
    TODO: wykres na narzut czasowy
    </section>
    <section>
    Rozwiązania stosowane dotychczas
    </section>
    <section>
    Próby obejścia problemu dokonane przez innych:
    <ul>
    <li> $\textbf{LM-CMA-ES}$, I. Loshchilov [2] </li>
    <li> $\textbf{(1+1)-CMA-ES}$, Ch. Igel [3] </li>
    <li> $\textbf{MSR-CMA-ES}$, N. Hansen [4] </li>
    <li> $\textbf{MA-ES}$, H. Beyer [5] </li>
    </ul>
    </section>
    <section>
    Idea realizowana w pracy
    </section>
    <section>
    Okazuje się, że kontrola środka populacji w sensie średniej arytmetycznej pozwala usprawnić działanie algorytmu ewolucyjnego [6].
    \[
    \tilde{x} = \sum^{\lambda}_{i = 1}\textbf{x}_{i}
    \]
    </section>
    <section>
    <img src="ratios.svg" height="500" width="900"/>
    <p style="text-align:center; font-size:20px; font-weight: bold">
    Rys. Stosunek punktu średniego w populacji do punktu najlepszego. Rysunek własny.
    </p>
    </section>
    <section>
    <p style="text-align:left;">
    Fakt ten skłania do skorzystania z informacji pozyskanej z punktu środkowego. <br>
    Interesujące wydało się użycie tej informacji w kontekście polityki sterowania zasięgiem mutacji i opracowanie prostszej reguły, niż jest stosowana w algorytmie $\textbf{CMA-ES}$.
    </p>
    </section>
    <section>
    <p style="text-align:left;">
    Jeden z pomysłów przyjął następującą postać:
    </p>
    \[
    \sigma^{(t+1)} = \sigma^{(t)}*exp\left\{d^{-1}\frac{p_{s} - \alpha}{1 - \alpha}\right\}
    \]
    </section>
    <section>
    <p style="text-align:left;">
    </p>
    \[
    \sigma^{(t+1)} = \sigma^{(t)}*exp\left\{\color{red} d^{-1}\frac{p_{s} - \alpha}{1 - \alpha}\right\}
    \]
    </section>
    <section>
    <p style="text-align:left;">
    </p>
    \[
    \sigma^{(t+1)} = \sigma^{(t)}*exp\left\{d^{-1}\frac{\color{red} p_{\color{red} s} - \alpha}{1 - \alpha}\right\}
    \]
    </section>
    <section>
    <p style="text-align:left;">
    </p>
    \[
    \sigma^{(t+1)} = \sigma^{(t)}*exp\left\{d^{-1}\frac{p_{s} - \color{red} \alpha}{1 - \color{red} \alpha}\right\}
    \]
    </section>
    <section>
    <p style="text-align:left;">
    Ponadto, bazując na [5], reguła adaptująca macierz kowariancji może zostać zapisana w następującej formie:
    </p>
    \[
    C^{(t+1)} =
    C^{(t)}\left[I +
    \left(\textbf{p}^{(t+1)} (\textbf{p}^{(t+1)})^{T} - I\right) +
    \left(\sum^{\lambda}_{i = 1}w_{i}\textbf{z}_{i}^{(t)} (\textbf{z}_{i}^{(t)})^{T} - I\right)
    \right]
    \]
    </section>
    <section>
    Weryfikacja
    </section>
    <section>
    <dl>
    <dt> IEEE CEC (ang. Congress on Computational Intelligence): </dt>
    </dl>
    </section>
    <section>
    <dl>
    <dt> IEEE CEC (ang. Congress on Computational Intelligence): </dt>
    <br>
    <dd> $+$ łącznie 30 problemów optymalizacyjnych, a w tym 15 unikalnych </dd>
    <dd> $+$ wymiarowość zadań $\{2, 5, 10, 30, 50, 100\}$ </dd>
    <dd> $+$ kod źródłowy problemów udostępniony w $\texttt{C}$ </dd>
    </dl>
    </section>
    <section>
    <dl>
    <dt> IEEE CEC (ang. Congress on Computational Intelligence): </dt>
    <br>
    <dd> $+$ łącznie 30 problemów optymalizacyjnych, a w tym 15 unikalnych </dd>
    <dd> $+$ wymiarowość zadań $\{2, 5, 10, 30, 50, 100\}$ </dd>
    <dd> $+$ kod źródłowy problemów udostępniony w $\texttt{C}$ </dd>
    <br>
    <dd> $-$ brak określenia procedury obsługi punktów niedopuszczalnych </dd>
    <dd> $-$ niejednoznaczy opis problemów optymalizacyjnych </dd>
    <dd> $-$ nieokreślony punkt startowy. </dd>
    </dl>
    </section>
    <section>
    <p style="text-align:left; font-size:20px; font-weight: bold">
    Stosowany sposób agregacji wyników i porównywania badanych metod:
    </p>
    <img src="ecdf.svg" height="500" width="1000" class="center"/>
    <p style="font-size:15px; font-weight: bold">
    Rys. Krzywe ECDF uzyskane dla wszystkich problemów z konkursu CEC17.<br> Rysunek własny.
    </p>
    </section>
    <section>
    TODO: rysunek zbieżności na funkcji kwadratowej
    </section>
    <section>
    Dalsze plany
    </section>
    <section>
    <p style="text-align:left">
    Bibliografia <br>
    [1]<br>
    [2]<br>
    [3]<br>
    [4]<br>
    [5]<br>
    </p>
    </section>
    <section>
    Dziękuję.
    </section>
    </div>
    </div>
    <script src="dist/reveal.js"></script>
    <script src="plugin/zoom/zoom.js"></script>
    <script src="plugin/notes/notes.js"></script>
    <script src="plugin/math/math.js"></script>
    <script src="plugin/search/search.js"></script>
    <script src="plugin/markdown/markdown.js"></script>
    <script src="plugin/highlight/highlight.js"></script>
    <script>
    // Also available as an ES module, see:
    // https://revealjs.com/initialization/
    Reveal.initialize({
    controls: true,
    progress: true,
    center: true,
    hash: true,
    math: {
    mathjax: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js',
    config: 'TeX-AMS_HTML-full',
    TeX: { Macros: { RR: "{\\bf R}" } }
    },

    // Learn about plugins: https://revealjs.com/plugins/
    plugins: [ RevealZoom, RevealMath, RevealNotes, RevealSearch, RevealMarkdown, RevealHighlight ]
    });
    </script>
    </body>
    </html>
  2. @ryanj ryanj revised this gist Sep 29, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -70,6 +70,7 @@ <h3>Built-in Analytics</h3>
    <p class='fragment'>Include your own GA-TRACKER key:</p>
    <pre class='fragment'><code contenteditable>docker run -e "GA_TRACKER=UA-12345678" ryanj/gist-reveal</code></pre>
    </section>
    <!--
    <section id='openshift'>
    <h3>Hosting on OpenShift</h3>
    <p>You can launch this application on OpenShift in a single command:</p>
    @@ -83,6 +84,7 @@ <h3>Hosting on OpenShift</h3>
    <p class='fragment'>Or, <a href="https://openshift.redhat.com/app/console/application_types/custom?name=reveal&initial_git_url=https%3A%2F%2Fgithub.com/ryanj/gist-reveal.git&cartridges[]=nodejs-0.10">click here to launch on the web!</a></p>
    <p class='fragment'>Then, use the <code>rhc env set</code> command to publish your application config and keys to the system environment.</p>
    </section>
    -->
    </section>
    <section data-transition='concave'>
    <section>
  3. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -3,7 +3,7 @@ <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <br/>
    <h1 class='fragment grow' style='color:deepskyblue;'><a href='http://gist-reveal.it'>gist-reveal.it</a></h1>
    <h1 class='fragment grow'><a style='color:deepskyblue;' href='http://gist-reveal.it'>gist-reveal.it</a></h1>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
  4. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -3,7 +3,7 @@ <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <br/>
    <h1 class='fragment grow'><a href='http://gist-reveal.it'>gist-reveal.it</a></h1>
    <h1 class='fragment grow' style='color:deepskyblue;'><a href='http://gist-reveal.it'>gist-reveal.it</a></h1>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
  5. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 4 additions and 3 deletions.
    7 changes: 4 additions & 3 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,8 @@
    <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <p><a href='http://gist-reveal.it'><span class='fragment grow'>gist</span>-<span class='fragment grow'>reveal</span>.<span class='fragment grow'>it</span></a></p>
    <br/>
    <h1 class='fragment grow'><a href='http://gist-reveal.it'>gist-reveal.it</a></h1>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
    @@ -49,8 +50,8 @@ <h3>Host your own slideshow service on Kubernetes</h3>
    --env="GH_CLIENT_ID=YOUR_GH_CLIENT_ID" \
    --env="REVEAL_SOCKET_SECRET=0P3N-S0URC3" \
    --env="GA_TRACKER=YOUR_GA_TRACKER"</code></pre>
    <p class='fragment'>Minikube users should be able to open the new service in their browser by running:</p>
    <pre class='fragment'><code contenteditable>minikube service gist-reveal</code></pre>
    <div class='fragment'><p>Minikube users should be able to open the new service in their browser by running:</p>
    <pre class='fragment'><code contenteditable>minikube service gist-reveal</code></pre></div>
    </section>
    <section>
    <h3>Host your own slideshow index with Docker</h3>
  6. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@
    <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <h5><a href='http://gist-reveal.it'><span class='fragment grow'>gist</span>-<span class='fragment grow'>reveal</span>.<span class='fragment grow'>it</span></a></h5>
    <p><a href='http://gist-reveal.it'><span class='fragment grow'>gist</span>-<span class='fragment grow'>reveal</span>.<span class='fragment grow'>it</span></a></p>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
  7. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -2,8 +2,7 @@
    <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <p><small><a style='font-weight:bold;color:deepskyblue;' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a style='font-weight:bold;color:deepskyblue;' href='https://hub.docker.com/r/ryanj/gist-reveal/'>hub.docker.com/r/ryanj/gist-reveal</a></small></p>
    <h5><a href='http://gist-reveal.it'><span class='fragment grow'>gist</span>-<span class='fragment grow'>reveal</span>.<span class='fragment grow'>it</span></a></h5>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
    @@ -99,4 +98,7 @@ <h2>Broadcasting Your Slide Transitions</h2><h1 class='fragment grow'>with Socke
    <h1>THE END</h1>
    <h3>Revaljs by Hakim El Hattab / hakim.se</h3>
    <h3><a href="http://gist-reveal.it">gist-reveal</a> by <a href="http://twitter.com/ryanj/">ryanj</a> and <a href="https://github.com/fkautz">fkautz</a></h3>
    <br/>
    <p><small><a style='font-weight:bold;color:deepskyblue;' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a style='font-weight:bold;color:deepskyblue;' href='https://hub.docker.com/r/ryanj/gist-reveal/'>hub.docker.com/r/ryanj/gist-reveal</a></small></p>
    </section>
  8. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -2,8 +2,8 @@
    <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <p><small><a style='color:deepskyblue;' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a style='color:deepskyblue;' href='https://hub.docker.com/r/ryanj/gist-reveal/'>hub.docker.com/r/ryanj/gist-reveal</a></small></p>
    <p><small><a style='font-weight:bold;color:deepskyblue;' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a style='font-weight:bold;color:deepskyblue;' href='https://hub.docker.com/r/ryanj/gist-reveal/'>hub.docker.com/r/ryanj/gist-reveal</a></small></p>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
  9. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -3,7 +3,7 @@ <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <p><small><a style='color:deepskyblue;' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a style='color:deepskyblue;' href='https://registry.hub.docker.com/u/ryanj/gist-reveal/'>registry.hub.docker.com/u/ryanj/gist-reveal</a></small></p>
    <br/> <a style='color:deepskyblue;' href='https://hub.docker.com/r/ryanj/gist-reveal/'>hub.docker.com/r/ryanj/gist-reveal</a></small></p>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
  10. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -2,8 +2,8 @@
    <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <p><small><a style='color:hotpink;' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a style='color:hotpink;' href='https://registry.hub.docker.com/u/ryanj/gist-reveal/'>registry.hub.docker.com/u/ryanj/gist-reveal</a></small></p>
    <p><small><a style='color:deepskyblue;' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a style='color:deepskyblue;' href='https://registry.hub.docker.com/u/ryanj/gist-reveal/'>registry.hub.docker.com/u/ryanj/gist-reveal</a></small></p>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
  11. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 1 addition and 3 deletions.
    4 changes: 1 addition & 3 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -27,9 +27,7 @@ <h2>Tips on using Reveal.js</h2>
    <section id='themes' data-markdown>
    ## Gist-powered Slideshow Themes

    Available CSS themes include [the default reveal.js themes](http://lab.hakim.se/reveal-js/#/themes), but can be easily extended by storing new themes [in a gist](https://gist.github.com/450836bbaebcf4c4ae08b331343a7886)

    Examples:
    Available CSS themes include [the default reveal.js themes](http://lab.hakim.se/reveal-js/#/themes), but can be easily extended by storing new themes [in a gist](https://gist.github.com/450836bbaebcf4c4ae08b331343a7886):

    * [a theme from the CoreOS team](?theme=450836bbaebcf4c4ae08b331343a7886#/themes)
    * [a theme for OpenShift fans](?theme=60e54843de11a545897e#/themes)
  12. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -31,7 +31,7 @@ <h2>Tips on using Reveal.js</h2>

    Examples:

    * [a CoreOS-friendly theme](?theme=450836bbaebcf4c4ae08b331343a7886#/themes)
    * [a theme from the CoreOS team](?theme=450836bbaebcf4c4ae08b331343a7886#/themes)
    * [a theme for OpenShift fans](?theme=60e54843de11a545897e#/themes)
    * [the revealjs black theme](?theme=black#/themes)
    * [the revealjs simple theme](?theme=simple#/themes)
  13. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 6 additions and 6 deletions.
    12 changes: 6 additions & 6 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -31,12 +31,12 @@ <h2>Tips on using Reveal.js</h2>

    Examples:

    * [a CoreOS-friendly theme](http://gist-reveal.it/?theme=450836bbaebcf4c4ae08b331343a7886#/1)
    * [a theme for OpenShift fans](http://gist-reveal.it/?theme=60e54843de11a545897e#/1)
    * [the revealjs black theme](http://gist-reveal.it/?theme=black#/1)
    * [the revealjs simple theme](http://gist-reveal.it/?theme=simple#/1)
    * [the revealjs league theme](http://gist-reveal.it/?theme=default#/1)
    * [the revealjs sky theme](http://gist-reveal.it/?theme=sky#/1)
    * [a CoreOS-friendly theme](?theme=450836bbaebcf4c4ae08b331343a7886#/themes)
    * [a theme for OpenShift fans](?theme=60e54843de11a545897e#/themes)
    * [the revealjs black theme](?theme=black#/themes)
    * [the revealjs simple theme](?theme=simple#/themes)
    * [the revealjs league theme](?theme=default#/themes)
    * [the revealjs sky theme](?theme=sky#/themes)

    Conference organizers can host their own modified gist-reveal templating service (with it's own default theme), to provide a consistent look for all presentations at an event.
    </section>
  14. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 17 additions and 1 deletion.
    18 changes: 17 additions & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -24,10 +24,26 @@ <h2>Tips on using Reveal.js</h2>
    <p class='fragment'>There is a lot of great information about using Reveal.js in the project's <a href='http://github.com/hakimel/reveal.js'>README page on GitHub</a>.</p>
    <p class='fragment'>Their <a href='http://lab.hakim.se/reveal-js/'>original slide deck sample conent</a> also contains a lot of great examples.</p>
    </section>
    <section id='themes' data-markdown>
    ## Gist-powered Slideshow Themes

    Available CSS themes include [the default reveal.js themes](http://lab.hakim.se/reveal-js/#/themes), but can be easily extended by storing new themes [in a gist](https://gist.github.com/450836bbaebcf4c4ae08b331343a7886)

    Examples:

    * [a CoreOS-friendly theme](http://gist-reveal.it/?theme=450836bbaebcf4c4ae08b331343a7886#/1)
    * [a theme for OpenShift fans](http://gist-reveal.it/?theme=60e54843de11a545897e#/1)
    * [the revealjs black theme](http://gist-reveal.it/?theme=black#/1)
    * [the revealjs simple theme](http://gist-reveal.it/?theme=simple#/1)
    * [the revealjs league theme](http://gist-reveal.it/?theme=default#/1)
    * [the revealjs sky theme](http://gist-reveal.it/?theme=sky#/1)

    Conference organizers can host their own modified gist-reveal templating service (with it's own default theme), to provide a consistent look for all presentations at an event.
    </section>
    </section>
    <section>
    <section id='kubernetes'>
    <h3>Host your own slideshow relay on Kubernetes</h3>
    <h3>Host your own slideshow service on Kubernetes</h3>
    <p>To create a kubernetes deployment and NodePort service, both named gist-reveal, run:</p>
    <pre><code contenteditable>kubectl run gist-reveal --image=ryanj/gist-reveal \
    --expose --port=8080 --service-overrides='{ "spec": { "type": "NodePort" } }' \
  15. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -2,8 +2,8 @@
    <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <p><small><a href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a href='https://registry.hub.docker.com/u/ryanj/gist-reveal/'>registry.hub.docker.com/u/ryanj/gist-reveal</a></small></p>
    <p><small><a style='color:hotpink;' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a style='color:hotpink;' href='https://registry.hub.docker.com/u/ryanj/gist-reveal/'>registry.hub.docker.com/u/ryanj/gist-reveal</a></small></p>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
  16. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@
    <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <p><small><a class='fragment' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <p><small><a href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a href='https://registry.hub.docker.com/u/ryanj/gist-reveal/'>registry.hub.docker.com/u/ryanj/gist-reveal</a></small></p>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
  17. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -2,8 +2,8 @@
    <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <p class='fragment'><small><a class='fragment' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a class='fragment' href='https://registry.hub.docker.com/u/ryanj/gist-reveal/'>registry.hub.docker.com/u/ryanj/gist-reveal</a></small></p>
    <p><small><a class='fragment' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a href='https://registry.hub.docker.com/u/ryanj/gist-reveal/'>registry.hub.docker.com/u/ryanj/gist-reveal</a></small></p>
    </section>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
  18. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,7 @@ <h2>Slideshow Presentations</h2>
    <p class='fragment'><small><a class='fragment' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a class='fragment' href='https://registry.hub.docker.com/u/ryanj/gist-reveal/'>registry.hub.docker.com/u/ryanj/gist-reveal</a></small></p>
    </section>
    <section data-background-transition='zoom' data-transition='linear'>
    <section data-background-transition='zoom' data-transition='linear' id='try-it'>
    <h2>Try it out!</h2>
    <p>Create your own deck by forking a copy of <a href='https://gist.github.com/ryanj/af84d40e58c5c2a908dd'>this github gist</a>: <br /><a href='https://gist.github.com/ryanj/af84d40e58c5c2a908dd'>https://gist.github.com/ryanj/af84d40e58c5c2a908dd</a></p>
    <p>Or, by placing any valid Revealjs <a href="#sections">&lt;section&gt;</a> tag content into a fresh gist.</p>
  19. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -40,7 +40,7 @@ <h3>Host your own slideshow relay on Kubernetes</h3>
    <pre class='fragment'><code contenteditable>minikube service gist-reveal</code></pre>
    </section>
    <section>
    <h3>Host your own themed slideshow index with Docker</h3>
    <h3>Host your own slideshow index with Docker</h3>
    <p class='fragment'>Start up a local development server on port 8080:</p>
    <pre class='fragment'><code contenteditable>docker run ryanj/gist-reveal</code></pre>
    <p class='fragment'>For production, I like to daemonize the process, configure a default gist_id, and make the container available on port 80:</p>
  20. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -28,9 +28,9 @@ <h2>Tips on using Reveal.js</h2>
    <section>
    <section id='kubernetes'>
    <h3>Host your own slideshow relay on Kubernetes</h3>
    <p class='fragment'>To create a kubernetes deployment and NodePort service, both named gist-reveal:</p>
    <pre class='fragment'><code contenteditable>kubectl run gist-reveal --image=ryanj/gist-reveal --expose --port=8080 \
    --service-overrides='{ "spec": { "type": "NodePort" } }' \
    <p>To create a kubernetes deployment and NodePort service, both named gist-reveal, run:</p>
    <pre><code contenteditable>kubectl run gist-reveal --image=ryanj/gist-reveal \
    --expose --port=8080 --service-overrides='{ "spec": { "type": "NodePort" } }' \
    --env="DEFAULT_GIST=YOUR_DEFAULT_GIST_ID" \
    --env="GH_CLIENT_SECRET=YOUR_GH_CLIENT_SECRET" \
    --env="GH_CLIENT_ID=YOUR_GH_CLIENT_ID" \
  21. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -29,7 +29,8 @@ <h2>Tips on using Reveal.js</h2>
    <section id='kubernetes'>
    <h3>Host your own slideshow relay on Kubernetes</h3>
    <p class='fragment'>To create a kubernetes deployment and NodePort service, both named gist-reveal:</p>
    <pre class='fragment'><code contenteditable>kubectl run gist-reveal --image=ryanj/gist-reveal --expose --port=8080 --service-overrides='{ "spec": { "type": "NodePort" } }' \
    <pre class='fragment'><code contenteditable>kubectl run gist-reveal --image=ryanj/gist-reveal --expose --port=8080 \
    --service-overrides='{ "spec": { "type": "NodePort" } }' \
    --env="DEFAULT_GIST=YOUR_DEFAULT_GIST_ID" \
    --env="GH_CLIENT_SECRET=YOUR_GH_CLIENT_SECRET" \
    --env="GH_CLIENT_ID=YOUR_GH_CLIENT_ID" \
  22. @ryanj ryanj revised this gist Apr 6, 2017. 1 changed file with 12 additions and 0 deletions.
    12 changes: 12 additions & 0 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -26,6 +26,18 @@ <h2>Tips on using Reveal.js</h2>
    </section>
    </section>
    <section>
    <section id='kubernetes'>
    <h3>Host your own slideshow relay on Kubernetes</h3>
    <p class='fragment'>To create a kubernetes deployment and NodePort service, both named gist-reveal:</p>
    <pre class='fragment'><code contenteditable>kubectl run gist-reveal --image=ryanj/gist-reveal --expose --port=8080 --service-overrides='{ "spec": { "type": "NodePort" } }' \
    --env="DEFAULT_GIST=YOUR_DEFAULT_GIST_ID" \
    --env="GH_CLIENT_SECRET=YOUR_GH_CLIENT_SECRET" \
    --env="GH_CLIENT_ID=YOUR_GH_CLIENT_ID" \
    --env="REVEAL_SOCKET_SECRET=0P3N-S0URC3" \
    --env="GA_TRACKER=YOUR_GA_TRACKER"</code></pre>
    <p class='fragment'>Minikube users should be able to open the new service in their browser by running:</p>
    <pre class='fragment'><code contenteditable>minikube service gist-reveal</code></pre>
    </section>
    <section>
    <h3>Host your own themed slideshow index with Docker</h3>
    <p class='fragment'>Start up a local development server on port 8080:</p>
  23. @ryanj ryanj revised this gist Dec 1, 2016. No changes.
  24. @ryanj ryanj revised this gist Sep 18, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -60,7 +60,7 @@ <h3>Hosting on OpenShift</h3>
    <section data-transition='concave'>
    <section>
    <h2>Broadcasting Your Slide Transitions</h2><h1 class='fragment grow'>with Socket.IO</h1>
    <pre class='fragment'><code contenteditable>docker run -e "REVEAL_WEB_HOST=YOUR_HOSTNAME_HERE" -e "REVEAL_SOCKET_SECRET=0P3N-S0URC3" ryanj/gist-reveal</code></pre>
    <pre class='fragment'><code contenteditable>docker run -e "REVEAL_SOCKET_SECRET=0P3N-S0URC3" ryanj/gist-reveal</code></pre>
    <p>Configure your browser as a presentation device by setting the same key in your browser's localStorage</p>
    <pre class='fragment'><code contenteditable>localStorage.secret="YOUR_SECRET_KEY"</code></pre>
    </section>
  25. @ryanj ryanj revised this gist Sep 17, 2015. 1 changed file with 11 additions and 11 deletions.
    22 changes: 11 additions & 11 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -2,16 +2,16 @@
    <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <p class='fragment'><small><a class='fragment' href='http://github.com/ryanj/gist-reveal.it'>github.com/ryanj/gist-reveal.it</a>
    <br/> <a class='fragment' href='https://registry.hub.docker.com/u/ryanj/gist-reveal.it/'>registry.hub.docker.com/u/ryanj/gist-reveal.it</a></small></p>
    <p class='fragment'><small><a class='fragment' href='http://github.com/ryanj/gist-reveal'>github.com/ryanj/gist-reveal</a>
    <br/> <a class='fragment' href='https://registry.hub.docker.com/u/ryanj/gist-reveal/'>registry.hub.docker.com/u/ryanj/gist-reveal</a></small></p>
    </section>
    <section data-background-transition='zoom' data-transition='linear'>
    <h2>Try it out!</h2>
    <p>Create your own deck by forking a copy of <a href='https://gist.github.com/ryanj/af84d40e58c5c2a908dd'>this github gist</a>: <br /><a href='https://gist.github.com/ryanj/af84d40e58c5c2a908dd'>https://gist.github.com/ryanj/af84d40e58c5c2a908dd</a></p>
    <p>Or, by placing any valid Revealjs <a href="#sections">&lt;section&gt;</a> tag content into a fresh gist.</p>
    <br />
    <p class='fragment'>When you're ready to view your slides, grab your github gist id and add it to the end of this url:</p>
    <p class='fragment grow'><a href='http://gist-reveal.it'>http://gist-reveal.it/YOUR_GIST_ID_HERE</a></p>
    <p class='fragment grow'><a href='http://gist-reveal.it/'>http://gist-reveal.it/YOUR_GIST_ID_HERE</a></p>
    </section>
    <section data-transition='concave'>
    <section data-transition='concave'>
    @@ -29,38 +29,38 @@ <h2>Tips on using Reveal.js</h2>
    <section>
    <h3>Host your own themed slideshow index with Docker</h3>
    <p class='fragment'>Start up a local development server on port 8080:</p>
    <pre class='fragment'><code contenteditable>docker run ryanj/gist-reveal.it</code></pre>
    <pre class='fragment'><code contenteditable>docker run ryanj/gist-reveal</code></pre>
    <p class='fragment'>For production, I like to daemonize the process, configure a default gist_id, and make the container available on port 80:</p>
    <pre class='fragment'><code contenteditable>docker run -d -p 80:8080 -e "DEFAULT_GIST=af84d40e58c5c2a908dd" ryanj/gist-reveal.it</code></pre>
    <pre class='fragment'><code contenteditable>docker run -d -p 80:8080 -e "DEFAULT_GIST=af84d40e58c5c2a908dd" ryanj/gist-reveal</code></pre>
    </section>
    <section>
    <h3>GITHUB API RATE LIMITS</h3>
    <p class='fragment'>Include your own GitHub application keys if you plan on making more than 60 requests in 2 hours:</p>
    <pre class='fragment'><code contenteditable>docker run -e "GH_CLIENT_SECRET=11becbb840e0ff7414b19104e9e797556498fc3f" -e "GH_CLIENT_ID=639ffe9fd9dcc4f6eb4b" ryanj/gist-reveal.it</code></pre>
    <pre class='fragment'><code contenteditable>docker run -e "GH_CLIENT_SECRET=11becbb840e0ff7414b19104e9e797556498fc3f" -e "GH_CLIENT_ID=639ffe9fd9dcc4f6eb4b" ryanj/gist-reveal</code></pre>
    </section>
    <section>
    <h3>Built-in Analytics</h3>
    <p class='fragment'>Include your own GA-TRACKER key:</p>
    <pre class='fragment'><code contenteditable>docker run -e "GA_TRACKER=UA-12345678" ryanj/gist-reveal.it</code></pre>
    <pre class='fragment'><code contenteditable>docker run -e "GA_TRACKER=UA-12345678" ryanj/gist-reveal</code></pre>
    </section>
    <section id='openshift'>
    <h3>Hosting on OpenShift</h3>
    <p>You can launch this application on OpenShift in a single command:</p>
    <pre class='fragment'><code contenteditable>rhc app create gistreveal nodejs-0.10 \
    --from code=http://github.com/ryanj/gist-reveal.it \
    --from code=http://github.com/ryanj/gist-reveal \
    DEFAULT_GIST=YOUR_DEFAULT_GIST_ID \
    GH_CLIENT_SECRET=YOUR_GH_CLIENT_SECRET \
    GH_CLIENT_ID=YOUR_GH_CLIENT_ID \
    REVEAL_SOCKET_SECRET=0P3N-S0URC3 \
    GA_TRACKER=YOUR_GA_TRACKER</code></pre>
    <p class='fragment'>Or, <a href="https://openshift.redhat.com/app/console/application_types/custom?name=reveal&initial_git_url=https%3A%2F%2Fgithub.com/ryanj/gist-reveal.it.git&cartridges[]=nodejs-0.10">click here to launch on the web!</a></p>
    <p class='fragment'>Or, <a href="https://openshift.redhat.com/app/console/application_types/custom?name=reveal&initial_git_url=https%3A%2F%2Fgithub.com/ryanj/gist-reveal.git&cartridges[]=nodejs-0.10">click here to launch on the web!</a></p>
    <p class='fragment'>Then, use the <code>rhc env set</code> command to publish your application config and keys to the system environment.</p>
    </section>
    </section>
    <section data-transition='concave'>
    <section>
    <h2>Broadcasting Your Slide Transitions</h2><h1 class='fragment grow'>with Socket.IO</h1>
    <pre class='fragment'><code contenteditable>docker run -e "REVEAL_WEB_HOST=YOUR_HOSTNAME_HERE" -e "REVEAL_SOCKET_SECRET=0P3N-S0URC3" ryanj/gist-reveal.it</code></pre>
    <pre class='fragment'><code contenteditable>docker run -e "REVEAL_WEB_HOST=YOUR_HOSTNAME_HERE" -e "REVEAL_SOCKET_SECRET=0P3N-S0URC3" ryanj/gist-reveal</code></pre>
    <p>Configure your browser as a presentation device by setting the same key in your browser's localStorage</p>
    <pre class='fragment'><code contenteditable>localStorage.secret="YOUR_SECRET_KEY"</code></pre>
    </section>
    @@ -71,5 +71,5 @@ <h2>Broadcasting Your Slide Transitions</h2><h1 class='fragment grow'>with Socke
    <section>
    <h1>THE END</h1>
    <h3>Revaljs by Hakim El Hattab / hakim.se</h3>
    <h3><a href="http://gist-reveal.it">gist-reveal.it</a> by <a href="http://twitter.com/ryanj/">ryanj</a> and <a href="https://github.com/fkautz">fkautz</a></h3>
    <h3><a href="http://gist-reveal.it">gist-reveal</a> by <a href="http://twitter.com/ryanj/">ryanj</a> and <a href="https://github.com/fkautz">fkautz</a></h3>
    </section>
  26. @ryanj ryanj revised this gist Sep 26, 2014. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -48,9 +48,10 @@ <h3>Hosting on OpenShift</h3>
    <p>You can launch this application on OpenShift in a single command:</p>
    <pre class='fragment'><code contenteditable>rhc app create gistreveal nodejs-0.10 \
    --from code=http://github.com/ryanj/gist-reveal.it \
    DEFAULT_GIST=YOUR_DEFAULT_GIST_ID \
    GH_CLIENT_SECRET=YOUR_GH_CLIENT_SECRET \
    GH_CLIENT_ID=YOUR_GH_CLIENT_ID \
    DEFAULT_GIST=YOUR_DEFAULT_GIST_ID \
    REVEAL_SOCKET_SECRET=0P3N-S0URC3 \
    GA_TRACKER=YOUR_GA_TRACKER</code></pre>
    <p class='fragment'>Or, <a href="https://openshift.redhat.com/app/console/application_types/custom?name=reveal&initial_git_url=https%3A%2F%2Fgithub.com/ryanj/gist-reveal.it.git&cartridges[]=nodejs-0.10">click here to launch on the web!</a></p>
    <p class='fragment'>Then, use the <code>rhc env set</code> command to publish your application config and keys to the system environment.</p>
  27. @ryanj ryanj revised this gist Sep 26, 2014. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -45,13 +45,15 @@ <h3>Built-in Analytics</h3>
    </section>
    <section id='openshift'>
    <h3>Hosting on OpenShift</h3>
    <p>Or, Launch this application on OpenShift in a single command:</p>
    <p>You can launch this application on OpenShift in a single command:</p>
    <pre class='fragment'><code contenteditable>rhc app create gistreveal nodejs-0.10 \
    --from code=http://github.com/ryanj/gist-reveal.it \
    GH_CLIENT_SECRET=YOUR_GH_CLIENT_SECRET \
    GH_CLIENT_ID=YOUR_GH_CLIENT_ID \
    DEFAULT_GIST=YOUR_DEFAULT_GIST_ID \
    GA_TRACKER=YOUR_GA_TRACKER</code></pre>
    <p class='fragment'>Or, <a href="https://openshift.redhat.com/app/console/application_types/custom?name=reveal&initial_git_url=https%3A%2F%2Fgithub.com/ryanj/gist-reveal.it.git&cartridges[]=nodejs-0.10">click here to launch on the web!</a></p>
    <p class='fragment'>Then, use the <code>rhc env set</code> command to publish your application config and keys to the system environment.</p>
    </section>
    </section>
    <section data-transition='concave'>
  28. @ryanj ryanj revised this gist Sep 26, 2014. 1 changed file with 10 additions and 0 deletions.
    10 changes: 10 additions & 0 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -43,6 +43,16 @@ <h3>Built-in Analytics</h3>
    <p class='fragment'>Include your own GA-TRACKER key:</p>
    <pre class='fragment'><code contenteditable>docker run -e "GA_TRACKER=UA-12345678" ryanj/gist-reveal.it</code></pre>
    </section>
    <section id='openshift'>
    <h3>Hosting on OpenShift</h3>
    <p>Or, Launch this application on OpenShift in a single command:</p>
    <pre class='fragment'><code contenteditable>rhc app create gistreveal nodejs-0.10 \
    --from code=http://github.com/ryanj/gist-reveal.it \
    GH_CLIENT_SECRET=YOUR_GH_CLIENT_SECRET \
    GH_CLIENT_ID=YOUR_GH_CLIENT_ID \
    DEFAULT_GIST=YOUR_DEFAULT_GIST_ID \
    GA_TRACKER=YOUR_GA_TRACKER</code></pre>
    </section>
    </section>
    <section data-transition='concave'>
    <section>
  29. @ryanj ryanj revised this gist Jun 17, 2014. 1 changed file with 7 additions and 2 deletions.
    9 changes: 7 additions & 2 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -30,8 +30,13 @@ <h2>Tips on using Reveal.js</h2>
    <h3>Host your own themed slideshow index with Docker</h3>
    <p class='fragment'>Start up a local development server on port 8080:</p>
    <pre class='fragment'><code contenteditable>docker run ryanj/gist-reveal.it</code></pre>
    <p class='fragment'>For production, you might daemonize the process or make the container available on port 80:</p>
    <pre class='fragment'><code contenteditable>docker run -d -p 80:8080 ryanj/gist-reveal.it</code></pre>
    <p class='fragment'>For production, I like to daemonize the process, configure a default gist_id, and make the container available on port 80:</p>
    <pre class='fragment'><code contenteditable>docker run -d -p 80:8080 -e "DEFAULT_GIST=af84d40e58c5c2a908dd" ryanj/gist-reveal.it</code></pre>
    </section>
    <section>
    <h3>GITHUB API RATE LIMITS</h3>
    <p class='fragment'>Include your own GitHub application keys if you plan on making more than 60 requests in 2 hours:</p>
    <pre class='fragment'><code contenteditable>docker run -e "GH_CLIENT_SECRET=11becbb840e0ff7414b19104e9e797556498fc3f" -e "GH_CLIENT_ID=639ffe9fd9dcc4f6eb4b" ryanj/gist-reveal.it</code></pre>
    </section>
    <section>
    <h3>Built-in Analytics</h3>
  30. @ryanj ryanj revised this gist Jun 17, 2014. 2 changed files with 57 additions and 76 deletions.
    76 changes: 0 additions & 76 deletions default-gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -1,76 +0,0 @@
    <section data-background-transition='zoom' data-transition='concave' data-background='http://ryanjarvinen.com/presentations/shared/img/broadcast_reveal_dark.png' data-state='blackout'>
    <h2>Gist-Powered</h2>

    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <p class='fragment'><small><a class='fragment' href='http://github.com/ryanj/gist-reveal.it'>github.com/ryanj/gist-reveal.it</a>
    <br/> <a class='fragment' href='https://registry.hub.docker.com/u/ryanj/gist-reveal.it/'>registry.hub.docker.com/u/ryanj/gist-reveal.it</a></small></p>
    </section>
    <section data-background-transition='zoom' data-transition='linear'>
    <section data-background-transition='zoom' data-transition='linear'>
    <h2>Presentations on the Open Web</h2>
    <p>
    <span class='fragment'>Reveal.js is a framework</spam><br/><span class='fragment'>for easily crafting</span> <br/><span class='fragment'>beautiful presentations</span><br/> <span class='fragment'>in HTML</span> <br/><br/><div class='fragment'><p>You'll need a browser with
    support for CSS 3D transforms to see it's full capabilities.
    </p></div>

    <aside class="notes">
    Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard).
    </aside>
    </section>
    <section>
    <h2>Tips on using Reveal.js</h2>
    <p class='fragment'>
    There is a lot of great information about using Reveal.js in the project's <a href='http://github.com/hakimel/reveal.js'>README page on GitHub</a>.
    </p>
    <p class='fragment'>
    Their <a href='http://lab.hakim.se/reveal-js/'>original slide deck sample conent</a> also contains a lot of great examples.
    </p>
    </section>
    </section>
    <section data-transition='concave'>
    <section data-transition='concave'>
    <h2>Try it out!</h2>
    <p>Create your own deck by forking a copy of <a href='https://gist.github.com/ryanj/af84d40e58c5c2a908dd'>this github gist</a>: <br /><a href='https://gist.github.com/ryanj/af84d40e58c5c2a908dd'>https://gist.github.com/ryanj/af84d40e58c5c2a908dd</a>
    </p>
    <p>Or, by placing any valid Revealjs <a href="#sections">&lt;section&gt;</a> tag content into a fresh gist.</p>
    <br />
    <p class='fragment'>
    When you're ready to view your slides, grab your github gist id and add it to the end of this url:</p>
    <p class='fragment grow'><a href='http://gist-reveal.it'>http://gist-reveal.it/YOUR_GIST_ID_HERE</a></p>
    </section>
    </section>
    <section>
    <section>

    <h3>Host your own themed slideshow index with Docker</h3>
    <p class='fragment'>
    Start up a local development server with:
    </p>
    <pre class='fragment'><code contenteditable>docker run -d -p 80:8080 ryanj/gist-reveal.it</code></pre>
    </section>
    <section>
    <h3>Built-in Analytics</h3>
    <p class='fragment'>
    Include your own GA-TRACKER key:
    </p>
    <pre class='fragment'><code contenteditable>docker run -e "GA_TRACKER=GA-12345678" ryanj/gist-reveal.it</code></pre>
    <br/>
    </section>
    </section>
    <section data-transition='concave'>
    <section>
    <h2>Broadcasting Your Slide Transitions</h2><h1 class='fragment grow'>with Socket.IO</h1>
    <pre class='fragment'><code contenteditable>docker run -e "REVEAL_WEB_HOST=YOUR_HOSTNAME_HERE" -e "REVEAL_SOCKET_SECRET=0P3N-S0URC3" ryanj/gist-reveal.it</code></pre>
    <p>Configure your browser as a presentation device by setting the same key in your browser's localStorage</p>
    <pre class='fragment'><code contenteditable>localStorage.secret="YOUR_SECRET_KEY"</code></pre>
    </section>
    <section data-transition='zoom' data-background-transition='zoom'>
    <p>Be sure to use two different devices or brower types when testing your broadcasting relay<br/> <span class='fragment'>(FireFox vs. Chrome, desktop vs. mobile, etc.)</span></p> <br/>
    </section>
    </section>
    <section>
    <h1>THE END</h1>
    <h3>Revaljs by Hakim El Hattab / hakim.se</h3>
    <h3><a href="http://gist-reveal.it">gist-reveal.it</a> by <a href="http://twitter.com/ryanj/">ryanj</a> and <a href="https://github.com/fkautz">fkautz</a></h3>
    </section>
    57 changes: 57 additions & 0 deletions gist-reveal.it-slides.html
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,57 @@
    <section data-background-transition='zoom' data-transition='concave' data-background='http://ryanjarvinen.com/presentations/shared/img/broadcast_reveal_dark.png' data-state='blackout'>
    <h2>Gist-Powered</h2>
    <h1>Reveal.js</h1>
    <h2>Slideshow Presentations</h2>
    <p class='fragment'><small><a class='fragment' href='http://github.com/ryanj/gist-reveal.it'>github.com/ryanj/gist-reveal.it</a>
    <br/> <a class='fragment' href='https://registry.hub.docker.com/u/ryanj/gist-reveal.it/'>registry.hub.docker.com/u/ryanj/gist-reveal.it</a></small></p>
    </section>
    <section data-background-transition='zoom' data-transition='linear'>
    <h2>Try it out!</h2>
    <p>Create your own deck by forking a copy of <a href='https://gist.github.com/ryanj/af84d40e58c5c2a908dd'>this github gist</a>: <br /><a href='https://gist.github.com/ryanj/af84d40e58c5c2a908dd'>https://gist.github.com/ryanj/af84d40e58c5c2a908dd</a></p>
    <p>Or, by placing any valid Revealjs <a href="#sections">&lt;section&gt;</a> tag content into a fresh gist.</p>
    <br />
    <p class='fragment'>When you're ready to view your slides, grab your github gist id and add it to the end of this url:</p>
    <p class='fragment grow'><a href='http://gist-reveal.it'>http://gist-reveal.it/YOUR_GIST_ID_HERE</a></p>
    </section>
    <section data-transition='concave'>
    <section data-transition='concave'>
    <h2>Presentations on the Open Web</h2>
    <p><span class='fragment'>Reveal.js is a framework</spam><br/><span class='fragment'>for easily crafting</span> <br/><span class='fragment'>beautiful presentations</span><br/> <span class='fragment'>in HTML</span> <br/><br/><div class='fragment'><p>You'll need a browser with support for CSS 3D transforms to see it's full capabilities.</p>
    <aside class="notes">Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard).</aside>
    </section>
    <section>
    <h2>Tips on using Reveal.js</h2>
    <p class='fragment'>There is a lot of great information about using Reveal.js in the project's <a href='http://github.com/hakimel/reveal.js'>README page on GitHub</a>.</p>
    <p class='fragment'>Their <a href='http://lab.hakim.se/reveal-js/'>original slide deck sample conent</a> also contains a lot of great examples.</p>
    </section>
    </section>
    <section>
    <section>
    <h3>Host your own themed slideshow index with Docker</h3>
    <p class='fragment'>Start up a local development server on port 8080:</p>
    <pre class='fragment'><code contenteditable>docker run ryanj/gist-reveal.it</code></pre>
    <p class='fragment'>For production, you might daemonize the process or make the container available on port 80:</p>
    <pre class='fragment'><code contenteditable>docker run -d -p 80:8080 ryanj/gist-reveal.it</code></pre>
    </section>
    <section>
    <h3>Built-in Analytics</h3>
    <p class='fragment'>Include your own GA-TRACKER key:</p>
    <pre class='fragment'><code contenteditable>docker run -e "GA_TRACKER=UA-12345678" ryanj/gist-reveal.it</code></pre>
    </section>
    </section>
    <section data-transition='concave'>
    <section>
    <h2>Broadcasting Your Slide Transitions</h2><h1 class='fragment grow'>with Socket.IO</h1>
    <pre class='fragment'><code contenteditable>docker run -e "REVEAL_WEB_HOST=YOUR_HOSTNAME_HERE" -e "REVEAL_SOCKET_SECRET=0P3N-S0URC3" ryanj/gist-reveal.it</code></pre>
    <p>Configure your browser as a presentation device by setting the same key in your browser's localStorage</p>
    <pre class='fragment'><code contenteditable>localStorage.secret="YOUR_SECRET_KEY"</code></pre>
    </section>
    <section data-transition='zoom' data-background-transition='zoom'>
    <p>Be sure to use two different devices or brower types when testing your broadcasting relay<br/> <span class='fragment'>(FireFox vs. Chrome, desktop vs. mobile, etc.)</span></p>
    </section>
    </section>
    <section>
    <h1>THE END</h1>
    <h3>Revaljs by Hakim El Hattab / hakim.se</h3>
    <h3><a href="http://gist-reveal.it">gist-reveal.it</a> by <a href="http://twitter.com/ryanj/">ryanj</a> and <a href="https://github.com/fkautz">fkautz</a></h3>
    </section>