.NET Rocks - podcast 381 tot en met 390

Ingediend door Dirk Hornstra op 21-oct-2025 20:27

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 3.5. 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 381: In deze uitzending is Michele Leroux Bustamante te gast, ze is eerder te gast geweest bij .NET Rocks. De voorgaande afleveringen sloot ze af met een mop die soms tegen of over "het randje ging", ze heeft het niet voorbereid voor deze uitzending, dus geen foute mop. Het eerste deel van deze podcast gaat over het feit dat ze een zoontje gekregen heeft. En wat er dan bij vrouwen gebeurt: dan komt de melkproductie op gang. Ze is bij een event geweest ergens in Scandinavië, maar om de zoveel uur moest ze dus "even naar het toilet" om vervolgens 20 minuten lang te kolven. Toen ze dat nog niet hoefde te doen, vond ze het geen probleem dat bepaalde conferenties uren duurden, maar nu moet ze op een bepaald moment weg omdat ze, naar eigen zeggen, "na te lang wachten explodeert". De rest van de uitzending gaat over authenticatie, claims en hoe je andere applicaties toegang kunt geven tot jouw applicatie. Voor de rest niet heel veel nieuws in deze podcast, dus je kunt 'm wel overslaan.

PC 382: Bij "better know a framework" zit Carl in het WCF (Windows Communication Foundation)-deel. Dus hij noemt een namespace en dan moet je het zelf verder maar uitzoeken. Misschien nog wel iets om te gaan doen. In ieder geval, hij noemt hier Windows.ServiceModel.ServiceHost. Daarmee kun je zelf een ServiceHost opstarten die connecties kan accepteren. Andrew Delin heeft het in deze uitzending over sox compliance. Eigenaren van bedrijven zijn aansprakelijk voor "schade" die bij klanten optreedt door hun diensten. Software is daar een onderdeel van, dus ook voor de andere onderdelen geldt die sox compliance. Maar omdat het onderwerp voornamelijk IT-gerelateerd is, richten we onze blik deze uitzending op software. Er moet een soort framework opgezet worden met risico's en hoe die afgevangen worden. Een beetje vergelijkbaar met ISO-certificering, alleen is het daar een kwestie van "verdienen" en een logo op je site zetten, bij sox is het een wettelijk verplicht iets voor bedrijven (omdat er rond deze tijd wat zaken voorgevallen zijn waarbij gezegd werd "wij wisten van niets". Het gaat voor een groot deel om "zaken kunnen bewijzen". Andrew geeft aan dat het Microsoft Team System veel zaken (afspraken, mailtjes) gekoppeld kunnen worden aan work-items en dat dan als "bewijs" aan de auditor getoond kan worden. sox staat voor Sarbanes-Oxley, meer uitleg hierover kun je op Wikipedia lezen. Het lijkt op iets wat "alleen in Amerika speelt", maar misschien is het iets om toch eens te bekijken. Want stel dat je software bouwt voor een webshop. Maar er sluipt een fout in de code, iemand die iets in zijn/haar winkelwagen zet kan daar ook een negatief aantal in zetten. Je zet iets van 25 euro in je winkelwagen, en een ander product wat 50 euro kost, dat zet je op -1. Het totaalbedrag is dus -25 euro. Als de software hier niet (goed) op valideert, kan het ervoor zorgen dat je het product van 25 euro geleverd krijgt en dat er automatisch een creditnota van 25 aangemaakt wordt. De partij van wie de webshop is, kan daar niets aan doen, je "software-leverancier" is hier verantwoordelijk voor. En dit is zeker iets wat in een sox risico-analyse genoemd zou moeten worden.

