WEBVTT

1
00:00:00.000 --> 00:00:03.640
Oké, dus in Ruby heb je niet hele fijne ideës om mee te werken?

2
00:00:03.640 --> 00:00:04.000
Jawel.

3
00:00:04.160 --> 00:00:05.620
Goeie ideeën.

4
00:00:06.580 --> 00:00:13.120
De beste is RubyMine in mijn optiek en iedereen die het eigenlijk niet meer eens is, die moet

5
00:00:14.780 --> 00:00:16.220
lekker Vim gaan gebruiken.

6
00:00:17.620 --> 00:00:18.520
Helemaal goed.

7
00:00:18.920 --> 00:00:19.660
Starting a war.

8
00:00:32.040 --> 00:00:35.060
Welkom allemaal weer bij een nieuwe aflevering van CodeKlets.

9
00:00:35.660 --> 00:00:40.920
Dit keer zitten we alweer in aflevering 4 van seizoen 2, wat gaat de tijd toch snel.

10
00:00:42.600 --> 00:00:49.020
Vandaag zijn we met 2 hosts, Johnny en ik, Saber die hebben we lekker een dagje vrijgegeven

11
00:00:49.580 --> 00:00:50.080
vanavond.

12
00:00:51.040 --> 00:00:54.340
Maar goed, wel leuk weer om met Johnny een podcast op te mogen nemen.

13
00:00:54.720 --> 00:00:55.300
Hoe gaat het Johnny?

14
00:00:56.540 --> 00:00:57.540
Yes, goeienavond.

15
00:00:58.160 --> 00:00:58.820
Ja, gaat prima.

16
00:00:58.940 --> 00:00:59.900
Mogen niet klagen.

17
00:01:00.380 --> 00:01:03.340
Lekker weer een gezellig avondje podcasten.

18
00:01:03.780 --> 00:01:04.580
Ja, heel gezellig.

19
00:01:04.580 --> 00:01:06.740
Het is wel een beetje beroerd weer.

20
00:01:07.700 --> 00:01:11.400
Ik heb buiten gekeken, alle hagelstenen die komen op mijn raam, dus ik hoop niet dat de

21
00:01:11.400 --> 00:01:12.580
podcast daar last van heeft.

22
00:01:13.560 --> 00:01:15.700
Maar ja, ik hoop dat we het allemaal gaan overleven.

23
00:01:17.300 --> 00:01:21.100
Maar goed, ook vanavond hebben we weer 2 hele leuke gasten uitgenodigd.

24
00:01:21.860 --> 00:01:24.940
Onze eerste gast van vanavond is Redmar Kerkhoff.

25
00:01:25.140 --> 00:01:25.400
Hallo.

26
00:01:26.720 --> 00:01:27.160
Welkom.

27
00:01:27.920 --> 00:01:28.980
Ja, dankje.

28
00:01:29.820 --> 00:01:33.740
Ja, Redmar is een echte entrepreneur volgens mij.

29
00:01:33.980 --> 00:01:41.160
Hij is een eigenaar van Creative Code en verder hakt hij graag in rust Elixir en Ruby, toch?

30
00:01:41.320 --> 00:01:42.080
Ja, klopt allemaal.

31
00:01:43.220 --> 00:01:43.800
Ja, mooi.

32
00:01:44.140 --> 00:01:46.600
Nou, daar zullen we straks wat meer over vragen.

33
00:01:47.200 --> 00:01:50.540
Onze tweede gast van vanavond is Benoit Klaassen.

34
00:01:51.400 --> 00:01:52.080
Welkom.

35
00:01:52.360 --> 00:01:52.860
Goedenavond.

36
00:01:53.860 --> 00:01:56.440
Dat is ook echt een entrepreneur volgens mij.

37
00:01:56.700 --> 00:01:57.380
Ja, klopt.

38
00:01:58.720 --> 00:02:05.100
Benoit is eigenaar van Altrade, Neighbor Secure en volgens mij heb je nog wel een paar bedrijven

39
00:02:05.100 --> 00:02:06.360
die ik niet heb opgenoemd.

40
00:02:06.700 --> 00:02:07.220
Ja, klopt.

41
00:02:07.580 --> 00:02:14.260
Ja, ik heb nog Appmonet samen met Redmar, Coinray en ik heb dan nog een eigen holding

42
00:02:14.260 --> 00:02:23.120
bv waar ik eigenlijk uit werkte als freelancer, waar ik eigenlijk nu mee ga stoppen of afgestopt

43
00:02:23.120 --> 00:02:23.900
ben eigenlijk.

44
00:02:25.260 --> 00:02:25.800
Oké.

45
00:02:25.800 --> 00:02:27.540
Nou, daar kunnen we straks nog wel even over hebben.

46
00:02:28.240 --> 00:02:31.120
Maar ik had ook begrepen dat je een echte crypto trader bent, toch?

47
00:02:31.780 --> 00:02:32.660
Ja, klopt.

48
00:02:33.160 --> 00:02:33.580
Ja.

49
00:02:33.600 --> 00:02:40.400
Ja, ik ben daar in 2017 net voor de grootste bitcoin hype ooit ben ik daarmee begonnen.

50
00:02:41.780 --> 00:02:42.380
Oké.

51
00:02:42.500 --> 00:02:49.240
En voor degenen die nog nooit wat met crypto gedaan hebben en zoals ik dus,

52
00:02:49.340 --> 00:02:53.480
echte noobs tussen ons, zou je crypto trading kunnen uitleggen?

53
00:02:54.320 --> 00:02:54.820
Ja.

54
00:02:55.920 --> 00:03:00.400
Ja, crypto trading dat ja, het begint eigenlijk bij je dat je dat je de munt moet hebben,

55
00:03:00.420 --> 00:03:06.000
dus je moet een stukje van de munten moet je kunnen kopen en daarvoor moet je dus bij

56
00:03:06.000 --> 00:03:08.400
een exchange of een broker zitten.

57
00:03:09.100 --> 00:03:13.240
Dus als je daar dan een account hebt aangemaakt en je bent door het verificatie proces heen

58
00:03:13.900 --> 00:03:18.700
gegaan, dan kun je op dat moment kun je dus gewoon met ideal bijvoorbeeld kun je wat

59
00:03:18.700 --> 00:03:23.720
geld storten en zodra je dan wat euro's gestort hebt, dan kun je bij de broker

60
00:03:23.720 --> 00:03:28.260
bij de exchange kun je gaan zoeken naar een markt of naar een munt die je wil hebben en

61
00:03:28.260 --> 00:03:34.260
die je dan met euro's kunt kopen en als je dan een order plaatst dan kun je kijken

62
00:03:34.260 --> 00:03:39.180
of iemand akkoord gaat met de prijs die jij ervoor wil betalen en als je bijvoorbeeld

63
00:03:39.180 --> 00:03:43.420
100 euro wil kopen dan zeg je ik wil 100 euro en ik wil er maximaal 10 cent voor

64
00:03:45.080 --> 00:03:47.180
uitgeven of maximaal 10 cent voor betalen.

65
00:03:47.360 --> 00:03:52.020
Nou dan kun je dus 1000 muntjes kopen en als iemand daarmee akkoord gaat dan krijg

66
00:03:52.020 --> 00:03:55.760
jij die munt in je bezit en dan ben je crypto-eigenaar.

67
00:03:55.920 --> 00:04:00.180
Oh wauw, nou mooi man en kan je daar een beetje rijk mee worden?

68
00:04:02.620 --> 00:04:08.540
Er zijn er vele die dat wel hebben gedaan ja dat kun je wel goed rijk mee worden.

69
00:04:10.560 --> 00:04:12.180
En andersom niet rijk?

70
00:04:13.040 --> 00:04:17.560
Ja je kunt er ook heel veel geld mee verliezen ja volgens mij was het laatst nog in het

71
00:04:17.560 --> 00:04:23.940
nieuws dat iemand die had weer tranen, dikke tranen omdat hij al zijn studiegeld en dergelijke

72
00:04:23.940 --> 00:04:30.360
erin had gegooid en helaas ging alles weer naar beneden en volgens mij als hij het nu

73
00:04:30.360 --> 00:04:34.400
vasthouden had dan had hij nog vijf keer zijn inleg teruggekregen dus ik denk dat

74
00:04:34.400 --> 00:04:35.880
hij nu huilt van beleidschap.

75
00:04:38.400 --> 00:04:44.440
Nou mooi en ik las ook ergens dat je je eigen platform ook in cryptotrading

76
00:04:44.440 --> 00:04:49.760
hebt ontwikkeld of dat klopt ja en hoe ben je begonnen?

77
00:04:50.940 --> 00:04:57.680
Ja ik ben toen ooit begonnen met een scanner en die scanner ja het was eigenlijk om even

78
00:04:57.680 --> 00:05:01.120
dan terug te gaan naar het hele verhaal van mijn crypto avontuur.

79
00:05:02.300 --> 00:05:09.800
Ik was dus in 2017 ermee begonnen toen had ik wat gekocht en eigenlijk niet in

80
00:05:09.800 --> 00:05:13.660
de intentie om daarmee te handelen dus ik heb ik heb dat gewoon laten staan en op

81
00:05:13.660 --> 00:05:18.380
dat moment was het in waarde verdubbeld en toen zag ik het zeg maar elke dag

82
00:05:18.380 --> 00:05:21.020
heen en weer schom en toen dacht ik nou misschien moet toch maar eens wat gaan

83
00:05:21.740 --> 00:05:24.940
verkopen om het weer terug te kopen en om te kijken of ik er misschien iets meer

84
00:05:24.940 --> 00:05:31.380
van kan maken. Nou daardoor was ik eigenlijk per dag na vier of vijf uur kwijt aan het

85
00:05:31.380 --> 00:05:36.460
zoeken naar markten om om in te kunnen handelen maar ik had eigenlijk geen idee

86
00:05:36.460 --> 00:05:42.920
wat ik aan het doen was dus toen ik op vakantie was en in de zondag stierlijk

87
00:05:42.920 --> 00:05:48.320
verveelde en toen heb ik wat YouTube video's opgezocht en toen kwam ik uit bij

88
00:05:48.980 --> 00:05:54.140
de YouTuber Quick Fingers Look en die had eigenlijk een hele duidelijke strategie

89
00:05:54.140 --> 00:06:01.560
over hoe je nou het beste kunt handelen in de crypto en ja zijn strategie past

90
00:06:01.560 --> 00:06:07.660
heel erg bij de manier waarop ik zou willen treden meest bekende strategie is

91
00:06:09.420 --> 00:06:13.640
En daar haaf hij eigenlijk zeg maar een leidraad in. Zo van nou als die dan

92
00:06:13.640 --> 00:06:18.780
zeg maar hier naar beneden gaat, dan moet je daar op deze weg weer gaan verkopen.

93
00:06:21.380 --> 00:06:27.320
En toen op zijn YouTube kanaal, toen vroeg hij dus ook van ja, als er nog developers zijn,

94
00:06:27.900 --> 00:06:33.260
dan zou het wel fijn zijn als een keertje iets van scanners kunnen krijgen voor onze strategie.

95
00:06:34.500 --> 00:06:41.100
En nou ja, aangezien ik er heel veel tijd aan kwijt was en zeg maar eigenlijk ook op zoek was naar

96
00:06:41.100 --> 00:06:49.020
zo'n scanner, ben ik die keertje op een avondje gaan kijken van hoe ver kan ik komen. En al vrij

97
00:06:49.020 --> 00:06:58.900
snel had ik iets wat kon werken. En ik herinner het me nog goed dat ik op een avond had ik weer

98
00:06:58.900 --> 00:07:02.980
een avondje doorgewerkt en ik ging naar bed toe en ik zei tegen mijn vriendin, ik zei,

99
00:07:02.980 --> 00:07:11.860
volgens mij heb ik nu iets wat best wel groot kan worden. Dat was ook echt een van de eerste

100
00:07:11.860 --> 00:07:17.720
keer dat ze ook echt zoiets had van oké dit klinkt echt alsof dit dat kan worden. Het gevoel was

101
00:07:17.720 --> 00:07:23.260
zo goed. En ik heb dat dus verder uitgebreid. Ik heb dat in de markt gezet en ik heb toen

102
00:07:23.260 --> 00:07:28.340
dat met Quick Fingers Look besproken en ik had ook daarbij aangegeven dat het eigenlijk

103
00:07:28.340 --> 00:07:32.300
altijd een betaalde dienst zou zijn. Ook omdat ik zeg maar zelf ondernemer ben,

104
00:07:33.780 --> 00:07:38.780
en ik ook niet zo geloof in het gratis gebruiken van ander man software om er zelf rijk mee te

105
00:07:38.780 --> 00:07:44.500
worden. En ik wilde natuurlijk ook gewoon een goede dienst kunnen leveren dus moest het niet

106
00:07:44.500 --> 00:07:50.160
zo zijn. Zeker in die periode toen de bitcoin echt maar alle kant opging lagen al die andere

107
00:07:50.160 --> 00:07:53.440
platformen lagen er ook continu uit en ik wilde ook gewoon wel goede service neer kunnen

108
00:07:54.560 --> 00:07:57.620
zetten om ervoor te zorgen dat het in ieder geval blijft draaien op de momenten dat het

109
00:07:57.620 --> 00:08:02.280
moet draaien. En als je terugkijkt van hoe je bent begonnen zou je dat nog een keer

110
00:08:02.280 --> 00:08:13.280
willen doen? Ja, zeker, ja. Geen spijt gekregen daarvan? Nee, het was dat het op dat moment pas

111
00:08:13.280 --> 00:08:19.300
kwam maar ja dat dit soort dingen dat is waar ik voor leef zeg maar oplossingen vinden

112
00:08:19.300 --> 00:08:26.060
voor problemen en het leven makkelijker maken met name voor mezelf en als anderen daar ook

113
00:08:26.060 --> 00:08:32.600
profijt van kunnen hebben dan is dat mooi meegenomen. In ieder geval aan, het is begonnen met een

114
00:08:32.600 --> 00:08:38.580
simpel programmaatje om basis te scannen zoals je dat dan noemde. Wat is het inmiddels geworden

115
00:08:38.580 --> 00:08:45.220
want ja je hebt dat was in 2017 dus er zit inmiddels een jaar of 3, 3,5 denk ik aan

116
00:08:45.220 --> 00:08:52.360
programmeerwerk dan in. Wat is het platform nu? Wat behelst het? Ja nou ja dus zeg maar

117
00:08:52.360 --> 00:08:57.740
toen de mensen het gingen gebruiken was eigenlijk al de respons was eigenlijk behoorlijk positief en

118
00:08:59.620 --> 00:09:03.960
ja het gaf alleen maar aan dat de vraag daar echt naar was en we zijn dus gewoon met die

119
00:09:03.960 --> 00:09:07.660
mensen in gesprek gegaan en zo van oké nou wat wil je dan hebben wat kunnen we nog

120
00:09:07.660 --> 00:09:13.360
verder toevoegen? Uiteindelijk of in eerste instantie kwamen ze alleen op dingetjes om de

121
00:09:13.360 --> 00:09:17.000
scanner uit te breiden maar later werd dus ook de vraag van ja ik zou wel graag de

122
00:09:17.000 --> 00:09:21.280
charts wat beter willen zien en ik zou graag wat meer informatie over de markt zelf willen

123
00:09:21.280 --> 00:09:27.260
zien en dat groeide dus eigenlijk uit tot een tot een volwaardige handels platform waar je gewoon

124
00:09:27.700 --> 00:09:35.060
makkelijk vanuit kunt traden en de grootste kracht zitten in het feit dat je op alle exchanges

125
00:09:35.060 --> 00:09:40.280
tegelijk kunt traden die wij aanbieden dus je hebt zeg maar één tool nodig je hoeft het maar

126
00:09:40.280 --> 00:09:46.140
één keer te leren en je hebt dus geen last van de verschillen tussen verschillende exchanges

127
00:09:46.140 --> 00:09:52.160
En je kan dus zeg maar eigenlijk met vanuit één platform kan je op inmiddels 8000 verschillende

128
00:09:52.160 --> 00:09:53.060
markten handelen.

129
00:09:54.480 --> 00:09:58.840
Oké, dus jullie zijn eigenlijk, want jullie zijn zelf dus geen exchange, jullie handelen

130
00:09:58.840 --> 00:09:59.960
zelf geen geld.

131
00:10:00.920 --> 00:10:04.880
Jullie zijn eigenlijk een schil om een exchange heen, of om meerdere exchanges heen dus.

132
00:10:05.420 --> 00:10:10.260
Ja, het is echt een hulpmiddel, je kunt bij ons geen crypto kopen of verkopen, je

133
00:10:10.260 --> 00:10:15.680
kunt alleen via ons op de exchange handelen, dus wij maken verbinding met die exchanges

134
00:10:16.320 --> 00:10:19.920
en dan kun je op een eenvoudige manier dan handelen.

135
00:10:21.340 --> 00:10:26.280
Ja, wat ik van trading weet is dat het echt enorm snel gaat he, dat is echt niet normaal

136
00:10:26.280 --> 00:10:26.800
gewoon.

137
00:10:27.980 --> 00:10:31.400
Maar hoe programmeer je zeg maar software hiervoor?

138
00:10:32.780 --> 00:10:38.780
Eigenlijk op de manier zoals ik altijd software ontwikkel en dat is gewoon zorgen dat

139
00:10:38.780 --> 00:10:44.160
je zo snel mogelijk iets hebt draaien en de rest komt later wel eigenlijk.

140
00:10:44.980 --> 00:10:51.100
Dus zeg maar in het begin had ik die snelheid helemaal niet nodig voor de

141
00:10:51.100 --> 00:10:57.420
b-scanner bijvoorbeeld, dat ging op tijd op een tijd frame van een uur, dat werd elke

142
00:10:57.420 --> 00:11:02.960
15 minuten werd dat een keer geupdate en de prijzen die werden misschien elke

143
00:11:02.960 --> 00:11:05.360
minuut of elke drie minuten werden die een keertje verversd.

144
00:11:06.380 --> 00:11:11.280
Maar naar mate de vraag groter werd om een volwaardiger handelsplatform.

145
00:11:12.060 --> 00:11:19.020
Ja, toen moesten we dus sneller gaan en daar heb ik toen ook met Redmar over

146
00:11:19.020 --> 00:11:24.860
gesproken en gezegd van hoe kunnen we dit in een sneller hoe kunnen we de

147
00:11:24.860 --> 00:11:29.140
data sneller overbrengen en toen is Redmar eigenlijk begonnen met het maken

148
00:11:29.140 --> 00:11:35.080
van een van een websocket service om de data eigenlijk in in in realtime of

149
00:11:35.080 --> 00:11:37.920
near realtime aan te bieden aan de gebruikers.

150
00:11:38.680 --> 00:11:42.040
Oké, dus om het even een beetje kort samen te vatten.

151
00:11:42.720 --> 00:11:47.320
Jij hebt Make It Work zegmaar gedaan, gewoon verzorgen dat het gaat werken.

152
00:11:47.620 --> 00:11:56.920
Technical Dabbed. En Redmar heeft even gekeken naar hoe kan ik het performance

153
00:11:56.920 --> 00:12:02.220
maken? Ja, en zeg maar dat was dan echt voor de data aanlevering.

154
00:12:02.240 --> 00:12:06.400
Daar is dat echt heel erg van belang van belang en verder heb ik natuurlijk

155
00:12:06.400 --> 00:12:10.460
gewoon zelf ook de technical dab weggewerkt waar dat nodig was.

156
00:12:12.400 --> 00:12:15.920
Ik ben ik ben wel van mening dat je dat je zeg maar dingen best wel een beetje

157
00:12:15.920 --> 00:12:19.220
in elkaar mag hacken, zolang je het geïsoleerd kan laten staan.

158
00:12:20.700 --> 00:12:23.180
En als het dan niet meer goed is, dan gooien het weg begin je opnieuw,

159
00:12:23.240 --> 00:12:25.560
maar dan begin je met een klein stukje opnieuw, niet je hele software

160
00:12:25.560 --> 00:12:30.580
platform. En zo werk je rustig aan aan de verbeteringen en aan de

161
00:12:30.580 --> 00:12:34.980
versnellingen en krijg je eigenlijk een heel mooi performant platform

162
00:12:34.980 --> 00:12:35.700
op een gegeven moment.

163
00:12:36.820 --> 00:12:39.140
Mooi dat je rustig noemt.

164
00:12:40.080 --> 00:12:42.600
Maar ben ik even benieuwd naar Redmar zijn mening.

165
00:12:43.920 --> 00:12:46.700
Heb je daar ook rust voor gebruikt?

166
00:12:48.040 --> 00:12:51.780
Ja, er komt nu de sluit eigenlijk steeds meer rust in op dit moment.

167
00:12:52.840 --> 00:12:55.980
Eigenlijk het platform wat we nou beschrijven bestaat eigenlijk heel erg uit

168
00:12:55.980 --> 00:13:01.640
twee delen. Heel erg de smoel wat de verbruiker ziet, de UI en ja,

169
00:13:01.780 --> 00:13:04.020
eigenlijk de langzaam bewegen onderdelen.

170
00:13:04.020 --> 00:13:08.220
Eigenlijk als je normaal naar een chart kijkt, dan is dat langzame info om

171
00:13:08.220 --> 00:13:11.820
zo maar te zeggen om terug te refereren aan dat je net zei dat het allemaal heel

172
00:13:11.820 --> 00:13:13.920
snel gaat. Dat is eigenlijk de trage info.

173
00:13:14.000 --> 00:13:16.120
Die kun je gewoon eigenlijk langzaam ophalen van exchange.

174
00:13:16.200 --> 00:13:21.140
Die kun je dus ook voor genereren om zo maar te zeggen en gewoon laten

175
00:13:21.140 --> 00:13:24.860
zien. Maar op het moment dat je echt echt op de markt wil zitten.

176
00:13:26.040 --> 00:13:27.800
Ja, daar kwamen ze allemaal die websocket verbindingen bij.

