Some minor updates to notes
authorCameron Ball <cameron@moodle.com>
Tue, 24 Mar 2020 15:36:15 +0000 (23:36 +0800)
committerCameron Ball <cameron@moodle.com>
Tue, 24 Mar 2020 15:36:15 +0000 (23:36 +0800)
index.html

index ad5fcfb..56f1afb 100644 (file)
     <div id="slide-1">
         <div class="slide-title">=<< Welcome to the Talk Called >>=</div>
         <div class="slide flexotron" style="flex-wrap: nowrap;">
-            <img class="cloudguypower" src="img/cloudguy-power.gif" />
+            <img class="cloudguypower" style="margin-left: 70px;" src="img/cloudguy-power.gif" />
             <div style="text-align:center; font-size:60px; text-shadow: 4px 4px #000; padding:20px;">Wide-Eyed Crazy Functional Programming</div>
-            <img class="cloudguypower" style="transform: scaleX(-1);" src="img/cloudguy-power.gif" />
+            <img class="cloudguypower" style="margin-right: 70px; transform: scaleX(-1);" src="img/cloudguy-power.gif" />
         </div>
     </div>
     <div id="slide-2">
     <div id="slide-24">
         <div class="slide-title">=<< Big Brain Moment >>=</div>
         <div class="slide flexotron">
-            <div class="textbox" style="text-align:center; font-size:40px; text-shadow: 4px 4px #000; padding:20px;" >Programming languages <span class="shake-slow shake-constant" style="color: #f98012">ARE</span> human languages.</div>
+            <div class="textbox" style="text-align:center; font-size:40px; text-shadow: 4px 4px #000; padding:20px;" >Programming languages <span class="highlight">ARE</span> human languages.</div>
         </div>
         <div class="notes">
             <ul>
     <div id="slide-28">
         <div class="slide-title">=<< Why is declaritive mood good? >>=</div>
         <div class="slide flexotron">
-            <div style="text-align:center; font-size:50px; text-shadow: 4px 4px #000; padding:20px;" >Declarative programs express what <span class="shake-slow shake-constant" style="color: #f98012">they actually do</span> Leaving more "brain space" to focus on solving the problem.</div>
+            <div style="text-align:center; font-size:50px; text-shadow: 4px 4px #000; padding:20px;" >Declarative programs express what <span class="highlight" style="display: block;">they actually do</span> leaving more "brain space" to focus on solving the problem.</div>
         </div>
         <div class="notes">
             <ul>
                 <li>A declaritive program expresses its operation in terms of relationships.</li>
-                <li>In an imperative paradigm, thinking about the program means thinking about changes over time</li>
-                <li>In a declaritive one, thinking about the program means thinking about relationships</li>
+                <li>In an imperative paradigm, thinking about the program means thinking about changes over time => keeping track of changes</li>
+                <li>In a declaritive one, thinking about the program means thinking about relationships => look at what the thing is, how it relates to the other thing, and move on</li>
             </ul>
         </div>
     </div>
     <div id="slide-35">
         <div class="slide-title">=<< Big Brain Moment >>=</div>
         <div class="slide flexotron">
-            <div class="textbox" style="text-align:center; font-size:40px; text-shadow: 4px 4px #000; padding:20px;" >Programming languages <span class="shake-slow shake-constant" style="color: #f98012">ARE</span> human languages.</div>
+            <div class="textbox" style="text-align:center; font-size:40px; text-shadow: 4px 4px #000; padding:20px;" >Programming languages <span class="highlight">ARE</span> human languages.</div>
         </div>
         <div class="notes">
             <ul>
@@ -912,6 +912,12 @@ threeFs = repeat("f").substr(0,3);
     <span class="code-friends3" onmouseenter="activateFriends(3);" onmouseleave="deactivateFriends(3);" style="display: inline-block">>>=</span> (<span class="code-friends4" onmouseenter="activateFriends(4);" onmouseleave="deactivateFriends(4);" style="display: inline-block">\x -> </span><span class="code-friends5" onmouseenter="activateFriends(5);" onmouseleave="deactivateFriends(5);" style="display: inline-block">Right</span> (<span class="code-friends6" onmouseenter="activateFriends(6);" onmouseleave="deactivateFriends(6);" style="display: inline-block">x ++ " then get here"</span>))
     <span class="code-friends7" onmouseenter="activateFriends(7);" onmouseleave="deactivateFriends(7);" style="display: inline-block">>>=</span> (<span class="code-friends8" onmouseenter="activateFriends(8);" onmouseleave="deactivateFriends(8);" style="display: inline-block">\x -></span> <span class="code-friends9" onmouseenter="activateFriends(9);" onmouseleave="deactivateFriends(9);" style="display: inline-block">Right</span> (<span class="code-friends10" onmouseenter="activateFriends(10);" onmouseleave="deactivateFriends(10);" style="display: inline-block">x ++ " and finally here!"</span>))</code></pre>
         </div>
+        <div class="notes">
+            <ul>
+                <li>It does not matter what order the promises resolve in, the final promise will always be resolved with "We start here..."</li>
+                <li>In this specific example, there is nothing asynchronous happening, but it's not much work to adapt it so there is. I just wanted to really highlight the similarities with haskell</li>
+            </ul>
+        </div>
     </div>
     <div id="slide-47">
         <div class="slide-title">=<< Promises >>=</div>
@@ -930,6 +936,7 @@ threeFs = repeat("f").substr(0,3);
         </div>
         <div class="notes">
             <ul>
+                <li>Likewise, we can put a failure anywhere in the chain. It doesn't matter if the failure happens first, last, or anywhere in between. The result is always a failed promise of "Oh noes!"</li>
                 <li>So, if you've ever used promises, you've been doing declaritive style programming without even realising it!</li>
                 <li>They give us some new powers, we can now write atemporal code, which explains why they emerged in JS, a place where people are constantly dealing with requests that can finish in any order</li>
                 <li>So it's super cool that people using a language very far removed from haskell ended up solving the problem in the same way</li>