PC 383: In deze uitzending is Jon Skeet te gast, hij heeft het over c# 3.0. Let wel, deze uitzending is van 2008. Bij het maken van deze samenvatting is het 2025 en is de huidige versie c# 13.0, 10 versies verder. Maar het is altijd interessant om te zien welke zaken die je nu "bijna dagelijks gebruikt" 17 jaar geleden geïntroduceerd zijn en je (dus) daarvoor nog niet beschikbaar had. Jon is programmeur bij Google. Hij werkt dus veel in Java. Bij Google mag je 20% (dus 1 dag per week) ook aan andere zaken besteden die niet rechtstreeks gerelateerd zijn aan je dagelijkse werkzaamheden, maar wel mogelijk in de toekomst bij Google gebruikt kan worden. In deze uitzending komt ter sprake dat er een nieuwe site online is, StackOverflow. Jon is daar erg enthousiast over, hij noemt het de vervanger voor nieuwsgroepen (want daar zocht je in het verleden nog wel eens naar antwoorden). Omdat ik behoorlijk wat Hanselminutes beluisterd heb (de podcast van Scott Hanselman) weet ik dat Jon Skeet de gast is die heel veel antwoorden op StackOverflow heeft gegeven en daarbij op een top-1 positie kwam. Door de week is Jon dus voor Google bezig, onder andere met protocol buffers. Zo te zien op deze Github-repo iets wat nog steeds actief onderhouden wordt. In de uitzending noemt Jon dat hij bezig is geweest met de parallel library van Microsoft en met het voorbeeld wat je daarbij krijgt, de Mendelbroth set. Het zou ergens op zijn blog moeten staan. Op deze pagina van Microsoft wordt er naar verwezen. Jon heeft 20 verschillende manieren getest om zaken parallel uit te laten voeren. Vooral de acties waarbij het totaal niet werkt, die zijn het meest leerzaam.  Ten tijde van deze uitzending (2008) heeft Jon een boek uitgebracht, C# in Depth, wat dus over C# 3.0 gaat. Er is een website voor, csharpindepth.com en verrassend: als je daarop doorklikt kom je op de site van Manning en zie je dat er een 4e editie is, uit 2019, met uitleg over C# 5, 6 en 7. Op csharpindepth.com kun je ook als je niet het boek hebt de broncode van de voorbeelden downloaden. Even gezocht en gevonden: Jon heeft een  eigen website en zo te zien blogt hij daar ook actief op, een site om te blijven volgen: codeblog.jonskeet.uk

PC 384: Rob Tiffany is te gast, onderwerp is Windows Mobile. Windows Mobile draait eigenlijk "op" Windows CE. In deze uitzending noemt Rob dat versie 6.1 eraan komt, met extra mogelijkheden om je mobiel ook op je domein aan te melden. Dat was namelijk een verzoek van bedrijven, het kunnen beheren van software op de mobiel was anders niet te doen. Windows Mobile bestaat inmiddels niet meer, zoals je hier op Wikipedia kunt lezen. Wel een interessante uitzending, er wordt namelijk uitgelegd hoe het probleem van slechte/geen connectiviteit opgelost wordt met Exchange, hier worden met "store and forward" berichten doorgezet naar een mailbox. Exchange kan bepalen dat het een soort actie is en er met webservices acties op uitvoeren en ook weer data op terugsturen. Vooral dat punt, het kunnen "pushen" van data is iets wat anders niet beschikbaar is (alleen via SMS, maar daar moet je soms (flink) voor betalen). Carl noemt Gears van Google, waarmee je zaken offline beschikbaar kunt maken. Zoals je op de wikipedia-pagina kunt lezen hebben ze dat omgezet naar de algemene HTML5 implementatie. Rob geeft het voorbeeld van een bedrijf waar zaken uit een magazijn gehaald moeten worden, een heftruckchauffeur door krijgt welke pallets hij moet laden, de chauffeur waar dit bezorgd moet worden en dat allemaal via één app. Ook komt ter sprake dat sommige ontwikkelaars hele grote applicaties voor de mobiel maakten, iets waar Microsoft niet op gerekend had. Rob noemt live search mobile als een voorbeeld van een geweldige app voor Windows Mobile. Carl noemt het feit dat batterijduur erg belangrijk is en dat boston-power.com bezig is om batterijen te ontwikkelen die lang mee kunnen. Ook in 2008 begint de mobiele verslaving al op te komen, Carl raadt aan om op Youtube te zoeken naar crackberry love. Rob zijn blog is/was op de pagina van Microsoft, hij verwijst daar al door naar robtiffany.com.

PC 385: Deze uitzending met Don Box en Doug Purdy gaat over Project Oslo. Het gaat om technieken om zaken te modelleren, er zou ook een programmeertaal o.i.d. bij horen. De omschrijvingen zijn nog redelijk vaag, ook omdat bij conferenties die nog volgen er meer sessies komen (de heren zitten waarschijnlijk vast aan een non-disclosure afspraak). In ieder geval, zoals je hier kunt lezen zijn er wel wat onderdelen los uitgebracht, maar is het project in 2010 gestopt.

