.NET Rocks - podcast 151 tot en met 160

Ingediend door Dirk Hornstra op 16-oct-2023 20:40

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 151: Road trip: Los Angeles. Carl en Richard zijn nog onderweg, dit zijn de laatste plaatsen die ze bezoeken. Daniel Egan heeft een boek geschreven Designing Websites with VB.Net and DetNetNuke en dat is via Amazon inderdaad te vinden. John Miller die te gast is bespreekt een project waar hij mee bezig is. Een redelijk groot project. Het namelijk uitwerken en opzetten van een framework/afspraken voor een model waarmee business-rules geformaliseerd kunnen worden en voor één uitleg beschikbaar zijn. Volgende gast is Rock Retner, hij houdt zich daar ook mee bezig, met taalmodellen en andere zaken. Hij komt met een prachtig verhaal uit de 50-er jaren. Er wordt met ponskaarten en dergelijke gewerkt. In de avonduren is er één medewerker die steeds hetzelfde programma draait. Hij luistert naar muziek (koptelefoon met grote antenne) en is iemand met ritme, dus hij beweegt op de muziek en wijst dan zaken aan: de kaart wordt nu ingevoerd, de printer maakt nu een afdruk. Omdat hij programma elke avond uitvoert weet hij exact wanneer het gedaan wordt. Op een avond komt de baas erachter dat hij zijn attachekoffer heeft laten liggen. Dus midden in de nacht rijdt hij naar het werk om die op te halen, ziet door de glazen wand deze programmeur de zaken dus aanwijst en hij ziet dat er dingen gedaan worden en hij rent vervolgens schreeuwend naar buiten: nu weet ik hoe ze het écht doen. De vader van Rock heeft 2 weken nodig gehad om uit te leggen hoe het werkt en hem weer rustig te krijgen. De kennis van IT was toen voorbehouden aan een kleinere groep mensen. 

PC 152: Road trip: San Francisco, the launch! Deze uitzending kun je wel overslaan. Er wordt met een aantal mensen gesproken, maar het is niet echt de moeite waard. Er wordt onder andere met Edward Jezierski van de patterns and practices group gesproken (volgens mij een onderdeel van Microsoft). Als ik daarop zoek, vind ik een Github-locatie: link. Daar wordt verwezen naar aka.ms/mspnp wat ons op een site over Azure brengt en hoe je dat moet configureren. Bij mijn zoektocht ben ik ook nog op een powerpoint presentatie van Ed uit 2005 gestuit: link. Je ziet dat daarin wordt verwezen naar de Enterprise Library. Deze is op Github te vinden: link, daar lees je al dat er niet meer aan ontwikkeld wordt. Waarschijnlijk omdat deze zaken inmiddels in de C# en VB code zitten en je er dus geen extra codebibliotheek voor nodig hebt. Wat wel grappig is, is at Carl noemt dat bij dit event de band Cheap Trick optreedt. Ik dacht die niet te kennen, ik zie in Spotify dat ik 3 nummers een like gegeven had. Maar dat was te verklaren, de albums had ik namelijk een like gegeven: 70s 100 hits, 80s 100 hits en the best of rock. En ik zie waarom: "I want you to want me" is een klassieker!

PC 153: Mark Miller wraps it up. De mannen zijn Las Vegas bij DevConnections waar ze een live-uitzending doen met flink wat publiek. Mark Miller is deze keer gelukkig wat serieuzer dan in de afgelopen afleveringen en wordt door Carl en Richard geïnterviewd. Ik zou zelfs willen zeggen: beluister deze aflevering! Mark heeft CodeRush gemaakt, een tool binnen Visual Studio waarmee je het typen van code flink kunt versnellen. Maar ook Refactor, om je code te refactoren. Rond deze tijd is Visual Studio 2005 officieel uitgekomen en is LINQ nog in de startfase. Mark is enthousiast over LINQ en terecht, het is iets wat we nog steeds gebruiken in code! Ook anonymous functions en extensions. En Carl benadrukt nog even hoe goed hij met contrast omgaat in zijn producten. Zo heb je een soort tellertje, met de cijfers zwart. Maar ook de lijntjes er omheen waren dezelfde kleur zwart. Die heeft hij lichter gemaakt zodat duidelijk is waar de focus op moet liggen. Ook wordt de "natuurlijke versnelling" genoemd. Je hebt iets op je scherm wat van rechtsonder naar linksboven moet. Als dat met een vaste snelheid gaat, dan weet je wat het eindpunt is en zit je je te ergeren, wat gaat dit traag... In de code van Mark zit dat het eerst snel gaat, daarna wat vertraagt en aan het einde weer versnelt. Ook hoe "mensen in het echt bewegen". De basis van Mark zijn producten is dat het "extensible" is. Werkt iets niet zoals jij wilt, dan maak je zelf maar een override. Mark is scherp op code. Zo noemt hij het gebruik van een boolean of switch in code, waardoor je functie zich heel anders gaat gedragen. DXCore is een framework voor Visual Studio, CodeRush en Refactor zijn er afhankelijk van. Je kunt zelf (gratis) gebruik maken van DXCore. Hoe het in deze uitzending genoemd werd, dacht ik dat het iets van Microsoft was. Maar het lijkt erop dat het iets is wat Devexpress (het bedrijf van Mark) gebouwd heeft en online heeft gezet. Nu niet meer, die pagina gaat nu meteen door naar Coderush. Misschien werkt dat ook niet meer in de nieuwere versies van Visual Studio. Ook noemt Carl het feit dat Mark niet veel boeken leest. Tijdens één van de vragen uit het publiek noemt Mark daarop als uitzondering het boek Visual Explanations: Images and Quantities, Evidence and Narrative. Geschreven door Edward Tufte, ISBN nummer is 0961392126. Mark vindt Edward een geweldige schrijver.

