Browse Source

add slides for 2018-07-24 meetup with kata SEDOLs

Simon Lackerbauer 4 months ago
parent
commit
a1cc47fcd1
Signed by: Simon Lackerbauer <simon@lackerbauer.com> GPG Key ID: 2B27C889039C0125

misc_slides/2018-06-21_en__mob_programming_intro.html → misc_slides/2018-06-21_en__mob_programming_meetup_jaro_distance.html View File


+ 125
- 0
misc_slides/2018-07-24_en__mob_programming_meetup_sedols.html View File

@@ -0,0 +1,125 @@
1
+<!doctype html>
2
+<html>
3
+	<head>
4
+		<meta charset="utf-8">
5
+		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
6
+
7
+		<title>Mob Programming</title>
8
+
9
+		<link rel="stylesheet" href="../reveal.js/css/reveal.css">
10
+		<link rel="stylesheet" href="../reveal.js/css/theme/black.css">
11
+
12
+		<!-- Theme used for syntax highlighting of code -->
13
+		<link rel="stylesheet" href="../reveal.js/lib/css/zenburn.css">
14
+
15
+		<!-- Printing and PDF exports -->
16
+		<script>
17
+			var link = document.createElement( 'link' );
18
+			link.rel = 'stylesheet';
19
+			link.type = 'text/css';
20
+			link.href = window.location.search.match( /print-pdf/gi ) ? '../reveal.js/css/print/pdf.css' : 'revealjs/css/print/paper.css';
21
+			document.getElementsByTagName( 'head' )[0].appendChild( link );
22
+		</script>
23
+	</head>
24
+	<body>
25
+		<div class="reveal">
26
+			<div class="slides">
27
+                <section><h2>Mob Programming Coding Dojo #3</h2>
28
+                    <p>Munich Lambda</p>
29
+                    <p>Munich Software Craft Community</p>
30
+                </section>
31
+                <section>
32
+                    <section><h3>Mob Programming Intro</h3>
33
+                        <p>All the brilliant people working on the same thing, at the same time, in the same space, and on the same computer</p>
34
+                    </section>
35
+                    <section><h3>Roles</h3>
36
+                        <ul>
37
+                            <li>Driver</li>
38
+                            <li>Navigator</li>
39
+                            <li>Mob</li>
40
+                            <li>(Docs-Lookup-Guy)</li>
41
+                        </ul>
42
+                    </section>
43
+                    <section><h3>Driver</h3>
44
+                        <ul>
45
+                            <li>The only one that touches the keyboard</li>
46
+                            <li>No own input</li>
47
+                            <li>writes what the others tell him to</li>
48
+                        </ul>
49
+                    </section>
50
+                    <section><h3>Navigator</h3>
51
+                        <ul>
52
+                            <li>Part of the mob</li>
53
+                            <li>If there are two or more possible approaches going forward, decides on the one that's implemented</li>
54
+                        </ul>
55
+                    </section>
56
+                    <section><h3>Mob</h3>
57
+                        <ul>
58
+                            <li>Brings knowledge, differing approaches and differing points-of-view to the table</li>
59
+                            <li>And also fun!</li>
60
+                        </ul>
61
+                    </section>
62
+                    <section><h3>Docs-Lookup-Guy</h3>
63
+                        <ul>
64
+                            <li>Part of the mob</li>
65
+                            <li>If there are two projectors/displays, one can be used to search for docs in parallel</li>
66
+                        </ul>
67
+                    </section>
68
+                    <section><h3>Time-Keeping</h3>
69
+                        <ul>
70
+                            <li>The whole room rotates places every 7 minutes</li>
71
+                            <li>The person sitting in front of the laptop is now the new Driver</li>
72
+                            <li>The person sitting on the former Navigator's seat is the new Navigator</li>
73
+                            <li>Only one direction!</li>
74
+                        </ul>
75
+                    </section>
76
+                    <section><h3>Online development environment</h3>
77
+                        <ul>
78
+                            <li>URL: <a href="http://cyber-dojo.org">cyber-dojo.org</a></li>
79
+                            <li>Also linked on the meetup page</li>
80
+                            <li>Provides easy to use development and testing environment for a lot of languages</li>
81
+                            <li>Test-Driven ftw!</li>
82
+                        </ul>
83
+                    </section>
84
+                </section>
85
+                <section>
86
+                    <section><h3>Kata</h3>
87
+                        <p>SEDOLs</p>
88
+                    </section>
89
+                    <section><h3>SEDOLs</h3>
90
+                        <p>SEDOL stands for <i>Stock Exchange Daily Official List</i>, a list of security identifiers used in the United Kingdom and Ireland for clearing purposes.</p>
91
+                        <p>A typical SEDOL looks like this: <b>0263494</b>. SEDOLs can also hold upper case letters.</p>
92
+                        <p>The last digit (in the example above: <b>4</b>) is a check digit.</p>
93
+                    </section>
94
+                    <section><h3>SEDOLs</h3>
95
+                        <p>We want to evaluate whether a given 7-character alphanumeric string is a correct SEDOL.</p>
96
+                        <p>For this, we simply need to calculate a weighted sum for the first six characters (weights are: 1, 3, 1, 7, 3, 9) and choose a check digit such that the weighted sum plus check digit is divisible by 10.</p>
97
+                        <p>A full example can be found on <a href="https://en.wikipedia.org/wiki/SEDOL">Wikipedia</a>. A list of proper SEDOLs can be found on <a href="https://rosettacode.org/wiki/SEDOLs">Rosettacode</a>. Some 7-digit strings that are not SEDOLs: B0YBKL4, 5852845, 7108895.</p>
98
+                    </section>
99
+                    <section><h3>Multiple Languages</h3>
100
+                        <p>As this Kata is fairly short, each team should choose 2-3 languages (ideally following different paradigms) in which to implement the same Kata.</p>
101
+                        <p>Or resolve the Kata in the same language using multiple paradigms.</p>
102
+                        <p>To give a framework for the classic approaches Functional or Object-Oriented, try to follow the rules in <a href="https://williamdurand.fr/2013/06/03/object-calisthenics/">Object Calisthenics</a> and <a href="https://blog.ninjaferret.co.uk/2015/06/05/Introducing-Functional-Calisthenics.html">Functional Calisthenics</a>.
103
+                    </section>
104
+                </section>
105
+			</div>
106
+		</div>
107
+
108
+		<script src="../reveal.js/lib/js/head.min.js"></script>
109
+		<script src="../reveal.js/js/reveal.js"></script>
110
+
111
+		<script>
112
+			// More info about config & dependencies:
113
+			// - https://github.com/hakimel/../reveal.js#configuration
114
+			// - https://github.com/hakimel/../reveal.js#dependencies
115
+			Reveal.initialize({
116
+				dependencies: [
117
+					{ src: '../reveal.js/plugin/markdown/marked.js' },
118
+					{ src: '../reveal.js/plugin/markdown/markdown.js' },
119
+					{ src: '../reveal.js/plugin/notes/notes.js', async: true },
120
+					{ src: '../reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
121
+				]
122
+			});
123
+		</script>
124
+	</body>
125
+</html>