.NET Rocks - podcast 331 tot en met 340

Ingediend door Dirk Hornstra op 05-aug-2025 17:34

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 331: Een live-uitzending in New York, Stephen Toub praat ons bij over concurrency. Zaken die we ook al eerder gehoord hadden, over de .AsParallel() extensie op LINQ.

PC 332: Bij better know a framework, noemt Carl "System.String.Compare". Bij VB was er een bepaalde optie waarbij je kunt zorgen dat er case-insensitive vergeleken wordt, dus WOORD is hetzelfde als woord. Misschien nog maar eens naar kijken, want vaak doe je een .ToLowerCase() op beide variabelen die je vergelijkt om te voorkomen dat op basis van hoofdlettergebruik je een (voor jou) foutief antwoord krijgt. In deze uitzending is Ted Neward te gast, Ted is eerder bij .NET Rocks geweest. De uitzending gaat over de nieuwe talen die de .NET CLR ondersteunt, zodat er nu IronRuby (Ruby), IronPython (Python) op draait, F#. Zo komen ook nog wat onderzoeksprojecten ter sprake. Iets met Cords wat te maken zou hebben met de "Join Library", maar dat is volgens mij niet echt wat geworden. Wel de Task Parallel Library, wat ook voorbij komt in aflevering 331. Op Microsoft Learn kun je daar meer over lezen. Je had in 2008 al dual-core pc's, ook quad-core, dus je zou verwachten dat dit redelijk standaard is. Maar de Lenovo laptop (die ik van mijn werk overgenomen hebt) heeft maar 1 core. Het is eigenlijk wel verrassend dat ik weinig met parallelle zaken in code doe, misschien toch nog eens kijken of we op die manier (vooral bij zware/langdurige import- en exportprocessen) daar voordeel uit kan halen. Hoewel het hier geen relatie mee heeft, omdat ik zoek op "cord", kom ik deze website tegen die code bevat die je in .NET kunt gebruiken met Discord. Mogelijk interessant om later nog eens wat mee te doen! Ook andere talen zijn bezig met bijvoorbeeld virtuele machines. Zo noemt Ted "parrot", een virtuele machine voor Perl. De website is nog online, volgens Wikipedia is het sinds 2021 een "discontinued project". Ted zijn website was tedneward.com en blogs.tedneward.com, maar beide zijn niet meer online. Het lijkt erop dat dit de nieuwe site van Ted is, wordt ook actief bijgehouden. En het credo van Ted is dat je regelmatig een nieuwe programmeertaal moet leren. Tip van hem: nemerle.

PC 333: In better know a framework noemt Carl de class System.Diagnostics.Trace. Je kunt met Debug output tonen, maar daar worden ook andere zaken in getoond. Met Trace kun je het wegschrijven naar een tekstbestand, database of andere locatie. Bij de ingekomen e-mail komt de inzender nog even terug op "code generatie". Dat kun je ook in Visual Studio doen, door een bestand met extensie .tt op te slaan. Dat is het 4T-formaat. Hij noemt t4editor.net, die site is niet (meer?) online, maar ik vind nog wel een gratis editor met intellisense bij Devart. In deze uitzending zijn Jeremy Miller en David Laribee te gast. Zijn zijn van "alt.net", alternatieve (opensource) software voor .NET producten, die niet door Microsoft gemaakt is. Ze zijn bij een overleg bij de regionale directeuren van Microsoft geweest (waar Carl en Richard ook waren) en daar ontstond een levendige discussie over wat Entity Framework is en hoe "zij" fans zijn van het alternatief, NHibernate. Op zich hebben ze daar wel een goed punt. Want als je een feature wilt ontwikkelen, code gaat bouwen, is het vaak dat je eerst de datastructuur op database-niveau eerst met uitwerken en inrichten voordat je daarmee aan de slag kunt gaan. Schijnbaar is dat bij NHibernate niet nodig. Hij noemt nog een andere tool, dat is een Java port naar .NET, maar het is niet te verstaan wat hij zegt, dus die kan ik hier helaas niet delen. De sites doen weinig op het internet. https://altdotnet.org/ is er niet meer, thebeeblog.com is er niet meer, codebetter.com bestaat ook niet meer. Jeremy zijn site is nog wel online, bevat interessante artikelen en wordt ook nog regelmatig bijgewerkt!

