lunedì 10 novembre 2008
Magnifica sessione di Pat Helland che riaffronta per l'ennesima volta l'argomento dati.
Uno slide deck lunghissimo e denso di argomenti che difficilmente si possono raccontare. Il punto che mi ha fatto più riflettere è la debolezza del ruolo che ha lo schema dei dati in un database. Viene mostrato quanto sia debole ciò he sembrava essere un punto di forza.
Pat non toglie alcun merito al ruolo e al compito del database così come è oggi (e a cui tra l'altro lui stesso ha dato grossi contributi) ma mette in evidenza come la rigidità dello schema possa spesso essere un problema quando i dati a lui destinati provengano da un grosso numero di sorgenti differenti. Una possibile soluzione è quella di fornire una sorta di estensione dinamica in modo che questo non debba necessariamente essere conosciuto da tutti a priori. Poi passa al paragone tra lo schema rigido rispetto all'opzione rilassata di corrispondenza nome/valore.
Ma questo non è che solo uno dei tanti argomenti toccati da Pat. Se avrete occasione di vedere il video di questa sessione, ne vale certamente la pena.

È Mike Downen lo speaker della sessione che si focalizza sui problemi di gestione del ciclo di vita di una applicazione, usando il Framework 3.5 SP1.
Tra le cose interessanti c'è un tool su codeplex che permette di customizzare il pacchetto del Framework.net da installare sulla macchina. Il client profile del Framework 3.5 SP1 non è altro che una scelta di Microsoft sugli assembly più usati sul PC ma a quanto pare è possibile creare un pacchetto ancora più minimale.
Come avevo detto nella sessione sulle performance viene sottolineato che gli assembly in GAC sono verificati solo al deploy mentre gli altri sono verificati al load e questo fa una grossa differenza in performance. Lo strong name bypass della 3.5 SP1 risolve questo problema. Nella 3.5 SP1 non viene fatto il controllo dell'assembly se questo gira in full-trust.
Poi si passa al discorso di performance. La 3.5 SP1 introduce una serie di ottimizzazioni per il 'cold startup' che vedono un miglioramento del 10-20%.
Ngen può fare una bella differenza. Per esempio Essendo pre-jittato se il nostro assembly è usato da più processi, questo viene riutilizzato e quindi consente di dimnuire il working set.
Un dato importante è che i nostri assembly jittati con ngen hanno una dipendenza diretta da quelli del Framework. Questo significa che se Microsoft fa una service pack che modifica mscorlib, tutte le immagini native dei nostri assembly sono invalide. Per ovviare a questo problema, ad ogni update Microsoft invoca 'ngen update' che aggiorna le immagini jittate con ngen su quel pc.
Viene inoltre ricordato che è importante scegliere con attenzione il base address dell'assembly durante la creazione dell'immagine nativa da parte di ngen. Diversamente il caricamento sarà più lento e non potremo usufruire del vantaggio di avere condiviso l'assembly tra più processi (con maggiore occupazione di memoria).
Per verificare che isano realmente caricate le immagini create da ngen si può usare per esempio il Fusion log viewer.
La maggior parte degli argomenti della sessione è solo un ripasso di tanti concetti già noti, ma alcune cose sulla 3.5 SP1 sono novità molto interessanti.
La keynote che apre l'evento del TechEd 2008 è tutta su Visual Studio 2010 e presentata da Jason Zander, General Manager di Visual Studio.

In una serie di demo lo speaker presenta le varie caratteristich, molte delle quali sono già presenti nella CTP scaricabile dal web.

La nuova versione di Visual Studio è certamente un salto qualitativo enorme per la produttività del developer, questo è sicuro, peccato per l'esposizione troppo frettolosa. E le demo purtroppo non hanno aiutato perché non hanno dato modo ai presenti di capire quante e quali fossero tutte le (tante) novità. Avremo certamente modo di approfondire con le CTP alla mano.
Il biglietto lo avevo già in mano da un pezzo, altrimenti dopo quello che ho passato non credo proprio avrei volato di nuovo con loro.
Volo Genova-Roma-Barcelona. Arrivato a Roma, tutti in fila per scendere dall'aeromobile quando il capitano annuncia che "abbiamo preso di sorpresa il personale di terra che non ci aspettava". E tutti in attesa di scaletta ... che tristezza.
Arrivo a Barcelona, passa più di 40 minuti di nastro e niente bagagli. Non mi consola che più di metà aereo è nelle mie stesse condizioni. Con aria di sfottio il personale dell'areporto ci dice che è normale per gli aerei provenienti da Roma con Alitalia... a quanto pare godono di ottima fama.
Faccio la denuncia, mi danno un tracking number e adesso che è già mezzanotte sul sito di Alitalia compare ancora la scritta "Nessuna informazione disponibile". E questo che significa? Che è domenica e quindi tutti a farsi 'du spaghi'??? Altro che dirigenza, altro che amministratori, altro che politici, qui parliamo di fannulloni!!!
Sono sempre più convinto che il fallimento di Alitalia sia sempre di più l'unica soluzione, ma da oggi con una differenza. La chiusura di Alitalia dovrebbe portarsi dietro anche Fiumicino.