Skip to content

Commit

Permalink
IT'S FUCKING DONE
Browse files Browse the repository at this point in the history
  • Loading branch information
ncase committed Jul 25, 2017
1 parent 61682b3 commit 0256bee
Show file tree
Hide file tree
Showing 108 changed files with 793 additions and 57 deletions.
5 changes: 5 additions & 0 deletions README.md
@@ -0,0 +1,5 @@
\[README IN PROGRESS\]

\[ARGH I'M PULLING EVERYTHING TOGETHER SO LAST MINUTE\]

\["LICENSE": THIS THING IS PUBLIC DOMAIN, DO WHATEVER YOU WANT\]
Binary file modified assets/ui/sound.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions css/slides.css
Expand Up @@ -500,3 +500,26 @@ s{
background: #fff;
}

/*************************/
/***** CREDITS ******/
/*************************/

.credits{
color: #888;
}
.credits .big{
font-size:40px;
line-height: 42px;
color:#fff;
}
.credits .divider{
display: block;
height: 45px;
}
.credits a{
color:#dd4040;
}
.credits a:hover{
color:#ee5151;
}

2 changes: 2 additions & 0 deletions js/core/IncDecNumber.js
Expand Up @@ -48,6 +48,7 @@ function IncDecNumber(config){
up.onclick = function(){
self.setValue(self.value+1);
self.onchange(self.value);
Loader.sounds.button2.play(); // higher pitch
};
dom.appendChild(up);

Expand All @@ -57,6 +58,7 @@ function IncDecNumber(config){
down.onclick = function(){
self.setValue(self.value-1);
self.onchange(self.value);
Loader.sounds.button1.play(); // lower pitch
};
dom.appendChild(down);

Expand Down
4 changes: 2 additions & 2 deletions js/main.js
Expand Up @@ -4,7 +4,7 @@ window.onload = function(){
// PRELOADER
Q.all([
Loader.loadAssets(Loader.manifestPreload),
Words.convert("lang/en.html")
Words.convert("words.html")
]).then(function(){

// CHANGE DOM
Expand All @@ -29,7 +29,7 @@ window.onload = function(){

// [FOR DEBUGGING]
publish("slideshow/next");
//publish("slideshow/scratch", ["conclusion"]);
//publish("slideshow/scratch", ["credits"]);

});

Expand Down
2 changes: 1 addition & 1 deletion js/sims/Iterated.js
Expand Up @@ -123,7 +123,7 @@ function Iterated(config){
});
self.introMachine = function(){
_introMachine = 40;
Loader.sounds.machine_start.volume(0.8).play();
Loader.sounds.machine_start.volume(0.65).play();
};

///////////////////////////////////////////////
Expand Down
4 changes: 2 additions & 2 deletions js/slides/1_Slides_OneOff.js
Expand Up @@ -50,8 +50,8 @@ SLIDES.push({

},
onend: function(self){
self.remove("labelYou");
self.remove("labelThem");
//self.remove("labelYou");
//self.remove("labelThem");
}

},{
Expand Down
18 changes: 17 additions & 1 deletion js/slides/2_Slides_Iterated.js
Expand Up @@ -7,6 +7,20 @@ SLIDES.push({
// Iterated Simulation
self.add({id:"iterated", type:"Iterated", x:130, y:133});
self.objects.iterated.dehighlightPayoff();

// Labels
self.add({
id:"labelYou", type:"TextBox",
x:211, y:201, width:50, height:50,
align:"center", color:"#aaa", size:17,
text_id:"label_you"
});
self.add({
id:"labelThem", type:"TextBox",
x:702, y:189, width:50, height:50,
align:"center", color:"#aaa", size:17,
text_id:"label_them"
});

},

Expand Down Expand Up @@ -54,6 +68,8 @@ SLIDES.push({
onend: function(self){
self.remove("topWords");
self.remove("btmWords");
self.remove("labelYou");
self.remove("labelThem");
}

});
Expand Down Expand Up @@ -87,7 +103,7 @@ SLIDES.push({
//////////////////////////

// Move it
self.objects.iterated.dom.style.top = 183;
o.iterated.dom.style.top = 183;

// Scoreboard!
self.add({id:"scoreboard", type:"IteratedScoreboard", x:378, y:85});
Expand Down
2 changes: 1 addition & 1 deletion js/slides/3_Slides_Tournament.js
Expand Up @@ -209,7 +209,7 @@ SLIDES.push({
});

// DRUMROLL
Loader.sounds.drumroll.play();
Loader.sounds.drumroll.volume(0.8).play();
_hide(o.text);
_hide(o.button);
setTimeout(function(){
Expand Down
3 changes: 2 additions & 1 deletion js/slides/6_Slides_Noise.js
Expand Up @@ -9,7 +9,8 @@ SLIDES.push({

// Iterated Simulation
self.add({id:"iterated", type:"Iterated", x:130, y:133});
self.objects.iterated.dehighlightPayoff();
o.iterated.dehighlightPayoff();
o.iterated.playerA.chooseHat("tft");

// Words on top & bottom
self.add({
Expand Down
4 changes: 2 additions & 2 deletions js/slides/7_Slides_Sandbox.js
Expand Up @@ -13,12 +13,12 @@ SLIDES.push({
// Label & Button for next...
self.add({
id:"label_next", type:"TextBox",
x:40, y:481, width:550, align:"right",
x:55, y:481, width:535, align:"right",
text_id: "sandbox_end"
});
self.add({
id:"button_next", type:"Button",
x:605, y:465, size:"long",
x:605, y:485, size:"long",
text_id:"sandbox_end_btn",
message: "slideshow/scratch"
});
Expand Down
4 changes: 2 additions & 2 deletions js/slides/9_Slides_Credits.js
Expand Up @@ -6,8 +6,8 @@ SLIDES.push({
// Circular Wordbox
self.add({
id:"text", type:"TextBox",
x:160, y:70, width:640, height:500, align:"center",
text_id:"credits_beta", color:"#fff"
x:0, y:35, width:960, height:400, align:"center",
text_id:"credits", color:"#fff"
});
}
});
Binary file added notes/favicon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
108 changes: 108 additions & 0 deletions notes/index.html
@@ -0,0 +1,108 @@
<!DOCTYPE html>
<html>

<head>

<meta charset="utf-8">
<title>The Evolution of Trust: Feetnotes</title>
<link rel="icon" type="image/png" href="favicon.png">
<link rel="stylesheet" href="notes.css">

</head>

<body>
<div id="notes">

<h1>NOTES:</h1>

<h3>"The Evolution of Trust"</h3>

<p>This interactive guide is heavily based off Robert Axelrod's groundbreaking 1984 book, <a href="https://www.amazon.com/Evolution-Cooperation-Revised-Robert-Axelrod/dp/0465005640">The Evolution of Cooperation</a>! I was also heavily inspired by his 1997 sequel, <a href="http://press.princeton.edu/titles/6144.html">The Complexity of Cooperation</a>, and Robert Putnam's 2000 book on America's declining "social capital", <a href="http://bowlingalone.com/">Bowling Alone</a>.</p>

<p>yes i'm a bookworm nerd, plz don't bully me</p>

<h3>"Fewer and fewer people say they trust each other"</h3>

<p>To see a thorough statistical take on this, check out <a href="https://ourworldindata.org/trust">Our World In Data</a>. Mmmm stats</p>

<h3>"The Game of Trust"</h3>

<p>This game is also known in game theory as the infamous <em>Prisoner's Dilemma</em>. The Prisoner's Dilemma is named after a story where two suspects can either squeal on their partner-in-crime ("cheat"), or stay silent ("cooperate"). I chose not to do this story because 1) in this case, both players "cooperating" would be bad for society, and 2) it's unrealistic, everyone knows that snitches get stitches</p>

<h3>"You won't know in advance when the last round is"</h3>

<p>In the repeated game of trust (also known as <em>Iterated Prisoner's Dilemma</em>), it's important that neither player knows <em>when</em> the last round is. Why? Think about it - on the last round, both players would know their action has no consequence, so they'd both cheat. But that means in the second-last round, their actions can't change the next round, so they'd also both cheat. But that means in the third-last round... etc etc.</p>

<h3>"Copycat"</h3>

<p>This strategy is better known in game theory as <em>Tit For Tat</em>. It was created by Anatol Rapoport in 1980, for Robert Axelrod's game theory tournament. I chose not to use the name "Tit For Tat" because 1) it <em>sounds</em> mean, although it's a nice &amp; fair strategy, and 2) a lot of the public have already heard about Tit For Tat, so if I used that name, players might just place their bets on this character because they've already heard of "Tit For Tat".</p>

<h3>"You may be skeptical about the Christmas Truce"</h3>

<p>There was another guy who was skeptical, too. During the truce, a German corporal remarked with disgust, <a href="http://time.com/3643889/christmas-truce-1914/">"Such a thing should not happen in wartime. Have you no German sense of honor?"</a></p>

<p>That man was Adolf Hitler.</p>

<p>You can't make this sh*t up.</p>

<h3>"For culture to evolve"</h3>

<p>There's a new, super-young interdisciplinary field that I'm really <em>excited</em> by, called <em>Cultural Evolution</em>. Admittedly, it's a bad name, not least because it sounds uncomfortably close to "Social Darwinism". Which it's not. Pinky promise.</p>

<p>One core part of Cultural Evolution Theory is culture evolves the same way life does: through variation &amp; selection. Variation: people differ in beliefs &amp; behaviors, and invent new ones almost every day. Selection: people try to imitate their heroes &amp; elders, and adopt their beliefs/behaviors.</p>

<p>(Note: this is <em>not</em> quite Richard Dawkin's "meme" theory. "Meme" implies, that, like genes, ideas come in discrete chunks &amp; replicate with high fidelity. This is obviously untrue. Also you can't say "meme" with a straight face these days, so whatever)</p>

<p>The reason why I think Cultural Evolution is so promising, is that it could integrate <em>all</em> the human sciences: psychology, sociology, economics, anthropology, political science, neuroscience, biology. The greatest problems of our time do not obey conventional academic boundaries -- so, it's about dang time we created a common language between the sciences and humanities.</p>

<p>If you want to learn more about Cultural Evolution Theory, I highly recommend Joseph Heinlich's 2015 book, <a href="http://press.princeton.edu/titles/10543.html">The Secret of Our Success</a>!</p>

<h3>"[Always Cheat's] exploitativeness was its downfall"</h3>

<p>You may have heard that someone found a player strategy that can "exploit evolution". From the <a href="https://www.scientificamerican.com/article/game-theory-calls-cooperation-into-question1/">Scientific American</a>: "[Press &amp; Dyson's results] suggested the best strategies were selfish ones that led to extortion, not cooperation."</p>

<p>Press &amp; Dyson's findings <em>are</em> really important, but Scientific American confused two different uses of the word "evolutionary". The first use, the way this interactive guide used it, was to mean that the <em>tournament's population</em> changes over time. The second use, the way P&amp;D meant it, was that the <em>player's rules</em> changes over time. For example: Detective is "evolutionary" since it changes its own rules, while Copycat is <em>not</em> "evolutionary" since it sticks to its principles.</p>

<p>So, P&amp;D found strategies that could exploit "evolutionary" <em>players</em> like Detective, but their strategies <em>still could not exploit the evolution of the tournament</em>, because in the long run, fair &amp; nice strategies still win. </p>

<h3>"We have fewer friends -- period."</h3>

<p>Seriously, go read Robert Putnam's 2000 book, <a href="http://bowlingalone.com/">Bowling Alone</a>. Yeah it's a bit outdated by now, 17 years later, but its core findings and lessons are still true as ever -- probably even more so.</p>

<h3>"Non-zero-sum game" / "Win-Win"</h3>

<p>This is kinda cheesy, but I still adore the 1989 book, <a href="https://www.amazon.com/Habits-Highly-Effective-People-Powerful/dp/0743269519">The Seven Habits of Highly Effective People</a> -- especially Habit #4: Think Win-Win.</p>

<p>Because, contrary to popular belief, coming up with Win-Win solutions is hard, takes lots of effort, and is emotionally painful. Heck, I'd go even further – I'd say our culture's default stance of Win-Lose "us versus them" is the easy path, the lazy path, the equivalent of activism junk food.</p>

<p>Anyway. Exaggerations aside, I strongly believe "Win-Win" / "Non-Zero-Sum" is something we all urgently need -- in our personal lives, social lives, and <em>definitely</em> political lives.</p>

<h3>"Copykitten"</h3>

<p>Just like how Copycat's original name was Tit For Tat, Copykitten's original name is <em>Tit For Two Tats</em>. Same rule: Cooperate, unless the other players cheats <em>twice</em> in a row.</p>

<p>There's another forgiving variant of Tit For Tat called <em>Generous Tit For Tat</em>. It's got a similar but slightly different rule: Cooperate, but when the other player cheats, forgive them with a X% chance. This design, with the variable "X", lets you set different "forgiveness" levels for the player.</p>

<h3>"Simpleton"</h3>

<p>Also known as Pavlov, or Win-Shift-Lose-Stay.</p>

<h3>"Our modern media [...] has increased our miscommunication"</h3>

<p>I'm only in my twenties, I don't know why I always sound like an old grump shaking my fist at a cloud. But, yeah, anyway, go read Neil Postman's 1985 book, <a href="https://www.amazon.com/Amusing-Ourselves-Death-Discourse-Business/dp/014303653X">Amusing Ourselves To Death</a>. It's about how the communications technology we use subtly shapes our culture ("the medium is the message") and how technology that is biased towards quick &amp; fast information (TV in 1985, social media now) turns us all into trivial, short-term thinkers.</p>

<p>Although I don't agree with <em>everything</em> in his book, it's a real eye-opener, and surprisingly prescient for 1985. His rant against Sesame Street is kinda weird, though.</p>

<h3>"Build relationships. Find win-wins. Communicate clearly."</h3>

<p>Giving advice can come off as condescending, so let me be perfectly honest: I do <em>not</em> have any of this figured out, personally. I'm bad at developing friendships, especially with people of different political views than me. I occasionally forget about win-wins, and lapse into "us versus them" thinking. And judging by this rambling, I'm also still terrible at communicating clearly.</p>

<p>But I want to get better. This stuff is <em>hard</em>. Building peace &amp; trust in the world, from the bottom up, is <em>hard</em>.</p>

<p>And that's why it's worth it. &lt;3</p>


</div>
</body>

</html>
30 changes: 30 additions & 0 deletions notes/notes.css
@@ -0,0 +1,30 @@
@font-face{
font-family: 'FuturaHandwritten';
font-style: normal;
src: url('../css/FuturaHandwritten.ttf') format('truetype');
}

body{
background: #fff;
font-family: "FuturaHandwritten";
font-size: 20px;
color: #222;
margin: 0;
}

/* fake bold */
b, strong{
font-weight: normal;
text-shadow:1px 0 0 currentColor;
}

#notes{
width: 800px;
margin: 80px auto;
line-height: 1.7em;
}

h3{
margin-top: 2.5em;
margin-bottom: -0.2em;
}

0 comments on commit 0256bee

Please sign in to comment.