.NET Rocks - podcast 281 tot en met 290

Ingediend door Dirk Hornstra op 16-apr-2025 19:05

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 281: In de vorige aflevering, 280, zat Dino Esposito in het panel. In deze uitzending hebben Carl en Richard een interview met hem over Ajax Architectuur.

PC 282: In deze uitzending zijn Rocky Lhotka en Anthony Handley te gast. Rocky kennen we vooral van zijn CSLA-framework, in deze uitzending gaat het over WPF. Rocky maakt "business-applications" en zoals hij zegt: hij bouwt dat zodat de gebruiker zo snel mogelijk zijn acties uitgevoerd heeft. Maar qua user-interface, usability is er vast wel het één-en-ander te verbeteren. Hij was sceptisch ten opzichte van WPF, maar besloot om toch een gok te wagen. Dus voor een project is hij aan de slag gegaan met WPF. Zijn applicatie uitgewerkt in Visual Studio. Anthony is een developer, deze pakte de code op in Blend en zorgde ervoor dat het er "gelikt uit zag". Rocky en Anthony zijn behoorlijk enthousiast over de mogelijkheden. Anthony is iemand die "niet bang is voor code" en ook zelf wel in de XAML duikt om zaken te tunen. Ook Silverlight komt ter sprake, dat bevat een subset van WPF. En Moonlight, de Mono-variant, die een chess-game zou hebben.

PC 283: In "better know a framework" noemt Carl de namespace System.IO.Packaging. Hier zit een soort zip-component in, maar ook zaken met DRM, meerdere bestanden in een container zetten en het ondersteunen van XPS. En je kunt ook nog dingen met "signatures" doen. In deze uitzending is Alex Daley van Windows Live Labs te gast. WLL is een losse organisatie van Microsoft en richt zich op nieuwe technieken die mogelijk in volgende Windows-versies, browsers, applicaties doorgevoerd kunnen worden. Richard belt in bij dit interview, Carl is live bij Alex, want dit was bij een event. Alex heeft daar wat zaken laten zien en die neemt hij met Carl door. Zo was er een boek van Shakespeare of Dickens die op een scherm getoond werd. Heel veel tekst, van afstand. Je zoomde steeds meer in, tot je uiteindelijk op font-niveau zit. Het kunnen inzoomen, het alleen doorsturen van data die "zichtbaar" is, dat is op basis van code van C Dragon, een bedrijf wat WLL overgekocht heeft. Een ander product is photosynthesis, op basis van allemaal foto's wordt een soort 3D-weergave geconstrueerd. Dat is met de Notre Dame gedaan. Ook komt de Endevour ter sprake, het ruimteschip waar problemen met de panelen waren. Ten tijde van deze uitzending was dat volgens Alex terug te vinden op hun site, labs.live.com. En ze zijn bezig met een project "listus", waarbij "lijsten de bron van alles zijn". Iets wat eerder in een uitzending genoemd is en wat ook mijn insteek was.

PC 284: Bij "better know a framework" noemt Carl dat SHA1 encryptie rond deze tijd "hackbaar" genoemd is en dat dit niet meer een veilige manier is om je data te beveiligen. In deze uitzending wordt gesproken met Brad Abrams. Deze is eerder in een uitzending geweest - uitzoeken. De encoder van Silverlight komt ter sprake, de video wordt omgezet naar WMV. Dat is een ISO vc1 formaat. Kleiner en zou ook sneller moeten zijn. Zo komt Youtube voorbij, daar werd initieel alle video naar de cliënt gestuurd. Maar bij een fragment van 5 minuten keken bezoekers vaak maar naar 2 of 3 minuten content: de overige data over de lijn was dus onnodig (en kost Youtube extra geld). Er is een feature waarbij dat in IIS in te stellen is, eerst een burst aan data en daarna 2 of 3 seconden "voor lopen" qua data, zodat een tijdelijk "hikje" opgevangen kan worden. Bij de voorbeelden van Silverlight wordt het Home Shopping kanaal genoemd. Tovrede search Silverlight. En de popfly app mashup waar Brad bij Remix in Boston 2007 wat heeft laten zien (terug te zien via Channel 9 (maar ook dat is er volgens mij niet meer)). Hij deed iets met een spelletje van iemand anders op zijn mySpace (je moest iets doen en dan kreeg je hondenplaatjes te zien, hij kon dat omzetten naar kattenplaatjes). Ook noemt Brad "whack a mole" en daarbij komt een herinnering van een Flash-spelletje bij mij naar boven.

Brad heeft zelf ook zaken geblogd en dat is fijn. Over deze podcast met DNR, hier wordt Popfly genoemd, de site van Remix07 Boston via archive.org en zijn keynotes (via archive org en dan het download-tabblad, kan ik doorklikken naar een MP4, het werkt nog voor deel 1). Brad heeft nog wel een iets uitgebreider artikel geblogd, met screenshots wat de moeite waard is.

