Write 'Sane Software Development' talk software-development
authorW. Trevor King <wking@tremily.us>
Thu, 14 Mar 2013 16:15:22 +0000 (12:15 -0400)
committerW. Trevor King <wking@tremily.us>
Thu, 14 Mar 2013 16:15:22 +0000 (12:15 -0400)
css/theme/default.css
img/18333fig0301-tn.png [new file with mode: 0644]
img/18333fig0327-tn.png [new file with mode: 0644]
img/18333fig0328-tn.png [new file with mode: 0644]
img/18333fig0329-tn.png [new file with mode: 0644]
img/18333fig0413-tn.png [new file with mode: 0644]
img/18333fig0502-tn.png [new file with mode: 0644]
img/git-flow.png [new file with mode: 0644]
img/pypi.jpg [new file with mode: 0644]
img/state_of_packaging.svg [new file with mode: 0644]
index.html

index 480ac69ea097556cd6d8cbb7bd587d84bac15fe3..f99694684795ffb414b31b2dea9c497d22ad5dfa 100644 (file)
@@ -36,6 +36,14 @@ body {
   background: #ff5e99;
   text-shadow: none; }
 
+p, dl {
+  text-align: left;
+}
+
+pre, code {
+  color: #FB9;
+}
+
 /*********************************************
  * HEADERS
  *********************************************/
