S03·003Tips, tips en nog meer tips
Een aflevering met het voltallige CodeKlets team, boordevol met tips, tips en nog eens tips!
Een aflevering met het voltallige CodeKlets team, boordevol met tips, tips en nog eens tips!
- Hoe je als junior developer snel leert groeien
- Wat ownership en borrowing in Rust inhoudt
- Hoe je API keys uit je Git-geschiedenis verwijdert
- Wat Project Solid voor gedecentraliseerde data inhoudt
- Hoe je kiest tussen Git branching strategies
Nog nooit eerder is het voorgekomen dat alle zes hosts tegelijk in een aflevering van CodeKlets zaten. Maar de sterren waren blijkbaar goed uitgelijnd, dat belooft dus wat. Het is een aflevering geworden vol met leuke tips. Zeker de moeite van luisteren waard!
- 01What Are the Best Git Branching Strategies
- 02Rustlings
- 03Jetbrains Rustlings plugin
- 04CQRS
- 05Introducing Clean Swift Architecture
- 06Solid Project
- 07Dit is de oplossing voor het delen van gevoelige data
- 08Roseman labs
- 09European Digital Identity
- 10[Free API – Huge List of Public APIs For Testing [No Key]]()
- 11Descript
- 12Presentatie over Software design, waarin Simon Brown het o.a. heeft over de kracht van goede diagrammen in UML
Hij staat gewoon aan, toch? Of niet op record? Hij staat nu te recorden inderdaad. Welkom bij een nieuwe aflevering van CodeKlets. De hosts van vandaag zijn Bernard, Pauline, Kishen, Johnny, Wouter en... ...ik. Dus dat is weer een aflevering met allemaal hosts. En we zijn gewoon met z'n zessen. Dit is volgens mij nog nooit eerder voorgekomen. Nee, nee. Dus het is gewoon een unieke. Ja, vijf was de vorige highscore. Zes is gewoon de highscore. Ik hoop niet, het gaat geen zeugel worden. Ik denk niet dat we meer hosts moeten hebben. Dus dat is wel heel gaaf. Dus welkom allemaal. Het is heel leuk om jullie weer te zien. Want ik had jullie natuurlijk al best wel een postje niet gezien. Het is ook leuk om weer een live opname te doen. Want de vorige hebben we online gedaan, Bernard, volgens mij. Ja, klopt. Die moet ik nog editen. Of online zetten, sorry. Edit is al gebeurd. Dus maar, dat gaat snel gebeuren. Dikke tease. Nee, natuurlijk niet, want die is al lang uit als deze nieuwe. Ja, precies. Dat kan ook langer rekken. Maar het is wel de eerste van het nieuwe jaar, 2023. Dus dat is wel mooi dat we openen met het hele team. Het leek maar leuk om even een rondje te doen. Heel suf misschien. Laten we even kijken wat iedereen allemaal bezig heeft gehouden. Ik weet niet wie er wil beginnen. Johnny? Ja, dat is goed joh. Wat heeft mij bezig gehouden? We hebben een nieuwe baan sinds augustus. Vorig jaar al, dus al een half jaar bijna. Ja, dus weer heel wat anders. Een start-up, start-up, scale-up, start-up, gejoind in Amsterdam. Wel fully, tenminste 80% remote, één dag in de week naar kantoor. Het is een Nederlands bedrijf, of? Nee, officieel is het een Amerikaans bedrijf, maar eigenlijk is alles soort van in Nederland. Ze hebben ook nog wel een kantoor in Baku, in Anderbeijang. Ja, het is eigenlijk een start-up in de reizenbranche. Ze hebben covid overleefd, dus ze hebben helaas wel de helft van het personeelsbestand tijdelijk moeten laten gaan. Maar nu even kijken, vorig jaar maart tot met nu is de verdubbeling weer van het personeelsbestand. Ze zitten nu op 115 mensen totaal, dus dat gaat vrij hard. Hebben ze ook mensen opnieuw aangenomen, of is dat? Een aantal zijn er inderdaad opnieuw aangenomen, maar er zijn ook gewoon een hele hoop nieuwe mensen bijgekomen. Grote salesafdeling, uiteraard, want dat is wel nodig. Want sales? Ja, dus dat heeft me bezig gehouden met name. Ja, kost mij toch altijd veel mentale energie om zoiets nieuws te beginnen. Ja, snap ik wel. Ja, dat ben ik gewoon niet zeer goed in. Het duurt nog een hele lange tijd tot ik een beetje afbespreek. Maar ja, op zich wel weer leuke nieuwe uitdagingen. Uiteraard, sommige dingen waar je echt van denkt, wat? Ja, en nieuwe mensen, nieuwe collega's. Ja, nieuwe mensen, nieuwe collega's. Ja, ik viel wel gelijk met mijn neus in de boter. Ik werkte nog geen twee weken en toen mocht ik mijn vliegtickets al boeken voor de company outing. Dus dat was, ja, ben ik twee weken in Colombia geweest. Dus dat was op zich dikke prima. Twee weken ook gelijk? Ja, het was acht dagen voor werk. En ik heb er zelf nog een weekje aan geslapen, als ik er dan toch ben. Medeïen ook? Ja, dat lijkt me zo een leuke stad. Ja, erg tof. Ik ken medeïen alleen van die stenen. Dat is echt slecht. Ja, iedereen kent het daarvan. Het is een beetje iedereen in de vliegtuigstalling narco's te kijken. Ja, maar het is best wel een hippe stad en een vrolijke stad. Ja, ik was eerst in een grotere andere stad geweest en daar was het een soort van oud. In Cartagena zaten we dan met de hele groep. En dat was op zich wel leuk. Een groot contrast tussen rijk en arm ook met name daar. En dan kom je in Medeïen en dan kom je in het centrum van Medeïen. En het is echt gewoon een soort lush green, super hipster. Allemaal supermooie etentjes en zo. Dan denk je echt, is dit hetzelfde land? Het is gewoon een uur te vliegen, dat je echt iets hebt van wel een bijzondere ervaring. En we zijn nu aan het plannen voor de engineering retreat. Dus dan gaan we dus met z'n allen een week lang werken in Azerbaijan. Dus nou, zo slecht is het allemaal niet. Ook gepland rond de Formule 1 race, of niet? Nou, het is wel inderdaad in april. Dus ik hoop dat het de tweede op die wordt. Dan kan ik namelijk nog vijf dagen daar blijven in de race. Maar goed, om nou in mijn eentje naar zo'n heel weekend bij je te voeren. Ja, dat is waar. Ik weet het niet. Tenzij er andere collega's ook mee lopen. Nee, dus dat heeft mij met name een beetje gauw. En verder, weinig veranderingen. Geen verhuizingen nog. Huizenprijs zijn nog steeds veel te duur. Dus ja, veel te hoog. Ja, ik weet niet of ze... Nou goed, daar kan ik eigenlijk om niks over zeggen. Maar ja, ik hoop dat een beetje rekend is. Nee, je hebt nog net voor de grote. Ja, ik heb geluk gehad, ja. Dus dat is wel fijn. En nu nog steeds fijn, want die prijs is alleen maar mogen gaan. Ja, ja. Mooi. Doe maar. Dus oké, cool. Een rondje. Dus Wouter. Volgens mij zijn we rond dezelfde tijd gestart, Johnny. Want ik ben ook per ene augustus gestart als iOS-developer. Mijn eerste serieuze developerbaan. Bij Arcady, een partij in Zwolle. En eigenlijk wel heel erg naar mijn zin. Gaat ook echt supergoed. Momenteel bezig met mijn app aan het uitbouwen. En hopelijk binnenkort TestFlight. Dus ik hoop dat ik nou ook echt wat heb om te laten zien. En ja, voelt goed. Dus echt heel veel geleerd in de afgelopen tijd. Echt tot hoofdpijn toe af en toe. Ja, je kent het wel, denk ik. Jij hebt wel als junior ingewerkt, Johnny. Nou, iedereen denk ik hier wel. Ja, ik leer ook vooral heel veel dingen die eigenlijk nergens beschreven staan. Dus gewoon van die kleine, pieptepeuterige dingetjes. Hoe organiseer je je mappen bijvoorbeeld? Of namen geven aan bestanden. Gewoon allemaal van die kleine dingetjes. Hoe hou je rekening met elkaar als je samenwerkt in software? En dat blijkt toch echt wel iets wat best wel weinig beschreven wordt. Ik denk dat ik nog steeds een junior ben als ik dit zeg. Nou ja, dat was dus voor mij ook die eerste drie maanden. Dan kom je gewoon weer in een nieuwe setting terecht. En ik was gewend om met Rails te werken, Ruby on Rails. En daar hebben ze eigenlijk maar één oude applicatie met Rails. En die willen ze het liefst gewoon doodschieten. Dus we werken gewoon met plain Ruby. En dan val je ook in een zwart gat. Dat je het idee hebt van zo, ik ben een framework gewend. Maar dat geeft je zoveel gemak en dingen. Alles moet ik nu zelf zitten doen. En dan hebben ze bepaalde patterns doorgevoerd. En dan denk ik ook echt van, waarom eigen overem gebouwd? Ja, goed, weet je. Ja, ik heb een hele hoop meningen. Maar goed, de meeste collega's die spreek ik gelukkig in Nederlands. Gelukkig is dit de eerste aflevering die vertaald gaat worden per transcript in het Turks. Ik heb me de eerste paar maanden echt als een junior developer met zijwieltjes gevonden. Dat is echt bizar. Zo traag hoe je dan ook bent. Je bent gewoon gewend van, oh, dit ticket. Oh ja, dat pak ik wel even op. Een uurtje werk en dan ben je gewoon twee dagen bezig. Omdat je gewoon alles uit moet zoeken. En echt, ah, frusterend. Maar goed, ja, je leert het wel. Maar voor jou is het dan, Wouter, is dat dan voor jou ook een beetje zo? Of dat je denkt vooral, oké, ik moet echt alles uitzoeken. Of is het juist? Alles is nieuw en dat is gewoon tof. En je bent enorm leergierig. Dus kom op. Wat heel erg tof is, is dat ze me hier en daar een beetje laten zwemmen. Dus ze geven me wel een beetje de ruimte om het ook zelf te ontdekken. Dus ik heb denk ik nu mijn hele codebase al iets van tien keer gerefactord ofzo. Het is heel leerzaam, heel tijdsintensief. Maar tegelijkertijd is het ook wel heel fijn dat je daarvoor de ruimte krijgt. Om ook die fouten te kunnen maken. Dus ik denk dat ik soms wel honderd dingen verkeerd heb gedaan. Om bij de honderd eerste erachter te komen, hoe het wel moet. En ja, dat maakt het wel heel erg prettig om ingewerkt te worden. Ik heb ook nog geen opdracht op dit moment. Dus misschien... Ja, dat wilde ik inderdaad vragen. Hoe werkt dat? Je bent dus nu een eilandje in je eentje. Dus dan denk je ook gewoon zien wat je hebt over jouw app. Dus dat is iets van alleen jou zelf of is het... Ja, nu momenteel word ik door een medior, sedior, word ik nu ingewerkt. En wat hij me vooral geeft is advies van hoe ik mijn code kan structureren, et cetera. Alleen, hij weet het op zo'n manier te brengen. Dat hij me niet afvakkelt ofzo. Dus hij laat mezelf inzien van wat ik doe, dat dat niet zo handig is. En dat vind ik wel echt heel knap. Want dat kan niet iedereen. Ja, klopt. De beste, die zijn ook echt de beste mentor, quote on quote, die ik ooit heb gehad. Die ging ook dan wel met me in discussie, maar die zei inderdaad niet van... Nee, dat gaan we niet doen. Dat is fout. Hij zei, oké, nou ja, probeer het maar uit. En dan had hij natuurlijk altijd gelij. Maar hij zei wel zo van, probeer het maar uit, zonder judgment. Want hij zei dan niet bij voorbaat al van, nou dat gaat niet lukken. Maar dan liet hij het gewoon zelf proberen. En dan kwam je er zelf wel achter. Maar dat is ook veel leerzamer, omdat je dan echt engaged bent met wat je aan het doen bent. Terwijl als iemand jou alleen maar vertelt van, dit werkt niet. Dan ga je niet onthouden dat het niet werkt. Dan ga je niet snappen waarom het niet werkt. En dan stoot je jezelf dus eigenlijk elke keer aan dezelfde steen. En dan weet je wel, op deze manier, hou je het vast. Dat is ook demotiverend als iemand de hele tijd alleen maar tegen je zegt, dit gaat niet werken, dat gaat niet werken, dat gaat niet werken, zo moet je het doen. Je bent gewoon helemaal niet, je bent dan natuurlijk gewoon helemaal niet betrokken bij het werk. De insteek is ook van, zolang de argumentatie er is, dus als ik kan beargumenteren waarom ik mijn keuzes maak, dan is hij daar heel positief in. Dus dan reageert hij ook positief. Maar op het moment dat ik iets niet uitdenk, dan gaat hij er natuurlijk niet mee. Dus op die manier heb je een soort van touwtrekwedstrijdje, van wie pakt er zich gelijk deze keer? En daar leer ik ook wel heel veel van. In de afgelopen half jaar heb ik ook een uitstapje gemaakt naar wat .net, wat C-Sharp Backend Development. En dan merk je toch wel dat bepaalde dogma's heersen. Wat ik toch wel lastig vind balanceren van welke hoek ga je dan in. Dus er kan een vorm van testen zijn bijvoorbeeld, of hoe je logica gaat scheiden. En daardoor kwam ik wel een paar keer in een spagaat terecht. Ga ik nu persoon A geloven of ga ik persoon B geloven? Dan maak ik een soort van eigen variant van. Dus dat maakt het wel heel erg uitdagend. Ja, dat is waar. Ja, goed. Het is altijd goed, zeg maar. Ja, dat klinkt er heel stuf op tijd bezig. Het zijn smaken, zeg maar, voorkeuren die mensen hebben. Dus als persoon A... Kijk, je kunt iets echt fout fout doen, dat kan, weet je wel. Maar als je iemand een oplossingsrichting of een technologie of whatever aan je uitlegt en je hoort en denkt dit klinkt aannemelijk, zeg maar, dan is het vooral meer een smaak, zeg maar, dat je keuze A of B neemt in plaats van dat het compleet fout is. En een keuze maken is beter dan geen keuze maken. Nou zit ik echt, volgens mij, op tegeltjes. Niveau tegeltjes. Ja, niveau tegeltjes. Nee, je bent een beetje aan een zevering. Ja, dat klopt. Maar kies gewoon iets, ja, precies. Het maakt niet uit of je A of B kies, zeg maar, als je maar kiest. En dan is het eigenlijk, ja, zeker nu, als je er nog aan het leren bent, dan is het sowieso, ja, gewoon nooit fout. Nou, dit waren de open deuren van Saber. Heel veel fouten maken. Heel veel fouten maken, maar ja, dat hoor je zo vaak, toch? Go and break things. Go fast. Ja, dat klopt. Dat is in deze tijd echt wel zo. Dat is ook de tijd waar ik programmeerde, waarbij dat niet zo was, zeg maar. En dan had je echt het gevoel dat je, ah, shit, als ik iets fout doe, dan stort heel die mainframe in. Vind je dat waterval? Ja, ook. Ja, maar ook toen ik nog CDI's programmeerde, had je een Goldmaster. Ja, die moest weg op een bepaalde datum. Die bleef dan drie weken weg en dan werd hij of gedrukt of niet. Ja, als je daar een foutje in zat en je kwam er een uur te laat achter, dan was je echt flink de sjaak. Er zijn weleens 10.000 discjes voor niks gepresst. Voor degene die Goldmaster niks zegt, kan je dat nog een keertje uitleggen? Dat is de variant van je CDI destijds die werd gebruikt om te reproduceren. Ja, had je één kans voor eigenlijk. Of er moet iets heel uitzonderlijk gebeuren. Wouter durft de vraag niet te stellen, maar ik stel hem wel even voor hem. Wat is CDI? Dat is een heel oud ding van Philips. Stop je een schijfje en dan had je een interactieve televisie. CD interactief. En daar kon je eigenlijk niet zo heel veel mee. Een paar simpele spelletjes. Ik stelde er een Zelda game voor. Maar daar kon je inderdaad niet heel veel mee. We hebben een browser gemaakt voor CDI. Met je remote control kon je dan op je CDI een browser. Die hebben wij gebouwd. Dat was echt heel hard werken. Ik vond het wel echt geweldig als kind hoor. Daarvoor had je dus Goldmasters. Bij Philips gingen ze eerst nog testen met een niet de Goldmaster. Dan hadden ze een testafdeling. Die gingen al die scenario's door en kijken of het goed was. En soms vonden ze nog een fout, dus dan kon je terug. Maar als je al een Goldmaster had opgeleverd, die ging dan naar Langres in Frankrijk. Daar werden dan de CDI's gedrukt. Afhankelijk van hoeveel je wilde, kwamen er 10.000 of 500 terug. Voor de badminton vereniging. En dan had je geen kans om je bugs te herstellen. Dat was gewoon klaar. Ik weet dat Apple gebruikte die terminologie ook nog weleens voor een release. RC's inderdaad, release candidates. Daarna werd het dan de GM, de Goldmaster. Dat was eigenlijk vlak voor de release. Dat was eigenlijk de laatste versie. Tenzij er iets heel dramatisch gebeurt, gaat die gewoon... Ja, gaat die gewoon. We'll take elder hours here. Today I learned. Cool. Maar goed, het was dus heel leerzaam. En je vond het leuk, nieuwe baan. Ja, ik vind het nog steeds leuk. Sorry, je vindt het nog steeds leuk. Voor de werkgever van Wouter. Daarom is er zo'n oude man, hij praat gewoon in verleden tijd. Vroeger vond ik alles leuk. En voor de werkgever van Wouter, hij vindt het echt heel erg leuk. Bitterheid en cynisme moet nog een beetje gewerkt worden. Dat kon nog wel. Voelbaar. Goed, Bernard. Ja, niet heel veel anders dan normaal. Nieuwe app waar ik mee bezig ben. December was Advent of Code Maand. Dan moet ik altijd vreselijk afkikken naar Kerst. Dus dan pak ik wat andere dingen op. Project Euler. Project Euler ben ik doorgegaan. Ik moet dan nog een paar weken door puzzelen. En ook straks heb ik nog een tip die daarop inhaakt. Intussen ben ik bijna terug. Normaal vind ik het... Ik ben helemaal zat, al die puzzeltjes. Dus kan ik weer tegen de december zonder enige programmeerpuzzle. Ik heb dit jaar gewoon... Ik heb er gewoon geen gedaan. Ik ben eerst begonnen. Gewoon tijd. Ik had echt geen tijd. Ja, het is goed. Niet meer. Ieder jaar weer hoor. Highscores geloof ik. Het was inderdaad. Ik dacht, hier heb ik eigenlijk geen zin in vandaag deze zondag. En dan ben je één keer, zeg maar één keer. Heb je hem niet gedaan? Ja, ja, ja. Ik had hetzelfde. Ik dacht dit jaar eindelijk van, oké, ik ga hem eindelijk een keer doen. En toen bij dag drie... Toen was er ook iets dat al niet klopte of zo. En dan moest ik het... Toen was er in ieder geval een bugfixing moeten doen. En ik dacht van, ja, dat doe ik later wel. En toen heb ik het gewoon niet meer gedaan. Ik ben gewoon niet verder gekomen dan dag drie weer. Op het moment dat je denkt, dat doe ik later. Dan wordt het heel moeilijk. Ooit komt er een dag, dan ga ik ze allemaal wel maken. Ik heb ze dit jaar ook weer allemaal gedaan. En ik heb ze nu allemaal gedaan van alle acht jaren. Ik vind het toch wel vreselijk leuk om het te doen. En ik ga ook gewoon door tot ik ze allemaal heb gedaan. Dit jaar was mijn doel om een keer bij de eerste duizend mensen te eindigen. Het wordt elk jaar moeilijker. Dat is gelukt. Daarom ging ik heel fanatiek om zes uur opstaan. Om bij de eerste duizend te komen, moet je dat doen. Kunnen jullie dat minder nacht doen? Of staan ze er dan nog niet op? Op Nederlandse tijd is het zes uur. Het is over de hele wereld tegelijk. Dat heb ik gedaan tot ik hem had. Toen had ik deel één af. Binnen bij de eerste duizend ben ik weer in bed gaan liggen. Achievement unlocked. Klaar. Ik zag in de Slackchat, in het kanaal van Advent of Code... Ik zag een aantal dingen luisteren. Ik denk niet dat ik dit kan doen. Er waren een aantal lastige dingen. Die sla ik al over. Heb je het idee dat je er beter van geworden bent in iets? Dit jaar was mijn doel snel. Dan word je niet echt beter. Vorig jaar wilde ik netere code en vooral meer leren... De Ruby-standaardfuncties die je allemaal kent. Dan ga je nog wat herschrijven. Dan maak je het wat mooier. Daar leer je wel van. Dat gebruik je ook wel daarna. Die methodes ken je dan. Ik denk dat ik volgend jaar een ander doel moet kiezen. Een nieuwe programmeertal. Je gebruikt niet telkens dezelfde programmeertal. Ja, omdat ik snel wilde zijn. Degene die ik het beste ken. Dat is het inderdaad. Zo zat ik er ook in. Het was mijn eerste keer. Ik doe gewoon pp en snel. Dan wordt het natuurlijk echt heel lelijk. Het is input en output. Je leest wat input. Je print wat output. Dat is het. Het werd gewoon heel lelijk. Ik dacht dat dit het lelijkste was. Wat ik ooit heb beschreven. Dat is ook helemaal niet erg. Nee, ja. Ja, cool. Dus dat was mijn december. Ja, dat was eigenlijk het spannendste van het jaar. Kijk je de jaar uit aan die december. Nee, nee, nee. Ik twijfel ook altijd zal ik het weer proberen of niet. Pauline. Ja, het is alweer een tijdje geleden. Ik zit even te denken. Volgens mij toen ik er vorige keer was. Toen zat ik nog bij Werkspot gelopen. Oké, ik wist niet eens dat je weg was bij Werkspot. Nou, daarom dacht ik van dat zou ik dan nu maar even mee delen. Ja, precies. Maar dat is echt al een tijdje geleden. Wat zal het zijn? Een jaar? Anderhalve, volgens mij. Ja, tijd is voor mij de afgelopen drie jaar. Ik weet niet half meer wat onder of boven is. Dus ik heb geen idee wat de tijdlijn is. Maar ja, ik ben daar gestopt. Oké. Want ik wou eigenlijk gaan freelancen. Omdat ik gewoon zoiets had van ja, je bent de hele tijd met dezelfde tech stack bezig. En we waren alleen maar eigenlijk aan het migreren. Dus de buitenlandse takken op ons tech aan het migreren. Dus ik kon altijd eigenlijk hetzelfde. En ik had zoiets van ja, ik ben echt een leerpersoon. Dus ik leef echt om te leren. Dus als ik te lang hetzelfde doe, zonder iets bij te leren, dan raak ik helemaal gedemotiveerd. Dus ik dacht, ik ga freelancen. Ik dacht dan heb ik ook een wat hoger uurtarief. Kan ik wat flexiever zijn? Zeker, ja. Qua werktijden enzo, wat ook wel fijn is met een klein kind. En toen ben ik dat gaan doen. En lo en behold, iets wat ik jarenlang probeerde te leren, maar dat schoot er gewoon eigenlijk altijd bij in, omdat je gewoon je werk te doen hebt, is dokkergoed uitpluizen. De eerste week had ik een tutorial voor een opdracht gekeken en dacht ik, oh, nou, ik snap alles. Ja, ja, ja. Dat zijn van die dingen waar je gewoon even een paar uurtjes in moet steken, en dan weet je het. En ik dacht elke keer dat mensen die dokkerfals konden schrijven, dat het een soort wizard, dat denk je altijd tot dat je leert. Dat is eigenlijk best wel mee. Je moet gewoon even goed gaan leren. Dus ik was daar erg blij mee. Kan je die tippen straks? Die tutorial? Oh ja, dat vind ik wel een goede, ja. Die hele channel staat eigenlijk vol met allemaal goede devopsie dingen. Dus die zal ik, ik ben even vergeten, maar ik zal hem zo even opzoeken. Maar goed, een paar opdrachtgevers gehad, en eentje die heeft me eigenlijk gestrikt om fulltime bij hun te gaan. Oké. Nog wel op contractbasis. Maar ja, dat was eigenlijk helemaal niet de bedoeling, maar ze zijn heel tof, dus ik ben blij met mijn keuze. Dat is een Zwitsers bedrijf. Wel een Nederlandse CEO, maar ze zit in Zurich. Oké, heel leuke stad trouwens. Vooral in de zomer is het echt... Maar ik heb daar ook een mooie voor de kijkers van de YouTube-stream. Die niet bestaat, je hoeft niet op zoek naar de link. Wees niet teleurgesteld. We hebben geen stream, maar het is de DeLion, het is een bedrijf dat autonome vliegsoftware en hardware maakt. Dus dat voor kleine aircraft. Dus wist je trouwens, dat aircraft meer fout is? Dat wist ik niet. En ik keek ook voor het eerst op mijn website. Er stond er iets van, voor aircraft of the future? En ik dacht, wat is deze shady toko? Dat is helemaal geen spelfout, aircraft is gewoon meer fout. Zo leer je nog eens wat van aviation. Aircraft is meer fout en spacecraft ook bijvoorbeeld. En enkel fout. En enkel fout inderdaad. En minecraft? Maar anyway. Is de uitspraak ook hetzelfde? Aircraft, aircraft? Ja, het is allebei hetzelfde. Ja, ik zeg op Zuid-Amerikaan. Maar ja, hetzelfde uitspraak, gewoon hetzelfde woord compleet eigenlijk voor meer fout en enkel fout. Maar goed, ze maken dus soort van dosis die je aan je helikopter of je fixed wing of wel normaal vliegtuig hangt. En die verzamelt dan allemaal vliegdata. Dus we hebben echt ziek veel data en die wordt dan geanoteerd en door een AI gegooid. Ze kunnen obstakels en dat soort dingen en landingsbanen en dat soort dingen kunnen ze detecteren. En ik schrijf die... Nee, ik schrijf niet die software. Ik ben als full stack developer op zeg maar de interne tooling gezet. Dus ja, de annotation tool bijvoorbeeld en data weergeven. En de UI ervoor, zeg maar. Maar heel tof en heel veel Go. Rust ook sinds kort. Maar oké, geen PHP. Geen PHP. Ze hebben wel... Ja, het is niet erg dat je nu geen PHP, maar dat je dus de switch hebt gemaakt. Dat is cool. Ja, ja, ja, zeker. Ja, ik mis soms wel een beetje PHP en wat je wel meteen merkt is dat dan nieuwe versies ben je meteen niet mee up to date, zeg maar. Dus ik probeer dat dan een beetje bij te houden. Maar dat is best wel lastig als je er niet elke dag mee code. Maar ja, het is heel tof om nieuwe stacken. Maar wat jij zegt ook, dat heb ik nu dus. Ik werk nu, denk ik, tien jaar ofzo als developer. Maar als je dan naar Go gaat, dan zit ik ook op YouTube te zoeken van ja, maar wat voor, wat is nou eigenlijk dogmatic voor Go als projectstructuur, weet je wel. Dan moet je dat ook weer, want dat is ook weer bij elke stack anders. Ja, want hoe is die transitie voor jou nou geweest? Want Rust is best wel hardcore vergelijk met PHP. Is best wel toegankelijk. Ja, Rust is vrij heftig inderdaad, maar het scheelt dat, ja, behalve PHP, ik heb vroeger nog een beetje C geleerd, nooit in gewerkt trouwens, maar en Go is ook al een mooi transitiepunt, want Go heeft dan al striktere typing, zeg maar. Rust is dan bizar eigenlijk. Ik dacht eerst van, oh, dit is echt vette taal. Dan ging ik iets verder en dacht ik, oh, dit is echt kut. Maar echt kut omdat je gewoon, omdat het echt op een gegeven moment denk je echt van, what is going on? Je werkt dan door dat Rust boek heen. Dan denk je, ja, ik snap het, snap het, snap het. En op een gegeven moment denk je echt van, na. Dat gele boek met dat krabbetje erop? Nou, het is, ik doe hem online, gewoon echt het officiële boek, want ze hebben nu ook als soort van experiment hebben ze daar quizzes aan toegevoegd. Omdat ze het idee hebben, ze hebben de theorie dat je dat dan beter leert leren. Of helpt leren, omdat het wat interactiever is en je bent dan wat meer engaged. En dat klopt wel. Zijn het die Rustlings? Ik weet het niet, maar het is gewoon letterlijk de officiële Rust docs is het Rustboek. Ik vind wel dat Rust een van de betere ambassadeurs heeft. Dat krabbetje, Ferris, die is echt cool. Oké. Oh ja, dat ken ik wel. Dit ken ik niet, Rustlings. Dat zijn een soort van rustcode kata-achtige. Het mooie van Rustlings is ook dat je bijvoorbeeld in de JetBrains IDE kan je hem ook interactief inladen. En dan krijg je de opdrachten zitten in je standaard IDE. Dus kan je eigenlijk gewoon daarin. Oké, ja, ik heb de hele JetBrains license voor alle. Dan kan je die ook gebruiken. En dan heb je ook de interactief en dan run je gewoon die scripts erin. Wat lachen zeg, dat ga ik wel even doen. Want je merkt toch wel, als je op een gegeven moment die quizzes doet, als je een hele week dat Rustboek leert, dat je dan gewoon je brein checkt dan gewoon uitgegeven. Een beetje ADHD-brain. Ja, ik ben na een halve pagina, moet ik weer opnieuw beginnen. Ja, precies dat inderdaad. Wat ging ik vanavond ook weer koken? Oh wacht, ik was wel het aan het lezen. Je krijgt gewoon koppijn. Je krijgt gewoon koppijn. Ja, ik heb echt wel even wat Interactie nodig inderdaad en wat oefeningetjes. Dus dat vind ik hele goede. Nou, cool. Ja, dat was het. En wat maakt het dan zo vervelend, als je die taal leert? In jouw geval? Nou, iets wat heel nieuw is, wat heel erg uniek Rust is, is het concept van ownership. En dat is zeg maar, dat als je een variabele doorgeeft aan die functie, dan gaat de ownership van die variabele naar die functie. Dus dan is die alleen nog maar beschikbaar in die scope. En dan is die dus niet meer in de main scope. Hij haalt hem echt van de heap af zeg maar. En dan heb je dat ook alleen maar voor bepaalde datatypes die op de heap gezet moeten worden. Dus alles wat bijvoorbeeld een simpele int is, dat kan op de stack geplaatst worden. En daar is dat dus niet van toepassing, alleen voor data die op de heap zit. Dus dan moet je references gaan passen om die ownership. En dat zijn dus dingen die je allemaal moet onthouden per type. En hoe dan die scope zit. En wat dan de compiler gaat doen als je dit doet. En oh mijn god. Dat wordt op een gegeven moment best wel ingewikkeld. Een beetje back in the assembly. Dat je ook daar beugen gebruikt. Ik weet niet eens welk YouTube kanaal. Dat is het concept van borrowing. Dat is rust eigen. Dat is dus als je een referentie past, dan is die functie het aan het borrowen. Maar dan geef je het weer terug aan de main scope. Dat is echt iets wat ik van geen andere taal kende. Het is heel vet. Maar op een gegeven moment zit er zoveel haken en ogen aan. Dan is er natuurlijk wel weer een use case waar je dit hebt uitgeleend en dan eh. En dan eh. Maar ik denk dat dat gewoon een hiphop is waar je gewoon bent aan moeten. Een mentaal model zeg maar. Wat je in moet zitten en dan naar de communaliteit. Oké. Klinkt goed. Wat was mijn jaar? 22. Fast forward. Ja. Ik zit bij de zelfde opdaggever als het jaar ervoor. Daar doe ik Angular en View en een beetje.net. Op zich is het niet persoonlijk heel uitdagend. View vond ik, ja, leuk. Dat had ik met geen ervaring mee. Angular vind ik, wat heb ik vaker gezegd, Angular vind ik echt niet leuk. Nou ja goed, ik vind gewoon niks. Anyway, View is gewoon wat makker om in te stappen en je hebt best wel, ja, hoe noemen ze dat? Easy to learn, but hard to master. Dus dat is met View en dat zal met meerdere talen zijn. Maar ik vind dat wel oké. Bij Angular is het ook gewoon hard om er in te komen. Niemand kan het masteren. Dus dat is echt wel een dingetje. Angular ligt mij gewoon niet. Er zijn voldoende mensen die het tof vinden, maar ik vind het niks. Dat is het laatste jaar qua werk is dat geweest. Ja, privé, uitdagingen. Ik ben heel blij dat we eindelijk een beetje van over corona heen zijn. Ik heb één keer corona gehad. Ja, nou ja, ik hoop dat het weg blijft. Maar ik heb het één keer gehad, was even schrikken. Drie dagen een beetje grieprig geweest. Dus als ik het kan overleven, kan iedereen het overleven. Fake news, fake news. Ja, dat moest ik zeggen van Lange Frans. Lange Frans weer hoor. Maar goed. Ja, een jaar wat best wel uitdagend was omdat we een verhuizing hadden met de kinderen, et cetera. Dus dat was best wel stressvol, zeker in het begin. Aan het eind van het jaar is het wat gestabiliseerd. Dus ik hoop dat dit jaar 2023 een stuk relaxter gaat. Dus ja, dat is eigenlijk een beetje hetzelfde met mijn jaar. Kishen? Ja, een beetje gelijk met Pauline vorig jaar ook besloot om zelfstandig te worden in het begin van het jaar. Mijn eerste klant was Ahold. Daar mocht ik een product owner bij een devops platform interne gingen ze daar opbouwen. Dus dan moet je denken aan allerlei tools op gebied van release, quality en observability. Ja, en dan mocht ik een PO voor zijn. Ja, een team ook mogen opbouwen met devops engineers. Ja, mensen die dus inderdaad veel van docker en van pipelines en zo snappen. Even kijken. Nou, einde dit jaar gestopt. En ik ben nu sinds de laatste twee maanden zo'n beetje bij een andere klant aan de gang, Anva. En daar ben ik een release en quality lead. Daar ben ik voornamelijk bezig met teams richting een release krijgen. En dan voorzorgen dat de kwaliteit zo hoog. Nou, dat gaat naar die release toe. Nee, zeker niet. Maar met release bedoel je dus beter release management? Nou, kijk, ze hebben best wel wat gewisseling van de wacht, ook in management en van alles, ook op C-level gehad. Dus er moest nog wel een hele hoop, ja, de teams die waren gewoon los. Dus zo doen ze ochtend iemand in te riem om de boel een beetje bij elkaar te knopen. Want ja, de teams zijn over het algemeen heel erg autonoom. Maar ja, als er dan gezamenlijk een release letterlijk de deur uit moet, net als bij Philips, dus een of ander pakket wat ge-released moet worden bij klanten. Ja, dan is het misschien wel handig als er krijg je een hele hoop ruis op de lijn. Dus het is een interim opdracht en op zich wel leuk om te doen. Maar zit er een, hoe lang dat duurt? Ja, nou, ze verwachten ongeveer ergens eind van het jaar dat er in ieder geval een goed proces ontstaat. Ja, en ik ben ook natuurlijk bezig om de boel ook daarin te automatiseren. Dus ik ben laatst tijdelijk veel met github actions bezig. Oh, cool. Ja. En wat ik ook wel leuk vind is om, noem het maar even, Jenkins pipelines ook te migreren. Oh, naar actions, ja. Was echt om te maken. Jij is de nek om te draaien. Ja, precies. Ja, dat hebben wij dus ook nog. Absoluut. Ja, het is een ding wat blijkbaar inderdaad dood moet. Nou ja, meer van het ziet er ook nog steeds uit alsof het inderdaad al 20 jaar draait en nooit is aangereikt. En al die, weet je wel, al die libraries die er omheen zijn gebouwd. Echt niet normaal. Al die, ja, tenminste, bij de teams waar ik dan ben, die bouwen dan hun eigen libraries om die pipeline, zeg maar, stabiel te krijgen. Dus heel veel code ook daarin. Ja, goed. Maar in ieder geval, we zijn nu aan het migreren. Dus dat is ook wel leuk om te zien hoe GitHub Actions werkt met reusable workflows en dat soort dingen. En ook veel aan het analyseren over GitHub, of branching strategies. Ook veel over aan het lezen YouTube filmpjes kijken inderdaad. Dus welke strategie het beste past bij bepaalde teams of releases of hoe je het ook noemt. Ja, dat is een beetje mijn ding. Ook het bedrijf dat ik heb opgezet, dat is dus daar nu gespecialiseerd in. Ja, cool. Want in een notendop, wat zijn dan gaandeweg de meest voorkomende Git branching strategies? Nou ja, je hebt van GitLab heb je er ook eentje. Dat is Git Flow, geloof ik. Je hebt natuurlijk de... Is dat van GitLab of van GitHub? Nee, nee, GitHub heeft GitHub Flow. Oh, GitHub Flow, sorry, sorry. Dat weet ik zeker, ja. Dat is de makkelijkste. Maar daar heb je ook nog Git Flow in, inderdaad. Ja, Git Flow heb je inderdaad. En je hebt natuurlijk de Google famous trunk-based development, waar ik zelf heel erg fan van ben. En je hebt ook een beetje de vanilla, dus dat je altijd, noem het maar even, een master app en dat je een feature branch maakt en dat je dan weer terugmerch naar master. Maar dat is toch trunk-based development? Nee, trunk-based is echt zonder branches. Huh? Oh, discussie, kom op, let's go. Ik zal straks even een linkje delen. Je doet dus alles op de main, eigenlijk. Dat ben ik in ieder geval gewend. Het zou kunnen dat ik dat misschien heb geleerd. Nou, kom maar op. Uiteraard heeft Kishen het artikel van Pauline gelezen. Nee, dan heb ik het verkeerd geleerd, want ik ben echt gewend dat ik dat je gewoon naar main aan het pushen bent. Met kleine wijzigingen. Nee, maar met feature-branches. Dat is dus het ding. Met trunk-based heb je een trunk, dat is dan je main, en daar wijk je dan heel even van af en dan merkt je meteen weer terug. Nou, dan heb ik het verkeerd geleerd. Daar had je wel mijn filmpjes moeten kijken. Oh, wat erg. Die kunnen ook in de show notes. Graag zelf. Neem maar even serieus, want wat ik vrij zeker weet, is dat GitHubflow is volgens mij een main-branche en dan feature-branche en dan mergers. Dat is naar GitHubflow? GitHubflow volgens mij, ja. Heb je een development-branche en daarvan? Klopt, en een release-branche, feature-branche, en een master of a main, whatever, rocks your boat. Een sterretje-branche. Ja, het is inderdaad een enorme studie om te doen, en het is hartstikke leuk om te leren, vind ik. Dat ben ik nu voornamelijk mee bezig. Het moet passen bij een release, dat is logisch, en het moet bij je organisatie passen. Vroeger vroegen ze aan mij welke branche-strategie ik zou moeten doen. Dan zei ik, doe maar gewoon GitHubflow. Doe maar gewoon GitHubflow. Kijk eerst maar hoe de organisatie werkt en hoe je test en release, want je hebt dan een ontwikkelde omgeving en de test nog even, dus dat heb je in organisaties. Andere werken met continuous delivery, continuous delivery, zeg maar. Dan kun je met een andere... Ja, precies. Dus het gaat inderdaad maar om wat zijn je automated testing processes. Op basis daarvan moet je die beslissing maken. Dus het is best wel een heel complex ding. En release cycles natuurlijk. Trunkbase kun je niet zomaar doen als je bijvoorbeeld mobiele apps doet. Ja, oh ja. Dan heb je een release, een mobiele applicatie. We hebben alles op productie. I do not always test, but when I do... Dat is wel echt letterlijk. Toen ik met ASP, dat is Microsoft, dus de tegenhanger van PHP was de eerste, was ASP, niet ASP.net. En dan was het gewoon FTP, en dan FTP is gewoon naar de productieomgeving. Het was geen productie, dat was gewoon niks. En dan moest je gewoon afstemmen. Ja, dat was echt lelijk. Maar ja, goed, dat was wel hoe je werkte. Kishen is me geloof ik aan het fact checken. Nee, nee, ik ben toch even aan het zoeken naar die link inderdaad. Zet maar in de show. En daar staan vier verschillende uitgelegd van flagship I.O. Even kijken. De git flow inderdaad. Of moet ik nou die jit zeggen? Jit klinkt alsof iemand uit Frankrijk. Is dat slecht? Of just in time. En dan heb je inderdaad de git hub flow. En ook blijkbaar een git lab flow. Oh, dat doet zo weer naar ander. Ja, en er zijn ook mooie plaatjes bij en dan kun je het ook mooi vergelijken met elkaar. En inderdaad, je had gelijk, de trunk based development is inderdaad dus je hebt de trunk. Maar ik wil ook wel weten hoe je het noemt als je alles op main doet. Inderdaad. Jolo. Jolo flow. Hoe doe ik? Weet je wat we bij die podcast hadden met wel altijd min F vragen, want anders is het nergens. Automatisch min F Toen hadden we volgens mij ook hier, toen hadden we die podcast opgenomen met met Floor en Arno. En ik zei, ja, ik doe wel als ik rebase, want ik wil gewoon op mijn eigen branch werken, ik wil niet dat iemand anders erop werkt. En ik force push gewoon. Ja, nee, maar dat kun je niet doen. Je hebt een optie, zeg maar, om dan Ja, zoiets, ja. Je zegt, hoezo dan? This is called my branch. Als iemand anders uit die branch zit, dan is het niet goed. Dan heb je iets gedaan. Ik doe ook mijn branches niet. Maar ja, inderdaad, als je wel je branch deelt met iemand anders. Maar dan weet ik niet of je dan per se moet rebasen. Dat is weer een andere discussie. Hoe ga je dan om met die commithistorie? Hier kan ik zo lang over. We hebben nog een goede talk. We gaan zo weer aflevering 1 even herhalen. Je kunt aflevering 1 van CodeKlets Je kunt er naar luisteren. Je kunt het alleen niet echt horen. Een van die channels is heel zacht. Ik beloof jullie dat ik dit jaar, dit jaar durf ik wel te zeggen, dit jaar ga ik hem remasteren. Ik heb de originele en dan haal ik hem wel weer door Outphonic heen. Dan komt het als het goed is in één keer goed. Dan hoef ik er zelf niet aan te sleutelen. Eerst even een kabel kopen, eerst even een kinder op bed lepten. Ja, precies dat. Maar dan horen we als het goed is Kishen ook beter. Want dat was gewoon echt mijn vak op. Want ik compresste en iedere keer duwde Kishen helemaal weg. Per ongeluk. Dus dat was echt niet heel relaxed. Maar goed, nu kunnen we het een stukje beter. Oké. Voor de vorige keer, toen we dit een beetje gedaan hadden we, zeg maar, bring your own onderwerp. Het leek me leuk om dat gewoon deel 2 te doen. En dan gewoon een aantal onderwerpen die we aandragen, dat we die bespreken. Vooraf heb je een aantal onderwerpen heb je mij gegeven, aangereikt. Daar was ik wel blij mee. Gesmeten. Ja, naar me toe gesmeten, dit moet je bespreken. Maar ik wil niet. Dus ik... Ja, welke zullen we kiezen? Ik heb geen idee. Iemand zit heel driftig te wijzen. Dit ligt. De vorige keer was het ook zo. Als ik nu de hint goed oppakte, dan liep het heel soepel. Dan hoef ik het niet uit te knippen. Maar, oké, dat eerste onderwerp laten we het over Wouter hebben. Ja, maar die brug, die was onderweg. Hij wilde hem bouwen, maar hij is niet geleverd. Sorry. Nee, ik had natuurlijk bij mijn intro al een beetje een paar bruggertjes gemaakt die eigenlijk te vroeg bezorgd waren, om het zo maar te zeggen. Oké. Wat? Nee, ik heb natuurlijk een beetje verteld over mijn eerste ervaring als developer, om het zo maar te zeggen. Ik heb nu een beetje zelf tenminste dat ik op een punt ben gekomen dat ik wel redelijk comfortabel, redelijk geland ben bij mijn werkgever. Dus nu wil ik een beetje gaan kijken van oké, waar ga ik nu de komende tijd aan werken en hoe wil ik gaan groeien. Wat ik vooral merk is inderdaad dat stukje meningen, dat verschillende levels en senioriteit een bepaalde visie hebben en daar wil je van beide wil je wat meenemen want je wil de ander daarin eigenlijk ook niet te kort doen. Misschien een beetje politics. Ja, wat ik me eigenlijk afvraag en dan zou ik eigenlijk al een klein rondje willen maken is van joh, hoe stelde jij je doelen toen je net begon? Nou ja, ik had volgens mij als ik software ontwikkeld had, was er een collega van mij die daar keek ik best wel tegenop en toen dacht oké, ik wil gewoon wat hij doet. En hij was, wat had die? Ja, meer een consultant rol, dus dat was niet echt aan het programmeren. Hij adviseerde klanten wat voor oplossingen en hij hielp teams en ontwikkelaars om op een hoger niveau te komen. Dus ik dacht oké, dat is wat ik wil. Dat was toen mijn doel. Of ik het bereikt heb, dat weet ik niet, maar dat vond ik toen heel tof om te gaan doen. Maar je maakt er niet een mindmap voor jezelf om bijvoorbeeld het onderwerpen uit te stippen van hij. Dat zou heel gestructureerd zijn voor mij zeg maar. Ik vraag me echt serieus af of mensen dat doen. Nou jij doet het misschien wel. Nee, hint ernaar. Nee, no way dat ik dat doe. Ik weet dat ik een beetje een lange termijn doel heb. Ik kwam het op redden tegen van de ideale guide om Swift te leren bijvoorbeeld. Dan zie je allemaal van die kleine topics en dan de volgorde en van geworden naar beginner. Ik vind het persoonlijk echt heel erg. Nou ja, ik ga niet autistisch zeggen, maar connoisseur van structuurachtig Connoisseur van structuur. Ja, ik zit op het spectrum van structuur connoisseur. Ik vind dat zeg je wel heel politiek correct. Maar ik zou er niet zo gestructureerd en dan wat het lastig is en sommige mensen wil dat ook een hele duidelijke structuur. Maar als je dan gaat afwijken, ja, wat doe je dan? Ga je dan compleet terwijl ik denk, ja, precies dat. Ja, zo zit ik er niet in. Ja, het valt soms tegen. Soms komt er iets anders op je pad, zeker met software development. Er kan een nieuwe technologie komen, een andere opdracht geven, whatever. Dus ja, zo strikt lukt mij lukt het niet zeg maar. We hadden het gewoon net over de Yolo flow. Dat is echt mijn strategie geweest. Ik kwam gewoon binnen. Er werd zoveel op me afgevuurd. Ik heb gewoon zoveel mogelijk geprobeerd te leren als de sponsor dat alles opneemt. En ja, op een gegeven moment na vijf jaar dacht ik van oké, ik ben nu blijkbaar in een keer ook gepromoveerd. Ik ben mensen op gaan leiden en voor ik het weet, was je gewoon senior developer en dacht ik van ja, oké, misschien ga ik nu maar eens een keertje om me heen kijken van of ik ook wat anders wil doen of een andere werkgever of zo. Maar het was echt gewoon een grote rough adventure door de schoonverstellingen. Dat is niet normaal. Dus bij jou was de keuze meer, ga ik koffie nemen op maandag of drop ik een database in productie? Ja, of in ieder geval table. In ieder geval table. Het is wel fijn dat je dat plant, dan kan iedereen er rekening mee houden. Vandaag word ik wat gedropt. Oké. Ja, nee, bij mij is het eigenlijk nooit echt structuur. Ik heb inderdaad gewoon leven met de dag. Dat is überhaupt mijn vrije levensfilosofie en ook voor mijn baan. Net als nu, ik ben dan in augustus begonnen en ik zie het elke dag wel weer en ik heb wel een bepaald doel met wat ik een beetje zeg maar wil, maar ja, als we daarvan afwijken of omdat het niet kan of omdat er plannen wijzigen van of mij of van het bedrijf, ja prima, even goede vrienden, dan ga ik ergens anders aan de slag. Dat gaat een soort heel open en makkelijk daarin en wij als software developers hebben natuurlijk ook pis geluk dat er zoveel werk te doen is dat je die houding aan kan nemen. Misschien wel, misschien niet, want er is een onderwerp dat ons compleet overbodig maakt. Nou, ik heb die ervaring in ieder geval, nog niet zo meegekregen, maar ja, inderdaad, als je de LinkedIn inbox moet geloven, dan is er nog steeds genoeg vragen. Veel geleerd de hard way. Ja, ik kan me niet herinneren dat ik dacht van, ja, ik ga nu even een plannetje uitstippelen. Mijn eerste ontwikkeld taal was pp. Ja, echt heel veel shit gedaan en uiteindelijk veel van geleerd, zoals inderdaad een database per ongeluk verkeerd. Niemand plant ook om pfp te leren, dat gebeurt gewoon. Ja, maar dat is echt zo. Je wordt wel gekozen. Ja, ja, pfp kiest jou, ja. Ik weet nog wel, toen met mijn, ik had volgens mij mbo voor hbo stage, ik ben één van de twee en daar leer je dan java, weet je wel, dat soort opjekgeriteerde programmeertalen. Ja, en dan kwam je dus bij een bedrijf dat heette MusicFront.nl en daar hadden ze dan een pfp website. Ja, dat komt je wel bekend voor, natuurlijk. Of was dat al op pfp of niet? Nee. Oh nee, later dan komt dat je niet bekend voor van java. Klopt, ja, inderdaad. Het was zeg maar een opkomst. Ik weet nog wel dat één van de ontwikkelaars, met wie ik veel samenwerk, die was daar aan het bestuderen om dat zeg maar om te zetten. Dat was een beetje een opkomst. Maar ja, dat was echt gewoon niks anders dan gewoon leren, leren, leren en proberen. En je gaat op een gegeven moment vanzelf ook wel zien van wat je wel leuk vindt, wat je niet leuk vindt. Ja, welke kant je een beetje op wil qua Nikof positie. Ja. Bij mij was het echt een beetje zoals bij Saber. Eerst zat ik bij een agency en dat was gewoon best wel klein en waren we heel erg restricted met wat we mochten en konden doen, zeg maar. Er was één iemand die echt heel erg de leiding had en de rest die moest daar een beetje omheen bouwen. Dus er was niet echt een leerweg. En toen ik in Amsterdam begon te werken, toen was daar Raffael Domes. Dat is, dat. Nee, zeg me niks, maar ik dacht, ja, ken ik niet. Nee, ken ik niet, sorry. Dank voor. Dit te lozen. Hij heeft wel een naam alsof hij bekend moet zijn. Ja, nee, serieus. Ik dacht, nou ja, goed. Ja, maar dat is hij ook. Het is een spreker die best wel groot is in PHP land. Hij doet de afgelopen jaren niet, ja, spreekt hij eigenlijk niet meer, geloof ik, maar en die had heel veel over clean code en object calisthenics. Dat heeft hij gepoord vanuit de Java boeken naar PHP. En daar is hij dus maar dat was mijn lead, zeg maar. En die was heel erg into object calisthenics en op design principles en dat soort dingen. Dus vanuit daar was ik eigenlijk al vrij snel van, oh, dat vind ik vet. Ik wil ook goed worden in architectuur en software design en schoon en dat soort dingen. En hij was spreker en ik was super nerveus altijd als ik mensen moest toespreken. Echt niet van, ik spreek een team toe van vier mensen en mijn hele kill gaat op slot en slikken en helemaal gewoon en rood aanlopen. Nou, dat heb ik nog steeds trouwens, maar dat is gewoon iets wat men uitdoet blijkbaar. Maar dus dat was ook een ding. Als kind al dacht ik altijd van, ik wil later een baan hebben waarmee ik gratis kan reizen. En toen werd ik developer en toen dacht ik, nou dat gaat dus niet gebeuren. Maar toen zag ik Rafael en toen dacht ik, dat kan dus gewoon wel als je in een conferenties gaat spreken. Dus toen zei mijn manager van ja, dan moet je het gewoon gaan doen. Je moet gewoon de hele tijd oefenen. En dan word je er vanzelf, raak je die nervositijd kwijt. En dat was ook zo. En nu echt totaal niet meer nerveus. Maar ja. Ik heb het nog steeds wel hoor. Dan moet ik een demo presenteren gewoon voor een eind-sprint demo en dan zit ik nog steeds soort van... Bijna elke conferentiespreker die ik, ook de grootste sprekers die ik spreek op conferenties, die zeggen allemaal van oh, ik ben zo nerveus. En ik denk echt van ik heb het gewoon echt helemaal niet meer. Maar echt heel bizar. Ik weet niet waarom. Ja, sommige mensen die blijven dat gewoon, nou de meeste geloof ik, die blijven dat gewoon. Nou, als ik nog steeds een soort barrière bij je doorheen moet ofzo. Ja, maar dit zijn dus mensen die veel grotere sprekers zijn dan ik. En die zijn dus nog steeds nerveus. Ja, blijkbaar is dat. Maar eerlijk gezegd, als ik nog steeds zo nerveus zou zijn, dan weet ik niet of ik het nog zou doen. Want dat is zo stressvol. Nee, dat geloof ik wel. Maar er zijn artiesten die hebben dat ook. Je hebt toch gewoon ja, gewoon zangers en acteurs die dat gewoon echt hebben. Dat ze gewoon vooraf bijna moeten overgeven. Ja, kijk, dat zou, ik ben blij dat ik het niet meer heb. Nee, dat snap ik ook wel. Een beetje gezonde spanning is prima, natuurlijk. Dat heb ik op zich wel. Dat je wel gezonde spanning hebt van tevoren, zeg maar. En de eerste paar keer, heel lang geleden, ja, dan was ik echt wel best wel opgefokt, zeg maar. Maar als je weet. De eerste die zijn mond hebt, krijgt uit mijn presentatie. De AV tech gewoon. Nee, maar gewoon wel, je was gewoon zenuwachtig. Maar hoe vaak je het deed, zeg maar, toen dus, ja, dan gaat het eraf. Ja, dat helpt echt. Ik vond dat echt want die manager van mij, die zei dat ook. Hij zei dat hij nu ook heel nerveus wordt omdat hij het heel lang niet meer had gedaan. Dat heb ik dus nu ook. Ik denk dat ik al een jaar of vier of zo niet echt een talk mee heb gehouden. Zoiets zal het zijn. Dus nu zal ik weer wat zenuwachtiger zijn dan dat ik altijd was, zeg maar. Dus dat is wel jammer. Als je dat warm houdt dan. Maar wat ook het verschil is, als je bijvoorbeeld ik was laatst wel weer een keer nerveus omdat het de eerste keer was dat ik die talk gaf. Ja. En als ik een Git talk houd dan ja, dan kan ik dat kan ik zo'n beetje adlib of zo. Dus dat scheelt ook weer erg als je echt een topic hebt waar je zo zichtbaar van bent. Ja, precies. Maar ja, laatst had ik dus voor het eerst een talk over WebSockets en dat vond ik toch wel een beetje eng. Ja, dat snap ik. Ja, ja, ja. Ik denk dat het ook wat te maken heeft met de mate van voorbereiding. Je droomt praktisch Git. En als je dan in één keer een nieuw onderwerp moet gaan presenteren dan ben je er misschien wat minder zeker in. Dus ja, eigenlijk ook vind ik wel een mooie suggestie die je daar geeft, want straks kom je bij een opdrachtgever terecht en Johnny had het net al over met de nieuwe Rails app die daar het maken is. Pak je dan ook een andere architectuur of hou je precies hetzelfde? Ik weet dat Rails natuurlijk best wel opinionated is, dus misschien dat het wat minder spannend is. Maar ik merk dat in andere talen ben je er soms best wel vrij mee. SwiftUI is MVVM-oriented. Dan heb je ook nog CleanSwift. The Onion Architecture, Hexagonal Architecture. Dat is bijna hetzelfde. Het zijn allemaal afgeleide van elkaar, maar je hebt wel verschillende architecturen. Dat is eigenlijk gewoon gelijk de intro voor mijn volgende onderwerp, want dan zit ik een beetje mee van ja, hoe doorgrond je dat de eerste keer als je daar binnenkomt? Ik ben zelf begonnen met tekenen door middel van plant UML, old school, al zeg ik het zelf, maar ik heb er zoveel profijt van. Ja, voor mij helpt het inderdaad op een gegeven moment wel om af en toe is het wat uit te schrijven. Ja, ik merk dan gewoon dat ik ben bezig met iets en dan ben je gewoon in rondjes aan het werken. Dan denk je, oh, dit gaat niet werken. Undo, undo en dan ga je weer. Nee, dat gaat ook niet werken. En dan undo, undo. De derde keer. Volgens mij had ik dit net ook al geschreven. Dan gaat het niet helemaal lekker in m'n hoofd. En dan is het wel lekker om even af en toe gewoon op... Ik heb dan gewoon een klap of een multiline, hoe heet ze niet? Multimap leren. Een multiline. Een multiline. Een multiline steen heb ik liggen. Allemaal lijntjes. Zeker je gewoon een boksel of zo, een lijntjes, een peltje hier. Ja, nou goed, en dan ga ik als een raket. Dat is niet normaal. Nee, dus ja, dan teken ik het gewoon even heel simpel uit en dat is dan voor m'n hoofd net even wat structuur die ik nodig heb. Ik vind het wel heel chill als mensen bij het onboarden, als iemand het echt voor je op een bord, ook op een whiteboard, gewoon even een UML-diagram en er doorheen praat er wel diegene het tekent. Ja, dat is super chill. Nou, dat is het ook altijd. En dan kijk je naar die diagrammen en dan denk je, oh ja, dat is super logisch. En dan ga je naar de code en dan denk je, ik zie hier echt geen diagrammen meer in hoor. Dat is waar. Die documentatie, die loopt altijd a-synchron met... Dat is wel heel grappig trouwens. Dat was gewoon weer een jute. Ik moet die linkjes vast houden. Het ging ergens over dat er te weinig met UML ontworpen wordt. Want het wordt nu gezegd van ja, je begin maar en dan tekenen ze even bij een whiteboard iets. Dan had hij allemaal voorbeelden laten zien van bedrijven waar hij was geweest. Wat voor diagrammen, zeg maar, getekend worden. Het wordt allemaal... En dan liet hij de mensen zeg maar een punt geven van wat voor de kwaliteit van die diagrammen was. En dan zie je echt heel erg verschillende kwaliteiten. En ook heel onduidelijk wat je nou aan het tekenen bent. Want iedereen tekt eigenlijk gewoon vierkantjes met lijntjes. Maar wat het nou allemaal is, ja, dit is een component. Alles is dan, weet je wel zo, wat ik ook heel vaak doe, terwijl mijn UML is dat veel duidelijker. Ja, ja, ja. Ik heb inderdaad op de Haagse Hoge School kreeg je ook echt lessen in UML en zo. Dan zit ik nu wel eens naar die diagrammen te kijken. En dan, inderdaad, denk ik, heet dezegene nou dit gemaakt met het idee van UML? Moet ik zeg maar dit lijntje, dit stippellijntje, moet ik dat ook echt interpreteren als een stippellijntje? Of is het eigenlijk gewoon een optional lijntje of zo? Dus die persoon ben ik die die gewoon soort van, oh ja, UML is soort van met strepen en zo, maar puristisch al zeggen, wat doet dit? Ja, ja, dat. Ja, ja. Hoe ik het zelf in ieder geval zie is een tekening moet altijd een functie hebben. Dus meestal als we dan als een team ergens naartoe gaan werken, dan start je met een soort van schetsje die ongeveer 60-70% klopt. En dan ga je het implementeren en dan ga je het met terugwerking en kracht even bijwerken. Dat vind ik zo krachtig aan plant UML, want je dropt het gewoon bij je codebase. Iedereen kan het zien en kun je het gelijk eventueel aanpassen als iemand daarin een aanpassing heeft gedaan. En meestal zag ik een tekening in het begin dan als een soort van vinkje. Je deed voor je docent, docent blij. Je hebt het idee alsof je ergens over nagedacht hebt. Iedereen denkt dat je ergens over nagedacht hebt, maar ondertussen heb je 100 keer je code gereffecten. En, nou ja, wat mijn uitdaging was de afgelopen paar maanden, ik mocht een endpoint toe gaan voegen aan een C-sharp backend. Dus ik kende de architectuur niet, ik kende de taal nog half, en ik kende de principes ook niet. Dus had ik te maken met een Onion Architecture in combinatie met, houd je vast, CQRS. En CQRS staat voor command query, command query, responsibility. Iedereen komt erop neer dat je een scheiding maakt tussen je lezen en schrijven, inderdaad. Nou ja, als je dat de eerste keer ziet dan weet je niet wat je meemaakt. Command query, command handlers. Ze hebben het in Ruby, dus ze hebben het gedaan waar ik nu werk. En echt, ik vervloek ze, jongens. Ik hou ervan. Rails is echt voor mij fantastisch in het stukje dat je gewoon zegt van ik heb een nieuw attribuut, je voert een database migratie uit en overal kan je het gewoon in één keer toevoegen. Superhandig, je hoeft helemaal niets te doen. Ik moest ergens één keer één attribuut toevoegen, ik moest geloof ik op 16 plekken. Zonder test moest ik het overal in het toevoegen. Nou toen dacht ik, ja, weet je, dit is iets dan voor een andere taal die voor mij, ja, weet je. Je ziet gewoon alle voordelen van die taal eronder uit. We hebben hier met Dennis Domen, Dennis is daar wel in. Het werkt zeker. Ik kan zeker werken. Ik vind het ook helemaal geen rare combo van Onion en Curious TC. Doordat ik dus eigenlijk eerst ben begonnen met, oké, laat ik eens uittekenen van een get request van de front-end tot aan het einde, zeg maar, in bijvoorbeeld een sequence diagram. Heb ik dus eigenlijk geleerd, oké, waar moet ik zo meteen zijn? Ik ging een post request maken, dus voor een andere post request heb ik precies zelden gedaan. En doordat ik al die tijd en energie eigenlijk in mijn tekening in mijn ontwerp had gestoken, kon ik in de middag had ik mijn implementatie al geschreven. Je doet het echt al 500 keer volwassener, zeg maar. Toen ik begon. Trust me, dat is echt zo. Jij hebt het ook koud, he? Ja, het is wel kouig. Ik vind dit gewoon lekker koud. Maar die command-quay Responsibility, Sacrification, CQS is de voorganger daarvan, maar goed, dat mag je weer vergeten. Het is niet makkelijk, zeg maar. Nee, zeker niet, vooral als je er net inkomt. Dit was natuurlijk al een bestaande API die er al stond. Dus je wilt natuurlijk ook een beetje consistent zijn met wat er al staat. Het heeft geen zin om je eigen... Kijk, ik heb ook zoiets van, ik vind op dit moment het CQRS aanzicht, zeg maar, best een logische denkwijze. Alleen, hoe het bij ons nu geïmplementeerd is, vind ik raar. Maar het zit overal in, dus ik ga ook niet in mijn eentje even nu zijn als een van de olifanten in de porseleinkast. Die fiets je ook gewoon niet, toch? Nee, dat schiet ook niet op. Je zal toch altijd waar je ook komt en ja, grotendeels mee moeten gaan met datgene wat er al is. Maar wat jij doet op zich, ik snap het wel, zeg maar, je zei het OOA en je hebt CQRS, dan snap ik dat je dit gaat doen. Want als je zeg maar een eenvoudigere, in dotnet termen of in ander term, NVC applicatie zeg maar, dan is die wat eenvoudiger te overzien, zeg maar, met een normale datalaag, zeg maar, dan is het, ja, dat is gewoon simpeler. Ja, tuurlijk, het moet ook een functie hebben. Tegelijkertijd is het ook een beetje mijn verantwoording, omdat ik natuurlijk geen dotnet developer ben. Ik implementeer wel iets, dus ik wilde eigenlijk gewoon elke stapje wat ik opleverde, wilde ik gewoon kunnen verantwoorden. Ja, en dat een heel positief ontvangen, in ieder geval. Ja, dat snap ik wel. Heel verantwoordelijk. Deze stappen zitten niet in mijn YOLO flow. We hebben git flow, maar dit is inderdaad een YOLO flow. En die YOLO flow gaat wel veel tijd besparen, denk ik. Ja, de Wouter flow is wel... Korte termijn. Ik moet weten hoe goed ik daarmee ben, met korte termijn. Er stond er nog eentje. Testafspraken. Wil je daar nog wat over hebben? Testafspraken. Ja, dat was meer omdat vanuit C-Sharp zag ik dat er veel gewerkt werd met AAA. Volgens mij komt dat van oorsprong uit Java. Wat is dat? Arrange, act, assert. In Swift heb je given, when, them. Ook nog nooit. Als jij dat zegt... Dan is toch die gurken... Ja, dat is gurken. Even terug. Wat is AAA? Het idee achter AAA is dat met arrange zet je al je variablen klaar. Met act doe je je daadwerkelijke acties. En met assert, dan ga je de conditie testen of je test dan ook voldoet. Given, when, them is precies dat. Maar ik denk dat inderdaad bij AAA veel meer bier is gedronken. Maar dat is inderdaad hetzelfde. Dus met given, de eerste a was Arrange is given. En dan Actions zijn dan when. Laat hem alles eens omkeren. Jij bent een tester van beroep? Nee, product. QA? Ik moest even nadenken. Dus jij schrijft meer geautomatiseerde testen dan? Maar heb je daar een bepaald principe voor? Afspraken die je dan maakt? Ik neem aan van wel, want je werkt altijd in een team. Ik probeer altijd met het team samen een soort van mini testanalyse te doen. Over van, wat gaan we bouwen? Waar liggen de risico's? En welke dingen kunnen we automatiseren om de boel zeker te houden? Dus dan, wat ik ook heel vaak dan gebruik, is gewoon niks anders dan een requirementsanalyse. Dus dan begin ik eerst met de requirement en dan probeer ik de specificaties eerst van die requirement naar boven te halen. Dus een requirement zou kunnen zijn van ik wil relaties beheren bijvoorbeeld. Nou, dat is dan heel vaag. En dan met specificaties zorg je ervoor van, dan ga je samen ook met de business of hoe je het ook wil noemen de mensen die er wat aan hebben zeg maar, dan ga je probeert te specificeren wat dat dan inhoudt. Nou, ik moet inderdaad dan een krut kunnen doen of nog andere bijzondere business rules die dan om de hoek komen kijken bij relaties. Die specificeer je dan en dan als je die dan weer hebt, dan maak je daar weer testcases van. En dat doe je dan inderdaad met die triple A's en give them a den. Ja, dat is echt unit testniveau. Dat zou een unit test kunnen worden op een gegeven moment. Maar die Gherkin is toch vooral voor behavioral behavior driven. Dat hoor je inderdaad heel vaak. Maar ik zeg de laatste tijd tegen iedereen gebruik het vooral. Ook een unit tester kan ook wel eens handig zijn. Niet dat je die Gherkin moet gebruiken in unit testen, maar het patroon daarin. Dus dat is wel heel belangrijk. Want dat zie ik ook weleens met unit testen dat het dan vaak niet terugkomt. Dat iemand inderdaad die triple A's doorheen is gegaan. Bijvoorbeeld dat er dan ook geen assert aan het einde zit. Dat is ook zoiets. Als het goed is, zou die moeten zeggen hey, je bent niks aan het testen. Inderdaad, het zou moeten. Maar toch zie ik toch wel vaker. Volgens mij als je geen assert hebt, dan gaat die gewoon automatisch op true, toch? Dat ligt aan welke testing library. WhichbyUnit, die zegt dat veel. En Just geloof ik ook best. In RSpec zegt hij dan gewoon, in Ruby zegt hij gewoon pending. Oh, oké. Maar daar kijkt ook niemand naar. Ja, oké. Maar Gherkin is toch ook volgens mij zo geword met de bedoeling dat je ook met product owners aan de gang kan dat een product owner, want ik heb ooit in een team gewerkt waar de product owner dus Gherkin schreef. En zij was gewoon dedicated eigenlijk requirements aan het schrijven en aan het prioritiseren. En op basis daarvan was zij als scenario's aan het schrijven. En omdat Gherkin dan zo human readable is eigenlijk kon zij zelf die given when then dingen doen. En dan konden wij dat gewoon implementeren. Zij konden letterlijk gewoon het test vastschrijven. En wij konden dan de PAP daarachter, dat was Behead, gebruikte we toen. Dat was ideaal. Wat ook vaak genoemd wordt als acceptance test driven development. Dus dan heb je inderdaad wat ik net zei. Dus je hebt de requirement, de user story vaak. En dan heb je inderdaad iemand die dan die requirement verder uitwerkt in scenario's. Dan gebruiken ze inderdaad BDD. Daarvoor, dus om samen met anderen te analyseren wat de functionaliteit zou kunnen zijn. En dat dan vastleggen. En dat dan inderdaad als testen zodanig neerzetten dat je van tevoren al weet wat je gaat testen. Ik vond dat echt ideaal. Het is denk ik het smoesste team waar ik ooit in heb gewerkt. Ja, ik snap het. Ik heb ook een keer een hele lange discussie gehad over van met user stories. Ik weet niet, jullie zullen vast wel met user stories werken over het algemeen denk ik? Of niet? Ik niet meer. Gewoon compleet chaos. We hebben er wel mee gewerkt denk ik. Ja, ja, ja, absoluut. En op een gegeven moment hebben we ook een experiment gedaan. Daar hebben we niet meer en ook user story gebruikt, maar scenario's. Dus die given when then scenario's allemaal uitgewerkt en die gingen we dan als user story gebruiken. Dus dan hadden we een test scenario die we dan groen moesten krijgen. Dus de developer ging dan de given of vast verder uitwerken. Dat is best wel bdd toch? Je begint met het scenario en je gaat door tot hierna. Ja, zeker. Ja, klinkt goed. Maar ja, dat zou test afspraak. Maar ik heb ook weleens in teams gewerkt waar dat niet zo is. Maar dan is het inderdaad misschien toch jolo achteraf testen en hopen dat het dan goed is in productie. Ja, alleen gewoon een minimum coverage percentage instellen en dan hopen dat iedereen maar goed doet. Dat gebeurt best wel veel. Maar test coverage zegt ook niet altijd zoveel. Nee, dat zegt helemaal niks, maar het zegt dat je er een keer overheen gelopen bent, maar dat betekent nog steeds niet dat je het juiste test. Hebben jullie wel van de infectientesting gehoord? Dat is wel interessant. Als je het hebt over is test coverage nou echt zo nuttig. Want dat is een beetje who's testing the test. Want dat is een test suite die je dus kan, ja, die kun je later run over je code bezig. En wat hij dan gaat doen is, hij gaat regels coden, gaat hij omdraaien en dan kijken of jouw tests dan falen. Want het is de bedoeling dat als jouw tests goede coverage hebben, hij test dus eigenlijk je test coverage. Dus hij test de test die je hebt geschreven, daadwerkelijk goed coveren door je code express te breken. En als die dan niet falen dan zegt hij, die test suite van jou, die covert helemaal niet goed. Dat is heel nice. Mutation testing? Infection is geloof ik een specifieke library. Ja, want dat ene wat jij zegt, dat klinkt nou net even wat ja, noem het maar even, interessanter. Volgens mij bij mutation testing? Nee, dat is mutation testing. Oh, dat is wel hetzelfde dan. Ik noem het infection, omdat er volgens mij een PHP bij werkt, want ik heb heel eventjes meegewerkt. En die library heet infection. Oké, oké, nou interessant. Hij is al aan het schrijven, dat is mooi Wouter. Die neemt u mee. Je gaat die heel gestructureerd uitdeken. Wat ik even wilde zeggen over testafspraken, ik zou ook adviseren om goed te kijken welke risico je wilt nemen. Want je kan het testen, kan je oneindig doen, totdat je dood gaat. Wil je dat? Heel dark. Nee, maar als ik jou zo hoorde, dan moet je eigenlijk vooral eerst kijken van waar wil ik de meeste zekerheid krijgen? En ik denk dat dat gewoon echt cruciaal is in je testen. Ik heb nu een aantal testjes geschreven waar ik denk van ja, dat is een beetje wax on, wax off. Ik wil dat een model werkt, dat geloof wel, bij wijze van spreken. Maar als je bepaalde data ophaalt en die gaat door een soort van pipeline van acties, dan kan ik me voorstellen als je daar veel meer zekerheid en controle over wil hebben. En ik denk dat dat een beetje het punt is wat je probeert te maken. Ja, en dan probeer dan ook de impact te bepalen als het fout gaat. Oh ja. Dus ja, weet je, ik zeg welke waarde, welke betrouwbaarheid en welke impact. En hoeveel kans het heeft dat het fout gaat. Ja. Ja, dat is eigenlijk de strekking ervan. Ja. Cool. Ik heb ook vaak gezien dat mensen nog het framework wat ze gebruiken, ook nog eens gaan zitten testen. Ja. Dat dient ook niet. In Rails gebeurt dat heel vaak. Ja, ik verwacht dat als ik save aanroep, dat het aantal objecten in de database eentje omhoog is gegaan. Ja, oké. Dat dat die daarheen is gegeven. Prima. Maar je wil eigenlijk weten of daadwerkelijk de values die er dan in staan eventueel ook zijn wat je eens verwacht. Dat is ook al dat je denkt meh. Maar dan heb je er nog een soort van iets aan dat je kijkt van, doet die goede sanitation bijvoorbeeld ofzo. Weet je? Dat soort gebruik. Ja, oké. Maar ja, inderdaad met de added disadvantage hiervan is dan ook dat je als je framework specifieke dingen gaat testen, stel je gaat dan in plaats van gedrag, stel je gaat dan een ander tooltje gebruiken voor iets, dan kun je die hele test suite gewoon weggooien. Wij volgens mij niet daar moet beginnen. Nee, absoluut niet. Totaal niet nuttig volgens mij. Nee. Ja, dan hebben we denk ik het hoofdstukje Wouter goed besproken. Waarbij het woord GitHub best wel vaak gevallen is. En ik zie daar met koeiletters bovenin een onderwerp staan over dat GitHub gehackt is. Dat heb ik helemaal niet meegekregen. Ik vind het wel bijzonder. Ja, blijkbaar. Die Microsoft legal department. Volgens mij is GitHub niet gehackt. Het Slack account. Dat was het. Oh, oké. Ja, dat vond ik ook. Vertel. Wie kan hier iets over vertellen? Ik had wat onderwerpen proberen te bedenken. Ik zag deze voorbij komen een paar dagen geleden. Ja, daar schrok ik inderdaad wel een beetje van. Maar wat ik ervan gehoord heb is dat de private repos van GitHub zelf suspicious activity op een gegeven moment... Private repos daar was suspicious activity. Ze hebben dus gewoon vulnerabilities gechained zodat je uiteindelijk met een Slack vulnerability bij een private GitHub repo kan kopen. Alleen van die van Slack? Oh, van die van Slack? Of Slackorganisation op GitHub? Dus als ik hem even mag vertalen hier. Slack was genotificeerd dat er suspicious activity was op een GitHub account. Toen zijn er een aantal Slack employees hun tokens zijn dan gestolen en misbruikt. Ja, en dat was dan het issue. Dus dat bleek dan dat mensen die tokens zouden kunnen gaan gebruiken. Ja, en dat was wel even een dingetje dat ik dacht van wow. Hoe hadden ze die dan gestolen? Dat vraag ik me af. Het staat waarschijnlijk in het... Artikel zelf. Dat laat wel weer mooi zien. Stel je bijvoorbeeld AWS keys of API in je private repos en je denkt dat dat oké is. Het kan maar zo zijn dat iemand toch in je private repos komt. En als ze onder de radar blijven dan kunnen ze zomaar al je shit overnemen. Ik denk dat bij het grootste deel van de projecten dat je dat gewoon niet merkt. Het is echt niet dat ik overal al dat ding in heb staan zodat ik weet hoe vaak mijn API keys gebruikt worden. Oh, maar dit is wel een goede tip dan. Er is een tooltje dat heet ShuffleHawk. Dat is een CLI tool. En die is echt heel chill want je installeert dan ShuffleHawk en je geeft het dan aan repo of een hele organisatie op Slack. En die gaat dan kijken niet alleen in je huidige main head maar gaat op al je branches kijken in al je commits. Of er in de hele historie waarschijnlijk API keys en dat kun je zelf dan nog doen van laat het bevestigen, laat hem ShuffleHawk testen of die AWS keys bijvoorbeeld ook daadwerkelijk geldig zijn. Dat soort dingen. Dus die kan helemaal laten zien van welke keys zitten erin zodat je die keys gewoon kan weggooien. Want je kan natuurlijk als dat eenmaal in je history staat, je weet niet of er nog forks zijn ergens bij iemand lokaal. Ja, super handig. En dat doet hij snel ook. Dat doet hij erg snel. Ja, want die had ook een collega van mij die had in de discussie ook gehad van als er dan eenmaal een key in je history zit. Eigenlijk moet je alles zegmaar weggooien, je hele repo opnieuw. Iedereen kan dat ding te pakken hebben gehad. Dus eigenlijk de enige goede actie daarbij is je maakt die key ongeldig. Ik heb ook wel eens vragen gekregen van bijvoorbeeld laatst bij Zonneplan githalk gegeven en dat iemand ook vroeg is er een manier waarop je dus je keys die je en sommige mensen die zeggen dan nog wel is van oh ja, je kunt een hele history squashen en dat dan voorstpushen naar main, maar dan nog als iemand een fork heeft. Het is distributed. Git is gewoon distributed source control. Het kan overal zijn nu. Ja, precies, dat klopt. Je hebt van die tools, dat is zo'n Java tool volgens mij die dan de hele geschiedenis opnieuw schrijft. Dus dan kun je een deel eruit halen en dan weer helemaal pushen. Maar ja, dat heeft geen zin. Dat kost ook veel tijd. dus dat, oké, dus dat viel mee, want ik dacht echt dat er gewoon, ik lost it. Ik denk alle repen, alle private repen. Nee, nee, nee. Dat was niet. We hebben wel heel, heel vies trouwens op de de update pagina van het nieuwsartikel van Slack. Hebben ze no index, no follow voor de crawlers erop gezet. Zodat het dus niet te veel opgepakt zou worden door nieuwsartikel. Sneaky. Denk je ook niet dat dat gewoon is zodat bepaalde geautomatiseerde hacking tools bijvoorbeeld niet zomaar kunnen crawlen en dat soort dingen? Geen idee. Maar het was wel opvallend, want het was niet een tenner practice van hun nieuwsartikel. Oh, alleen op dat? Laat maar, laat maar. Ik dacht dat ze dat overal hadden. Ze noemen dat demarketing. Ja, ja, ja. Hilarisch. We kijken nu naar... Oh, die stond echt in het artikel. Oké, wow. Cool. Maar ja, goed. Dus eigenlijk, wat leerden we hiervan? Geen API... Geen API keys gebruikt. Gewoon niet. Maar dan voor Wouter, wat dan wel? Wat ook wel zo is, dat allemaal van die integratie. Nou, als je die kiest en je repo's hebt zitten, gewoon die keys ongeldig maken. Maar ook bij dit, dan zie je dat van die integraties die zijn heel erg convenient, maar die kunnen dus een attack factor zijn. Dus ja, je moet wel ook in je achterhoofd houden van hoe meer je gaat integreren en hoe meer systemen je aan elkaar gaat koppelen, op hoe meer dingen je gepakt kan worden, zeg maar. Ja, dat is waar. Dat vergeet ik ook en veel anderen, je haalt heel makkelijk tools en SaaS-producten haal je erbij. Het risico wordt alleen maar groter en groter. Dat is wel waar. Waar stoor je dan die API keys? In mijn zak. Ik doe ze in mijn broekzak. Maar je kunt de environment variables, dat het echt alleen maar op die machine staat waarvan het wordt gerund. Je hebt ook van die cloud. Dat is ook local. Volgens mij heb je in Azure de keychain geloof ik die je kan gebruiken. Ik weet niet hoe die in Google of Amazon heet. Ik ook niet. Dat weet ik niet. Van de key management ding heet dat geloof ik. Hij heeft er een of ander leuke abbreviation geloof ik. Bij Azure heb je er één, zeg maar, precies Azure Key Vault. Daarom zat ik naar die naam te zoeken. En dan kun je rechten hebben op. Dus ook via autorisatie, zeg maar. Dus dat je via OAuth en dan krijg je toegang tot die key. Dus dan hoef je niet eens de environment variable lokaal te gebruiken. Dan kun je via de key vault ook lokaal. Maar ja, wat als dan de cloud down is? Ja, maar als de cloud down is, ja. Dat is sowieso. Dat kan ook helpen om bijvoorbeeld bepaalde autenticatiestructuur al te koppelen aan je API. We hebben bijvoorbeeld Active Directory koppeling. Die heb je dan nodig om in te kunnen loggen. Maar die zelfde token die van Microsoft krijgt heb je dan ook weer nodig voor je request aan de API. Ook dat is weer exploiteerbaar. Ja. Ja, ik denk dat uiteindelijk alles exploiteert. Ja, sowieso. Je hebt verschillende flows in OAuth. Degene die meestal gebruikt wordt, die is te hacken, zeg maar, want die key is zeg maar een half uur of zo geldig. En er is een andere die, want die is eigenlijk, de oude is een beetje een nieuwe flow. OAuth 2? Ja, OAuth 2. Je hebt verschillende flows. Een x aantal bijvoorbeeld van machine to machine. Ja, hybrid flow, implicit flow. Precies. En dus dat is ook nog ja, dus OAuth is niet hackbaar. Zeg nou drie keer niet hackbaar, dan is hij wel hackbaar. OAuth is hackbaar. Ja, het is sowieso hackbaar. Dus het is ook een beetje de vraag van wat doe je met de token. Ik gebruik in dit geval de keychain van Apple, dus dan is het gewoon helemaal encrypted. En ja, ik maak dan gebruik van een Microsoft Authentication Library. Dus ik neem aan dat die jongens beter weten dan ik wat ze doen. Ja, wel. Maar goed, maar dit is bijvoorbeeld als ze zeg maar die die token te pakken krijgen. Dus weet ik van via phishing. Ook al is het encrypted. Dan ga je daar John Ripper kun je daar dan Ja, zeker een leuke tool trouwens. En dan kun je dat ook lokaal doen. Dus niemand valt, dan hoef je niet de hele tijd requests te gaan sturen dat dat een of andere bloeteamer zegt van hey, volgens mij gebeurt hier iets. Want dat kun je gewoon lokaal, kun je dat dan cracken. Ja, cool. Ja, dat ik nog een onderwerp. Wat gaan we er doen? We zijn al anderhalf uur bezig. Nee, volgens mij niet eens. Nee, niet eens. Hoe lang zijn we bezig? Inderdaad, net niet. Eén uur en 22 minuten. Doen we nog één? Een harde stop op Anna. We hebben twee, want jij hebt er eentje een gediend, Pauline. En er is chat GPT. Ja, nee, dat gaat over de banen en over de project. Zullen we ze snel doen? Doe je eerst die Project Solid maar, want die ken ik echt niet. Ik ben hier echt super hype over. Ik was er al een tijdje geleden mee in aanraking gekomen door een potentiële opdrachtgever wat uiteindelijk niet doorging. Omdat het nog best zo moeilijk verkoopbaar is. Maar Project Solid is dus iets wat ik heel erg vet vind. En het heeft alles te maken met zeg maar de decentralized web, maar niet web 3 zeg maar, niet crypto. Maar gewoon gedecentraliseerd a la Macedon bijvoorbeeld. Er is nu een best wel groeiend aantal mensen bezig met hun apps zeg maar decentraliseren. En hun data decentraliseren. Dat is dus wel een probleem wat web 3 en crypto zogenaamd dan wil oplossen. Helaas komen daar heel veel scammers op af en raakten heel veel ervan alsnog centraliseerd. Maar natuurlijk het idealisme daarachter was wel van, je hebt nu meta, je hebt Google, je hebt gewoon een aantal grote spelers die iets van 57% van alle internet traffic hebben. En ook het merendeel van onze data. En dat dat gewoon, daar zitten heel grote consequenties aan. Nou van weet je wel staatspropaganda tot aan letterlijk genocide aansporingen aan toe. Waar dan? Google, meta en genocide en je komt er vanzelf achter. Maar ja het heeft best wel serieus consequenties allemaal. En Tim Berners-Lee, degene die oorspronkelijk het web, het wereldwijde web, zoals wij die kennen, heeft gekoind en ontworpen. Die is nu niet meer blij. Die noemt het een perversie wat er met het web is gebeurd. En die had zoiets van de gebruiker moet weer controle krijgen over dienst eigen data. En die is Project Solid opgestart en die probeert dat nu een beetje aan de man te krijgen natuurlijk al een paar jaar. Best wel een tijd al. Ja best wel een tijdje. Maar het is natuurlijk heel erg lastig omdat data gewoon waardevoller is dan goud nu. Maar daar zit ook een limit aan. Dat is nu weer een beetje aan het afdalen zeg maar. Maar goed, wat Solid dus inhoudt is elke gebruiker die krijgt zijn haar eigen pot en daar hou je dus al je eigen data op. En in plaats van dat dus de data op de service staan van de apps die hij gebruikt en die dan aan third parties wordt verkocht en dat soort dingen. Geef jij toegang tot data op jouw pot om gebruikt te worden door die apps en dat kun je dan ook die toegang kun je dan weer zelf ontzeggen zeg maar. Dus ik kan me voorstellen dat je dan een UI hebt dat je dan zegt die en die gereeds wil ik aan die en die delen. Zoiets moet ik dan zien? Nou het gaat via zeg maar er zit een API layer op dus tot nu toe gaat het geloof ik gewoon echt met HTTP calls je pot is eigenlijk gewoon een server en die exposed op een semantische manier jouw data. Dus je kan bijvoorbeeld je profiel hebben waar dan je naam aan vast hangt en zo'n app die dan moet dan met dat protocol werken wat geloof ik op Sparkle is dan een semantische query taal en die vraagt dan op ik wil profiel van persoon en van profiel wil ik naam en dus dus dat is het een beetje en je kunt je pot zelf runnen als eigen server en die dan zelf expose of je kunt het hij heeft ook een bedrijf dat heet inrupt uit m'n hoofd die is van Tim Berners-Lee dus kun je er eentje huren Ja, die kun je eigenlijk overal draaien. Dus als je bijvoorbeeld hun niet meer vertrouwt, dan kun je hem ook weghalen en zelf ergens anders gaan draaien. Nou, dat is een beetje het idee. En ja, het is dus wel lastig om aan de man te brengen natuurlijk, omdat er voor de gebruiker nog best veel technische... Dus het is niet heel sexy voor de gebruiker. Nee, maar vandaar dat ik erover begon, van wat doe ik dan als leek gebruiker, wat moet ik dan doen? Ja, dat is het ja, als echt leek gebruiker ga je waarschijnlijk naar een plek als ze in ruptes om gewoon een pot te huren. Maar ja, je hebt ook use cases nodig. Op een gegeven moment een soort critical mass ook nodig voor zoiets om aan te slaan. Want mijn vorige werkgever was online identiteit. Dat is eigenlijk, liepen we gewoon tegen hetzelfde probleem aan. Mensen willen helemaal niet, zeg maar, die identiteit beheren of weet ik, die willen gewoon toegang tot die service. Ze willen gewoon apps, ze willen gewoon use cases, dus het boeit hun niet, zeg Maar wat wel hoopvol is, is dat er bijvoorbeeld Vlaanderen, die heeft al toezegging gedaan en die zijn er volgens mij ook al mee bezig, dat al hun burgers krijgen voor al hun overheidszaken hun eigen pot. Dus zij hoeven, dat wordt al beheerd en weet ik voor wat, zij hoeven daar dus niks meer aan te doen. Het staat gewoon allemaal op die pot en dat hele overheids ecosystem, dus je adres regelen, je belasting regelen, dat wordt dus al om solid heen gebouwd. Dat vind ik al heel goed. Ik snap echt, nou goed, dat is natuurlijk niet zo dat er allemaal eenmaal pannenkoeken bij de overheid werken, maar ik snap nog steeds niet dat mensen het oké vinden als politieke partij, of weet ik veel wat. Oh, laten we onze spullen op Facebook zetten en laten mensen erheen gaan. Oh, dan zit Facebook weer profieletjes te maken van ja, omdat je dan bij, op de VVD site bent gekomen, daar weer informatie uit, niet doen. En zo zijn er meer dingen, dat de overheid heel naïef is in dit doen, en juist overheden zijn inderdaad nu degene die ze maar aanspreken, omdat VCs en dat soort dingen, die zijn nog heel erg into ja, maar data, schouten, dit en dat, en nu met de AI is het natuurlijk nog meer over data, dus het is best wel lastig om te verkopen. Dus wat, wat zij nu aan het doen zijn, zijn inderdaad veel meer overheden aanspreken die gewoon geen baat erbij hebben om die data zo. Maar het is misschien ook wel handig om te weten, want ik weet niet of dat ook een stukje bewuster worden, dat je weet wat de overheid doet met je data, ik weet niet of dat er ook bij zit, want we hebben heel die, hoe heet dat, van de Belastingdienst, dat die blamage die nu al jaren loopt, de toeslagen, toeslagenaffaire, dus dat hele groep met mensen allerlei labeltjes aan zich geplakt krijgen en niet weten waarom, want ja, ja, je woont in uw wijk of jouw achternaam rijdt op, weet ik veel wat, dus dan ben je, ben je gewoon de sjaak tot. Ja, nou van die correlaties inderdaad dat je denkt van ja, maar dat is wel correlatie met vrouwen en dan, ja, ja, ja. Dat weet je dan niet, dus dat zou fijn zijn als je dan in ieder geval weet wat er gebeurt, dat betekent nog steeds niet dat, tuurlijk, kun je nog steeds zeggen dat iemand iets geks doet, zeg maar, dus dat lijkt me nog steeds niet raar dat dat vastgesteld wordt, alleen het is wel fijn om te weten wat de overheid doet met je data. Ja, plus er zijn ook bepaalde, er was één use case die ik heel erg, of nee, het was geen use case, het was meer een verhaal, een voorbeeld van wat je niet wil dat er gebeurt, ik weet niet wie of wat het was, maar er was een volgens mij een Nederlandse universiteit, of een Nederlandse universiteit, geloof ik, die wou weten welke van hun studenten in aanmerking kwamen voor een bepaald steunding, ik weet niet meer of dat financieel was, of een programma of zo, en die wou dus opvragen van, wie komen daar voor in aanmerking, en een van de dingen die mensen dan in aanmerking zouden laten komen is dan bijvoorbeeld, ze hebben mental health problems, dus die gingen opvragen van, hey, wie heeft er medische gegevens van, dus die hebben data opgevraagd, en die krijgen een hele bak data over studenten, en een universiteit, hun core business is natuurlijk niet het heel secure houden van heel erg gevoelige data, en dat is gehackt, en dat is dus van al die studenten, hun hele medische historie is gewoon op straat komen lippen, en dan heb je toch steeds, als zo'n plek nou gewoon een manier had om te zeggen van, hey, je mag dit, dit en dit specifiek, mag je van mij cherrypicken, zodat je weet of ik in aanmerking kom, dan krijg je niet eens te weten, wat nou precies mijn hele medische historie is, je krijgt alleen maar te horen, ja of nee. Nou, dat. Ja, precies, ja. Maar goed, ja, dat soort dingen. Alleen ook potentiëel, voor onze overheid, dat zou echt wel goud zijn, als je nu al even stilstaat bij hoeveel overheids applicaties je adres moet aanpassen, bijvoorbeeld. Ja, ja, en dat is dan alleen maar in één plek. Duo, you name it. Ja, klopt. Ik heb weleens gehad dat ik nog post kreeg op de adres van mijn ouders en elders overal mijn adres wel juist had staan. Ja, en dan kun je ook nog betalen voor een dienst van PostNL die dan automatisch al je, maar dat is dan voor een maand, ja, voor een half jaar of zo. Ja, precies. Maar inderdaad, dat is ook een van de selling points die ze aan Vlaanderen hebben gegeven van ja, dan kunnen mensen gewoon op één plek al hun data eigenlijk aanpassen en dan al die apps die daarmee werken, die zijn dan ge-updated. Dus ja. Jouw verhaal deed me even doen denken aan een keer toen ik de BNR in de auto aan het luisteren was. Dan ging het toevallig over een beetje een soortgelijke situatie zoals je beschrijft. Dat was niet zozeer een universiteit, maar het was even iets anders. Maar er moest inderdaad massaal data opgehaald worden met het risico inderdaad dat men de namen en dat soort dingen daarachter komen. Maar ze hadden een oplossing bedacht in die... Ik zal straks ook even de link delen in de show notes naar die podcast. Dat heet, even kijken hoor, multi-party computation. En even kijken. Klinkt een beetje blockchain eigenlijk. Ja, oké, inderdaad want het is een cryptografische technologie die de data zo versleutelt dat enkel de uitkomst van berekeningen zichtbaar is voor partijen. Niet helemaal op blockchain, maar wel een beetje ervan af. Ja, dus wat er dan gebeurt, het wordt van alles natuurlijk versleuteld, behalve de inhoud die je dan echt zoekt. Ja, ja, ja. Nou, dat inderdaad. En dat wordt dan samengevat, zeg maar, en dat wordt dan gedeeld in plaats van, oh ja, maar die persoon had zoveel medische problemen. Het is echt gewoon least privilege eigenlijk, want je wil niet gewoon van, oh, hier heb je een hele bak data over mij die jij eigenlijk helemaal niet nodig hebt. Ja, en het schijnt dus dat er een bedrijf die is daar dus mee bezig en die heeft dus een oplossing bedacht om bijvoorbeeld dus de overheden met met anderen samen te koppelen en dat die twee partijen zonder elkaars data, zeg maar, te delen, toch die informatie naar boven kunnen halen. Oh, vet. Als je nou voor de show notes erna daarachter zou kunnen komen, dan zou dat wel heel vet zijn. Zeker, zeker, zeker. Ik zal, ik heb hier toevallig de podcast aflevingen. Ze zijn in Europa, zijn ze er ook mee bezig om de Europese online identity wallet er door te drukken. Dat is eigenlijk zo'nzelfde soort idee. Dus dat je zodra je ergens een nationaal passport of ID card hebt, dat je dan ook toegang hebt tot een digitale versie daarvan en je dus online of en offline, ook in offline stores, daarmee zou moeten kunnen identificeren met alleen die data die op dat moment afgegeven hoeft te worden. Dus ze zijn ook in Europa breed, zijn ze er wel mee bezig. Ik weet niet wat de laatste staat is. Dan vraag ik me dan wel weer af van is het dan zo dat overal waar je dat ding gebruikt, dat dat dan gelocht wordt? Ja, dat zal, ja, dat zal. Dat was met die corona QR codes bij ons in Nederland bijvoorbeeld niet. Er waren heel veel mensen die dachten van, oh ja, ze willen ons die QR code laten scannen zodat we ze precies weten waar we zijn geweest en wanneer, maar dat was dus op zo'n manier dat dat juist niet zo was. Dan vraag ik me af of dat met dit ook het geval is. Want dat zou wel heel veel schelen. Want ze zijn er snel bang daarvoor. Nee, volgens mij waren ze nu inderdaad meer bezig met soort van outlines opstellen dan dat er daadwerkelijke implementatie gedaan was. Maar ja, hier was ik mee bezig bij een vorige werkgever. Dus ik weet niet wat de laatste staat daarvan is. Maar ja, ja, interessant. Identity Wallets wilden ze het noemen. Het bedrijf waar we het net even over hadden. Hoe heet het nou? De multi-computational. Ja, het bedrijf heet Roseman Labs. Roseman Labs. Klinkt echt super post-apocalyptic. Daar komt het zombie virus vandaan. Ja, dat klinkt waarschijnlijk een beetje als Cambridge Analytica. Ja, dat dacht ik ook meteen. Ik denk sowieso, dit soort oplossingen hebben altijd superveel potentiëel. Maar het is altijd even de vraag van wie doet het? En daarnaast is het ook wel heel belangrijk dat ik dat heel goed gekeken moet worden naar de ethische aspecten en hoe kan ik een bepaalde tech misbruiken. Facebook is nog ook nooit met deze gedachten gestart. Dat is mass marketing en het is een van mijn favoriete oosintools, om het zo maar even te zeggen. Ja, precies. Maar ook met Twitter. Kijk, ik ben me er altijd van bewust van wat ik op het internet zet. Dan kan ik altijd nadenken van ja, hoe kan dit mogelijkerwijs tegen me gebruikt worden? Niet iedereen doet dat. En vooral met zo'n project als dit denk ik dat het potentieel heel groot is. Maar de misbruik kan ook heel groot zijn. Nu noem je wel door Twitter, nu ook Elon Musk. Oh neer! Ja, ik had gezegd, maak het maar af. Vlak daarvoor was bijvoorbeeld die Twitter Circle geïmplementeerd. En toen dacht ik, oh dat is leuk, dat kan ik gebruiken voor foto's van mijn kind zonder dat ik dat aan mijn hele verhandeling. Maar toen kwam Elon Musk. Nu denk ik, het zou maar zo kunnen zijn dat hij over drie dagen beslist, oh al je Twitter Circle posts zijn nu openbaar. Dat zou me echt oprecht niks verbazen. Ja, of er zijn gewoon geen mensen meer die de code nog kennen. En dan oh, oh niks. Oepsie. Ja, degene die wist hoe dit werkt is ontslagen. Ja, dat is gewoon zo. Er zouden toch heel veel van die afdelingen zijn, toch? Ja, je weet het gewoon niet. Als een of andere billionaire gewoon al die bakken met data in één keer kan kopen on a whim. Je weet het gewoon niet. Ja, ik vind het, ja. Pauline, ik heb nog een vraag over dat project. Solid. Solid, ja. Wat doe je dan zelf daarmee? Ik heb er ooit naar gekeken en dacht van oh, hoe kan ik helpen met die gasten? Want dan kan ik een beetje mee programmeren. Ja, nog niks eigenlijk. Ik wil daar eigenlijk heel graag mee bezig. En er is ook een website voor. Dat heet geloof ik The Federation. Ja, ik weet het niet meer precies. Dat moet ik zo even opzoeken. Kevin Dunkloff van de API Platform is daar ook heel erg mee bezig. Die is heel erg activistisch en idealistisch en zo. Heel tof gast van die dat. Maar dat is een groep van apps die gedestentraliseerd zijn. En daar zitten dus dingen tussen die ook solid gebruiken. Dus ja, ik wil eigenlijk, ik doe er nu nog niks mee, maar het lijkt me heel vet om daar een app voor te schrijven. Allright. Gewoon aan het ecosysteem bij te dragen. Kan er poolrequests in schieten, zag ik. Ja, dat staat op die website hoe je kan bijdragen. Ja, maar wat ze nu geloof ik vooral nodig hebben is use cases, apps, mensen die apps maken. Ja, echt. Voor gebruikers interessant. Ja, dat wordt de adaption rate. Ja, dat is het lastige. Dat is een mooie brug. Naar? Of we nog steeds ontwikkelaars nodig zijn. Ja, dat is echt een slechte brug, maar wel een brug. Ja, ik stond even, is dat een brug? Ja, het is een brug als je de attitude hebt. Nee. Oké, gaan we verder. Nou, dit was de laatste aflevering van CodeKlets. Daarom heb je ons bij elkaar gestoeld. Ja, we stoppen ermee. Daarom heeft-ie ons uitgekomen. Dit is voor ons een verrassing ook. De volgende keer wordt het gegeneerd door de nieuwe Microsoft Speech Synthesis. Maar drie seconden ook. Dat zou best wel kunnen eigenlijk. Laten we dat een keer doen. Schrijf een aflevering CodeKlets in de stijl van CodeKlets. Dan gooien we al onze afleveringen in die AI. Kijken waar die mee op komt. Je kunt stemmen, zeg maar. Want ik had een tool... Wat heet dat ding nou? Whatever. Dan kun je de stemgeluid gewoon in die tool gooien. En dan kun je gewoon typen stukken tekst. En dan wordt dat zeg maar gewoon voor je gegeneerd. Creepy shit. Creepy shit. En hoe realistisch is dat? Ik deed dat drie keer met onze laatste podcast. Hij liep drie keer vast. Dus ik weet niet of dat nou... Ik denk dat we veilig zijn. Volgens mij zijn onze banen nog secure. Ja, precies. Een klein zijbrug. Ik heb een keer... Dat was een audio software. Specifiek voor pratende audio. En dan kon je je audio files inladen. En dan werd het zeg maar met speech to text op je scherm geprint. En dan kon je dus tekst editen. Ja, dat is deze volgens mij. Dat is dezelfde ook. Maar dat was nog super mooi. Je kan dus gewoon alles selecteren met e en um en weet ik het wat. En dan zeg je gewoon select al die tekst dingetjes. Delete. En dan loopt hij vast. Toen ik het probeerde niet. En dan had hij gewoon... Overal had hij het eruit gehaald. Hij was sowieso... De eerste versie of één van de eerste versies die deed Engels zeg maar. Nu kun je inmiddels ook in Nederland zeg maar doen. En wat ik deed. Dus je kunt vanuit... Dus dan had ik die tracks. Nee, die hadden we met Riverside gedaan. Zeg maar die online opname. En die kun je dan rechtstreeks exporteren naar die tool. Die export, dat ging al een paar keer fout. En als ik dan zei van analyseren en doen is. Maar dat ging. Ja, bij mij ging het niet. Dus ik had zoiets van tools. Descript heet het. Ja, precies. Ja, die tool. Ja, nice. Dan kun je een stukje bij typen. Ah, oké. Ik weet niet of dat al kan. En die kan het dan genereren. Maar ja, zijn we nog nodig? Ja, ik denk het wel. Ik heb voorlopig wel wat dingetjes gezien. Wat uit chat, GPT. Sommige dingen zijn inderdaad super nice. En ik denk echt wel ook een beetje een verlengdaar van GitHub Copilot. Ja, dat kan echt wel. Ja, het kan best wel helpen. Ik denk echt nog niet dat we bang over te zijn dat die dingen zichzelf helemaal programmeren. Dat is een beetje mijn idee. De vraag stellen. Ja, precies. De juiste vraag formuleren om het juiste antwoord te krijgen. Want dat is nog wel... Dat is een kleine tip die ik later... Maar dat komt straks wel. Dat vind ik nog best wel een kunst op zich. Want ik zie sommige prompt, zeg maar, van mensen. Dan denk ik zo, oké, creatief. Dat had ik niet verzonnen. En dan komen er heel interessante dingen. Dan gaat die echt wel nuttige dingen teruggeven. Dus die input daarvan, die is ook echt wel... Dus misschien wordt het dan dat het een hulpstuk is. Dus zoals we nu eigenlijk ook met Google. Want je moet gewoon goed kunnen Google als het ware. Moet je dan goed met ChatGPT kunnen chatten. Ja, ik denk dat het een concurrent wordt van Google. Dus dat je in eerste instantie gaat je chat GPT gebruiken. En uiteraard heb je altijd de skills nodig om te kunnen checken... of het antwoord wat je krijgt ook goed is. Want dat is ook heel vaak fout. Als je bijvoorbeeld een bepaalde oplossing geprogrammeerd wil hebben... met gebruik van bepaalde libraries. Zie ik hem heel veel fout maken, bijvoorbeeld. Nou ja. No comments waarom ik dat gebruik. Ja, precies. Nee, maar die fouten gaan er op een gegeven moment wel uit. En dan wordt het ook steeds lastiger om die fouten te herkennen. Maar dat is dan tegelijkertijd ook weer de valken wel. Want juist die subtiele foutjes die misschien welke initiale impact kunnen hebben. Het laatste wat je wil is dat iemand zomaar wat invoert. Het presenteert als zijn eigen idee en dat het eigenlijk gewoon helemaal fout is. Eigenlijk moeten we die data gewoon saboteren. Ik zag gewoon iemand op het internet die deed het tijd van 5 plus 5 is 11. En dan zegt JetGP 10, die zegt van nee, dat is 10. Nee, is echt zo, is echt 11. Oh, sorry. SQL injection code. Ja precies, dit is wel goed. Ik ben dus veilige code. Doe gewoon joh. Ja, wel heel, heel cool. Drop database master. Nee, maar hij kan het wel, ja. Want je zegt van ja, wat is het dan? Dan kun je zeggen van eh, write a piece of code in Python. Make it a single file. En dus dan maak ik wat een bestand. En gebruik deze libraries. Dus dat snap je. Dat snap je ook allemaal. Of snap die? Dat heeft hij als input gekregen en dat kan hij dus toepassen. Dus dat, ja, ik vind het wel, ik vond het echt wel indrukwekkend. Ja, ik moet zeggen, ik ben dus sinds. Twee maanden nu of zo heb ik een abonnement genomen dan op GitHub Copilot. Om dat dan toch ook gewoon te proberen. Trader. Maar ik merk toch ook dat, en met name bij een aantal collega's die ik ook heb, die gaan te veel uit van de code die gegenereerd wordt. Dus eigenlijk elke keer als de ding met een completion komt, drukken ze eerst op tab om hem te accepteren. En dan gaan ze vervolgens code weghalen, wat niet klopt of wat niet nodig is of dingen aanpassen. Maar voor mij heb ik dan, ja ik denk dan juist, dat breekt eigenlijk je eigen gedachte cycle gewoon, want je stopt met nadenken op het moment dat je iets accepteert van dat ding. Beetje alsof je de navigatie de slot involgt. Ja, en dat zie ik dan dus best vaak met wat per-programming sessies die ik dan heb gedaan met collega's van mij. Dan zie ik dus gewoon dat ze eerst iets accepteren, en dan vervolgens zijn ze gestopt met nadenken, en dan zijn ze drie keer dat hele stuk opnieuw aan het programmen. Ja, ik ben wel bang dat ik zo, maar dat ik dat ook zou doen. Want dan krijg je toch best wel, ja ik weet niet hoeveel code je krijgt, maar dat er een heel stuk code uitgegenereren wordt. Dan denk ik oké, ja nou dan haal ik die dingen weg, en dan ben ik toch geholpen als het ware. Je moet alles alsnog controleren. Ik bedoel het is gewoon een merge request dat je aan het controleren bent van eigenlijk Copilot. Want op het moment dat hij wat code genereert, ja dan heeft hij behoorlijk wat context, maar eigenlijk negen van de tien keer. Dat lijkt me ook helemaal niet leuk. Dan is de lol er toch helemaal van af. Ik hou van programmeren. Ja ik vind programmeren ook leuk, maar ik had laatst, ja goed dat ging, ik wilde zelf een tooltje schrijven voor FIFA toernooitjes. Dat denk ik al. Heel interessant he. Voor FIFA gewoon. Nee maar kijk nou die andere, de allerlaatste alweer, we wilden een toernooitje op FIFA, op de Playstation, en dan met z'n vieren zeg maar tegen elkaar. Even snel gewoon een league of zo tegen elkaar. En ik denk nou dat kun je wel programmeren. Nou dan moet je zorgen dat je allemaal tegen elkaar gaat spelen zeg maar, en dat is dan je schema. Dus die logica wilde je gewoon. Ja ik dacht ja weet je, dat kan ik best wel. Toen heb ik het er in gegooid, en ik ook gewoon met de juiste algoritme, ik dacht nou dat is easy peasy, dit is wel handig. Voor dat soort dingen is het wel erg fijn. Dat is gewoon een beetje dom werk. Ja je had het zelf ook kunnen, maar dat kost je gewoon wat tijd. Ik weet nog wel dat mijn neefje, die is ook sinds kort game developer, en die zit nu op school, en die is dat aan het leren. En die vroeg mij een keer, ja wat is nou de beste manier in Java, of weet ik veel wat voor taal maar, om een voorloopje te maken. Toen heb ik het gebruikt eventjes. Ik had te kijken, wat bedenkt hij nou? Want ja, ik heb ook wel een paar ideetjes daarover, maar ja, wat is nou de beste, en wat is het meest aangeraden? En toen heb ik gezegd, chat GPT. Ja, toen heb je verpest. Ik heb een verpest, altijd heb ik een verpest. Ja precies. En nu heb ik een hele lange code, waar die niks aan heeft. Ja precies, iedere keer op school, gewoon chat GPT. Maar voor de verledenheid, volgens mij is hetgene, dat de code schrijft, heet Codex. Dat kan, dat weet ik niet. En chat GPT is echt die chatbot, maar het is allebei van OpenAI. OpenAI, ja. En dan hebben ze dus chat GPT, dan hebben ze Codex, en ze hadden, ze hebben nog een derde. Dat is ook een Dali. Dali, ja. Dat is die image AI dinges. Oh, wauw. Die image generatie, dat kun je ook helemaal, je in verliezen. Dat is ook wel echt, dat komen ook wel spooky dingen uit, maar soms ook echt hele mooie dingen. Maar goed, dat is weer een andere. En die tweede vraag die je stelde, dus de eerste was, is er nog wel veel vraag naar software-entwikkelaars, of zien jullie dat het is afgenomen? hebben jullie daar iets, een beeld bij? Nou, wat ik straks al zei, mijn LinkedIn-box, merk ik echt helemaal niks. Het is voor nu, geloof ik, big tech, maar die bubbel die we zagen wel aankomen, dat die 200, 300k total camp, bij van die big tech dingen, dat dat gewoon niet sustainable was. Maar ja, of het ons nog gaat hitteren hierna, misschien is dat iets wat bij hun begint, en dan doorzijpelt naar ons. Ja, I don't know, maar... Nee, ik weet het ook niet. Ja, we zien wel, anders gaat het gewoon helemaal al pakkaboer eruit beginnen. Ik hoorde wel, volgens mij dat Bob het komt, of een aantal bedrijven, dat is weer bezuiniger, volgens mij. Want ja, ik denk, ja, je hebt net twee knijtergoede jaren gehad, en nu gaan we nu bezuinigen. Ik zeg, ja, dat snap ik, maar... Ik heb wel het idee dat bepaalde industrieën, want ik heb dus het idee, ik doe nu die aviation tech dingen, ik heb nou niet het idee, ik zie nou niet echt een reden waarom zij effecten zouden moeten zijn, omdat zij gewoon in de luchtvaartindustrie zitten. En dan vraag ik me af van, ja, dat is toch een ander potje dan social media en... Weet je wel? Ja, oké, maar aviation heeft wel een knal gehad tijdens COVID. Ja, maar dit is allemaal kleine, dit is niet commerciële luchtvaart. Dus ja, dat is... Wie heeft dit gedaan? Ik had effe gevraagd of die een einde voor de laatste aflevering kost. Oh, vet! Het is vrij nietzeggend, maar het is wel... Oh, maar ik vind dat we hier wel mee moeten afsluiten. Dit vind ik echt een mooie. Hey, Johnny, is dit een hint of zo? We hebben nog tips. We hebben nog de tips. Laten we daar maar heen gaan. Oké, daarna komt onze mooie chat. En dan gaan we hem traditioneel, zoals jij hem helemaal in het begin ook een keertje deed, zo heel nerdy, ging je dat voorlezen. Dat zou wel echt leuk zijn. Kan je dat nog herinneren? Ja, vaag, maar ik weet niet meer wat voor stemmetje ik was. Toen was ik wel in het get-up bij. Oké. Hij was echt heel nerdy. Maar goed, anyway, de show notes. Dat heb je heel mooi bijgehouden. Ik denk Bernard vooral. Ja, dus dat is fijn. Dat ben ik heel blij mee. Dus al die links die komen in de show notes, die langs zijn gekomen. Heel veel zijn er langs gekomen. Maar de tips. Ja, begin bij Bernard. Mijn eerste tip is een boek. Het heet Tomorrow, Tomorrow, Tomorrow. Zelfde trend, een beetje van Ready Player One. Ready Player Two vond ik niet zo goed als One. En dit vond ik wel weer een heel goed boek. Een boek wat ik het meeste ster heb gegeven in 2022. Interesting. En dan heb je... Sci-Fi toch, denk ik, of niet? Science fiction. Of is het een codeboek? Nee, het is geen codeboek. Het is gewoon fictie. Near future. Oh, near future. En dan een tip is cracking the cryptic. Voor als je heel veel sudokus wilt maken die allemaal echt uitdagend zijn. Ze zijn moeilijk en ze worden steeds moeilijker. En als je geen zin hebt om ze op te lossen, dan is er bij elke puzzel een heel relaxed video. Van iemand die achterover in zijn stoel die puzzels op gaat lossen. Dat was cute. Heel relaxed is het. Nou, dat waren mijn tips. Mooi. Pauline? Ja, ik heb ook een kort lijstje met drie tips. Er is er nog eentje bij gekomen. Maar de eerste, ik ben sinds MCH, dus Make and Take in Hackers, waar we het ook voor de opname over hadden. Dat was een hackercamp deze zomer. Dus elke vier jaar is er eentje in Nederland. Ze heet altijd anders. Iets anders. Maar ik geloof in dit geval over drie jaar, omdat die van dit jaar een jaar was verlaten. Verlaat, vertraagd door COVID. Maar ja, dat was mijn eerste hackercamp. En sindsdien ben ik helemaal verknogd, zeg maar, aan hardware, cybersecurity. Dus ik heb een soldeerbout gekocht en heb even een Edifruit bestelling gedaan. Maar ik ben ook met cybersecurity bezig gegaan. En gewoon in de American Book Center in Amsterdam vond ik dit boek. Bug Bounty Bootcamp van Vickie Lee. En dat gaat dus heel erg over bug bounty programs en waar je die kan vinden. Heel veel tech bedrijven hebben dat dus openstaan. Dat als je security vulnerabilities vindt in een website, dat je dan bounties betaald krijgt. En ik ben er natuurlijk nog niet heel goed in. Want het is best wel een vak apart, zeg maar. Maar dit boek is heel goed voor de basics van bug bounty dingen doen. Dus waar je die programma's kan vinden, welke tooling je kan gebruiken, welke web vulnerabilities er heel veel voorkomen. Nou moet ik wel zeggen dat het heel veel de basis vulnerabilities zijn. Dus heel veel frameworks en zo, die zijn er al bekend mee. Dus die vind je vaak niet meer bij echte bug bounty programs. Meer op de kleinere websites wil je die vaker nog wel tegenkomen. Maar het is voor de basis gewoon heel goed. En ook als je eigenlijk niet aan die bug bounty programma's wil meedoen, is het als developer, ik sloeg echt achterover van verbazing. Van holy shit, ik ben hier nu zo lang mee bezig. En er zijn zoveel basale dingen die ik gewoon nog niet wist, die gewoon onveilig zijn. Het is heel sick. En als je dan een beetje de smaak te pakken hebt, dan kun je naar Hack the Box. Vind ik heel tof. Ja, dat is één. Ik ben er toevallig inderdaad een tijdje geleden achter gekomen. Super interactief, super tof. Geweldig. Het is gewoon letterlijk wat het zegt eigenlijk. Je krijgt een box. Het is een soort van VM. En dan is die op een bepaalde manier vulnerable. En dan zegt ze, nou hack maar. En dan kun je met de hints, kun je dat proberen te hacken. En als je er echt niet uit komt, kun je een walkthrough meepakken. Nou, moet ik wel zeggen dat zelfs de new boxes die je zeg maar als intro gebruikt, vind ik echt al best wel lastig als nieuwkomer. Dus ook al ben je al heel lang developer, is cyber security duidelijk echt een heel vak apart. Daar heb ik een antwoord voor, want jij triggerde me met de Hack the Box. Try Hack Me is juist veel toegankelijker. En dat kan misschien juist weer te makkelijk zijn voor sommige mensen. Nou, misschien begin ik daar eigenlijk. Misschien ga ik dan eerst weer naar Try Hack Me. Ieder jaar heb je natuurlijk Advent of Code. Zij hebben Advent of Cyber. Waarbij toegankelijk is zeg maar voor iedereen die de GP-peno versnapt, zeg maar om ermee te beginnen. En dat is echt heel erg cool. Oh geweldig, ja dan ga ik even daar kijken ook. Want de Hack the Box vind ik dan en maakt ook een heel cool cyber geluid als je hem hebt gehacked. Voorheen was het zo dat je niet eens een account kon aanmaken. Dan moest je de puzzel op de website oplossen. Wat cute. Dan kreeg je een key en daarmee kon je pas een account aanmaken. Oh jammer dat ik dat niet weer. Ik denk dat ze daarmee niet heel veel animo kregen. Ja inderdaad, het is qua conversie niet geweldig. Maar ja, dat vind ik dus heel erg tof. Capture the Flags, de CTF's zijn er ook heel veel van online. Is ook een goede manier om je suit te houden. Je liet naar de shirt zien. Ik heb een Capture the Flags shirt gewonnen bij Stripe. Oh nice. Maar be warned, het is heel verslavend allemaal. Het is echt heel erg leuk. Vooral met die coole cyberglijtjes op het eind. En voor de gevorderde hektebox heeft ook battles. Wat wel heel vet is. Dat je gewoon letterlijk tegen iemand battelt. En je moet dus bijvoorbeeld je eigen box defenden. Terwijl de ander erin probeert te komen. En jouw root flag probeert te jatten. Ja echt tof. Kompleet gegamified, dat hele penetration. Ja dat is wel nice. Je hebt ook z'n Twitch streams ervan. Ja ja ja. Ja heel tof. Is het gebaseerd op dat Linux framework? Kali. Kali, dat is een Linux distro. Dat is wat je ook zeg maar op een gegeven moment wel nodig hebt. Om deze dingen te kunnen doen. Ik gebruikte het inderdaad lokaal. Had ik gewoon op een gegeven moment de Kali Docker me binnen getrokken. Want je hebt inderdaad met OpenVPN connect je naar hun VPN toe. Dan krijg je zeg maar toegang tot je VM. Tot die box. En eigenlijk ja op een gegeven moment zeggen ze gewoon succes. En is het echt van oké ja dan gooi je eerst maar die Kali scanner erover heen. Ja kijk maar even. En dan ineens zie je. Dan krijg je terug ja port 22 staat open. Nou oké. Letterlijke ingang zeg maar. En dan ja wat kan ik vanaf hier doen. Ja en het is echt heel erg leuk. Maar voor de context wat Kali is trouwens. Kali is een Linux distro. Die dus al waar heel veel van die tools al op gepre-installed staan zeg maar. Dus dan kun je die distro kun je installeren. En dan kun je eigenlijk goed mee met de. Je hebt ook nog perret OS geloof ik. Dat is een soort concurrent van Kali. Oké die ken ik niet. Die ken ik niet. Maar ze zijn beide gewoon lightweight distro's. Eigenlijk ook niet bedoeld om te gebruiken als desktop. Kun je vaak al op een stikje installeren. Ja precies. Cool. Ja en dan mijn laatste tip was even waar we het net over hadden. Die Docker tutorial die ik aan het begin van mijn freelance loopbanen. Die hele channel is heel erg nice als je DevOps dingen wil leren. Het heet Tech World with Nana. En er was dus een drie uur Docker tutorial die super compleet was. Die ik dus heb gevolgd die het heel goed uitlegde. Waarna ik dus gewoon echt het gevoel had dat ik Docker gewoon. Van binnen en buiten kende zo'n beetje. Het zal vast niet, maar het voelde heel erg volledig. Oh vet. En ze heeft ook bijvoorbeeld Kubernetes tutorials. Die soort gelijk zijn naar get up actions en dat soort dingen. Gewoon alles DevOps related. Ze heeft ze hele goede tutorials. Zijn ze betaald of? Gratis gewoon. Allemaal YouTube inderdaad. Tech reform best practices. GitOps in 10 minutes. Heel nice. Cool. Johnny. Oh was ik de volgende. Ja oké. Ik heb net twee seizoenen van een nieuwe serie gekeken. Dat is tenminste nieuw. Voor mij een nieuwe serie gekeken. Die Outlaws. Stephen Merchant. Ja is een serie met Stephen Merchant die je kan kennen van die office. En Christopher Walken. Die loopt al wat jaartjes mee. Dan een combo. Ja aparts maar heel tof. Maar het gaat dus over een aantal gedetineerden. Allen op een eigen manier. Die worden, ja ze moeten een community center gaan opbouwen. Of in ieder geval gaan restaureren. Community service sorry. Dus ze moeten het ja. Is dat TBS? Nee dat is niet echt TBS. Dat alternatief voor in het leger gaan. Ja een soort plantjes goffelen. Maar goed die worden dus met zes worden ze op deze taak gezet. En ja van het een komt het ander. En ze lopen steeds verder in de soep. Met allerlei dingen die gebeuren met drugs onder andere. Het is compleet over de top. Maar wel op een bepaalde manier en een bepaalde stijl. En met supergoed acteerwerk. Waarvan ik echt ja ik heb de laatste maanden niet zo hard gelachen. Of zo vaak gelachen. Als met deze hele simpele stomme humor. Inderdaad goed alle twee die grote acteur. Steve Merchant en Christopher Walken. Christopher Walken dank je wel. Ze zijn alle twee soort van awkward op hun eigen manier. En dat brengen ze in deze serie ook echt super goed over. En ja ik vond het in ieder geval heel erg leuk om te kijken. Toevallig gisteravond de laatste aflevering van seizoen 2 gekeken. The Outlaws en waar kan je hem kijken? Goede vraag. Hij was gewoon op BBC First. En hier staat hij op? Prime video. Ja, prime video. Er staat prime video inderdaad. Volgens mij hebben wij nog wel een BBC First accountje. Mijn tweede tip. Totaal iets anders. Sustainable Vlezenvis via Grutto. Grutto bestond vroeger als KopenKoe.nl. Die zijn tegenwoordig rebrand naar Grutto. En terecht, want KopenKoe klonk, vond ik erg luguber klinken. Is het natuurlijk ook wel ergens. Tegenwoordig doen ze niet alleen maar koeien. Ook wild, kip, vis. Oh, wel sustainable. Je koopt dus eigenlijk met z'n allen. Je koopt met z'n allen een soort group buy. En totdat de koe verkocht is, leeft de koe nog gewoon. Althans, dat willen ze je doen geloof ik. Volgens de UX. Maar ik weet niet in hoe ver het achter de schermen zo gaat. Maar zodra de koe volledig verkocht is, wordt die van kop tot staart voor de mensen die hem gekocht hebben verwerkt. Dan wordt het vlees nog gereipt. Eventueel in het geval van runtvlees. Dus het duurt ook echt een maand voordat je daadwerkelijk je vlees in huis hebt. Maar het wordt gekoeld aangeleverd. Gevacumeerd. Dus je kan het gewoon lekker in je vriezering keilen. En ja, de kwaliteit van het vlees is superhoog. En gewoon het feit van de hele de hele experience die eraan vast zit. Vind ik erg positief. Steunt de boeren ermee. Ja, dat moet ik even zeggen. Ik weet niet waarom. Trots op boer. Ja, ja, ja. En als laatste een blogpost waarom Jamel eigenlijk dood moet. Dat kunnen we met z'n allen over eens zijn. Maar deze blogpost heeft de Jamel document from hell. En hij geeft erin een aantal voorbeelden waarvan je inderdaad ook echt denkt. Ja, weet je, dit is vele Jamel. Maar inderdaad, precies. En het is ja, het is gewoon een beetje een rent post uiteraard. Maar ik vond het wel grappig. Want wat was er nou ook weer met Norway? Ja, dat is no. Dat is no, dat wordt false. Omdat hij niet snapt dat het een string moet zijn. Oh nee. Ja, omdat je quotes zijn optional natuurlijk in Jamel. Dus dat gaat allemaal mis. Maar hoe interpreteer je dat dan ook als false? Je zegt dat no is toch niet... Ja, precies. Een van die grappige dingen als je versioning gebruikt bijvoorbeeld. Als je een dridelige versioning, een semantic versioning hebt. Zoals iedereen. Dan herkent hij dat als een string. Maar als je nou gewoon twee, maar één punt tussen zet zeg maar. Dus je hebt gewoon alleen major, minor. Dan wordt het ineens een numeral. Moet je er maar punt nul achter zetten. Ja, precies. Dus dan krijg je ineens unintentional numbering in Jamel. Oké, dan wordt het een float. Dus fantastisch. Het is gewoon lekker een rent. En ik vond het wel grappig om even te leren. Dat is wel leuk. Mooi, mooie tips. Next Kishen. Even kijken. Ja, ik heb ooit. Dat was vorige maand. Heb ik van iemand een tip gekregen om op Netflix de Midnight Club te gaan kijken. En ik dacht ik deel hem even met jullie. Ik ben in de derde aflevering. Ik weet nog niet zo goed wat ik ervan moet vinden. Goede tips. Ga hem kijken. Want hij is zo mysterieus. Hij is zo mysterieus dat je blijft kijken. Nee, nee, nee. Het is zelfs een half ouder. Nee, echt. Het is echt gewoon een beetje. Het moest in ieder geval mij in ieder geval laten denken aan allerlei series die ik vroeger keek. Oké. Weet je wat? Er was ooit een keer een serie, ik kom even niet meer op de naam, dat er een groep kinderen bij elkaar kwamen in het bos. En dan gingen ze allemaal van die enge verhalen aan elkaar vertellen. Ik weet niet of jullie die serie wel kennen van vroeger. Ja, die ken ik wel volgens mij. Is het niet Ghost Stories? Witch Project? Nee, dat is heel wat anders. Dit zijn echt kinderen die elkaar naar ghost stories gaan. Jij denkt de Blair Witch Project. We hebben Witch Project gezien. Dat is heel wat anders. Nee, dat is iets heel anders. Maar inderdaad, dit is de slechtste tip ooit. Ik moet eerlijk zeggen dat ik hem, ik vond hem op zich wel vermakelijk, maar het is niet echt dat ik denk van wauw, super. Eigenlijk is het geen tip. Dit gaan we wel even knippen. Moeten we jouw knip foto rate ook? De kniptip. Ja, ik moest even wat snel bedenken jongens. En ik heb ook nog een boek gelezen. Ook niet zo goed? Deze was best wel een eye-opener, want ik ben afgelopen jaar letterlijk ook product owner geweest. Iets wat ik heel erg uit het boek heb gehaald is om te blijven vasthouden aan de visie van het product. En dan zou je denken, hoe moeilijk kan het zijn? Maar geloof me, ik heb vaak zat meegemaakt dat je allerlei shortcuts neemt om stakeholders blij te houden. En dat je dan denkt, ik doe hier even een quick win om een quick buck te verdienen. Daar zitten best wel veel praktische tips in om dat tegen te gaan. Ik heb ook nog een YouTube filmpje van de schrijfster die even kort het boek vertelt. Ook best wel vol met inspiratie. De product kata heb ik eruit gehaald. Je begint altijd eerst met het begrijpen van de visie. En daarna doe je een assessment op de huidige staat van die visie. Dat is gewoon superbelangrijk. Dus je begint eigenlijk eerst met data collection. En als je dat dan hebt, alleen dan pas kan je spreken over van oké, ik ga een volgende stap doen in een user story. In plaats van... Je hebt wel vijf sterren trouwens. Ja, dus daar had ik gelukkig wel iets mee. Maar ja, ik zou ook zeggen, mocht je dit interessant vinden, kijk eens anders eens even naar het YouTube filmpje voordat je het boek koopt. Want het YouTube filmpje vertelt ook al heel veel. Nou, mooie tips. Cool. Wouter? Ja, ik ben eigenlijk door Pauline een beetje getrekken om hele tips over de bühne te gooien. Dus ik heb even wat nieuwe dingetjes erbij gezocht. Hij had ook allemaal slechte tips. Ja, ik kan wel weer een boek gaan noemen of zo. Maar ik denk van ja, hack the box. Het is gewoon super gaaf. Dus eigenlijk zou ik gewoon zeggen, Edvent of Cyber geeft de keer een kans. Niet alleen om gewoon wat nieuwe skills te leren. Het geeft je ook een kans om bijvoorbeeld wat verdere verdieping in je kennis van Linux te verdiepen. En als je dan toch zegt, ik ga de hackerkant op, maar dat doe ik omdat ik Linux wil verkennen. Dan zou je bijvoorbeeld Linuxjourney.com kunnen proberen. Bij allerlei door middel van tutorials en kleine commando's eigenlijk heel snel. Goede website. Werkt die niet meer? Dat is het begin van de journey. Dan moet je eerst even NGINX configuratie aanpassen en dan kom je bij de website. Ja, de site werkte altijd, maar zullen jullie net zien dat de plat ligt. Maar goed, gelukkig heb ik genoeg alternatieven, want er is natuurlijk op YouTube ook Network Chuck, die ook heel erg ingaat op onder andere Docker of simpele basisconcepten zoals het OC-model, we kennen het allemaal, tot diepgaande cybersecurity of hoe je thuis je Raspberry Pi kan inrichten. Dat is echt heel erg cool. En op Netflix kijk ik momenteel The Recruit. Doe maar een beetje denken aan een combinatie van de snelle actie en schrijven van suits, gecombineerd met een beetje homeland. Ja, ik vind het persoonlijk ook heel erg tof. Het is lekker snel geschreven, gaat over een CIA-advocaat die je betrokken raakt bij een internationaal potentiëel scandaal. Dus ja, het kijkt lekker weg. Ja, ik vind acteerwerk ook wel tof. Is het meerdere seizoen of is dit? Eerste seizoen, seizoen twee is volgens mij al bevestigd. Oh, oké. Ik vond het best wel... Ik denk van, dit kan toch nooit. Het is een beetje over de top. Maar het kijkt lekker weg. Ja, echt. Ja, dat heb je met deze dingen. Zo, dat was weer een... Wat is nou de tofste serie van vorig jaar die je gemaakt is? Die je gezien hebt? Ever, vorig jaar. Zeg het. Ja, gemaakt is weet ik niet. Maar gezien, ik vond uiteindelijk House of the Dragon. Dragon? House of the Dragon. Ja, niets. Ja, ik vergeet altijd, is het nou meer wat of niet. Die vond ik het meest in The Dragon en dan niet eens per se het verhaal. Maar ik vond de koning... Laat maar niet uit. Ja, Matt Smith. Die speelt echt belachelijk goed. Bedoel je Matt Smith? Die, zeg maar, dat is niet de koning, dat is zeg maar die oom. Jawel, de koning. Nee, nee, nee, wel de koning. Ja, die oom ook. Die bad guy zeg maar, die speelt sowieso goed. Dat is Dr Who ook. Ik weet niet. Ja, precies. Maar de koning, die speelt ook echt belachelijk goed. Dus dat is voor mij vorig jaar een hele goede serie. Ik vond zelf White Lotus eerste seizoen fijn. En ik ben heel nieuwsgierig naar Slow Horses. Die heb ik ook nog niet gezien. Dat klopt. Maar White Lotus is echt een aanrader. Als de sfeer je aanstaat, een beetje broeierig, dat je denkt van, net onderhuis, het is een beetje ongemakkelijk allemaal. Waar gaat het naar toe? Kijk even naar seizoen 1, je weet het al, naar 1 aflevering. Ja, ja, ja, want mijn vriend die altijd gekeken en die zei, ja, ik weet niet of ik hem voel, maar ik lees er zoveel en hoor er zoveel goed. We moeten de muziek ook best een beetje hard zetten. Het is goed, het past goed bij elkaar. Ja, ja, ja, ja. Is een serie, toch? Netflix ofzo? Ja, ja. Oké. Ik heb ondertussen ontdekt waarom Linux Journey plat ligt trouwens. De eigenaar is bezig met de website opnieuw opzetten. Ja, omdat hij het te maken heeft met Solos WeSpeak. Kan hij dat eerst niet even met ons overlefd volgen? Ja, ik denk, doe even de status page ofzo, maar op een of andere manier ligt het plat, dus ik denk dat hij misschien op de gratis stier van Heroku zat en aan het verhuizen is ofzo. We zitten net een podcast op te nemen. We hebben even een stier op een berichtje. Dat kan niet, hè? En het is live. De live-streaming. De GitHub repo is toegankelijk, dus als je echt zo graag die wedstrijd hebt. We zelf klonen. We gaan oplezen. Coolen. Builden. Let's go. Oké. Dat waren je tips. Ik heb nog, ik heb twee tips. Het valt even tegen. Nee, een serie op, ik twijfel nu, volgens mij op Netflix. Only Murders in the Building. Het gaat om drie mensen. Die hebben eigenlijk niks met elkaar. Twee oudere mannen en één jongere vrouw. Dat is jongere vrouw Celine Gomez. Die hebben alle drie een heel erg interesse in een podcast. Een true crime podcast. Daar zijn ze helemaal fan van. Daarom denk ik dat ze het kennen. En dan komen ze elkaar tegen. En dan toevallig wijzen. Ja, vind je die podcast tof? En ze wonen allemaal in hetzelfde gebouw. Het is een of andere appartementencomplex in Amerika. In New York. En ja, de titel zegt het natuurlijk al. Er wordt iemand vermoord in dat gebouw. En dan gaan zij uiteindelijk een podcast maken over die moord. En dan gaan ze zelf een onderzoeken. Een beetje too true. Ja, het is heel grappig. Het is een beetje humor. Ja, eigenlijk is het gewoon een comedy. Maar het is echt leuk. En het is nu het tweede seizoen. Twee seizoenen zijn er online. En het derde komt dit jaar. Dus hij is niet gecanceld. Dus het is de moeite waard om daarna te gaan kijken. Dus ik vond het echt leuk. Gewoon niet te zwaar. Je kunt het best wel snel bingen ook. Dus dat is tip 1. Tip 2. Het zijn chat GPT prompt. Ik ben hier blijkbaar niet zo heel creatief in een heel leuke prompt verzinnen. Daar staan gewoon een aantal leuke prompts. Die je kunt gebruiken als inspiratie. Leg het eens uit. Want ik kan me voorstellen dat sommigen niet weten. Ja, ik ga even de link. Dan heb ik iets om over te praten. Ja, gewoon. Wat is de doelstelling? Weet je? Waarom zou je het gebruiken? Ja, chat GPT. Daar hebben we het over gehad. Dat is die chat. AI-chat. Van OpenAI precies. O, mijn ding wil niet hier. En dan is er een... Je kunt dan intypen wat je moet doen. Dat is. En dat zijn een aantal prompts. Act as an English pronunciation helper. Wat staat er dan? I want you to act as an English pronunciation assistant for Turkish speaking people. Dus dan geef je me instructies. En dan kun je daarna zeg maar de conversatie aangaan. En alsof hij dus die persoon is. Of die actor die we vraagt om te zijn. Dus dat is echt wel cool. Oh, nice. En zo kun je zelf dingen doen. Je kunt ook zeggen. Volgens mij staat er ook eentje bij. Een IT consultant. Act as a PHP. Ja, dat is ook grappig, ja. Maar ook als front-end developer. Van hey, maak van mij een site. En dan komt je met een lijst. Dus dat is allemaal wel grappig. PHP interpreter is wel fijn trouwens. Want PHP fiddle is al een tijdje een beetje geduke geloof ik. Elke keer als ik daarheen ga dan rund hij niks. Dus ja, nou dat waren mijn tips. Kort en kracht. Nice, nice. Misschien niet kracht, maar misschien wel kracht. En een zeer mooi bruggetje naar de outro. Ja. Die geschreven is door Chad GPT. Ja, degene die hem heeft ingevoerd mag hem lezen. Je hebt hem waarschijnlijk op je desktop staan. Nee, ik had hem wel af. Nu wel. Take it away. Ja, even kijken. Ik had gezegd schrijf een einde voor de laatste aflevering. Maar dan denkt hij dus dat het ook echt de laatste aflevering is. Dat is zeker waar. Dus dat ging een beetje mis. Maar goed, we lezen hem gewoon voor. In de laatste aflevering van de CodeKlets podcast. Dat heeft hij dan allemaal wel weer goed ontdekt. Dat het dan wel over technologie gaat. Dus dat vond ik dan wel weer grappig. Zaten alle zes de hosts samen aan tafel. Na een geanimeerde discussie over de laatste ontwikkelingen in de technologie-industrie... was het tijd voor de afsluiting van de show. Dames en heren, bedankt voor het luisteren naar onze podcast, begon de host. Oh ja? Ja. Hij doet het ook echt in derp. Dat is echt heerlijk. Ja, ja. We hopen dat u ons de afgelopen tijd... dat u ons de afgelopen tijd heeft genoten. Het is in Nederland nog niet helemaal lekker. En dat u ons blijft volgen voor nog veel meer interessante gesprekken over technologie. Bedankt ook aan onze gasten die ons de afgelopen afleveringen hebben geholpen... om een dieper inzicht te geven in de onderwerpen die u bespraken. Dit is lekker vaak. De andere hosts knikten instemmend. Klopt, ik zie het nu. En voegden hun eigen dankwoorden toe. Bedankt. Dank u wel. Dank u wel. Dank u wel. De aflevering besloot de host, waarna de show afsloot met de traditionele outro muziek. En met een gevoel van nostalgie sloten de hosts de studio af. En gingen ze uit elkaar, weten dat ze weer samen zouden komen... voor vele andere interessante gesprekken in de toekomst. Lekker logomal.
Bring Your Own Onderwerp
In deze aflevering nemen de hosts allemaal een onderwerp mee die we gaan bespreken
Pauline Vos over PHP, Git en dingetjes
Onze allereerste gast is Pauline Vos. Senior developer en gespecialiseerd in Git.