PC 285: In deze uitzending is David Yack te gast, hij heeft het over Microsoft CRM. Dat is onderdeel van Microsoft Dynamics, ook ERP zit daarbij. Veel functionaliteit die je anders "zelf moet bouwen" heb je hier al beschikbaar, onder andere Windows Workflow Foundation. Je kunt op verschillende plaatsen "in de pijplijn" je eigen code koppelen, bijvoorbeeld voor (extra) validatie. Als een prospect aangemaakt wordt controleren of alle requirements gehaald worden en zo nee: het proces afbreken. Ook zit er een heel stuk "offline-verwerking" in. Dus zit je in het vliegtuig, zonder verbinding, dan worden zaken in een queue opgeslagen, zodat na aankomst en je weer een internetconnectie hebt alle acties alsnog uitgevoerd worden. Volgens David is het ook mogelijk om zelf met WPF een soort front-end voor Microsoft CRM te maken. Ook geeft David het voorbeeld van rapportages, in CRM heb je automatische rapportages beschikbaar (je kunt wel eigen rapporten bouwen als je dat wilt), maar het hoeft dus niet. Bij CRM kun je "vertical templates" gebruiken, Microsoft heeft een aantal voorbeelden uitgebracht, zoals ook op dit blog genoemd wordt. Die zijn niet meer beschikbaar, maar nog wel via archive.org: manufacturing, government.

PC 286: We komen nog even terug op een eerdere uitzending. Een luisteraar had toen gezegd dat "Microsoft 100% heeft gezegd dat als Office naar 64-bit gaat, VBA niet meer werkt". Een andere luisteraar die in een ziekenhuis werkt stuurt nu een verontruste mail, want in het ziekenhuis hebben ze vele Access-databases met duizenden regels VBA-code. Als dat omgebouwd moet worden, dat is niet te doen. Richard is dat gaan uitzoeken en komt uiteindelijk tot de conclusie dat die uitspraak er niet is. Carl merkt op dat VBA COM-gebaseerd is. Dus als Office omgebouwd moet worden naar 64-bit, dan wordt de COM-ondersteuning ook bijgewerkt (en heb je VBA er automatisch bij). En als ze Office vanaf de grond weer moeten opbouwen, dat is niet te doen, aangezien Office jarenlang doorontwikkeld is. Bij "better know a framework" noemt Carl namespace Microsoft.Windows.Themes. Je kunt deze gebruiken door de PresentationFramework DLL's toe te voegen. Dit wordt gebruikt voor de weergave van componenten in een WPF-applicatie, zie ook de Microsoft-documentatie. Werkt volgens mij alleen in Framework-projecten. In deze uitzending is Nikhil Kothari te gast. Hij heeft heel veel zaken bij Microsoft gedaan, onder andere Atlas (de Microsoft implementatie van Ajax javascript), servercomponenten en meer. Hij heeft het boek "Developing Microsoft ASP.NET Server Controls and Components" geschreven, heeft gewerkt aan Web Matrix (dat was een soort starterset om een .NET website te maken als ik me niet vergis) en hij is bezig geweest met Facebook.net. We horen bij deze uitzending dat Facebook nog redelijk nieuw is, Richard en Nikhil zitten op Facebook (Nikhil zegt er weinig op te doen, voornamelijk contacten toevoegen) en hij is bezig geweest om met .NET te kunnen integreren met de REST api van Facebook. Waarbij iemand anders tegen hem zei: "je had ook Facebook Developer Toolkit kunnen gebruiken". En ook horen we dat Microsoft gestart is met het MVC-principe in .NET. Zijn website is niet meer online, via archive.org nog wel te bekijken.

PC 287: Bij "better know a framework" wordt de interface IDisposable genoemd. Carl noemt dat je dit moet implementeren voor "non-managed code", dus waar je bijvoorbeeld COM-componenten gebruikt, of zelf database-connecties opzet (niet ADO.NET). Ik vraag me af waarom ik het dan zelf in een aantal situaties heb gebruikt, want ik gebruikte daar alleen managed code: had ik dat dan over kunnen slaan? In deze uitzending is Sue Mosher te gast over "programmeren in Outlook". De uitzending kun je op zich wel overslaan, want die gaat over Outlook, Exchange, maar niet echt over programmeren. Over het programmeren wordt gezegd dat dit wordt gedaan om zaken uit te breiden en om zaken aan te passen. In een eerder genoemde uitzending Microsoft CRM is daar een voorbeeld van. Mogelijk interessante zaken zijn de websites. outlookcode.com (site niet meer in Sue haar bezit, dus via archive.org), slipstick.com. Sue haar favoriete tool is OutlookSpy, een soort Reflector voor Outlook. Die tool is nog steeds beschikbaar: site. Deze persoon heeft ook Redemption gemaakt. Een andere, gratis tool, van Microsoft kan ook acties uitvoeren: MFCMapi. Als je het over Outlook hebt, heb je het over e-mail, kalenders, taken (tasks) en journal (dagboek?). Over dat laatste zijn Carl, Richard en Sue het wel eens: dat gebruiken ze niet. Ook komt het .ics (internet-agenda formaat) ter sprake. En Outlook Web Access wordt genoemd, dat was de aanjager van Ajax, omdat het liet zien wat er allemaal mogelijk is in de browser. De tendens van deze uitzending klopt nog steeds: elke werknemer heeft Outlook open staan en bedrijven/organisaties willen medewerkers kunnen bereiken: Outlook zou daar het geschikte kanaal voor kunnen zijn.