177
00:13:27.800 --> 00:13:32.080
Ze bieden eigenlijk websocket verbindingen aan of via rest.

178
00:13:33.420 --> 00:13:37.000
Maar op rest zit eigenlijk wel heel snel een limiet, dus je mag eigenlijk ook niet

179
00:13:37.000 --> 00:13:40.560
heel vaak ze gaan pullen, want dan ligt er eigenlijk al heel snel via

180
00:13:40.560 --> 00:13:44.720
redelimit ligt eruit. Dus kwamen eigenlijk op die manier al heel

181
00:13:44.720 --> 00:13:49.680
snel op het plan om al die exchanges aan te sluiten via websocket.

182
00:13:50.920 --> 00:13:54.700
En daar kwam ik eigenlijk vanuit de hoek, vanuit dat ik vrij veel al met

183
00:13:54.700 --> 00:14:01.160
Elixer had gedaan, kwam Elixer eigenlijk naar voren van dat dat een goede

184
00:14:01.160 --> 00:14:05.980
kandidaat zou zijn. En om even snel gelijk dan naar rust toe te springen,

185
00:14:06.180 --> 00:14:09.880
wat je wat je vraag was. Het bleek eigenlijk ook tegelijkertijd weer dat

186
00:14:09.880 --> 00:14:13.920
dat Elixer ook wel heel snel weer door zijn knieën kon gaan door al het

187
00:14:13.920 --> 00:14:20.660
geweld wat vanuit exchanges binnenkwam. Dat op plekken waar we zagen dat het

188
00:14:20.660 --> 00:14:24.240
gewoon niet meer, dat het de boel niet meer trok, toen rust gebruikt.

189
00:14:26.260 --> 00:14:29.660
En ik moet zeggen, ik ken Elixer als een vrij performant,

190
00:14:32.060 --> 00:14:36.520
ja, programmeert taaltje om het even kleineren te zeggen. Je zegt al,

191
00:14:36.860 --> 00:14:41.460
het ging toch door zijn hoeveel, ja, zijn dat dan zulke enorme hoeveelheden data?

192
00:14:41.520 --> 00:14:43.500
Waar moeten we aan denken bij dat soort dingen?

193
00:14:44.120 --> 00:14:48.700
Ja, hetgeen waar het in ieder geval bij mij gelijk, of niet waar ik dan niet goed op

194
00:14:48.700 --> 00:14:52.720
match, zeg maar, want het is inderdaad een redde performant, is dat heel veel

195
00:14:53.220 --> 00:14:57.200
numerieke dingen bijhouden in arrays. En dat is precies het deel waar

196
00:14:59.120 --> 00:15:02.080
Elixer neigt heel snel juist naar linked list-achtige structuren.

197
00:15:03.660 --> 00:15:07.660
En er was ook niet echt een hele goede soort decimal-achtige library.

198
00:15:07.720 --> 00:15:11.540
Die was er wel, maar die was dus niet, die is heel erg in soort van

199
00:15:11.540 --> 00:15:14.800
een, ja, het standaard user space gemaakt, die voor de rest niet

200
00:15:14.800 --> 00:15:19.300
versnelt ofzo. En daar heb ik het eigenlijk ingevuld met rust.

201
00:15:20.160 --> 00:15:25.020
Maar als je het aan aantallen, af en toe dan zien we gewoon, ja, iets van 15 of

202
00:15:25.020 --> 00:15:30.740
1000, als je alles bij elkaar optelt, iets van 15 of 1000 updates per seconde vanuit

203
00:15:30.740 --> 00:15:36.180
de exchanges binnenkomen. En dat is piek. Enkele exchanges zijn vaak 5, 6

204
00:15:36.180 --> 00:15:41.500
duizend events per seconde. En events, dat zijn vaak geaggregeerde, dus dat je

205
00:15:41.500 --> 00:15:44.780
meerdere events van alle markten, dat is eigenlijk hetgeen wat we dan in

206
00:15:44.780 --> 00:15:47.840
het geval doen. Dus dat we voor alle gebruikers

207
00:15:48.420 --> 00:15:52.200
subscriben op alle markten die er zijn van een exchange. Dat is eigenlijk ook een

208
00:15:52.200 --> 00:15:55.340
beetje de reden, je zoekt het zelf eigenlijk ook wel op, doordat je allemaal alle

209
00:15:55.340 --> 00:16:00.080
info wil hebben van alles wat ze hebben, zeg maar. En dan schiet het eigenlijk

210
00:16:00.080 --> 00:16:03.060
af en toe dus naar zo'n soort pieken. En zeker als die opeens instort of

211
00:16:03.060 --> 00:16:07.620
juist heel erg omhoog gaat, dan zien we goed pieken richting die 25, 30

212
00:16:07.620 --> 00:16:11.540
duizend events per seconde. In ieder geval, dat is dan niet ongewoon.

213
00:16:12.680 --> 00:16:16.900
En ja, het zou wel niet zin in kunnen liggen bij ons aan servers,

214
00:16:16.900 --> 00:16:21.400
want we daten ook niet op de allergrootste en duurste servers. Maar goed,

215
00:16:21.440 --> 00:16:26.100
dat is ook weer een afweging, een balans die je maakt met, ja dat is de deur dat

216
00:16:26.100 --> 00:16:30.540
we eigenlijk op alles subscriben, op alle markten, voor een, voor bij elke

217
00:16:30.540 --> 00:16:34.420
exchange. Er komen ontzettend veel events per seconde binnen, wat richting

218
00:16:34.420 --> 00:16:40.320
de 25, 30 duizend per seconde gaat, over alles genomen. En alleen al dat

219
00:16:40.320 --> 00:16:46.880
feit, dat kan ook gewoon voorgezorgd hebben dat gewoon Elixir in het

220
00:16:46.880 --> 00:16:50.540
terug naar een soort van balans en wat we in de toekomst willen, want we willen eigenlijk

221
00:16:50.540 --> 00:16:54.080
meer exchanges aansluiten. En dan ga je ook gewoon kijken hoeveel kost het dan

222
00:16:54.080 --> 00:16:58.760
om bijvoorbeeld een, want je kan een grotere server inzetten, of je kan het

223
00:16:58.760 --> 00:17:03.120
meer performant maken. En daar hebben we eigenlijk gewoon gekozen, en ook wat we

224
00:17:03.120 --> 00:17:08.180
hebben gezien in de rust, dat je vrij, met vrij weinig effort en vrij naïve

225
00:17:08.180 --> 00:17:11.900
code, waar je dus niet al te erg je best op hebt gedaan, is het al heel

226
00:17:11.900 --> 00:17:15.660
erg performant. Dus hebben we eigenlijk voor gekozen om daar meer naar rust toe te

227
00:17:15.660 --> 00:17:21.100
brengen, om straks gewoon voor minder geld eigenlijk qua serverkosten nog meer

228
00:17:21.100 --> 00:17:25.280
exchanges te kunnen aansluiten en ook die peak performance beter aan te kunnen.

229
00:17:27.320 --> 00:17:31.580
Hoe ga je, hoe ga je zoiets te werken? Je kwam bij rust uit na een kleine

230
00:17:31.580 --> 00:17:35.160
zoekactie, of wist je al het een en ander over rust en weet maar gewoon gaan

231
00:17:35.160 --> 00:17:38.300
proberen op te kijken van hoe het schaalt en hoe het tegen elkaar uit te

232
00:17:38.300 --> 00:17:43.420
spelen is? Ja, ik had al wat, ja, wat gespeeld, zeg maar, met rust.

233
00:17:44.700 --> 00:17:47.760
En ik was ook nog een andere library tegengekomen die het heel goed laat

234
00:17:47.760 --> 00:17:53.020
mengen, dus elixer en rust. Dus die een soort soort, ja, wat je ook voor Ruby

235
00:17:53.020 --> 00:17:58.280
hebt, dat je heel makkelijk met rust kan integreren. In dit geval is het rustler.

236
00:17:59.480 --> 00:18:02.900
Ja, dat is een soort van, je doet even een skeleton generatie en dan kan

237
00:18:02.900 --> 00:18:08.980
je eigenlijk heel snel gewoon een algoritme, gewoon in rust schrijven en

238
00:18:08.980 --> 00:18:11.360
daarna beschikbaar maken weer in elixer.

239
00:18:11.360 --> 00:18:18.300
En ja, het was eigenlijk gewoon dat je eigenlijk gewoon vanuit een beetje hobbyen

240
00:18:18.300 --> 00:18:22.680
ermee al door had dat het zo snel was, dat het wel de moeite waard was om

241
00:18:22.680 --> 00:18:28.640
gewoon, ja, delen om te coden daarin. En we zagen het inderdaad gewoon

242
00:18:28.640 --> 00:18:32.120
in peak performance sowieso goed door de knieën gaan.

243
00:18:32.580 --> 00:18:36.060
En dat is weer iets wat bij elixer gebeurd is, dat kan ook een deel aan

244
00:18:36.060 --> 00:18:39.820
mij hebben gelegen. In de zin van dat je kan het ook nog beter

245
00:18:39.820 --> 00:18:44.160
scharden, maar wat elixer heel erg doet is dat een enkele actor, want het is

246
00:18:44.160 --> 00:18:50.960
natuurlijk de actor programmeur model. En als je een ene actor heel erg druk

247
00:18:51.480 --> 00:18:55.620
maakt, dus dat hij heel veel CPU pakt, dan wordt hij juist eigenlijk door het

248
00:18:55.620 --> 00:18:58.720
hele systeem, wordt je een beetje naar de achtergrond gedrukt met het idee van

249
00:18:58.720 --> 00:19:02.600
we moeten wel zorgen dat alles blijft werken. En dat is juist eigenlijk wat

250
00:19:02.600 --> 00:19:05.160
je soms niet wil, want je wil eigenlijk soms juist met een hele hoge

251
00:19:05.160 --> 00:19:10.260
fiek, wil je eigenlijk gewoon je blijven processen eigenlijk. En dat is wel

252
00:19:10.260 --> 00:19:13.240
op te vangen in elixer, alleen dat is eigenlijk wel weer misschien om het feit

253
00:19:13.240 --> 00:19:18.900
heen werken van wat je wil doen. En daar is, daar zie je sowieso bij veel

254
00:19:18.900 --> 00:19:23.540
number crunching, zie je veel mensen op dat moment binnen elixer of Erlang,

255
00:19:23.540 --> 00:19:29.080
ja, grijpen naar die externe libraries, dus die noemen ze dan NIF.

256
00:19:29.940 --> 00:19:35.500
Ik weet niet of je het weet, een neder interface volgens mij. In ieder geval dat je

257
00:19:35.500 --> 00:19:42.780
dan naar C kan toe gaan of dus in het beval naar Rust, binnen je je VM.

258
00:19:43.400 --> 00:19:46.540
Hoeveel exchanges hebben jullie nu aangesloten inmiddels?

259
00:19:46.900 --> 00:19:53.280
We zitten op tien, tien exchanges. Een paar in de running, zeg maar.

260
00:19:53.480 --> 00:19:58.240
Hier altijd zo van twee of drie, we zijn er nu nog mee bezig.

261
00:19:58.240 --> 00:20:03.300
Ja, oké. En ja, elke exchange heeft zijn eigen API.

262
00:20:03.460 --> 00:20:05.260
Kan ik me zo voorstellen. Hoe ga je daarmee om?

263
00:20:05.300 --> 00:20:07.060
Hoe ga je te werk? Waar loop je tegenaan?

264
00:20:07.540 --> 00:20:11.580
Ja, nou ja, ik ben dus, want Coinray is eigenlijk ontstaan

265
00:20:11.580 --> 00:20:14.580
vanuit een groot gedeelte uit Altrady.

266
00:20:15.620 --> 00:20:20.060
Ik had al, zeg maar, de begincode gemaakt om de trade informatie,

267
00:20:20.220 --> 00:20:23.620
order book informatie en de candlesticks.

268
00:20:23.700 --> 00:20:27.300
Dus dat zijn echt trade onderdelen vanuit het handelsplatform om die

269
00:20:29.460 --> 00:20:33.280
rest API's gewoon elke minuut op te halen.

270
00:20:35.960 --> 00:20:38.300
En ja, eigenlijk zeg maar, op een gegeven moment,

271
00:20:38.660 --> 00:20:40.220
dan je begint met één exchange.

272
00:20:40.620 --> 00:20:44.820
Dan kijk je naar de documentatie van de API, van de exchange zelf.

273
00:20:45.540 --> 00:20:47.020
En dan pak je daarna een tweede.

274
00:20:47.140 --> 00:20:49.140
Dat doe je eigenlijk wel vrij snel achter elkaar,

275
00:20:49.800 --> 00:20:53.700
want je wil niet, zeg maar, dat je al helemaal klaar bent met één exchange,

276
00:20:53.800 --> 00:20:56.080
omdat dan bijvoorbeeld achter te komen dat het bij de andere exchange

277
00:20:56.080 --> 00:20:57.380
compleet anders is.

278
00:20:58.040 --> 00:20:59.140
En dat gebeurt.

279
00:20:59.380 --> 00:21:03.020
Dus dat is wel handig om even van tevoren te bekijken.

280
00:21:03.060 --> 00:21:05.900
Dus als je er dan één, twee, nou, dan heb je de derde erbij.

281
00:21:05.980 --> 00:21:09.960
En dan heb je eigenlijk wel een groot gedeelte van de exchanges gezien

282
00:21:09.960 --> 00:21:12.360
en alle exoten die daarin zitten.

283
00:21:13.480 --> 00:21:16.200
En heel lang heb ik, zeg maar, alle code gewoon gedupliceerd.

284
00:21:18.980 --> 00:21:20.980
Dus als ik, zeg maar, een exchange toevoegde,

285
00:21:21.000 --> 00:21:25.380
dan pakte ik alle code op, kopieerde ik het en dan deed ik

286
00:21:25.380 --> 00:21:27.220
de wijzigingen die nodig waren voor die exchange.

287
00:21:28.420 --> 00:21:30.220
En dat heb ik later, heb ik dat weer gereffecteerd

288
00:21:30.220 --> 00:21:34.980
naar dat het, zeg maar, een beter model was,

289
00:21:35.340 --> 00:21:39.400
waarbij je dan eigenlijk alleen nog de uitzonderingen per exchange overhield.

290
00:21:40.740 --> 00:21:43.080
En zo was het, zeg maar, toevoegen van een nieuwe exchange.

291
00:21:43.260 --> 00:21:46.860
Nou, ik heb het laatst weer eentje toegevoegd op die manier nog.

292
00:21:47.300 --> 00:21:49.520
En dan ben je vier uurtjes bezig, hooguit.

293
00:21:50.220 --> 00:21:52.460
En dan heb je een nieuwe exchange toegevoegd.

294
00:21:52.460 --> 00:21:54.400
Of voor de voor de rest kan staan.

295
00:21:55.940 --> 00:21:58.240
En dan heb je dus weer technical debt, die je het maar op mag ruimen,

296
00:21:58.420 --> 00:22:00.000
of zie ik dat verkeerd?

297
00:22:03.040 --> 00:22:07.080
Niet echt, want dat zijn wel echt twee gescheiden, gescheiden dingen,

298
00:22:07.140 --> 00:22:09.960
want de websockets, dat is wel echt een hele andere tak van sport.

299
00:22:12.480 --> 00:22:15.420
En en ja, daar hebben we eigenlijk wel een beetje hetzelfde gedaan, hoor.

300
00:22:16.820 --> 00:22:21.300
Dus het is gewoon ja, in mijn ogen is het gewoon helemaal niet verkeerd

301
00:22:21.300 --> 00:22:22.280
om op die manier te beginnen.

302
00:22:22.280 --> 00:22:26.080
Dus dus gewoon zeg maar zoveel mogelijk kopiëren en dan en dan en dan een

303
00:22:26.080 --> 00:22:29.360
beter beeld krijgen van wat zijn er daadwerkelijk de verschillen om het dan

304
00:22:29.360 --> 00:22:30.680
daarna gewoon een rondje te refactoren.

305
00:22:30.680 --> 00:22:33.820
Daar ben je dan misschien een dag of twee bezig en dan dan heb je eigenlijk

306
00:22:33.820 --> 00:22:35.540
de code zoals je het zou willen schrijven.

307
00:22:35.580 --> 00:22:39.980
Maar als je dat vanaf het begin af aan doet, dan en dan heb ik altijd het

308
00:22:39.980 --> 00:22:41.560
gevoel in ieder geval dat ik ergens tegenaan zit.

309
00:22:41.640 --> 00:22:43.480
De hekel om het mooier te maken, om het mooi te maken.

310
00:22:44.580 --> 00:22:48.720
Maar uiteindelijk moet het moet de code gewoon draaien en moeten gewoon geld

311
00:22:48.720 --> 00:22:51.540
mee verdiend worden en hoe het er dan precies uitziet.

312
00:22:51.540 --> 00:22:55.900
Ja, dat maakt niet zo heel veel uit, zolang het maar gewoon klein is, geïsoleerd

313
00:22:55.900 --> 00:22:57.980
en makkelijk opnieuw te schrijven.

314
00:22:58.320 --> 00:23:01.040
Nou, in die zin is het hier ook een voordeel als je het redelijk geïsoleerd

315
00:23:01.040 --> 00:23:05.500
houdt per exchange, want de changes bewegen ook per exchange.

316
00:23:06.060 --> 00:23:08.940
Dus op moment dat je iets moet aanpassen, zeg maar, zal het vrijwel nooit zo zijn

317
00:23:08.940 --> 00:23:11.580
dat je over alle andere exchanges, dus de code van alle andere exchanges

318
00:23:11.580 --> 00:23:15.600
moet gaan, omdat de changes die gebeuren ook juist heel plotseling,

319
00:23:15.860 --> 00:23:19.500
soms onaangekondigd, gewoon in productie, binnen sommige exchanges.

320
00:23:19.940 --> 00:23:21.320
Dus je moet soms juist heel snel kunnen handelen.

321
00:23:21.320 --> 00:23:23.960
En als je moet handelen op basis dat je nog rekening moet

322
00:23:23.960 --> 00:23:26.520
houden met alle exchanges die je ook nog hebt draaien,

323
00:23:26.660 --> 00:23:29.780
dan zou dat juist juist onhandiger zijn, eigenlijk in dit geval.

324
00:23:29.900 --> 00:23:33.020
Bijvoorbeeld in ieder geval de base class die alles voor alles en iedereen

325
00:23:33.020 --> 00:23:35.880
doet met heel veel cases erin verwerkt.

326
00:23:35.960 --> 00:23:37.640
Dat is juist eigenlijk in dit geval onhandiger.

327
00:23:38.860 --> 00:23:41.480
Ja, ja, je zei het al een beetje.

328
00:23:41.560 --> 00:23:43.400
Het kan dus ook een stuk gaan in productie.

329
00:23:43.680 --> 00:23:45.720
Wat zijn dat een beetje de dingen waar je tegenaan loopt?

330
00:23:46.540 --> 00:23:49.140
Of heb je nog vrij vaak?

331
00:23:49.140 --> 00:23:53.760
Oké, er zijn er zijn bepaalde exchanges, ik zal geen namen noemen,

332
00:23:54.380 --> 00:23:58.100
maar die die echt heel vaak gewoon dan gaat het wel een stuk.

333
00:23:58.160 --> 00:24:00.200
Dus we krijgen in de Altrady kanaal,

334
00:24:00.200 --> 00:24:04.040
we zien gewoon mensen om hulp roepen van er is iets kapot.

335
00:24:04.220 --> 00:24:04.840
Dan gaan we kijken.

336
00:24:05.120 --> 00:24:05.920
Dan zijn er geen.

337
00:24:06.440 --> 00:24:08.820
Want het eerste wat je meestal doet is dan naar de status pagina

338
00:24:08.820 --> 00:24:09.720
kijken van exchanges.

339
00:24:10.680 --> 00:24:13.840
Soms is de status pagina gelijk aan een Twitter account.

340
00:24:14.760 --> 00:24:16.040
En dan zie je dat er niks aan de hand is.

341
00:24:16.080 --> 00:24:18.040
Maar dan moeten we eigenlijk in onze log in kijken.

342
00:24:18.040 --> 00:24:21.620
En dan zie je gewoon dat er iets is veranderd en dat was de dag ervoor niet.

343
00:24:21.720 --> 00:24:23.540
Of het uur ervoor was dat er gewoon nog niet.

344
00:24:23.620 --> 00:24:24.820
En dan hebben we dat gewoon echt aangepast.

345
00:24:25.000 --> 00:24:27.920
En dan moeten wij scramble om het maar weer weg te werken.

346
00:24:28.080 --> 00:24:29.200
Of weg te werken.

347
00:24:29.480 --> 00:24:31.320
Ja, en soms is dat ook dus gewoon per markt.

348
00:24:31.460 --> 00:24:34.180
Dus het is niet zo dat wij geen alerting erop hebben staan.

349
00:24:34.940 --> 00:24:38.320
Ik bedoel, als er echt iets mis is, dan dan krijgen we daar ons eigen alert van.

350
00:24:38.740 --> 00:24:41.120
Maar heel vaak dan zegt en dan horen van gebruikers.

351
00:24:41.240 --> 00:24:43.380
Oh, die markt, die doet daar en daar iets raars.

352
00:24:43.780 --> 00:24:46.000
En dan ga je kijken en hebben ze bijvoorbeeld alleen voor die markt,

353
00:24:46.000 --> 00:24:47.240
hebben ze de symbols omgedraaid.

354
00:24:47.240 --> 00:24:51.500
Dus dan handel je niet in een bitcoin euro, maar in euro en bitcoin bijvoorbeeld.

355
00:24:51.840 --> 00:24:52.340
Dat soort dingen.

356
00:24:54.760 --> 00:24:59.860
Ik moet ineens denken aan alle alle schade claims die je misschien zou kunnen krijgen.

357
00:25:00.340 --> 00:25:02.420
Daarmee heb je ook al zoiets meegemaakt?

358
00:25:02.880 --> 00:25:05.940
Nou, die vraag wordt wel gesteld van wie is er nou verantwoordelijk?

