PC 241: Aan het begin van de uitzending worden allemaal "code camps" genoemd. Daar is nu ook een eigen site voor (nu in onderhoud op 2 februari 2025). Een hele interessante uitzending! Nick Benton en Claudio Russo hebben het over verschillende projecten, zoals Polyphonic C#, maar ook C Omega. De Joins Concurrency Library. Met Sing Sharp een eigen besturingssysteem gebaseerd op C# bouwen. In deze uitzending gaat het over concurrency, dus ook het Philosophers Dining Problem komt langs, als ook een soort "Santa Problem". Bij het zoeken daar naar dat probleem met de Kerstman kom ik ook op een Haskell-pagina. Bij Cambridge worden 3 talen gebruikt, ML (SML.NET), F# en Haskell, Dat zijn functionele programmeertalen, wat inhoud dat je "variabelen" immutable zijn. Ik heb hier ook nog een boek "Introduction to Fuctional Programming using Haskell" op de plank staan. Carl noemt volgens mij ook nog Prolog, wat volgens mij bij mijn opleiding Hogere Informatica nog voorbij gekomen is.
PC 242: In deze uitzending wordt gesproken met Frans Bouma over llblgen. Dat is een ORM die hij gebouwd heeft. Dit was één van zijn eerste projecten met C#. Een open-source project, maar later verder uitgebouwd naar een Pro-versie wat iets meer dan 200 euro per developer kost. En zoals duidelijk mag zijn, Frans is een Nederlander. Mooi hoe Carl hem aankondigt als Frans Booooma. De naam llblgen is ontstaan door het oppakken van de initialen van de omschrijving: lower level business logic generator. Het genereren van je model/entiteiten op basis van een bestaande database. Waarin ook de state wordt bijgehouden (is er wat veranderd, is er juist niets veranderd). In deze uitzending wordt ook gesproken over het Entity Framework van Microsoft, wat toen nog als losse download aangeboden zou worden en geen onderdeel van het volledige pakket zou zijn. Het werd te groot, Frans is het met Carl en Richard eens dat Microsoft het zou moeten aanpakken als een "project" en niet als een "product". Dat is wat waarschijnlijk ook gebeurd is, want EF is volgens mij nu redelijk standaard. Frans is ook gaan nadenken over andere zaken die hij kon gaan doen (mocht Entity Framework wel zijn hele markt/product overnemen), daar worden goede zaken genoemd als authenticatie, een audit-trail. LLBLGen Pro is nog steeds een product, check de website. Frans is actiever bezig op Github dan ik. Frans heeft een blog dat bijgewerkt is tot 2019. En hoewel de artikelen misschien niet recent zijn, zie ik daar wel een heel cool artikel op staan. Frans is naast een ORM-bouwer ook nog iemand die zijn weg kan vinden in assembly! En hij heeft een coole hobby, hij manipuleert code in spellen, zodat hij foto's kan maken in het spel. Lees daarover dit artikel. Ik heb daar nooit over nagedacht, de laatste spellen op mijn computer die ik gespeeld heb zijn Doom, Duke Nukem 3D en Quake, maar dat is dan ook wel oldskool. De huidige games zijn bijna speelfilmkwaliteit. En hoe cool is het om vanuit een bepaalde hoek een foto te maken van, bijvoorbeeld Lara Croft, Tomb Raider? Nou, op de Flickr-pagina van Frans kun je naar de resultaten kijken: supertof!
PC 243: Carl en Richard zitten met een aantal mannen en dame in deze podcast te praten. Peter Kuhn van het Scripps Institute is bezig met kankeronderzoek. En hij had zelf het idee hoe hij een applicatie wilde (laten) maken. Hij kwam daarvoor bij Tim Huckaby van Interknowlogy, die het wel zag zitten, maar er was geen budget. Dus is er gekeken of er met Microsoft wat te regelen was. En dat kon. Het product draaide op allemaal beta-software, maar was wel een groot succes. Basis hierachter is Sharepoint, het codemodel (met WPF) is een soort 3D weergave van moleculen e.d. Het team van Tim heeft later ook nog een versie gemaakt voor het verwerken van AutoCAD. Later kwam een team van AutoCAD langs, dus Tim was bang dat zij daar helemaal niet blij mee zouden zijn, maar het tegendeel was waar: ze waren heel enthousiast en gebruiken nu deze versie. Eileen Rumwell zit in de uitzending namens Microsoft. Ook Stephen Forte heeft een bijdrage geleverd. Het project had wel betaalde developers, het aanbod van ontwikkelaars die wilden helpen, zelfs gratis, was overweldigend. Omdat het anders niet te managen was, is daar geen gebruik van gemaakt.
PC 244: In deze uitzending heeft Scott Stanfield het over het belang van esthetiek ( aesthetics ). Hij noemt bijvoorbeeld hoe Google Maps het goed doet, maar hoe Virtual Earth dat niet heeft gedaan. Toen Virtual Earth net uitkwam gonsde het rond op zijn kantoor. En wat doe je dan? Dan ga je zoeken naar je eigen huis. Maar dat kon niet worden gevonden. Na wat andere zoektermen invullen, komma's eruit halen, goede spelling lukt het nog steeds niet. Dus gefrustreerd naar het koffiezetapparaat lopen. En meer collega's horen mopperen. Toen Scott later nog eens keek zag hij dat er 2 invoervelden waren. Het eerste invoerveld (waarmee hij zocht) was bedoeld voor de bedrijfsnaam.... Dus je moet eerst "goed nadenken" voor je dit programma gebruikt. Bij Google handelen ze het filteren/zoeken er op het backend-gedeelte uit, voer maar in wat je zoekt en wij redden ons er wel mee. Ook een eigen ervaring van Scott die pijnlijk was. Hij had contactlenzen (voordat zijn ogen gelaserd zijn). Die gaan 's avonds in de peroxide om te ontsmetten, de volgende dag reinig je dat met spul uit een ander potje. Alleen... die potjes lijken erg op elkaar. En je hebt contactlenzen: je ogen zijn niet optimaal. Dus op een slechte dag pakte hij het verkeerde potje, deed de contactlenzen in. Je ogen knijpen automatisch dicht. Spoelen onder de kraan, ellende. Wat jaren later zag hij dat er een subtiele "fix" was doorgevoerd: dat potje had nu een rood deksel gekregen: gevaar! Ook noemt Scott het programma "Beyond Compare". Als developer wil je vaak 2 bestanden vergelijken (wat is er veranderd?), deze tool toont het naast elkaar en met duidelijke kleuren kun je snel en simpel de wijzigingen zien. Hij raadt ontwikkelaars dan ook aan om het boek "Don't make me think" te lezen, auteur Steve Krug. Dat boek is vaker in .NET rocks genoemd. Het boek "The Minard System: The complete statistical graphics of Charles-Joseph Minard" wordt genoemd. Waarin met infographics (papieren versies!) onder andere de opmars (en nederlaag) van Napoleon richting Moskou in grafieken getoond wordt. groktalk.net wordt genoemd, die site lijkt inmiddels niet meer beschikbaar te zijn. Wordt ook genoemd in een blog van Scott Hanselman. Aan Carl te horen is vooral de sessie van Bill(y) Hollis fenomenaal, hij presenteert als een soort Amerikaanse dominee. Via archive.org is de pagina nog te bekijken: link, maar de video's (WMV formaat) helaas niet.
PC 245: In deze uitzending is Christophe Wille te gast. Hij spreekt over SharpDevelop. Dat is een IDE om C# en VB.NET te programmeren. Dit was in de tijd dat je nog geen Express Editions van Visual Studio had en veel ontwikkelaars in Notepad hun werk zaten te doen. Naast het feit dat je voor Windows je executables maakt, kun je ook aangeven dat ze voor Mono gebouwd moeten worden. En Christophe noemt dat er een fork is, monodevelop.com, welke door Novell gebruikt wordt (werd?) om expliciet voor Mono te programmeren. Op Linux heb je geen WinForms, dus daar hebben ze een soort KDE-forms of iets dergelijks voor gemaakt. Op Wikipedia staat dat dit een IDE was voor Xamarin Studio, dat is volgens mij overgenomen door Microsoft. In deze uitzending blijkt dat deze IDE heel veel kan en ook veel integraties heeft. En je kunt/mag ook zelf de sharpdevelop-executables/dll's in je eigen applicatie koppelen. Ook komt SandCastle voorbij, daarmee kun je help-documentatie aanmaken o.i.d.
PC 246: Aan het begin van de uitzending noemt Carl een namespace uit .NET. Veel ken ik wel, maar de System.Diagnostics.FileVersionInfo kende ik nog niet, je kunt er onder andere copyright en companyname mee opvragen. Carl en Richard zitten bij TechEd 2007 met een panel en publiek te discussiëren over ASP.NET scalability. Bekende namen in dit panel. Schaalbaarheid en snelheid zijn twee verschillende begrippen. Schaalbaarheid komt er op neer dat je meer gebruikers krijgt, dat ze een snellere of even snelle applicatie/website krijgen en dat de kosten per gebruiker gelijk zijn of lager worden. Tips die voorbij komen zijn de SQL profiler (maar die kun je eigenlijk niet in productie runnen, want dat heeft invloed op je databases daar). Een goede indicatie schijnt de cache hit ratio van SQL Server te zijn.
PC 247: Mark Pollack is van origine een Java-developer. Hij werkte daar met Spring, nu met een eigen project: Spring.NET. Met dit framework kun je allemaal zaken vereenvoudigen en gebruik maken van dependency-injection. Er zijn meer initiatieven. Zo wordt de Enterprise Library 3 genoemd, wat ook zaken met caching, policies en logging doet. Gebaseerd op AspectJ, uitleg staat op Wikipedia. Er schijnt ook een AspectSharp te zijn, maar op die repository zie ik weinig activiteit. "Thread Local Storage" wordt genoemd, schijnbaar worden zaken op verschillende locaties opgeslagen en kun je hiermee op verschillende locaties met die data werken. In de documentatie kun je dit verder nalezen.
PC 248: In het begin van deze aflevering komt ter sprake dat iemand de uitzendingen van .NET TV interessant vindt. Daar geeft Venkat goede uitleg over zaken. Zo komt onder andere voorbij dat als je een catch Exception ex doet, je wilt zelf nog wat doen en daarna de exceptie alsnog wilt throwen, je alleen een throw moet doen en niet throw ex. Want dan krijg je de gegevens (regelnummer e.d.) van die locatie in de catch-lus, terwijl je juist de originele gegevens wilt hebben. Venkat zijn blog is hier te vinden (niet recent bijgewerkt). Carl is enthousiast over Venkat en noemt zijn boek .NET Gotchas die tips bevat (zoals deze van die exceptie). In het overleg van de regionale directeuren van Microsoft kwam een groepje mensen Acropolis introduceren. Een project waar aan gewerkt wordt, dit is dus nog geen product, daarom heeft het nu ook nog een codenaam. Het is bedoeld om smart client applicaties te bouwen. Even gezocht, toen kwam ik uit bij dit artikel van InfoSupport. Acropolis is dus gestopt, ze zijn verder gaan werken om de functionaliteit in .NET zelf toe te voegen.
PC 249: Don Box en Chriss Sells over de huidige stand van zaken in het publiceren van boeken. Deze uitzending kun je wel overslaan, tendens is duidelijk: de hoeveelheid boeken en magazines nemen af, steeds meer mensen gaan zich via blogs e.d. verdiepen in nieuwe technieken.
PC 250: Voordat de uitzending begint hebben de de ingekomen e-mails. Ayende (oftwel Oren) heeft gereageerd dat Spec# een project is wat gaat stoppen en dat hij in Windsor Policy Injection uitgevoerd heeft. Op zijn blog is dat na te lezen. Ook komt de "namespace of the week" voorbij. Niet altijd interessant, maar deze keer heeft een luisteraar "System.Threading" ingestuurd, met uitleg. Ik gebruik die classes in huidige code alleen met async en await (en soms met een Thread.Sleep), maar je kunt er natuurlijk veel meer mee doen. Zo worden onder andere Mutex en WaitHandle genoemd. Gebaseerd op CPU, CLR en Kernel. Eigenlijk iets om eens verder in te duiken. In deze uitzending gaan we (net als 246) naar TechEd waar een opname gemaakt is met Team System Panel. Mike Azocar, Steven Borg, Joel Semeniuk en Doug Seven. Het gaat dus over Team System, maar ook over Agile werken (en hoe Team System daarbij kan helpen). In de uitzending komt voorbij dat je wilt zien wie een regel code aangepast heeft. Met Team System kun je dat in Visual Studio via Annotate zien. 1 van de panelleden heeft ooit een tooltje gemaakt om dat ook te doen "show blame". Die kan ik zo niet vinden, maar wel weer een mogelijk handige Visual Studio Code plug-in gevonden: Git Blame. Agile, scrum komt voorbij. Zo hoor ik dat 13 punten voor 40 uren werk staan. Er komen wat vragen uit het publiek. Onder andere of je kunt zien hoeveel check-ins een developer uitvoert. Het panel reageert hierop met dat dit niet altijd aangeeft of iemand een goede ontwikkelaar is of niet. Zo hebben ze iemand in het team die "de vraagbaak" is en veel collega's helpt. Zij kunnen daardoor extra code inchecken, zijn check-ins staan op 0. Wel hoor ik 1 van de leden van het panel zeggen dat ze een offshore vestiging hadden (zal India zijn of iets dergelijks) en dat ze dat gesloten hebben omdat ze zagen dat daar geen enkele check-in uitgevoerd werd. Het CMMI model wordt genoemd (wikipedia). David Anderson wordt genoemd. Ik kende hem niet, schijnbaar is hij een pionier in de agile business. Hij zou één of ander sjabloon voor Microsoft gemaakt hebben, die kan ik niet vinden. Wel kwam ik op de site van Reinout van Rees die daarin naast zijn samenvatting ook verwijst naar de pagina met een video van Agile 2008 waar David een presentatie gaf. In het intro hoor je dat hij ook een boek geschreven heeft (zo te zien meerdere), de titel die hij noemt is Agile Management for Sofware Engineering. Leuke uitzending!
Ergens in deze afleveringen wordt iets gezegd over Microsoft Press en Patterns en Practises. Ik kan daar niet zoveel op vinden, behalve deze pagina van de (voormalige?) patterns and practises group. Maar na een korte zoektocht kom ik wel dit boek van Robert C. Martin tegen: Agile Principles, Patterns, and Practises in C#, via Amazon. Lijkt me de moeite waard. Wel het boek Enterprise Solution Patterns Using Microsoft.NET gevonden.