PC 386: In deze uitzending zijn 2 medewerkers van Interknowlogy te gast, Dan Hanan en Kevin Kennedy. Interknowlogy is van Tim Huckaby die eerder te gast is geweest. Carl vertelt nog een anekdote hoe ze in Krakau in Polen een presentatie geven en daar laten zien dat "Amerikanen ook best wat alcohol weg kunnen werken". Tim een halve fles wodka, Carl een halve fles bourbon. De mensen daar denken "wat zijn dit voor gasten"? Dus vertellen Tim en Carl later dat het een grapje was, de fles wodka is gevuld met water, de bourbon met icetea. Dan en Kevin werken met WPF en dus ook met Blend. Daar zijn de ervaringen niet altijd positief mee, als je project te groot wordt (of je hebt een oplossing met meerdere projecten), dan kan Blend dit vaak niet (meer) openen. Zo noemen de mannen kaxaml.com om in een editor zowel in tekst je XAML uit te werken als te zien wat er gemaakt wordt. De site is niet meer online, maar via archive.org nog te vinden (en ook te downloaden). Op basis van dat programma een wordpress-site gevonden waar deze applicatie ook genoemd wordt (link). Een andere tool die genoemd wordt is Style-snooper. Daar heb ik een Github-repo van gevonden. Via een ander bericht op een StackOverflow-forum kom ik uit op alle stijlen van Silverlight. Silverlight is een soort WPF-implementatie, dus misschien heb ik hier nog wat aan. Alle applicaties voor Windows die ik tot nu toe gemaakt heb zijn Windows Forms applicaties, misschien moet ik toch eens een start maken met WPF, want dat is voor Windows apps bedoeld. En schijnbaar kun je met Blend mooie animaties maken. Documentatie van Microsoft over WPF kun je hier vinden. De mannen ontwikkelen ook voor de Surface. Dat is een soort tafel, met een beeldscherm als tafelblad wat "touch-enabled" is. We krijgen uitleg over de verschillende lagen in de API, hoe zwart-wit afbeeldingen beschikbaar zijn voor de interactie op het blad, blobs. Ook dat "de schaduw van je hand" al voor verstoringen kan zorgen. Er is een SDK voor de Surface, maar die krijg je alleen als je een surface koopt, die is behoorlijk prijzig. Carl en Richard hebben een primeur, als je bij de PDC een bepaalde presentatie volgt, krijg je een (deel) van deze SDK op schijf mee. Ze zijn ook wat met "hobby-projecten" bezig om zo het apparaat en de mogelijkheden te leren kennen. Zo wordt het spel "go fish" genoemd. Een kaartspel. Ook wordt er over poker gesproken. Als je met zijn allen aan de tafel zit, dan moeten de anderen niet jouw kaarten zien, dus die liggen standaard gesloten voor je. Maar als je met je hand er boven zit, dan moeten ze wel (even) zichtbaar worden. Een soort "dectection of cupping". Dit is iets wat Dan en Kevin binnenkort gaan testen. De huidige website van Interknowlogy kun je hier bekijken. En de projecten die ze gedaan hebben, kun je via archive.org terug kijken. 

PC 387: In deze uitzending is Rocky Lhotka te gast, onderwerp is dat csla.net geschikt gemaakt is voor  Silverlight! Rocky geeft wat voorbeelden van zaken die er wel in WPF zijn, maar niet in Silverlight. Zo heb je in WPF "commands", waarmee je bijvoorbeeld een save-command kunt koppelen aan een opslaan-knop. Daar hoeft dan geen achterliggende code aan gekoppeld te worden, dat doet het command. Maar dat heb je niet in Silverlight, dus dat moest anders gedaan worden. Ook was er iets met een provider en binding die Rocky zelf heeft moeten bouwen. Ook noemt hij dat je bij LINQ gebruik kunt maken van indexen, handig als je door 100.000 items heen moet bladeren. Hij noemt een soort tree-component, waar iets met binary search gedaan werd. Dat werd recursief gedaan, maar als je zoveel data / diepte hebt, dan loop je tegen stack overflows aan. In dit uitzonderlijke geval heeft Rocky externe code in zijn CSLA toegevoegd, omdat er een open-source project was wat dat aanbood en de functionaliteit leverde die nodig was. Ik weet niet zeker of het dit project is, maar het lijkt er wel op: C5 op Github.