359
00:25:05.980 --> 00:25:07.440
Dus als er iets misgaat.

360
00:25:07.820 --> 00:25:10.400
Maar eigenlijk staat er in de disclaimer van de Trady heel groot,

361
00:25:10.520 --> 00:25:13.040
dat je je eigen risico moet kunnen dekken.

362
00:25:13.220 --> 00:25:14.800
Wij zijn daar niet voor verantwoordelijk.

363
00:25:14.800 --> 00:25:18.020
Wij bieden aan wat een exchange aan kan bieden.

364
00:25:18.200 --> 00:25:20.020
Als een exchange daar last van heeft,

365
00:25:20.100 --> 00:25:22.840
dan kunnen wij ook niet bij de exchange onze schade claimen.

366
00:25:24.660 --> 00:25:26.260
En de bedragen die je bij ons betaalt,

367
00:25:26.460 --> 00:25:28.600
die staan ook niet in verhouding tot eventuele schade claims.

368
00:25:30.120 --> 00:25:32.280
Dus ja, zeg maar, als we dat wel zouden willen doen,

369
00:25:32.360 --> 00:25:33.720
dan betaal je misschien een tienvoudige.

370
00:25:35.460 --> 00:25:39.280
Ja, dat is op de reden waarom een exchange zijn ook gewoon binnen Nederland.

371
00:25:40.460 --> 00:25:42.740
Dat de Nederlandse bank zich al snel ermee gaat bemoeien,

372
00:25:42.820 --> 00:25:44.120
dat dat ook de reden is, zeg maar.

373
00:25:44.840 --> 00:25:47.360
En dat doen we niet.

374
00:25:47.520 --> 00:25:49.000
We zijn in die zin gewoon meer een doorgeefluik.

375
00:25:50.760 --> 00:25:56.120
En zijn dus echt ook in de afhankelijkheid van hoe de exchanges performen.

376
00:25:57.560 --> 00:25:59.940
Ja, en de exchanges zelf geven die garanties ook niet.

377
00:26:00.340 --> 00:26:04.860
Dus ook al, zeg maar, als al je geld daar op stort en er gaat iets mis,

378
00:26:05.000 --> 00:26:06.860
technisch gezien en alles wordt verkocht,

379
00:26:07.200 --> 00:26:09.800
dan is het heel soms dat de exchange zegt,

380
00:26:09.840 --> 00:26:12.640
nou, dit was echt onze fout en we zullen de schade dekken.

381
00:26:12.760 --> 00:26:14.780
Maar negen van de tien keer is het gewoon van, oh ja, sorry jongens,

382
00:26:14.780 --> 00:26:16.800
we gaan het oplossen, we gaan het verbeteren.

383
00:26:17.400 --> 00:26:18.900
Maar je hulp ben je kwijt.

384
00:26:19.060 --> 00:26:20.060
Dat gebeurt dan.

385
00:26:20.340 --> 00:26:23.280
Is dat nou ook iets waarvan jij dan nog zou zeggen dat dat wel,

386
00:26:24.360 --> 00:26:26.940
want relatief gezien is bitcoin toch nog wel een soort nieuw iets

387
00:26:26.940 --> 00:26:28.800
en een beetje een niche markt.

388
00:26:28.880 --> 00:26:32.220
Zou je ook zeggen dat dat soort dingen nou juist beter moeten worden

389
00:26:33.000 --> 00:26:37.200
voordat in het geval bitcoin een betere adoptie zou krijgen?

390
00:26:37.440 --> 00:26:41.360
Of is dit juist ook de charme van bitcoin, dat dat zo ongeregulert is?

391
00:26:41.940 --> 00:26:44.120
Als je het mij vraagt, is het wel die charme ervan.

392
00:26:45.460 --> 00:26:49.700
Ik weet niet of jullie in vorige podcasts al gehad hebben over de gamestop.

393
00:26:52.000 --> 00:26:53.060
Nee, nog niet.

394
00:26:54.180 --> 00:26:57.280
Oké, nou, dat was zeg maar op de stokmarkt,

395
00:26:57.460 --> 00:27:00.380
was dat een van de ja, meest recente.

396
00:27:02.280 --> 00:27:04.200
Ja, bull runs, zoals ze dat noemen.

397
00:27:04.420 --> 00:27:07.500
En dat werd eigenlijk veroorzaakt door een groep traders.

398
00:27:08.160 --> 00:27:10.180
En dat zorgde voor zoveel volatiliteit

399
00:27:10.180 --> 00:27:12.900
dat dat mensen daar in één klap heel rijk mee konden worden,

400
00:27:12.900 --> 00:27:15.600
maar ook heel erg snel geld mee konden verliezen.

401
00:27:16.080 --> 00:27:20.120
En in dit geval waren het dus de mensen die juist zitten op al die regeltjes

402
00:27:20.120 --> 00:27:23.500
en regelgevingen en al die dingen die die waren nu

403
00:27:24.600 --> 00:27:28.000
zeg maar aan de verliezende kant en die grepen gelijk in.

404
00:27:28.640 --> 00:27:31.700
En die zorgden er dus voor dat zij hun eigen geld gewoon snel

405
00:27:32.660 --> 00:27:34.680
ja, hun schade konden beperken.

406
00:27:35.860 --> 00:27:40.500
En juist daarom zou ik zeggen van laat bitcoin lekker zoals het nu is.

407
00:27:40.500 --> 00:27:44.700
Laat het vrij en dan is het spel is gewoon eerlijker.

408
00:27:44.880 --> 00:27:47.460
Dus het is zeg maar ja, mensen met weinig geld

409
00:27:47.460 --> 00:27:50.760
kunnen toch nog heel veel geld maken en mensen die heel veel geld hebben,

410
00:27:50.760 --> 00:27:53.780
hebben niet zeker de garantie dat ze daar

411
00:27:54.980 --> 00:27:56.580
nog veel meer van kunnen maken.

412
00:27:57.480 --> 00:27:59.580
Ja, ja, want ik kreeg inderdaad ook een mailtje.

413
00:27:59.660 --> 00:28:03.760
Ik heb een account bij de Giro en inderdaad met de hele GameStop nieuws

414
00:28:03.760 --> 00:28:05.560
kreeg ik wel ineens een mailtje van ja, sorry,

415
00:28:05.680 --> 00:28:09.380
we hebben de we hebben de trading op GameStop stilgelegd.

416
00:28:09.380 --> 00:28:15.060
En toen dacht ik oh, ik had dan niet ik ben niet ingestapt.

417
00:28:15.160 --> 00:28:17.160
Maar stel ik was was ingestapt.

418
00:28:17.260 --> 00:28:19.380
Dan kan ik het ineens niet meer verkopen ofzo.

419
00:28:20.220 --> 00:28:21.900
Wat? Dat is wel een beetje een vreemde gang van zaken.

420
00:28:21.960 --> 00:28:25.640
Natuurlijk dat een bedrijf dat zomaar kan beslissen voor jou over.

421
00:28:26.160 --> 00:28:29.020
Ja, ja. Ja, en in de crypto kan dat eigenlijk niet nu.

422
00:28:29.140 --> 00:28:33.000
Ik bedoel ja, een specifiek exchange kan de handel even stilleggen.

423
00:28:33.060 --> 00:28:35.460
Met wat voor reden dan ook? Dat gebeurt ook wel eens.

424
00:28:35.460 --> 00:28:39.280
Bijvoorbeeld als ze onderhoud moeten plegen, dan leggen ze gewoon de hele handel stil.

425
00:28:39.820 --> 00:28:45.680
Maar op de andere exchanges gaat het vrolijk door en minder met die decentralized exchanges.

426
00:28:47.120 --> 00:28:50.520
Ja, precies. Dat is dat is zeg maar nog een nog een stapje verder.

427
00:28:50.620 --> 00:28:53.900
Dus dat zeg maar echt iedereen onderdeel is van een exchange

428
00:28:53.900 --> 00:28:56.800
en dat je dus niet één centrale server hebt die dan regelt.

429
00:28:58.360 --> 00:29:00.240
Maar sowieso bij de crypto is het zo.

430
00:29:00.800 --> 00:29:01.840
Ja, spreiding is altijd beter.

431
00:29:01.900 --> 00:29:04.400
Dus je kan makkelijk over verschillende exchanges

432
00:29:05.880 --> 00:29:07.320
je portfolio beheren.

433
00:29:08.380 --> 00:29:12.960
En als er dan dus één exchange is, dan heb je in ieder geval nog op de ander genoeg staan.

434
00:29:13.900 --> 00:29:17.980
En als je dus zeg maar ergens je investering veilig wil stellen, dan kan dat.

435
00:29:19.620 --> 00:29:23.320
Als jullie team zouden mogen omschrijven,

436
00:29:23.580 --> 00:29:27.840
hoe groot is jullie team om dat platform zeg maar een beetje in stand te houden?

437
00:29:28.040 --> 00:29:32.440
Inclusief developers of misschien hebben jullie wel mensen die de boel monitoren, et cetera.

438
00:29:32.440 --> 00:29:34.660
We zijn heel klein begonnen.

439
00:29:35.540 --> 00:29:37.840
In eerste instantie was het alleen ik en de designer.

440
00:29:39.120 --> 00:29:42.940
Ik heb eigenlijk al vanaf dag één heb ik gewerkt met met mijn vertrouwelijke designer.

441
00:29:43.000 --> 00:29:44.540
Die zit in in de Oekraïne.

442
00:29:46.020 --> 00:29:48.400
En na je later kamer er steeds meer mensen bij.

443
00:29:48.460 --> 00:29:55.220
Ik heb een aantal keer mensen via Upwork op internet ingehuurd en ook weer afscheid van genomen.

444
00:29:56.300 --> 00:29:59.300
En inmiddels zijn we met z'n tienen

445
00:29:59.930 --> 00:30:02.380
nog steeds meeste freelance.

446
00:30:03.520 --> 00:30:07.200
Dus ik heb nog al 2d bv heeft nog geen medewerkers,

447
00:30:07.920 --> 00:30:13.600
maar er gaat waarschijnlijk in de dichtst bezende toekomst gaat er verandering in komen.

448
00:30:14.840 --> 00:30:17.300
En dan zullen de eerste werknemers op de loonlijst komen.

449
00:30:18.400 --> 00:30:24.980
Oh, nice. En even gekeken naar de software die jullie in het platform zelf gebruiken.

450
00:30:25.720 --> 00:30:27.820
Nou, rust werd net al genoemd.

451
00:30:28.300 --> 00:30:33.980
Zijn er nog andere technieken die jullie gebruiken om die software zeg maar live te brengen

452
00:30:33.980 --> 00:30:37.100
of misschien ook wel te testen, te monitoren en dat soort dingen?

453
00:30:37.540 --> 00:30:38.860
Kunnen jullie daar iets meer over vertellen?

454
00:30:39.500 --> 00:30:45.340
Ja, of het grootste gedeelte nog van van Altrady zelf is in Ruby.

455
00:30:46.280 --> 00:30:49.140
Maar de dingen waar de snelheid in moet komen,

456
00:30:49.920 --> 00:30:52.940
daar heb ik dan een mix van Crystal.

457
00:30:53.640 --> 00:30:58.620
Crystal is een Ruby-like taal en is ook super snel.

458
00:31:00.540 --> 00:31:06.140
Daarnaast ben ik toen een paar weken geleden ook begonnen met dingetjes van rust toe te voegen.

459
00:31:06.340 --> 00:31:07.860
Dus daar draaien nu ook wat rust services.

460
00:31:09.040 --> 00:31:15.620
Nou ja, zoals je al hoort, praat ik over services en is eigenlijk alles als een soort van micro architectuur.

461
00:31:16.960 --> 00:31:24.600
Het draait op dit moment in een Rancher cluster en dat is dan nog de Rancher 1.6 variant.

462
00:31:26.560 --> 00:31:34.140
En dat betekent dat zijn maar alle containers, alle Docker containers die worden dan beheerd door de Rancher zelf.

463
00:31:35.340 --> 00:31:38.100
Maar in de toekomst zullen we wel gaan switchen naar Kubernetes.

464
00:31:39.100 --> 00:31:42.960
Niet omdat we Rancher niet meer mooi vonden, want het liefste zouden we daarmee verder gaan.

465
00:31:43.400 --> 00:31:44.880
Maar dat wordt helaas niet meer doorontwikkeld.

466
00:31:44.880 --> 00:31:52.620
Dus we moeten naar de nieuwe variant van Rancher, Rancher 2.5 of 2.6 inmiddels al.

467
00:31:54.220 --> 00:32:00.320
Maar die gebruiken in ieder geval Kubernetes als onderliggend architectuur.

468
00:32:01.400 --> 00:32:03.260
Dus daar gaan wij dan ook op over.

469
00:32:05.440 --> 00:32:08.140
Nou ja, voor Conrad, kan Redmar misschien iets over vertellen?

470
00:32:09.780 --> 00:32:12.820
Ja, Conrad's stack is dat begonnen in Elixir.

471
00:32:12.820 --> 00:32:19.520
We hebben een REST API die op Ruby en Rails zat omgezet naar Elixir.

472
00:32:21.880 --> 00:32:26.460
En onderdelen in Elixir, bepaalde daadsecturen, die zijn al rust.

473
00:32:28.480 --> 00:32:33.760
En de upstreams die richting de exchanges praten, dit is ook allemaal Elixir,

474
00:32:33.820 --> 00:32:36.860
maar dat zal waarschijnlijk ook allemaal rust worden.

475
00:32:36.900 --> 00:32:39.600
Dat staat eigenlijk allemaal in de stijgers om dat allemaal om te zetten naar rust.

476
00:32:40.220 --> 00:32:43.500
En eigenlijk is daar, het is echt hetzelfde wat ik ben al net opbeschreven,

477
00:32:43.600 --> 00:32:50.420
het zijn allemaal aparte containers, vaak wel uit een meer monolithische codebase,

478
00:32:51.380 --> 00:32:55.860
maar deploybaar, of in ieder geval te parametriseren per exchange als je ze start.

479
00:32:56.980 --> 00:33:00.980
En dat draait ook allemaal op nog op datzelfde rangercluster eigenlijk.

480
00:33:02.240 --> 00:33:05.040
Dat zal ik straks allemaal naar u verschenken, hoogst het Kubernetes gaat.

481
00:33:06.720 --> 00:33:08.260
Met ranger ervoor als UI.

482
00:33:11.820 --> 00:33:14.220
Ja, en in de front-end, dat ben ik nog vergeten te vertellen,

483
00:33:14.360 --> 00:33:19.060
maar in de front-end wordt eigenlijk alleen maar React gebruikt.

484
00:33:19.380 --> 00:33:24.980
Dus voor de desktop applicatie, de web applicatie en de mobiele applicaties

485
00:33:24.980 --> 00:33:26.200
gebruiken we allemaal React.

486
00:33:27.680 --> 00:33:30.160
Voor iOS en Android gebruiken we nu nog React Native,

487
00:33:31.200 --> 00:33:35.080
maar daarvan gaan we ook afstappen en we gaan over op gewoon een volledige

488
00:33:35.080 --> 00:33:38.080
React implementatie, zodat we straks één codebase hebben

489
00:33:38.080 --> 00:33:40.720
voor alle front-end gerelateerde zaken.

490
00:33:41.800 --> 00:33:46.920
Ja, hebben jullie daar ook een speciaal, dat klinkt altijd heel mooi in de oren

491
00:33:46.920 --> 00:33:51.560
van één codebase die alle verschillende gebruikers gaat serveren.

492
00:33:54.540 --> 00:33:57.860
Is dat waar? Heb je dat echt gezien dat dat werkt?

493
00:33:58.640 --> 00:34:08.160
Ja, ik heb het dus de iOS applicatie is al 80, 90 procent gedeelde code.

494
00:34:08.880 --> 00:34:13.720
De overige 10 procenten heeft eigenlijk alleen te maken met wat wat kleine

495
00:34:14.640 --> 00:34:18.700
mobiel specifieke onderdelen, maar daarnaast de UI zelf.

496
00:34:19.380 --> 00:34:25.540
Dus ja, je moet gewoon een mobiel vriendelijk navigation UI hebben.

497
00:34:26.320 --> 00:34:28.180
Dus daar onderscheidt het zich dan in.

498
00:34:28.220 --> 00:34:31.120
Maar er is helemaal niks mis mee om dat gewoon in één applicatie

499
00:34:31.640 --> 00:34:35.340
te stoppen en te zorgen dat je dat je applicatie gewoon

500
00:34:35.340 --> 00:34:40.100
responsive reageert en eigenlijk op elk formaat goed zichtbaar is.

501
00:34:41.160 --> 00:34:43.520
Ja, ja, mooi streven. Ja, absoluut, absoluut.

502
00:34:44.420 --> 00:34:46.640
Ik had ook nog een vraag rondom monitoring.

503
00:34:46.880 --> 00:34:51.220
Ik lijk me best wel belangrijk dat dat jullie ook tools moeten hebben om

504
00:34:51.220 --> 00:34:52.740
de boel te monitoren.

505
00:34:52.980 --> 00:34:54.240
Kunnen jullie daar iets meer over vertellen?

506
00:34:55.480 --> 00:34:57.940
Ja, we gebruiken voornamelijk New Relic.

507
00:34:59.620 --> 00:35:04.840
Eigenlijk omdat we daar al omdat de Ruby on Rails implementatie van New Relic

508
00:35:04.840 --> 00:35:06.960
was eigenlijk altijd al heel goed.

509
00:35:08.700 --> 00:35:11.700
Alleen New Relic was heel lang eigenlijk veel te duur.

510
00:35:12.000 --> 00:35:15.900
Dus we gebruikten alleen de gratis versie van New Relic en dat was

511
00:35:15.900 --> 00:35:19.700
zeg maar je had je een 24 uur retentie erop.

512
00:35:20.180 --> 00:35:23.460
Maar ja, dat was voor ons in principe prima want we gebruikten het om te

513
00:35:23.460 --> 00:35:28.240
kunnen zien wat er nu aan de hand is om alerts te kunnen krijgen als

514
00:35:28.240 --> 00:35:32.480
er iets mis is. En inmiddels zijn we sinds een maandje zijn we

515
00:35:32.480 --> 00:35:36.400
gestapt op de betaalde versie dat ze een pricing model hebben aangepast

516
00:35:36.400 --> 00:35:38.040
waardoor het eindelijk een keer betaalbaar werd.

517
00:35:40.160 --> 00:35:44.940
Ja, in de oude versie moesten we meer dan de servers bij elkaar

518
00:35:45.940 --> 00:35:50.740
betalen en nu is het misschien naar 5 procent van de server

519
00:35:50.740 --> 00:35:54.060
kosten. Dus dat is weer uiteindelijk een keer de moeite waard om aan te

520
00:35:54.060 --> 00:35:54.600
schaffen.

521
00:35:55.440 --> 00:35:59.140
En kun je dan wat meer proactief gaan monitoren of hoe wat voor

522
00:35:59.140 --> 00:36:00.340
voordelen biedt dat?

523
00:36:00.720 --> 00:36:04.620
Ja, het voordeel eigenlijk was de gratis versie nog steeds prima voor

524
00:36:04.620 --> 00:36:11.020
ons. Dus voor mij was het gewoon uitgezet.

525
00:36:11.760 --> 00:36:16.060
We hadden geen keus en nou ja, ik bedoel, ik vind het helemaal niet

526
00:36:16.060 --> 00:36:20.040
erg om ergens voor te betalen, want ja, daar krijg je als het goed

527
00:36:20.040 --> 00:36:20.940
is ook wel weer wat voor terug.

528
00:36:21.320 --> 00:36:23.520
Maar nu is het ook wel weer fijn dat je je krijgt nu wel de

529
00:36:23.520 --> 00:36:28.360
extra retentie. Dus je krijgt nu wel de voor bepaalde onderdelen

530
00:36:28.360 --> 00:36:31.760
zeven dagen en dan kan je wel wat makkelijker zien van oh, hey, ik

531
00:36:31.760 --> 00:36:32.720
zie nu hoog verkeer.

532
00:36:32.780 --> 00:36:36.920
Is dat normaal op een maandag of is er nu iets geks aan de hand?

533
00:36:37.060 --> 00:36:38.180
Dus dat krijg je er dan voor terug.

534
00:36:38.260 --> 00:36:42.820
Dat is op zich wel fijn dat dat nu inzichtelijk is.

535
00:36:43.360 --> 00:36:46.080
Ja, want jullie houden het zelf nog steeds allemaal bij.

536
00:36:46.500 --> 00:36:49.480
Dus is of is er een aparte opser die die bijvoorbeeld dit soort

537
00:36:49.480 --> 00:36:51.440
dingen in de gaten houdt of ben je dat nog zelf?

538
00:36:52.060 --> 00:36:53.560
Nee, operation doen we er gewoon een beetje bij.

539
00:36:53.680 --> 00:36:54.840
Dat is allemaal niet zo moeilijk.

540
00:36:58.060 --> 00:36:59.260
Ja, nee, waarom niet?

541
00:36:59.620 --> 00:37:03.460
En ik denk dat het ook wel een goede is, want ja, dan leer je gewoon

542
00:37:03.460 --> 00:37:08.900
echt kennen wat er gebeurt in de markt, maar ook wat je gebruikers ervaren.

543
00:37:09.120 --> 00:37:13.120
Ja, nee, het fijnste van het zelf doen is dat je zeg maar een hele hoop

544
00:37:13.120 --> 00:37:13.980
fluff kan weglaten.

545
00:37:14.180 --> 00:37:16.400
Dus dingen die je niet nodig hebt.

546
00:37:16.580 --> 00:37:20.300
Kubernetes is zo ontzettend groot, we gebruiken er bijna niks van en dat

547
00:37:20.300 --> 00:37:23.180
hebben we ook gewoon niet nodig, want als je met z'n tienen bent en

548
00:37:23.180 --> 00:37:28.640
drie minder dan vijftig applicaties op je platform, dan heb je meeste van

549
00:37:28.640 --> 00:37:30.300
die dingen ook gewoon helemaal niet nodig.

