<!doctype html>
<html lang="en" prefix="og: http://ogp.me/ns#">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Great Rust Tools</title>

    <!-- CSS WebSlides -->
    <link rel="stylesheet" type='text/css' media='all' href="static/css/webslides.css">

    <!-- Optional - CSS SVG Icons (Font Awesome) -->
    <link rel="stylesheet" type='text/css' media='all' href="static/css/svg-icons.css">

    <!-- FAVICONS -->
    <!-- <link rel="shortcut icon" sizes="16x16" href="static/images/favicons/favicon.png"> -->
    <!-- <link rel="shortcut icon" sizes="32x32" href="static/images/favicons/favicon-32.png"> -->
    <!-- <link rel="apple-touch-icon icon" sizes="76x76" href="static/images/favicons/favicon-76.png"> -->
    <!-- <link rel="apple-touch-icon icon" sizes="120x120" href="static/images/favicons/favicon-120.png"> -->
    <!-- <link rel="apple-touch-icon icon" sizes="152x152" href="static/images/favicons/favicon-152.png"> -->
    <!-- <link rel="apple-touch-icon icon" sizes="180x180" href="static/images/favicons/favicon-180.png"> -->
    <!-- <link rel="apple-touch-icon icon" sizes="192x192" href="static/images/favicons/favicon-192.png"> -->

    <!-- Android -->
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="theme-color" content="#333333">

    <style type="text/css">
      body {
        font-family: 'Roboto', 'San Francisco', helvetica, arial, sans-serif;
        font-family: 'Interface', 'TeX Gyre Heros', sans-serif;
      }
      pre,
      code {
        font-family: 'PragmataPro Mono', monospace;
      }
      .bullets {
        margin-top: 1em;
      }
      .bullets li {
        font-size: 4rem;
        line-height: 1.25em;
        margin-bottom: 0.75em;
      }
      .text-intro {
        font-size: 4rem;
      }
      h1 {
        margin-bottom: 1em;
      }
    </style>
  </head>
  <body>
    <main role="main">
      <article id="webslides">
        <!-- Quick Guide
          - Each parent <section> in the <article id="webslides"> element is an individual slide.
          - Vertical sliding = <article id="webslides" class="vertical">
          - <div class="wrap"> = container 90% / <div class="wrap size-50"> = 45%;
        -->
        <section>
          <div class="aligncenter">
            <h1 class="text-landing">Supporting Rust by using Rust</h1>
            <p class="text-intro">An exploration of great command line tools</p>

            <p>Melbourne Rust Meetup<br> Tue 26 Sep 2017</p>
          </div>
          <footer>
            <div class="wrap">
              <p>
                <span class="alignleft">
                Wesley Moore
                </span>
                <span class="alignright">
                  <a href="#" title="Twitter">
                    <svg class="fa-twitter" viewBox="0 0 512 512">
                      <path d="m481 117c-13 18-28 34-46 47 0 3 0 7 0 12 0 25-3 50-11 74-7 25-18 49-33 71-14 23-32 43-52 61-21 17-45 31-74 41-29 11-60 16-92 16-52 0-99-14-142-42 7 1 14 2 22 2 43 0 81-14 115-40-20 0-38-6-54-18-16-12-27-27-33-46 7 1 13 2 18 2 8 0 16-1 24-4-21-4-39-15-53-31-14-17-21-37-21-59l0-1c13 7 27 11 42 11-13-8-23-19-30-32-8-14-11-29-11-44 0-17 4-33 12-47 23 28 51 51 84 68 33 17 69 27 107 29-2-8-3-15-3-22 0-25 9-47 27-65 18-18 40-27 66-27 26 0 49 10 67 29 21-4 40-11 59-22-7 22-21 39-41 51 18-2 35-7 53-14z"></path>
    </svg>
                    @wezm
                  </a>
                </span>
              </p>
            </div>
          </footer>
        </section>

        <!--
        <section>
          <div class="wrap ">
            <h1><strong>Outline</strong></h1>
            <p class="text-intro">WebSlides makes HTML presentations easy.<br>
              Just the essentials and using lovely CSS.
            </p>
            <ul>
              <li>Spreading Rust by using Rust</li>
              <li>
                Tools
                <ul>
                  <li>watchexec</li>
                  <li>fd</li>
                  <li>fe</li>
                  <li>exa</li>
                  <li>ripgrep</li>
                  <li>alt</li>
                  <li>tac</li>
                  <li>dot</li>
                  <li>titlecase</li>
                  <li>ion</li>
                </ul>
              </li>
              <li>How you can help</li>
            </ul>
          </div>
        </section>
        -->

        <section>
          <div class="wrap aligncenter">
            <h1><strong>Rust is great</strong></h1>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter">
            <h1><strong>What is a Rust tool?</strong></h1>
          </div>
        </section>

        <section>
          <div class="wrap ">
            <h1><strong>Why Rust tools are great</strong></h1>

            <ul class="flexblock features">
              <li>
                <div>
                  <h2>
                    <svg class="fa-bolt">
                      <use xlink:href="#fa-bolt"></use>
                    </svg>
                    Performance
                  </h2>
                  Fast and efficient with resources
                </div>
              </li>
              <li>
                <div>
                  <h2>
                    <svg class="fa-minus-circle">
                      <use xlink:href="#fa-minus-circle"></use>
                    </svg>
                    No runtime
                  </h2>
                  Few runtime dependencies
                </div>
              </li>
              <li>
                <div>
                  <h2>
                    <svg class="fa-laptop">
                      <use xlink:href="#fa-laptop"></use>
                    </svg>
                    Cross Platform
                  </h2>
                  Supports all major platforms
                </div>
              </li>
          </div>
        </section>

        <section>
          <div class="wrap ">
            <h1><strong>Why Rust tools are great</strong></h1>

            <ul class="flexblock features">
              <li>
                <div>
                  <h2>
                    <svg class="fa-terminal">
                      <use xlink:href="#fa-terminal"></use>
                    </svg>
                    Easy to install
                  </h2>
                  Package manager or <code>cargo install</code>
                </div>
              </li>
              <li>
                <div>
                  <h2>
                    <svg class="fa-user">
                      <use xlink:href="#fa-user"></use>
                    </svg>
                    Usable
                  </h2>
                  Provide a nice interface
                </div>
              </li>
            </ul>
          </div>
        </section>
        <section>
          <div class="wrap aligncenter ">
            <h1><strong>Demos</strong></h1>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter ">
            <h1><strong>watchexec</strong></h1>
            <p class="text-intro">Executes commands in response to file modifications</p>
            <p class="text-intro"><a href="https://github.com/mattgreen/watchexec">https://github.com/mattgreen/watchexec</a></p>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter ">
            <h1><strong>fd</strong></h1>
            <p class="text-intro">A simple, fast and user-friendly alternative to <code>find</code></p>
            <p class="text-intro"><a href="https://github.com/sharkdp/fd">https://github.com/sharkdp/fd</a></p>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter ">
            <h1><strong>fe</strong></h1>
            <p class="text-intro">A super-fast and easy to use command line fuzzy file searcher</p>
            <p class="text-intro"><a href="https://github.com/btipling/fe">https://github.com/btipling/fe</a></p>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter ">
            <h1><strong>exa</strong></h1>
            <p class="text-intro">A modern replacement for <code>ls</code></p>
            <p class="text-intro"><a href="https://the.exa.website/">https://the.exa.website/</a></p>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter ">
            <h1><strong>ripgrep</strong></h1>
            <p class="text-intro">The usability of The Silver Searcher with the raw speed of [GNU] <code>grep</code>.</p>
            <p class="text-intro"><a href="https://github.com/BurntSushi/ripgrep/">https://github.com/BurntSushi/ripgrep/</a></p>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter ">
            <h1><strong>alt</strong></h1>
            <p class="text-intro">Command line tool to find alternate files</p>
            <p class="text-intro"><a href="https://github.com/uptech/alt">https://github.com/uptech/alt</a></p>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter ">
            <h1><strong>tac</strong></h1>
            <p class="text-intro">A high-performance, cross-platform file reverse utility</p>
            <p class="text-intro"><a href="https://github.com/neosmart/tac">https://github.com/neosmart/tac</a></p>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter ">
            <h1><strong>dot</strong></h1>
            <p class="text-intro">Dot file management</p>
            <p class="text-intro"><a href="https://github.com/ubnt-intrepid/dot">https://github.com/ubnt-intrepid/dot</a></p>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter ">
            <h1><strong>titlecase</strong></h1>
            <p class="text-intro">Capitalise text according to a style guide</p>
            <p class="text-intro"><a href="https://github.com/wezm/titlecase">https://github.com/wezm/titlecase</a></p>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter ">
            <h1><strong>ion</strong></h1>
            <p class="text-intro">A shell written in Rust for Redox and Linux</p>
            <p class="text-intro"><a href="https://github.com/redox-os/ion">https://github.com/redox-os/ion</a></p>
          </div>
        </section>

        <section>
          <div class="wrap ">
            <h1><strong>You can build tools too!</strong></h1>
            <ul class="bullets">
              <li>If you use a tool that is frustrating to install due to runtime
                requirements or dependency issues, perhaps it's a candidate for a Rust
                version.
              </li>
              <li>Maybe you use a tool that is error prone or could benefit from fearless
                concurrency.
              </li>
            </ul>
          </div>
        </section>

        <section>
          <div class="wrap ">
            <h1><strong>Conclusion</strong></h1>
            <ul class="bullets">
              <li>You can help spread Rust by using tools written in Rust</li>
              <li>There's already a stack of great tools out there</li>
              <li>Lots of opportunity to write your own tools</li>
            </ul>
          </div>
        </section>

        <section>
          <div class="wrap aligncenter ">
            <h1><strong>Questions?</strong></h1>

            <br>
            <p class="text-intro">
              Slides will be available at:<br>
              <a href="http://wezm.net/talks/rust-tools">http://wezm.net/talks/rust-tools</a>
            </p>
          </div>

          <footer>
            <div class="wrap">
              <p>
                <span class="alignleft">
                Wesley Moore
                </span>
                <span class="alignright">
                  <a href="#" title="Twitter">
                    <svg class="fa-twitter" viewBox="0 0 512 512">
                      <path d="m481 117c-13 18-28 34-46 47 0 3 0 7 0 12 0 25-3 50-11 74-7 25-18 49-33 71-14 23-32 43-52 61-21 17-45 31-74 41-29 11-60 16-92 16-52 0-99-14-142-42 7 1 14 2 22 2 43 0 81-14 115-40-20 0-38-6-54-18-16-12-27-27-33-46 7 1 13 2 18 2 8 0 16-1 24-4-21-4-39-15-53-31-14-17-21-37-21-59l0-1c13 7 27 11 42 11-13-8-23-19-30-32-8-14-11-29-11-44 0-17 4-33 12-47 23 28 51 51 84 68 33 17 69 27 107 29-2-8-3-15-3-22 0-25 9-47 27-65 18-18 40-27 66-27 26 0 49 10 67 29 21-4 40-11 59-22-7 22-21 39-41 51 18-2 35-7 53-14z"></path>
    </svg>
                    @wezm
                  </a>
                </span>
              </p>
            </div>
          </footer>
        </section>

      </article>
      <!-- end article -->
    </main>
    <!-- end main -->

   <!-- A global footer

     <footer role="contentinfo">
      <div class="wrap">
        <p>An <a href="https://github.com/webslides/webslides">open source solution</a>, by <a href="https://twitter.com/webslides">@webslides</a>.</p>
      </div>
    </footer>  -->

    <!-- Required -->
    <script src="static/js/webslides.js"></script>
    <script>
      window.ws = new WebSlides();
    </script>

    <!-- OPTIONAL - svg-icons.js (fontastic.me - Font Awesome as svg icons) -->
    <script defer src="static/js/svg-icons.js"></script>

  </body>
</html>