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 321: Bij de "ingekomen mededelingen" deelt Carl met ons het project van codeplex: argotic. Een framework voor RSS. Codeplex "is niet meer", dus via archive.org is nog een oude versie te bekijken. Op Github is een versie voor .NET Core beschikbaar, maar ook die lijkt alweer een aantal jaren niet echt actief te zijn. Misschien de moeite waard om te zien wat je ermee kunt. Een oude bekende is te gast, Tim Huckaby. Sympathiek, humor, dus hoewel er niet veel nieuws te leren is in deze uitzending, toch de moeite waard om te beluisteren. Het verhaal over de website van de dierentuin van San Diego die panda's hebben, waarbij je aan één dag niet voldoende hebt en kunt aangeven wanneer je welke dieren wilt zien, wanneer je wilt eten, of je dieetwensen hebt e.d., en er vervolgens een document uit komt rollen met een voorstel voor de route door het park, de tijdstippen wanneer je het beste bij bepaalde dieren kunt kijken, allemaal Silverlight-materiaal. Moeilijk, omdat het nog allemaal alfa-materiaal is. Tim deelt een pluim uit aan Telerik. Want die tools gebruikt hij en volgens hem moeten die developers dagelijks nieuwe releases doorvoeren en daarbij bugs fixen. In deze uitzending horen we ook dat Microsoft een voorstel heeft gedaan om Yahoo over te nemen en dat de leiding van Yahoo daar positief tegenover staat. De broer van Tim werkt bij Yahoo, volgens hem hangt er een begrafenisstemming. Hij denkt dat als alles doorgaat hij ontslagen gaat worden, voor dit bekend werd zouden er al mensen bij Yahoo ontslagen worden. Ook omdat Steve Ballmer gezegd heeft dat er miljoenen bespaard gaan worden bij een fusie, is het vermoeden dat er wel heel veel mensen ontslagen gaan worden. Ik wist niet dat dit gebeurd is, maar hier kun je een tijdlijn vinden. De overname is uiteindelijk niet doorgegaan omdat Yahoo het bod te laag vond. En Tim heeft nog een mooi verhaal over dat hij in een bar zat en daar mensen van het ontwikkelteam van Excel tegen kwam. Omdat er geruchten zijn dat het pakket uit miljoenen regels assembly-code bestaat trekt hij de stoute schoenen aan en vraagt of dit zo is. Het antwoord dat hij krijgt is dat er al veel omgebouwd is. Maar ook dat al die miljoenen regels code... in commentaar staan. Want als er iets "niet goed gaat in de nieuwe code", kan de "oude code" teruggezet worden en uitgezocht worden wat er fout gegaan is. Ook komt nog even ter sprake dat bij de CES keynote waar Tim ook sprak wordt benoemd dat Bill Gates met pensioen gaat. En daar wordt een filmpje bij getoond, met onder andere Bono, Hillary Clinton, Obama en Al Gore.
PC 322: In deze uitzending is Stephen Forte te gast over remote distributed teams. Stephen is volgens mij wel eerder te gast geweest. Hij maakt handig gebruik van het tijdverschil, als hij de "stand-up" doet (voor hem is het ochtend), zit zijn team in India aan het eind van de dag. Zo kunnen ze bespreken wat ze die dag gedaan hebben en welke knelpunten ze hebben. Zo hebben ze bijvoorbeeld (extra) toegang nodig tot bepaalde systemen. Terwijl het team in India gaat eten, slapen kan Stephen zijn werkdag gebruiken om te zorgen dat die zaken geregeld worden, zodat zijn team bij hun volgende werkdag weer door kunnen gaan. Stephen is erg positief over scrum, zo te horen rond deze tijd nog een redelijk nieuwe "agile manier van werken".
PC 323: Bij "better know a framework" noemt Carl de mogelijkheid om in code een nieuw appdomain op te starten en deze via docallback een functie uit jouw appdomain mee te geven. Zo kan dat "andere domein" een actie uitvoeren "binnen jouw domein". In deze uitzending zijn Issam Elbaytam en Scott Wileke te gast. Zijn zijn de eigenaren van Data Dynamics met onder andere het product "Active Reports", een sponsor van .NET Rocks. Hun bedrijf heet nu Mescius en is online te vinden op developer.mescius.com. De tendens is dat het een goed te gebruiken product is (vooral voor developers), niet te duur, maar dat er wel bepaalde beperkingen zijn (of mogelijk "waren"). Als je in miljoenen records gaat spitten, moet je mogelijk andere tools gaan gebruiken om de data te aggregeren naar de rapportage/analytics-component van Data Dynamics. Je hebt ook Reporting Services van SQL Server. Deze gebruikt het RDL-bestandsformaat. De tool van Data Dynamics biedt de mogelijkheid om naar RDL te exporteren of te importeren. Waarbij de eigen tool extra componenten/opties heeft, die dan (natuurlijk) niet in SQL Server gaan werken. Maar met deze uitwisseling van data/structuur kun je ervoor zorgen dat niet alles volledig opnieuw gebouwd hoeft te worden. Uitleg over RDL kun je hier vinden en hier kun je de specificaties van de versies downloaden.
PC 324: Bij "better know a framework" noemt Carl de namespace System.Web.Mobile. Met "Mobilecapabilities" kun je zorgen dat je HTML-output goed op het device getoond kan worden waarmee jouw pagina bezocht wordt. In deze uitzending is Emre Kiciman te gast, het gaat over ajaxview. Dit is een project van de onderzoeksgroep van Microsoft, dus nog niet een kant-en-klaar product. Met deze tool voeg je javascript aan je code toe, die weer seintjes naar de server stuurt. Zodat je kunt meten hoe lang iets duurt. Of er iets fout gaat. Waar dat ongeveer gebeurt. Op zich wel interessant, want als .NET developer kijk je eigenlijk alleen maar naar de "server-side errors", omdat die netjes in je log komen met een stacktrace. Maar dat zou je ook willen hebben met code die aan de kant van de bezoeker draait en waar iets fout gaat. Want als je een e-commerceshop hebt, en bij elke 1 op de 10 bezoekers werkt het "betaalproces niet (goed)", daarmee raak je klanten kwijt. Je kunt op deze site van Microsoft zijn projecten zien, je ziet daar ook AjaxView tussen staan, wat later een echt product geworden is (de link stuurt je nu naar een 404-pagina..). In de uitzending noemde Emre ook Doloto, een project om javascript-code "just in time" aan te leveren. Als je alle javascript-code eerst moet inladen, dan vertraagt dat het tonen van de pagina. Dit project zorgt ervoor dat alleen de meest noodzakelijke code aangeleverd wordt. Daarna wordt pas de resterende code aangeleverd. Het lijkt erop dat dit niet een product geworden is. In deze uitzending komt ook nog even naar voren dat het verwerken van strings in Internet Explorer 8 niet optimaal gaat. Zo te zien zit Emre nog steeds goed op zijn plek bij Microsoft Research, zoals je op zijn eigen website kunt zien.
PC 325: Bij de ingekomen e-mails bespreekt Richard een mail van iemand die de uitzending beluisterd had met de Code Gallery. Die persoon deelt de site codekeep.net wat een vergelijkbare site is. De site die nu online staat is een andere site (deze is bagger), via archive.org kun je nog zien hoe het eruit zag. Barry Dorrans is te gast en heeft het over OpenID en Cardspace. In de titel staat "revisits", dus is hij eerder te gast geweest? In ieder geval, het onderwerp is goed. Cardspace zou een alternatief zijn voor inloggen met gebruikersnaam en wachtwoord. Op je systeem log je in met een soort virtueel pasje. Het mooie/goede daaraan vond ik ook het item dat voordat het pasje gebruikt wordt, je een melding kunt krijgen: je hebt deze pas nog nooit op deze site gebruikt. Weet je zeker dat je wilt inloggen? Dat is een perfecte manier om geattendeerd te worden op het feit dat je op een link geklikt hebt en nu op een phishing-site probeert in te loggen. Het maakte onderdeel uit van Windows XP. Microsoft heeft in 2011 de stekker eruit getrokken, zoals hier op Wikipedia na te lezen is. Ten tijde van deze uitzending (2008) staat het nog in de kinderschoenen. Barry kwam erachter dat hij vaak dezelfde handelingen moest verrichten om een project op te starten en heeft toen een soort eigen proof-of-concept framework opgezet, op sharpsts.com. Site is nu niet meer online (krijg je als Microsoft met het product stopt). Barry is een Ier en het is een beetje een rommelige uitzending. Zo worden ook nog wat andere mensen genoemd, waaronder Dominick Baier. Die is volgens Carl behoorlijk gefocust op security, daarom heeft hij zijn blog op het domein leastprivilege.com. Zijn blog is redelijk goed bijgehouden tot 2020, zoals je kunt lezen heeft hij met zijn collega een eigen bedrijf opgezet. Dan gaat je tijd in het bedrijf zitten, in plaats van het bloggen over programmeer-/security-gerelateerde zaken. Dat is dan weer jammer. Nog even terug naar onze Barry. Als ik naar hem Google, kom ik bij deze presentatie van 2019 over security-zaken bij Microsoft (en hoe dat ook bij ons als developers fout had kunnen gaan). In die preso zie je ook dat hij een geweldige domeinnaam voor zijn eigen website heeft: idunno.org. Bij die zoektocht kom je ook nog een lijst met promo-filmpjes tegen. En zo kom je dan ook nog op de site van ndcconferences.com, met conferenties voor Software Developers. Volgens mij met best wel interessante presentaties, dus iets om naartoe te gaan. Helaas wordt er niet in Nederlands zo'n conferentie gehouden...
PC 326: In deze uitzending is de broer van Carl te gast, Jay Franklin. Hij is een Java-programmeur. In deze uitzending wordt besproken hoe hij dat geworden is. Eerst als engineer in de onderzee-boot-business (daar was hun vader ook werkzaam). Daar gingen mensen weg, bij een bedrijf in de IT werken, mede daardoor (en omdat zijn baan niet meer leuk was) is hij toen ook daar gaan werken. Hij begon daar met "Mumps" te programmeren. Een soort Basic, met beperkt geheugen beschikbaar, dus veel communicatie met de servers, wat in ziekenhuizen gebruikt wordt. Ook nadat zaken geupdate zijn, wordt Mumps nog steeds (in 2008) gebruikt. Het enige punt van Java wat hij beter zou willen is de interface. Het ziet er allemaal niet zo gelikt uit als je met .NET kunt doen. Er zijn wel andere frameworks, Jay kan zo niet op de naam komen, maar volgens hem is dat gebruikt om WinAmp te maken. WinAmp, het programma wat je vroeger altijd gebruikte om je MP3s af te spelen. Nog even gezocht of de broncode beschikbaar is. Volgens deze reddit-thread wel, maar online zie ik de code niet meer (nog wel via archive.org). En dat lijkt op de omgeving die nog wel online staat. Jay is muzikant, net als Carl, dus als afsluiting van deze uitzending speelt hij op piano het nummer "Scenes from an Italian Restaurant" van Billy Joel.
PC 327: Jon Goodyear heeft het in deze uitzending over Instant Messaging Api's. We beginnen deze uitzending met een mooi verhaal over robotica. Tijdens een event van Microsoft wilden ze iets laten zien qua failover van een SQL Server. Jon en een vriend is daarmee bezig geweest, ze bouwden een soort "fight-robot" met een zaag als arm en dergelijke. Dat zou gedaan worden op een podium, een router die daar stond zou vernietigd worden. Terwijl Steve Ballmer op het podium stond. Dat had behoorlijk wat voeten in de aarde. Want de ontvangst was niet altijd goed. Dus dan moest de robot stoppen (geen mensen aanvallen). Maar de verbinding was ook niet super, dus hij moest ook weer niet te vaak stoppen. De avond voor het event is een bijeenkomst van regionale directeuren en zou een demo getoond worden. Ze hadden dit altijd in een garage getest. Maar hier heb je de Microsoft RD's, dus allemaal WIFI-connecties en een robot die het daardoor niet wil doen... Gelukkig is het nog allemaal goed gekomen. Foto's en filmpjes waren volgens Jon op finalizer.net te bekijken (inmiddels niet meer), maar de link wijst naar een versie van de pagina in 2008 op archive.org. Je ziet dat het een flash-site was en dat je die in de browser kunt bekijken: dankzij het Ruffle-project! Kudo's, hierbij ook even de link naar de Github-pagina. Jon wilde SMS'jes verzenden en wist dat Twitter dit kon. Op een bepaalde pagina stond een telefoonnummer, dus hij heeft Twitter gebeld met de vraag wat zij gebruikten, vervolgens werd de verbinding verbroken... dus hij mocht het zelf gaan uitzoeken. Volgens mij heb ik in het verleden dat ook gedaan, in 2001 (en misschien 2005?) traden we met de drumband op bij het Wereld Muziek Concours in Kerkrade. Je had toen nog geen "smartphones" en internet op je mobiel. Je stuurde een SMS naar Twitter en zo werd de tweet geplaatst die als een soort timeline op onze website getoond werd. Zodat de thuisblijvers toch op de hoogte konden blijven. In ieder geval, we krijgen een hele uitleg over SMS, dat je 160 karakters maximaal kunt versturen en dat het via een "control channel" ging. Dus het was een soort bijkomstigheid waar Nokia achter kwam. Het kost de telefoonmaatschappij niets, maar er wordt (werd ?) flink geld aan verdiend. Jon zijn eigen website was aspsoft.com, maar ook deze staat niet meer online. Jon noemt usshortcodes.com, hier kun je de mogelijkheden zien. Wil je zelf SMSjes gaan versturen, dan heb je een gateway-partij nodig. Hij ging voor Simplewire/OpenMarket. En dat heet nu Infobip. Dit is behoorlijk prijzig. Een test-gateway voor 500 dollar per maand, voor het gebruik moet ook nog betaald worden en dan nog de productie-gateway, dus je zit al gauw rond de 2.000 dollar. De communicatie is een post van XML, implementatie was er voor PHP e.d., maar niet voor .NET. Jon is bezig geweest om er een .NET implementatie voor te maken en heeft ook een simulator-gateway gemaakt, zodat je die kosten eerst nog kunt besparen. Dat programma kan ik online nergens vinden. Wel was het een interessante uitzending!
PC 328: In deze uitzending is Joel Semeniuk te gast. Het gaat over Team System, Microsoft is bezig met updates/upgrades. Zo is het te gebruiken voor versiebeheer, is er een "bug-tracking-systeem" (wat iets anders heet, want het is niet alleen bedoeld voor bugs, ook voor features), work-items en zijn zaken uitbreidbaar met eigen templates. Scrum komt ter sprake. Goede uitzending, want daar worden ook een paar misverstanden over de wereld uit geholpen. Zo is het manifest voor scrum niet heel uitgebreid. Maar wat Joel ergert is dat sommige mensen zaken verkeerd interpreteren. Zo is documentatie nog steeds erg belangrijk, maar omdat in het manifest staat dat persoonlijk contact "belangrijker/beter" is dan documentatie wordt soms gedacht "documentatie is niet (meer) nodig". Dat is (natuurlijk) niet waar. Het principe is bedoeld om wendbaar te blijven. Plannen zullen altijd wijzigen, wat niet betekent dat je dan helemaal geen plan moet maken. Het gaat er juist om dat je een plan hebt en op basis van feedback, je bevindingen je het plan kunt aanpassen. Er zijn koppelingen met Excel, ook met Microsoft Project. Richard heeft een mening over Microsoft Project (en Joel ook), sommige zaken kun je daar niet zo inrichten zoals je zou willen. Joel komt nog even terug op scrum, ook omdat Carl zegt dat het redelijk vrijblijvend en niet heel uitgebreid is. Joel doet daarom meer met "lean", wat uit de maak-industrie komt en dus gebaseerd is op jarenlange ervaring. Nog even een stukje promotie, Joel heeft ook een boek hierover geschreven, Managing Projects with Microsoft Visual Studio Team System. De basis zit (de link heb ik volgens mij eerder gedeeld) op agilemanifesto.org. Joel noemt "kachengo die een soort scrum template heeft gemaakt". Bij wat zoeken kom ik op de site van Kaizenko, volgens mij is dit het. Er wordt nog even een codenaam genoemd, Rosario. Dit is wat later Visual Studio Team System 2010 geworden is. Joel noemt hier nog een aantal zaken, hoe je door code kunt debuggen waar een fout opgetreden is, je de systeemgegevens in kunt kijken. Want je komt vreemde fouten tegen. Zo ging bij een klant wat fout, maar bleek uiteindelijk dat ze een bepaald servicepack al 2 jaar niet geïnstalleerd hadden. Joel heeft niets aan de code gedaan, want als zij dat servicepack installeren, is het probleem opgelost. Richard noemt ook nog een geval, waarbij hij een klant had waarbij het bij 3 mensen "niet goed ging". Bij 1 persoon, zeg je al gauw dat het aan de pc ligt. Maar bij 3? Uiteindelijk bleek dat bij deze 3 machines een driver-update niet goed doorgevoerd was, waardoor dit probleem ontstond...
PC 329: Kevin McNeish heeft het in deze uitzending over DSL's en Software Factories. Een interessante uitzending, want hij noemt zaken die mij bekend voorkomen. Namelijk dat je vaak bezig bent om "weer" de CRUD-code te implementeren. Met code-generatie zou je dat "automatisch" moeten kunnen laten genereren. Ook noemt hij daarbij het model dat je hebt en hoe je dat kunt configureren. Richard komt met een voorbeeld, hij was bij een bedrijf waarbij de applicatie niet vooruit te branden was. Hierbij bleek dat de ontwikkelaars overal caching hadden toegevoegd, maar allemaal als losse calls. Waarbij vaak zaken onnodig werden ververst, je bepaalde zaken niet wilt cachen omdat het "live opvragen" minder impact heeft dan het uit cache opvragen van de data. Maar dat zit dus "overal en nergens" in de code. Als je dat ergens in je model hebt, waarbij je caching op bepaalde classes in- of uit kunt schakelen, dan kun je dat veel sneller/beter inregelen. Kevin is een voorstander van scrum, omdat je daarmee "waste/afval" voorkomt. Diagrammen en dergelijke worden genoemd, de OMG (Object Management Group). Carl vraagt zich af wat er van Rational Rose geworden is. Zijn broer heeft daar een week training voor gehad, vervolgens werd het niet gebruikt. Je hebt een "disconnect" tussen het model en de daadwerkelijke code. Want tijdens het ontwikkelen loop je tegen zaken aan, ga je zaken anders bouwen, dingen aanpassen. Maar dat koppel je dan weer niet terug in het model. In Visual Studio heb je de class-editor, wat een weergave van de code is, dus daar heb je dan nog wel wat aan. Kevin zijn site is bereikbaar op oakleafsd.com. Hier is het Mere Mortals .NET Framework verkrijgbaar (te koop). En als je zelf in Visual Studio met DSL's aan de slag wilt gaan, in de uitzending werd al gesproken over de Visual Studio SDK (maar dit was 2008). Goed beginpunt is (denk ik) Microsoft Learn.
PC 330: Bij "better know a framework" noemt Carl de namespace System.Net.Sockets. Al je internetverkeer gaat via sockets en met .NET is het een stuk makkelijker gemaakt om te bouwen. Terugkerende gast Rocky Lhotka heeft een nieuwe versie van zijn CSLA.NET framework uitgebracht, versie 3.5. Na overleg met zijn gebruikers heeft hij besloten om de versies van .NET te volgen. Microsoft heeft daar een foutje mee gemaakt, want .NET 3.5 is eigenlijk .NET 2.0 met een paar toevoegingen (had dus eigenlijk .NET 2.5 moeten zijn). Als je .NET 2.0 gebruikt, zou je CSLA.NET 3.5 moeten gebruiken, want die ondersteunt 2.0, heeft bugfixes voor 2.0 en de extra zaken die 3.5 heeft hoef je dan alleen niet te gebruiken. De software is gratis, je betaalt voor het boek (en dat boek is handig als je wilt weten hoe je zaken op een goede manier gaat bouwen). Rocky is nog steeds online op lhotka.net. En omdat het framework al sinds VB4 draait, wordt het nu eigenlijk tijd dat ik er ook wat mee ga doen. De "basic e-books" zijn gratis, dus misschien daar eerst maar mee aan de slag.