PC 154: From vbug across the pond. Oftewel, deze uitzending zitten Carl en Richard in Engeland bij VBug. Tijdens dit event zijn 4 developers een halve dag bezig geweest om met Visual Studio 2005 een applicatie te bouwen. Ze kregen daarbij een webservice aangeboden, ze moesten hier zelf wat mee doen. De één maakt een interface in een Windows Forms applicatie, een ander in een ASP.NET website, de derde developer maakt mobiele apps (zowel voor de mobiele telefoon als voor de pocket pc) en de laatste developer doet het in Office, met de Visual Studio Tools for Office. De gemeenschappelijke factor daarbij is dat er niet heel veel code getypt hoeft te worden, veel zaken kunnen met standaard onderdelen in elkaar geklikt / aan elkaar gekoppeld worden. Hierna praten Carl en Richard nog even met Gram Parker. Ze spreken over de evenementen die door de gebruikersgroepen georganiseerd worden. Hierna worden de "we rock" en de "we fly" projecten genoemd. Dit zijn 2 projecten, met voorbeelden waarvan je als developer kon leren. Het rock-project was een voorbeeldproject om bands in te huren, het fly-project was voor een niet bestaande vliegmaatschappij. Helaas is het domein learn247.com niet meer in hun bezig, via het archief is hier we rock terug te kijken en hier we fly.

PC 155: Carl en Richard praten met Deborah Kurata over object binding en meer. Maar voor ze dat doen worden nog wat e-mails behandeld en iets wat Richard hoog zit: icann.org. Domeinnamen (onder andere .com en .net) zijn in beheer bij een non-profit organisatie, in Amerika. De EU wil zaken anders, bepaalde mensen zitten erover te miepen en vervolgens heeft een rechter een bepaalde uitspraak gedaan die volgens Richard prima is. Maar er wordt nog steeds tegen geageerd, hij was bij een lokaal event waar mensen met vreemde opinies kwamen. Het werkt goed, laat het zoals het is. We zijn inmiddels 18 jaar verder, dus ik neem aan dat het zo gebleven is. Het zijn zaken waar ik niet "in zit", ik zie dat er zaken genoemd worden als DNSSEQ en bepaalde hashes/CRC checks die nu bij een root zone toegevoegd worden, zodat verkeer wat binnenkomt gecontroleerd kan worden (of er niet mee gerommeld is). Deborah is in tegenstelling tot Carl nog redelijk sceptisch over hoe ontwikkelaars van VB6 "makkelijk" over kunnen gaan naar Visual Basic 2005, volgens haar zijn er nu nog meer mogelijkheden, die een VB6 ontwikkelaar in het verleden niet gebruikte, niet weet dat het er nu is en dus straks ook nog niet zal gebruiken. Nog even gezocht, Deborah is een top-notch persoon: Microsoft MVP, Google Developer Expert, author op Pluralsight, iemand om te volgen dus! Haar Github: link, X (voormalig Twitter): link en youtube-kanaal: link.