PC 388: Bob Martin is te gast, bekender onder zijn alter ego "uncle bob", onderwerp is "zorgen dat je een professional bent en ook professioneel werkt". Als consultant komt hij vaak bij bedrijven waar code "om te huilen is", omdat met de dreiging van deadlines geitenpaadjes en "hacks" in code genomen worden, zodat de applicatie opgeleverd kan worden. De ellende die dat na de tijd oplevert is altijd groot, dus zijn credo is "zorg dat het in het begin al goed gaat, denk over je acties na en ga niet voor de hack/korte route, want daar ga je spijt van krijgen. Sommige code is "moeilijk", om het dan "op te lossen" zoals Carl zegt door "veel commentaar toe te voegen", daar moet Bob flink om lachen. En wij (die het boek - Clean Code - gelezen hebben) ook, want commentaar zou je niet nodig moeten hebben en doe je alleen als het echt - echt - echt niet anders kan. Bob noemt een boek van Donald Knuth over "Literate Programming" waarbij je in tekst uitlegt hoe zaken allemaal werken, stukken code daarin en dat hoeft niet in de volgorde zoals de code echt uitgevoerd wordt. De compiler kan de code vervolgens wel in de juiste volgorde zetten. Bob begreep niets van dat verhaal (ik meende dat het over priemgetallen o.i.d. ging), hij snapte het pas toen hij de code zag. Dus ja, soms is code moeilijk, maar als je je best doet om je code leesbaar en verduidelijkend te zijn, kun je een heel eind komen. In ieder geval, deze uitzending kun je wel overslaan, ik adviseer je wel het boek te lezen.

PC 389: Carl en Richard zijn bij de PDC in Los Angeles en hebben daar wat presentaties gezien. Zo wordt "Windows Azure" genoemd en "Microsoft Surface". In deze uitzending spreken ze met Robert Levy en Doug Kramer die een demo van de Surface hebben gegeven. In deze uitzending krijgen we meer uitleg over de surface en wat er mee gedaan kan worden. Het is een soort "koffietafel", scherm heeft een diagonaal van 30 inch en de resolutie is 1.024 x 768 pixels. Als je met de SDK wilt werken moet je een examplaar kopen, kosten rond de 15.000 dollar. De bezoekers die bij een presentatie waren kregen ook de SDK mee (zoals al genoemd in PC 386). Zoals je op Wikipedia kunt lezen kreeg het project later de naam "PixelSense" en is het uiteindelijk gestopt.

PC 390: In deze uitzending is Steve Souders te gast. Hij werkte bij Yahoo en nu bij Google. In zijn tijd bij Yahoo is hij met een project gestart, yslow. Er werd namelijk vaak gefocust op de "back-end", dus als klanten klaagden over "een trage website" werd al gauw gekeken waar daar geoptimaliseerd kon worden. Maar daar was de doorlooptijd vaak al 200 milliseconden, kon er iets geoptimaliseerd worden naar 180 milliseconden maar bleef de site "aan de voorkant" traag. Steve is volgens mij ook eens te gast geweest bij Hanselminutes, de tool komt mij bekend voor. YSlow is omzet naar een plug-in voor Firebug waardoor je in de browser adviezen krijgt wat je kunt optimaliseren. We lopen wat zaken langs. Zo noemt hij het voorbeeld van squid, dat is een proxy die ook bij Google gebruikt wordt. Maar het internetverkeer kan daar alleen met HTTP/1.0 door, wat vertragend werkt. Ondanks dat Internet Explorer 7 al 2 jaar uit is, werken nog steeds mensen met Internet Explorer 6 en moeten developers "extra moeite doen" om hun code ook daar werkend te krijgen. Hier is de site savethedevelopers.org (nu niet meer online) uit voortgekomen. Steve is nog met andere tools bezig geweest, Hammerhead en UA Profiler. Meer informatie kun je op zijn website vinden: stevesouders.com. Het laatste bericht op die site is van 2016, deze lijkt dus niet meer echt onderhouden te worden. YSlow heb ik hier op Github kunnen vinden.