550
00:37:30.920 --> 00:37:35.600
Nee, ja, lekkere lean en mean opbouwen merk ik aan je verhaal.

551
00:37:35.620 --> 00:37:39.040
Ja, zeker het design for today en dat soort dingen.

552
00:37:39.140 --> 00:37:40.860
Ja, in die zin kan het ook nu nog in deze fase.

553
00:37:40.980 --> 00:37:45.380
Het is ook dat met name bijna ook gewoon alle service desk vragen

554
00:37:45.380 --> 00:37:48.820
ook gewoon nog ziet langskomen, zodat je er gewoon met alles

555
00:37:48.820 --> 00:37:50.660
zet je er nog zelf allemaal heel dicht op.

556
00:37:50.660 --> 00:37:55.220
Nu kan dat nog en hopelijk kan het allemaal nog zo lang mogelijk.

557
00:37:56.380 --> 00:37:59.700
Dan zijn daardoor ook de lijntjes kort, want je bent vaak zelf in

558
00:37:59.700 --> 00:38:01.340
staat om eigenlijk over de hele stack te bewegen.

559
00:38:03.300 --> 00:38:05.820
Ja, dat werkt gewoon beter als je in dit stadium zit.

560
00:38:07.940 --> 00:38:09.700
Ja, helder. Ja, precies.

561
00:38:09.800 --> 00:38:14.700
En dan als het op een gegeven moment echt big bang schalen wordt, dan

562
00:38:14.700 --> 00:38:17.680
dan kan je altijd weer denken over hoe je het wil aanpakken.

563
00:38:17.680 --> 00:38:20.880
Maar precies dan heb je dan heb je als het goed is ook de middel om dat

564
00:38:20.880 --> 00:38:23.420
te kunnen doen. Dus ja, precies.

565
00:38:23.480 --> 00:38:27.100
We wilden ja, we hebben ook geen investeringen van buitenaf.

566
00:38:27.240 --> 00:38:33.240
Dus alles is zeg maar de meeste investeringen is tijd en en de

567
00:38:33.240 --> 00:38:36.100
investeringen geld dat dat was eigenlijk ook gewoon wat daar binnen

568
00:38:36.100 --> 00:38:39.920
kwam, dat werd eigenlijk gewoon direct daar weer in terug stopt.

569
00:38:40.860 --> 00:38:43.200
Dus vandaar dat we het altijd zonder investeringen hebben kunnen doen.

570
00:38:44.940 --> 00:38:48.180
Maar Kishen, jij bent van de Quality Assurance, toch?

571
00:38:49.220 --> 00:38:49.640
Ja, zeker.

572
00:38:49.640 --> 00:38:50.800
Daar heb ik nog niks over gehoord.

573
00:38:51.640 --> 00:38:53.780
En je hebt er ook niks over gevraagd. Ben je bang voor het antwoord?

574
00:38:54.400 --> 00:38:55.880
Ja, ik ben echt heel erg bang.

575
00:38:56.480 --> 00:39:01.740
Nee, ik had inderdaad een vraag in petto, want monitoring hoort daar ook wel

576
00:39:01.740 --> 00:39:05.560
een beetje bij. Dus wat je graag zou willen is dat je je klanten natuurlijk

577
00:39:05.560 --> 00:39:08.700
zo snel mogelijk helpt als het misgaat.

578
00:39:09.540 --> 00:39:12.140
En sterker nog, voordat het misgaat dat je ze helpt.

579
00:39:12.740 --> 00:39:17.080
Ik had ook nog even een vraag over testenachtige zaken.

580
00:39:17.460 --> 00:39:22.220
Als je kijkt naar hoe jullie codebase nu opgebouwd is.

581
00:39:23.160 --> 00:39:28.140
Kun je iets roepen over hoe jullie met jullie testen, zeg maar, omgaan?

582
00:39:28.240 --> 00:39:32.640
En dat bedoel ik mee de controles die jullie doen voordat jullie een nieuwe release

583
00:39:32.640 --> 00:39:34.560
de deur uitbrengen.

584
00:39:39.860 --> 00:39:42.920
Ja, dat gaat nu toch dat vervelende antwoord komen.

585
00:39:44.660 --> 00:39:49.800
Want dan ben ik toch wel een behoorlijke cowboy, wat dat betreft.

586
00:39:49.920 --> 00:39:54.800
Nee, ik ben altijd wel geweest van van testen waar dat zinvol is.

587
00:39:56.260 --> 00:39:59.880
En automatisch testen ben ik ook altijd de voorstander van geweest.

588
00:40:00.040 --> 00:40:01.600
Maar dan wel de nuttige dingen.

589
00:40:01.600 --> 00:40:03.920
Dus ik heb sowieso zeg maar.

590
00:40:05.000 --> 00:40:07.940
Ja, overal waar het nodig was, heb ik een automatisch test sweet draaien.

591
00:40:08.260 --> 00:40:11.820
En zeg maar, voordat de docker gebouwd wordt, dan moet die test sweet slagen.

592
00:40:11.880 --> 00:40:13.520
Anders kan de docker niet gebouwd worden.

593
00:40:15.020 --> 00:40:19.820
En dan daarna gaat het naar een staging omgeving en dan kun je het doortesten.

594
00:40:20.560 --> 00:40:22.800
En als dat dan werkt, dan deploy je naar productie.

595
00:40:23.220 --> 00:40:30.620
En inmiddels hebben we ook gewoon een quality assurance persoon die die tickets test.

596
00:40:30.620 --> 00:40:35.100
Dus zeg maar, als tickets klaar zijn, dan gaan ze in test en dan test hij ze door.

597
00:40:35.580 --> 00:40:37.620
En als het goed is, dan komt het in de nieuwe release.

598
00:40:37.820 --> 00:40:41.300
Maar dat is merendeel is dat voor de front-end.

599
00:40:41.820 --> 00:40:46.620
Dat heeft eigenlijk ook mee te maken met dat de front-end dat daar het meeste werk in zit nu.

600
00:40:47.500 --> 00:40:52.540
En de back-end is ja, dat draait nu gewoon al heel lang.

601
00:40:53.360 --> 00:40:56.340
En daar zit heel weinig extra doorontwikkeling in.

602
00:40:56.460 --> 00:40:59.060
Dus zeg maar, als er iets gedaan moet worden, dan zijn meestal.

603
00:40:59.060 --> 00:41:02.820
Misschien 20, 30 regels code die je dan doorvoert.

604
00:41:02.980 --> 00:41:07.160
En dan is dat eigenlijk makkelijk zelf te testen nog.

605
00:41:07.680 --> 00:41:08.920
Moet ik dat een beetje zo zien?

606
00:41:09.260 --> 00:41:13.720
Eigenlijk dat het merendeel van de code is gewoon het aggregeren van de data.

607
00:41:14.040 --> 00:41:20.480
En er is maar een klein stukje code waarbij je echt zou zeggen dit is ons eigen sausje.

608
00:41:20.720 --> 00:41:23.440
Het zoeken naar die basis zoals je het noemde.

609
00:41:23.980 --> 00:41:25.900
Dat is dan maar een klein gedeelte van de code.

610
00:41:25.900 --> 00:41:28.360
Ja, denk ik een beetje uit het verhaal zo af te leiden.

611
00:41:28.540 --> 00:41:28.940
Is dat correct?

612
00:41:31.260 --> 00:41:34.640
Ja, het merendeel van het handelsplatform zoals je net ziet.

613
00:41:35.100 --> 00:41:37.020
Dat is niks anders dan gewoon een beetje krut.

614
00:41:38.040 --> 00:41:40.900
Dus waar Ruby on Rails eigenlijk gewoon echt perfect voor is.

615
00:41:43.200 --> 00:41:44.380
Dat doet het nu.

616
00:41:45.200 --> 00:41:47.660
Dus het merendeel is gewoon iets uit de database ophalen.

617
00:41:48.080 --> 00:41:50.340
En het in het JSON-formaat neerzetten en klaar.

618
00:41:50.520 --> 00:41:52.000
Dat is eigenlijk alles wat het doet.

619
00:41:52.000 --> 00:42:03.820
En ja, die algoritme die dan wat meer intellectueel eigendom en code bevatten.

620
00:42:05.880 --> 00:42:07.980
Die zijn nu niet getest.

621
00:42:08.240 --> 00:42:08.940
Dat is eigenlijk geen testsoort.

622
00:42:09.120 --> 00:42:10.880
Dus dat is meer gewoon een visueel dingetje.

623
00:42:10.960 --> 00:42:14.400
Maar dat heeft er ook mee te maken met die code.

624
00:42:14.500 --> 00:42:15.080
Dat is ook geheim.

625
00:42:15.180 --> 00:42:17.340
Dus dat wordt ook niet zomaar gedeeld.

626
00:42:18.180 --> 00:42:19.740
Maar dat is wel een backtester tool toch?

627
00:42:20.880 --> 00:42:22.180
Ja, die heb ik ook zelf gemaakt.

628
00:42:22.660 --> 00:42:26.300
Dus je hebt wel een soort van test in de zin van je weet dat het algoritme het doet, zeg maar.

629
00:42:27.400 --> 00:42:27.800
Precies.

630
00:42:28.960 --> 00:42:33.560
Ja, omdat je natuurlijk een groot onderdeel van je algoritme is ook om te kunnen laten zien dat het werkt.

631
00:42:33.900 --> 00:42:36.100
Dus daarvoor moet je statistieken kunnen tonen.

632
00:42:36.680 --> 00:42:41.380
En die statistieken geven dus ook tevens aan dat het werkt.

633
00:42:41.880 --> 00:42:43.580
En als dat dus goed uitziet.

634
00:42:45.100 --> 00:42:51.580
En wat voor tooling of libraries, wat heb je daarvoor gebruikt?

635
00:42:52.240 --> 00:42:53.940
Voor de automatisering.

636
00:42:54.060 --> 00:42:54.880
Ja, precies.

637
00:42:55.340 --> 00:43:03.580
Voor de automatistest gebruik ik nu gewoon de standaard RSpec test die in Rails, voor Ruby eigenlijk daarbij krijgt.

638
00:43:05.580 --> 00:43:08.640
En ja, dat is eigenlijk op dit moment het enige wat ik aan automatistest heb.

639
00:43:08.740 --> 00:43:10.680
En die doen ook gewoon volledige integratietest.

640
00:43:10.680 --> 00:43:13.940
Het is ook gewoon een soort van buitenom testen.

641
00:43:14.440 --> 00:43:14.860
Ja, precies.

642
00:43:14.960 --> 00:43:19.240
Dus je doet sowieso altijd op de unit en het component, maar ook van buitenaf?

643
00:43:19.680 --> 00:43:20.980
Ja, klopt.

644
00:43:21.360 --> 00:43:22.360
Oké, ja.

645
00:43:23.920 --> 00:43:29.280
En heb je daar ook echt serieus wat werk aan of valt dat wel mee?

646
00:43:30.660 --> 00:43:32.160
Nou, dat valt op zich wel mee.

647
00:43:32.960 --> 00:43:37.720
Het is de reden dat ik, ja, ik schrijf niet overal tests voor.

648
00:43:39.380 --> 00:43:44.340
Omdat ja, vaak is het nog wel zo dat je dat je dan zeg maar eigenlijk wat ik vaak gezien heb in test is,

649
00:43:44.340 --> 00:43:49.920
is dat mensen een test schrijven om te kijken of een bepaalde regelcode in een in een controller staat.

650
00:43:50.420 --> 00:43:52.340
Ja, dat is niet zo zinvol.

651
00:43:52.500 --> 00:43:57.800
Dan test je niet zoveel, want eigenlijk moet het zo kunnen zijn dat als je een test hebt,

652
00:43:57.840 --> 00:44:01.160
dat je wel wat regels code moet kunnen aanpassen zonder dat je testfiet breekt.

653
00:44:01.160 --> 00:44:06.720
Dat zou moeten moeten kunnen zijn. Maar als je bij bij elke aanpassing in je controller een test moet aanpassen,

654
00:44:06.940 --> 00:44:09.260
dan ben je misschien iets gegevens aan het doen.

655
00:44:09.860 --> 00:44:15.820
Ja, ja, je wilt natuurlijk je wilt uiteindelijk zien dat je echt iets iets iets waardevol spreekt inderdaad.

656
00:44:15.840 --> 00:44:16.600
Ja, precies.

657
00:44:16.680 --> 00:44:19.480
Zoals een algoritme of ja.

658
00:44:20.020 --> 00:44:23.240
Dus en zit er veel business logica in jullie?

659
00:44:23.820 --> 00:44:26.300
Ja, in jullie architectuur of source code?

660
00:44:26.720 --> 00:44:29.680
Zit er veel in de in de backend valt het wel mee.

661
00:44:31.060 --> 00:44:35.680
Ja, het is wat analytics voor voor je voor je trades.

662
00:44:36.460 --> 00:44:38.260
Dus dat is het dat is het spannende gedeelte.

663
00:44:38.380 --> 00:44:43.900
Dus zeg maar, hoe doe ik het nou eigenlijk in de trading en de portfolio calculaties?

664
00:44:44.000 --> 00:44:46.640
Dus zeg maar, hoe groeit mijn balans over tijd?

665
00:44:47.340 --> 00:44:50.340
Dat is voornamelijk de business logica die er nu in zit.

666
00:44:51.480 --> 00:44:56.920
En gebruik je ook veel mocs of stubs om situaties te simuleren?

667
00:44:58.960 --> 00:45:00.240
Ja en nee.

668
00:45:01.180 --> 00:45:05.340
Voor bepaalde dingen, dus bijvoorbeeld voor de voor een exchange import.

669
00:45:05.540 --> 00:45:10.080
Dus je kunt zeg maar bij exchange kun je CSV files downloaden en die kun je dan importeren.

670
00:45:10.140 --> 00:45:13.300
Nou, daar gebruik je dan gewoon wat wat mocs voor.

671
00:45:13.520 --> 00:45:15.920
Dus dan kan ik zien of die die import goed werkt.

672
00:45:16.820 --> 00:45:18.960
En voor bijvoorbeeld de trading module.

673
00:45:19.860 --> 00:45:23.360
Ja, om te weten of de trading module werkt tegen de API en of die nog steeds werkt,

674
00:45:23.400 --> 00:45:25.400
dan zul je toch echt de API moeten callen.

675
00:45:25.400 --> 00:45:32.740
Dus dan dus ik heb een test suite die daadwerkelijk orders plaatsen en weer annuleert.

676
00:45:33.400 --> 00:45:36.740
Om te kijken of die exchange API gewoon goed werkt.

677
00:45:36.940 --> 00:45:40.460
Ja, hetzelfde voor de voor de websocket.

678
00:45:40.620 --> 00:45:42.780
Het is eigenlijk meer van je wil echt testen dat het nu werkt.

679
00:45:42.980 --> 00:45:48.080
Want de issues die vaak voorkomen zijn dus dat zij het zelf op productie eigenlijk hebben gesloopt.

680
00:45:49.380 --> 00:45:53.120
En vaak, want je ziet natuurlijk, je hebt VCR in Ruby.

681
00:45:53.660 --> 00:45:54.720
Dat heeft eigenlijk heel weinig nut.

682
00:45:54.720 --> 00:45:57.780
Want dan krijg je dan een soort vals zekerheid.

683
00:45:58.740 --> 00:46:03.780
Want dan betekent dat het nog werkt tegen de API die een week geleden nog werkte.

684
00:46:04.600 --> 00:46:09.480
Terwijl de issues die waar wij tegenaan lopen, is vaak dat de exchange nu kapot is.

685
00:46:09.800 --> 00:46:11.520
En het moet nu werken met de exchange.

686
00:46:12.380 --> 00:46:19.780
Dus daardoor zijn eigenlijk al die soort tests meer ingericht om rechtstreeks met de live exchanges te kunnen testen.

687
00:46:21.780 --> 00:46:24.240
Ja, dat is wel een goede aanpak.

688
00:46:24.700 --> 00:46:27.900
Want blijkbaar hoor ik uit jullie verhaal dat het risico daar natuurlijk groter is.

689
00:46:29.220 --> 00:46:30.980
Of dan moet ik eigenlijk zeggen de kans.

690
00:46:31.280 --> 00:46:36.140
De kans is veel groter dat er natuurlijk een integratie ergens niet meer gaat werken.

691
00:46:36.200 --> 00:46:40.080
Dus met andere woorden, je gaat gewoon veel meer integratie testen.

692
00:46:40.300 --> 00:46:48.020
In plaats van dat je misschien allerlei unit testen gaat bouwen die allerlei moxen en een hele ideale situatie voor je creëert.

693
00:46:48.020 --> 00:46:49.640
En dan ga je inderdaad helemaal terecht.

694
00:46:49.820 --> 00:46:54.060
Ga je false positiefs krijgen omdat je denkt dat het allemaal goed is.

695
00:46:54.160 --> 00:46:56.560
Maar dan ga je in de integratie omgevingen.

696
00:46:57.520 --> 00:47:00.460
Dan komen ineens wel die fouten naar boven die je anders niet had geschreven.

697
00:47:00.840 --> 00:47:04.800
En dan is er nog een deel dat veel exchanges de sandbox gewoon...

698
00:47:04.800 --> 00:47:10.660
Je had een tijdje dat ze wel sandboxen hadden aangeboden om mee te testen.

699
00:47:10.780 --> 00:47:16.280
En je ziet dat het vaak ook gewoon verdwijnt omdat het zo te duur is om gewoon alleen maar een sandbox up te houden.

700
00:47:16.280 --> 00:47:18.880
Dus zeggen ze eigenlijk in die zin ook gewoon wat we net beschreven.

701
00:47:19.040 --> 00:47:21.380
Test maar gewoon dat trading in productie.

702
00:47:21.720 --> 00:47:24.320
Dus ja, dan doen we dat maar netjes.

703
00:47:24.740 --> 00:47:26.300
Maar dan weet je ook zeker dat dat ook werkt.

704
00:47:29.180 --> 00:47:35.120
Ja, ik denk dat dat ook wel een beetje een beweging is waar iedereen mee te maken heeft hoor.

705
00:47:36.120 --> 00:47:42.280
Je hoort het steeds meer in continuous delivery achtige hoeken van testen in productie.

706
00:47:42.280 --> 00:47:46.760
Laten we eens kijken wat er gebeurt als we de performance, weet je wel, aantasten.

707
00:47:48.400 --> 00:47:55.280
Ja, en een andere strategie die we ook wel hanteren is door gewoon heel vaak heel weinig te deployen.

708
00:47:56.460 --> 00:47:58.500
Dus zeg maar, je houdt je changes echt super klein.

709
00:47:58.960 --> 00:48:01.760
Dus je weet ook gewoon direct van oh, ik heb net iets gedeployed.

710
00:48:01.840 --> 00:48:03.280
Nou, dat moet en het gaat nu niet meer goed.

711
00:48:03.380 --> 00:48:04.360
Dan is dat het geweest.

712
00:48:04.820 --> 00:48:09.580
Het is niet dat je zeg maar een hele week van ontwikkelen hebt en dat je dan eens een keertje uiteindelijk wat gaat releasen.

713
00:48:09.780 --> 00:48:12.080
Nee, het is eigenlijk ben je aan het einde van de dag klaar?

714
00:48:12.080 --> 00:48:13.460
Oké, deployt maar.

715
00:48:15.060 --> 00:48:18.900
In die zin zitten we inderdaad echt heel dicht op het Nieuw Relic en Sentry.

716
00:48:19.100 --> 00:48:24.980
Dat je deploit en je zet eigenlijk die scherm er gewoon constant bij om dan te zien of het komende uur zeg maar goed gaat.

717
00:48:25.100 --> 00:48:29.360
En mocht er dan iets misgaan, dan weet je vrijwel zeker dat er of een exchange uit ligt.

718
00:48:29.580 --> 00:48:33.280
Wat altijd kan, of het is je eigen code en dan draaien we dat gewoon weer terug.

719
00:48:33.660 --> 00:48:36.600
En ja, en terwijl je op zoek gaat naar wat dan de fout is.

720
00:48:36.680 --> 00:48:38.840
En meestal fix je het dan ook weer gewoon forward.

721
00:48:39.000 --> 00:48:41.520
Dus dat je je ziet wat de fout is.

722
00:48:41.520 --> 00:48:46.420
Dus je fixt het en je bent eigenlijk een paar minuten later dan is het weer live.

723
00:48:47.640 --> 00:48:50.300
Ja, veel vast, veel early dat principe dus.

724
00:48:51.040 --> 00:48:53.880
Ja, ja, ja, en het is ook belangrijk dat je dus heel snel kunt deployen.

725
00:48:53.920 --> 00:48:59.640
Dus we hebben ook geen hele grote integratie testen die jammer dat het een uur duurt voordat je überhaupt iets kunt deployen.

726
00:49:00.420 --> 00:49:02.960
Nee echt, het is gewoon lokaal testen.

727
00:49:03.280 --> 00:49:06.040
Draait je testje, prima, oké, deployen.

728
00:49:07.840 --> 00:49:17.140
Nou, het klinkt als een mooi product, maar het product is nog niet af, neem ik aan.

729
00:49:17.360 --> 00:49:19.840
Want jullie zijn nu met tien man daarmee bezig.

730
00:49:20.020 --> 00:49:21.720
Wat zie jij voor de toekomst?

731
00:49:21.820 --> 00:49:23.340
Of wat zien jullie voor de toekomst eigenlijk?

732
00:49:23.840 --> 00:49:25.200
Wat gaat er gebeuren?

733
00:49:25.360 --> 00:49:27.200
Wordt het een kwestie van meer exchanges aansluiten?

734
00:49:27.860 --> 00:49:30.800
Wordt het een kwestie van nog meer nieuwe algoritmes bedenken?

735
00:49:31.400 --> 00:49:33.280
Of heb je ideeën voor de toekomst?

736
00:49:33.440 --> 00:49:35.660
Of heb je ideeën voor de hele crypto-markt als toekomst?