PC 334: In deze uitzending hebben we 3 gasten, Chris Hart, Kyle G en Zain Nabouisi, de uitzending gaat over software ontwikkelen voor second life. Om te programmeren gebruik je de Linden Scripting Language. Geen .NET dus! Je kunt wel zaken koppelen aan webservices, die kun je natuurlijk wel in .NET bouwen. Er is een wiki om daarmee aan de slag te gaan. Carl was een artikel tegengekomen van een partij die iets met AI gemaakt had in second life, vergelijkbaar met een 4-jarige. De gasten reageren daarop, er zijn meer initiatieven. Zou zou "alice.org" ook wat met AI doen.  Het onderwerp is eerder in een .NET Rocks uitzending naar voren gekomen, ik was toen verrast dat de site er nog steeds is. Maar afgezien van deze podcasts kom ik nergens meer wat tegen qua nieuws of artikelen over second life. In de uitzending wordt libsecondlife genoemd, een opensource versie van Second Life.

PC 335: In deze uitzending is Jonathan Zuck te gast. Hij is al eerder in 2 afleveringen te gast geweest. Jonathan was vroeger developer, maar houdt zich nu voornamelijk met conflicten/rechtszaken bezig. Hoofdonderwerp is de "politics of ooxml". IBM/Sun probeerde hun eigen standaard af te dwingen (ODF, Open Document Format). Via de overheid en bepaalde overheden in gebieden van Amerika. Het verhaal over ODF kun je hier op Wikipedia lezen. Het was een standaard voor StarOffice. Alleen... toen een bepaalde overheid overging op dit type, bleek dat dit bestandstype veel zaken niet ondersteunde. VB code in documenten, toegankelijkheidsopties voor mensen met handicaps (die vervolgens voor het gemak maar werden ontslagen...). Microsoft kwam als reactie hierop met een eigen standaard, OOXML. Omdat Office hun eigen product is, kan Microsoft zorgen dat wel alle zaken ondersteund worden. Ook bepaalde "bugs in oude versies", omdat mensen hun code daarop ingericht hebben om die bugs te fixen. Bij de uitzending van de podcast heeft de ISO de avond ervoor het besluit genomen wat de standaard wordt, ODF of OOXML. Zo te lezen zijn beide "een standaard geworden", bij OOXML is wel wat gedoe geweest, maar ook dat is goedgekeurd. Ook een goed punt van Jonathan, vaak willen mensen die "niet zoveel van IT weten zaken verbieden". Het gaat er niet om dat je een bepaald type software verbiedt, maar juist "de (criminele) intentie". Zo komt spyware ter sprake. De technieken die daarin gebruikt worden, worden echter ook gebruikt bij Anti-virus programma's, bij programma's om software te updaten. Dus "dat type software" heb je wel degelijk nodig. Ook zijn aanvragen volgens hem bedoeld om te zorgen dat een bepaald bedrijf als "monopolist" de opdracht kan scoren. Zo kwam er een verzoek om te zorgen dat iedereen die een bepaalde dating-site gebruikte, hij/zij moest kunnen aangeven geen strafblad te hebben. Qua specs kwam je daarbij uit bij één partij die dat kon... en die dat verzoek had ingediend. Geen developer-aflevering, maar wel leerzaam. Met een verwijzing naar actonline.org, die site was (meende ik) van Jonathan.

PC 336: In het begin van de uitzending wordt elegantcode.com genoemd. Ik weet zo niet meer in welke context, maar het is wel een interessante site. De site van David Starr die bij Microsoft werkt. En sinds maar een sabbatical houdt, zich in die tijd meer in AI e.d. wil verdiepen. Een site om te blijven volgen! In deze uitzending is Marc Mercuri te gast. Hij heeft het over robotica en dan met name over het kunnen simuleren van robotica. Bij het event robochamps kun  je kaarten winnen voor de PDC. De website, robochamps.com is alleen nog via archive.org te bekijken en is zo te zien een Silverlight-site geweest: nu (helaas) niet meer te bekijken. Met Microsoft Robotics Studio kun je in Visual Studio met C# code maken. Niet alleen gesimuleerd, LEGO schijnt de code ook te ondersteunen en nog een aantal robots, zoals iRobot, CoreBot. Dus als je écht wat wilt laten rondrijden... 

