Op 12 mei 2022 werd TEQnation gehouden in “DeFabrique” in Utrecht: link. Ik ben lid van KIVI en omdat KIVI dit initiatief steunt, had KIVI een aantal kortingscodes beschikbaar. Ik was één van de mensen die als eerste reageerden en heb mijn kortingscode verzilverd, hierdoor kon ik gratis naar Teqnation. KIVI, hartelijk dank!
Tijdens TEQnation heb ik via mijn twitter-account @lordofcode updates over de sessies gedeeld en ook via mijn LinkedIn-account zijn deze updates voorbij gekomen: link.
Die updates waren natuurlijk snelle indrukken van de presentaties, tijdens het event heb ik foto’s en aantekeningen gemaakt, het wordt tijd om die hier te delen. Na TEQNation gingen we namelijk met TRES een lang weekend naar Hamburg en heb ik niet de tijd gehad om mijn aantekeningen uit te werken.
Samenvatting
Donderdag 12 mei 2022 om 6.00 uur opstaan, want ik wil eigenlijk rond 6.30 uur in de auto zitten. Dat lukt niet helemaal, rond 6.45 uur vertrek ik naar De Fabrique in Utrecht. Rond Lelystad even afremmen en stil staan (3 auto’s hebben elkaar aangetikt), maar rond 8.44 uur sta ik voor de ingang van TEQnation2022!
De Fabrique is een mooie locatie, een voormalig mengvoederfabriek. Waarbij nog veel oude elementen behouden zijn, sommige ruimtes wat groter gemaakt zijn. Daardoor heb je vandaag een aantal sessies die gelijktijdig gehouden worden om de mensen over de ruimtes te verdelen.
Mijn eerste sessie “Certificates en encryption”, gegeven door Pieter van der Meer (link eigen site) start om 8.45 uur. Dus ik stap iets later naar binnen, maar heb nog maar 3 slides gemist, dus de rest van het verhaal is nog wel te volgen. We krijgen uitleg over hoe de public en private key werken en hoe de hashes berekend worden. Diffie Hellman komt voorbij. Om de encryptie beter te maken is daar als vervolg de elleptical curve van Diffie Hellman gekomen. We zien hoe de data supergroot kan worden en hoe met die elleptical curve je en kleine key-size kunt gebruiken. Want stel dat je elke keer als je een site bezoekt eerst een minuut moet wachten tot je certificaat gevalideerd is: dat is onwerkbaar.
Zoals Pieter zegt: de eerste die hier geweest is en nog SSL zegt, die gaat geshamed worden, want SSL is allang uitgefaseerd: het is TLS. Ook komen “random nummers” voorbij. Bij een computer is een random nummer “nooit echt” willekeurig. Ook de reden dat de eerste WPA-keys gehackt konden worden, omdat als je maar vaak genoeg zaken opvroeg, je kon raden wat de volgende zou worden
Bij Cloudflare wordt de LavaRand gebruikt, lavalampen waar met een foto een willekeurig getal wordt gegenereerd, ik heb dat eerder in een boek gelezen, gevonden: Het eenzame leven van Pi: link.
AES wordt genoemd. Bij het X.509 certificaat het RSA key-pair. Het deel “TBScertificatepath” is het deel waar de hash op berekend wordt. Openssl is een superhandige tool.
Als die sessie afgelopen is gaan we naar beneden, naar de grote “Perserij”. Eerst komen er 2 slagwerkers binnen, een tamboer en één met een timtom. Beetje Safri Duo achtige actie. Ramon Wieleman (@r_wieleman) opent TEQnation. Vorig jaar was er een online editie. Dit jaar zijn er 700 bezoekens. We krijgen een coole “even Apeldoorn bellen” commercial te zien (inbrekers). Via Youtube gevonden, commercial uit 2015:
Hierna volgt de keynote van Lee Boonstra (@ladysign) van Google over hoe je bij machine learning kunt zorgen dat de systemen slimmer en meer inclusief zijn. Iedereen heeft bewust (of onbewust) (voor-)oordelen. We moeten een schoen in gedachten nemen. Wie denkt daarbij aan een “ouderwets soort schoen” – ik was bij die groep. Wie denkt aan sneakers – het grootste deel van het publiek. En wie aan pumps – een aantal dames die in de zaal zitten (en een man, waarbij de vrouw naast hem haar wenkbrauwen van verbazing omhoog trekt). Maar zou er in de development-groep geen vrouw gezeten hebben, dan zou het algoritme waarschijnlijk foutief “pumps” als “geen schoenen” aanmerken.
We krijgen nog een aantal voorbeelden. Algoritme van UnitedHealth, waarbij gekleurde mensen geen duurdere medicijnen krijgen. Amazon AI waarbij die recruiting doet: en alleen mannen aanneemt, want die zitten alleen in de basis-set. Apple credit-card: limiet voor vrouwen is standaard lager. De toeslagenaffaire in Nederland: dubbele nationaliteit, automatisch geselecteerd.
Youtube die uitlegt waarom filmpjes van “coming out” van LGBTQ soms geblokkeerd wordt: link.
Google is bezig om zaken te verbeteren, recent kwam er skintone.google beschikbaar.
En hier staan de principes ten opzichte van kunstmatige intelligentie: link.
Ik zou deze sessie van Lee niet volgen, maar ben blij dat ik ben blijven zitten, was zeker interessant.
Hierna volgt Frederik Skou Nielsen die het over digitale health-care gaat hebben. Noemt daarbij het voorbeeld van zijn schoonvader die in het ziekenhuis opgenomen is, waar bijna niets gedaan is en de man daarna weer naar huis kan. Frederik is van Netcompany. Ze hebben in 4 maanden tijd een e-health applicatie opgezet, My e-Hospital waarbij je thuis gemonitord kan worden en contact kan hebben. Waardoor je in je eigen huis kan blijven en er dus geen ziekenhuisbed gebruikt hoeft te worden.
Want een ziekenhuisbed is duur. Zo werd er al per jaar 14 miljoen euro uitgegeven aan de “normale griep”. Nu kwam daar corona nog bij. 1 op de 7 verpleegkundigen heeft covid gehad.
Er wordt gewerkt aan bluetooth-connectiviteit, om bepaalde metingen automatisch uit te kunnen voeren. Data gaat naar een Redis-database, er word gewerkt met Azure DevOps.
Hierna volgt een koffie-pauze van een half uur. Naar een hal bij de ingang lopen, degene de bij de automaat staat heeft al een aantal cappuccino’s ingeschonken. Even een rondje maken. Zo staat ook de ABN-AMRO in de hal met een paar grote schermen. Een virtueel draaiend rad. Met het delen van je LinkedIn profiel mag je en poging wagen (tijd loopt af, op een bepaald moment druk je op de grote rode knop). Geen prijs, hoofdprijs is trouwens een supercool stuk technisch lego. Goed gekozen!
Tijd voor de volgende sessie, Mark van der Walle over “becoming Sherlock Holmes”. Met al je micro-services, als er dan “ergens” problemen optreden, waar ligt dan de bron, wat is de oorzaak, zijn er zaken die elkaar beïnvloeden? Helaas geen sessie over tools die je zou kunnen gebruiken, samengevat komt het erop neer dat je overal meta-data moet toevoegen om na het gevolg van iets door oorzaak op te kunnen sporen. Persoonlijk had ik iets meer verwacht van deze sessie.
Hierna naar het douchelokaal,de Rabobank geeft hier een sessie. Daniel Abrahams en Sébastien Hoekstra van het Red Team bespreken de resultaten van een theoretische casus die niet theoretisch hoeft te zijn. Ze laten zien hoe je mogelijk via Google op een bepaalde test-server van een bedrijf kunt stuiten. Vervolgens ga je wat dingen checken bij die pagina die je vindt. In dit geval was het een soort proxy-pagina, waarmee je dus ook sites die “intern draaien” op deze manier “extern” kunt bekijken. Zo stuiten ze daar op de tool “sentry” die wel vaker gebruikt wordt. Maar bij een oudere versie is een lek, zo is de SECRET_KEY niet secret en met wat acties is die te achterhalen. Oh ja, het profiel van de man met de hoed en zonnebril, dat is niet André Hazes, maar een hacker 😉
Adviezen zijn:
– Houd prod en dev gescheiden
– Ruim je zaken op en zorg voor goed onderhoud
– Groot staat niet gelijk aan “veilig”
– Veel kleine fouten kunnen zorgen voor een “fail-chain”
Er komen nog wat vragen uit het publiek, ja er is ook een “blue team” en soms worden bepaalde acties samen uitgevoerd.
Hierna is het tijd voor de lunch break. Weer terug naar de grote zaal, hier zijn broodjes (pulled pork, kaas). Allemaal gratis (net als het drinken), echt super geregeld! Na het eten en wat rond lopen gaan we met zijn allen weer naar de Perserij. Hier is namelijk de keynote van Sander Hoogendoorn (@aahoogendoorn) en Kim van Wilgen (@kimvanwilgen) over “Flow. The worst software development approach in history”.
Toen ik Sander zag dacht ik, die komt me bekend voor. En inderdaad, in 2019 heb ik in Nieuwegein een event van 4dotnet bezocht en toen vond ik hem ook al een uitmuntende spreker: link.
Sander is nu CTO van iBood. Cool!
Terug naar de talk. We krijgen het voor de kiezen, een overzicht van development-historie. Waterfall, wat waterfail werd. Maar het plaatje wat je ziet (steeds een pijltje naar een volgend lager blokje), in het origineel zat daar ook weer een pijltje terug voor de controles. Dus zo slecht wat waterfall nu ook weer niet.
Agile, wat “fragile agile” wordt genoemd. De kantoortuin die niemand wil en waardoor iedereen met een noise-cancelling hoofdtelefoon op zit. Werknemers die “resources” genoemd worden. JIRA wordt afgekraakt. Het Programming Motherfucker manifesto wordt genoemd. Agile is niet scrum en scrum is niet agile. Quotes van “Agile conferences” waar Sander misselijk van wordt: “During this session we are going to discuss the Happiness Index of projects”.
Over hoe de productiviteit van developers daalt als je ze steeds stoort (weer een vergadering, vraag tussendoor), meeste developers hebben 10 tot 15 minuten nodig om weer in de “flow” te komen.
En zo komen Sander en Kim met hun doctrine “Flow”. Waarin alles wordt gedaan om projecten langer te laten duren en we alle slechte items uit andere methodieken gaan gebruiken.
Het is een vermakelijke presentatie en dat is natuurlijk ook de bedoeling. Zo komen we bij het punt waar we serieus naar deze zaken kijken. Zo komen we dus op een aantal punten:
- We geloven dat software door “mensen” gemaakt wordt. Je werknemers noem je dus geen “resource”!
- We geloven dat elke organisatie of team zichzelf gaat opbouwen en ontwikkelen naar de aanpak die het beste bij de organisatie of het team past. Dus geen Spotify kopieren, jij bent geen Spotify (daar werd elk jaar de organisatie 8x groter).
- We geloven dat persoonlijke communicatie nog steeds de beste communicatie is. Dus als je naast je collega zit of even langs kunt lopen in plaats van 5 berichten via Slack te sturen of 3 mails met bijlagen te versturen, dan heeft dat de voorkeur.
- We geloven dat het maken van software focus en flow nodig heeft. Geef je developers dus tijd, val ze niet te vaak lastig en zorg dat verstoringen tot het minimum beperkt worden. Dan zijn ze het productiefst en daarmee een aanwinst voor je bedrijf.
- We geloven dat continu leren essentieel is.
- We geloven dat teams echt “zelf organiserend” kunnen zijn. Dus niet afhankelijk van een hogere managementlaag die de boel weer kan vertragen.
- We geloven dat ervaring belangrijker is dan certificatie.
- En vergeet nooit om plezier te hebben. Een dag geen plezier in/op je werk is een verloren dag!
Sander geeft aan dat hij (net als ik) 2 dagen op kantoor werkt en dat dit prima bevalt. Idem!
Meer weten over “FLOW”? Check de site: https://flowmanifest.org/
Tijd voor de volgende sessie, naar boven naar de “Meelzolder”, hier spreekt Carl in ’t Veld (@cveld) over het ontwikkelen van microservices met .NET en DAPR. Van oorsprong is Teqnation een java-gerelateerd event, dat zal de reden zijn dat er niet heel veel publiek is. Jammer, want nu Microsoft steeds meer de .NET core kant op gaat, kun je ook prima ontwikkelen voor andere systemen. Carl ken ik omdat hij een keer gesproken heeft bij TRES tijdens een next.net event: link.
Carl vraagt of er mensen in de zaal zitten die ervaring met DAPR hebben, het zit nu nog wat in preview-fase en hij heeft de voorbeelden gevolgd, maar was benieuwd of er ook mensen “echt” wat mee doen. Niemand in de zaal, maar mocht je dit lezen en dat wel hebben, laat het Carl even weten, misschien heeft hij wat aan je bevindingen.
Orleans wordt ook genoemd, https://github.com/dotnet/orleans
Dat framework werkt met actors. DAPR ook, maar bevat ook “best practise building blocks” en dergelijke. Carl toont de building blocks op het scherm. Service-to-service invocation, State Management, Publish en Subscribe, Bindings (input en output), de genoemde Actors, Observability en Secrets.
De componenten van DAPR zijn opgebouwd in YAML. Op github.com/dapr/components-contrib kun je inmiddels meer dan 70 componenten vinden.
Carl toont een demo gebouwd met Blazor en DAPR.
Dit zijn de presentaties waarbij je denkt: “leuk spul, hier wil ik zelf ook mee aan de slag om wat te bouwen!”. Door drukte op het werk en drukte in mijn eigen tijd helaas nog niet aan toe gekomen, maar zodra ik tijd heb: demo-project here I come!
Hierna volgt een koffiepauze. Dus naar beneden, even een cappuccino en dan maar weer naar boven, dit wordt mijn laatste sessie vandaag. Suzanne Daniels (@suushier) van Spotify gaat hier spreken. Ik ben aan de vroege kant, dus de vorige spreker is er nog. Volgens de planning is dat Ko Turk (@KoTurk77), zijn sessie ging over Kafka. Mocht je die sessie terug willen zien, hij heeft deze op zijn Github-account gezet: link. Ziet er cool uit!
Omdat ik zo vroeg ben wordt gevraagd of ik ook een spreker ben. Ik antwoord dat ik dat niet ben, maar een aandachtige luisteraar. Wel grappig trouwens, want toen ik in 1995 aan de opleiding Accountancy begon was presenteren niet echt mijn favoriete ding. Maar door het te doen, door de lessen die we gehad hebben kreeg ik er steeds minder moeite mee. En nu zou ik het eigenlijk geen probleem vinden om inderdaad een presentatie te houden.
In ieder geval, Suzanne komt binnen en daarna al wat meer publiek en kunnen we beginnen. We horen hoe Spotify gestart is, de boel in Excelbestanden bijgehouden werd. Zoals we tijdens de sessie van Sander en Kim al hoorden groeide dit bedrijf per jaar met een factor 8. Dat kun je niet in Excel gaan bij houden. Een team heeft de koppen bij elkaar gestoken en heeft een succesvol eigen project gemaakt. Maar dat was nog steeds niet “de” oplossing, want alleen dat team beheerde dat, dus alle vragen, acties kwamen bij dat team te liggen: geen tijd en vervolgens begon iedereen voor zichzelf wat te doen.
Dat is de reden dat Backstage opgezet is. Een portal waarin onder andere het “golden path” zit, een tutorial/stappenplan voor de nieuwe developer: wat zijn de tools, wat zijn de afspraken, etc. Later bleek dat ook bestaande developers deze pagina’s vaak raadplegen: ben ik nog up-to-date, hoe werkte dit ook alweer.
Daarnaast kun je allemaal zaken aan projecten koppelen. Zo zien we dus een tabblad waarin je de REPO gegevens kunt zien (je kunt connecten met Github, Gitlab en nog een ander systeem). In weer een ander tabblad zie je de Jenkins (voor deployment) gegevens. Weer een ander tabblad de documentatie. Deze portal is opgezet met plug-ins. Natuurlijk hangt er een afkorting aan: SPACE (Satisfaction en Wellbeing, Performance, Activity, Communication en Collaboration, Efficiency en Flow).
Maar goed, Spotify is niet een portal-bouwer. Dus dit project is overgedragen aan de open-source community. Zo blijft ontwikkeling doorgaan, kan iedereen er gebruik van maken en heeft Spotify er ook zelf baat bij.
Komen nog een aantal vragen uit de zaal, zo blijkt styling niet overal gestructureerd vastgesteld te zijn, dus met je plugin zou je een hele andere look-en-feel kunnen geven. En ook hoorde ik iets over het installeren van een plug-in, dat je dan nog steeds een stukje code moest copy-pasten. Dat klinkt als iets wat nog verbeterd kan worden. Maar dat moet kunnen nu het open-source is!
Meer lezen / ermee aan de slag gaan?
Dan zijn dit de links:
https://backstage.io/
https://www.theurlist.com/backstage-links
Hierna loop ik terug naar mijn auto, even kijken of ik weg kan rijden. Mocht ik nog ingeklemd zitten tussen de andere auto’s, dan kan ik nog de sessie van Jeroen Willemsen (@commjoenie) volgen over Learn how (not) to use secrets with OWAP WrongSecrets.
De andere auto’s zijn weg, dus ik besluit om naar huis te gaan (16.40 uur). Hierdoor ben ik rond 18.30 uur weer thuis, lange dag geweest.
Maarr… dat OWASP WrongSecrets, daar vraag ik me nog wel van af, wat is het en wat kunnen we ermee? Dus nog maar even op de site van OWASP zelf gekeken: https://owasp.org/www-project-wrongsecrets/
Een project waarin je oefeningen doet, de “bad practices” moet opsporen om bewuster te worden wat je fout kunt doen, wat je fout doet en wat (dus) anders moet. De sessie heb ik dus niet gevolgd, maar die oefeningen moet ik nog wel gaan doen. En kijken of ik daar ook iets actief meer mee kan doen, want security is in de wereld van development nog steeds prioriteit 1.
Conclusie: een geweldige dag. TEQnation, kudo’s voor jullie perfecte organisatie, goede sessies. KIVI, bedankt voor de code waarmee ik een extra zetje kreeg om dit event te bezoeken. Wie weet ga ik ook weer eens wat meer met JAVA doen 🙂