Transcriptie: Bart de Water over Shopify, de Corona App & Privacy
Volledige transcriptie, met Saber Karmous, Bart de Water, Bernard Kroes.
Volledige transcriptie
Welkom bij CodeKlets aflevering zes. Deze aflevering gaat weer heel leuk worden en ook spannend, want normaal gesproken doen we het in real life, maar dat gaat dit keer niet. De belangrijkste reden is natuurlijk dat we een enorme lockdown hebben, maar tegelijkertijd komt het ook een beetje goed uit, want deze gast is ook niet heel vaak in Nederland. Daar kom ik zo wel op. Maar goed, vooral door die lockdown kunnen we niet bij elkaar zitten. Het zou een beetje raar zijn als we nu met elkaar in één hokje gaan zitten en een podcast opnemen, maar dat zul je bij alle podcasts van de laatste tijd wat horen hebben gekregen, want dan gaan we niet al te veel bij stilstaan. We moeten gewoon met corona dealen en that's it. We zijn vandaag met vier hosts, Pauline, Bernard, Johnny en ik. Hoe gaat het met jullie? Dat is eigenlijk wel een goede vraag. Hoe gaat het in deze coronatijd? Johnny, bij jou? Ja, ik moet zeggen, het was heel even een beetje wennen in het begin. Zeker thuis werken zorgde er wel voor dat ik heel veel afleidingen had. Ik ben dat zeker niet gewend. Ik deed dat af en toe één keertje per week. Maar dus het huis is echt spik en span. Dat is dan wel weer fijn van alle tijd thuis. Maar ik moet zeggen, de laatste paar weken gaat het wel steeds beter. Het wendt en verder alles gezond. Dus mag niet klaar. Ja, dat is wel belangrijk. Dat is sowieso het belangrijkste. Pauline, bij jou? Ja, voor mij is het eigenlijk alleen maar beter. Het is een soort, ja, ik moet nog wel werken natuurlijk. Het is nog een soort vervoegde zwangerschapsverlof. En wat ik heel fijn aan vind, is dat ik natuurlijk eerder voelde ik me een soort van verplicht om allerlei sociale dingen te doen die vooral met waar dan vooral alcohol bij hoorde. Maar ja, dan forceerde ik mezelf, mezelf maar een beetje om een uur erheen te gaan. En zo van jezus, ik moet er gewoon minimaal een uur blijven, weet je wel. Dus dat is ook zo leuk. En nu kan ik gewoon schuldloos, schuldgevoelloos kan gewoon thuisblijven. Ik vind het heerlijk. Ja, ideaal. Maar qua zwangerschap, de controles enzo, hoe gaat dat? Nou, dat is eigenlijk voor mij een beetje hetzelfde. Mijn vriend kan niet meer mee. Maar ja, dus ik moet wel alles, niet de bevalling of zo, daar kan hij nog wel bij. Maar controles enzo niet, maar dat is niet zo'n groot issue. En voor de rest, ja, als je iets eerder in de zwangerschap bent, dan doen ze ongeveer drie kwart of zo van controles nu telefonisch. Maar omdat ik nu in de laatste trimester zit, moet ik alles nog persoonlijk. Maar het gaat allemaal wel voorspoedig. Ja, precies. Het is sowieso spannend. En dan dit erbij is natuurlijk wel, ja. Nou, we hebben wel ook een woning gekocht nu. Dat is heel raar. Ja, wij ook. We hadden echt twee weken voordat een soort lockdown was. Hadden we getekend voor een nieuw huis. En toen achteraf hadden ze zoiets van crap. Dat is misschien echt niet de beste timing. Maar goed. Ja, volgende week getekend. De vorige week getekend. En deze gaat nu de verkoop in. En ja, tot nu toe is er nog weinig verschil. Maar dat komt allemaal nog wel. Maar hopelijk zijn we dat allemaal net voor. Het is Amsterdam. Ja, de huizenmarkt in Amsterdam is echt, echt bananas. Ik zag straks een huis staan. Een hoekhuis. Op zich leuk. Twee miljoen. Twee miljoen. Ja, dat moet wel een Zuid zijn. Ja, dat was een oud Zuid inderdaad. Ja, we zien oud Zuid is echt, oud Zuid is echt gewoon. Mensen betalen daar letterlijk alleen om bij oud geld te zetten. De huizen zijn totaal niet interessant. Locatie is niet interessant. Dat is het. Domme investering. Nee. Ja, goed. Misschien. Ze zullen het waarschijnlijk terug kunnen verdienen. Maar ik vond het opvallend. Voor twee miljoen kun je heel mooi wonen ergens anders. Ja, maar oud Zuid is ook een plek die niet meer gaat omhoog. Dus ik snap het sowieso niet. Want dat is oud geld. Maar goed, development. Ja, precies. Dan maken we een makelaars podcast. Ja, met mij gaat het op zich best verder goed. Ik heb eventjes in het ziekenhuis gelegen. Dat is weer goed gekomen. Maar het blijft spannend. Ik heb een transportatie in Niro ooit ontvangen. En daar moet je allerlei medicijnen voor slikken. En dan ja, dat maakt deze situatie iets spannender dan voor anderen. Dus ik moet goed opletten. En dus dat maakt het dan wel wat ingewikkelder dan bij de rest. Maar de rest gaat het dan wel. Nice. Oké. Maar we hebben ook een gast gelukkig. En die hebben we eerder proberen uit te nodigen. Nou, die hebben we eerder uitgenodigd. Maar helaas door zijn omstandigheden is dat niet gelukt. Want hij woont niet in Nederland. Hij woont in Canada. Dus dat is een stukje uit de buurt. En als hij dan in Nederland is, is het natuurlijk niet zo makkelijk om dan een geheelsagenda rondom CodeKlets te plannen. Wat hij wel zou moeten doen natuurlijk. Ik bedoel, dat is natuurlijk de belangrijkste podcast van Nederland. Dat is wel waar. Maar ja, de gast is Bart Water. En welkom Bart. Goeiemorgen. Oh ja, enorm tijdsverschil ja. Voor jou is het nu hoe laat? Het is nu bijna negen uur sochtends. Negen uur sochtends ja. Hier is het bijna drie uur. Dus dat scheelt wel ja. Arme Bart, moet je helemaal vroeg opstaan voor ons? Nou, ik heb mijn eerste kopje koffie op, dus komt goed. Nou, jij liever dan ik. Ben je een ochtendmens of een avondmens? Ja, ik ben gewoon oud aan het worden en ik zit vast in mijn ritme. En ben erachter gekomen dat ik niet zo goed ben in uitslapen. Dus ik word gewoon uit mezelf. Nou, in plaats van zeven uur word ik half acht wakker en heb ik uitgeslapen. Cool. Lucky. Lucky. Uitslapen ken ik niet. Bij mij is het. Je mag blij zijn als je langer dan zeven uur tot na zeven uur sochtends nog in je bed mag liggen. Dus dat is een uitdaging. En dan moet je ook nog blij zijn dat er geen van je koters hier is. Nog een keer wakker maken. Dat gebeurt nog wel. Maar goed, daar gaat het nu niet over hebben. Bart, jij werkt voor Shopify. Ja, dat klopt. En die zullen meer mensen kennen. Dus zeker als je iets met e-commerce hebt gedaan. Het lijkt het zou gek zijn als je niet weet of wie of wat Shopify is. Maar dat komen we straks wel even op hoe we daar. En ik heb geen bio trouwens. Normaal sproken laten we altijd een bio. Gaan we lezen we voor dit keer niet. Dus we gaan je gewoon een aantal vragen stellen en dan gaan we op die manier even erachter komen wat jij allemaal doet in het dagelijks leven. Ja, even kijken. Nou wil mijn laptop gewoon die vertikt het om te scrollen. Goh echt. Ik geef er echt zijn kaster de schuld. Er gebeuren rare dingen mee, geloof ik. Ja, volgens mij neemt hij alles over. Toch maar zoemen. De vorige keer zoen. Anyway, ja, we laten us beginnen bij hoe je wat ik neem aan dat je software ontwikkelaar bent. Dat is natuurlijk de belangrijkste vraag, want anders is het wel een heel rare rare start. Nee, dat klopt. Ik klopt nog steeds wel koden. En maar hoe ben je zo? Ja, hoe ben je er in gerold? Ben je gewoon van jongs af aan? Ben ik veel vanaf je acht of zo beginnen met software ontwikkeling of op latere leeftijd? Ik heb eigenlijk vanaf heel vroeg af aan altijd wel iets van affiniteit met met computers gehad. Dat was op de basisschool al zelfs is dat ik er af en toe al bij gehaald werd als de leraar die dan een beetje handig was met IT, maar dan weer niet achterkwam hoe dat dan moest. Nou, dan wist ik dat wel. Dus ik was op een gegeven moment al een soort van systeembeheerder op de basisschool, als het ware. En ook lopen, ja, een beetje lopen klooien, weet je wel. Ik had op een gegeven moment wel zo'n aardrijkskunde oefen programma. Nou, daar was dan, had ik er achter gekomen. Oh, dat slaat dan ergens de highscores op in een bestandje. Nou, en dan open je dat bestandje in een klatblok. Nou, dan komt er allemaal prut uit. Maar nou, een beetje verder uitzoeken en rondvragen. Ik had een oom die die IT manager was bij een grote automatiseerder. Nou, hoe werkt dat dan? Nou, op een gegeven moment dan een ander programma waarmee die die, ja, karakterbrei dan wel goed geïnterpreteerd kon worden. En toen had ik opeens superkrachten, want ik kon mezelf een highscore geven van 100.000 punten, terwijl je nog niet eens op de 100 punten kwam als je normaal heel goed was in aardrijkskunde. Dus ik had dan de verantwoordelijkheid om na na les tijd om dan alle computers netjes af te sluiten. En nou, toen had ik even mezelf zeg maar de topografie god gemaakt met 100.000 punten. En daar maakte je vrienden mee. Nou, ja, nou, iedereen wilde weten hoe je dat deed, want je wilde een grote highscore hebben, natuurlijk. Dus ja, dat iets met computers, dat was vanaf jongs af aan wel duidelijk. En toen het was een beetje in de tijd dat Dragon Ball Z en Pokemon op tv kwamen. Nou, oké, Dragon Ball Z website gemaakt met Frontpage 2000. Oh, ja, maar dat is precies wat ik ook heb gedaan toen. Dat is denk ik precies dezelfde tijd. Ja, ja, ja, 100.000 Dragon Ball Z websites geweest zijn in die tijd. Dat kan gewoon niet anders. Iedereen deed dat. Het was echt met al die kindjes die op zes waren met met html en met Dragon Ball Z. Die gingen gewoon Dragon Ball Z website maken, natuurlijk. Ja, dus ja, gehoost op Geocities, FTP en dan had ik op een gegeven moment nog via via een maatje en die zat dan in het een beetje in het schimmigere wereldje met de FXP en dan. Nou, ja, toen had ik natuurlijk de nieuwste computerspelletjes voor Nop. Nou, daar nog allemaal een beetje mee rondgeklooid. Maar dat was toen nog niet echt super die hard programmeren. Dat was meer een beetje scripten en op op MIRC. Nou, ja, eigenlijk is het echt het echt developen. Developen is eigenlijk met mijn studie echt pas begonnen. En ik heb ook heel lang aan de Haagsel school informatica gestudeerd en ook heel lang wel een beetje met een gevoel rondgelopen met van nou ja, weet niet of dit het nou echt het gaat zijn en eigenlijk na het afstuderen aan het werk gegaan en nou ja, daar zijn op een gegeven moment een paar dingen echt een soort van gaan klikken. Ik denk, oh ja, nee, dit, dit wil ik wel. Ja, ja, na school kwam je erachter van, oké, dit is wel ja, wat ik wil. Ja, ja, ja, dat vond je, vond je het ook zo'n groot verschil. Zeg maar, kijk, de dingen die ik op school leerde, dacht oké, die hoor ik niet gelukkig van als ik dit iedere dag moet doen. En toen ik ging werken, dacht ik, oké, nou, dit is op zich relaxed. Er is best wel een, althans het was HBO, zeg maar. Dus in universiteit zal het misschien ook weer anders kunnen zijn, dat weet ik niet. Maar dat vond ik best wel een verschil. Maar wat was dat bij jullie dan? Welke dingen waren dat? Ja, je had het discreete wiskundhoud, dat soort, weet je, theoretische vakken. Dat was vooral in het begin, je denkt van, oké, ja, moet dit nou? Maar ja, dat is allemaal een soort van, in het curriculum, zeg maar, wat wij hadden, was een soort, omdat het een, ja, er werd toen vooral de gedachte was dat dat soort ontwikkeling heel erg dicht tegen wiskundhoud zat. Ja, bij mij was het een heel ander soort curriculum, maar dus meer, had je dan, hadden jullie dan meer het gevoel dat je niet echt iets aan het maken was, maar gewoon echt hogere wiskunde, alleen maar een beetje theoretisch? Ja, dat was vooral in het begin. Kijk, later krijg je natuurlijk, ja, opdrachten en dus dan was het wel wat anders. Dan denk ik, ja, dat was, dat kan wel in het begin iemand afschrikken, dus zo ervaarde ik het. Maar goed, dat zou zeker tegen aankijken. Dat was bij ons ook zo. Toen ik ging studeren, was de studie, heten toen technische wiskunde en informatica, dus het was 50-50. Nou ja, ja. En Bart? Ja, HBO Informatica is dan wel veel meer op echt, ja, software development, software engineering in de praktijk toegespitst. Eigenlijk achteraf vind ik het bijna jammer dat de hoeveelheid wiskunde in de opleiding eigenlijk aan de vrij lichte kant was. Ik denk dat het meest theoretische waar ik mee in aanraking ben gekomen, dat was pathfinding in een van de eerste blokken, omdat je dan een spelletje ging maken met java en later in de opleiding databases en een theorie over consistency and durability en zo. Databases waren echt, daten modelleren was echt mijn favoriete vak. Het was de enige, ja, dat was zo leuk, normaliseren en zo van databases. Ja, dat was misschien wel leuk, maar wij kregen toen, voor mij was, het was, ja, het ligt ook heel vaak aan wat Valera het uitlegt hoor, dat moet ik wel erbij zeggen, alleen, goed, hoe heet die gast nou, CJ Date was een soort van database god van heel post geleden. Maar dat was echt in het begin van SQL, er werd uitgelegd waarom SQL en zo. En ik zat echt van oké, big freaking deal, maar dit land bij mij nog niet. En pas later, zeg maar, had ik zoiets van, oh ja, dit is wel logisch. Ja, dat normaliseren slaat wel eens op. Dus het maakt ook echt uit hoe het gebracht wordt met je notebook. SQL zelf vond ik ook niet zo interessant. Ik vond vooral het te modelleren van de database zelf, vond ik veel leuker. Maar Bart, wat jij zegt van dat wiskundige vond je eigenlijk te licht bij jullie, maar wat zijn dan, dus een beetje andersom, maar wat waren dan de dingen die bij jou met werken opeens wel klikten? Nou, waar ik ook een beetje mee worstelde was in die tijd. Nou, je denkt dat je PHP, we kregen vooral een Java les. Dat was Java 5 nog, ook al was Java 6 al een tijd uit, want het onderwijs loopt daar dan toch een beetje achteraan voordat het lesmateriaal en de boeken en dat soort dingen up to date zijn. En hebben we ergens ook nog een verloren kwartaal even dan architectuur.net gehad en wat mij toen wel aansprak, omdat dan dat blok tot net werd dan door een docent vanuit het bedrijfsleven gegeven. Dus dat was dan wel meteen met de nieuwste versie en Java 5 in die tijd, waar ik een beetje mee worstelde, was toen een enorme hoeveelheid ceremonie voor dat ik überhaupt iets werkend kreeg. Was heel veel dingen van, nou import, weet je, 16 regels aan aan imports, allemaal dit, allemaal dat. En we moesten elke keer weer een beetje opnieuw dat wiel uitvinden om met de database aan te praten. En dan kan op een gegeven moment, net zoals iedereen anders, een soort van foldertje met utility, PAP-faaltjes voor mijn persoonlijke projecten die steeds maar weer hergebruikt en een beetje uitbreiden. En toen ik eenmaal aan de slag ging bij mijn eerste werkgever, daar begonnen we toen met Ruby on Rails. En dat was opeens een complete kant-en-klaar pakket waar gewoon al dingen om op een bepaalde conventie gingen en je dus niet zozeer met die ceremonie bezig was, maar meteen aan de slag kon met echt dingen bouwen, waarvoor je eigenlijk überhaupt begonnen bent. En dat was een van die dingen dat ik dik klikte van, hè, waarom hebben ze dat nou nooit voor Java gemaakt, of aan me uitgelegd, of voor PHP bleek er toen ook wel Rails clones te zijn. Maar dat maakte opeens de hele boel, dat klikte in mijn hoofd. Ik denk van, dit had het eigenlijk al moeten zijn en dit voelt instinctief goed. Ik kon het alleen nog niet uitleggen omdat ik het nog niet eerder had gezien. Maar dit was wel waar ik naar op zoek was. En toen, ja, we gingen ook echt producten bouwen met echte gebruikers, dus dan zien het ook echt gebruikt worden. Je ziet dingen verkeerd gaan op een manier die je nog niet had voorspeld, want gebruikers doen toch altijd dingen weer net even anders zodra je het aan zich heeft. En opeens waren dat allemaal van die dingen dat ik denk, ja, dat krijg je niet echt in die HBO of universiteiten projectwerk bubbel. Weet je, alle problemen die je op je pad krijgt, dat zijn dan van die gemaakt problemen die je docent dan naar je toe gooit terwijl die in de rol van de kruikerkruid. Dan krijg je van die absurde eisen dat je echt al denkt van nou ja, donderop weet je wel, het staat helemaal nergens op. Ik had het op een gegeven moment ook op de HBO springen als een hondje. Je merkt op een gegeven moment heel erg dat een docent zoiets heeft van oké, ik moet deze mensen een probleem voorleggen en dat probleem wat er dan verzonnen wordt, dat ja, dan zit je echt zo van ja, maar dat gaat nooit gebeuren in de echte wereld. Waarom moet ik dit nu oppakken in hemelsnaam? Een beetje dat soort dingen. En dat was voor mij inderdaad na de studie, toen ik echt aan het werk ging, de grootste switch. Dat ik echt zoiets had van oh, hier zijn allemaal mensen die ook gelijk gestemd zijn, die willen ook een mooi product maken en geen medestudenten waarmee je de hele tijd loopt te bellen om half tien ochtends van hey gast, kom je nog vandaag? Weet je wel? Een beetje, het is gewoon een hele andere vibe en dat was wel echt heel gaaf. Ja, en dan is het elf uur ochtends dan bellen hem, waar die is voor de afspraken naar jouw man, Bernard Walker, gister uitgegaan, zit nu te blowen. Ik kan niet zeggen dat ik die jongen ook nooit geweest ben, uiteraard, maar goed, ja. Nee, ik was dus er eentje die heel slecht was met groepsprojecten. Ik was die persoon, ik was niet de persoon die zei van ik ben nu aan het blowen hoor, maar ik was wel, als ik het over had kunnen doen, maar die zelfverzonnen problemen, wij hadden wel echt, echt soort van tussen aanhalingstekens, klanten dan voor voor projecten. Dat was dan, dat werd dan ook helemaal zo gepresenteerd van ja, dit is een echte klant en dit gaat ook echt bla bla bla, dit gaat ook echt gemaakt worden en echt gebruikt worden. Maar alsnog was het altijd zo half-assed, want niemand in the right mind, als ze echt iets nodig hebben, gaat bij een hoge school aankloppen en zegt van hey, kunnen jullie studentjes iets voorstellen en iets voor mij bouwen? Weet je al, dan weet je al gewoon dat het echt een soort van bijdik wat toch nooit serieus genomen wordt. Dus het was altijd, ja het werd ook altijd helemaal niet logisch en gewoon een half afgemaakt en ja, ik was ook niet zo van het schoolwerk, pas met echtwerken, serieus, hoef ik het serieus te nemen ook. En het proces eromheen ook, want Agile was toen nog een soort van vies woord, weet je, we kregen vooral, het was Rup en kleine Prins 2, allemaal boekjes, processen en eindeloze documenten opleveren. Echt vreselijk. En een diagramma tekenen. Ja. Maar ook de planningsfase. Ja, vreselijk was dat. De planningsfase, de ontwerpfase, de implementatie. Het is al heel erg waterval, maar dat, ja, liep ze zo mee achter. Ja, dat is echt, volgens mij is dat manier van les geven en dat is ook, Veliene had het er volgens mij ook over, met Neus op tafel, over hoe leren mensen programmeren en dat het eigenlijk best wel moeilijk is, want je krijgt natuurlijk, er gaat iets mis en dan krijg je allerlei rare foutmeldingen en sommige mensen haken dan gewoon meteen af, terwijl ze misschien best wel geschikt zijn om te programmeren. Dus dat leren van programmeren en het moet, net als dit wat je op de hoogschool en universiteit krijgt in het begin, dat zijn echt dingen waar je denkt van, oké, dit schrikt me gewoon af, ik heb hier gewoon helemaal geen zin in, dit slaat echt nergens op. Dus volgens mij, het opleiden en voorbereiden op het werk wat wij tenminste denk ik de meeste van ons doen, ja dat matcht gewoon niet. Ik vind dat wel een heel goed punt van die foutmelding ook hoor, want wat ik ook heel vaak merk als ik bijvoorbeeld met een junior aan het perren ben ofzo, weet je wel, als we dan iets fout gaan, dan komen ze meteen bij je aan van wat gaat hier fout en eigenlijk hoef je bijna altijd alleen maar te zeggen van lees wat de CLI output is of lees wat. En dan hebben ze het nog niet gelezen omdat het gewoon te overwhelming is ofzo, dat het allemaal tekst is. Terwijl als ze daadwerkelijk gewoon lezen wat de output is, dan weten ze meestal gewoon wat aan de hand is. Ja dat ook, maar het is voor een leek, is het best wel, ja, het schrikt gewoon af. Oké, nou is alles kapot. Het moet zo gewoon verteld worden. Ja precies, nou goed ook, maar goed als de Verlinden zeg maar, die daar ook van aankomt van ja er zijn wel programmeertalen waar ze aan werken, waar die meldingen wat vriendelijker zijn zeg maar, zodat er in theorie dus meer mensen aan kunnen haken die programmeren. Ja en het is natuurlijk zo dat die foutmeldingen, die hebben het eigenlijk, die foutmeldingen hebben het nooit mis. Het is nooit zo dat die foutmeldingen, je ziet een foutmelding op de scherm verschijning, ja dat kan niet, maar het klopt altijd. Je moet het beter maar goed lezen. Maar ja, je kan het natuurlijk wel altijd vriendelijker maken, want we hebben natuurlijk ook allemaal wel een keertje gehad dat er staat error en dan een errorcode en verder niks. En ook nergens waar je dan die errorcode kan opzoeken of wat dan ook. Ja je moet blij zijn dat je nu Google hebt, van vroeger had je gewoon, dat was het zeg maar, dat je in ieder geval een vage hexcode en dat was de error en succes. Wat ik ook heel chill vind is dat er dan staat, oops, something went wrong. Ja bedankt voor deze leuke speelse tekst waar ik echt geen flik aan heb. Ja dat weet ik wel, dat zou ik schrijven. Ja dat is ook wel een goede. Je hebt ook zo'n meme toch, dat mensen werden op een gegeven moment een beetje gek van al die browsers en zo, die allemaal zo, we did a oopsie whoopsie en dat soort dingen. Wij software ontwikkelaars zijn super serieus, altijd. Eigenlijk moet je dan de error message gamification op toepassen ofzo, als je een kindvriendelijke programmeertal aan het ontwikkelen bent. Dus elke keer als je een error hebt dan krijg je eerst een spelletje en dan pas de stacktrade. Ja dan ga je wel error's. Ik weet niet of je dan minder bugs gaat creëren of meer of meer fouten, dat wordt wel. Of meer of minder frustratie. Ja maar goed op school, wat voor taal heb je, wat voor ontwikkeltaal heb je geraakt en welke vond je leuker dan de andere? Nou het was voornamelijk Java.Net. Dat was denk ik Java 5.Net 4 uit mijn hoofd. En waar ik wel gecharmeerd van was die two-way data binding wat je daarin had. En dat was toen in Java moest je dan al je hele UI en de state management moest je hem allemaal met de hand aan elkaar knopen. Dat was wederom heel veel van die ceremonie waar ik denk, waarom ben ik dit allemaal aan het doen? Dit voelt gewoon alsof dit makkelijker moet kunnen. En een paar kleine website's in PHP en dat was dan gewoon snel en makkelijk en eigenlijk om terug te komen op die vorige discussie ook. Zeker in die tijd viel er heel veel PHP aan te merken qua taal en weet je dat dingen niet altijd logisch of in elkaar zaten. Was het toen al OOP? Dat was PHP 4, dus de eerste verschijnselen van 4 of 5. 5 was volgens mij voor het eerst. Maar wat PHP wel heel goed voor elkaar heeft was die instantaan feedback cycle. Geen compilen, geen niks. Je verandert je safe, je F5 en je ziet het. Zelfs in productie als het moest, want weet je wel, Ferzie Beer was in die tijd, weet je, Git was er nog niet of net aan. We kregen toen nog Subversion. Nou, dat was ook niet echt een pretje, dus dat deed je toen niet echt. Dus weet je, je maakte gewoon een, je FTP'd je PHP servertje in, je copieerde de fout die je aan ging passen voor het geval dat het echt fout ging en dan ging je er gewoon een beetje in rommelen en je F5'd en je zag meteen het en dat was wel gewoon een beetje waar ik toch wel naar zocht, gewoon van geen gedoe, het moet gewoon werken, ik moet gewoon snel zien wat het doet, want dan ben ik gewoon bezig met wat ik leuk vind, iets maken voor iets of iemand en niet een hele berg code of andere onzin, zoals ik het toen vooral ervaarde, om iemand anders vooral te plezen, maar wat dus niet leidde direct tot iets maken. Maar ben je dan, want dit gevoel snap ik, maar het begint een beetje de kant op te gaan van ik hou ook niet van testschrijven en ik hou ook niet van CI en dat soort dingen. Nou in die zin, in die tijd was het wel van, we kregen wel wat over unit testen, maar u zag in die tijd, de waarde was ik een veel van de dingen die ik schreef waren vrij klein, vrij simpel en moet ook denk ik, als ik zo even terugkijk en John ben benieuwd of jij dat kan beamen, ik vond dat de toegevoegde van waarde van testen niet echt goed werd uitgelegd op die opleiding. Ook dat was pas een dingetje dat eigenlijk op mijn eerste stage een beetje begon te klikken waar ik gewoon, ja weet je, er was een team van nou wat was het, team developers ofzo, pasten niet meer met elkaar in een kamer. Mensen werkte echt op verschillende onderdelen die wel van elkaar afhankelijk waren. De business cases die gesupport moesten worden waren ook complexer en ja weet je, dan opeens testen en ook de waarop die testen werden geschreven. Meer met een voorbeeld cucumber specs, echt met een focus op de use case. Denk oh wacht ja dat is wel logisch en ja met CI en ja dat was toen nog een beetje nieuwig in plaats van dat er werd niet een dagelijkse, een nachtelijkse beeld gedraaid maar er werd continu op pull requests werden er beelds gedraaid en als daar master werd gemurtsd werd er weer een beeld gedraaid, continu. Ja wacht, ook van die dingen die toen pas een beetje begonnen te klikken vanuit de theorie toen ik het in de praktijk zag. Ja, ja we kregen een we kregen een boek J-unit testing geloof ik op daagsel gescholden bij en ja dat ging echt alleen over over de unit tests en er werd, ja ik kan beamen inderdaad wat je zei, er werd heel weinig uitgelegd over het soort grotere plaatje. Waarom is testen nuttig? Waarom moet je testen? Op welke plek in de volledige development cycle is testen handig en wanneer komt het ook echt van pas en ja het werd alleen uitgelegd als ja hier heb je code en je moet zeker weten dat het werkt. Punt. En veel plezier ermee, succes, ga het maar maken en ja daar word je er ook niet heel erg warm van inderdaad. Dat voelt alleen al heel snel als overhead. En de unit testjes waren dan ook wel een beetje van de kwaliteit zoals hoe sommige beginnende developers dan hun code commentariseren op de manier met van ja nou code is 1 en 1 plus 2 en hier berekenen we wat de waarde is van tweebe weet je al dat het was en het was niet op van nou ja weet je je wil eigenlijk het gedrag testen er gaan dingen in er komen dingen uit maar de interne implementatie daar bemoei je dan niet mee maar je gaat erom dat het gedrag van dit stuk code aan de buitenkant goed is. Nou allemaal van dat soort dingen die gaande weg ja weet je er werden heel veel dingen zegt van ja dit moet je doen maar dan was ik weer zo vervelend met ja maar om dan waarom moet dat zo dit voelt een beetje raar dit die antwoorden bleven dan een beetje uit tot tot op de werkvloer later ja daar bleed ik dan ook wel en daar kwamen die twijfels dus vandaan met van nou ben ik nou zo'n gekke hankie dat ik steeds zo'n gevoel heb van nou dit dit dit vind ik vreemd of dit voelt niet juist je hebt in het onderwijs denk ik ook best wel weinig mensen die dat goed kunnen We hebben een aantal mensen die ons hebben gegeven om ons te uitleggen. Ze hebben stof. Ze weten dat ze die moeten uitleggen. Net zoals dat boek waar je het over hebt. We leggen uit wat unit testing is en hoe het moet. Maar echt die opinionated dingen waar je het over hebt. Waarom is dit zo? Wat zijn de consequenties als je het niet doet? Dat zijn dingen die je echt alleen maar op conferenties en zo tegenkomt van mensen die daadwerkelijk met het werken bezig zijn. En dan zijn er nog heel veel verdeelde meningen en weet ik het allemaal. Die mensen krijg je gewoon niet in het onderwijs. Dus dat ga je nooit goed krijgen, denk ik. Bart, mag ik dan vragen hoe dat was toen je bij Shopify terechtkwam? Kwam je toen in een hele nieuwe omgeving waar dat ook werd gebruikt en kende je dat? Ja, nou even kijken. Na mijn opleiding ben ik bij Digidentity in Den Haag begonnen. En daar werkte we dan aan een single sign-on service voor de Britse overheid. En dat is waar ze waren ook. Ze zijn ook een certificaatautoriteit. Dat is natuurlijk security, staat daar heel hoog in het vaandel. Dingen moeten gewoon getest worden, punt. Weet je al, regelmatige security pen testen, maar ook unit testen. Weet je ook allemaal code-kwaliteits-tools, code-coverage-tools. Dat stond daar heel hoog in het vaandel. Dus daar heb ik een hoop van dat soort dingen geleerd, maar dat ook inderdaad in de praktijk het klikte. Wat vooral voor mij het verschil was... Even kijken, daarna heb ik ongeveer anderhalf jaar lang freelance gewerkt. Maar wat voor mij echt nieuw was toen ik naar Shopify ging, was de gigantische schaal. Ik ging van apps met een paar honderden tot duizenden gebruikers... naar honderdduizenden merchants die dan elk nog eens een keer misschien wel eend tot honderdduizenden klanten hebben. En ja, software at scale heb ik daar wel echt geleerd, zou ik zeggen. Heb je daar dan ook veel meer DevOps die dingen geleerd? Want dan moet je eigenlijk ook breder gaan denken. Eigenlijk minder juist. Want als je op een gegeven moment een bedrijf hebt dat zo groot is, heb je meer specialisatie. Dus we hebben een team dat dus... We draaien tegenwoordig op Google Cloud, maar daarvoor op Bare Metal. En er is gewoon een team dat ervoor zorgt dat de nitty-gritty van deployments... en meer of minder servers, dat is gewoon al weggeabstrayerd. We hebben eigenlijk een soort van interne cloud-infrastructuur. En dan kan ik gewoon zeggen, over deze applicatie, die draait nu op vijf replica's... maak er maar even tien van, want ik verwacht de topdrukte. Oh, maar daar heb je dus wel controle over. Want wat ik me dan afvraag, in zo'n grote organisatie... en die stokkelen daar nog weleens mee met hoe het werk van de teams is verdeeld... en die bouwen het context en zo. Dat je dan als team bijvoorbeeld moet kunnen beslissen van... hey, ik wil hier een microservice van maken. Ik wil daar de infrastructuur voor hebben. En hoe organiseren jullie dan dat dat kan gebeuren? Moet je dan eerst naar dat andere team toe om dat aan te vragen... en dan weer wachten tot zij tijd hebben en dat soort dingen? Het is Shopify, wat dat betreft, best wel georganiseerde chaos. En daar moet je wel een beetje mee om kunnen gaan. We hebben bijvoorbeeld een aantal teams, Developer Acceleration... die dus de developer tooling bouwt, zoals een shared CI-infrastructure... en een cloud-infrastructure-team... die eigenlijk dus een soort van internet-platform-as-a-service-achtige dingen aan kan bieden. En stel je voor dat wij besluiten... geloof dat ik nog niet gezegd heb dat ik op payments werk... maar ja, ik verzorg dus betaaldingen bij Shopify. Stel dat wij zeggen, we hebben een nieuwe applicatie nodig... omdat we iets nieuws gaan bouwen... en dat gaan we niet in de grote monolithische Shopify-app bouwen... maar dat gaat in een losse app, want om reden A, B en C. Nou, dat documenteren we dan in een zogenaamde tech-design. Dat is één GitHub-repo en daar worden al jarenlang... alle tech-designs daarin als issue geopend. En dan is het van, wat ga je bouwen? Waarom ga je dit bouwen? Welke designkeuzes heb je gemaakt? Wat waren daarin de afwegingen? En wie zijn de stakeholders die jij moet betrekken bij je tech-design-review? Nou ja, goed, payments gerelateerd. Ik wil waarschijnlijk wel iemand van security erbij hebben... voor een extra paar ogen. Ik wil waarschijnlijk, nou, als ik dingen moet scalen... Nou, we hebben al bestaande, natuurlijk die bestaande interne paas oplossing. Maar als ik echt hele rare dingen wil, buiten wat ze standaard aanbieden... dan kan ik er ook iemand van hun bij trekken... om te kijken van, nou, hoe feasible is dat? En dan, ja, die tech... Iedereen kan er ook gewoon een commentaar geven op je tech-design-review. Mochten mensen iets voorbij zien komen dat ze denken, dat raakt mij ook. Nou, dan kunnen ze gewoon een mening daarbij geven. En, nou, daarna gaan we het gewoon bouwen. Mits je, zeg maar, binnen in je afdeling de leads... en dat soort dingen daar goedkeuring voor hebben gegeven... dat je het project doorgaan kan vinden. Maar verder is daar niet echt een onwijze strakke procedure voor... behalve een aantal vuistregels... die ook de interne bedrijfscultuur ondersteunen. We hebben interne default to open internally. Dus ja, alle tech-designs zijn daarom over het hele bedrijf heen gewoon openbaar. Dat is wel cool. Ik was gemute. En kan je nog een paar vuistregels noemen? Dat vind ik wel leuk om te horen. Ja, een andere waar ze ook heel erg mee bezig zijn is Build for the Long Term. De CEO zegt vaak van, we willen dat dit een bedrijf is dat 100 jaar oud wordt. Dus... Toby. Ja, Toby inderdaad. Dus weet je, maak beslissingen die in de lange termijn goed zijn voor het bedrijf... en niet alleen maar voor de korte termijn winst. Get shit done. Dat is heel kort samengevat met van... ja, weet je, niet te veel ouwehoeren vergaderen of dat soort dingen. Uiteindelijk moeten er gewoon dingen opgeleverd worden. En dat is natuurlijk dan wel een beetje een afweging tussen die twee. Want get shit done, tuurlijk. Maar dan niet op een manier dat je er over een jaar al spijt van krijgt... dat je het net zo hebt gedaan. Ja, dat is een balans die er heel veel niet helemaal goed krijgt, natuurlijk. En dan kan de ene kant naar de andere vuistreigelregel wijzen... en dan kun je nergens. Ja, maar oké. Maar het is wel goed dat de CEO in ieder geval zegt van... doe het voor de lange termijn. Dan krijg je daar een soort van rust, zeg maar. Ja, en er zijn ook zeker gewoon... Kijk, de main Shopify applicatie... dus als je een Shopify winkel bezoekt... de Storefront, maar ook de Merchant Admin... en wat interne beheersdingen voor medewerkers... dat is één grote Ruby on Wheels applicatie die al... Nou, het is begonnen in 2006, dus... al 14 jaar wordt doorontwikkeld. Er zit legacy code in, er zitten dingen die niet zo mooi zijn... dingen zijn die haastig zijn gebouwd... omdat er dan soms wel eens externe deadlines zijn... waarin get shit done dan toch de prioriteit krijgt... over build for the long term. En soms zie je opeens een stuk code dat je denkt... en dan kijk je git blame. Oké, ja, dit is in 2010 geschreven. Oké, ja, als het al sinds 2010 draait... ja, oké, misschien, ja, is dat dan inderdaad... aan de andere kant, als het op tien jaar zo draait... heeft die code op zich ook wel prima gedaan, weet je wel. Dan blijven we niet hoor. Dat vind ik ook altijd zo mooi als mensen bugs gaan reporten... dat het dan, oh god, ik heb een bug ontdekt... en dat het dan als heel kritisch wordt ervaren... dat die bug al in productie is en heel vaak is het dan... dat het gewoon al letterlijk jaren erin zit. En dan denk ik ook van, ja, je kunt wel doen alsof het heel ernstig is... maar blijkbaar is het niemand jaren opgevallen, dus... Ja, klopt. Ja, dat heb ik ook heel vaak. Ik ben sowieso, ik noem dat een beetje de Regen-aapak... Ronald Reagan, dat is schijnbaar een verhaal. Wat er gebeurde, hij lag hier te slapen, zeg maar... en dan werd er gebeld door een of andere, weet ik veel... dan nam Nancy Regen de telefoon op... en dan, ook al was hij iets aan het doen of hij was wel beschikbaar... dan zei ze altijd van, nee, hij is aan het slapen. En dan, ja, maar het is wel belangrijk, maar hij slaapt nu... dus ik kan hem echt niet wakker maken. Dan wachten ze even, dus drie, vier uur verder... en dan was hij echt wat geslapen, was hij wakker geworden... en daarna was het probleem weg. De urgentie is er dus gewoon niet altijd. En dat merken we bij software developer ook heel vaak... met dit soort bugs of un-bugs, oh nee, paniek, dat kan niet... want alles stort in en het zit er al tien jaar in of vijf jaar in. Dan denk je, ja, oké, dat kan nooit urgent zijn. Weet je, tenzij het een security bug is of zo. Maar, dus die paniek vind ik altijd wel interessant. Ja, ja, wat ik zo opvallend vind, is als je nieuwe feature release... dat er dan ook bestaande bugs in andere features tevoorschijn komen... alsof mensen dat met een verse blik de software bekijken... dan kan je in één keer allemaal dingen zien die er al jaren in zit... maar nooit iets opgevallen. Dan moet je dus oppassen dat degene die die feature introduceert... niet in één keer voorquest van 300 changed files... want ik zag dit ook en dat ook en dat ook, weet je wel. Ja, dat klopt. Zeker met een product dat zo oud is... we hebben het verhaal gehad dat Toby ooit op een vlucht... van naar Silicon Valley geloof ik, om dan geld op te halen... heeft hij de templating-taal Liquid ontwikkeld op die vlucht. En natuurlijk gaandeweg hebben mensen heel veel thema's gebouwd voor Shopify... maar dat is een beetje natuurlijk ook gebouwd op een manier met van... oh dit is een goed idee, dat is een goed idee, dat is een goed idee... maar dan kijk je er nu op terug en dan denk je wauw... er zitten best wel wat rare dingen in Liquid. Maar ja, die zijn nu vet moeilijk om daar nog ooit uit te halen... want als je die bug nu fixt... of die rare quirk in het gedrag nu fixt... ja dan breek je opeens een stukje custom-functionaliteit op iemand op z'n webshop... en dat is natuurlijk ook not done. Dus soms zijn bugs dan opeens ook features. Ja, dat komt. Dan zie je ook WordPress. Nou tegenwoordig is dat wel iets anders geloof ik, maar... Ja ik weet niet, ik heb al heel lang geen WordPress meer meegekregen... maar Windows is ook zo een beetje... het is ook echt een hack op hack en het is ook precies wat jij zegt... het enorme ecosysteem ontstaat er rond Windows... en als jij dan denkt, oké ik ga het fixen... maar dat betekent wel dat als het ecosysteem er omheen heeft gewerkt... dat ze daarna dus weer een keer alles moeten fixen. Ja, daar word je ook niet al te blij van. Dus dat is best wel lastig. Ja, ik had nog een vraag aan Bart over wat hij net zei bij de tech-design... dat je dan soms iemand erbij moest halen van security-afdeling. Dat is blijkbaar iets wat apart zit. Nou, er wordt sowieso van elke developer wel verwacht... dat ze hun ogen open houden om geen fouten te maken. En we hebben ook security, we hebben ook code scanning tools... linters die dingen proberen te vangen op een geautomatiseerde manier. Maar als het gaat om een compleet nieuwe applicatie... en zeker omdat ik natuurlijk in de financiële hoek zit... komt er dan vaak legal en security dan toch al snel om de hoek kijken... vanwege een stukje regulering. Dan kan het nooit kwaad om iemand van het application security team... als gewoon expert erbij te halen. Stel je voor dat je zegt van... in verband met GDPR moeten we de data versleutelen. Nou, dat kan je wel zo in de tech-design neerzetten... maar dan gaat er geheid iemand op een gegeven moment vragen... ja, en hoe dan? Welke algoritmes? Hoe ga je dit doen? Hoe ga je dat doen? Dan kom je natuurlijk al wel op een stukje technische materie terecht... dat jij zo zegt van... nou, ik doe AES 128 CBC. En dan zou die security expert kunnen zeggen met van... ja, maar wacht even, je gaat dit verzenden over het internet... en je doet verder geen integriteitscheck. Ben jij AES CBC zonder dat je er ook nog een verificatiestap overheen doet... is kwetsbaar voor bepaalde aanvallen... en dus niet zo vaak als je denkt. Nou ja, dat is dan wel weer zo diep op bepaalde materie in... dat kan je dan weer niet van elke developer verwachten... dat ze dat zo even op kunnen hoesten. Dat snap ik al. Ja, een aantal dingen kun je wel automatiseren... een aantal dingen juist niet. En je moet volgens mij ook... ik weet niet hoe dat bij jullie is, maar... security-specialisten moeten ook met een half been... ook een gevoel hebben voor wat er aan de donkere kant gebeurt. Dus dat is ook nog wel... dat je dat bij moet houden... en dat kun je van een algemeen ontwikkelaar... denk ik niet verwachten. Dat is mijn mening. Zeker niet, ook als je natuurlijk de aantallen hebt... die ze bij Shopify hebben. Want ik weet niet, Bart, hoeveel developers er nu... in diezelfde applicatie werken... dat zijn er geen tientallen, dat gaat meer in de honderden. Ja, wat is het, geloof ik... ik moet even nadenken wat het officiële nummer is... dat ik mag vertellen, maar dat was geloof ik... 400 ontwikkelaars in één applicatie. Ja, dat is even... Ja, dat vraagt wel een hele andere maatregelen dan... Ja, heel veel dingen automatiseren inderdaad. En ook, we leunen heel erg vaak op dingen... ook deprecaten in onze eigen codebase... met van, oké, we maken nu een lijst van alle 100 plekken... waar deze deprecated code call wordt gemaakt... en als je dan dat op een nieuwe plek introduceert... dan veelt CI, met van, hé... en dan krijg je een melding met van, hé... we proberen dat compleet te deprecaten... en om, zeg maar, dit niet verder te laten verspreiden... zetten we dit, hebben we dit geblacklist... of een geshitlist noemen we het... en voeg geen nieuwe dingen aan de shitlist toe, AUB. Mocht je er echt niet omheen kunnen werken... dan ga ik proberen een oplossing te vinden. Als het echt niet anders kan, oké... voeg dan maar toe op de shitlist... maar op die manier, dat is de enige manier... om in zo'n grote codebase met zoveel mensen... slecht gedrag eruit te slopen... of deprecated gedrag. Ja, oké, cool. Ja, dat vind ik wel... ik vind het sowieso interessant, zeg maar. Ja, de bedrijfscultuur, zeg maar... bij de Shopify, dat is een beetje een georganiseerde chaos. Ieder bedrijf heeft natuurlijk zijn eigen cultuur... ja, dat ontstaat niet zomaar... dat is door jullie CEO... de aantal mensen die er werken. Dus dat vind ik wel interessant. Maar hoe was het, zeg maar, om als Nederlander... daar binnen te komen? Heb je daar nog wel wat typisch Nederlandse... ja, conflictjes wil ik niet zeggen, maar ja... Nou, ik heb weleens dingen vrij direct geroepen... in een meeting en dat mensen nog wel even zoiets hebben van... oh, zo, dat is vrij recht voor z'n raap. Dat is denk ik meer een verschil tussen Nederland en Canada... wat dat betreft. Canadezen zijn altijd heel beleefd in zichzelf uiten. Zoals ook door South Park wel beroemd en berucht is gemaakt. Maar er zit wel een kern van waarheid in. Het zijn alleen niet pratende halve hoofdjes... zoals South Park's uitbeeld. Hoe heet die type hoofdjes? Ik ben ze vergeten. Terrence en Philip. Ja, Terrence en Philip, precies. Ze hadden toch wel een baby of zo? Ja, die hadden ook een baby, ja. Dat was ook een babytje. Die had heel schattige geluidjes, maakte hij altijd. Die schetenlaten, dat was het toch? Ja, dat, ja. Dat was niet de baby, volgens mij. Nee, de baby niet. Ja, wel cool. Ja, had ik nog meer vragen over... Hebben jullie misschien nog vragen? Ja, wel een beetje over de stek eigenlijk. Ja, we gaan maar los. Ja, nou ja, wat hebben jullie allemaal in de stek zitten? Vooral na aanleiding van je opleiding. Ja, eens even kijken. We hebben de meeste applicaties zijn Rails. Laten we daar maar gewoon even mee beginnen. De database of choice is MySQL. Ja, want daar zijn ze ooit gewoon tig jaar geleden mee begonnen en daar expertise in opgebouwd. Het werkt gewoon. Het werkt, ja. Ik denk op een gegeven moment, weet je, een ding als een LHM om online schema migrations te doen, dan denk je in het begin met van wauw, dat is een vieze grote hack. Maar toen ging ik erover nadenken, ik denk van ja, sommige dingen wil je met Postgres ook wel op een bepaalde manier doen die niet standaard is zodra je helemaal op deze grote werkt. Dat hoort er gewoon denk ik een beetje bij met die schaal. Redis, populair voor job queue. Memcached voor caching. Of als je een simpele app hebt, dan gebruik je Redis voor allebei. Even kijken, dan hebben we met name dan voor de grote, de main monolith, want die is denk ik wel het interessantste, hebben we Zookeeper voor wat coördinatie over shards heen. En de routing gebeurt met Nginx, met een aantal custom Lua modules in OpenResty. Dus je moet het eigenlijk even heel simpel zien dat een shop, die heeft een ID, de shop ID, die staat op een bepaalde shard. En we kunnen ook shops heen en weer moveen, als dat nodig is voor wat een reden dan ook. Nou, er is dan wat custom MySQL toekeling voor, om ervoor te zorgen dat de state van de shop van de eerste shard en op de tweede shard voor 99.9% over is gecopieerd. En dan is er een cut-off moment, waarin dan ook op de routing laag wordt gezegd van nou, shop 1, 2, 3 draait nu op shard 2. En dan wordt die laatste data gebackfilled. En dan op shard 2 wordt er dan een dingetje geflipt met van oké, deze shop mag nu op deze shard ook echt rights acties doen en niet alleen maar leesacties. En we hebben ook her en der nog wat Go services eromheen om bepaalde dingen te doen waar de concurrency en de latency belangrijker zijn dan Ruby schrijven. Dus dat is een beetje de trade-off. De meeste dingen schrijven we gewoon in Ruby en Rails, omdat daar werkt gewoon bijna iedereen in het bedrijf al mee. Dus dat maakt het makkelijk om mensen een en weer te switchen. En Go is toch een beetje de default taal om dingen op schaal en concurrency mee te doen. En daarna is het zo van, nou, kunnen we dit echt niet op een andere manier doen? En dan komt bijvoorbeeld de Nginx en de Lua uit. Maar ja, de hoeveelheid mensen die Lua bij ons kunnen schrijven versus Ruby, dat zijn wel een paar orders van grote verschil. Ja, dat geloof ik al, ja. En van oudsher is natuurlijk Ruby en Rails die zijn, worden een beetje bestempeld als niet de meest snelle applicaties. Hoe werkt dat bij jullie? Want ja, jullie hebben wel zoveel gebruikers. Het is één grote applicatie. Hebben jullie, ervaren jullie dat ook? Of is daar... Ja en nee, zou ik zeggen. Nee, omdat we, nou, weet je, toch wel dingen hebben geleerd die, om Ruby en Rails te schalen tot wat het nu is. Ik bedoel, het is natuurlijk een beetje een meme die door Twitter in het leven is geroepen. Twitter was ook ooit in Rails geschreven. En toen was het in de tijd dat je heel vaak te veel Rails zag. En toen zijn ze, hebben ze eigenlijk Twitter herschreven in geloof ik Java. Maar wat ze er dan niet zo heel erg bij vertellen is dat ze ook meteen de complete architectuur hebben omgegooid. Ja. Dus, maar dan is het wel heel vaak van ja, kijk, zie je, Rails was traag. Java is snel, kijk maar naar Twitter. Ja, als ze, zeg maar, niet van taal waren gewisseld, maar gewoon ook hun architectuur hadden verbeterd, dan waren ze misschien wel op rails gebleven. Dit is een beetje hetzelfde verhaal als met PHP. Dat is ook, nou, er zijn natuurlijk redenen waarom mensen bepaalde dingen vinden. Maar met PHP is het ook tot op zekere hoogte zo dat het gewoon een heel groot verschil maakt in hoe je het schrijft. Ja, absoluut. En kijk maar naar Facebook. Weet je wel dat Facebook is op een gegeven moment ook zo groot geworden dat zij op een gegeven moment PHP als taal helemaal naar hun eigen hand zijn gaan zetten. Wij hebben ook mensen die actief bijdragen aan Ruby zelf om dingen proberen te vinden om het sneller te maken of geheugen gebruik terug te dringen of wat dan ook. En dat gaat dan echt diep op zee in met van nou ja, hoe groot moet deze zee struct zijn om dit Ruby objecten te representeren? En als we daar nou 16 bytes vanaf kunnen schaven, dan op een rails app met honderdduizenden objecten is dat opeens weer een paar nb minder. Maar dat is het echt echt. Zolang je het niet hebt over echt die low level performance optimalisaties, moet je gewoon je bot touwen. Ja, niemand heeft het daarover, toch? Zo van oh ja, maar het is een langzame taal. Ja, ga je toch lekker machine code schrijven? Ik denk dat er weinig problemen zijn waar mensen echt echt dat soort harde letentie eisen hebben. Misschien als je nou weet ik veel wat een Zendcaster clone zou bouwen of zo. Precies. Een goeie. Maar e-commerce. Een heel goeie. Ja, maar e-commerce is op de schaal van 100, een paar honderd milliseconden, weet je wel. En tuurlijk onder load is het heel fijn als je daar 10, 20, 30 milliseconden vanaf kan schaven. Maar over het algemeen is het snel genoeg. Neem jullie nog speciale maatregelen als het Black Friday wordt, of zouden we dingen uitzetten of juist niet? Nou, juist geen dingen uitzetten. Zetten we liever een paar dingen bij. Ja, precies. Ja, nee, we hebben in de aanloop naar Black Friday is altijd onze traditioneel piekmoment. Want Noord-Amerika is natuurlijk wel nog steeds onze kernmarkt. En in de loop naar Black Friday toe gaan we gamedays houden. Dus we doen loadtests op onze productie-infrastructuur continu. We hebben een loadtesting tool die echte check-outs doet op een productieshop. En die draait standaard elke week, om er gewoon voor te zorgen dat we zeker weten dat er geen regressies zijn. Maar naarmate Black Friday binnenkomt, dan voeren we die nog eens een keer op. Dan gaan we twee keer zo zware loadtests als dat we normaal wekelijks doen tot wel vijf keer. We testen noodscenario's, wat als een datacenter helemaal stuk slaat. En dan gaan we ook gewoon echt live-shops compleet migreren naar een ander datacenter. Gewoon om te kijken, werkt alle tooling nog? Zijn alle draaiboeken nog up-to-date? Zijn mensen er bekend mee? Zodat ze weten in een stressvolle situatie dat ook goed te doen. En natuurlijk gewoon opschalen. Meer VM's, meer geheugen, meer alles. En natuurlijk in de weken wordt ook gewoon ierteam gevraagd. Ga nou geen grote features nog lopen, shippen in twee weken voor Black Friday. Dat bedoel ik met dingen niet doen. Ja, weet je al, A, om merchants' workflow niet opeens om te gooien op het laatste moment. Maar natuurlijk ook voor systeemstabiliteit. En dan echt in de week naar Black Friday toe. Dan moet je toestemming krijgen van het hoofd van jouw debattement. Dus dat is dan best wel iemand hoog in de boom. Die moet gewoon echt zeggen, die moet goedkeuring geven met van oké, deze fix moet echt ge-shipped worden. En anders als je niet goedkeuring krijgt, dan wacht je maar. Dat is wel een goeie wat je nou zegt. Want meestal hebben mensen het over van ja, je moet niet grote dingen shippen, omdat dan introduceren je bugs en bla, bla, bla. Maar het is natuurlijk dat als je zo'n sterke seasonality hebt, zoals Black Friday met de Shopify, dat je natuurlijk ook gewoon heel veel gebruikers hebt die bepaalde dingen gewend zijn en die voor zichzelf bepaalde ritmes en rituelen en systemen hebben opgezet, wat voor hen handig is. En dat als je dat opeens gaat veranderen, dat dan natuurlijk een hele systeem gewoon mentaal niet meer klopt. En dat is, om nog even terug te komen op die kernwaardevraag van jou Bernard, één daarvan is ook be merchant obsessed. Weet je wel, dat zijn onze klanten. Zij vertrouwen ons met hun business toe. Dus wat je ook doet, het moet altijd voor ten eerste voor de merchant goed zijn en daarna pas voor Shopify. Doe iets goed zodat we meer merchants krijgen en dan de tweede prioriteit is, dan kijken we ook nog eens een keer van hoe kunnen we daar centje aan verdienen zodat we dat geld dan weer terug kunnen voeren om meer mensen aan te nemen, om meer mooie dingen voor merchants te maken die dan weer in grotere talen naar ons toe komen en dan heb je zo'n mooi cirkeltje. Het oer-Hollandse klantenskoning verhaal eigenlijk. En is het dan ook in het belang van merchants dat jullie heel veel eindgebruikers trekken? Eindgebruikers als in meer merchants of meer klanten voor merchants? Klanten. Ja, een hot topic in e-commerce is conversion. Hoeveel mensen die op jouw website komen gaan ook daadwerkelijk over tot een productje in de wincommand. Nou, dat is al een begin, want dat lijkt op een koopintentie, maar dan die koopintentie zou het liefst ook natuurlijk zien omvormen in een daadwerkelijke verkoop. En daar houden we heel erg goed in de gaten We zijn altijd, is er een experiment of iets bezig met hoe kunnen we die conversie verbeteren? En een van die grootste conversieverbeteraars die in de afgelopen jaren wel in de opkomst zijn is de zogenaamde accelerated checkouts. Dan moet je denken aan Apple Pay en Google Pay, maar we hebben ook zelf ShopPay. En dat werkt dus dan, dan slaan wij jouw creditcard op en dat is dus dan niet afhankelijk van je merk Telefoon of de fabrikant van die Telefoon een deal geeft met jouw bank om je creditcard in je telefoon op te slaan. Ja, oké, dat is goed. Jij, ter eerste bij het bedrijf waar ik voor werk heb, dat is ook een e-commerce product. En daar is het altijd wel van, ja, nou, misschien een bruggetje naar het voordere onderwerp is privacy. Nou goed, er zijn een aantal dingetjes die we doen, dus AB testen en tracken van bepaald gedrag en dan kijken of je daar meer conversie door kunt halen. Alleen tegelijkertijd heb ik wel zoiets, en zeker bijvoorbeeld met AB testen. In Nederland, de schaal, ik heb altijd moeite met de schaal. Ik denk dat er heel veel shops in Nederland zijn die gewoon te weinig schaal hebben om daar zinnig iets over te kunnen zeggen. En hoe effectief is het dan nog? Nou goed, dan kun je statistisch allerlei modelen tegen haar gooien om daar wel iets over te kunnen zeggen, van ja, pas bij 100.000 bezoeken, dan pas heeft het zin om een conclusie te trekken bij een AB test. Maar ook het tracken zeg maar, dat is wel een soort van spanningveld met privacy. Dat is altijd wel een ding. En zeker de laatste tijd hier met corona, die corona hebben, zijn mensen toch bewust met privacy bezig. Ik vind het wel grappig dat je dat nu zegt, want ik kreeg laatst, van tijd tot tijd heb je van die Facebook berichten, die je klasgenoten van je middelbare school of je tante deelt, van ja, kijk dit en dat, en dan zul je zien dat ze alles bijhouden. Nou was er van de week weer een bericht, want Facebook heeft een redelijk nieuwe feature gereleased, dat je kunt kijken welke externe partijen data doorsturen naar Facebook, om targeted ads te doen en dat soort dingen. En dat kun je nu dus inzien. Dus je kunt zeggen van, hey, ik wil kijken wat er met mijn Facebook wordt gecheckt, en bij wie, en dan kun je die historie wisselen, of je kunt het zelfs uitzetten. Maar ja, nu wordt er dus een bericht verspreid van, ja, sinds begin april zijn ze alles aan het bijhouden, zet het nu stop. En dan denk ik ook zo van, ja, maar jongens, dit gebeurt al jaren bij iedereen. Het enige verschil is dat je het nu daadwerkelijk kan inzien, maar ze snappen niet dat dat gewoon bij iedereen gebeurt, weet je wel? Dan denk ik echt even van, hé, hoe kun je dit nou nog steeds niet weten? Hoe denk je dat je die advertenties krijgt? Ja, dat is best wel bijzonder, ja. Maar doen jullie daar iets mee, zeg maar, bij Shopify, zeg maar? Dat is ook een soort van, ja, dat spanningveld van, ja, hoe ver kun je gaan? Je kunt, kijk, technisch gezien en misschien academisch zelf, zou je kunnen zeggen, nou, ik wil alle data verzamelen, want dan kan ik gewoon heel gaave modellen maken en allerlei patroon herkennen. Maar ja, hoe ver, ja, wat nog ethisch verantwoordt, even heel populair gezegd. Hebben jullie het daar wel eens over, of is dat...? Nee, dat is zeker een ding. Kijk, met name de GDPR, daar denk ik iedereen wel echt op scherp mee gezet. Want toen was er opeens, ja, in een groot deel van de wereld opeens een noodzaak om echt dingen te doen. En mensen kunnen bijvoorbeeld apps op een store installeren. Dus ja, die kunnen ook data vergaren. En hoe ga je daar dan mee om? Nou ja, wij hebben voor onszelf maatregelen genomen. Als je bijvoorbeeld in ons data warehouse gaat over al die, waar alle data in komt, omdat we natuurlijk tientallen van die charts hebben. Ja, als je soms data wilt queryen of gedragen of patronen wilt zien over all of Shopify, kan dat niet meer. Dan moet dat in dat data warehouse. En dan komt ook weer tooling om de hoek zitten. Als ik dus een nieuwe tabel maak, dan gaat dat met een zogenaamde active record migration voor de mensen die reels hebben gedaan. En dan hebben wij tooling die dus dan al automatisch dat detecteert met van, hey, je maakt nu een nieuwe tabel aan met een migratie. Wordt er automatisch iemand van het privacy team gepinkt. En die hebben dan een apart repo waarin zij dan bijhouden met van, welke tabellen zitten er in, welke applicaties en welke van die colommen daarvan bevatten personal identifiable information. En daarin hebben zij dan weer automatische regels met van, nou, dit is een geboortedatum, dit is een telefoonnummer, dit is een dat. Met van, dat wordt dan al gescrubd voordat het überhaupt de data warehouse in gaat. Zodat ik dus niet, zeg maar, alle telefoonnummers van iedereen die ooit een Shopify-order heeft geplaatst kan opstofzuigen. En dan ook voor onze partners die die apps bouwen. Nou, hebben we gezegd van, hey, we hebben nu een privacy webhook die jij moet verwerken. Want voor dat jij je app op Shopify mag publiceren, is daar wel een overeenkomst. En dan van, nou ja, wij stellen dus op die manier jou op de hoogte dat iemand een verwijderverzoek heeft ingediend. En zodra wij die webhook aan jou sturen, dan ben jij dus nu ook GDPR technisch verantwoordelijk voor dat correct afhandelen. Dus daar proberen we zeker wel ethisch mee om te gaan. En vaak voor de dingen die wij testen, hebben we ook mensen hun individuele telefoonnummers helemaal niet nodig. Want wij gaan niet de klanten van onze merchants benaderen. Dat is eventueel aan de merchant zelf om daar contact mee te zoeken. Maar ja, dan moet de klant ook wel op tijdens het afrekenen een vinkje hebben gezet met van ik ga akkoord met dat ik benaderd word voor marketing technische doelwiden. Nou, heeft de merchant, mag dat e-mailadres sowieso wel verzamelen, omdat als er iets mis is met die order, moet de merchant wel contact moeten kunnen opnemen. Maar ja, dan moet de merchant zelf natuurlijk ook wel daar verantwoord mee omgaan en dat de vet uit hun CSW exportje de wens respecteren. Als mensen hebben gezegd nee, ik wil geen marketing ontvangen. Daar kunnen wij natuurlijk ook niet alles mee doen. En u had het net over bijvoorbeeld shoppay, wat jullie ook hebben. Daarbij slaan jullie creditcardgegevens op. Hoe gaan jullie daarmee te werken? Is dat hetzelfde als bij de banken? Hebben jullie daar een service voor of hoe werkt dat? Wij hebben onze eigen PCI-compliant infrastructuur. Want wij hebben niet alleen Shopify payments, ons eigen betaalproduct voor merchants, maar heel veel andere creditcard gateways waarin mensen hun creditcardgegevens invoeren op de checkout. De verwerking daarvan gebeurt helemaal in onze PCI-infrastructuur zodat de hoofd Shopify-app dus buiten PCI's koop blijft. Want als je ooit met PCI-compliant-apps hebt gewerkt, dan komt er een berg extra papierwerk bij kijken met welke data je wanneer mag opslaan, wie mag de code wijzigen, wie mag de code deployen, dat nog niet dezelfde personen zijn, etc. En de main Shopify-app kan gewoon iedereen deployen en die wordt continu ge-deployed. Als je al die eisen van PCI er bovenop zou leggen, dan zouden we lang niet zo snel kunnen shippen als dat we nu doen. Maar ja, om terug te komen op de Shopee-vraag, die creditcard-gegevens, als mensen hebben aangegeven, ja, ik wil graag dat Shopee mijn creditcard onthoudt om de volgende keer mijn betaal- en adresgegevens voorin te vullen, dan kan dat op die manier, die slaan we daarin op. En daar worden we ook jaarlijks op geaddit, dat dat allemaal netjes volgens de regels van de betaalindustrie gaat. Oké. En hoe gaan jullie daarbij om met verschillen tussen Europa en Noord-Amerika? Zijn die er? Nee, want de PCI-council is eigenlijk gewoon een Visa-mastercard en alle andere creditcard-bedrijven. Dat is een industrie-consorcium. En die zelf reguleert zich op die manier. Dus wereldwijd is daar, in ieder geval voor dit specifieke stukje, zit daar niet echt verschil in. Een creditcard opslaan is gewoon een gevoelig gegeven en dat is wereldwijd wel hetzelfde. Als je kijkt naar bijvoorbeeld betaalverwerking met echt passen in een winkel, dan zie je wel dat bijvoorbeeld Visa in Noord-Amerika en Visa in Europa soms dan andere eisen opleggen aan de certificering van hardware. Oké. Nou, we zijn best wel een eindje op weg. En we willen nog een onderwerp aakaarten. Dat ging over privacy en security. Dat sluit wel een beetje aan over wat we over gehad hebben. Security en privacy. Ik ben aan het echoen. Ik zie het al. Je staat zeker niet op mute in Skype. Ja, ik had Skype afgesloten. Ik weet niet eens waarom er in Windows een pop-up schermpje kwam. Je klonk een beetje als God in ieder geval. Oh, dat ga ik weer aanzetten. Maar het volgende onderwerp waar we aan wilden snijden is eigenlijk security en privacy en software ontwikkeling. Nou, dat heb je al een aantal dingetjes besproken, zeg maar, hoe het bij Shopify er aan toe gaat. Maar tegelijkertijd is in de actualiteit, zeg maar, rondom corona, of niet covid-19, zijn er in Nederland natuurlijk heel veel discussies geweest rond een corona-app. En vooral rondom of er een technische oplossing mogelijk is, die kan helpen bij het beter in kaart brengen waar corona zich verspreidt. Als je dat zo zegt, denk je, dat is een nobel streven, want wij als mensheid willen graag dat we overleven en misschien kan techniek daarbij helpen. Nou, mijn eigen gut feeling, los van... Ik ben er altijd van, in principe kun je overal een technische oplossing voor maken, maar is het wel wenselijk? Want er komen wat sociaal aspecten bij, privacy, kan het technisch überhaupt? Dus er is best wel wat mits en maren. Wat ik bijzonder vond, is dat er eigenlijk een soort van het idee ergens vandaan kwam, in Nederland in ieder geval, in buitenland misschien ook, dat er in een redelijk korte tijd een app ontwikkeld kan worden. Hebben jullie allemaal software ontwikkelingen gedaan? Dat doen jullie ook nog. En in mijn ogen snap je wel dat je niet in een paar weken tijd even zo'n app kunt in elkaar draaien. Ja, 4 mei of zo, geloof ik, zeiden ze, dat het in de strijgers moet staan. Ja, dat. Ik krijg vooral heel erg het gevoel dat de beleidsmakers die dit soort dingen moeten gaan aansturen, zo heel snel, dat die niet bequam genoeg zijn om bepaalde dingen te bepalen. Bijvoorbeeld dat dat dan... Nou, even een stapje terug nog. Volgens mij Bernard en misschien jij ook, Bart. Er is vaak een soort van, ja, een heel stuk geschreven over waar je aan moet voldoen. Er zijn best veel mensen, zeg maar, bij betrokken. Dus, volgens mij Bits of Freedom. En een hele zwik aan, ja, hoogleraren. Gewoon echt allerlei species. Die zijn echt wel geraadpleegd in dit verhaal. Dus dat vond ik op zich positief. Alleen toen daarna het proces was van, hey, dan moeten allerlei bedrijven die komen dan met een soort van een oplossing die open source aan moeten zijn. En die mogen ze dan gaan presenteren. En dat vond ik echt, ja, dat was gewoon een soort van muppetje. Ja, dat vond ik ook een heel raar proces. Dat was echt raar. Maar was het nou ook in Hackathon? Zijn er ook echt al dingen gemaakt? Of was het alleen maar een week lang pitchen? Want dat heb ik niet helemaal goed meegekregen hier. Volgens mij was het echt gewoon pitchen. Nou, er zijn ook dingen gemaakt. Want daar was dat lek uitgekomen. Weet je wel, dat is een of andere, een van die applicaties. Ja, daar zaten allerlei e-mail adressen in. Of een telefoonnummers volgens mij. E-mail adressen. Ja, ja. Misschien weet jij er meer van, Bernard. Nou ja, wat er is gebeurd, er is een inschrijving geweest. Dat was een hele haastige. Je moest voor dinsdagochtend tien uur iets in hebben gevuld. Daar hebben 600 partijen op gereageerd. Toen is er binnen 24 uur een selectie gemaakt van zeven partijen. Uit die 600. Ook heel snel. Waarbij niet alles goed is door kunnen gelezen worden. En er veel discussie was over die zeven overblijfers. Sommige mensen wilden dat niet. Hele goede partijen zijn afgevallen. En die zeven partijen mochten in het eerste weekend meedoen aan de Appleton. Waarin ze 48 uur hadden om iets te laten zien. En daarbij keek heel IT Nederland toe. Wat ze aan het maken waren. Naar de code en wat er op zondagmiddag was. En dat was droef. Er zaten veel security legs in de code. Wat schrijf je in de eerste 48 uur van je app? Er was een app die in de stijger stond. Waarschijnlijk was er wel bestaande code waar ze mee verder konden. Daar kwam dat lek ook uit. Het was gewoon e-mail adressen uit een vorige appje van klanten. Die hadden ze gewoon gekopieerd in het in de Git gezet en dat kon iedereen lezen. Dus dat was niet zo netjes. In Git ook echt nog? Ja, volgens mij wel. Iedereen kon die source ook bekijken. En daar stonden e-mail adressen. Ja, dat ging er inderdaad omdat er een soort database meegecommit was naar de Git. Nou, dat is al een heel goede start. Ja, maar goed. Dat is allemaal heel gehaast gegaan. Dat gaat dus ook niet iets worden. Die documenten waar Saber het net over had, die zijn allemaal geschreven volgens mij met in het achterhoofd van premissen van er kan een technisch oplossing gemaakt worden. Hoe maak je die? En weet je, daarbij is de vraag of de adaptatie wordt gehaald of het überhaupt gaat kunnen werken in een land als Nederland. Die vraag is daarbij overgeslagen. Dat kan je doen. Maar die documenten gingen ervan uit van we moeten iets maken wat Nederland wat aan heeft. Hoe doe je dat technisch gezien? En ik ben benieuwd naar Bart dat jij daarvan hebt gelezen, want Ik heb me vooral verdiept in die Apple en Google documentatie van dat framework dat zij hebben voorgesteld. Ik heb daarvan met Nerds op tafel Slack mijn versie van de analyse opgedumpt. Dat leek me wel een goede afweging tussen wat die app moet doen en toch een stukje privacy waarborgen. Als ik het even uit mijn hoofd herhaal, er wordt een unieke per device key gegeneerd. Daarvan wordt dan een dagelijkse key afgeleid. En van die dagelijkse key wordt dan weer een 15-minuten key afgeleid. Die dan ook een 15-minuten wisselt. En het idee is dat die afgeleide 15-minuten key die wordt dan over Bluetooth uitgestraald. En op een gegeven moment dan loop je met elkaar rond. Jouw device slaat dan die keys op. Die 15-minuten rollende keys die dan gezien zijn. En als jij dan als er op een gegeven moment iemand dan zegt van ja, ik ben nu ziek. Dan worden die dagelijkse keys van de afgelopen vier tot zeven dagen op een server gezet. En daarvan kunnen vervolgens dan andere devices die kunnen dan met die dagelijkse keys, kunnen zij dezelfde stap herhalen om tot dezelfde 15-minuten keys te komen. Want jouw device weet van oh, ik zag op tijds moment 120 zag ik een key. Oh, en ik heb nu een zwiknieuwe dagelijkse keys gekregen. Nou, dan doe ik dagelijkse key van een zieke persoon door het zelfde algoritme heen plus tijds moment 120. Is dat dan dezelfde key die ik toen ook heb gezien over Bluetooth? Zo ja, dan ben ik dus in Bluetooth contact geweest met iemand die ziek is geweest. Zo niet. Ga dan maar verder. En op die manier is er dus geen centrale server in het spel. Gebeurt er matching dus lokaal en omdat er dus die 2-staps raket is met dagelijkse keys en 15 minuten rollende keys. Op die manier dan de privacy waarborgen dat jij dus niet te trekken, dat je dus niet zo snel te trekken bent door bijvoorbeeld je buurman met van oh, wie is dat nou? Maar dat het dan ook uiteindelijk maximaal terug te herleiden is tot dagen en nooit jouw unieke device key, want die verlaat nooit de geheimde, de secure chip waar jouw Apple of Google Pay ook in zouden staan. Ja, precies, ja. Als je ooit het Google Authenticator algoritme hebt bestudeerd, TOTP, daar deed het me een beetje aan denken met die, met name die dagelijkse key tot 15 minuten key, want Google Authenticator genereert met tijdsblokjes van 30 seconden ook steeds nieuwe keys van een shared secret. Ja. Ja, ja, klopt. Ja, cool. Ja, dat, wat opviel zeg maar, bij het initiatief dat in Nederland gedaan werd, dat er nog geen Apple en Google, zeg maar, het initiatief van Apple en Google niet benoemd is tot nu toe, volgens mij nog niet. Ja, bij die zweefpartijen was er geloof ik een die daarmee wilde gaan werken, maar die oplossing is er nog niet, dus dat gaat sowieso niet snel kunnen. Nee, ik vraag me sowieso wat. Kijk, het begin, want dat is volgens mij die pep-pt, zeg maar, dat is die Pan-European Privacy Persistence Proximity Tracing, heel mooi, maar daar gaan ze ook gewoon van uit, van Bluetooth, terwijl juist dat Bluetooth-verhaal, daar heb ik ook al een beetje naar het hoofd in, want ja, hoe betrouwbaar is het? Want ja, stelden ze het, scant iemand je buurman, zeg maar, als die zeg maar aan de andere kant van de muur zit, of scant die app je buurman, ja, hoe kun je dat uitfilteren? Dat vind ik ook nog wel een ding. En ook wie heeft constant zijn Bluetooth aanstaan, vraag ik me ook een beetje af. Ja, best veel mensen volgens mij wel. Je weet nu zelf hoe goed Bluetooth is als je dat aan hebt, een Bluetooth-speaker. Bij iOS kan het niet voortdurend aanstaan op de achtergrond nog, maar dat zou Apple en Google wel zo gaan regelen, denk ik. Ja, nee, dat gaat Apple... Kijk, Apple kan dat natuurlijk wel doen. Je hebt volgens mij die low-energy Bluetooth, zeg maar, want dat is natuurlijk altijd de ding van als je meeltijd echt de volledige stack, zeg maar, aan hebt staan, die batterij is gewoon redelijk snel leeg. Dat moet je niet willen. Low-energy ook, dat zijn die eye beacons waar Microsoft of Apple heel tijd terug mee kwam. Die zijn daarop gebaseerd en die broadcasten ook de hele tijd gewoon een token. En op die manier kun je ook dan, als je er drie hebt, dan kun je, zeg maar, hoe heet dat, zo, drie groepen. Precies dat woord zag ik. Ik wilde het in het Nederlands en het Engels uit, maar dat ging niet. En dan kun je redelijk vast goed, en dan kun je bepalen waar iemand is. Binnen een gebouw bijvoorbeeld, dat was de theorie, maar daar hoor je ook niet heel veel meer van. En toevallig, ja, een artikel bij Tweaker, zeg maar, dat de uitvinder van Bluetooth, ja, dat wil niet zeggen dat hij dan de hele waarheid in pacht heeft, maar ik denk dat hij wel iets ergens verstand heeft van Bluetooth. Die zegt ook van ja, dat hele Bluetooth is gewoon niet naukeur genoeg om te gebruiken überhaupt in een Corona app. En dan kan tenzij er andere technologie naast Bluetooth gebruikt worden. Maar opzich, je hoeft toch ook niet helemaal precies de pinpointer waar iemand precies is geweest, zolang je maar die proximity kan hebben. Ja, maar die is ook al niet naukeurig. Dat is het hele ding ook volgens mij. En plus, ja, stel dat er tien personen tussen staan, ja, dan dat signaal neemt af, zeg maar. Dus dan denkt hij, als er niks tussen staat in bijvoorbeeld de line of sight, er zit niks tussen, dan meet je Bluetooth proximity anders dan dat er, zeg maar, vier, vijf personen tussen staan. Als jij en Johnny staat ertussen, dan krijg ik het virus ook niet, maar dan maak je Johnny zien. Nee, ja, dat is waar. Dat het Bluetooth signaal dan ook niet door Johnny op mijn telefoon heen komt is ook wel goed dan, toch? Ja, dat is waar. Ik denk wel dat je moet afvragen tot op welke hoogte je die naukeurigheid moet hebben of wilt hebben, of dat het gewoon meer gaat om een general van moet we nou letterlijk elke case coveren of willen we gewoon een veel beter beeld krijgen van wat de situatie is. En ik denk dat dit concept klinkt daar wel heel interessant voor. Ook al krijg je misschien niet dat perfecte naukeurigheid. Overheid ook een beetje pitcht. Zij willen eigenlijk met de app het werk van de GGD doen. Dus de GGD doet normaal gesproken het in kaart brengen van het ziektebeeld. Met wie ben jij in aanraking geweest? Wat is de mogelijke bron van jouw besmetting? En dat willen ze met deze app bereiken. Dat is eigenlijk het enige wat ik heb gehoord waarvoor ze die app willen. Maar ik heb die voorstellen niet gelezen en ook niet van de zeven bedrijven die uiteindelijk over zijn gebleven. Maar ik heb het idee dat die veel meer al willen doen dan alleen dat. Als je het echt alleen terugbrengt naar deze basis, of bluetooth daar dan een geschikte medium voor is, daar kun je zeker over discussiëren. Maar de basis van het kunnen traceren van mensen die mogelijker wijs in aanraking zijn geweest met iemand die ziek is, dat lijkt me op zich een nobel streven. En ik denk dat dat ook best in een korte tijdspan aanhaalbaar is, mits bluetooth daar dan een geschikt medium voor bevonden wordt. Ik vraag me ook af als je die discussie hebt gewoon van is bluetooth een geschikt medium vooral omdat het misschien niet zo super reliable is. Als je er van uit gaat dat nu de GGD dat allemaal handmatig doet en gewoon letterlijk naar mensen toe gaat en ze gaat interviewen om te vragen waar ze allemaal zijn geweest. Dus het doel moet natuurlijk ook gewoon zijn van het is een hele grote verbetering en het is allemaal geautomatiseerd. En dat je dan niet alles mee pakt, nou dat betekent niet dat je niet alsnog duizend procent nauwkeuriger bent dan en effectiever bent dan dat iemand gewoon persoonlijk mensen gaat interviewen bijvoorbeeld. Ja hoe nauwkeurig is dat ook? Het normale onderzoek van de GGD, hoe nauwkeurig kunnen we dat al bestempelen? Want ja, iemand die weet niet meer waar die precies is geweest. Nee, de éénste. Kijk, dus dat is natuurlijk dat heb je, stel dat we privacy helemaal vergeten zeg maar. Dus dat ja, los van hoe private kun je het maken en wat is wensen. Dan is het precies wat jij zegt hoor. Ja, hoe het nu gebeurt is dan ga je gewoon, je krijgt gewoon een interview van waar ben je geweest en wie heb je gesproken en dan ga je heit. Want dat is natuurlijk ook gebeurd toen het hier in Brabant uitbrak met Carnaval. Ja, wie heb je gesproken? Ja, leuk. Ga met Carnaval uitzoeken wie je allemaal gezien hebt. Ja, dat gaat gewoon niet goed. Dat is gewoon nauwkeurig. En zo'n app zou dan met Bluetooth en misschien zelfs ook wat jij zegt Pauline, als het niet zo nauwkeurig is, al veel beter dan wat mensen zelf kunnen vasthillen. Zeker als je bij feestjes bent geweest. Hoe kun jij überhaupt weten wie je allemaal gezien hebt? Het ene of het andere denk ik ook niet uit te sluiten, toch? Ik bedoel, zo'n contactapp, ik weet, wat is trouwens de nauwkeurigheid? Zou het te veel mensen registreren of te weinig mensen registreren? Dat is een hele goede. Te weinig lijkt me. Ik denk dat het veel gevaarlijker is. Nou ja, het gevaarlijker is te veel. Maar ik denk dat het te weinig zou. Want als je dat signaal, als je die proximity hebt, dan ben je sowieso al in de buurt. Je gaat niet die proximity vastleggen als je niet in de buurt bent. Het enige wat je kan hebben is dat je gewoon mensen mist. Ja, maar even, nou ga ik even totaal, want ik ben niet een Bluetooth goer, maar het gebeurt wel. Ik stel dat ik aan deze kant van, in mijn huis, hier zit, aan deze kant van die pik ik gewoon op. Dat gebeurt gewoon. Dus dat sommige Bluetooth device zijn gewoon sterker, die zenden sterker zijn signaal uit dan de andere. En dat kan misschien ook met telefoon zo zijn. Dat weet ik niet eens. Misschien is een telefoon sowieso een beperkt signaal en misschien de hele discussie slaat er nergens op. dat is ook een van de dingen die die Bluetooth uitvindragen is van ja, met de huidige specs en implementaties, is het niet nauwkeurig genoeg, zeg maar. Je kunt met obstakels en zendkracht van een device en een aantal andere variabelen, is dat zeg maar nu nog niet te bepalen hoe ver iets of iemand met een Bluetooth device is. Daar zijn ze wel mee bezig. Daar komt wel een spec, zeg maar, binnen Bluetooth waardoor ze wel op een meten nauwkeurig kunnen bepalen hoe dichtbij een ander device is. Maar op dit moment niet. Dus dat is even technisch, maar precies wat jullie zeggen. Misschien is het goed genoeg, voor jou. Ja, wat ik een beetje mis in deze discussie is van het wordt een beetje tenminste, dat krijg ik mee op afstand correct me if I'm wrong is met van deze app moet of de hele tracing problematiek in een keer oplossen of helemaal niet. En waar ik een beetje dan denk van, maar wat is de middenweg? Ik weet bijvoorbeeld hier, toen het net begon uit te breken, hebben er een aantal mensen hier de metro genomen. En de metro hier in Montreal is een van de de drukste openbare vervoersystemen in Noord-Amerika. Dus het was meteen van, als jij op die lijn, op dat tijdstip, van die tijdstip in de metro hebt gezeten, neem dan alsjeblieft contact op, want er was een zieke persoon. Maar ja, weet je, mensen checken dat misschien niet of die weten in exacte tijden niet meer dat ze er waren. En dan denk ik wel van, nou dan zou misschien een geautomatiseerde oplossing een het handmatige werk met dat onderzoek. Om misschien nog net even een paar extra cases te pakken die anders misschien onder de radar door zouden vliegen. En dan heb je misschien net, net zoals die 31ste patiënt in Korea was geloof ik. Nou ja, als je dan misschien net die 31ste patiënt dan toch wel te pakken kan krijgen, en dat die dus niet een compleet nieuwe cluster aan besmettingen veroorzaakt, is het misschien toch nog effectief, ondanks de technologische beperkingen. Dan heb je het alleen nog over de maatschappelijke wensbaarheid van het geel. Maar met dat met dat metroverhaal heb je precies hetzelfde probleem als we net zeiden van die, van dat je misschien iemand die aan de andere kant van de straat loopt oppikt ofzo, met het metrobericht, als je zegt van ja was je op die lijn om die tijd, ja misschien zat ik wel een heel andere wagon weet je wel, er zitten honderden mensen op één metro en daar heb je het ook niet. Dus ik denk ook niet dat het het hoeft niet slechter te zijn dan wat je nu hebt. Het is heel makkelijk beter te doen zeg maar met de technische middelen. Dus dat is wel zo. Ook al is het niet meteen perfect. Klopt ja, alleen wat er dan tegelijk meteen in en dat vind ik daarom ik ben geen, ik heb al een mening over privacy en een mening over technologie bla bla bla, maar ik weet niet genoeg dat we vanuit de privacy hoek zoals mensen, nou noem even bits of freedom of andere die ze zeggen ja nee, maar dit kan niet privacy, eng, eng, eng aan de andere kant, je moet echt een afweging, je kunt niet, er is geen samenleving die perfect alles, dat je perfect houdt aan privacy en dat is ook niet de eentje waar alles openbaar is, dat is het niet. Dus er zit altijd ergens in de midden een balans en dat is bij dit ook zeg maar. Dus ja, misschien is dat ook wat jij bedoelde Bart, van ja je hoeft niet de hele app in een keer af te schieten of het ontwerp maar wat zijn hun concerns precies met dit voorstel dan, want wat ik van Bart uitleggen net heb begrepen met weet je, die identifiers worden gegeneerd zonder server, dat wordt gewoon lokaal gedaan, het wordt via bluetooth wordt die proximity vastgelegd, de rest wordt gewoon niet gepersist, nergens weet je wel, dan vraag ik me toch af van wat zijn dan precies de privacy concerns van zo'n voorstel? Dit is zeg maar de Google Apple initiatief volgens mij van die PEP, PT heb je de mogelijkheid om een centrale database te hebben en een decentrale database je wilt het liefst een decentrale database, maar blijkbaar gaat het dataverkeer omhoog, want je moet meer data uitwisselen en kijk de discussie is redelijk complex, want een aantal mensen hebben een wantrouwen richting de overheid dat noemen we team Snowden ja, wacht even, ze gaan veel meer opslagen en ze gaan er dingen mee doen die de functie gaat veranderen. Fair enough, dat snap ik maar in dit geval is dat niet eens mogelijk toch, als je het op deze manier aanvalt? Als ik, Bart, dus met de Google Apple implementatie, ja dan is dat, denk ik, niet mogelijk, want die werkt tegen centraal. Je hebt daar natuurlijk wel de keys van mensen die besmet zijn, die worden verspreid van uit de centraal punt. Die keys kan je opvangen en noteren en vergelijken met welke keys je vrienden hebben gekregen. En op die manier kan je misschien bedenken wie dan diegene persoon was die besmet is geweest. Stel je was op een feest ofzo? Ja, ja, precies. Dus er zijn allerlei scenarios te bedenken. Je kan met een hele meute door de stad gaan en kijken welke besmette keys drie dagen later krijgt en dan terug gaan beredeneren wie er dan ziek was. Ja, dat wil je misschien niet. Maar weten gebruikers überhaupt hun eigen keys van een bepaald moment? Want volgens mij is dat toch niet? Volgens mij is het zo. Je krijgt wel keys van besmettingen door. Ja, maar niet je eigen keys. Dus die kun je niet vergelijken met die van je vrienden bijvoorbeeld. Die krijgen diezelfde keys door natuurlijk. Dezelfde mensen zijn besmet. Ja, oké. Maar die API is... Ja, goed. En gaat jouw appje af, dan heb je hem gezien. En gaat het appje van je vriend af, heeft ook gezien. Ja, oké. Dus dan kan je terug gaan delineeren. En dan is er één persoon op het feestje die niet die key heeft binnengekregen of iets dagelijks. Ja, oké. Je kan... Goed, dat is... Ik weet niet hoe erg dat is, want als je helemaal niet op privacy let, ja, dan kan je gewoon alle mobile provider data gaan gebruiken. Dan hebben die bloed dat helemaal niet nodig. Want die data is er ook. Maar daar wordt angstvallig van weggebleven. En ja, dat snap ik wel. Maar die data is er. En überhaupt, het is volgens mij allemaal opt-in ook nog. Dus op het moment dat jij besluit om mee te gaan doen met dat programma, ja, dan heb ik ook wel zoiets van ja, dan moet je ook wel bereid zijn om even te gaan kijken van welk stukje privacy geef ik dan op? En heb ik daar dan zin in? En ja, dan kun je die afweging zelf maken. Het is natuurlijk ook niet zo dat als dit uitgerold wordt dat ineens iedereen in Nederland zijn bluetooth keys worden gescand en opgeslagen. Dus ik vind het een lastige discussie, zeker vanuit alle hoeken. Persoonlijk heb ik wel zoiets van als ik voor zo'n werk dit design heb bestudeerd en eroverna heb gedacht, denk ik wel van nou, dit lijkt in ieder geval een oprechte effort te zijn gemaakt om niet de eindeloos data te gaan graaien. En dan als je dan dit afzet bijvoorbeeld met het data graaien van wat bijvoorbeeld een Facebook doet en waar mensen dan ook vrijwillig nog eens een keer allerlei apps aankoppelen voor Candy Crush, Cambridge Analytica en god mal weten wat, dan denk ik wel met van nou, daar hebben mensen kennelijk geen probleem mee, maar waar dan zeg maar hier een afweging geprobeerd te maken tussen privacy en nut voor de samenleving liggen mensen dan weer, ja, op een achterste benenval. Komt echt door de overheid, door dat wantrouwen in de overheid. Maar inderdaad, het is eigenlijk heel krom als je bedenkt dat zo'n Candy Crush die zit daarachter, die zijn echt niet meer betrouwbaar. Maar goed, dan gaan we ook weer de kant op van hoeveel hoe ziek veel QAnon berichten en zo, er worden gedeeld in conspiracy theories en zo, dat ik echt denk van jezus, het wordt zo mainstream dat wantrouwen en tot zo'n belachelijk niveau ook getrilled, dat ik echt denk van Kijk, wat jullie ook zeggen volgens mij, de overheid hoe ze het nu doen, dat heeft niet geholpen. Dus er ontstaat juist wantrouwen door de aanpak die ze nu hebben genomen. Dat is best wel lastig, want ze zeggen ook van ja, we willen eigenlijk kijken of wat is het, 60 procent of zo? 60, ja. Dat gaat zo nooit meer lukken. Ook al was het gelukt, wat ik niet denk. Het gaat echt niet meer. Nu nog 60 procent van de Nederlanders. Dus niet eens van mensen met een mobieltje. Die gaan het echt nooit meer aanzetten. Dat is een beetje het lastige. Dus in die zin, het is los van technisch en privacy-technisch. Ik denk ook, even mijn gut feeling nogmaals, het is niet heel erg goed onderbouwd, ik denk van oké, dit valt wel mee. En ik denk zeker dat Apple en Google van hierin zeggen van ja, maar Google alles graaien en Apple denkt van ja, luister, het is heel makkelijk te herleiden, waar het al vandaan komt en waar het fout gaat. Dit hebben ze niet geheim ergens ontwikkeld en alle andere APIs die ze op de achtergrond hebben die gebruikt worden. En heten maar van yes, dat elke security researcher hier met een vergrootglas overheen gaat zodra het uitkomt. Dus in die zin, we zijn nu zeker met z'n allebei, terwijl juist met Facebook allerlei dingen gebeuren en zeker ook de privacy deskundigen hebben zeker vragen en zijn heel niet positief over Facebook, dat is zeker zo. Maar de grootste groep mensen is die van ja, I don't care. Ja, dat bericht wat ik net deelde van dat er nu juist een feature is om het transparanter te maken en dat mensen nu in een keer gaan stijgen. Van oh, ze checken alles. Ja, dit wisten we al. Maar jullie vonden het niet erg. Dus dat is in één kant best wel jammer dat het komen veroorzaken dat die app, zeg maar, nooit van de grond af komt. Concluderen we dan dus eigenlijk dat het gewoon nooit goed kan gaan nu, meer? Ik denk niet dat het... Nee. Ik denk dat als het als hetgene wat Apple en Google nu maken als dat goed klaar is, dan zijn we klaar voor de volgende pandemie. Ja, hoezo? Ja, dat kan geen kwaad. Dat is wel waar, ja. Dat is waar. Ik vroeg hem ook af hoeveel spin heeft het nu nog? Dat ben ik wel benieuwd hoe jullie erover denken, want stap 1 van Apple en Google is een framework in het OS aanbieden. En dan zeker met Apple om de standaardbeperkingen van energiebesparing in iOS heen te werken. En een toegang tot bepaalde diepere dingen van Bluetooth. Maar stap 2 was dat ze echt de app functionaliteit bovenop dat framework ook meeleveren in het OS. Nu zou bijvoorbeeld een van de Appathon ontwikkelaars, dus dan op dat framework kunnen bouwen en dan dagelijks alle key, tracing key uitwisselingen dan nog in Nederlands beheer kunnen houden. Maar zodalig zou dat dan allemaal via Apple of Google kunnen gaan lopen, moeten gaan lopen. Ik weet niet precies wat hun plan daar is. Maar dan zou ik nog eigenlijk liever nog een Appathon ronde 2 hebben, dat het dan in ieder geval in nog een lokaler beheer wordt gehouden dan dat je wederom weer dat stukje nog naar een Amerikaans techbedrijf toe hoeft plaats te hebben. Dat had ik nog niet eens over nagedacht. Misschien hadden we dit gewoon al moeten doen voor dit hele gebeuren, want ze wisten best wel dat er ooit een pandemie aan ging komen en dan gaan ze nu... Ze zijn gewoon te laat. Ze zijn er gewoon te laat mee. Maar waarom zou je dit in elk land doen? En niet gewoon in Europa? Ja, dat snap ik ook niet helemaal, maar zijn ook al die partijen die hebben gepitcht, moeten die per se van Nederlandse bodem zijn? Dat snap ik ook niet helemaal. Dat niet per se volgens mij. Dat voelt wel goed voor de gekkies. Ja, maar goed, bij Duitsland hebben we een initiatie waarschijnlijk België. Dus er zijn een aantal initiatieven in Europa en die zijn allemaal op landniveau en niet per se Europees. Ja, terwijl dat slaat nergens op als je het hebt over een pandemie. Nee, oké, maar die PEP, die PEP-PT, die is echt wel Europees. Dat initiatief alleen, ik heb nog niet overal gehoord dat wij in Nederland deze implementatie of ontwerp dat we die overnemen. Dat zou best wel kunnen. Ik denk wel dat het juist logisch is vanuit een pandemie. Want iedereen is bang. En Lizardbrain zegt dit is eng en dan heb ik liever mijn stan dan die vreemde Duitser of die rare Amerikaan. Maar wat ik wel gewoon heel erg apart vind is dat we gewoon met z'n allen al wisten al gaat het om influenza het komt er een keer aan en al die overheden wisten dat al lang en vervolgens gaan ze nu pas denken over een manier om dat efficiënter in kaart te brengen als het gebeurt. Tegen de tijd dat er echt iets nuttigs is gebouwd, hebben we dat vastzijn waarschijnlijk al want dan zijn we een jaar verder. Dat heb je niet in mij in de steiger staan. Het moet gebouwd worden, het moet getest worden Als je blij bent augustus als je een versie hebt dan is het dan nog nodig of niet dat is gewoon niet realistisch, ze hadden het ervan tevoren moeten doen alleen ik geloof er niks van dat ze dan in Europa de hand op elkaar kregen want niemand geloofde dat dit zo naar ons kon komen in het begin toen we nog hoorden, wat was het, in december, begin januari dat het in China was, werd er gewoon hier in Europa heel luchtig over gedaan ver van ons bedjo, daar gaat echt niks gebeuren dat komt denk ik ook door SARS die tijd en MERS volgens mij dat er hier ook vragen werden gesteld bij mijn huisarts werden er vragen gesteld ben je in de afgelopen twee weken in contact geweest met dromedaris? waar slaat dit nou voor op? nu snap ik het het zijn gekke tijden een vriendin van mij die was in februari in Singapore op vakantie en daar was het al inderdaad van overal checkpoints met hittemetingen en als je er iets te warm uit zag dan was het meteen waar ben je geweest, met wie ben je in contact geweest, dit en dat en overal die hebben de les al geleerd inderdaad met een SARS en een MERS die hittemetingen, die vond ik zo slim want het is zo'n kost-efficiënte manier om iedereen een soort van bazaal te screenen ik vond het zo'n geniaal idee volgens mij wordt het op Schiphol nog steeds niet gedaan iedereen kan gewoon binnenkomen ben je in contact geweest, nee heb je een hoesje, nee, oké het was ook mensen die uit Amerika terugkwamen die moesten beloven dat ze dan twee weken lang thuis zouden blijven dat is echt wel goed, dat is weer Nederland kom op, laten we dat niet naïef doen gewoon opsluiten, ik wil niet dat mensen opgesloten worden, maar zorg dat ze dan in quarantaine komen 20 tellen die hitte laser erop dan heb je toch je hebt mooie blauwe ogen daar wil ik je best op geloven, maar toch even mee tevrienden dat zou je ook zeggen, ja dat vond ik ook zo vreemd nu had Rutte natuurlijk heel erg gepraise ik snap echt een aantal dingen ik ben geen Rutte fan ofzo een aantal dingen snap ik echt wel ik vind nog steeds dat wij 2-3 weken te laat hebben geacteerd maar dat is mijn mening en deze hele IT shitfest, je ziet het gewoon aankomen als je de gemiddelde software ontwikkelaar vraagt dan weet je gewoon, ja dit gaat gewoon mis ook met die e-mail adres of telefoonnummers die in die github staan iedereen zal zeggen, wat een sukkel is die ontwikkelaar maar die staat natuurlijk onder zware druk je moet dat ding morgen neerzetten dan ben je up, git push klaar en oh shit telefoon of weet ik veel hoeveel duizend man nee maar sorry nee sorry, ik ga geen slack geven voor dat man nee maar ik wilde het zeggen, je moet gewoon je mag echt klantgegevens in je persoonlijke ontwikkeloomgeving is vraag om het probleem dat is het zeker alleen hij heeft het in een bepaalde context is het gebeurd het is misschien overmoedig geweest weet ik veel hij wordt nu helemaal het is een eikel zeker heeft hij een fout gemaakt maar ik zou nu zeker niet in zijn schoenen willen staan ik denk niet dat dat helemaal maar ook al het feit dat je zegt het was nog van een oude app dus een deel van een andere app dat betekent dus dat hij je daar ook al een keer had meegecommit zonder al die druk dus dat is gewoon gelul Wouter Dijks, Kishen Simbhoedatpanday, Pauline Vos, Wouter Dijks, Bernard Kroes, Johnny Dongelmans. Wouter Dijks, Kishen Simbhoedatpanday. Wouter Dijks, Kishen Simbhoedatpanday. Wouter Dijks, Kishen Simbhoedatpanday. Wouter Dijks, Kishen Simbhoedatpanday. Ja, te beginnen met de Lead Dev, want dat is echt een van mijn favoriete conferenties. Sowieso is het gewoon echt een hele goede conferentie die je focust op lead devs. Maar er is heel veel over hoe je een bepaald team opbouwt. Maar ze hebben ook wat meer technische dingen. Het is in ieder geval echt heel goede kwaliteit. Het is een single track conferentie. De talks zijn supergoede kwaliteit. Die is al wel geweest, maar je kunt alles nog nakijken. Dus die hebben we sowieso. Was die betaald of niet? Want er zijn een aantal... Sommigen zijn het alsnog betaald, maar dan veel goedkoper. Ja, nee, deze was gratis. Normaal is die vrij prijzig. Maar nu was het gratis. Verder hebben we Go Remote Fest. Die ken ik zelf niet, maar een vriend van een collega van mij die organiseert die. Dat is een Go Lang festival conferentie. Die is ook gratis. Binnenkort heb je Dutch PHP, die normaal altijd in juni in de rij is. Dat is nu omgevormd tot een gratis single track ding. Ga je spreken? Nee, ik ga niet spreken, maar er zijn wel een paar bekende Nederlandse PHP gezichten. Ik geloof dat er in totaal is van vijf of zes sprekers zijn. Daar heb je nog een PHP-conferentie. Dat is PHP Russia. Die wordt ook gratis en online. En Nicolas Grecos van Symphony. Dat is een van de main gasten van Symphony. Die spreek daar onder andere. Verder, ik raad hem maar door als er iemand iets heeft. Oké. Lerken EU's ga je gratis hebben. EuroPython heb je ook. Even kijken. Er is er dus eentje die ik heb doorgekregen waar wel een entry fee voor is om de productiekosten te coveren. Nou weet ik niet of je dan alsnog sponsors erbij hebt. Maar ik neem aan dat die 30 euro echt gewoon voor de productie is. En dat die sponsors dan komen tegevallen. En dat is React Finland. Maar dat runnt niet als een een-daagse conferentie. Maar als een soort van web-serie. Oké. Ja, cool. Want volgens mij was een week geleden was React Amsterdam. Was ook. Dat ben ik twee keer eerder geweest. Ik ben toen afgehakt want de eerste keer vond ik echt goed. De tweede keer was wat minder. Maar goed, dat is maar wat mij aanspreekt. Maar de line-up vond ik wat minder. Heel positief. Er komen echt superveel mensen op af. De eerste keer dat ik er kwam dacht ik van wow, hoe kun je zo veel React developers bij elkaar komen? Maar best wel heel veel internationale mensen komen er op af. En die is al geweest. En die kun je volgens mij weer terugkijken. React Amsterdam. Dus dat is best wel. Maar het is ook weer zo'n lightweight. Dus er zijn, weet ik, normaal gesproken 20 sprekers ofzo. Zoiets. En dan, ja, de nieuwwaardheid is een stuk minder. Dus dat is dan wel weer. Ja, ik vind het ook een beetje meh eigenlijk hoor. Die online conferenties tenminste. Op de manier waarop het nu vaak wordt voor. Het is natuurlijk allemaal in prompt toe. Ja, klopt. Maar toch, ik vind het hele single track en dan vijf talks verhaal, vind ik een beetje. Ik vind het eigenlijk nog meer. Ja, als je zelf een beetje in het conferentie circuit zit, dan wordt het al heel snel. Vooral een pvp-wereld. Ik weet niet of dat met andere conferenties ook zo is hoor. Maar heel erg buddy-buddy en een klein groepje sprekers die elkaar heel erg kent. En dan is het nog meer van, oh, we hebben vijf sprekers nodig voor de online versie. En uiteindelijk zijn het vaak degenen die gewoon het graagste hun eigen stemmen horen. Maar hoe zit het bij Ruby? Hebben jullie nog conferenties die jullie kennen die gratis zijn of niet gratis, maar virtueel? RailsConf komt eraan, mei vijf. En die zou in Portland zijn, Oregon. Maar dat is natuurlijk ook afgezegd en die hebben nu een deel van hun sprekers die de presentaties op laten nemen. En die worden live gezet op 5 mei. Dat is RailsConf, ja. U begon eerst met mei vijf en daardoor vroeg ik me eigenlijk meteen af hoe lang je al in Canada zit. Zo, ja. Oeps, betrapt. Op mei vijf. Op mei vijf, ja. Scherp. En ja, ik wilde, lead dev wil ik ook graag onderstrepen. Ik ben vorig jaar nog naar de versie in Austin geweest. En ik ben zelf namelijk, nou, ik ben nu al een tijdje een senior developer en ik ben nu in, ja, management een beetje mijn grote teen aan het steken. Ik heb nu twee direct reports en we hebben het al over een derde persoon aan gaan nemen op mijn team. Dus ja, weet je, zoals de saying goes, van een senior developer naar een junior manager. Zeker wel even wennen af en toe. En nou, de lead dev vond ik daarom heel interessant. En ik zou ook dan daar een paar boekjes aan vast willen plakken die ik tot nu toe vrij nuttig vond. De eerste is The Manager's Path van Camille Fournier. Dus eigenlijk een vrij gloopbalen over, ja, Johnny heeft hem daar al inderdaad vast, want ik heb hem hem ook aangeraden. Oh, dan zet jij hem maar in de show notes, want dan ga ik hem niet in Google. Ik denk dat dat sowieso is voor iedereen waar je ook bent op je carrièrepad, ook al ben je, zeg maar, net begonnen als developer, dat dat er gewoon een goede is, want dat geeft je een veel beter beeld van wat je baas nou doet en je baasbaas en de baas van je baas van je baas. En dan snap je een beetje beter waar alle onderdeeltjes in de organisatie je nou een beetje mee bezig zijn. Ook zou ik graag willen aanraden Resilient Management van Lara Hogan. En nou is Lara Hogan ook een van de organisators van de LeadDev. Dus mocht je nog eens een keer naar de LeadDev conferentie zelf gaan, heb je goede kans dat je een handtekening van haar kan krijgen in je boek. Resilient Management van Lara Hogan. En dat is zeker, moet ik zeggen, dat beetje beginnende onderwerpen zoals nou omgaan met verschillende persoonlijkheden. Wat is jouw stijl van leiderschap? Dat soort dingen vond ik een goede primer. En waar het eigenlijk nu een beetje up next voor mij is, maar die ook heel erg hoog werd aangeraden was An Elegant Puzzle, Systems of Engineering Management door Will Larsen. En Will Larsen, dat is iemand die bij Stripe, als ik het goed heb, ja, bij Stripe heeft gewerkt en het boek is ook uitgegeven door Stripe Press. En die heeft al aardig wat jarenervaring. En dit is ook een veel dikker boek. Maar dan heb ik gezegd, daar ben ik net in begonnen. Dus hij werd goed aangeraden, maar ik heb mezelf nog niet uit. Dus ik kan nog niet helemaal zelf zeggen wat ik ervan vind. Goede tips, goede tips. Ja, zeker. Ja, ik kan inderdaad die, ja, ik liet hem dus net al zien. Dat heeft niet zoveel nut in een podcast, maar inderdaad de Manager's Path was echt een enorme eye-opener. Dat is een enorm leuk boek om doorheen te bladeren. En ook om, als je hem gelezen hebt en ja, om je manager misschien soms een beetje uit te dagen. Dus dat je gewoon iets kan zeggen van hey, manager, ik heb dit boek gelezen. Daar worden een aantal dingen ingegeven. Dat lijkt mij wel wat. Kunnen we daar misschien samen wat over gaan gaan sparen? Dus ook inderdaad niet alleen voor managers, maar ook voor developers zelf, junior, middier, senior. Ik denk dat het een hele hoop handige dingen is. Dat is wel leuk. Ja, dat is zeker een goed punt, want je bent zelf ook wel verantwoordelijk wat je uit je carrière haalt. En als je een goede lead hebt, daagt die jou uit. Maar dat kan ook zeker andersom werken. Als jij merkt van nou, ik krijg te weinig feedback. Ik weet nou niet of ik nou wel de juiste kant op aan het groeien ben. Ja, precies. Dat is iets wat ik zelf, nou, ik denk eigenlijk pas bij Shopify echt ben gaan leren om dat te gaan doen. En achteraf denk ik wel van nou, als ik dat nou al drie jaar eerder in mijn carrière had gedaan, waren er zeker misschien wel een paar dingen anders gegaan, sneller geleerd of misschien wat pijnlijke blunders bespaard. Ja, dat spelspelen of ja, hoe zeg je dat? Ja, nou ja, wel. Dat leren wij volgens mij en dat wordt minder. En volgens mij ook in Amerika heb ik dat meer op beeld van Amerika. In Amerika wordt echt gezegd van ja, I report to, ik rapporteer aan. Dus een soort van jouw jarchie, zeg maar, ontleen je aan, zeg maar ja, waar je dan staat in de jarchie. Dus dat is wel handig om dan te weten, hoe moet ik nu binnen de organisatie, zeg maar, bewegen? Oké. Hebben anderen nog boekentips? Toevallig. Ben je klaar? Want ik weet niet zeker of je... Nou, ik heb hier nog heel veel meer boeken, want Shopify heeft een boekenbar en daar kun je gewoon boeken uit. Ja, dat is echt nice. Als je hem leuk vindt, mag je hem houden. En als je hem stom vindt, zet je hem terug. Maar ik heb, nou, als mijn internet nu zou uitvallen, dan heb ik de komende maanden nog wel aan leesvoer gelopen. Ja, ik moet weer leren lezen. Ik heb een boek besteld. Ik heb, ja, bij chips. Maar ja, dat zijn van die boeken die dan nog geschreven worden. Die kun je al kopen vroegtijdig en dan heb je hem heel snel en wat goedkoper. Maar het gaat over microservices in .net, maar dat is meer een praktijkding. Nou, dit zal ik wel toevoegen. En ik had nog een microservices fysiek boek. Dat is echt voor mij best uniek van de laatste, sinds het laatste jaar, vier jaar. Ik lees pijnig, maar ik dacht, nou, laat ik maar weer eens proberen. Want vorige keer had ik die discussie erover van, ja, leesboeken. En ik lees eigenlijk nooit meer boeken, want ik heb de rust er niet meer voor, maar ik ga het weer proberen op te pakken. Dus bedankt voor de tips. In ieder geval voor mezelf dan. Ja. Bernard, wat heb jij je boekentips? Ja, ik had ook de RailsConf gevonden. Die zal ik niet tippen. Ik heb wel een nieuwsbrief die ik volg. Dat is van een schrijver. Die heet Robin Sloan en die is pas begonnen om een spel te maken. En daar schrijft hij wekelijks over wat die week heeft gedaan. Dus die zal ik even doorpiepen. Dat is Paralls of the Overworld. Game Development Diary. Dus die ga ik in de show notes toevoegen. Waar wordt die in gemaakt? Neo Cap. Dat heeft hij gemaakt. Even kijken. Nee, dat is een spelletje. Even kijken waar hij het mee schrijft. Oh, ik dacht dat het Paralls of the Blablabla dat was de titel van het spel. Zo heet het spel, ja. Maar hij heeft een ander spel geschreven. Hier staat de link. Hij is bezig met kaarten ontwikkelen en met geluidjes en vondjes nog. En dat wordt steeds uitgebreid elke week. Het is best leuk om te volgen. Dat is wel grappig, want ik zit nu op twee slacks. Onder de slack van CodeKlets en hiervan met Nus Op Tafel. Bij Bachter is er zit ik op Nus Op Tafel. En die man, dat is een schrijver die veel bekende boeken geschreven. En hij doet dus ook aan games. Dus hij heeft leuk om te lezen. Ja, oké. Goede tip. Ja, we wilden nog andere dingen bespreken. Want we zitten al best wel aan de tijd. Dus die heb ik toch weer bijna twee uur. Ik wilde het op anderhalf uur houden, maar dat lukt dus niet. Maar het is CodeKlets, toch? En niet een codepraatje. Nee, daarom. Dat is volgens mij wel lekker weggekletst. Ja, daarom. Nee, dat weet ik. Ik vind het heel leuk. Ik ben volgens mij... Ja, ik wil niet op het Trump-level zeggen dat ik narcisme heb. Maar ik vind het gek genoeg heel leuk om mijn eigen podcast terug te luisteren. Dus als ik wap zit, blijf ik gewoon luisteren. Ik weet niet of dat iets ziekelijk is. Maar ja, ik vind het leuk om te horen. Dus dat zal... Ja, ik weet niet. Ik weet niet waar dat ligt. Dus vandaar. Dus het is niet gek. Twee uur lang kan ik gewoon luisteren. Ik weet ook wel dat een aantal mensen zegt dat een uur of een half uur is genoeg. Maar ja, dan kun je eigenlijk niet lang genoeg over een onderwerp doorpraten. Ja, dat is narcisme. Ik denk dat ik dan president van Nederland minister-president wil worden. En dan mogen jullie allemaal gloor gaan drinken. Even kijken. Ja, ik heb verder niks. Geen ander onderwerp die ik eventueel nog wil bespreken. Tenzij jullie nog je dingen hebben. Nee, geen onderwerp. Maar ik heb nog wel een klein tipje. Een heel klein, grappig tipje voor als je zavons verveelt. CodeBullet op YouTube. Dat is een gozer volgens mij uit Australië of iets dergelijks. En die lost alle problemen van de wereld op in games met AI. Een van de meest grappige filmpjes is AI Learns to Walk. Dus aan de hand van Watooling heeft die een AI geschreven die vervolgens met natuurlijke selectie eigenlijk gaat proberen te lopen. Zijn commentaar daarbij is vrij hilarisch met een hoop selfspot. Dat bezorgt me elke keer toch weer een heel harde bulder lach achter mijn eigen computer. CodeBullet op YouTube. Cool, dat gaan we ook in de show nog zo nemen. Nou goed, ik ga hem afronden. Ja, ga vooral, als je dit leuk vond, gaan we ons abonneren sowieso. Als je dat dan nog iets hebt gedaan. Ga naar codeklets.nl daar kun je sowieso alle informatie zien hoe je kunt abonneren. In je favoriete podcast applicatie kun je gewoon bezoeken op CodeKlets en dan staan we meestal, maar eigenlijk in alle belangrijke apps staan we gewoon in. Je kunt ons volgen via Twitter, apps uit je CodeKlets en Instagram. Ik denk dat ik daar nog wat een foto plaats van hoe je hier aan het podcasten bent. Dat is op zich best een bijzondere manier. En ja, vertel het door. Geef even door aan je vriendjes en vriendinnetjes. En kom bij ons slacken. En dat kun je op via codeklets.nl doen. En dat was hem. Dankjewel weer. Dankjewel Bart. Ik wens je heel veel succes bij Shopify. Ik hoop dat we je nog ooit een keer in het echt mogen ontmoeten. Ja, wanneer dat zal zijn, dat is een beetje moeilijk te voorspellen met dit hele dingetje. Maar het lijkt me wel leuk. Ja. Ja, cool. Nou, later. Oké, later. Hoi hoi.