737
00:49:36.660 --> 00:49:38.740
Nou ja, we willen sowieso meer exchanges toevoegen.

738
00:49:40.080 --> 00:49:41.660
Ook gewoon dat je dan meer mensen kunt aansluiten.

739
00:49:43.660 --> 00:49:49.060
Die bijvoorbeeld niet in Amerika mag je niet op elk exchange handelen.

740
00:49:49.200 --> 00:49:50.720
Dus er zijn alweer speciale exchanges voor.

741
00:49:50.860 --> 00:49:52.700
Dus om dan zeg maar de Amerikaanse markt te kunnen voorzien,

742
00:49:53.720 --> 00:49:57.740
moeten we ook kijken naar exchanges die alleen in die regio te gebruiken zijn.

743
00:49:59.300 --> 00:50:02.720
Daarnaast willen we inderdaad ook nog meer algoritmes gaan toevoegen.

744
00:50:03.660 --> 00:50:05.600
Maar dat staat wel eventjes op een laag pitje,

745
00:50:05.680 --> 00:50:11.300
omdat we nu druk bezig zijn om onze smart trading functionaliteit uit te breiden.

746
00:50:11.340 --> 00:50:12.820
We hebben nu al wat smart trading functies.

747
00:50:13.800 --> 00:50:15.880
En met smart trading functies bedoel ik zeg maar dat je,

748
00:50:16.340 --> 00:50:18.140
je kunt dan orders klaarzetten.

749
00:50:18.360 --> 00:50:21.720
En zodra er dan, zodra een order is uitgevoerd,

750
00:50:22.880 --> 00:50:26.840
dan gaat het systeem automatisch voor jou de volgende stap doen.

751
00:50:27.600 --> 00:50:31.760
En nu is het zeg maar, je doet één ding en dan doet het systeem daarna nog één ding.

752
00:50:31.760 --> 00:50:33.160
En dan is het klaar.

753
00:50:33.340 --> 00:50:35.320
Maar we zijn nu bezig om dan te kunnen zeggen,

754
00:50:35.400 --> 00:50:39.020
van dat je eigenlijk een hele positie van tevoren kunt gaan klaarzetten.

755
00:50:39.440 --> 00:50:41.940
En dan koopt hij alles wat jij op de weg naar beneden hebt staan.

756
00:50:42.200 --> 00:50:45.200
En dan gaat hij alles op de weg naar boven, gaat hij het weer verkopen.

757
00:50:45.700 --> 00:50:49.620
En dan kun je makkelijk in- en uitstappen.

758
00:50:49.800 --> 00:50:51.160
En je kunt rustig naar bed gaan.

759
00:50:51.360 --> 00:50:54.620
En dan gaat het systeem, houdt de trades voor jou in de gaten.

760
00:50:55.700 --> 00:50:57.820
En kun je slapen het rijk worden, zeggen ze dan.

761
00:50:59.520 --> 00:51:00.560
Living the dream.

762
00:51:02.700 --> 00:51:05.820
Iets wat we eigenlijk ook alle gasten altijd vragen.

763
00:51:06.800 --> 00:51:09.360
Eigenlijk is dat altijd in het begin van de podcast.

764
00:51:09.500 --> 00:51:11.900
Maar goed, dat doen we gewoon lekker aan het einde boeien.

765
00:51:13.060 --> 00:51:14.780
Laten we even bij Redmar beginnen.

766
00:51:15.920 --> 00:51:22.700
Hoe is het eigenlijk bij jou begonnen dat je ontdekt hebt dat je software development ambities had?

767
00:51:23.040 --> 00:51:23.960
Hoe is het bij jou begonnen?

768
00:51:25.160 --> 00:51:27.420
Een beetje rond 6, 7 of zo.

769
00:51:27.440 --> 00:51:31.500
Toen kwam een kennis bij ons binnenwandelen die twee dochters hadden.

770
00:51:31.580 --> 00:51:36.060
En die hadden geen interesse in al zijn oude computers.

771
00:51:37.040 --> 00:51:39.520
En die dachten we kunnen we hier wel droppen.

772
00:51:39.580 --> 00:51:42.880
Dus je kreeg letterlijk ook echt een grote doos met een MSX.

773
00:51:42.900 --> 00:51:46.060
En dan komt er door 64 met een tape recorder erin.

774
00:51:46.700 --> 00:51:49.800
En dan een hele oude tv waar je altijd een paar keer op moest rammen.

775
00:51:50.260 --> 00:51:50.920
En dan deed je het weer.

776
00:51:50.920 --> 00:51:53.500
En dat was dan op zolder.

777
00:51:53.540 --> 00:51:55.520
En dat was gewoon lekker helemaal op los gaan.

778
00:51:55.660 --> 00:51:58.140
In de zin van niemand keek echt met je mee.

779
00:51:58.160 --> 00:51:59.920
Dus je kon er gewoon helemaal mee experimenteren.

780
00:52:01.120 --> 00:52:07.160
En allemaal van die programma's die je dan uit zo'n soort boek komt natypen.

781
00:52:07.480 --> 00:52:09.020
En dan kreeg je opeens een spelletje.

782
00:52:09.740 --> 00:52:10.620
En daar is het een beetje begonnen.

783
00:52:10.780 --> 00:52:13.000
En toen is het meer naar 0,86 toe gegaan.

784
00:52:13.080 --> 00:52:14.720
Zo'n oranje beeldscherm.

785
00:52:15.560 --> 00:52:17.920
En daar een beetje met QBasic aan de haal.

786
00:52:17.920 --> 00:52:26.260
En toen is het een beetje doorgerold naar bijna verslaving van Quake.

787
00:52:26.340 --> 00:52:27.260
Quake-verslaving.

788
00:52:28.140 --> 00:52:28.940
First person shooter.

789
00:52:29.880 --> 00:52:31.900
En toen had ik eigenlijk nogal wat motten met mijn ouders.

790
00:52:31.940 --> 00:52:34.140
Die trok ook af en toe gewoon de kade eruit.

791
00:52:34.600 --> 00:52:36.060
Of stoppen als ik er te lang door ging.

792
00:52:36.780 --> 00:52:41.680
En toen kwam er opeens een hele hoge telefoonrekening van over de duizend gulden.

793
00:52:42.440 --> 00:52:43.860
En toen had ik een probleem.

794
00:52:44.000 --> 00:52:47.240
Want toen moest ik dat op een of andere manier zien te betalen.

795
00:52:47.240 --> 00:52:50.700
Want mijn ouders zeiden, ja, het is leuk dat jij heel veel gespeeld hebt.

796
00:52:51.320 --> 00:52:52.440
Maar ga het maar eens even terug verdienen.

797
00:52:53.180 --> 00:52:55.860
En toen kwam eigenlijk het verhaal van, nee, je kan je ook geld mee verdienen.

798
00:52:56.000 --> 00:53:02.100
Ik had aardig wat tijd erin zitten om een clan homepagina te maken.

799
00:53:02.680 --> 00:53:05.020
Dat was toen volgens mij met Flash.

800
00:53:06.600 --> 00:53:08.240
Ja, en gewoon HTML, CSS.

801
00:53:09.180 --> 00:53:12.520
En toen ging ik gewoon ergens gewoon, het was een beetje bij toeval, kwam ik ergens terecht.

802
00:53:12.620 --> 00:53:14.780
En daar kon ik gewoon 25 euro per uur krijgen van die man.

803
00:53:14.780 --> 00:53:17.800
Dat was een eenmanszaak.

804
00:53:18.120 --> 00:53:21.040
Als ik hem ging uitleggen hoe hij dat moest doen en gewoon voor zijn klant te werken.

805
00:53:21.140 --> 00:53:24.280
Dus ik had die duizend schulden vrij snel weer terug verdiend.

806
00:53:24.460 --> 00:53:27.520
En mijn ouders had echt zoiets van, is dit wel helemaal kosver?

807
00:53:27.840 --> 00:53:30.100
Is het niet zo dat hij andere dingen aan het verhandelen is of zo?

808
00:53:30.860 --> 00:53:34.380
En vanuit daar is het eigenlijk in één keer doorgerold naar, ja,

809
00:53:34.480 --> 00:53:36.740
eigenlijk zo snel mogelijk toen ik 18 was, schaam van koophandelen,

810
00:53:36.880 --> 00:53:40.400
maar aanvragen en ja, en er gewoon in werken ook gewoon,

811
00:53:40.400 --> 00:53:42.120
omdat ik het gewoon heel leuk vond om te doen.

812
00:53:42.120 --> 00:53:46.120
Je wordt er allemaal mee creëren, zeg maar.

813
00:53:47.180 --> 00:53:48.460
En zo is het eigenlijk gaan rollen.

814
00:53:49.920 --> 00:53:53.780
En toen HVU en dat was eigenlijk te makkelijk.

815
00:53:54.160 --> 00:53:58.100
En toen ben ik naar TU Delft gegaan en daar kwam ik dan Benoit tegen.

816
00:54:00.520 --> 00:54:01.680
Ja, en de rest is history.

817
00:54:04.580 --> 00:54:06.640
En Benoit, hoe is het bij jou begonnen?

818
00:54:07.020 --> 00:54:08.900
Ja, ik was iets meer volwassen toen ik begon.

819
00:54:08.940 --> 00:54:09.560
Ik was 12.

820
00:54:13.100 --> 00:54:18.740
En ja, ook gewoon begonnen met wat basic scriptjes.

821
00:54:21.200 --> 00:54:24.480
Toen we dan voor het eerst een webbrowser kregen, ben ik al gelijk

822
00:54:24.480 --> 00:54:26.140
html pagina's gaan maken.

823
00:54:26.340 --> 00:54:29.000
We hadden nog ineens internet, maar webpagina's maken.

824
00:54:29.100 --> 00:54:29.920
Dat vond ik wel leuk.

825
00:54:31.960 --> 00:54:38.100
En en en dat toen ik 15 was, heb ik dat ook een paar keer voor wat geld gedaan,

826
00:54:38.100 --> 00:54:39.700
maar niet heel veel.

827
00:54:39.860 --> 00:54:41.060
Ik was eigenlijk liever lui dan moe.

828
00:54:41.280 --> 00:54:43.560
Dus ik werkte ook nergens anders.

829
00:54:44.320 --> 00:54:46.240
Ik had heel veel gespaard in mijn leven.

830
00:54:46.340 --> 00:54:49.260
Dus ik hoefde ook niet te werken om gewoon uit te kunnen gaan.

831
00:54:51.580 --> 00:54:57.300
Maar als je dan 16 bent, dan gaat je geld ook nog wel redelijk snel op als je gaat stappen.

832
00:54:57.740 --> 00:54:59.920
Dus op mijn 19e moest ik wel echt gaan werken.

833
00:55:00.000 --> 00:55:02.460
Dus toen ben ik meer gaan werken.

834
00:55:02.500 --> 00:55:05.060
Maar dat was niet nog in de IT.

835
00:55:05.600 --> 00:55:06.600
Wel met elektronica.

836
00:55:06.600 --> 00:55:09.600
Ik was gewoon verkoper in de elektronica zaak.

837
00:55:12.560 --> 00:55:14.660
En dat was wel oké.

838
00:55:15.440 --> 00:55:17.040
Wel veel verkoopervaring opgedaan.

839
00:55:17.140 --> 00:55:18.020
Dus dat was goed.

840
00:55:20.720 --> 00:55:23.840
En daarna ben ik bij de Phono's gaan werken.

841
00:55:24.220 --> 00:55:29.340
En toen ik bij de Phono's werkte, toen heb ik nog meer aan mijn sales kunsten gewerkt.

842
00:55:30.180 --> 00:55:35.360
Maar toen bleek toch wel dat het het ontwikkelen van web applicaties,

843
00:55:35.360 --> 00:55:38.140
dat dat meer bij mij lag en dat ik dat leuker vond.

844
00:55:38.340 --> 00:55:42.260
Dus toen ben ik naar de Phono's ben ik bij als freelancer aan het werk gegaan.

845
00:55:42.840 --> 00:55:45.620
Bij een IT bedrijf hier in Den Haag.

846
00:55:47.100 --> 00:55:48.860
En dat heb ik eigenlijk steeds verder uitgebreid.

847
00:55:48.940 --> 00:55:54.420
Totdat ik samen met Redmar eigenlijk bij Digidentity terechtkwam.

848
00:55:55.160 --> 00:55:57.860
Waar we later ook Johnny tegenkwamen.

849
00:55:58.380 --> 00:55:58.860
Hallo.

850
00:56:01.640 --> 00:56:02.800
Dat was een klein geheimje.

851
00:56:02.800 --> 00:56:03.720
Ik ken jullie al eigenlijk.

852
00:56:06.160 --> 00:56:07.460
Dat heb je goed.

853
00:56:07.480 --> 00:56:08.440
Beter verborgen te houden.

854
00:56:08.480 --> 00:56:09.320
Ja, precies.

855
00:56:10.960 --> 00:56:11.760
Nee, oké.

856
00:56:12.920 --> 00:56:14.620
Johnny, hoe is het bij jou eigenlijk begonnen?

857
00:56:15.600 --> 00:56:18.600
Ja, ik heb het nog niet verteld in de podcast volgens mij.

858
00:56:19.220 --> 00:56:22.700
Maar het is inderdaad voor mij wel een beetje een soort ander verhaal.

859
00:56:22.820 --> 00:56:24.020
Ik was meer gewoon een gebruiker.

860
00:56:24.700 --> 00:56:26.540
Ik ben ook iets jonger dan Redmar.

861
00:56:26.860 --> 00:56:28.540
Het scheelt niet zo heel veel, maar een paar jaartjes.

862
00:56:28.580 --> 00:56:31.360
Dus ik ben net even wat later het internet opgeklommen.

863
00:56:32.500 --> 00:56:36.100
Maar ik was met name inderdaad een gamer en een gebruiker.

864
00:56:36.520 --> 00:56:44.360
En ik was heel erg behendig geworden vooral in het downloaden van allerlei dingen via Kaza en iDonkey en al dat soort programma's.

865
00:56:45.920 --> 00:56:49.100
We zullen er niet over hebben wat het dan allemaal was en of dat allemaal zo netjes was natuurlijk.

866
00:56:49.220 --> 00:56:52.660
Maar goed, daar was ik met name mee bezig.

867
00:56:52.660 --> 00:56:58.580
En ja, op een gegeven moment werden de social platforms weer een ding.

868
00:56:58.740 --> 00:57:01.420
En kreeg je CU2 en Hives en al dat soort dingen.

869
00:57:01.820 --> 00:57:10.020
En bijna bij CU2 volgens mij was er echt een stukje dat je jezelf ook echt HTML kon schrijven om je pagina er koeler uit te laten zien.

870
00:57:10.140 --> 00:57:12.980
Dat hebben ze volgens mij later bij Hives ook nog wel een stukje overgenomen.

871
00:57:13.200 --> 00:57:15.180
En daar ben ik eigenlijk pas begonnen.

872
00:57:15.960 --> 00:57:19.660
Omdat ik toen al vrij snel tegen de limieten van die platforms aanliep.

873
00:57:19.660 --> 00:57:28.040
Ja, heb ik daar een link neergezet naar mijn eigen webpagina die ik toen bij de DSL provider kreeg.

874
00:57:28.280 --> 00:57:34.300
En op die manier ben ik inderdaad met een simpel editertje een beetje gaan lopen HTML'en.

875
00:57:34.920 --> 00:57:38.320
En ja, daar was het vrijwel bij gebleven.

876
00:57:38.440 --> 00:57:40.520
En ik was gewoon in mijn puberteit met name een gamer.

877
00:57:41.140 --> 00:57:42.440
En ik heb altijd in de supermarkt gewerkt.

878
00:57:42.580 --> 00:57:48.640
Ik heb elf jaar in de supermarkt gewerkt en daar verdiende ik best lekker voor die begrippen.

879
00:57:48.640 --> 00:57:51.640
Dus ik kon ook altijd alles doen wat ik wilde.

880
00:57:52.420 --> 00:57:55.540
En toen op een gegeven moment ben je klaar met je middelbare school.

881
00:57:55.640 --> 00:57:58.160
En dan is het van ja, wat gaan we doen?

882
00:57:58.520 --> 00:58:01.160
En dan was het van nou ja, ik ben wel goed met computers volgens mij.

883
00:58:01.580 --> 00:58:03.240
En zo ben ik een beetje ingerold.

884
00:58:03.320 --> 00:58:05.560
Toen ben ik maar informatica gaan studeren.

885
00:58:05.980 --> 00:58:08.260
En ja, van het een is het ander allemaal gekomen.

886
00:58:08.440 --> 00:58:11.300
En ik moet zeggen, het bevalt me uiteindelijk prima gelukkig.

887
00:58:12.140 --> 00:58:14.820
Maar ik ben gewoon in loondienst en ik ben een loonslaaf.

888
00:58:14.820 --> 00:58:18.680
En ik hoop ooit wel eens inderdaad ook een eigen bedrijf te vinden.

889
00:58:19.120 --> 00:58:23.880
Of in ieder geval een mogelijk business case te vinden voor een eigen bedrijf.

890
00:58:25.200 --> 00:58:28.140
Maar dat is op dit moment nog niet gebeurd.

891
00:58:28.500 --> 00:58:33.420
Maar ja, dus een hele andere route naar programmeur dan van Redmar en Benoit.

892
00:58:34.780 --> 00:58:37.040
Nou leuk, dankjewel dat je het even gedeeld hebt.

893
00:58:38.300 --> 00:58:40.760
Een beetje een soort gelijke ervaring.

894
00:58:42.340 --> 00:58:44.940
Volgens mij was ik wel rond de 14 ofzo.

895
00:58:45.020 --> 00:58:54.160
Toen was ik ook veel met het leren hoe in DOS het beep geluidje werkte.

896
00:58:54.360 --> 00:58:56.040
Dat kan ik me nog wel herinneren.

897
00:58:56.420 --> 00:59:03.060
Ik was daar zo van gefascineerd dat je het beep geluidje in een batch bestand kon aanpassen.

898
00:59:03.540 --> 00:59:06.140
Dus dat je ook verschillende tonen eruit zou kunnen halen.

899
00:59:07.220 --> 00:59:09.940
En ik weet nog wel dat ik daar ook op een gegeven moment een deuntje uit...

900
00:59:09.940 --> 00:59:12.540
Zo is het bij mij in ieder geval begonnen, je gekte.

901
00:59:16.640 --> 00:59:21.680
Ik stel voor dat we doorgaan naar de volgende rubriek in onze podcast.

902
00:59:23.280 --> 00:59:25.940
Dat is de developers dilemma's.

903
00:59:27.520 --> 00:59:28.280
Nou, wat we daar doen.

904
00:59:28.960 --> 00:59:34.160
We vragen onze gasten om een keuze te maken uit twee dilemma's.

905
00:59:34.160 --> 00:59:35.360
Dat doen we drie keer.

906
00:59:38.580 --> 00:59:42.260
Laten we eerst maar even voor de grap beginnen bij Redmar.

907
00:59:42.760 --> 00:59:43.760
Dus hou je vast.

908
00:59:44.400 --> 00:59:44.920
Kom maar op.

909
00:59:46.480 --> 00:59:49.720
En Benoit, val hem aan als je wil.

910
00:59:50.420 --> 00:59:51.400
Als je het niet eens bent.

911
00:59:52.120 --> 00:59:52.780
Dat doen we nooit.

912
00:59:55.720 --> 00:59:59.080
Maar goed, de eerste om een beetje warm te draaien.

913
01:00:00.660 --> 01:00:02.280
Pingpong of voetbal?

914
01:00:03.940 --> 01:00:04.500
Voetbal.

915
01:00:07.220 --> 01:00:07.660
Waarom?

916
01:00:09.160 --> 01:00:09.760
Ja, weet ik niet.

917
01:00:09.900 --> 01:00:11.380
Ik weet eigenlijk allebei wel leuk.

918
01:00:12.660 --> 01:00:13.860
Voetbal kun je veel blijven staan.

919
01:00:14.000 --> 01:00:14.720
Dat is wel het voordeel.

920
01:00:15.940 --> 01:00:20.280
Misschien meestal omdat je gewoon met meer mensen eromheen staat.

921
01:00:20.420 --> 01:00:22.220
Dat is meer met z'n allen.

922
01:00:23.740 --> 01:00:24.860
Ja, ja, ja.

923
01:00:25.200 --> 01:00:25.720
Ah, oké.

924
01:00:25.740 --> 01:00:27.180
Nou, het schiet er ook iets bij mij binnen.

925
01:00:27.320 --> 01:00:27.760
Inderdaad.

926
01:00:28.160 --> 01:00:30.680
Als je pingpong zou kiezen, dan, ja.

927
01:00:30.920 --> 01:00:31.260
Wil je dan?

928
01:00:31.480 --> 01:00:32.540
Ik weet het niet.

929
01:00:33.160 --> 01:00:35.620
Ja, ik kan ook pingpongen met z'n tweeën misschien, maar goed.

930
01:00:36.900 --> 01:00:37.710
Oké, de tweede.

931
01:00:39.260 --> 01:00:43.920
Developer doing design of designer doing development?

932
01:00:47.680 --> 01:00:48.640
Ja, dat is een goeie.

933
01:00:48.860 --> 01:00:49.680
Ik moet even kiezen.

934
01:00:53.020 --> 01:00:55.280
Ja, voorlopig eigenlijk ook zou het developer doing design zijn.

935
01:00:56.460 --> 01:01:01.500
Want in die zin heb ik gewoon heel veel, ja, van die tijd interesse in design.

936
01:01:01.620 --> 01:01:02.540
Dus dan zou het dat zijn.

937
01:01:05.700 --> 01:01:07.940
Nou, je moet kiezen, dus dan is dat het.

938
01:01:09.560 --> 01:01:11.400
Ja, eigenlijk is het gewoon een recipe for disaster.

939
01:01:15.720 --> 01:01:16.980
Is dat zo?

940
01:01:18.300 --> 01:01:19.520
En jij, Benoit?

941
01:01:20.060 --> 01:01:21.960
Ik ben altijd super slecht geweest in design.