diff --git a/img/18333fig0301-tn.png b/img/18333fig0301-tn.png
new file mode 100644 (file)
index 0000000..6e2df92
Binary files /dev/null and b/img/18333fig0301-tn.png differ
diff --git a/img/18333fig0327-tn.png b/img/18333fig0327-tn.png
new file mode 100644 (file)
index 0000000..6733d18
Binary files /dev/null and b/img/18333fig0327-tn.png differ
diff --git a/img/18333fig0328-tn.png b/img/18333fig0328-tn.png
new file mode 100644 (file)
index 0000000..2208826
Binary files /dev/null and b/img/18333fig0328-tn.png differ
diff --git a/img/18333fig0329-tn.png b/img/18333fig0329-tn.png
new file mode 100644 (file)
index 0000000..d0b5b24
Binary files /dev/null and b/img/18333fig0329-tn.png differ
diff --git a/img/18333fig0413-tn.png b/img/18333fig0413-tn.png
new file mode 100644 (file)
index 0000000..a265a38
Binary files /dev/null and b/img/18333fig0413-tn.png differ
diff --git a/img/18333fig0502-tn.png b/img/18333fig0502-tn.png
new file mode 100644 (file)
index 0000000..573c526
Binary files /dev/null and b/img/18333fig0502-tn.png differ
diff --git a/img/git-flow.png b/img/git-flow.png
new file mode 100644 (file)
index 0000000..3762e6c
Binary files /dev/null and b/img/git-flow.png differ
diff --git a/img/pypi.jpg b/img/pypi.jpg
new file mode 100644 (file)
index 0000000..107f1a0
Binary files /dev/null and b/img/pypi.jpg differ
diff --git a/img/state_of_packaging.svg b/img/state_of_packaging.svg
new file mode 100644 (file)
index 0000000..dec2d9c
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="43 23 519 289" width="519pt" height="289pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2010-02-24 00:57Z</dc:date><!-- Produced by OmniGraffle Professional 5.1.1 --></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="3.488"/><feOffset in="blur" result="offset" dx="0" dy="4"/><feFlood flood-color="black" flood-opacity=".75" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="18" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#177fe5"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#e55500"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Canvas 1</title><g><title>Layer 1</title><g><use xl:href="#id4_Graphic" filter="url(#Shadow)"/><use xl:href="#id5_Graphic" filter="url(#Shadow)"/><use xl:href="#id6_Graphic" filter="url(#Shadow)"/><use xl:href="#id7_Graphic" filter="url(#Shadow)"/><use xl:href="#id8_Graphic" filter="url(#Shadow)"/><use xl:href="#id1_Graphic" filter="url(#Shadow)"/><use xl:href="#id10_Graphic" filter="url(#Shadow)"/></g><g id="id4_Graphic"><path d="M 63 84 L 121.5 84 C 126.470566 84 130.5 88.029434 130.5 93 L 130.5 113 C 130.5 117.970566 126.470566 122 121.5 122 L 63 122 C 58.029438 122 54 117.970566 54 113 C 54 113 54 113 54 113 L 54 93 C 54 88.029434 58.029438 84 63 84 Z" fill="white"/><path d="M 63 84 L 121.5 84 C 126.470566 84 130.5 88.029434 130.5 93 L 130.5 113 C 130.5 117.970566 126.470566 122 121.5 122 L 63 122 C 58.029438 122 54 117.970566 54 113 C 54 113 54 113 54 113 L 54 93 C 54 88.029434 58.029438 84 63 84 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(59 96)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="4.8964844" y="11" textLength="56.70703">Setuptools</tspan></text></g><g id="id5_Graphic"><path d="M 203 84 L 261.5 84 C 266.47055 84 270.5 88.029434 270.5 93 L 270.5 113 C 270.5 117.970566 266.47055 122 261.5 122 L 203 122 C 198.02943 122 194 117.970566 194 113 C 194 113 194 113 194 113 L 194 93 C 194 88.029434 198.02943 84 203 84 Z" fill="white"/><path d="M 203 84 L 261.5 84 C 266.47055 84 270.5 88.029434 270.5 93 L 270.5 113 C 270.5 117.970566 266.47055 122 261.5 122 L 203 122 C 198.02943 122 194 117.970566 194 113 C 194 113 194 113 194 113 L 194 93 C 194 88.029434 198.02943 84 203 84 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(199 96)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="7.908203" y="11" textLength="50.683594">Distribute</tspan></text></g><g id="id6_Graphic"><path d="M 63 212 L 121.5 212 C 126.470566 212 130.5 216.02943 130.5 221 L 130.5 241 C 130.5 245.97057 126.470566 250 121.5 250 L 63 250 C 58.029438 250 54 245.97057 54 241 C 54 241 54 241 54 241 L 54 221 C 54 216.02943 58.029438 212 63 212 Z" fill="white"/><path d="M 63 212 L 121.5 212 C 126.470566 212 130.5 216.02943 130.5 221 L 130.5 241 C 130.5 245.97057 126.470566 250 121.5 250 L 63 250 C 58.029438 250 54 245.97057 54 241 C 54 241 54 241 54 241 L 54 221 C 54 216.02943 58.029438 212 63 212 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(59 224)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="13.243164" y="11" textLength="40.013672">distutils</tspan></text></g><g id="id7_Graphic"><path d="M 343 212 L 401.5 212 C 406.47055 212 410.5 216.02943 410.5 221 L 410.5 241 C 410.5 245.97057 406.47055 250 401.5 250 L 343 250 C 338.02945 250 334 245.97057 334 241 C 334 241 334 241 334 241 L 334 221 C 334 216.02943 338.02945 212 343 212 Z" fill="white"/><path d="M 343 212 L 401.5 212 C 406.47055 212 410.5 216.02943 410.5 221 L 410.5 241 C 410.5 245.97057 406.47055 250 401.5 250 L 343 250 C 338.02945 250 334 245.97057 334 241 C 334 241 334 241 334 241 L 334 221 C 334 216.02943 338.02945 212 343 212 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(339 224)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="9.90625" y="11" textLength="46.6875">distutils2</tspan></text></g><g id="id8_Graphic"><path d="M 483 84 L 541.5 84 C 546.47058 84 550.5 88.029434 550.5 93 L 550.5 113 C 550.5 117.970566 546.47058 122 541.5 122 L 483 122 C 478.02945 122 474 117.970566 474 113 C 474 113 474 113 474 113 L 474 93 C 474 88.029434 478.02945 84 483 84 Z" fill="white"/><path d="M 483 84 L 541.5 84 C 546.47058 84 550.5 88.029434 550.5 93 L 550.5 113 C 550.5 117.970566 546.47058 122 541.5 122 L 483 122 C 478.02945 122 474 117.970566 474 113 C 474 113 474 113 474 113 L 474 93 C 474 88.029434 478.02945 84 483 84 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(479 96)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="25.243164" y="11" textLength="16.013672">pip</tspan></text></g><g id="id1_Graphic"><rect x="474" y="212" width="76.5" height="38" fill="white"/><rect x="474" y="212" width="76.5" height="38" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(479 217)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="8.8984375" y="11" textLength="52.03711">Standard </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="14.910156" y="25" textLength="36.679688">Library</tspan></text></g><g id="id10_Graphic"><path d="M 203 212 L 261.5 212 C 266.47055 212 270.5 216.02943 270.5 221 L 270.5 241 C 270.5 245.97057 266.47055 250 261.5 250 L 203 250 C 198.02943 250 194 245.97057 194 241 C 194 241 194 241 194 241 L 194 221 C 194 216.02943 198.02943 212 203 212 Z" fill="white"/><path d="M 203 212 L 261.5 212 C 266.47055 212 270.5 216.02943 270.5 221 L 270.5 241 C 270.5 245.97057 266.47055 250 261.5 250 L 203 250 C 198.02943 250 194 245.97057 194 241 C 194 241 194 241 194 241 L 194 221 C 194 216.02943 198.02943 212 203 212 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="4,4"/><text transform="translate(199 224)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="13.243164" y="11" textLength="40.013672">distutils</tspan></text></g><line x1="161.75" y1="29" x2="161.75" y2="310" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(73.75 23)" fill="black"><tspan font-family="Helvetica" font-size="18" font-weight="500" x=".49121094" y="18" textLength="36.017578">Past</tspan></text><text transform="translate(273 23)" fill="black"><tspan font-family="Helvetica" font-size="18" font-weight="500" x=".48339844" y="18" textLength="62.033203">Present</tspan></text><line x1="441.75" y1="29" x2="441.75" y2="310" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(485.75 23)" fill="black"><tspan font-family="Helvetica" font-size="18" font-weight="500" x=".48876953" y="18" textLength="52.02246">Future</tspan></text><line x1="131" y1="231" x2="183.60001" y2="231" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="271" y1="231" x2="323.6" y2="231" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path d="M 501.1551 122.43422 C 492.1043 138.28789 507.8558 161.73987 474 170 C 440.1442 178.26013 334.69702 165.05635 298 172 C 267.94714 177.68646 267.3523 191.79527 260.0299 203.97917" marker-end="url(#FilledArrow_Marker_2)" stroke="#177fe5" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="8,4,1,4"/><line x1="131" y1="103" x2="183.60001" y2="103" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="253.40027" y1="122.33739" x2="343.79324" y2="204.98239" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="411" y1="231" x2="463.6" y2="231" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(339.892 160.30701)" fill="#00307d"><tspan font-family="Helvetica" font-size="18" font-weight="500" fill="#00307d" x=".49267578" y="18" textLength="84.01465">works with</tspan></text><rect x="250.49799" y="134.065" width="61" height="27" fill="white" fill-opacity=".38999999"/><text transform="translate(255.498 139.065)" fill="red"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="red" x=".20703125" y="14" textLength="50.585938">features</tspan></text><line x1="345.75" y1="84" x2="398.75" y2="84" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="356.753" y1="121.708" x2="387.747" y2="121.708" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="387.747" y1="121.708" x2="398.75" y2="84" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="356.753" y1="121.708" x2="345.75" y2="84" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="351.17398" y1="84" x2="389.1432" y2="116.9232" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="362.64182" y1="84" x2="391.43805" y2="109.05852" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="375.03946" y1="84" x2="393.82526" y2="100.877426" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="386.50732" y1="84" x2="396.04785" y2="93.26045" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="351.20837" y1="102.7062" x2="371.94006" y2="121.708" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="347.57745" y1="90.26282" x2="383.0979" y2="121.708" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="356.75293" y1="84" x2="348.27963" y2="92.66925" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="364.8114" y1="84" x2="350.19336" y2="99.22766" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="371.94006" y1="84" x2="352.69687" y2="107.807404" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="390.8465" y1="84" x2="362.3319" y2="121.708" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="379.99854" y1="84" x2="355.50928" y2="117.44571" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><line x1="396.95868" y1="90.13896" x2="373.1798" y2="121.708" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><path d="M 217.25188 211.60446 C 202.50273 192.53088 177.87483 178.97629 173 154.37801 C 168.12517 129.779724 177.33307 81.04455 188 64 C 196.63354 50.20457 212.69562 53.543407 227.16626 53.21476" marker-end="url(#FilledArrow_Marker_3)" stroke="#e55500" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="8,4,1,4"/><path d="M 244.54402 83.57752 C 250.3621 74.385933 242.5926 60.095844 262 56 C 281.40738 51.904156 341.16864 51.83405 361 59 C 376.48163 64.594193 375.9176 77.70646 378.0968 89.53222" marker-end="url(#FilledArrow_Marker_3)" stroke="#e55500" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="8,4,1,4"/><path d="M 105.08685 83.58291 C 110.724007 75.05612 105.182823 63.26329 122 58 C 138.81717 52.73671 179.00569 52.720856 206 52 C 229.55412 51.371014 251.58704 52.68962 274.08716 53.406693" marker-end="url(#FilledArrow_Marker_3)" stroke="#e55500" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="8,4,1,4"/></g></g></svg>
index a226ad77305da94713f61e44b48f16417a1679c1..4f9116bcc1a34ddd6148a8d2682f52eff4820825 100644 (file)
 <!doctype html>
 <html lang="en">
