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 1.0, .NET 1.1 en .NET 2.0. 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 201: In deze aflevering zijn Carl en Richard live bij het Tulsa Tech Fest 2006. Ze spreken met veel mensen en op zich kun je deze aflevering wel overslaan. Het enige wat mogelijk interessant is, is de vraag van Carl waarom het niet een CodeCamp is. Antwoord daarop is dat een codecamp niet "commercieel" mag zijn, dus je mag daar geen gebruik maken van bedrijven/sponsoring. En dat is hier juist wel gedaan, zodat er ook t-shirts gemaakt konden worden e.d. En er komt nog een tip voor een boek, namelijk Software Factories van Jack Greenfield.
PC 202: Dit is de uitzending dat Carl en Richard in een panel zitten bij Teched Europe, in Barcelona. Het event waar ze ook een vliegticket, hotelovernachting en toegangskaart geregeld hebben voor 1 persoon die dat kon winnen door vragen op de site van dotnetrocks te beantwoorden. Er zitten meerdere mensen in het panel, Kate Gregory, Stephen Forté en Roy Osherove. Het thema is "agile". En ik moet zeggen, ik vond dit wel een interessante uitzending! Kate komt met de uitspraak: "adding more people to a late project makes it later" en dat is waar.
PC 203: Bill Wagner en Diane Marsh over "niet Microsoft-technologie". Bill en Diane werken in hetzelfde bedrijf. Ze doen .NET klussen, maar ook Java (hun oorsprong) en Python. Ruby wordt ook genoemd. We hadden in eerdere uitzendingen dat Ruby on Rails genoemd werd, een framework om snel een website online te brengen, Diane noemt Turbogears. Dit is een framework voor Python. Bill noemt nog even PLINQ, oftewel parallel LINQ.
PC 204: Een vervolg op uitzending 202. Carl en Richard lopen rond op Teched Europe (Barcelona) en hebben interviews met bezoekers. Voordat ze dat doen bespreken ze de e-mails. Zo komt in 1 e-mail naar voren dat ze zij de uitzending met Bill Wagner (203) het niet over zij boek gehad hebben, dat zal in een latere uitzending nog terug komen. Als ik zoek vind ik inderdaad een "Effective C#" boek. Eerste geïnterviewde is Arfa Kareem, 11 jaar oud, de jongste Microsoft Certified Professional ter wereld. Met de volgende gast hebben Carl en Richard het over de mogelijkheid om in je VB code stukken XML te gebruiken. Carl is daar duidelijk geen voorstander van, de geïnterviewde geeft aan dat het meer bedoeld is om snel prototypes op te zetten. De volgende gast die ze tegenkomen is Don XML. Hij heeft de Visual Studio Extensability Contest gewonnen en daarmee een ticket voor dit event in Barcelona. Hij heeft een add-in gemaakt, XPath Mania om developers makkelijk XPath query's te kunnen laten maken. Een beetje gebaseerd op Chris Sells zijn Reguliere Expressie tool.
PC 205: In deze uitzending zijn Venkat Subramaniam, oprichter van Agile Developer Inc. en Andrew Hunt, programmeur, consultant, auteur van The Pragmatic Programmer, te gast, onderwerp is "agile". Een interessante uitzending! Venkat en Andrew hebben samen een boek geschreven: "Practises of an Agile Developer" waarbij ze allemaal inzichten en tips delen. Zo komt voorbij dat er vaak niet "1 beste oplossing" is, omdat het vaak afhangt van de situatie waarin een oplossing toegepast moet worden. Maar ook hoe je jezelf gedraagt binnen het team (wat Carl samenvat als "don't be an asshole"). Maar ook dat als je 1 of 2 uren op een probleem zit te zwoegen je moet aankloppen bij een collega met de vraag of hij/zij misschien met je mee kan kijken. Vaak is het zo dat het uitleggen van het probleem aan die persoon vaak genoeg de trigger is om te denken: "oh, maar hier moet ik wat aanpassen dan werk het!". Dan volgt de "bedankt" en de ander denkt, maar ik heb niets gedaan ;) Regelmatige feedback van klanten. Als je 2 jaar met een project bezig bent en je levert het daarna op, dan kan het wel voldoen aan de initiële specs, maar inmiddels zijn die allang veranderd of verouderd en is je product niet meer belangrijk voor je klant. De uitspraak "Tell don't Ask", gebaseerd op het boek over Smalltalk van Alex Sharp. Een degelijk object-geörienteerd programma vertelt objecten dingen te doen, het vraagt ze niet om iets te doen. Andrew noemt het voorbeeld van wat je wilt voorkomen: je hebt een hele grote class, een grote data-wrapper. Haalt er data uit, past zaken aan en zet de data weer in dat object. Hiermee raak je het encapsulation-principe. Hierdoor worden veel zaken "buiten het object" gedaan wat binnen het object uitgevoerd had moeten worden. Dat is ook één van de oorzaken van het Y2K probleem geweest, de overgang van 1999 naar 2000, oftewel van 99 naar 00. Als op 1 plaats in de code die datum-acties gezeten hadden, dan waren het relatief simpele aanpassingen geweest, maar nu zet het overal verspreid door de code. Een hoofdstuk wat Carl boeit is "Let design guide, not dictate". Vankat licht dat toe. Het ontwerp wordt opgeleverd op basis van wat we dan weten. Maar tijdens het ontwikkelen snap je beter wat er gebeurt en hoe zaken werken. En dan blijkt mogelijk dat iets wat in het design over 5 schermen verdeeld is, je kunt samenvoegen naar 1 scherm. Blijf je dan "stug vasthouden" aan het ontwerp en ga je voor het "voortschrijdend inzicht"? Hopelijk het laatste! Ander punt, "Communicating in Code". Venkat is geen voorstander van comments in code. Vaak wordt het gebruikt om slechte code te maskeren. Zoals een functie en daar staat /*constructor*/, totaal overbodig, je ziet dat dit de constructor is. Venkat geeft het voorbeeld. Een developer komt bij hem met de vraag of hij ziet wat een bepaalde functie doet. Daar zitten wat for-loops in. Venkat heeft een kwartier nodig om te snappen wat het doet. Hij besluit een regel commentaar voor de 1e for-loop te zetten met uitleg wat het doet. Maar hij bedenkt zich. Hij past de inner-for-loop aan naar een functie met een naam waaruit blijkt wat het doet. En wat blijkt: Venkat heeft in het verleden die functie geschreven. En doordat zijn collega nu bij hem komt, wordt de code netjes gerefactord naar "hoe het eigenlijk meteen al gemaakt had moeten worden".
PC 206: Bij het intro meldt Carl dat de actie voor de .NET ontwikkelaars in New York nog steed gaande is, link van archive.org. Ted Neward praat in deze uitzending over "interoperability". Want als een partij 1 systeem heeft op basis van Java en een andere op basis van .NET, hoe laat je dat met elkaar werken? Of andere systemen? Ted is bezig met een demo voor infoq.com/j+n portal van Microsoft en andere partijen. En Ted noemt de tool ikvm waarmee je .JAR-bestanden om kunt zetten naar .NET classes. Heel handig om je business-logica uit Java over kunt zetten naar .NET. Java komt nog even voorbij, Carl is geen fan van de Swing weergave, Ted noemt SWT: standard widget toolkit, waarmee Eclipse overgezet is en niet alles zelf "paint" waardoor het beter/sneller is.
PC 207: Carl en Richard zenden in deze laatste uitzending van 2006 live uit vanaf de Canadese Vista Launch Events. Deze uitzending kun je overslaan.
PC 208: Carl en Richard praten met Scott Guthrie. The man in red. Maar goed, niet veel nieuws in deze uitzending, dus je kunt hem overslaan.
PC 209: Carl en Richard praten met oud co-host Mark Dunn en Mark Berry over Biztalk 2006. Ik ken dit programma niet (wel eens de naam gehoord) en uit de verhalen maak ik op dat het vooral het verwerken van elektronische data is. Die je via pijplijnen doorstuurt, laat verwerken. Zo wordt ook Windows Workflow weer genoemd, er zitten workflow-zaken in Biztalk, een aantal medewerkers zijn uit de Biztalk-groep gestapt en hebben de Windows Workflow gestart. Workflow zit dus (nog) niet in Biztalk. Veel zaken zijn beschikbaar "out of de box", dat is ook het antwoord op de vraag van Carl waar om je 15.000 dollar voor Biztalk zou betalen als je het ook zelf zou kunnen programmeren met ASP.NET. Als ik nu zoek op Biztalk zie ik dat de ondersteuning die zou stoppen in 2025 verlengd is naar 2028, maar het lijkt erop dat het product stopt en Microsoft klanten meer richting Azure wil krijgen: link. Als ik zoek op Windows Workflow Foundation kom ik erop uit dat het in .NET 4.5 zit: link. Mocht je toch nog meer over Biztalk willen weten, Mark tipt Stephen Thomas zijn site biztalk-gurus met veel voorbeelden.
PC 210: Scott Ambler spreekt in deze uitzending over Agile. Scott werkt bij IBM, bij de notes van de podcast staat een link, maar deze komt nu op de algemene developerpagina van IBM uit: link. Scott heeft meerdere boeken geschreven. Spreker bij veel IT-events. 1 van de boeken gaat over het refactoren van databases. Dat komt precies, want je wilt geen data kwijtraken. Scott noemt het voorbeeld wat hij geeft bij presentaties. Hij vraagt hoe lang het duurt om iets in productie te krijgen door 1 veld in een database te hernoemen. Sommige mensen willen dat niet doen, anderen geven aan dat het wel een maand kan duren. Zo lang zou het natuurlijk nooit mogen duren. Scott geeft het mooie voorbeeld van een bank. Er was een database, die veel geld kostte maar schijnbaar niet of weinig gebruikt werd, niemand die er iets van wist. Deze hebben ze verwijderd en gewacht tot iemand zou roepen. Het duurde een paar maanden en toen kwam er een melding. Het werd gebruikt om 1x in een kwartaal een rapport te maken. Dan hoeft ie dus alleen die dag maar actief te zijn. IBM heeft een deel van Rational open-source gemaakt: OpenupBasic. Via Wikipedia zie ik dat het nu OpenUp heet (link). Eigenlijk denk je nooit meer aan IBM, terwijl dit vroeger "het merk" was. Zo heb je een uitgebreide productpagina: link. En in deze uitzending komen ook een aantal sites met betrekking tot Agile naar voren. Zoals Agile Modeling Home (link), the Agile Data Methode (link), Enterprise Unified Process (link). Bij het doorklikken naar de PDF van OpenUp bij Eclipse kom je op een pagina waar gearchiveerde projecten staan. Via archive.org kun je het document nog wel bekijken: link. Ik zie daar nog een verwijzing naar het originele manifest, dat deel ik hier nog even als afsluiter met de link en de 12 principes:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity--the art of maximizing the amount of work not done--is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.