942
01:01:23.640 --> 01:01:29.760
En ik denk dat je een aantal designers nog wel basis en dingen aan aan programmeren kunt leren.

943
01:01:31.960 --> 01:01:35.520
Maar een developer echt laten designen, als die daar geen kaas van heeft gegeten,

944
01:01:35.580 --> 01:01:36.760
dat wordt toch wel erg lastig.

945
01:01:38.440 --> 01:01:41.460
Dus ik zou dan zeggen dat een designer best development kan doen,

946
01:01:41.620 --> 01:01:44.080
gegeven een specifieke taak.

947
01:01:45.020 --> 01:01:46.860
Ik heb dat bijvoorbeeld gezien aan mijn eigen designer.

948
01:01:47.080 --> 01:01:50.220
Die is inmiddels ook gewoon HTML en CSS aan het leren.

949
01:01:50.980 --> 01:01:52.380
En dat kan die prima.

950
01:01:52.440 --> 01:01:58.920
Hij kan dus prima gewoon in de code base rondgaan om hier en daar de design elementen aan te passen.

951
01:01:58.920 --> 01:02:01.140
En dat is eigenlijk wel een perfecte combinatie.

952
01:02:01.220 --> 01:02:06.400
Dus je moet designers gewoon lekker laten designen en het dan zeg maar pixel perfect kunnen maken.

953
01:02:06.780 --> 01:02:09.180
En dan developers lekker laten developpen.

954
01:02:09.780 --> 01:02:13.960
Ja, ik zit ook zelf in een agile team met multidisciplinaire teammembers.

955
01:02:15.080 --> 01:02:18.720
En wat er altijd geroepen wordt is dat iedereen maar alles moet kunnen.

956
01:02:20.400 --> 01:02:24.540
Ik denk dat dat wel gewoon wel een terechtpunt is wat je zegt.

957
01:02:24.540 --> 01:02:26.600
Dat op een gegeven moment heb je toch ergens.

958
01:02:26.600 --> 01:02:32.740
Ja, gewoon even net wat meer ambitie of misschien ook wel bepaalde kwaliteiten in dan.

959
01:02:33.600 --> 01:02:36.500
Het is het is ook wel leuk als je als je alles kunt en alles weet.

960
01:02:37.680 --> 01:02:39.440
Maar dan weet je van alles een beetje.

961
01:02:40.020 --> 01:02:42.100
Dus je hebt ook je hebt wel echt experts nodig.

962
01:02:43.640 --> 01:02:48.340
En en en zeg maar wat ik dan als developer aan design doe, dat is zeg maar een paar schetjes maken.

963
01:02:48.440 --> 01:02:52.420
Dat ik denk van nou zo dan zou het er in mijn optiek ongeveer uit moeten zien.

964
01:02:52.420 --> 01:02:55.960
En dan geef je het aan de expert en die maakt het daadwerkelijk iets moois van.

965
01:02:56.780 --> 01:03:01.740
Ja, ik ben toch ook inderdaad altijd een beetje tegengekomen dat als je als developer een design aan het maken bent,

966
01:03:01.880 --> 01:03:03.800
dat je eigenlijk een design altijd aan het maken bent,

967
01:03:03.820 --> 01:03:11.680
wat past bij hoe je developer hoe je code base eruit ziet, zeg maar een beetje in welke stappen je code base gaan gaat ook ineens.

968
01:03:12.020 --> 01:03:14.060
Wordt elk stapje in je code wordt een scherm,

969
01:03:14.180 --> 01:03:19.380
terwijl dat niet per se altijd het meest vriendelijke voor de gebruiker of voor de voor design of te zijn.

970
01:03:19.500 --> 01:03:22.400
Nee, maar in het begin is dat wel echt een hele zinvolle manier.

971
01:03:23.060 --> 01:03:24.920
Om om je product te beginnen.

972
01:03:25.220 --> 01:03:30.340
Ja, want want dan krijg je het tenminste wel heel snel in de markt.

973
01:03:31.240 --> 01:03:37.360
En dan kun je later al altijd nog de designs fine tune en zeggen van nou welk scherm kunnen we samenvoegen?

974
01:03:37.400 --> 01:03:40.380
En dan hou je die weg en dan pas je je code daarop aan.

975
01:03:40.700 --> 01:03:45.120
Maar ja, om toch gewoon een beetje snel eruit te kunnen gaan is het helemaal niet verkeerd om te zeggen.

976
01:03:45.440 --> 01:03:52.100
Nou, we maken de designs die passen bij onze code base en die passen bij onze architectuur die wij voor ogen houden.

977
01:03:52.100 --> 01:04:03.360
Ja, oké. Nou, de laatste die gaan we richting Benoit gaan we wel even naar toe pushen.

978
01:04:04.180 --> 01:04:09.500
100 procent CPU. Of 2 procent batterij.

979
01:04:13.300 --> 01:04:15.420
Ja, het is allebei frustrerend.

980
01:04:18.720 --> 01:04:21.100
Maar ja, 100 procent CPU dan maar.

981
01:04:21.100 --> 01:04:24.520
Ja, want daar is 9 van de 10 keer toch nog wel net iets mee te doen.

982
01:04:25.120 --> 01:04:27.100
Met 2 procent batterij houden we toch wel snel op.

983
01:04:30.820 --> 01:04:33.940
Ik had zo net even de 100 procent CPU probleem.

984
01:04:35.440 --> 01:04:37.520
Maar we zijn er weer, dus dat is snel opgelost.

985
01:04:37.620 --> 01:04:38.600
Ja, ja, dat is ook wel zo.

986
01:04:38.840 --> 01:04:39.400
Dat is waar.

987
01:04:39.920 --> 01:04:42.860
2 procent batterij als je in de trein zit is toch echt wel frustrerend.

988
01:04:45.220 --> 01:04:46.620
Ja, dat is helemaal waar.

989
01:04:46.760 --> 01:04:47.640
Dat is helemaal waar.

990
01:04:48.280 --> 01:04:49.000
Nee, helemaal goed.

991
01:04:49.440 --> 01:04:50.160
Even kijken.

992
01:04:50.260 --> 01:04:53.700
We hadden ook nog een andere ertussen staan.

993
01:04:54.720 --> 01:04:56.300
Ah ja, er was nog eentje van Saber.

994
01:04:57.100 --> 01:04:57.500
Hoe is het?

995
01:04:58.400 --> 01:04:59.920
Ja, die had dat opgeschreven.

996
01:05:00.940 --> 01:05:06.220
Saber wilde heel graag een code, of nee, programmeertaaloorlog.

997
01:05:06.520 --> 01:05:08.140
Oh ja, die had ik er voor de grap in gezet.

998
01:05:09.140 --> 01:05:15.120
Nou goed, dan stel ik voor dat we nog even kort stilstaan op een best wel belangrijke vraag, vind ik.

999
01:05:16.040 --> 01:05:17.620
Welke programmeertaal is nou de beste?

1000
01:05:19.480 --> 01:05:19.840
Haha.

1001
01:05:23.900 --> 01:05:25.000
De beste programmeertaal.

1002
01:05:26.380 --> 01:05:26.860
Is die er?

1003
01:05:28.660 --> 01:05:29.020
Nee.

1004
01:05:30.680 --> 01:05:31.140
Nee, die is er niet.

1005
01:05:31.140 --> 01:05:31.560
Nee, wel niet.

1006
01:05:32.640 --> 01:05:33.140
Nee, nee.

1007
01:05:33.700 --> 01:05:36.260
Ja, bedoel, als je het aan mij vraagt, welke programmeertaal zou je kiezen voor?

1008
01:05:36.580 --> 01:05:38.820
Dan is negen voor tien keer het antwoord Toby.

1009
01:05:40.960 --> 01:05:46.000
En dat heeft er dan gewoon mee te maken met dat het voor mij is het super makkelijk.

1010
01:05:46.080 --> 01:05:47.200
Ik werk er al zo lang mee.

1011
01:05:47.200 --> 01:05:51.200
Ik weet precies hoe ik daar heel snel dingen mee kan realiseren.

1012
01:05:52.840 --> 01:06:00.480
En als je dan daarna doorgaat, dan ga je langzaamaan dingen vervangen voor andere talen omdat Ruby dan gewoon tegen limieten aanloopt.

1013
01:06:00.860 --> 01:06:02.420
En zo kijk ik eigenlijk altijd naar dingen.

1014
01:06:02.820 --> 01:06:08.440
Dus ja, maar je moet gebruiken wat het snelste jouw doel bereikt.

1015
01:06:08.840 --> 01:06:17.000
En als jouw doel is om het zo snel mogelijk in de markt te zetten, kies dan iets wat dicht bij je past, iets wat makkelijk voor je is, waar je bedreven in bent.

1016
01:06:17.560 --> 01:06:23.180
Waar je eigenlijk geen vragen hebt over hoe zou ik dat zo moeten aanpakken, dan kies je die taal.

1017
01:06:23.360 --> 01:06:31.460
En als je tegen limieten aanloopt, dus als je doel is om de applicatie zo snel mogelijk te laten draaien, dan ga je misschien kijken naar talen zoals Rust.

1018
01:06:32.620 --> 01:06:37.380
En zorg je dat je je daar eigenlijk tot je doel komt.

1019
01:06:37.940 --> 01:06:40.020
En in dat geval is dan vaak de snelheid.

1020
01:06:40.020 --> 01:06:46.760
Ja, want ik weet nog wel ergens in het begin, volgens mij was dat Redmind inderdaad.

1021
01:06:48.120 --> 01:06:54.300
Die werd gevraagd om iets in C aan te passen waar je niet zo blij mee was.

1022
01:06:54.700 --> 01:07:00.840
Ja, dat is een langlopend project waar ik een soort van verantwoordelijkheid voor heb gepakt.

1023
01:07:02.520 --> 01:07:06.040
En dat is een soort embedded C-achtig verhaal.

1024
01:07:06.560 --> 01:07:12.120
En dat is eigenlijk alleen maar hetgeen waarom het niet heel erg leuk is,

1025
01:07:12.320 --> 01:07:15.880
is er eerder omdat het gewoon het stukje embedded is dat heel langzaam gaat.

1026
01:07:16.720 --> 01:07:19.880
En waarbij je heel erg verhankelijk bent van de fabrikant,

1027
01:07:20.120 --> 01:07:23.440
dat het allemaal precies zo werkt als dat zij aangeven dat het werkt.

1028
01:07:23.880 --> 01:07:30.540
Het is vaak moeilijk om de juiste vraag te stellen en het juiste antwoord te krijgen van zo'n fabrikant,

1029
01:07:30.620 --> 01:07:31.460
terwijl je al verdwikkeld bent.

1030
01:07:31.460 --> 01:07:36.060
Dus het is eerder de frustratie misschien niet zozeer van de taal zelf dan meer

1031
01:07:36.060 --> 01:07:39.180
van de gang van zaken met de fabrikant ervan.

1032
01:07:39.400 --> 01:07:42.100
Allewel het wel zo is dat als je eenmaal rust hebt gedaan en je gaat C doen,

1033
01:07:42.640 --> 01:07:48.580
dan krijg je heel veel frustratie omdat je dan merkt hoeveel de compiler voor je doet bij rust.

1034
01:07:49.560 --> 01:07:54.060
Dus kleine foutjes, typos enzovoort, eigenlijk niet serieus typos,

1035
01:07:54.120 --> 01:07:58.840
misschien wel meer inhoudelijke issues, waarbij je verkeerd doet met een pointer wat dan ook.

1036
01:07:58.840 --> 01:08:03.240
En rust zorgt gewoon voor dat je dat niet kan doen eigenlijk.

1037
01:08:03.680 --> 01:08:09.000
Oké, moet ik dan denken aan IDA ondersteuning of runtime hulp?

1038
01:08:09.420 --> 01:08:09.960
Waar moet ik aan denken?

1039
01:08:10.280 --> 01:08:15.060
Het zit in de compiler, maar het wordt ook in je IDA aangegeven.

1040
01:08:15.180 --> 01:08:17.020
Dus uiteindelijk merk je het eigenlijk super snel,

1041
01:08:18.620 --> 01:08:20.840
want meestal binnen een paar seconden zie je al gelijk,

1042
01:08:21.740 --> 01:08:23.460
ik denk dat het vaak zelfs onder een seconde zit,

1043
01:08:23.580 --> 01:08:27.200
zie je gewoon een aanpassing, zie je een rode streepje eronder,

1044
01:08:27.200 --> 01:08:30.300
wat dan ook, en dan zie je gewoon dat de compiler je waarschuwt in je IDA,

1045
01:08:30.440 --> 01:08:33.700
dat je iets aan het doen bent wat niet helemaal mag.

1046
01:08:33.900 --> 01:08:36.500
En wat dan in Cezar maar gewoon tot een zegval zou leiden,

1047
01:08:36.700 --> 01:08:40.140
maar in rust krijg je gewoon een compiler error dat het niet meer goed zit.

1048
01:08:41.860 --> 01:08:45.800
Ja, dus je compiler leeft gewoon echt met je mee en die helpt je.

1049
01:08:47.920 --> 01:08:49.860
Nou, dat is in ieder geval mooi om te horen.

1050
01:08:50.580 --> 01:08:53.640
Zijn dat soort praktijken ook bij Ruby aan de gang?

1051
01:08:54.440 --> 01:08:55.220
In welke zin?

1052
01:08:55.220 --> 01:08:58.520
Nou, gewoon dat je echt tot de ondersteuning krijgt.

1053
01:08:58.860 --> 01:09:00.560
De developer-ondersteuning.

1054
01:09:01.360 --> 01:09:04.280
Dat je sommige fouten die je compiler gewoon sneller ziet,

1055
01:09:05.340 --> 01:09:07.920
dat je gewoon snel ziet van, oké, er gaat iets mis.

1056
01:09:09.200 --> 01:09:11.560
Ik denk dat het een van de grootste nadelen is van Ruby,

1057
01:09:11.740 --> 01:09:13.020
dat het dynamisch is.

1058
01:09:15.140 --> 01:09:17.440
Maar je hebt altijd nog Wim.

1059
01:09:18.920 --> 01:09:20.000
Oh, oké.

1060
01:09:20.020 --> 01:09:20.560
Wim!

1061
01:09:21.400 --> 01:09:22.260
Ja, ja.

1062
01:09:23.820 --> 01:09:25.240
Ik zat er tevallig vandaag nog mee.

1063
01:09:25.600 --> 01:09:30.020
Oké, dus in Ruby heb je niet hele fijne ideeërs om mee te werken?

1064
01:09:31.260 --> 01:09:31.680
Jawel, ja.

1065
01:09:31.680 --> 01:09:34.520
De beste is RubyMine in mijn optiek.

1066
01:09:35.420 --> 01:09:37.780
En iedereen die het eigenlijk niet meer eens is,

1067
01:09:38.220 --> 01:09:41.580
die moet lekker Wim gaan gebruiken.

1068
01:09:42.840 --> 01:09:43.900
Helemaal goed.

1069
01:09:44.200 --> 01:09:44.980
Starting a war.

1070
01:09:47.140 --> 01:09:49.560
Nee, RubyMine is echt...

1071
01:09:49.560 --> 01:09:52.160
Ja, dat was echt een geschenk wat kwam.

1072
01:09:52.400 --> 01:09:53.960
Daarvoor was het TextMate.

1073
01:09:54.160 --> 01:09:59.220
En TextMate was een fijne editor om gewoon lekker snel in te kunnen typen.

1074
01:09:59.340 --> 01:10:01.260
Maar om gewoon snel code te kunnen schrijven,

1075
01:10:01.300 --> 01:10:04.700
dan is het ook wel handig dat je heel snel door code heen kan springen

1076
01:10:04.700 --> 01:10:08.920
en kan zien wat de oorspronkelijke sourcecode is van bepaalde implementaties.

1077
01:10:09.040 --> 01:10:10.980
En daar is RubyMine echt geweldig voor.

1078
01:10:12.000 --> 01:10:14.160
Je hebt eigenlijk geen Ruby documentatie nodig,

1079
01:10:14.180 --> 01:10:17.020
want dat zit gewoon in je idee daarin begrepen.

1080
01:10:17.020 --> 01:10:20.020
En die helpt je ook gewoon nog wel met codeanalyse.

1081
01:10:20.740 --> 01:10:23.600
Dus zeg maar, als jij een functie probeert te callen die niet bestaat,

1082
01:10:23.680 --> 01:10:25.500
dan zegt hij ja, volgens mij bestaat die niet.

1083
01:10:26.320 --> 01:10:27.580
Maar in Ruby kan dat wel hoor.

1084
01:10:27.900 --> 01:10:30.360
Dus die functie kan gewoon bestaan, maar dat de idee het niet ziet.

1085
01:10:30.600 --> 01:10:34.020
Dus dan negeer je dat soort meldingen.

1086
01:10:34.700 --> 01:10:35.240
Ja, mooi.

1087
01:10:36.460 --> 01:10:38.900
Oké. Nou, dan hebben we een kleine oorlog.

1088
01:10:39.340 --> 01:10:41.080
Nou, het was niet echt een oorlog, vond ik.

1089
01:10:41.280 --> 01:10:43.940
Maar goed, we hebben een leuke discussie ook.

1090
01:10:43.940 --> 01:10:47.620
Ja, jullie kennen elkaar zo goed, dus kom op.

1091
01:10:48.620 --> 01:10:49.500
Wat willen jullie?

1092
01:10:50.620 --> 01:10:53.030
Dan moet je de juiste onderwerpen pakken.

1093
01:10:54.380 --> 01:10:55.240
Ja, ja, ja, ja.

1094
01:10:56.440 --> 01:10:57.080
Nou, goed.

1095
01:10:57.620 --> 01:10:58.180
Even kijken.

1096
01:10:58.780 --> 01:11:02.140
Ik stel voor dat we weer doorgaan naar een andere rubriek.

1097
01:11:02.180 --> 01:11:06.720
Dat zijn onze rants in de developer land.

1098
01:11:07.800 --> 01:11:10.740
En ik zag een hele mooie die Johnny had opgeschreven.

1099
01:11:10.880 --> 01:11:12.320
Misschien kan jij hem even verder toelichten.

1100
01:11:12.320 --> 01:11:14.660
Ja, goed, het scheme er net al een beetje door.

1101
01:11:14.720 --> 01:11:15.000
Natuurlijk.

1102
01:11:15.120 --> 01:11:19.960
Ik ken Redmar en Benoit en wij programmeren alle drie of programmeerden.

1103
01:11:20.180 --> 01:11:21.060
Alle drie, ook in Ruby.

1104
01:11:21.580 --> 01:11:28.320
En in Ruby was afgelopen na twee weken geleden inmiddels een aardige shitstorm ontstaan.

1105
01:11:29.040 --> 01:11:32.800
Omdat er een licentie probleempje was.

1106
01:11:33.120 --> 01:11:39.160
En aangezien Redmar en Benoit ook in die Ruby wereld zitten, hoopte ik stiekem dat ze dat ook mee hadden gekregen.

1107
01:11:40.580 --> 01:11:41.800
Hebben jullie dat toevallig of niet?

1108
01:11:41.800 --> 01:11:42.840
Ik van de MIME types.

1109
01:11:43.900 --> 01:11:44.420
Ja.

1110
01:11:45.260 --> 01:11:50.680
Ja, en ik vroeg me af, want om even een klein beetje achtergrondinformatie.

1111
01:11:51.040 --> 01:11:58.660
Er is dus een library die veelvuldig gebruikt werd in Ruby wereld, ook door Rails zelf.

1112
01:11:58.740 --> 01:12:03.120
Dus een bepaalde versie van het Rails framework, wat voor webdevelopment in Ruby gebruikt wordt.

1113
01:12:05.460 --> 01:12:09.800
Daar zat een licentie probleempje in verstopt.

1114
01:12:09.800 --> 01:12:15.700
Want die gem die gebruikte een bepaald onderdeel wat gelicenseerd was onder.

1115
01:12:16.300 --> 01:12:17.780
Ja, dan moet ik het goed zeggen.

1116
01:12:18.500 --> 01:12:25.740
Die was gelicenseerd onder GPL en de gem die het gebruikte was gelicenseerd onder de MIT license.

1117
01:12:27.060 --> 01:12:36.840
Wat er eigenlijk zoveel zegt als ja, dat stukje wat er nou wat gebruikt werd, dat mag helemaal niet opnieuw onder een MIT license worden uitgegeven.

1118
01:12:36.840 --> 01:12:41.960
En alle software die daar vervolgens gebruik van maakte van deze gem, in MindMagic in dit geval.

1119
01:12:43.560 --> 01:12:52.100
Die was dus eigenlijk een soort van instrijd met de licentie overeenkomsten die je aangaat zodra je die software gaat gebruiken.

1120
01:12:52.480 --> 01:12:56.100
En dan vroeg ik me af, dit is nou iets wat naar boven is gekomen en hals over kop.

1121
01:12:57.140 --> 01:13:05.840
Iedereen kon ineens zijn applicatie niet meer bouwen, want de versies van die library werden gewoon keihard van het internet afgejankt.

1122
01:13:05.840 --> 01:13:12.360
En daardoor falden beelden her en der. Dus ja, een soort van hele ruby wereld stond in brand.

1123
01:13:13.640 --> 01:13:19.820
En ik vroeg me af, hebben jullie een mening over open source software en de licensing en hoe gaan jullie daarmee om?

1124
01:13:19.860 --> 01:13:31.220
Want ik moet zeggen, ik heb zelf nog nooit een license zitten lezen van een stukje software wat ik gebruik of een library die ik wil gaan gebruiken.

1125
01:13:31.220 --> 01:13:38.220
Maar ja, nu blijkt dat dat soms dus toch best voor problemen kan zorgen. Hebben jullie daar een bepaalde mening over?

1126
01:13:39.940 --> 01:13:51.720
Ja, we hebben al een tijd toen we bij Dignity heel actief waren, waar we eigenlijk wel het woord van mening, dat je eigenlijk alles gewoon moet bundelpekken.