PC 288: Mark Dunn is weer eens te gast in de uitzending, hij is aanwezig bij TechEd Asia. Qua content kun je deze uitzending wel overslaan, want het is wat heen-en-weer complimenten uitdelen. Mark spreekt met iemand die fan van .NET Rocks is en een eigen screencast opgezet heeft, Striking Pixels. Iets met een ninja en gepubliceerd via Channel9. Even gezocht, maar ik kan daar niets (meer) van vinden. Dotnet-u wordt genoemd, een soort demo-set om presentaties over .NET te geven (tenminste, zo begrijp ik uit de interviews). De URL is niet meer bereikbaar: www.dotnet-u.com, de link verwijst naar een versie van de site in 2009, via archive.org. Voor de sprekers die uitgenodigd worden, kijken de organisatoren altijd naar de TechEd die in Amerika gehouden wordt. Het event wordt nu Microsoft Ignite genoemd.

PC 289: Bij "better know a framework" noemt Carl de interface IClonable. Die heeft hij van het blog van Brad Abrams. De enige functie die dit type heeft is "Clone". Maar je kunt daar niet aangeven of je een "shallow" of een "deep clone" wilt. Bij een deep clone wordt er een kopie gemaakt van de properties, van de properties van de properties en net zolang tot je niet dieper kunt gaan. De uitspraak is dat je deze interface "dus" niet moet gebruiken. Richard heeft nog een e-mail ontvangen over GUIDs. Naast het feit dat de luisteraar uitlegt dat GUIDs opgebouwd worden uit een deel timestamp en een deel MAC-adres (en verwijst naar RFC 4122) noemt hij ook de implementatie van SQL Server. De NEWID() functie wordt meestal gebruikt. Maar je hebt ook nog een NEWSEQUENTIALID(). Die laatste functie wordt soms gebruikt om te zorgen dat GUIDs sorteerbaar zijn. Maar dan zijn ze niet meer "random", want de volgende is te raden. En Richard heeft een goede aanvulling. Vervang nooit NEWID() met NEWSEQUENTIALID() (of andersom), want dan heb je de mogelijkheid dat de waarde niet meer uniek is. In deze uitzending is Pablo Castro te gast die over Astoria spreekt. Hij zit in het team van het Entity Framework. Met zijn team heeft hij een soort web-interface beschikbaar gemaakt om te query-en op data. Dat kunnen databasetabellen zijn, maar ook op XML, feeds. Ook kun je er via HTTP-VERBS acties op uitvoeren, dus niet alleen de GET, maar ook de DELETE, POST en PUT. Ze hebben met het team gekeken welke zaken al in HTTP zitten en maken er gebruik van. De output die gegenereerd wordt, wordt op basis van de Accept-ContentType uitgevoerd. Ten tijde van de uitzending was dat JSON en App (staat voor application publishing protocol, zoals RSS).  Ook wordt er gekeken naar caching, waarbij bijvoorbeeld de ETag in de header een rol kan spelen. Dit is Pablo zijn MSDN-blog.  De site van Astoria is niet meer online, via archive.org kun je lezen dat het geïmplementeerd is in het ADO.NET Framework. Nog maar even bekijken, want het klonk interessant! Rond 1.09 worden nog links genoemd.

PC 290: Bij "better know a framework" noemt Carl System.Security.Principal.WindowsPrincipal. Hiermee kun je zien welke rechten een ingelogde gebruiker heeft en kun je zaken in code configureren om iemand wel of geen toegang te geven. Richard noemt bij de ingekomen mail nog een mail die hij heeft ontvangen, in een eerdere uitzending is namelijk gezegd dat er meer aandacht zou komen over "Aspect Oriented Programming". De luisteraar heeft hier nog wel een tip voor,  In deze uitzending zijn Tim Sneath en Ian Ellison-Taylor te gast om te praten over "Windows past, present and future". We horen dat Tim originelen bewaart van Windows 1, 3.0, 3.11 en meer versies. Dit is wel even een "trip down memorylane". Zo komt de codenaam van Windows 95 voorbij: Chicago. Je had project Caïro, uitgebreide opzet om Windows nog beter te maken, maar door alle extra wensen/eisen nooit gerealiseerd. Whistler, de codenaam van Windows XP. En dan ook nog Longhorn.