.NET Rocks - podcast 171 tot en met 180

Ingediend door Dirk Hornstra op 05-feb-2024 19:39

Als je zelf de podcasts van .NET Rocks wilt beluisteren, die zijn hier te vinden: https://dotnetrocks.com/

Let op: dit zijn oude afleveringen over .NET 1.0, .NET 1.1 en .NET 2.0. De meeste zaken zullen dus redelijk verouderd zijn. Laten we het erop houden dat je de afleveringen kunt overslaan en als er een echt interessante uitzending is, dan noem ik dat expliciet.

PC 171: We zijn live bij de Dev Connections Orlando 2006, Carl en Richard praten met Kathleen Dollard. Ze is een VB-ontwikkelaar, consultant, doet veel met code-generatie. Ze is dol op de Generics wat nu onderdeel uitmaakt van de .NET code. Voor de rest, deze uitzending kun je overslaan.

PC 172: Carl en Richard spreken met Bob Beauchemin over SQL Server 2005. Carl vraagt wat hij een "coole feature" vindt van SQL Server 2005. Bob komt met "snapshot isolation". Zo heb je dat met "locking" zaken gedaan worden, maar je kunt nu ook met "versioning" werken. En als je "online" de indexen bijwerkt, dan wordt de tabel tijdens het bijwerken "gelockt" (dat is de standaard instelling) - het is trouwens wel row-locking als ik dit zo hoor. Maar met versioning hoeft dat niet. Snapshot is de uitzondering. Volgens Bob heeft SQL Server deze Statement Level Snapshot en Transaction Level Snapshot genoemd. Verschillende soorten snapshots, maar wel consistent. Ander punt wat hij noemt is van belang, namelijk dat zaken in tempdb opgeslagen worden. Dus als je heel veel doet, kan die database heel groot worden (en mogelijk ook het bijbehorende transactielog). Iets om rekening mee te houden! Veel coole dingen in SQL Server, XML, webservices, de SQL CLR en de Service-Broker, een service-achtig queueing mechanisme. Veel security-uitbreidingen (encryptie, certificaat-gebaseerde encryptie). Daarom heeft het ook 5 uur geduurd om het te bouwen. Herschrijven van DTS. CLR loopt "in proces", de code wordt in de database uitgevoerd. SQL OS zorgt dat de boel geïntegreerd is. Bob noemt het feit dat je "business rules" in de database gaat uitvoeren. Vroeger kreeg hij te horen dat die zaken in stored procedures en dergelijke horen. En nu zeggen dezelfde mensen dat het niet in Stored Procedures hoort, het hoort in de middle-tier. Bob heeft nog een mooi voorbeeld, de mensen van het ontwikkelteam waren bezig met een algoritme, het Wagner-Whitin algoritme. Het lijkt erop dat je daarmee berekent hoeveel je van bepaalde producten op voorraad moet hebben. Pakt alle data uit voorgaande kwartalen (verkoop, inkoop) en hoe lang ze op de plank staan: dus hoeveel moet je gaan produceren? Array's met meerdere dimensies. Middle-tier, net als in SQL server (10 seconden). In T-SQL duurt het 2 tot 3 uur. Hij dacht dat dit een soort voorbeeld-case was, maar op het werk van zijn vrouw bleken ze dit ook te gebruiken. Werd het algoritme in de middle-tier uitgevoerd, dat duurt 1.5 uur. Maar om die data daar te krijgen, dat duurt ook 1.5 uur. Dus zou je de code in SQL Server uit kunnen voeren, dan haal je die 1.5 uur weg. Richard noemt ook nog dat je anders de boel zou doorrekenen en blij was dat het klaar was, nu kun je ook nog wat andere scenario's doorrekenen. Ook noemt Bob het voorbeeld van iemand die tegen hem gezegd had: dit gaan we niet gebruiken, maar toen toch met een paar collega's wat zaken had getest. Een bepaalde actie met veel berekeningen is overgezet naar de CLS en bleek vervolgens 4x zo snel klaar te zijn. Bob raadt ook aan om niet alles te herschrijven, maar gewoon wat zware zaken eens naar de CLR door te zetten en te kijken of het sneller is. Is dat het niet, dan hou je het gewoon zoals het was. In SQL Server kon je vanuit een Stored Procedure een mail versturen. Als de mailserver plat lag, bleef je SP net zolang wachten tot hij weer klaar was. Met de Service Broker wordt dat nu op de achtergrond afgehandeld (Databasemail in plaats van SQL Mail). Die mail wordt nu ook onderdeel van de transactie. Site van Bob is SQL Skills, copyright onderaan toont 2020, dat is dan weer jammer. Bob noemt ook nog het opslaan van een SQL plan als een .sqlplan bestand (info op MS Learn). Bob is samen met Dan Sullivan een boek aan het schrijven (a developers guide to SQL Server 2005), ze waren bang de 600 pagina's niet te halen, dus zijn alles gaan opschrijven en zitten inmiddels rond de 1150 / 1200 pagina's... Hoewel we inmiddels op SQL Server 2022 zitten, denk ik dat redelijk veel zaken onder de motorkap er nog wel in zitten (en ik die nog niet gebruikt heb). Interessante uitzending dus, eens kijken of ik zelf de CLR in SQL Server werkend kan krijgen (want in 2005 staat die standaard uit).

