-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsocratesbot.html
169 lines (160 loc) · 5.88 KB
/
socratesbot.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Socrates, slack bot</title>
<meta name="description" content="SoCraTes Slack Bot Pet Project">
<meta name="author" content="Koen Metsu">
<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">
<script src="//code.jquery.com/jquery-1.8.0.js"></script>
<script src="//code.jquery.com/ui/1.8.23/jquery-ui.js"></script>
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/css/bootstrap-combined.min.css" rel="stylesheet">
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/black.css" id="theme">
<link type="text/css" rel="stylesheet" href="fsharp.formatting/styles/style.css" />
<link type="text/css" rel="stylesheet" href="fsharp.formatting/styles/deedle.css" />
<link type="text/css" rel="stylesheet" href="css/custom.css" />
<script src="fsharp.formatting/styles/tips.js" type="text/javascript"></script>
<!-- For syntax highlighting -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<link rel="stylesheet" href="css/fsreveal.css">
<!-- If the query includes 'print-pdf', include the PDF print sheet -->
<script>
if( window.location.search.match( /print-pdf/gi ) ) {
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = 'css/print/pdf.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
}
</script>
<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
<script language="javascript" type="text/javascript">
function init()
{
websocket = new WebSocket("ws://"+window.location.host+"/websocket");
websocket.onmessage = function(evt) { location.reload(); };
}
window.addEventListener("load", init, false);
</script>
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="slides">
<section >
<h1>SoCraTes Slack Bot Pet Project</h1>
</section>
<section >
<section >
<h2>Why?</h2>
<h3>Software Craftsmanship and Testing</h3>
<ul>
<li>It's about <strong>People</strong></li>
<li>It's about <strong>Action</strong></li>
<li>It's about <strong>Fun</strong></li>
</ul>
</section>
<section >
<h3>Why??</h3>
<p><img src="images/socratesbot/blog-pressure.png" alt="blog pressure channel" /></p>
</section>
<section >
<h3>Why???</h3>
<p><img src="images/socratesbot/why.png" alt="yeah but why" /></p>
</section>
</section>
<section >
<section >
<h2>Enter Socrates</h2>
<p><img src="images/socratesbot/socrates.jpg" alt="socrates" /></p>
</section>
<section >
<h3>Socrates' Principles</h3>
<ul>
<li>Opt-in</li>
<li>"Remind me to blog" + time</li>
<li>Glory or Shame</li>
</ul>
</section>
<section >
<h3>DING, DING</h3>
<p><img src="images/socratesbot/shame.jpg" alt="shame" /></p>
</section>
</section>
<section >
<section >
<h2>Technically</h2>
</section>
<section >
<h3>Node.js</h3>
<p>BotKit, Chrono and some json</p>
<p><img src="images/socratesbot/spaghetti.jpg" alt="nodejs" /></p>
</section>
<section >
<h3>Run on local server</h3>
<p><img src="images/socratesbot/server.jpg" alt="server" /></p>
</section>
</section>
<section >
<section >
<h2>Things I'd like to improve</h2>
</section>
<section >
<h3>Testability</h3>
<p>Help?</p>
</section>
<section >
<h3>Hosting</h3>
<ul>
<li>Cheap cloud (Lambda, Azure, ...)</li>
</ul>
<p>Help?</p>
</section>
<section >
<h3>Continuous Deployment</h3>
<p><em>(To said cheap cloud)</em></p>
<p>Help?</p>
</section>
<section >
<h1>Thank you</h1>
<h3>Follow <a href="https://twitter.com/koenmetsu" title="@koenmetsu">@koenmetsu</a></h3>
</section>
</section>
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.js"></script>
<script>
// Add the nohighlight class and data-noescape attribute to code elements that have already been formatted by FSharp.Formatting
$('pre.highlighted code').addClass('nohighlight').attr('data-noescape', '');
// Full list of configuration options available here:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: true,
transition: 'default', // default/cube/page/concave/zoom/linear/fade/none
// Parallax scrolling
// parallaxBackgroundImage: 'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg',
// parallaxBackgroundSize: '2100px 900px',
// Optional libraries used to extend on reveal.js
dependencies: [
{ src: 'lib/js/classList.js', condition: function () { return !document.body.classList; } },
{ src: 'plugin/markdown/marked.js', condition: function () { return !!document.querySelector('[data-markdown]'); } },
{ src: 'plugin/markdown/markdown.js', condition: function () { return !!document.querySelector('[data-markdown]'); } },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function () { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/zoom-js/zoom.js', async: true, condition: function () { return !!document.body.classList; } },
{ src: 'plugin/notes/notes.js', async: true, condition: function () { return !!document.body.classList; } }
]
});
</script>
</body>
</html>