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 391: In deze uitzending is Bill Wagner te gast om over C# te spreken. Hij had al een boek geschreven, Effective C# en nu het vervolg, More Effective C#. In deze uitzending komt ook parallelle processen/threading ter sprake, Bill raadt aan om het boek over Concurrent Programmeren van Joe Duffy te lezen. We lopen een aantal zaken uit zijn boek langs. Zo noemt hij de IEnumerable, deze kan alleen "voorwaarts", dus als je een omgekeerde lijst als resultaat wilt, zou je door alle items heen moeten lopen en die omgekeerd teruggeven. Maar als je controleert of het object wat je binnen krijgt van type IList is, dan kun je daar de reverse-functie van gebruiken. Met bepaalde functies die thread-safe moeten zijn, kun je een attribuut op de functie zetten ([Synchronize]). En STM wordt nog genoemd, Software Transactional Memory. Dit is wel eerder genoemd, is nog in de experimentele fase en volgens mij "is het niets geworden".
PC 392: Carl en Richard zijn in Barcelona bij Teched. Carl is al bij het aquarium geweest (wij zijn daar met ons TRES-fest ook geweest) en gaat één dezer dagen naar de Sagrada Familia. In deze uitzending is Ron Jacobs te gast. Het eerste deel gaat over REST. Tot deze tijd wordt vooral WCF gebruikt (SOAP uitwisseling van data), maar dat is niet een echte HTTP-eigen methode van transport. Ron is enthousiast over REST, het team van Microsoft heeft een WCF REST starterkit op codeplex gezet. Het andere onderwerp is project Dublin, een codenaam voor een distributed application server. Had je bepaalde zaken die je wilde "draaien", dan moet je dit zelf aan een proces koppelen. Vaak is dat een Windows Service. Maar geen echte best-practises en uitleg. Je krijgt een applicatie server die dit voor je doet, Carl heeft het over BizTalk, maar dit "zou meer zijn". Carl vraag wat "M" precies is. Je kon modellen maken, maar sommige developers willen gewoon alles met hun toetsenbord doen, dus daar is een soort tekstuele variant op gemaakt. In dit artikel op stackoverflow kun je er meer over lezen, korte versie is dat het niet echt wat geworden is en Microsoft overgestapt is naar OData.
PC 393: In deze uitzending bespreekt David Hayden het Unity Framework. Dat is onderdeel van de Enterprise Library, maar ook als los project te downloaden. Het voordeel van het downloaden "met" het Entity Framework is dat je ook de koppelingen met de andere building-blocks krijgt. Daar had je anders Builders o.i.d. voor nodig, dat hoeft nu niet meer. Ten tijde van deze uitzending is Enterprise Library 4 uitgebracht. David is eerder te gast geweest. Zijn website codebetter.com is niet meer online, pnpguidance.net ook niet meer. Enterprise Library, hiervan is versie 6 de "huidige versie". Deze is in 2013 uitgebracht, wat al aangeeft dat de ontwikkeling daar (schijnbaar) gestopt is. Mocht je het nog willen downloaden, hier is de link.
PC 394: Richard Costall en Dave Mc Mahon over community in Groot Brittannië. Heel veel gespraak over "swag". Een uitzending die je over kunt slaan.
PC 395: Carl en Richard zijn in Las Vegas bij DevConnections. In een zaal met veel publiek, te gast is Mark Miller. Onderwerp is UX, iets waar hij het wel eerder over gehad heeft. De uitzending kun je overslaan, je leert er niet veel van, maar een paar zaken wil ik toch wel noemen. Zo laat Mark zien hoe je in Excel het "search-en-replace" dialoogvenster hebt en zoekt op een "e". Die staat in een cel, onder dit dialoogvenster. Dus zodra je gaat zoeken, gaat het dialoogvenster een beetje aan de kant, zodat je het zoekresultaat kunt zien. Wat echter altijd gezegd is (volgens Carl) is dat je code nooit de muis mag verplaatsen. Maar dat gebeurt hier wel, die verplaatst mee met het dialoogvenster. En dat is juist goed, want je blijft "op de plaats waar je stond" en kunt zo klikken om de volgende match te zoeken. Dus probleem opgelost, zou je zeggen. Maar dan geeft Mark ditzelfde voorbeeld en zegt, ga nu met de muis naar de menubalk en ga naar Invoegen. En druk dan op enter om opnieuw te zoeken. Aha, je ziet dat de muis nu ook verplaatst! In de code kan waarschijnlijk niet gedetecteerd worden of je invoer afkomstig is van de muis of van het toetsenbord. Dit was Excel 2007, bij mij is het versie Excel 2021 en daar werkt het nog steeds zo. Dus je lost het ene probleem op, maar je creëert dus eigenlijk een nieuw probleem... Mark is zeer enthousiast over de ribbon, het geeft context-gerelateerde zaken waar je mee bezig bent en ook de preview (als ik een ander font of lettergrootte kies), bij het "eroverheen gaan met de muis" zie je een soort preview wat het resultaat is. Mark noemt nog een eigen tool die je kunt gebruiken, devexpress.com/clipboardhistory
PC 396: Carl is in Sofia, Bulgarije bij DevReach, hij zit op het podium met een panel die discussiëren over de toekomst van web-development. Het panel bestaat uit Miguel Castro, Todd Anglin, Shawn Wildermuth, Steven Smith en Mark Dunn. Zo zegt Carl dat hij onderweg met XXXX gesproken heeft en daar ter sprake kwam dat een designer die met Blend kan werken een salaris van 500 dollar per uur kan vragen. Deze uitzending kun je ook wel weer overslaan.
PC 397: Michael Feathers praat in deze uitzending met Carl en Richard over "legacy code". Onder legacy code beschouwt Michael code "die geen testen bevat". Hij heeft daar een boek over geschreven, Working effectively with Legacy Code, in de uitzending worden een aantal zaken daarvan besproken. Zoals het vervangen van een implementatie met een Interface en dan alle foutmeldingen stuk-voor-stuk fixen door implementaties toe te voegen. Zo weet je (als je in een onbekende code-base duikt) exact welke functies wel gebruikt worden en welke niet. Vaak genoeg zijn Richard en Michael in code gedoken en zegt de developer "oh, dat wordt niet gebruikt". Of heb je documentatie die nooit meer bijgewerkt is en waar je dus niets aan hebt. Ook noemt Michael nog een voorbeeld van een stuk code waarin een static class wordt gebruikt, waar hij dan een andere class omheen bouwt, Richard zegt hierop: "ah, a shim!". Michael raadt aan om regelmatig een nieuwe programmeertaal te leren, hij adviseert Haskell (waar hij zelf ook mee bezig is geweest). In de uitzending wordt ook Conway's Law genoemd, dat systemen die gebouwd worden vaak een representatie zijn van de organisatie waar ze gebouwd worden (wikipedia-link).
PC 398: In deze uitzending is Glenn Block te gast, het onderwerp is MEF. MEF staat voor Managed Extensibility Framework. Het verhaal van Glenn is goed, over hoe je zaken "dynamisch" kan toevoegen. Het zijn een soort "plug-ins", maar een beetje anders. Zo heeft een extensie mogelijkheden voor "import", maar ook voor "export". Glenn noemt het voorbeeld van Visual Studio waar al een deel zo wordt geïmplementeerd, waarbij Python voor menu-items gebruikt wordt. Het project stond op Codeplex en is verhuisd naar Github. Daar is het gearchiveerd, want het is Framework-only. In deze pagina wordt verwezen naar CoreFX. Ook die repo is gearchiveerd, daar wordt verwezen naar de runtime repository. Dat is de dotnet repo en daar wordt (natuurlijk) actief aan gewerkt. Op deze pagina kun je de uitleg en motivatie lezen waarom zaken samengevoegd zijn.
PC 399: In deze uitzending spreken Carl en Richard met een paar mensen van Hewlett Packard over de HP TouchSmart. Een pc waarbij het scherm een "touch screen" is en je dus zaken kunt manipuleren. Dat wordt gedaan met een soort shell die draait en die gebaseerd is op WPF. Je kon hier zelf zaken voor ontwikkelen (en prijzen mee winnen). In de uitzending wordt onder andere touchsmartcommunity[punt]com genoemd, dat is inmiddels een site die je niet wilt bezoeken (mijn link gebruikt archive.org om de originele site te tonen).
PC 400: De show die je wel over kunt slaan. Aan het begin een samenvatting van wat Carl en Richard afgelopen jaar gedaan hebben (veel conferenties bezocht), rest van de uitzending horen we verschillende mensen uit de uitzending, alleen zitten ze in een bar en is wat er gezegd wordt dus niet interessant.