PC 173: Kim Cameron spreekt in deze uitzending over Digital Identity. Dit is een issue wat ook in 2024 nog steeds actueel is. De mensen die dit Techblog volgen weten dat ik in 2022 bij Techorama geweest ben (dag 1 en dag 2), op beide dagen had John Craddock hier goede sessies over. Sommige zaken zaten toen nog wat in de opstartfase, dus bij het evenement van 4DotNet in Utrecht in 2023 (verslag), de sessie van Stefan van der Wiele had daar veel raakpunten mee. Het probleem blijft actueel: je bent online en iemand benadert je en zegt "persoon X" te zijn, maar hoe kun jij valideren of hij/zij echt "persoon X" is? Log je in met gebruikersnaam en wachtwoord, maar zijn die gegevens gelekt, dan kan de persoon aan de andere kant van de lijn heel iemand anders zijn... Microsoft had een soort "oplossing" daarvoor, Passport, maar dat is niets geworden. Carl en Richard zeggen dat dit door de timing kwam, in die periode waren er wat zaken bij Microsoft die niet goed gingen (zoals Hailstorm), dus mensen wilden hun gegevens zeker niet delen met Microsoft. Kim komt ook met het punt dat er eigenlijk een aantal aanbieders zouden moeten zijn. En stel je voor dat Passport de oplossing zou zijn, dan zou je dat gebruiken voor Amazon. Maar als Microsoft dan zelf een soort online verkoop-portal gaat maken, dan is Amazon nog steeds afhankelijk van die implementatie. En misschien wil je bepaalde zaken niet delen met bepaalde identity-providers (als ik iets met een online casino doe, wat heeft Microsoft daarmee te maken?). Dat Microsoft Passport gebruikt voor al haar interne diensten, daar is niets mis mee. Kim heeft hier een wat voor opgezet, de laws of identity: de partijen moeten met elkaar te maken hebben (relevant zijn). En ook zouden het "zo weinig mogelijk partijen" moeten zijn. Er komen ook een paar partijen voorbij die deze activiteit wel zouden kunnen doen, zoals Visa (uitgaven), Verisign en banken. Kim noemt dat hij altijd dacht dat de taak van banken was "om transacties met geld uit te voeren". Maar eigenlijk is hun taak "dat ze het vertrouwen hebben om acties met jouw geld uit te voeren". Ook komt "het zwakke punt" in beveiliging naar voren, namelijk de persoon die achter het scherm zit. Jij klikt op het phishing-linkje. Kim noemt dat bij het uitwerken van het systeem, de mens daarbij niet is meegenomen. Kim noemt het voorbeeld van zijn vrouw die voor een bepaalde connectie een keuze moet maken uit "welke van deze 3 certificaten moet gebruikt worden". Weet zij veel... Carl noemt nog een shrinkster-URL, maar die is zo te zien niet geïndexeerd: shrinkster.com/e89. Het gaat over het laten implanteren van een RFID tag. De mannen vinden het "niet slim" om dat te doen. Met een reader kun je die altijd uitlezen, een wachtwoord kun je aanpassen, maar een RFID-chip niet (of je moet 'm verwijderen en een nieuwe implanteren). Carl noemt nog zijn auto die ook met zo'n tag werkt, Kim heeft zijn twijfels of dat wel veilig is. En hij noemt ook dat je zo een soort "bom" kunt maken die op een later tijdstip pas ontploft als een bepaalde RFID-tag gedetecteerd wordt... hmmmm. Kim noemt nog even zijn eigen blog: identityblog.com. Hier kun je lezen dat Kim in 2019 met pensioen gegaan is. Ook dat hij vanaf 2020 weer zou beginnen met bloggen, maar dat is na de tijd niet meer gebeurd (tenminste, op 7 januari 2024 zo te zien). In ieder geval, in het begin gaf ik al aan dat identity relevant was, is en blijft. Dus lees vooral zijn artikelen, want ik denk dat een hele hoop daarvan nog steeds relevant is.

PC 174: Kent Alstad bespreekt Atlas. Het is de Microsoft implementatie om client-side acties te koppelen aan server-side acties. Dus in je scherm heb je een "UpdatePanel" en met post-backs via JavaScript communiceer je met de server (deze draait een .DLL van Atlas waarin de server-side zaken staan) en met de respons render je de nieuwe HTML in het UpdatePanel. Kent heeft voor een conferentie een "real-world example" gebruikt, dus een site waarbij je best veel "POST" acties uitvoerde, de server veel dingen moest doen en je daardoor redelijk vaak tegen een wit scherm aan keek, omdat zaken geladen moesten worden. Met met toevoegen van wat JavaScript heeft hij binnen een uurtje de boel kunnen ombouwen. We zijn er een aantal zaken die iets ingewikkelder zijn (the other 15%) die hij daarna ook nog wilde fixen. Kent is begonnen toen Atlas nog in de kinderschoenen stond, dus toen er aanpassingen kwamen moest hij wel wat zaken aanpassen. Maar zoals hij zelf al zegt, dat is het risico als je me zaken werkt die nog in de BETA-fase zitten. En alle wijzigingen zijn ook goede verbeteringen, dus hij heeft geen klachten. Carl noemt de mogelijkheid om een progress-bar te tonen: die component wordt standaard mee geleverd. Ook heb je andere custom controls en kun je zaken aanpassen naar eigen wens. Cross-browser werkend, dus in deze tijd nog de main browsers Firefox en Internet Explorer. Kent heeft zelf ook met Opera gewerkt en geen problemen daarmee gehad. De vraag is, hoe relevant is dit nog in 2024? Als je zoekt kom je uit op een artikel in het archief uit 2006: link. Daarin wordt verwezen naar atlas.asp.net. Ga je daarheen, dan kom je uit op ASP.NET Core en Blazor (link). Het lijkt er dus op dat deze "techniek" niet meer relevant is. Kent en Richard zijn met een project bezig geweest, hele tijd geheim gehouden, maar het is nu bijna productie-waardig. Ze hebben een router gemaakt die intern veel zaken kan afhandelen met sessie-data en andere personalisatie. Het voorbeeld dat een site eigenlijk niet down mag/kan, omdat aan de andere kant van de wereld de site ook bezocht wordt en ze daar in een andere tijdzone zitten. Als je sites op meerdere servers wilt draaien je sessie-beheer moet uitbesteden aan SQL Server. En waardoor als iemand je site bezoekt niet alleen het verkeer van de bezoeker naar jouw webserver en weer terug hebt, maar ook de call naar de database en weer terug naar jouw webserver. De site van de gast, Kent noemt Flickr Map als de "coole site" die hij tegenkwam. Je kunt bij de foto's GPS coördinaten en tijd opgeven, zodat je niet via tekst hoeft te zoeken, maar op een kaart naar een bepaalde plaats kunt gaan en een tijdstip. Carl en Richard zeggen: "hoe mooi zou het zijn dat een camera zelf de GPS coördinaten al op kon slaan". Volgens mij zijn er camera's die dat kunnen, maar inmiddels in de mobiele telefoon zo'n beetje de standaard camera: en daar wordt dat al automatisch gedaan. Ik denk dat het de /map URL is op flickr: link. Op het eerste gezicht staan er niet zoveel bolletjes. Maar dat komt doordat "recent" getoond wordt. Als ik klik op "search the map" en dan zoek op "leeuwarden" of "amsterdam", dan komt er veel meer naar voren. Wel een beetje teleurstellend, want ik had gehoopt heeeeel veel foto's bij de Ziggodome en AFAS Live te zien (iedereen staat met haar/zijn mobieltje foto's te maken/te filmen), maar misschien plaats je die niet op Flickr. Of zijn ze niet openbaar (wat ook kan).

PC 175: Hij werd al eens eerder in een podcast genoemd, omdat hij met een "live boek" bezig was, nu is Ted Neward in de uitzending om het over Project Automation te hebben. Ah, Ted is ook al eerder in .NET Rocks te gast geweest, in podcast 52 en 89. Hij heeft een mooie uitspraak: architect is Latijns voor "iemand die niet meer kan programmeren". In deze uitzending gaat het over Continuous Integration en Project Automation. Dus zaken automatiseren. Zodat niet alleen de lead-developer de code naar productie kan deployen (en als hij vakantie heeft of als hij tegen een bus aanloopt het proces stil ligt). Ted doet de uitspraak dat het resultaat van een build eigenlijk een MSI zou moeten zijn, of een andere "deliverable" waarmee je het product kunt visualiseren. Management wat vraagt: hoe gaat het? En het standaard antwoord: goed. Maar als er niets zichtbaars is, hoe weet je dan of het echt goed gaat? Carl komt met het voorbeeld van een huis. Je laat een huis bouwen, maar weken lang zie je niets op de plek waar het huis moet komen. En de aannemer zegt de hele tijd "het gaat goed". Door het bouwproces te volgen kun je zien of het ook echt goed gaat en kun je fouten of problemen eerder constateren en er wat aan doen. Een beetje hoe agile werkt. Ook komen een paar zaken voorbij qua "monitoring" van builds. Als een build kapot gaat: gaat er een lamp branden. Ted heeft het over een lavalamp. De groene brandt bij OK, de rode bij problemen. De developer die dicht bij de lampen zit kan horen of de groene uit gaat en de rode aan gaat. En toen begon er een spelletje. Het duurt namelijk even voordat de rode lamp opgewarmd is. Dus de developers gingen supersnel aan het werk om te zorgen dat de build weer werkte: de rode lamp ging weer uit (had nooit gebrand) en de groene ging weer aan (of was misschien nog een beetje brandend, ik weet niet hoe dat werkt bij lavalampen). Een programma-manager van de CLR hoorde dit verhaal ook en nam een "ambiënt orb" mee en vroeg zich af of die ook te programmeren was: ja dus. Richard komt met het punt van "continuous deployment" en hoe dat werkt met databasewijzigingen. Vaak werkt dat maar "één kant op" en is iets weer terugdraaien moeilijk. Dat is het ook, maar volgens Ted niet onmogelijk. Er is een boek over geschreven "refactoring databases" door Scott W. Ambler en Pramod J. Sadalage waarin dit beschreven wordt. Ted komt nog met een tip voor een boek, namelijk "the Pragmatic Programmer" van Dave Thomas en Andy Hunt.

PC 176: Michele Leroux Bustamante gets hard on indigo. Indigo is de titel, ook de URL van haar website thatindigogirl.com, maar in deze uitzending wordt voornamelijk gesproken over WCF (Windows Communication Foundation). Nog een paar andere URL's worden genoemd zoals idesign.net (maar dat lijkt nu een zakelijke site, 1 van de eigenaren is Juval Löwy, ook te gast geweest bij .NET Rocks) en dasblonde.net (maar ook die site is niet meer online). Daar wordt nog (in het archief) verwezen naar http://www.michelelerouxbustamante.com/ maar ook die site geeft een Azure-404 melding. In ieder geval, Michele heeft ook een boek uitgegeven over "Learning WCF". In ieder geval, de uitzending. Als je zoekt op WCF, dan zegt Wikipedia dat het nog steeds deel uitmaakt van .NET. Via deze pagina op Microsoft Learn kun je er meer over lezen, ook dat Microsoft zelf nu meer gRPC adviseert. Op basis van deze podcast maak ik op dat het voornamelijk dataverkeer is wat op verschillende manieren getransporteerd kan worden. En dat dit "redelijk simpel" via configuratie aan te passen is. Michele noemt ook nog de site windowscommunication.net en wow... dat is echt een oude site! Deze uitzending zou je over kunnen slaan, behalve het einde. Michele is wel eerder in een uitzending geweest, heeft vroeger in een bar gewerkt en kan behoorlijk harde grappen maken. Dus mocht je willen weten hoe de mop afloopt van de beer en het konijn die niet zo goed met elkaar op kunnen schieten, een geest tegenkomen en waarbij ze beide 3 wensen mogen doen... toch maar even het laatste deel luisteren. Want dan volgt ook nog de mop over Naomi Campbell, Claudia Schiffer en Cindy Crawford in een neerstortend vliegtuig...

PC 177: De uitzending waar naartoe geleefd werd, Carl en Richard die in Nederland zijn bij de SDC (Software Development Conference) in Arnhem! Vaak is het zo dat je de agenda, de sprekers e.d. een hele tijd later niet meer kunt bekijken. Na wat zoeken kwam ik op het blog van David. En die had een aantal linkjes op zijn blog gezet die ik via archive.org weer op kon vragen! En zo kun je dus alsnog zien wie er gesproken hebben en waar over. Als je Nederlanders "steenkolen Engels" wilt horen spreken, dan moet je zeker even luisteren. Voor de rest kun je de uitzending wel overslaan. Wel mooie verhalen! Over Amerikanen die mee gaan naar de coffeeshop en teveel space-cake eten. Over "Barbie from Hell", dat is Cathi Gero. Ze had een Mustang (coole auto!), Nederlandse gast was met een vriend naar Amerika om te kijken of er geschikte sprekers zijn. Die vriend is een lange gast, dus die zit voorin. Maar de persoon die het verhaal doet is ook niet kort, dus zit wat in de auto gepropt. En Cathi kan maar 2 dingen: of hard rijden of hard remmen, vandaar de bijnaam "Barbie from Hell".

PC 178: Kimberly Tripp spreekt over SQL 2005 SP1 en meer. We beginnen met de e-mails. Uitzending 176, ging onder andere over SOA (server oriënted architecture) en of daar iets van documentatie over te vinden is. Volgens de luisteraar doet de W3C dat en Oasis, waarbij hij deze link aanlevert. Daarna naar Kimberly. Er is ooit een URL voor haar aangemaakt, www.sqlhera.com die naar haar blog gaat. Die URL werkt niet meer, maar via het archief vind ik alsnog haar site: link. Op haar blog lees ik dat ze nu andere dingen wil gaan doen en "met pensioen gaat". Hoewel de uitzending niet heel veel technische extra informatie oplevert is Kimberly een prima spreker, ze houdt het gesprek goed gaande. Wat dat betreft is het jammer dat ze gestopt is en geen presentaties meer geeft. SP1, database mirroring, SQL Management Studio light wat deels in de versie zat, maar standaard uit stond omdat het nog niet goed getest/ontwikkeld was.

PC 179: Brian Randell spreekt in deze uitzending over virtualisatie. Voordat de uitzending start wordt Adobe nog even geroast. Namelijk, Microsoft mag in Office niet de mogelijkheid bieden om het bestand als PDF op te slaan. En als ze dat wel willen, dan moeten ze betalen. Terwijl PDF voor andere partijen "gratis te gebruiken is". Brian is bezig geweest met Virtual Server en dergelijke. Brian heeft een iMac G5 20 inch gekocht en toen hij hem kreeg... kwam Apple met het nieuws dat ze ook Intel zouden ondersteunen. Hij bellen, biedt Apple de mogelijkheid om het apparaat kosteloos te retourneren. Dat heeft hij niet gedaan, want je zult toch wat kinderziektes e.d. hebben, maar hij vond het wel heel klantvriendelijk van Apple dat ze die mogelijkheid boden.

PC 180: Carl en Richard praten met Michael Stiefel over Windows Workflow. De naam zou eerst WWF zijn, maar daar is vanaf gezien omdat het wereld natuurfonds in het Engels die afkorting heeft en ook de "bond van het worstelen". Die hadden al een conflict voor de rechter, waarbij die zei dat wel er een duidelijk verschil was tussen de beide organisaties en dit dus niet "verwarrend" is voor mensen die op zoek zijn. Microsoft neemt geen risico. Daarom heeft een Windows versie volgens Carl ook de naam Vista gekregen: omdat de naam beschikbaar was. In ieder geval, Workflow. Het heeft wat raakvlakken met Bizztalk, waarbij er daar meer zaken geregeld zijn met betrekking tot interactie tussen systemen, waarbij workflow meer gericht is op de interactie met gebruikers. De link naar de site, www.windowsworkflow.net, werkt niet meer. Daar krijg je Chinese tekens e.d. te zien. Via Wikipedia kun je zien dat er weinig ontwikkeling is. Wil je ermee starten, dan kun je dat doen op deze pagina van Microsoft Learn. Michael geeft een mooi voorbeeld. Van Amazon, je bestelt een boek en krijgt daarna een e-mail met daarin het bericht dat het boek op voorraad is. Waarom zou je die controle niet online doen? Omdat er dan zaken gelockt moeten worden. Query's traag worden. Je met latency zit. Iemand wat in zijn/haar winkelwagen heeft en daarmee iets (tijdelijk) vastlegt. Begint met het betaalproces, maar tussendoor een half uurtje weg is omdat hij/zij moet eten en daarna de order pas afmaakt. Met een "workflow" kun je zorgen dat het proces goed doorloopt. Klink wel een beetje als de start van microservices. De site van Michael ziet er behoorlijk verouderd uit, het das-blog kan ook wel wat onderhoud gebruiken. Aan het eind van de uitzending heeft Michael het er over dat hij bezig is met de Franse taal te leren. Vroeger wel op school gehad en hij wil er wat meer mee doen. Maar het valt hem tegen dat er niet echt goede "online resources" zijn om een taal te leren. Dit gesprek was ook wel mooi, want dan komen er Engelse termen voorbij die ik ook niet ken. Want een "preposition"? Geen idee.... Michael zegt dat je bij sommige talen daar niet mee mag eindigen. Carl komt als reactie daarop met een mop. Een man uit Yale gaat naar Harvard, kan de bibliotheek niet vinden, draait zijn raampje naar beneden en vraagt een local: "hey, where's the library at?". Die local reageert met "in Harvard we never end a sentence with a preposition". Waarop de man uit Yale reageert: "Oh, I'm sorry! Where's the library at asshole?"