Thursday, June 30, 2005
Wednesday, June 29, 2005
Wat kunnen we verwachten van ASP.NET 3.0?
Wat is het Atlas Project?
In ASP.NET 2.0 kun je een gedeelte van de pagina verversen zonder de hele pagina te verversen. Dit mechanisme is er ook op andere platformen en staat bekend als AJAX (Asynchronous Javascript and XML). Het nadeel van AJAX is dat het lastig te ontwikkelen is, en helemaal lastig te debuggen. Het Atlas Project is, simpel gezegd, gericht op het eenvoudig kunnen gebruiken van AJAX-achtige technieken. De details kun je het beste op Scott Gurthie's blog zelf lezen.
Wat kunnen we nog meer verwachten?
Dat is nog allemaal vaag (en staat ook niet op Scott Guthrie's blog), maar een van de onderdelen waar waarschijnlijk nog wel het een en ander gaat gebeuren is het Web Part Framework waarmee je Sharepoint-achtige portals kunt maken. Verder kun je denken aan UI-rendering voor Avalon, de nieuwe grafische engine van Windows "Longhorn". Via het control-adapter mechanisme wordt het mogelijk om web controls specifiek te renderen voor Avalon voor gebruikers van "Longhorn". Daarmee kun je de kracht van Avalon gebruiken om een gedeelte van de functionaliteit naar de client te verhuizen. De mogelijkheden die dat oplevert zijn enorm, al is het maar dat je een geweldig ogende web applicatie kunt maken voor "Longhorn"-gebruikers.
Tuesday, June 28, 2005
Automatisch commentaar bij code
PDC Early Bird korting (niet voor mij dit maal)
Monday, June 27, 2005
TechEd 2005 (Orlando) Grok Talk Podcasts
Deze Grok Talks zijn nu online te bewonderen. Zie voor een nadere uitleg The Grok Talks Are Up Pod Cast Them.
Leuk speelgoed(?)
Ik hou me aanbevolen voor tips & truuks.
Friday, June 24, 2005
RSS ondersteuning in Windows "Longhorn"... waarom wacht Microsoft zo lang?
Wel cool aan de implementatie van Microsoft is de integratie met andere tools. De RSS reader haalt content en afbeeldingen e.d. over, en die zijn dan beschikbaar voor alle applicaties. Een kleine bedenking heb ik daarij wel, want dit maakt de weg vrij voor allerhande attacks als je het mij vraagt. Opletten dus Microsoft!
Verder zal de RRS reader slim met je netwerk bandbreedte omgaan door in zoveel mogelijk te doen in "idle network bandwidth". Verder biedt Microsoft een uitbreiding van RRS 2.0 onder dezelfde open licentie (Creative Commons) die het mogelijk maakt om top-10 lists e.d. aan te maken op websites waar de gebruiker weer op in kan schrijven. We zijn benieuwd.
Software zuigt, en dat is onze eigen stomme schuld
Voorbeeldje: eind jaren negentig was men wel tot de conclusie gekomen dat HTML eigenlijk verselijk zuigt als je wilt zoeken naar semantisch relevante informatie. Dat blijkt ook enorm goed uit de hoeveelheid niet-relevante hits die je altijd terug krijgt van Google, Yahoo, MSN Search, enz.We (het W3C) hadden zo'n mooie oplossing: the semantic web. Het idee is simpel: geen HTML meer, alleen nog XML en zonodig unieke schema's waarmee semantische informatie gekoppeld kan worden. De opmaak verzorgen we met XSL(T). Op die manier kunnen zoekmachines veel specifieker zoeken, en ons vragen om welke semantische betekenis we bedoelen als we zoeken naar een bepaalde term. Op basis daarvan zouden zoekmachines zelfs verdieping aan kunnen brengen, zodat als jij zoekt op "sport" ze kunnen vragen welke sport je naar op zoek bent.
De realiteit is echter dat the semantic web nooit van de grond gekomen is. We produceren met z'n allen nog steeds bakken vol HTML, en maar heeeeel weinig XML. Het stomme is dat pak 'm beet 5 jaar geleden the semantic web nog wel haalbaar was, maar dan hadden toen moeten beginnen. Inmiddels is de hoeveelheid informatie verXvoudigd en is het ondoenlijk om dat semantisch relevant te maken.
Nu hoor ik je denken... "Maar XHTML is toch XML."
Daar heb je gelijk in, maar de tekst die we erin zetten is nog steeds platte tekst. XHTML is en blijft HTML, en als zodanig is het eigenlijk voor opmaakdoeleinden. We hebben weliswaar veel in CSS weten te dumpen, maar dat neemt niet weg dat we nog steeds geen semantisch informatie toevoegen. XHTML blijft daarmee niets meer dan iets wat een beetje structuur geeft aan onze pagina's. Mijn conclusie is dan ook dat the semantic web nog jaren op zich zal laten wachten, als het er überhaupt komt...
De Tech & Feest Week
- Dinsdag - Welkomstborrel
- Woensdag - Country drinks (feestje met je landgenoten), en feestjes voor genodigden zoals het MVP dinner
- Donderdag - HET TechEd feest, altijd groots opgezet en wie weet wel weer met een leuke muzikale gast (eerder verschijningen zijn onder andere Bob Geldof, Graham Taylor (Queen), en Bryan Adams)
- Vrijdag - Nog wat feestjes voor genodigden, zoals het Speakers Dinner (waarvan het vooralsnog lijkt dat ik daar naartoe mag, al spreek ik dit jaar niet...)
Tuesday, June 21, 2005
Session Voting
De volgende sessies heb ik onder andere voor gestemd:
- Optimizing Scalability, Performance and Availability with Systems Built on the .NET Framework (CTS448 - Ingo Rammer)
- WS-I_M_REALLY_CONFUSED (PNL003 - Christian Weyer, Rafal Lukawiecki, Ari Bixhorn, Michele Leroux Bustamante, Steve Swartz)
- Microsoft Visual Studio 2005 Team System: Managing the Software Lifecycle with Visual Studio 2005 Team System (DEV260 - Michael Leworthy)
- The Grey Area of Implementing Services Using Object-Oriented Technologies (ARC419 - Beat Schwegler)
- ASP.NET 2.0: Under the Covers - Exploring Internals, Page Lifecycle and the Compilation Model (WEB322 - Simon Calvert)
- Retry, Abort, Cancel? Appropriate Handling of Transaction Failures in Connected Systems Application Code (CTS359 - Clemens Vasters)
Monday, June 20, 2005
Vragen of suggesties welkom
Friday, June 17, 2005
Juval Lowy op bijeenkomst van dotNED - .NET Gebruikersgroep Nederland
Wednesday, June 15, 2005
Certified Architect? Ik voorlopig niet
The Microsoft Certified Architect candidate is expected to have at least 10
years of verifiable experience as a practicing architect prior to applying for
the program.
Oftewel je moet 10 jaar aantoonbare ervaring als architect hebben. Gezien ik nog niet eens 10 jaar in het vak zit en uiteraard niet meteen als architect aan de gang ben gegaan duurt het nog wel even voordat ik hieraan kan gaan denken. En in de IT industrie gaat alles zo snel dat deze certificatie met een aantal jaar al weer verdwenen kan zijn...
Tuesday, June 14, 2005
Helden zijn ook maar gewone mensen
Maar... wat heeft dit nu met TechEd te maken? Nou, eigenlijk niets, totdat ik bedacht dat er wel wat overeenkomst zit tussen de sprekers van TechEd en Todd (ja, ik moest toch wat bedenken om een stel techneuten te vertellen over Todd). En dan heb ik het er niet alleen over dat Todd zelf ook een begaafd programmeur is (hij heeft een gedeelte van de code voor de eerder genoemde CD-i zelf geschreven). Nee, wat ik bedoel is dat sommige sprekers ook wel heldenstatus (of superster zo je wilt) hebben bereikt. Mensen als Ingo Rammer, Michele Leroux Bustamente, ja zelfs Don Box, zijn eigenlijk ook maar gewone mensen. Ze zijn ook meestal alleszins bereid om even een praatje met je te maken na hun presentatie, of als je ze later ziet. Zelfs op zo'n groot evenement als TechEd is dat zo.
De vele wegen die naar Rome, eehhh de database, leiden
Het gemak van de eerste methode is geweldig, want je hebt geen code nodig... totdat je erover nadenkt wat er moet gebeuren als er nog geen records zijn, want als er geen record is om weer te geven komt de FormView-control niet in beeld, tenzij de CurrentMode op Insert staat (ipv ReadOnly of Edit). Maar... als je dat forceert zorgt onze "vriend" ViewState ervoor dat na het invoegen de FormView-control op Insert blijft staan, ook als je een record selecteert in de GridView (aaargh!). Bovendien moet je een Refresh doen om de wijziging te zien, omdat de DataSource-controls niet op elkaars wijzigingen letten. Wil je dit dus verhelpen, dan moet je ineens toch code gaan toevoegen aan vier event handlers, en daar gaat je simplisme.
Nee, dan de andere methode... wil je mensen wel belasten met de gedachte dat de DataSource-control rijen aanlevert met een index, en dat je de geselecteerde index van de GridView kunt gebruiken om de FormView naar het juiste record te laten wijzen? Het voordeel is dat beide controls tegen dezelfde DataSource-control aan praten betekent dat wijzigingen in beide ook synchroon lopen, wat wil je nog meer? Ook hier doet het probleem zich voor dat je even op moet letten als er nog geen records zijn, maar dat is eenvoudiger op te lossen dan in de andere methode. Resultaat: de complexiteit van elk van de oplossingen is min of meer gelijk, alleen de weg er naartoe is anders. Misschien moet ik mensen dus maar leren een eigen FormView-control te maken die iets slimmer is ;).
Sunday, June 12, 2005
ASP.NET 2.0 voorbeeldcode van dasBlonde
Friday, June 10, 2005
Veiling van TechEd sprekers voor een goed doel
Proef de sfeer van TechEd Orlando
Tuesday, June 07, 2005
Nieuws van TechEd US: VS 2005 release op 7 november 2005
Ik haat CSS, gelukkig is er ASP.NET 2.0
In ASP.NET 2.0 hebben we Themes & Skins, en daarmee kan werkelijk elke idioot, inclusief ondergetekende, opmaak verzorgen zonder zich druk te maken over CSS. In de App_Themes map van de website kun je een map maken voor iedere Theme die je wilt ondersteunen (bijvoorbeeld App_Themes\BlueTheme en App_Themes\RedTheme). Daarin zet je Skin-bestanden (.skin) met de opmaak definitie van ASP.NET controls. En hoe ziet die opmaak definitie eruit??? Als een gewone control, alleen dan zonder ID-attribuut en eventueel andere attributen die niet "skinable" zijn, zoals bijvoorbeeld DataSourceID voor data controls en ControlToValidate voor validatie controls.
Wil je toch nog wat met CSS doen, dan kun je .css bestanden in de map van een Theme plaatsen. In iedere pagina die gebruik maakt van de Theme wordt dan gelinkt in de pagina. Hoe makkelijk wil je het hebben?
Een theme gebruiken in een pagina is eenvoudig. Plaats in de Page directive Theme="BlueTheme", als volgt:
<%@ Page Theme="BlueTheme" %>
en klaar is Kees. Wil je een Theme dynamisch kunnen instellen, dan moet je dit in Page_PreInit doen, als volgt:
protected void Page_PreInit(object sender, EventArgs e)
{
Page.Theme = GetTheme();
}
Hierbij is GetTheme() een methode die je zelf zult moeten invullen. Doe je dit overigens na Page_PreInit, dan krijg je een foutmelding.
Friday, June 03, 2005
IIS meest gebruikt bij top bedrijven
- Apache 2.0 : 22 (2 unpatched, less critical)
- Apache 1.2 : 12 (1 unpatched, less critical)
- IIS 5.0 : 7 (1 unpatched, not critical)
- IIS 6.0 : 3 (0 unpatched)
Uiteraard speelt ook een rol voor grote bedrijven dat ze een commerciele partner hebben die ze aan kunnen spreken op problemen met een product. Dat kan met Apache niet echt, want er is geen bedrijf verantwoordelijk voor Apache. Microsoft kun je zonodig voor de rechter dagen...
IIS 7.0 wordt qua veiligheid nog interessanter. IIS 7.0 is geen monolitisch systeem meer, maar bestaat uit allemaal aparte onderdelen. Onderdelen die je niet nodig hebt kun je (na het aanpassen van de configuratie) gewoon van de schijf verwijderen. De "attack surface" wordt daardoor kleiner.
Thursday, June 02, 2005
Oh nee! Niet alles in XML!
Wat is hier niet goed aan?
Mijn ervaring met Word XML en Excel XML is verre van positief. Vooral de wat grotere Excel bestanden leveren een heeeeel groot XML bestand op. Zo groot dat Windows Explorer over z'n nek gaat bij het nagaan wat voor icoontje getoond moet worden bij het bestand!
Nu zegt Microsoft weliswaar dat ze het op gaan slaan in een "industry standard" compressie formaat (lees: zip), maar dan nog heb ik zo m'n twijfel bij wat dit doet voor de performance gezien mijn eerdere ervaringen. Gezien ik betrokken ben bij een applicatie waarin dit, mits het goed werkt, een geweldige oplossing zou zijn, ga ik dit nauwlettend in de gaten houden.
Het staat of valt in elk geval met de manier waarop de compressie werkt. Er is wat dat betreft niets mis met apllicatie specifieke formaten die weinig ruimte innemen. In tegendeel, dat is ook waarom er niets mis is met een relationele database. Alleen in specifieke gevallen wil je daar echt XML in opslaan zoals SQL Server 2005 toestaat. Dat wordt vast een van de meest verkeerd gebruikte onderdelen van SQL 2005 (samen met de mogelijkheid om .NET code in een stored proc te gebruiken). Ik begrijp de push naar XML wel vanuit een comatibiliteitoverweging, maar je kunt je afvragen of alles wel XML moet wezen. Mensen die weten dat ik een boek over XSLT geschreven heb, en een aantal jaren in de community bekend stond als "The XML Guy" zijn misschien verrast door mijn negatieve houding. Laat me duidelijk zijn: XML is een geweldige technologie. Het is echter nog niet echt geschikt voor hele grote data bestanden, omdat het relatief langzaam te parsen is.