PC 156: Andrew Brust spreekt met Carl en Richard over Business Intelligence en OLAP. OLAP staat voor OnLine Analytical Processing: link Microsoft. Het is ontwikkeld door een Israelisch bedrijf, Panorama, die volgens Andrew er nog plugins, front-ends e.d. voor maakt. Er staat een artikel online waarin wordt gemeld dat dit in 1996 was: link. Het zit binnen SQL Server. Voor pivot-tabellen in Excel e.d., daar gebruik je dit voor als ik het verhaal zo hoor. Iets om nog eens naar te kijken, want we kennen de rij-kolom structuur, maar hiermee kun je in "diepere dimensies" gaan. Richard vertelt over een conferentie waar een spreker uitgevallen was en hij ingevallen was, met een verhaal over OLAP. Halverwege loopt een groepje mensen weg. Wat is er aan de hand? In de pauze komt hij één van die mensen tegen en hij verontschuldigt zich dat het onderwerp voor hun niet interessant was. Dat blijkt anders te liggen, de ander reageert met: nee, ik moest direct de baas bellen, want toen ik dit zag dacht ik: dit moeten wij ook gebruiken! Carl vraagt Andrew naar de belangrijkste implementaties met OLAP. Andrew komt met een voorbeeld van een project, een classic ASP site met een aantal vragen. Door de "kubus" toe te voegen kon de klant niet alleen naar het overzicht met antwoorden kijken, maar ook naar de relatie met de eerste 4 vragen die over de grootte van het bedrijf, sector van het bedrijf e.d. ging. Hierna gaan we naar hoe zo'n "kubus met data" opgebouwd wordt. Je kunt de kubus "opslaan in de database", zodat je er mee kunt werken. In een multi-dimensionaal opslagmedium. Goede performance op de query's, maar het updaten is veel werk. De andere methode is om de basis van de kubus opgeslagen in relationele tabellen, op het laagste niveau. En ook de definities. En de aggregaties. Voordeel daarvan is dat de updates redelijk simpel door te voeren zijn. Met SQL Server 2005 kun je een deel in cache opslaan. ETL: Extract, Transform and Load, dit was DTS (Data Transformation Services), ooit nog wel gebruikt in een oude SQL Server versie om data uit een Excelbestand in te kunnen lezen. SSIS: SQL Server Integration Services zijn nu de services die dat doen. Andrew heeft ook een boek over SQL Server geschreven, ik zie een 2008 en een 2012 versie, maar niet recent. De vraag van Carl welke software hij recent gedownload heeft, hij komt daarop door een blog-post van Mary Jo Foley: X en link. De tool heet SNARF en staat voor Social Network And Relationship Finder, een Microsoft Reseach project. Je bent op vakantie geweest, hebt rust genomen, dus geen mails gecheckt. Als je weer thuis bent staan er 700 ongelezen mails op je te wachten. SNARF "snapt" wie belangrijk voor je is en zorgt dat die mails bovenaan staan, zodat de prioriteit direct goed ingesteld staat. De PDF met uitleg staat hier: link. Ik kwam nog een kort bericht van Jan Tielens tegen (mastodon, blogs), maar verder kon ik niet zoveel vinden. Maar wel een reminder om de research van Microsoft wat meer in de gaten te houden, mogelijk zitten er nog wat andere coole tools tussen: link.

PC 157: Carl en Richard praten met David Smith over Bittorrent en IPv6. Interessante aflevering! Natuurlijk heb ik in het verleden ook wel gebruik gemaakt van .torrent-bestanden, onder andere om bepaalde Linux-distributies binnen te halen. Het is namelijk een geweldige manier om "grote/veel bestanden" binnen te halen. Als je die bestanden aanbiedt om ze te downloaden vanaf een site (bijvoorbeeld de podcasts van DotnetRocks), dan heb je daar een connectie mee (en ook al die andere mensen die dat bestand downloaden), waardoor de snelheid afhankelijk is van het lijntje waar die webserver achter zit. David legt uit hoe het zit (ik weet niet of het protocol nog steeds zo werkt), maar volgens hem meldt je met je programma aan bij een Tracker, die geeft je de IP-adressen van de server(s) waar het bestand staat en vervolgens gaat jouw programma daar het bestand (of bestanden) downloaden. Dat gaat in delen, dus bijvoorbeeld het 1e en 2e deel vragen we op bij server 1, maar andere downloader X heeft al het 3e en 4e deel gedownload, dus die kunnen we daar vandaan opvragen. En zo kun je meerdere "data-stromen" gelijktijdig naast elkaar laten lopen, waardoor je (als het goed is) sneller je bestand/bestanden op je eigen pc hebt. Waar in het verleden een populaire download er voor zorgde dat die site bijna plat ging (omdat je bijna DDOS-achtige toestanden had omdat iedereen het bestand ging downloaden), is dat nu juist een voordeel, omdat hoe meer mensen het via een .torrent downloaden, je meer locaties hebt waar je de delen van de bestanden kunt opvragen, een groter verspreidingsgebied. David noemt ook de "super-seeders", hierbij zorgt de aanbieder dat voordat hij/zij de .torrent deelt hij/zij die zelf al op meerdere servers verspreid heeft. Dus je hebt jezelf als aanbieder al een voorsprong gegeven. Het nadeel is echter wel dat na een aantal jaar waarschijnlijk niemand het bestand meer aanbiedt. Of het moet nog op de originele locatie te bereiken zijn. Maar zoals je zelf ook kunt zien, websites op het internet verdwijnen en dat geldt ook voor bestanden.  David heeft een C# cliënt gemaakt voor bittorrents, via btsharp.com. De site lijkt nu niets meer te doen. Ook wordt bittorrent.net genoemd, die is nog wel online. Carl gebruikt Azureus (ik ook), ik zie dat dit inmiddels "Vuze" geworden is en de ontwikkeling daarvan rond 2018 redelijk gestopt is. Carl noemt nog even een pagina op zijn "pwop" site voor cliënts, die staat ook nog online: link.