1127
01:13:51.800 --> 01:13:56.060
En dat heeft ons eigenlijk wel een paar keer volgens mij wel geholpen.

1128
01:13:56.780 --> 01:14:03.080
Dat is natuurlijk niet direct misschien antwoord op je vraag over die licenties, maar wel een deel wat er nu fout is gegaan volgens mij.

1129
01:14:03.160 --> 01:14:09.520
En dat is dat ze zomaar de boel hebben gejankt, de package weg hebben gehaald en dat iedereen een probleem had.

1130
01:14:10.560 --> 01:14:20.280
Ons hele idee van het bundelpekken was juist dat je eigenlijk wat je oplevert, dat het een artifact is en dat het altijd soort van moet kunnen blijven draaien.

1131
01:14:22.100 --> 01:14:26.060
Volgens mij is het ook een beetje ingehaald door Docker en dat was toen eigenlijk nog voor Docker.

1132
01:14:27.260 --> 01:14:32.860
Dat je tenminste altijd kon zeggen vanuit je source tree van dit is een artifact en dit is te bouwen, zeg maar.

1133
01:14:33.540 --> 01:14:40.180
En volgens mij sinds Docker zijn we daar een beetje van afgestapt omdat we toch al nog steeds artifacts bouwen, maar nu zit het allemaal in een Docker verstopt.

1134
01:14:40.800 --> 01:14:46.160
Dan heb je dan een voordeel met Ruby dat je daar gewoon die library gewoon uit kan plukken, de source code.

1135
01:14:46.160 --> 01:14:51.880
Want had je dit dan, zeg maar, in een gecompileerde taal gehad, dan had je daar alleen maar de binary staan.

1136
01:14:53.460 --> 01:14:58.580
Ik ben zelf van mening bij zulke soorten issues als dit, dat je eigenlijk immutable repos hoort te hebben.

1137
01:14:59.940 --> 01:15:02.160
En volgens mij zijn die er ook in sommige talen.

1138
01:15:04.860 --> 01:15:07.480
Dat de package, zeg maar, immutable is.

1139
01:15:08.000 --> 01:15:12.980
Dus dat je het niet zomaar kan yanken en als je het wil yanken, dan moet je het soort van in overleg doen met het team wat daarachter zit.

1140
01:15:14.800 --> 01:15:19.980
Want ja, het is een beetje de vraag of dit niet een beetje een te zwaar middel is geweest.

1141
01:15:20.800 --> 01:15:28.720
Het is een beetje net als een security, als er een security fix is, die echt super, super high profile is, dan yank je ook niet alles wat er voor zit en maak je een fix aan.

1142
01:15:29.560 --> 01:15:33.820
Want het resultaat is dat heel veel bedrijven volgens mij hier echt echt goed last van hadden.

1143
01:15:34.080 --> 01:15:39.420
En misschien wel zelfs down konden gaan als je dus gewend bent om heel snel door te ontwikkelen.

1144
01:15:39.420 --> 01:15:47.300
Gelijk tijd is het misschien ook weer dat je heel erg met je neus op de feiten bent gedrukt, dat je hier dus een plan B voor moet hebben, dat je hier op voorbereid moet zijn.

1145
01:15:49.100 --> 01:15:51.800
Maar licensing wise, gewoon puur van of we daar op letten.

1146
01:15:51.920 --> 01:15:59.980
Ik probeer altijd wel een beetje te letten op dat het niet A, G, P, L, G, P, L is, omdat dat voelt gelijk al van hier moeten we wat mee.

1147
01:16:01.140 --> 01:16:05.220
En heel vaak kan je het gewoon op MIT of B, C, D, Aachterlijzen al lang krijgen.

1148
01:16:05.400 --> 01:16:08.400
Dus in de zin van als je die keuze hebt, dan is die snel genomen.

1149
01:16:11.660 --> 01:16:12.780
Maar ja.

1150
01:16:13.060 --> 01:16:22.260
Ja, de vraag die een beetje bij mij naar boven kwam was, je zou kunnen stellen dat als jij software hebt wat van jou is en wat closed source is,

1151
01:16:22.600 --> 01:16:27.600
maar wat al deze dingen gebruikt, ben je dan niet in strijd met die licensing.

1152
01:16:27.600 --> 01:16:39.320
En ja, hoe ga je daar dan mee om op het moment dat de rechthebbende van in dit geval het GPL of het MIT license bestandje,

1153
01:16:39.360 --> 01:16:45.800
sorry, het GPL license bestand, of die niet gewoon jou een hele nare tijd kan bezorgen door te gaan zeggen ja,

1154
01:16:45.960 --> 01:16:50.680
maar jij gebruikt dit en jouw code is closed source.

1155
01:16:51.540 --> 01:16:53.380
Maar ja, dat is nu in strijd.

1156
01:16:54.720 --> 01:17:00.660
Ik had er een hele hoop vragen bij, dus ik dacht misschien heb jij daar ook een, of hebben jullie daar een andere mening over?

1157
01:17:01.340 --> 01:17:09.620
Ja, in mijn beleving van die license is het ook zo dat het alleen een probleem wordt als je echt de software als pakket verkoopt.

1158
01:17:09.800 --> 01:17:16.020
Dus als jij zeg maar de software op je eigen service draait, dan moet zeg maar de eigenaar van die software, dat ben je dan zelf,

1159
01:17:16.600 --> 01:17:19.040
moet toegang krijgen tot de broncode. Die heb je.

1160
01:17:19.780 --> 01:17:22.460
Maar om jouw dienst te kunnen laten draaien.

1161
01:17:22.460 --> 01:17:28.640
Je hoeft niet je gebruikers van de dienst, zoals platforms als Altrady, toegang te geven tot de source code in dat geval.

1162
01:17:28.760 --> 01:17:30.580
Ze krijgen de software niet.

1163
01:17:30.840 --> 01:17:32.580
Ze maken alleen gebruik van je dienstverlening.

1164
01:17:33.020 --> 01:17:36.740
Zo heb ik hem altijd begrepen, dus ik maak me er ook nooit zo heel erg druk over.

1165
01:17:37.900 --> 01:17:42.520
Maar ik let er altijd wel op dat het een MIT of een Apache license is, voor zover ik het kan zien.

1166
01:17:42.560 --> 01:17:50.640
Maar ik ga niet helemaal uitpluizen of elke library die MIT zegt te zijn, ook daadwerkelijk MIT is volledig.

1167
01:17:50.640 --> 01:17:53.420
En dat je dus niet zoiets hebt zoals nu met die MIME types.

1168
01:17:54.260 --> 01:17:57.740
Dat het dan blijkt dat ze een GPL license gebruiken.

1169
01:17:58.140 --> 01:18:00.620
En eigenlijk ook moeten voeren in plaats van een MIT license.

1170
01:18:01.540 --> 01:18:02.580
Daar let ik dan zelf niet zo op.

1171
01:18:02.740 --> 01:18:05.120
En ik vind het dan ook, ja, zoals ze het nu opgelost hebben.

1172
01:18:05.660 --> 01:18:09.920
Ze hadden een backwards compatible fix klaargezet.

1173
01:18:10.200 --> 01:18:12.580
Dus ja, het was even.

1174
01:18:12.980 --> 01:18:15.680
Ik werd er even mee overvallen, want ik moest snel een fix uitrollen.

1175
01:18:16.240 --> 01:18:20.620
En dat ging toen niet, want ik zat toen precies tegen die package aan.

1176
01:18:20.620 --> 01:18:22.800
Dus ik moest hem even updaten.

1177
01:18:23.860 --> 01:18:28.620
Daardoor ging mijn uitrol tijd van een normale 1 minuut, ging het naar 15 minuten.

1178
01:18:29.500 --> 01:18:32.340
Omdat die in Docker, zeg maar, alle gems opnieuw moest bouwen.

1179
01:18:33.140 --> 01:18:36.980
Dus dat is dan wel vervelend en dan word je wel een beetje boos.

1180
01:18:37.200 --> 01:18:40.520
Dus vandaar dat je dan, zeg maar, wel een beetje kan renten daarover.

1181
01:18:41.380 --> 01:18:44.740
Maar ja, aan het einde van de dag, ja, weet je, de gem updaten en klaar.

1182
01:18:45.180 --> 01:18:46.060
En niet meer over nadenken.

1183
01:18:46.120 --> 01:18:48.720
Ik heb niet eens opgezocht wat nou daadwerkelijk het issue was.

1184
01:18:48.720 --> 01:18:51.260
Het was gewoon deze gem bestaat niet meer.

1185
01:18:51.400 --> 01:18:53.160
Oké, nou prima, pak de volgende versie.

1186
01:18:53.940 --> 01:18:56.360
Ja, ja, in dit geval was het ook nog een beetje een soort hetse.

1187
01:18:56.440 --> 01:18:59.180
Omdat de volgende versie juist ook weer niet correct was.

1188
01:18:59.800 --> 01:19:04.040
En die developer, die had een aardige f app ervan gemaakt.

1189
01:19:05.300 --> 01:19:09.220
Dus in die zin was het wel een ja, ja, wat Redmo ook zeiden.

1190
01:19:09.240 --> 01:19:12.900
Je werd wel aardig met je neus op het feitig gedrukt van ja, dit kan gebeuren.

1191
01:19:12.900 --> 01:19:16.720
En dat kan dus inderdaad betekenen dat je ja, dat je gewoon ja,

1192
01:19:16.720 --> 01:19:20.880
Ja, nee, goed, je had natuurlijk ook nog met Leftpad in Node.js.

1193
01:19:21.020 --> 01:19:25.200
Dat was ook een van de grote waar ze gewoon eventjes een library

1194
01:19:25.200 --> 01:19:26.400
onder je neus vandaan jenken.

1195
01:19:27.420 --> 01:19:30.500
Ja, dat dat zeker in het geval van Leftpad.

1196
01:19:30.640 --> 01:19:31.660
Je moet dus ook altijd wel kijken.

1197
01:19:31.720 --> 01:19:33.140
Heb ik deze dependency wel nodig?

1198
01:19:34.140 --> 01:19:36.980
Want Leftpad, dat waren vijf regels code geloof ik.

1199
01:19:37.580 --> 01:19:39.720
Maar met half internet hing er vanaf.

1200
01:19:40.940 --> 01:19:42.120
Ja, soms moet je ook gewoon eens kijken.

1201
01:19:42.200 --> 01:19:45.060
Kan deze code niet gewoon overnemen en het in mijn repo zetten

1202
01:19:45.060 --> 01:19:46.900
en dat ik er dan gewoon zelf eigenaar van word.

1203
01:19:48.360 --> 01:19:50.740
Voor bepaalde kleine dingen kun je dat best doen.

1204
01:19:51.340 --> 01:19:53.140
Voor grotere dingen moet je gewoon even goed kijken.

1205
01:19:53.220 --> 01:19:54.580
Van is dit echt nodig?

1206
01:19:54.660 --> 01:19:55.760
Kan ik het niet anders oplossen?

1207
01:19:56.660 --> 01:19:58.420
En als dat niet kan, kijk dan even.

1208
01:19:58.460 --> 01:19:59.340
Is het MIT license?

1209
01:19:59.620 --> 01:20:01.320
En denk er daarna niet te veel over na.

1210
01:20:02.040 --> 01:20:05.420
Ja, dat hele licensing verhaal is echt een vak apart hoor.

1211
01:20:06.520 --> 01:20:09.180
Ik merk dat ook weleens in de quality assurance wereld.

1212
01:20:09.340 --> 01:20:13.860
Dat zijn sommige afdelingen waar ik dan heb, vooral bij de grotere bedrijven.

1213
01:20:13.860 --> 01:20:16.760
Dat zijn gewoon bijna halve juristen.

1214
01:20:18.280 --> 01:20:20.360
Die weten echt alle ins en outs.

1215
01:20:20.920 --> 01:20:22.760
En vooral wat je net zegt Benoit.

1216
01:20:23.060 --> 01:20:26.360
Als je je product echt daadwerkelijk gaat verkopen,

1217
01:20:27.140 --> 01:20:29.040
of gaat handelen zeg maar.

1218
01:20:29.260 --> 01:20:34.000
Dan is het inderdaad heel erg belangrijk dat je weet wat je shipt.

1219
01:20:36.640 --> 01:20:39.980
Ik kan me best voorstellen dat dat wel wat problemen veroorzaakt.

1220
01:20:41.040 --> 01:20:44.420
Dat is de software die je echt downloadable maakt.

1221
01:20:44.820 --> 01:20:47.020
Dat zijn volgens mij ook wel oplossingen geworden.

1222
01:20:47.540 --> 01:20:50.000
Volgens mij heb je in Rust een...

1223
01:20:50.000 --> 01:20:51.260
Sowieso voor Rust, weet ik het zeker.

1224
01:20:51.540 --> 01:20:52.620
Die zal je ook gewoon in Ruby hebben.

1225
01:20:53.340 --> 01:20:56.660
Zo'n soort tooling die je in CI kan hangen.

1226
01:20:56.760 --> 01:21:01.640
Die dan er maar bij houdt of je een license gebruikt die dan niet zou mogen.

1227
01:21:02.160 --> 01:21:05.980
Dus daar is eigenlijk een soort van grote lijst met...

1228
01:21:05.980 --> 01:21:09.300
Dat wel de allow list of de deny list, dat wel of niet mag.

1229
01:21:10.920 --> 01:21:12.460
En dan kan je het eigenlijk automatiseerd doen.

1230
01:21:13.420 --> 01:21:15.720
Maar goed, volgens mij is het daar het probleem ook weer over...

1231
01:21:15.720 --> 01:21:17.960
Hoe groot is je bedrijf? Ben je voor jezelf bezig?

1232
01:21:17.980 --> 01:21:22.180
Ben je een start-up die heel snel beweegt?

1233
01:21:22.260 --> 01:21:23.600
Of ben je een grotere bedrijf?

1234
01:21:23.800 --> 01:21:26.180
Daar zie je toch vaker dat je met meer mensen...

1235
01:21:26.180 --> 01:21:28.980
Meer relatie hebt van programmeurs, mensen, medewerkers...

1236
01:21:29.540 --> 01:21:33.720
Die alles gewoon naar binnen trekken en niet echt goed kijken.

1237
01:21:33.720 --> 01:21:35.900
En dan heb je eigenlijk juist weer wel echt quality assurance nodig...

1238
01:21:36.320 --> 01:21:39.540
Om te garanderen dat je daar dus niet fout gaat.

1239
01:21:40.260 --> 01:21:44.180
Dat hangt ook een beetje van het onderwerp af, zeg maar.

1240
01:21:44.220 --> 01:21:46.740
Maak je zo'n corona-app melder of zo...

1241
01:21:47.620 --> 01:21:49.420
Die je meer deel van Nederland zou moeten gebruiken...

1242
01:21:49.420 --> 01:21:52.780
Dan is het heel belangrijk dat je het heel netjes in de gaten hebt gehouden.

1243
01:21:53.680 --> 01:21:56.900
En ben jij nog net aan met je paar eerste klanten bezig...

1244
01:21:56.900 --> 01:21:58.980
Dan denk ik dat het minder van belang is.

1245
01:21:59.180 --> 01:22:01.720
Ook is het belangrijk dat je het een keer bijhoudt...

1246
01:22:01.720 --> 01:22:04.480
Maar als je nog geen geld verdient is het misschien minder belangrijk...

1247
01:22:04.480 --> 01:22:09.160
Dat je iets gaat verspreiden over half-Nederland.

1248
01:22:10.740 --> 01:22:13.700
En in dit geval ga je er ook maar vanuit...

1249
01:22:13.700 --> 01:22:18.280
Dat de license die de andere auteur aangeeft ook weer klopt.

1250
01:22:18.360 --> 01:22:20.300
En in dit geval lag daar het probleem.

1251
01:22:21.240 --> 01:22:24.300
Dus jij kan een goede inschatting maken.

1252
01:22:24.340 --> 01:22:27.980
Je ziet een license van een bepaalde library die je gaat gebruiken.

1253
01:22:28.540 --> 01:22:29.800
Prima, die mag ik gebruiken.

1254
01:22:29.800 --> 01:22:31.200
En dan vervolgens blijkt dat niet te kloppen.

1255
01:22:31.940 --> 01:22:33.980
Dan valt het alles nog in het water.

1256
01:22:34.880 --> 01:22:37.880
Ik denk zelf dat die oplossing het immutable zou zijn.

1257
01:22:37.880 --> 01:22:39.600
Het immutable maken van die package registry.

1258
01:22:39.800 --> 01:22:42.060
Dat het een fout is geweest.

1259
01:22:42.460 --> 01:22:44.800
We gaan het oplossen, maar we gaan het voorwaarts oplossen.

1260
01:22:45.000 --> 01:22:45.620
En dan is het klaar.

1261
01:22:47.340 --> 01:22:51.160
Ik kan me ook nog herinneren dat een van die bedrijven waar ik gewerkt heb...

1262
01:22:51.160 --> 01:22:52.520
Dat ze SNIC gebruikte.

1263
01:22:52.640 --> 01:22:55.900
Dat is misschien wel leuk om ook te melden in de tips sectie zo meteen.

1264
01:22:55.900 --> 01:23:00.960
SNIC is een security first-achtige platform.

1265
01:23:01.260 --> 01:23:06.280
Die dus al je codebases scant op allerlei zaken.

1266
01:23:06.520 --> 01:23:11.260
Wat misschien sowieso op security goed controleert.

1267
01:23:11.660 --> 01:23:12.660
Maar ook op licensing.

1268
01:23:12.720 --> 01:23:14.640
Dat doen ze ook best wel goed heb ik gezien.

1269
01:23:14.780 --> 01:23:19.540
Dus dan checken ze inderdaad alle vulnerabilities in al die licenses.

1270
01:23:20.080 --> 01:23:23.260
Die je dan eventueel meeshipt.

1271
01:23:23.260 --> 01:23:26.860
Dus dan checkt hij elke library individueel ook weer door.

1272
01:23:27.340 --> 01:23:29.260
Dus we hebben een enorme database inmiddels.

1273
01:23:31.060 --> 01:23:33.960
Maar helemaal terecht, dat soort tools zijn er zeker.

1274
01:23:34.040 --> 01:23:40.680
Volgens mij zijn er ook nog open source databases waar je tegenaan kan checken.

1275
01:23:42.460 --> 01:23:43.140
Nou, mooi.

1276
01:23:43.760 --> 01:23:45.400
Ik heb het zo net al een beetje verklapt.

1277
01:23:45.780 --> 01:23:47.860
We gaan nu door naar ons laatste rubriekje.

1278
01:23:47.880 --> 01:23:50.260
Dat is de tips sectie.

1279
01:23:52.220 --> 01:23:54.240
De sectie is eigenlijk vrij simpel.

1280
01:23:55.020 --> 01:24:01.260
Misschien dat jullie wat tips hebben voor onze luisteraars.

1281
01:24:04.400 --> 01:24:05.520
Ik heb er ook eentje.

1282
01:24:05.640 --> 01:24:07.180
Maar ik ben wel even nieuwsgierig naar jullie.

1283
01:24:07.560 --> 01:24:10.380
Als jullie een tip zou mogen geven, dan begin ik even bij Redmar.

1284
01:24:12.260 --> 01:24:13.240
Wat zou dat zijn?

1285
01:24:13.560 --> 01:24:16.220
Wat is je opgevallen de laatste week of misschien laatste maand?

1286
01:24:19.000 --> 01:24:21.140
Dat zou een boektip zijn.

1287
01:24:21.860 --> 01:24:24.380
Heel erg richting de stack die wij onder andere ook gebruiken.

1288
01:24:25.580 --> 01:24:29.220
Dat is een boek van Elixir.

1289
01:24:31.520 --> 01:24:32.580
Programming Live View.

1290
01:24:33.280 --> 01:24:34.620
Van Progmatic Programmer.

1291
01:24:35.320 --> 01:24:40.260
Dat is eigenlijk een beetje waar iedereen op dat moment een beetje omgehypt was.

1292
01:24:40.980 --> 01:24:43.400
Van dat stuk Live View dat Phoenix biedt.

1293
01:24:43.400 --> 01:24:47.460
Wat trouwens een beetje soortgelijk is aan wat Ruby on Rails nu ook heeft.

1294
01:24:48.140 --> 01:24:49.720
Met Hotwire geloof ik.

1295
01:24:49.880 --> 01:24:50.560
Lijkt op elkaar.

1296
01:24:51.320 --> 01:24:53.220
Maar dat boek zit wel goed in elkaar.

1297
01:24:54.580 --> 01:24:56.140
Dat neemt je aan de hand mee.

1298
01:24:56.620 --> 01:24:58.820
Niet te makkelijk, niet te moeilijk.

1299
01:24:59.400 --> 01:25:01.700
Het trekt je door die hele stack heen.

1300
01:25:02.140 --> 01:25:03.040
Met een project maken.

1301
01:25:04.180 --> 01:25:05.300
Om dat onder de knie te krijgen.

1302
01:25:06.580 --> 01:25:08.660
Ik vond het wel een goed boek.

1303
01:25:09.860 --> 01:25:10.800
Het is trouwens nog in beta.

1304
01:25:10.800 --> 01:25:14.960
Je kan hem volgens mij nog niet in puur papieren versie krijgen.

1305
01:25:15.480 --> 01:25:17.180
Ik heb hem digitaal.

1306
01:25:18.420 --> 01:25:23.520
Volgens mij is Pragmatic Programmers een label toch?

1307
01:25:23.780 --> 01:25:29.740
Of is dat nou dat ze inderdaad, net als een startup, een boek opbouwen?

1308
01:25:29.800 --> 01:25:33.140
Eigenlijk is daar ook met Ruby on Rails begonnen.

1309
01:25:33.720 --> 01:25:39.000
Volgens mij was een van hun eerste boeken de Ruby Pickaxe van Dave Thomas.

1310
01:25:39.000 --> 01:25:41.700
Wat hij vertaald had vanuit Japans.

1311
01:25:42.000 --> 01:25:46.800
Dat heeft Ruby een beetje naar het westen gebracht.