PC 337: De gast van deze uitzending is Jim Webber. Zijn website was bereikbaar op jim.webber.name (maar is dat inmiddels niet meer). Jim is inmiddels bereikbaar op jimwebber.org, helaas blogt hij niet zo vaak meer. Het onderwerp is Guerilla SOA. Carl en Richard kregen een mail van een luisteraar met een link naar een presentatie van Jim met het verzoek om hem uit te nodigen voor een uitzending. Ze vonden het beide een geweldige presentatie en zo is deze uitzending tot stand gekomen. Ik heb ook nog een online locatie gevonden waar je de presentatie (en de bijbehorende sheets) kunt bekijken: link. Jim is kritisch over bepaalde zaken (en dat is goed). Zo is één van zijn uitspraken: "winners don't use WSDL". WSDL vindt hij niet optimaal. Dat was in het begin geweldig, omdat zowel .NET als Java met elkaar konden communiceren, maar Jim wil meer de intentie/flow van berichten weergegeven in het schema dan hoe de losse calls en losse objecten eruit zien. En nee, alleen wat webservices bij elkaar gooien is geen Server Oriënted Architecture! Misschien toch zijn boek maar eens even lezen:  Developing Enterprise Web Services - An Architect's Guide

PC 338: Mark Miller is te gast met als onderwerp, de wetenschap van goede UI. In eerdere uitzendingen vond ik Mark nogal irritant, hij praat ook wat te snel, maar in deze uitzending is het wel te doen. Zo noemt hij dat een item om te meten of mensen je website of applicatie "handig" vinden om te gebruiken, te kijken naar de toetsaanslagen en gebruik van de muis. Gaat deze continu over het scherm heen, continu scrollen e.d., dan lijkt het niet goed. Zorg dat zaken goed/snel te vinden/te gebruiken zijn. Efficiency. Het andere deel is "discoverability". Weet waar je iets moet vinden wat je nodig hebt. Als je dat supersnel kunt doen, dan blijft je "in de flow". Als je in het programma moet klikken, zoeken, verder klikken, dan ben je met het programma bezig en dat is een teken dat er iets niet goed gaat. Ook de werking moet duidelijk zijn, Mark geeft aan dat als in documentatie of in het verkooppraatje er heel wat uitgelegd moet worden om iets te gebruiken, dan geeft het aan dat het niet goed gebouwd is. Mark geeft ook het voorbeeld van iets wat ik zelf doe, als hij in een restaurant is, kijkt hij naar het kassa-systeem wat daar gebruikt wordt. Hij ziet bijna altijd een soort DOS-interface. Ik kan dat bevestigen, ik zie dat ook nu nog steeds. Het gaat er om dat je zaken snel en zonder teveel te hoeven zoeken uit kunt voeren. Edward Tufte wordt ook genoemd, als iemand die goed is in design. Mark geeft ook het voorbeeld van seriële en parallelle stromen. In een seriële situatie, waarbij je een pop-up krijgt en "er achter" net datgene staat wat je nodig hebt: venster verschuiven. Of er staat de data die je nodig hebt, pop-up sluiten, data kopiëren en dan die pop-up weer activeren.

PC 339: Phil Haack is te gast, hij is al eens eerder bij .NET Rocks te gast geweest. Hij is inmiddels werkzaam bij Microsoft, bij een bezoek aan MS vroeg Scott Guthrie of hij even langs wilde komen, liet hem het model view controller model zien wat hij aan het implementeren was in .NET en Phil zei: daar wil ik aan meewerken. Deze uitzending gaat over MVC, op zich dus niet heel veel nieuws. Phil heeft een website: haacked.com waar hij ook regelmatig op blogt. Tijdens de uitzending wordt KIGG genoemd, dat is een C# / MVC implementatie van het DIGG commando. Via archive.org kon ik nog een versie downloaden.

PC 340: Brad Abrams en Omar Khan kondigen .NET 3.5 SP1 en VS2008 SP1 aan. Zo laten ze weten dat het mogelijk is om .NET applicaties via een share uit te kunnen voeren, in het verleden kon dat in verband met rechten niet. Ik meen mij te herinneren dat we in die tijd bij Creative Industries daar ook wel eens tegenaan gelopen zijn. Ook Entity Framework is een onderdeel geworden van Visual Studio (zolang alweer dus!).