PC 158: In deze uitzending is hij weer eens terug: Chris Sells! Deze keer gaat de uitzending over Model Driven Development. Het begin van de uitzending gaat over de multimedia-set, de televisie en de XBox / on-demand kijken. Carl is nog een "traditionele tv-kijker", op welk net komt die-en-die serie, Richard en Chris zijn al via online kanalen bezig om hun series te kijken of het moment dat zij dat willen. In ieder geval, Model Driven Development. Het is niet zozeer dat je volledig in code alles uitwerkt, maar dat je de intentie wat er moet gebeuren in code uitdrukt en dat geïnterpreteerd wordt. Declarative vs. Imperitive. En dat is best wel ingewikkeld. Ik ken mensen die met software werken waarbij de klant "building blocks"  heeft en daar "alles" mee zou moeten kunnen doen, maar vaak komt het er toch op neer dat er in code nog zaken gedaan moeten worden. Wat op zich ook wel logisch is. Het verschil zit of je alleen wat losse draadjes met code moet verbinden of dat je eigenlijk de hele applicatie nog moet programmeren. Chris zegt ook: "er wordt al jaren beloofd dat we via configuratie alles kunnen maken en elke keer weer worden we teleurgesteld".

PC 159: Shawn Wildermuth over decomposing ADO.NET. Carl begint de show met de aankondiging dat hij samen met Scott Hanselman de Hanselminutes gestart is. De website van Shawn was adoguy.com, maar die is niet meer online. Via het archief nog te bekijken: link. De uitzending gaat over datasources, databases in het algemeen, dus op zich kun je de uitzending wel overslaan. Bij de vraag van Carl, welke tool heb je recent gedownload, noemt Shawn Foxit PDF reader (link), die was toen gratis, maar is dat zo te zien nu niet meer. Acrobat Reader bevalt mij prima (en die is gratis), dus ik heb die versie niet nodig.

PC 160: Titel van de uitzending is "Cogan Rules", oftewel de regels van Adam Cogan. Cogan werkt als architect bij SSW. In het intro wordt besproken wat Cogan op zijn bedrijf gedaan heeft. Zo zijn de frisdranken de deur uit gedaan, drink maar water, is het uitje een soort kampeerweekend geworden, 's morgens vroeg een uur rennen (alternatief een uur wandelen), als ik dat hoor ben ik blij dat ik bij TRES werk. Want daar heb je de keuze. Een goed koffie-apparaat, met onder andere cappuccino, een cooker, waardoor je hier ook water kunt krijgen, maar ook met bubbels. Maar in de koelkast staat ook frisdrank, mocht je daar behoefte aan hebben, we nemen op vrijdagmiddag een biertje en gaan we elk jaar een weekend met zijn allen naar een stad in Europa (Ibiza, Berlijn, Stockholm), waar we activiteiten doen (fietstocht door de stad, boottocht). Door de week ben je druk aan het werk, na corona werken we meer thuis, dus sommige collega's zie je bijna nooit. Met zo'n weekend ga je met zijn allen weg, ben je ontspannen, ga je naast je "vaste ploegje" ook eens wat meer met anderen van je werk wat activiteiten doen, dus het werkt heel goed voor de collegialiteit en ook voor de liefde voor het bedrijf. Dat zoiets mogelijk is, dat je zo'n cool weekend hebt, daar mag ook wel even wat extra inspanning tegenover staan! In ieder geval, even terug naar Cogan. Want hoewel ik dus niet met alles mee ga wat Cogan voorstelt (hij had ook over pair-programming, waarbij je met zijn 2-en achter de pc zit om te programmeren), het is natuurlijk nooit verkeerd om te kijken hoe andere mensen iets aanpakken en mogelijk kun je bepaalde delen uit de lijst halen waarvan je zegt: hier sta ik wel achter en lijkt me prima om ook te gaan doen. En yes, ook in 2023 staan de rules nog steeds online! Hier staan de huidige rules: link en hier staat een lijst die nog beoordeeld moet worden: link. Op de site van Cogan kom ik nog een paar zaken tegen die ik niet ga downloaden, maar wel leuk zou vinden om zelf als "project" op te pakken. Zo heeft SSW een CodeAuditor die in Visual Studio checkt of je code beter kan: link en is er ook nog een Link Auditor voor je HTML: link.