1312
01:25:47.680 --> 01:25:53.020
Volgens mij was een van de eerste boeken daarna het Ruby on Rails boek.

1313
01:25:53.220 --> 01:25:56.880
In 2005 van David Meyer Hansen.

1314
01:25:58.000 --> 01:25:59.020
Leuke tip.

1315
01:25:59.940 --> 01:26:03.260
En vooral omdat het ook zo nieuw in de making is.

1316
01:26:05.300 --> 01:26:08.980
Benoit, heb jij misschien een interessante tip?

1317
01:26:09.740 --> 01:26:12.600
Ja, misschien niet helemaal onverwachts.

1318
01:26:13.340 --> 01:26:15.800
Maar ik zou zeggen, als je nog geen crypto hebt.

1319
01:26:20.000 --> 01:26:22.960
Het is altijd een goed moment om in te stappen.

1320
01:26:25.160 --> 01:26:32.080
Van de signalen die wij krijgen is het zeker niet het laagste punt wat we tot nu toe gezien hebben.

1321
01:26:32.080 --> 01:26:33.460
Dus het kan altijd nog zakken.

1322
01:26:33.760 --> 01:26:35.300
Maar dit is wel de toekomst hoor.

1323
01:26:35.900 --> 01:26:36.880
Dit gaat niet meer weg.

1324
01:26:37.860 --> 01:26:39.000
Het wordt alleen maar meer.

1325
01:26:39.080 --> 01:26:40.360
Het wordt alleen maar groter.

1326
01:26:40.980 --> 01:26:44.760
En als je nog niks hebt, doe iets wat je kunt missen.

1327
01:26:44.940 --> 01:26:46.520
En doe ook wel vooral iets wat je kunt missen.

1328
01:26:46.600 --> 01:26:49.580
Want als je je huis gaat verkopen, dat is niet zo handig.

1329
01:26:50.740 --> 01:26:54.560
Maar als je nog een paar honderd euro over hebt, doe je zelf een plezier.

1330
01:26:54.860 --> 01:26:56.540
Koop er wat van, kijk er niet naar om.

1331
01:26:56.840 --> 01:27:01.940
En kijk een paar maanden later om te zien of het tranen van geluk of tranen van verdriet is.

1332
01:27:03.440 --> 01:27:05.640
Als het tranen van verdriet is, dan wacht je nog drie maanden.

1333
01:27:05.640 --> 01:27:11.900
En dan lach je en kijk je nooit meer terug.

1334
01:27:13.340 --> 01:27:17.080
Ja, want de eeuwige discussie is natuurlijk bitcoin to the moon.

1335
01:27:18.020 --> 01:27:19.120
Wat gaat het worden ooit?

1336
01:27:19.140 --> 01:27:20.200
Gaat het een miljoen raken?

1337
01:27:20.300 --> 01:27:21.100
Gaat het een ton raken?

1338
01:27:21.260 --> 01:27:22.740
Een ton is niet zo heel ver weg meer inmiddels.

1339
01:27:25.320 --> 01:27:27.740
Ja, het zou zomaar kunnen.

1340
01:27:28.880 --> 01:27:35.580
De bitcoin technologie zoals die er nu is, zou ik zeggen dat die niet helemaal haalbaar of houdbaar is.

1341
01:27:35.580 --> 01:27:40.520
Omdat de energieconsumptie daar stelt mensen natuurlijk wel heel veel vragen bij.

1342
01:27:41.180 --> 01:27:45.580
Overigens is de negatieve trend daar omheen niet helemaal terecht.

1343
01:27:45.720 --> 01:27:49.700
Want er zijn ook echt wel goede dingen die daar uit naar boven komen.

1344
01:27:50.540 --> 01:27:57.080
En met name juist de technologische vooruitgang om op zoek te gaan naar duurzame en goedkopere energie.

1345
01:27:57.560 --> 01:28:02.700
Dus net zoals de Formule 1 super vervuilend is,

1346
01:28:02.700 --> 01:28:06.620
zorgt de Formule 1 er ook voor dat de auto's zuiniger gaan lopen.

1347
01:28:07.620 --> 01:28:13.740
En zo zie je nu ook dat dat een trend ontstaan in de bitcoin mininghandel,

1348
01:28:13.820 --> 01:28:17.560
waarbij ze dus op zoek gaan naar de goedkopere en de duurzamere energiebronnen.

1349
01:28:18.260 --> 01:28:20.720
Dus ik denk dat daar nog wel een goed dingetje uit kan.

1350
01:28:21.040 --> 01:28:25.440
En dat bitcoin is de eerste en het gaat zeker omhoog.

1351
01:28:25.680 --> 01:28:28.720
Mensen verwachten dat het een miljoen is. Ja, ik weet het niet. Ik hoop het.

1352
01:28:28.720 --> 01:28:30.900
Zit ik al warmtjes bij deze winter?

1353
01:28:33.360 --> 01:28:37.360
Ja, maar zie jij dan ook cryptocurrency met name als,

1354
01:28:38.400 --> 01:28:42.200
ja, je hebt een handels, of tenminste, je hebt een streaming handelsplatform daarin.

1355
01:28:42.700 --> 01:28:47.680
Zie je crypto als meer voor de handel of zie je crypto als toekomst ter vervanging van geld,

1356
01:28:47.840 --> 01:28:52.960
van de huidige monetaire systemen, of waar zie jij de toekomst van crypto?

1357
01:28:52.960 --> 01:29:00.380
Nou ja, zeker dat het echt een vervanging kan zijn voor je valuta in je eigen land.

1358
01:29:01.280 --> 01:29:03.420
En daar hebben wij nu niet zo heel veel last van.

1359
01:29:04.820 --> 01:29:07.860
Maar in landen zoals Venezuela bijvoorbeeld,

1360
01:29:08.520 --> 01:29:12.940
ja, daar hebben ze echt enorm veel last van, van hun eigen valuta.

1361
01:29:13.540 --> 01:29:16.580
En de enige uitweg die zij hadden is crypto.

1362
01:29:17.640 --> 01:29:21.970
Dus de mensen die geluk hebben gehad, die hebben bijna al hun

1363
01:29:22.470 --> 01:29:26.170
hun pesos verkocht en hebben dat omgezet in bitcoin.

1364
01:29:26.990 --> 01:29:31.950
En die zijn dus niet meegegaan in de devaluering van hun eigen valuta.

1365
01:29:32.390 --> 01:29:34.250
En die kunnen dus nu gewoon nog boodschappen doen.

1366
01:29:34.930 --> 01:29:37.110
En mensen die alles op een spaarrekening hebben moeten laten staan,

1367
01:29:37.750 --> 01:29:41.670
die kunnen niet eens een kopje koffie kopen, want dat kost al zeg maar

1368
01:29:41.670 --> 01:29:46.210
een veertig dollar voor een kopje koffie in die termen wel groot.

1369
01:29:46.890 --> 01:29:51.850
Maar goed, als de crypto valuta zo volatiel is, kan dat natuurlijk daar ook gebeuren.

1370
01:29:51.850 --> 01:29:55.290
Dus dan los je dan het probleem of verplaats je het probleem?

1371
01:29:55.570 --> 01:30:02.150
Nou, het probleem juist is dat landen zo centraal de touwtjes in handen hebben

1372
01:30:02.150 --> 01:30:03.690
en dus juist hele gekke dingen kunnen doen.

1373
01:30:04.770 --> 01:30:06.850
Bijvoorbeeld gewoon vijf keer zoveel gaan printen.

1374
01:30:08.230 --> 01:30:09.230
En met bitcoin kan dat niet.

1375
01:30:09.310 --> 01:30:13.790
Je kunt in je eentje niet een beslissing maken over de valuta zelf.

1376
01:30:14.530 --> 01:30:20.750
En de enige reden waarom bitcoin meer of minder waard wordt, is door het gebruik.

1377
01:30:20.750 --> 01:30:25.330
Dus hoe meer mensen er gebruik van gaan maken, hoe meer waard de coin wordt.

1378
01:30:25.790 --> 01:30:32.130
Als de adoptie wegvalt, dan heb je pas te maken met een devaluering van de munt

1379
01:30:32.130 --> 01:30:35.730
en dan gaan mensen het verkopen voor lager en raak je geld kwijt.

1380
01:30:36.410 --> 01:30:39.550
Maar zodra mensen het echt gaan zien als een serieuze investering,

1381
01:30:39.630 --> 01:30:43.150
als een serieuze vervanger voor het gereguleerde betaalverkeer,

1382
01:30:43.230 --> 01:30:47.090
zoals we dat nu kennen, dan is dat wel echt de toekomst.

1383
01:30:47.090 --> 01:30:51.230
En ik zag vandaag ook weer een ding voorbijkomen,

1384
01:30:51.250 --> 01:30:56.550
dat je bij Amazon straks kunt gaan betalen met crypto-munten.

1385
01:30:58.430 --> 01:31:02.830
Het is, je Tesla kun je er ook mee kopen.

1386
01:31:03.290 --> 01:31:05.190
Ja, wat je een beetje ziet gebeuren is dat er een verschuiving is

1387
01:31:05.190 --> 01:31:11.010
van de traditionele markten die meer interesse tonen voor de crypto-markten.

1388
01:31:11.050 --> 01:31:13.770
En dat is wel een verschuiving die er nog niet was.

1389
01:31:13.770 --> 01:31:17.970
En die kan er alleen maar voor zorgen dat het meer volwassen wordt binnen de crypto.

1390
01:31:19.090 --> 01:31:21.290
Ik denk ook dat in dit verhaal veel meer laagjes zitten.

1391
01:31:21.830 --> 01:31:25.270
Je noemde ook heel vaak bitcoin, maar er zijn er zoveel meer dan bitcoin

1392
01:31:26.230 --> 01:31:28.170
die ook echt daadwerkelijk interessant zijn.

1393
01:31:28.350 --> 01:31:31.850
Bijvoorbeeld al die gedescentraliseerde exchanges, maar ook coins,

1394
01:31:32.330 --> 01:31:36.270
en daarin ook stablecoins, die zijn natuurlijk superinteressant.

1395
01:31:36.930 --> 01:31:40.090
Daar ga je niet in zitten om dan je geld heel veel meer waar te maken.

1396
01:31:40.710 --> 01:31:42.770
Maar het feit dat zo'n coin eigenlijk heel goed rond

1397
01:31:43.730 --> 01:31:47.770
in dit geval de 1 dollar kan blijven.

1398
01:31:48.510 --> 01:31:49.450
Dat is natuurlijk best wel interessant.

1399
01:31:49.710 --> 01:31:53.090
Met name voor zulke soorten landen die devaluatie hebben.

1400
01:31:54.110 --> 01:31:57.030
Dat je eigenlijk juist, aan de ene kant noemen we heel vaak bitcoin

1401
01:31:57.030 --> 01:31:58.990
van dat heel volatiel alle kanten opschommelt.

1402
01:31:59.670 --> 01:32:03.330
Die kant gaat wel tot nu toe bijna met de hockeystick geloof ik omhoog.

1403
01:32:03.770 --> 01:32:07.370
Maar aan de andere kant heb je zulke stabiele coins die juist heel stabiel blijven.

1404
01:32:07.690 --> 01:32:09.590
Dus er is gewoon heel veel meer aan de hand.

1405
01:32:09.590 --> 01:32:11.790
Dus in die zin kan je ook zien als een soort van evolutie

1406
01:32:12.530 --> 01:32:16.310
met heel veel verschillende strategieën die mensen uitproberen als coins.

1407
01:32:18.830 --> 01:32:19.850
En ja, eentje zal er winnen.

1408
01:32:19.930 --> 01:32:21.710
Of in ieder geval meerdere kunnen er ook winnen in die zin.

1409
01:32:21.750 --> 01:32:23.830
Want je kan ook zien dat het 1 is het goud.

1410
01:32:24.030 --> 01:32:26.950
In die zin bitcoin is het goud eigenlijk waar je het in kan stallen.

1411
01:32:27.270 --> 01:32:28.970
En je hebt andere coins waar je in kan betalen.

1412
01:32:29.050 --> 01:32:31.010
Je hebt ook coins die super snel zijn.

1413
01:32:32.530 --> 01:32:35.490
En ook nauwelijks dat de transactie ook heel snel gaat.

1414
01:32:36.070 --> 01:32:38.170
Dus ik denk dat het gewoon eigenlijk zo is.

1415
01:32:38.270 --> 01:32:39.490
Het wordt gewoon langzaamaan volwassen.

1416
01:32:40.710 --> 01:32:42.410
Ik zie het in die zin ook niet heel snel meer weggaan.

1417
01:32:42.630 --> 01:32:46.630
Of met name ook door al het gedcentraliseerde spul.

1418
01:32:47.450 --> 01:32:50.450
Ja, het is inmiddels wel een beetje too big, too veel aan het worden.

1419
01:32:50.930 --> 01:32:51.690
Dat zie je wel.

1420
01:32:52.570 --> 01:32:55.730
Maar Bernard, kunnen we al betalen met bitcoin bij Alltradee?

1421
01:32:56.730 --> 01:32:57.470
Ja, zeker.

1422
01:33:00.490 --> 01:33:07.710
Zodra de eerste betalleveranciers dat aanboden, hebben we dat gelijk toegevoegd.

1423
01:33:08.210 --> 01:33:13.210
Dat is natuurlijk wel iets wat je eigenlijk vanaf dag één moet doen.

1424
01:33:13.790 --> 01:33:17.350
Als je daarin bezig bent, dan moet je ook dat faciliteren.

1425
01:33:17.610 --> 01:33:18.650
Ja, dat is wel grappig inderdaad.

1426
01:33:18.770 --> 01:33:24.550
Want ook in podcasting is er nu een podcasting 2.0, wordt het dan genoemd door Adam Curry met name.

1427
01:33:24.550 --> 01:33:29.550
En daar kun je dus nu inderdaad ook met behulp van het bitcoin lightning netwerk,

1428
01:33:30.550 --> 01:33:34.570
ja, kun je betalen eigenlijk voor het luisteren naar een bepaalde podcast.

1429
01:33:34.750 --> 01:33:37.450
Dus op die manier wordt het ook steeds meer ingezet.

1430
01:33:38.070 --> 01:33:41.510
En ja, wat je zegt, een Tesla er mee kunnen kopen of dat soort dingen.

1431
01:33:41.690 --> 01:33:47.390
Ja, de adoptie zorgt voor dat het wel steeds meer draagvlak krijgt en hopelijk ook gaat houden.

1432
01:33:47.970 --> 01:33:48.490
Zeker.

1433
01:33:50.390 --> 01:33:52.970
Even kijken, ik heb ook nog een klein tipje.

1434
01:33:52.970 --> 01:33:57.730
Dat is meer vanuit de test automation wereld.

1435
01:33:58.470 --> 01:34:05.430
Ik hoor steeds meer om mij heen dat men aan het overstappen is van Selenium Webdriver naar Playwright.

1436
01:34:06.050 --> 01:34:07.510
Hebben jullie daar iets toevallig over gehoord?

1437
01:34:08.910 --> 01:34:09.530
Ik niet.

1438
01:34:10.670 --> 01:34:11.370
Oké, nou mooi.

1439
01:34:11.510 --> 01:34:12.910
Dan heb ik hier wel een gouden tip gegeven.

1440
01:34:14.530 --> 01:34:16.370
Voor al onze integratietests.

1441
01:34:17.090 --> 01:34:17.750
Ja, precies.

1442
01:34:18.990 --> 01:34:20.390
Precies, die twee.

1443
01:34:24.590 --> 01:34:31.290
Maar Playwright is volgens mij overgenomen of misschien wel door iemand van Microsoft opgezet.

1444
01:34:33.550 --> 01:34:40.110
En wat wel gaaf is, is dat het is met Node.js library gebouwd.

1445
01:34:40.110 --> 01:34:45.230
En je kan daarmee dus tegen Chromium en Firefox.

1446
01:34:46.250 --> 01:34:50.350
En eigenlijk alles wat de web toolkit van Chromium en Firefox gebruikt.

1447
01:34:51.070 --> 01:34:58.290
En de marketing van Playwright zegt op dit moment dat het echt gebouwd is om webautomatisering via verschillende browsers mogelijk te maken.

1448
01:34:58.510 --> 01:35:02.150
Die altijd groen en kapabel en betrouwbaar en snel is.

1449
01:35:03.150 --> 01:35:06.610
En ik hoor dat er steeds meer teams over zijn.

1450
01:35:06.610 --> 01:35:10.610
En ze zijn dus ook echt al hun selenium testen aan het omscripten.

1451
01:35:11.570 --> 01:35:13.990
Dus ze hebben allerlei conversiescriptjes gemaakt, zag ik.

1452
01:35:15.310 --> 01:35:16.870
En ja, ze geloven daarin.

1453
01:35:19.770 --> 01:35:21.710
We stoppen de link zo meteen in de shownode.

1454
01:35:21.770 --> 01:35:23.450
Kijk er eens naar en probeer het eens uit.

1455
01:35:23.730 --> 01:35:29.990
Er zijn ook wat onderzoekjes die je op Google kan vinden die echt aantonen dat het sneller is.

1456
01:35:32.210 --> 01:35:34.490
Nou, dat was mijn tip. Heb jij nog een tip, Johnny?

1457
01:35:34.490 --> 01:35:40.550
Nou, ik heb geen tip van mezelf, maar ik heb een tip van een van onze gasten

1458
01:35:40.550 --> 01:35:43.590
of eens van onze vorige gasten van de podcast.

1459
01:35:43.890 --> 01:35:48.450
In november is Jeroen Leenaerts te gast geweest over iOS development.

1460
01:35:50.070 --> 01:35:53.490
En hij vroeg bij ons in de Slack of hij zijn boek mocht promoten.

1461
01:35:54.670 --> 01:35:57.570
En ja, dat boek heet Lead Developer,

1462
01:35:57.950 --> 01:36:01.570
Best Practices and Tips for Lead Software Developers by Jeroen Leenaerts.

1463
01:36:03.310 --> 01:36:05.870
Dat heb ik gelijk zelf even aangeschaft,

1464
01:36:06.130 --> 01:36:11.710
omdat mijn huidige werkveld daar toch wel een beetje mee samen hangt.

1465
01:36:12.350 --> 01:36:13.930
Ik heb hem nog niet gelezen, moet ik wel eerlijk bekennen,

1466
01:36:14.210 --> 01:36:18.310
maar het boek is 47 pagina's lang, dus het valt allemaal best wel mee.

1467
01:36:19.110 --> 01:36:23.530
En speciaal voor de luisteraars van CodeKlets had Jeroen gezorgd voor een leuke korting.

1468
01:36:24.170 --> 01:36:27.090
Uiteraard is nu precies de link dood, dus ik kan het nu even niet bekijken.

1469
01:36:27.090 --> 01:36:28.710
Volgens mij was het 50 procent.

1470
01:36:29.690 --> 01:36:33.790
Dus dan kun je een leuk boek van een van onze oudgasten aanschaffen

1471
01:36:33.790 --> 01:36:37.170
en hem daarmee helpen en supporten.

1472
01:36:37.430 --> 01:36:41.050
Dus nogmaals, Lead Developer van Jeroen Leenaerts.

1473
01:36:41.250 --> 01:36:41.970
Allemaal super tof.

1474
01:36:42.170 --> 01:36:43.810
Dankjewel voor het delen inderdaad.

1475
01:36:43.950 --> 01:36:45.030
Ik was het alweer vergeten.

1476
01:36:45.090 --> 01:36:46.990
We zagen dat in de Slack kanaal.

1477
01:36:47.990 --> 01:36:51.810
Oké, nou dat was hem weer, beste luisteraars.

1478
01:36:53.070 --> 01:36:55.610
Allereerst heel erg bedankt Redmar Kerkhoff

1479
01:36:55.610 --> 01:36:58.310
en Benoit Klaassen voor jullie deelname.

1480
01:36:59.490 --> 01:37:05.930
We hebben echt veel geleerd over crypto trading en het platform Altready.

1481
01:37:07.490 --> 01:37:11.250
Dus ja, ik denk dat we veel luisteraars hiermee blij kunnen maken

1482
01:37:11.750 --> 01:37:15.190
door het even vanaf het begin uit te leggen wat het nou precies inhoudt

1483
01:37:15.690 --> 01:37:19.190
en de details over hoe jullie het platform hebben opgebouwd.

1484
01:37:19.610 --> 01:37:20.950
Dus dank voor het delen daarvoor.

1485
01:37:22.310 --> 01:37:24.530
Nou ja, in ieder geval leuk dat jullie hebben geluisterd weer.

1486
01:37:24.530 --> 01:37:29.930
We verwelkomen jullie ook op onze website codeklets.nl.

1487
01:37:30.070 --> 01:37:32.530
Daar staat een link naar onze Slack kanaal

1488
01:37:33.310 --> 01:37:38.570
waardoor je ons kan vinden en verder zou kunnen kletsen over code of andere zaken.

1489
01:37:39.330 --> 01:37:45.190
We tikken al de 102 mensen aan, dus join the fun zou ik zeggen.

1490
01:37:46.290 --> 01:37:48.650
Verder nog Salves ook heel erg bedanken

1491
01:37:48.650 --> 01:37:52.330
voor het mogelijk maken van onze online opnames.

1492
01:37:52.330 --> 01:37:55.430
Het gaat niet altijd heel erg probleemloos zoals vandaag,

1493
01:37:55.570 --> 01:37:57.310
maar goed, we hebben het beste van gemaakt.

1494
01:37:58.770 --> 01:38:01.430
En ja, we zijn daar natuurlijk uiteraard dankbaar voor

1495
01:38:01.430 --> 01:38:03.910
aangezien we elkaar niet fysiek mogen ontmoeten.

1496
01:38:04.950 --> 01:38:08.170
Nou, dat resteert mij nogmaals iedereen te bedanken.

1497
01:38:09.310 --> 01:38:10.550
En ja, tot de volgende keer weer.

1498
01:38:11.150 --> 01:38:11.370
Doei!