-
        <head>
                <meta charset="utf-8">
-
-               <title>reveal.js - The HTML Presentation Framework</title>
-
-               <meta name="description" content="A framework for easily creating beautiful presentations using HTML">
-               <meta name="author" content="Hakim El Hattab">
-
+               <title>Sane Software Development</title>
+               <meta name="description" content="Version control and packaging">
+               <meta name="author" content="Trevor King">
                <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, maximum-scale=1.0, user-scalable=no">
-
                <link rel="stylesheet" href="css/reveal.min.css">
                <link rel="stylesheet" href="css/theme/default.css" id="theme">
-
                <!-- For syntax highlighting -->
                <link rel="stylesheet" href="lib/css/zenburn.css">
-
                <!-- If the query includes 'print-pdf', use the PDF print sheet -->
                <script>
                        document.write( '<link rel="stylesheet" href="css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
                </script>
-
                <!--[if lt IE 9]>
                <script src="lib/js/html5shiv.js"></script>
                <![endif]-->
        </head>
-
        <body>
-
                <div class="reveal">
-
                        <!-- Any section element inside of this container is displayed as a slide -->
                        <div class="slides">
-
                                <section>
-                                       <h1>Reveal.js</h1>
-                                       <h3>HTML Presentations Made Easy</h3>
-                                       <p>
-                                               <small>Created by <a href="http://hakim.se">Hakim El Hattab</a> / <a href="http://twitter.com/hakimel">@hakimel</a></small>
+                                       <h2>Sane Software Development</h2>
+                                       <h3>Version control and packaging</h3>
+                                       <p style="text-align: center;">
+                                               <small>Trevor King</small>
                                        </p>
                                </section>
-
-                               <section>
-                                       <h2>Heads Up</h2>
-                                       <p>
-                                               reveal.js is a framework for easily creating beautiful presentations using HTML. You'll need a browser with
-                                               support for CSS 3D transforms to see it in its full glory.
-                                       </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>
-
-                               <!-- Example of nested vertical slides -->
                                <section>
                                        <section>
-                                               <h2>Vertical Slides</h2>
-                                               <p>
-                                                       Slides can be nested inside of other slides,
-                                                       try pressing <a href="#" class="navigate-down">down</a>.
-                                               </p>
-                                               <a href="#" class="image navigate-down">
-                                                       <img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
-                                               </a>
+                                               <h2>Basic version control</h2>
+                                               <p>Have you ever done something like this:</p>
+                                               <pre>
+                                               $ ls
+                                               analysis-2012-12-20.py
+                                               analysis-2013-01-15.py
+                                               analysis-2013-03-14.py
+                                               </pre>
                                        </section>
                                        <section>
-                                               <h2>Basement Level 1</h2>
-                                               <p>Press down or up to navigate.</p>
+                                               <h2>Logs</h2>
+                                               <p>With a version control system (VCS), that becomes:</p>
+                                               <pre>
+                                               $ git log --oneline
+                                               c4af9ce Bump to version 0.7
+                                               5b6c6d8 MANIFEST.in: Distribute *.pxd files
+                                               d07922f README: Double-backtick code for proper ReST markup
+                                               27562b0 channel: Fix to-physical setup in AnalogChannel._get_converter
+                                               …
+                                               </pre>
+                                               <p>Earlier versions are stored in the VCS database, so they
+                                               don't clutter your working directory.</p>
+                                               <aside class="notes">
+                                                       <p>There are other VCSes
+                                                       besides <a href="http://git-scm.com/">Git</a>, but Git has
+                                                       the most active developer community.</p>
+                                               </aside>
                                        </section>
                                        <section>
-                                               <h2>Basement Level 2</h2>
-                                               <p>Cornify</p>
-                                               <a class="test" href="http://cornify.com">
-                                                       <img width="280" height="326" src="https://s3.amazonaws.com/hakim-static/reveal-js/cornify.gif" alt="Unicorn">
-                                               </a>
+                                               <h2>Commits</h2>
+                                               <p>Each commit stores a snapshot of the the current code
+                                               with some additional metadata:</p>
+                                               <pre>
+                                               $ git cat-file -p c4af9ce
+                                               tree 5c7c8d28e0dd458c30fb8ebf221308c2a1c6a054
+                                               parent 5b6c6d811337b90226e9fd2cffbdf0d65e615bd5
+                                               author W. Trevor King &lt;wking@tremily.us&gt; 1360192104 -0500
+                                               committer W. Trevor King &lt;wking@tremily.us&gt; 1360192104 -0500
+                                               Bump to version 0.7
+                                               Changes since 0.6:
+                                               * MANIFEST.in: Distribute *.pxd files
+                                               * channel: Fix to-physical setup in AnalogChannel._get_converter
+                                               * A few documentation fixes and updates
+                                               </pre>
                                        </section>
                                        <section>
-                                               <h2>Basement Level 3</h2>
-                                               <p>That's it, time to go back up.</p>
-                                               <a href="#/2" class="image">
-                                                       <img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Up arrow" style="-webkit-transform: rotate(180deg);">
-                                               </a>
+                                               <h2>Trees</h2>
+                                               <p>Git trees are like file system directories.</p>
+                                               <pre>
+                                               $ git ls-tree 5c7c8d2
+                                               040000 tree 69281fb4331c61514f198d5f5fabea5343506f4d    .be
+                                               100644 blob 9aa3b8ae5f8c76b490918a48b5baad2008de1598    .gitignore
+                                               100644 blob 4a905eb41b3b8088ff8cf64a4feaebc71df8ca3f    .mailmap
+                                               100644 blob 792057b957a0b85bb24048e6ed3ebdabfd55820a    .update-copyright.conf
+                                               100644 blob d511905c1647a1e311e8b20d5930a37a9c2531cd    COPYING
+                                               100644 blob b3d277e49ed14a8e6c5530cc0b81054e96921dbb    MANIFEST.in
+                                               100644 blob fbeb14c783f7334722729c19235c75c8b994ead7    README
+                                               040000 tree c959dd2701ac400fc0e9ff7f987a7e3be3db55fb    doc
+                                               040000 tree 82e8191e5ba183698ed9af6d5c24c05e5abd6c3f    pycomedi
+                                               100644 blob cd0314fee3c9c05f448ccc8285f535c5d6828df6    setup.py
+                                               100755 blob b5ea21ecea4aa9d8c069beba4d5b9daf37a70633    test.sh
+                                               </pre>
                                        </section>
-                               </section>
-
-                               <section>
-                                       <h2>Point of View</h2>
-                                       <p>
-                                               Press <strong>ESC</strong> to enter the slide overview. Hold down alt and click on any element to zoom in on it using <a href="http://lab.hakim.se/zoom-js">zoom.js</a>. Alt + click anywhere to zoom back out.
-                                       </p>
-                               </section>
-
-                               <section>
-                                       <h2>rvl.io</h2>
-                                       <p>
-                                               If you don't like writing slides in HTML you can use the online editor <a href="http://www.rvl.io" target="_blank">rvl.io</a>.
-                                       </p>
-                               </section>
-
-                               <section>
-                                       <h2>Works in Mobile Safari</h2>
-                                       <p>
-                                               Try it out! You can swipe through the slides and pinch your way to the overview.
-                                       </p>
-                               </section>
-
-                               <section>
-                                       <h2>Marvelous Unordered List</h2>
-                                       <ul>
-                                               <li>No order here</li>
-                                               <li>Or here</li>
-                                               <li>Or here</li>
-                                               <li>Or here</li>
-                                       </ul>
-                               </section>
-
-                               <section>
-                                       <h2>Fantastic Ordered List</h2>
-                                       <ol>
-                                               <li>One is smaller than...</li>
-                                               <li>Two is smaller than...</li>
-                                               <li>Three!</li>
-                                       </ol>
-                               </section>
-
-                               <section data-markdown>
-                                       <script type="text/template">
-                                               ## Markdown support
-
-                                               For those of you who like that sort of thing. Instructions and a bit more info available [here](https://github.com/hakimel/reveal.js#markdown).
-
-                                                       <section data-markdown>
-                                                         ## Markdown support
-
-                                                         For those of you who like that sort of thing.
-                                                         Instructions and a bit more info available [here](https://github.com/hakimel/reveal.js#markdown).
-                                                       </section>
-                                       </script>
-                               </section>
-
-                               <section id="transitions">
-                                       <h2>Transition Styles</h2>
-                                       <p>
-                                               You can select from different transitions, like: <br>
-                                               <a href="?transition=cube#/transitions">Cube</a> -
-                                               <a href="?transition=page#/transitions">Page</a> -
-                                               <a href="?transition=concave#/transitions">Concave</a> -
-                                               <a href="?transition=zoom#/transitions">Zoom</a> -
-                                               <a href="?transition=linear#/transitions">Linear</a> -
-                                               <a href="?transition=fade#/transitions">Fade</a> -
-                                               <a href="?transition=none#/transitions">None</a> -
-                                               <a href="?#/transitions">Default</a>
-                                       </p>
-                               </section>
-
-                               <section id="themes">
-                                       <h2>Themes</h2>
-                                       <p>
-                                               Reveal.js comes with a few themes built in: <br>
-                                               <a href="?theme=sky#/themes">Sky</a> -
-                                               <a href="?theme=beige#/themes">Beige</a> -
-                                               <a href="?theme=simple#/themes">Simple</a> -
-                                               <a href="?theme=serif#/themes">Serif</a> -
-                                               <a href="?theme=night#/themes">Night</a> -
-                                               <a href="?#/themes">Default</a>
-                                       </p>
-                                       <p>
-                                               <small>
-                                                       * Theme demos are loaded after the presentation which leads to flicker. In production you should load your theme in the <code>&lt;head&gt;</code> using a <code>&lt;link&gt;</code>.
-                                               </small>
-                                       </p>
-                               </section>
-
-                               <section>
-                                       <section data-state="alert">
-                                               <h2>Global State</h2>
-                                               <p>
-                                                       Set <code>data-state="something"</code> on a slide and <code>"something"</code>
-                                                       will be added as a class to the document element when the slide is open. This lets you
-                                                       apply broader style changes, like switching the background.
-                                               </p>
-                                               <a href="#" class="image navigate-down">
-                                                       <img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
-                                               </a>
+                                       <section>
+                                               <h2>Blobs</h2>
+                                               <p>Git blobs are like files.</p>
+                                               <pre>
+                                               $ git ls-tree 5c7c8d2
+                                               …
+                                               100644 blob fbeb14c783f7334722729c19235c75c8b994ead7    README
+                                               …
+                                               $ git cat-file -p fbeb14c
+                                               This package provides an object-oriented interface to the Comedi_
+                                               drivers.  The standard Python interface bundled with Comedilib is a
+                                               simple SWIG clone of the C interface.  In pycomedi, we convert the
+                                               …
+                                               </pre>
                                        </section>
-                                       <section data-state="blackout">
-                                               <h2>"blackout"</h2>
-                                               <a href="#" class="image navigate-down">
-                                                       <img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
-                                               </a>
+                                       <section>
+                                               <h2>Commits, trees, and blobs</h2>
+                                               <img src="img/18333fig0301-tn.png" />
+                                               <p style="text-align: center;"><small>
+                                                               From <a href="https://github.com/progit/progit/">Pro Git</a>
+                                               </small></p>
                                        </section>
-                                       <section data-state="soothe">
-                                               <h2>"soothe"</h2>
-                                               <a href="#" class="image navigate-next">
-                                                       <img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Up arrow" style="-webkit-transform: rotate(-90deg);">
-                                               </a>
+                                       <section>
+                                               <h2>Hashes</h2>
+                                               <p>What's with all the hex strings?
+                                               (e.g. <code>fbeb14c783f7334722729c19235c75c8b994ead7</code>)</p>
+                                               <p>Git stores objects (commits, trees, blobs, …) in a
+                                               <a href="http://en.wikipedia.org/wiki/Content-addressable_storage">content
+                                               addressable database</a>.  This means that when you store
+                                               some content in the database, you get a key that you can
+                                               use to retrieve that data later.</p>
+                                               <pre>
+                                               $ echo 'test content' | git hash-object -w --stdin
+                                               d670460b4b4aece5915caf5c68d12f560a9fe3e4
+                                               $ git cat-file d670460
+                                               test content
+                                               </pre>
+                                               <aside class="notes">
+                                                       <p>Git uses SHA-1 sums to compute the hashes.  This
+                                                       helps avoid key collisions during distributed
+                                                       development and provides a number of other benefits
+                                                       (e.g. tamper resistence).  You can abbreviate hashes
+                                                       when you use them in commands, but your abbreviation
+                                                       must still be unique.</p>
+                                               </aside>
                                        </section>
                                </section>
-
-                               <section data-state="customevent">
-                                       <h2>Custom Events</h2>
-                                       <p>
-                                               Additionally custom events can be triggered on a per slide basis by binding to the <code>data-state</code> name.
-                                       </p>
-                                       <pre><code contenteditable style="font-size: 18px; margin-top: 20px;">Reveal.addEventListener( 'customevent', function() {
-       console.log( '"customevent" has fired' );
-} );
-                                       </code></pre>
-                               </section>
-
                                <section>
-                                       <h2>Clever Quotes</h2>
-                                       <p>
-                                               These guys come in two forms, inline: <q cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">
-                                               The nice thing about standards is that there are so many to choose from</q> and block:
-                                       </p>
-                                       <blockquote cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">
-                                               For years there has been a theory that millions of monkeys typing at random on millions of typewriters would
-                                               reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.
-                                       </blockquote>
-                               </section>
-
-                               <section>
-                                       <h2>Pretty Code</h2>
-                                       <pre><code contenteditable>
-function linkify( selector ) {
-  if( supports3DTransforms ) {
-
-    var nodes = document.querySelectorAll( selector );
-
-    for( var i = 0, len = nodes.length; i &lt; len; i++ ) {
-      var node = nodes[i];
-
-      if( !node.className ) ) {
-        node.className += ' roll';
-      }
-    };
-  }
-}
-                                       </code></pre>
-                                       <p>Courtesy of <a href="http://softwaremaniacs.org/soft/highlight/en/description/">highlight.js</a>.</p>
+                                       <section>
+                                               <h2>Branches</h2>
+                                               <p>Git commits form
+                                               a <a href="http://en.wikipedia.org/wiki/Directed_acyclic_graph">directed
+                                               acyclic graph</a>.  To keep track of development, you can
+                                               label the leaf commits.</p>
+                                               <img src="img/18333fig0327-tn.png" />
+                                               <p style="text-align: center;"><small>
+                                                               From <a href="https://github.com/progit/progit/">Pro Git</a>
+                                               </small></p>
+                                       </section>
+                                       <section>
+                                               <h2>Merges</h2>
+                                               <p>When a feature looks good, you can merge it into your
+                                               master branch.</p>
+                                               <img src="img/18333fig0328-tn.png" />
+                                               <p style="text-align: center;"><small>
+                                                               From <a href="https://github.com/progit/progit/">Pro Git</a>
+                                               </small></p>
+                                       </section>
+                                       <section>
+                                               <h2>Rebasing</h2>
+                                               <p>You can also create new branches by applying the
+                                               changes from an old branch to a new base commit.</p>
+                                               <img src="img/18333fig0329-tn.png" />
+                                               <p style="text-align: center;"><small>
+                                                               From <a href="https://github.com/progit/progit/">Pro Git</a>
+                                               </small></p>
+                                       </section>
+                                       <section>
+                                               <!--h2>Elaborate branching</h2-->
+                                               <img src="img/git-flow.png" />
+                                               <p style="text-align: center;"><small>
+                                                               From <a href="http://nvie.com/posts/a-successful-git-branching-model/">Vincent Driessen</a>
+                                               </small></p>
+                                       </section>
                                </section>
-
                                <section>
-                                       <h2>Intergalactic Interconnections</h2>
-                                       <p>
-                                               You can link between slides internally,
-                                               <a href="#/2/3">like this</a>.
-                                       </p>
+                                       <section>
+                                               <h2>Distributed version control</h2>
+                                               <p>So far we've talked about managing code locally, but
+                                               many VCSes make it easy to collaborate.  The usual
+                                               workflow is something like this:</p>
+                                               <img src="img/18333fig0502-tn.png" />
+                                               <p style="text-align: center;"><small>
+                                                               From <a href="https://github.com/progit/progit/">Pro Git</a>
+                                               </small></p>
+                                       </section>
+                                       <section>
+                                               <h2>Public repositories</h2>
+                                               <p>It's easy to host your own public repositories
+                                               (e.g. on <code>newton</code>), but there are also a number
+                                               of free hosting sites
+                                               (<a href="http://github.com/">GitHub</a>,
+                                                <a href="http://gitorious.org/">Gitorious</a>,
+                                                <a href="http://bitbucket.org/">Bitbucket</a>,
+                                                …).</p>
+                                               <img src="img/18333fig0413-tn.png" />
+                                               <p style="text-align: center;"><small>
+                                                               From <a href="https://github.com/progit/progit/">Pro Git</a>
+                                               </small></p>
+                                       </section>
                                </section>
-
                                <section>
                                        <section>
-                                               <h2>Fragmented Views</h2>
-                                               <p>Hit the next arrow...</p>
-                                               <p class="fragment">... to step through ...</p>
-                                               <ol>
-                                                       <li class="fragment"><code>any type</code></li>
-                                                       <li class="fragment"><em>of view</em></li>
-                                                       <li class="fragment"><strong>fragments</strong></li>
-                                               </ol>
-
+                                               <h2>Python packaging</h2>
+                                               <p>Python packaging has been evolving slowly, and there
+                                               are a number of competing libraries at the moment:</p>
+                                               <img src="img/state_of_packaging.svg" />
+                                               <p style="text-align: center;"><small>
+                                                               From
+                                                               the <a href="https://bitbucket.org/tarek/hitchhiker-guide-packaging/overview">Hitchhiker's
+                                                               Guide to Packaging</a>
+                                               </small></p>
                                                <aside class="notes">
-                                                       This slide has fragments which are also stepped through in the notes window.
+                                                       <p>Automatic dependency installation is currently only
+                                                       supported by Setuptools and Distribute, but support is
+                                                       being stabalized for the standard library
+                                                       (e.g. <a href="http://www.python.org/dev/peps/pep-0427/">wheels</a>
+                                                       can
+                                                       use <a href="http://www.python.org/dev/peps/pep-0345/">version
+                                                       1.2 metadata</a> with <code>Requires-Dist</code>.</p>
                                                </aside>
                                        </section>
                                        <section>
-                                               <h2>Fragment Styles</h2>
-                                               <p>There's a few styles of fragments, like:</p>
-                                               <p class="fragment grow">grow</p>
-                                               <p class="fragment shrink">shrink</p>
-                                               <p class="fragment roll-in">roll-in</p>
-                                               <p class="fragment fade-out">fade-out</p>
-                                               <p class="fragment highlight-red">highlight-red</p>
-                                               <p class="fragment highlight-green">highlight-green</p>
-                                               <p class="fragment highlight-blue">highlight-blue</p>
+                                               <h2>Python's package index</h2>
+                                               <img src="img/pypi.jpg" />
+                                               <p style="text-align: center;"><small>
+                                                               From
+                                                               the <a href="https://bitbucket.org/tarek/hitchhiker-guide-packaging/overview">Hitchhiker's
+                                                               Guide to Packaging</a>
+                                               </small></p>
+                                       </section>
+                                       <section>
+                                               <h2>Standard package content</h2>
+                                               <p>Things you should have in every package (Python or
+                                               otherwise).</p>
+                                               <dl>
+                                                       <dt><code>README</code></dt>
+                                                       <dd>Purpose, installation instructions, contact
+                                                       information, …</dd>
+                                                       <dt><code>COPYING</code> (or <code>LICENSE</code>)</dt>
+                                                       <dd>How others are allowed to use the package</dd>
+                                               </dl>
+                                       </section>
+                                       <section>
+                                               <h2>Python package content</h2>
+                                               <p>The bulk of the configuration (for current libraries)
+                                               goes in <code>setup.py</code>.</p>
+                                               <pre>
+                                               #!/usr/bin/env python
+                                               from distutils.core import setup
+                                               setup(name='Distutils',
+                                                     version='1.0',
+                                                     description='Python Distribution Utilities',
+                                                     author='Greg Ward',
+                                                     author_email='gward@python.net',
+                                                     url='http://www.python.org/sigs/distutils-sig/',
+                                                     packages=['distutils', 'distutils.command'],
+                                                    )
+                                               </pre>
+                                       </section>
+                                       <section>
+                                               <h2>Cutting a release</h2>
+                                               <pre>
+                                               …hack hack hack…
+                                               $ git commit -am 'Bump to version 0.7'
+                                               $ git tag -s -m 'version 0.7' v0.7
+                                               $ git push --tags origin master
+                                               $ python setup.py sdist upload
+                                               </pre>
+                                       </section>
+                                       <section>
+                                               <h2>Installing packages from PyPI</h2>
+                                               <pre>
+                                               $ pip install --user pycomedi
+                                               Downloading/unpacking pycomedi
+                                                 Downloading pycomedi-0.7.tar.gz (47kB): 47kB downloaded
+                                                 Running setup.py egg_info for package pycomedi
+                                               Installing collected packages: pycomedi
+                                                 Running setup.py install for pycomedi
+                                                   cythoning pycomedi/_error.pyx to pycomedi/_error.c
+                                                   building 'pycomedi._error' extension
+                                                   x86_64-pc-linux-gnu-gcc … -o build/temp.linux-x86_64-3.2/pycomedi/_error.o
+                                                   …
+                                               Successfully installed pycomedi
+                                               Cleaning up...
+                                               </pre>
                                        </section>
                                </section>
-
-                               <section>
-                                       <h2>Spectacular image!</h2>
-                                       <a class="image" href="http://lab.hakim.se/meny/" target="_blank">
-                                               <img width="320" height="299" src="http://s3.amazonaws.com/hakim-static/portfolio/images/meny.png" alt="Meny">
-                                       </a>
-                               </section>
-
-                               <section>
-                                       <h2>Export to PDF</h2>
-                                       <p>Presentations can be <a href="https://github.com/hakimel/reveal.js#pdf-export">exported to PDF</a>, below is an example that's been uploaded to SlideShare.</p>
-                                       <iframe id="slideshare" src="http://www.slideshare.net/slideshow/embed_code/13872948" width="455" height="356" style="margin:0;overflow:hidden;border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen> </iframe>
-                                       <script>
-                                               document.getElementById('slideshare').attributeName = 'allowfullscreen';
-                                       </script>
-                               </section>
-
-                               <section>
-                                       <h2>Take a Moment</h2>
-                                       <p>
-                                               Press b or period on your keyboard to enter the 'paused' mode. This mode is helpful when you want to take distracting slides off the screen
-                                               during a presentation.
-                                       </p>
-                               </section>
-
-                               <section>
-                                       <h2>Stellar Links</h2>
-                                       <ul>
-                                               <li><a href="https://github.com/hakimel/reveal.js">Source code on GitHub</a></li>
-                                               <li><a href="http://hakim.se/projects/reveal-js">Leave feedback on my site</a></li>
-                                               <li><a href="http://twitter.com/hakimel">Follow me on Twitter</a></li>
-                                       </ul>
-                               </section>
-
                                <section>
-                                       <h2>It's free</h2>
-                                       <p>
-                                               reveal.js and <a href="http://www.rvl.io">rvl.io</a> are entirely free but if you'd like to support the projects you can donate below.
-                                               Donations will go towards hosting and domain costs.
-                                       </p>
-                                       <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
-                                               <input type="hidden" name="cmd" value="_donations">
-                                               <input type="hidden" name="business" value="hakim.elhattab@gmail.com">
-                                               <input type="hidden" name="lc" value="US">
-                                               <input type="hidden" name="item_name" value="reveal.js / rvl.io">
-                                               <input type="hidden" name="no_note" value="0">
-                                               <input type="hidden" name="currency_code" value="USD">
-                                               <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-                                               <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-                                       </form>
+                                       <section>
+                                               <h2>System packaging</h2>
+                                               <p>Python packaging is great if your packages only depend
+                                               on other Python packages.
+                                               My <a href="https://pypi.python.org/pypi/pycomedi/">pycomedi</a>
+                                               package depends
+                                               on <a href="http://www.comedi.org/">comedilib</a>.  How do
+                                               I automatically install that?  How do I check for the
+                                               required kernel configuration?</p>
+                                               <p>We need to reach beyond Python packaging for the
+                                               distribution's general purpose package manger.</p>
+                                       </section>
+                                       <section>
+                                               <h2>Gentoo packaging</h2>
+                                               <p>Gentoo's <a href="http://www.gentoo.org/proj/en/qa/pms.xml">Package
+                                               Manager Specification</a> defines the package format.  The
+                                               core element is the ebuild:</p>
+                                               <pre>
+                                               EAPI="5"
+                                               PYTHON_COMPAT="python{2_6,2_7,3_2,3_3}"
+                                               inherit eutils distutils-r1 git-2
+                                               EGIT_REPO_URI="git://tremily.us/${PN}.git"
+                                               DESCRIPTION="Pythonic wrappers around the Comedilib device drivers."
+                                               HOMEPAGE="http://blog.tremily.us/posts/${PN}/"
+                                               LICENSE="GPL-3"
+                                               SLOT="0"
+                                               KEYWORDS="~x86 ~amd64"
+                                               IUSE="doc +kmod test"
+                                               …
+                                               </pre>
+                                       </section>
+                                       <section>
+                                               <h2>Ebuild dependencies</h2>
+                                               <p>Run-time and build-time dependencies can depend
+                                               on <code>USE</code> flags, which makes supporting optional
+                                               functionality easy:</p>
+                                               <pre>
+                                               …
+                                               IUSE="doc +kmod test"
+                                               RDEPEND="sci-libs/comedilib[python]
+                                                 dev-python/numpy
+                                                 sci-libs/scipy
+                                                 kmod? ( dev-python/python-kmod )"
+                                               DEPEND="$RDEPEND
+                                                 >=dev-python/cython-0.14
+                                                 test? ( dev-python/nose )"
+                                               …
+                                               </pre>
+                                       </section>
+                                       <section>
+                                               <h2>Ebuild phases</h2>
+                                               <p>Ebuilds have a number of phases
+                                               (<code>pkg_pretend</code>,
+                                                <code>pkg_setup</code>,
+                                                <code>src_unpack</code>,
+                                                <code>src_prepare</code>,
+                                                <code>src_configure</code>,
+                                                <code>src_compile</code>,
+                                                …).  Eclasses usually setup good defaults, which you can
+                                               override as you see fit.</p>
+                                               <pre>
+                                               …
+                                               src_install() {
+                                                 distutils_src_install
+                                                 dodoc README
+                                                 if use doc; then
+                                                   dodoc -r doc/
+                                                 fi
+                                               }
+                                               </pre>
+                                       </section>
+                                       <section>
+                                               <h2>Overlays</h2>
+                                               <p>Since I don't have access to the
+                                               core <a href="http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/">Portage
+                                               tree</a>, I store my packages in
+                                               an <a href="http://www.gentoo.org/proj/en/overlays/userguide.xml">overlay</a>:</p>
+                                               <pre>
+                                               # emerge -av app-portage/layman
+                                               # layman --add wtk
+                                               # echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf
+                                               # emerge -av pycomedi
+                                               These are the packages that would be merged, in order:
+                                               Calculating dependencies... done!
+                                               [ebuild  N    ~] sci-libs/comedilib-9999::wtk  USE="python -doc -ruby" 0 kB
+                                               [ebuild  N    ~] dev-python/python-kmod-9999::wtk  0 kB
+                                               [ebuild  N     ] sci-libs/scipy-0.9.0-r1  USE="-doc -umfpack" 0 kB
+                                               [ebuild  N    ~] sci-libs/pycomedi-9999::wtk  USE="kmod -doc {-test}" 0 kB
+                                               Total: 4 packages (4 new), Size of downloads: 0 kB
+                                               Would you like to merge these packages? [Yes/No]
+                                               …
+                                               </pre>
+                                       </section>
                                </section>
-
                                <section>
                                        <h1>THE END</h1>
-                                       <h3>BY Hakim El Hattab / hakim.se</h3>
+                                       <p style="text-align: center;">
+                                       Written with <a href="http://lab.hakim.se/reveal-js/">reveal.js</a>
+                                       </p>
                                </section>
-
                        </div>
-
                </div>
-
                <script src="lib/js/head.min.js"></script>
                <script src="js/reveal.min.js"></script>
-
                <script>
-
                        // Full list of configuration options available here:
                        // https://github.com/hakimel/reveal.js#configuration
                        Reveal.initialize({
@@ -355,10 +407,8 @@ function linkify( selector ) {
                                progress: true,
                                history: true,
                                center: true,
-
                                theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
-                               transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none
-
+                               transition: Reveal.getQueryHash().transition || 'none', // default/cube/page/concave/zoom/linear/fade/none
                                // Optional libraries used to extend on reveal.js
                                dependencies: [
                                        { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
@@ -371,8 +421,6 @@ function linkify( selector ) {
                                        // { src: 'plugin/remotes/remotes.js', async: true, condition: function() { return !!document.body.classList; } }
                                ]
                        });
-
                </script>
-
        </body>
 </html>