luglio 2003 Entries
Chissà se qualcuno tra i tanti ha colto la citazione musicale :)
Cmq, siamo giunti alla fine di questa avventura incredibile in quel di Barcellona.
Che dire? Mi sono divertito, ho imparato, ho discusso, ho polemizzato, ho mangiato, ho guardato... ma soprattutto, ho bLoggato!
Volevo ringraziare tutti quelli che hanno letto i nostri log dal sito ed anche tutti quelli (che non so chi siano) che hanno consumato l'RSS: è stato un piacere fare gli inviati per voi, e non vedo l'ora di farlo ad un'altra conferenza.
Le possibilità ci sono: PDC a los angeles, Winsummit in svizzera, magari Pass a Seattle (sempre che sia a Siattle, non mi ricordo, ma credo che anche se fosse sia più una cosa per UGISS :))... chissà! Io spero di esserci con UGIdotNET, e di loggare tutto per voi e per i vostri aggregatori!
Un saluto ed un ringraziamento anche ai miei compagni di viaggio e di log. Non posso dire che mi mancheranno perchè vedere Corrado _ogni mattina_ è decisamente controproducente per il mio intestino, ma ci sarà qualcosa in meno probabilmente :)
L'ultima sessione di questo Tech Ed che ho potuto seguire. Purtroppo dobbiamo essere al porto alle 19 e ci perdiamo l'ultima tornata. Poco male, ho deciso di farmi del male e di seguire questa sessione livello 4 sul "writing faster managed code". Ne varrà davvero la pena? Beh, basta continuare a leggere :)
La sessione è stata tenuta da Jonathan Hawkins, del team del CLR, che però ha qualche problema di esposizione: mentre parla sembra pensare ad altro, si incastra molto spesso ed è difficile stargli dietro.
Gli argomenti poi sono effettivamente di livello difficile: dopo aver fatto una breve introduzione sui vari ToDo e Not ToDo (usare la cache, ma implementare qualcosa che ne faccia il flush, stare attenti ad esagerare con XML e OOP, sapere il funzionamento del GC e delle generazioni (se avete dei dubbi potete vedere gli ottimi articoli di Pierre sulla gestione della memoria a questo link: http://www.ugidotnet.org/articles/articles.aspx?CategoryID=13) ed il funzionamento del finalizer) finisce con una review delle performance specificando il tempo di creazione di un sacco di cose in Nanosecondi (in c++, qui la mia scarsa conoscenza del linguaggio e la sua scarsa conoscenza della lingua inglese mi fanno vacillare :)) e dei tool per misurarle.
Molto complicata, quindi anche bella come idea, ma peccato per lo speaker e peccato soprattutto che siano una serie di commenti alle slide: avrei voluto vedere qualche esempio di GC per esempio, qualche esempio sull'uso del finalizer, o sull'utilizzo del threadpooling. Capisco che ci sia poco tempo, ma piuttosto che seguire una sessione di commento a delle slide, su argomenti così è meglio dividerla in due e farci anche vedere qualcosa! Con uno speaker così, é meglio vedersi le slide a casa, corri meno il rischio di rimanere confuso :)

...o quasi! :)
Ho seguito la sessione sulla sicurezza in ASP.NET tenuta da Scott Guthrie, del team di sviluppo ASP.NET. Dovrebbe essere una sessione incentrata su come rendere sicuro ASP.NET.
L'inizio è poco incoraggiante: un'overview dei vari metodi di autenticazione (forms, windows, passport) con la spiegazione di come implementarli e relative demo. Ovviamente, quella che mi interessava di più (passport) non è stata fatta vedere, probabilmente per motivi di tempo. Scocciante.
La sessione non migliora poi molto: continua con spiegazione e demo dell'autenticazione basata sui ruoli, e brevi accenni all'encryption (Request.isSecureConnection per controllare la connessione ed il namespace System.Security.Cryptography per usare MD5, 3DES e compagnia) ed ai modi più comuni per bucare un'applicazione web (principalmente injection). Interessante, ma troppo corta e generica (l'utilizzo di HtmlEncode spero lo sappiano molti se non tutti di quelli che sviluppano su web).
Sono anche state fornite alcune novità (tipo la possibilità sotto windows 2003 server di creare un utente per _ogni_ applicazione ASP.NET) ed alcuni consigli (tipo l'utilizzo di ASPNET_setreg.exe col framework 1.1 per cryptare utente e password di processo nel machine.config) nel corso della sessione, ma francamente avrei aumentato di molto la parte sull'encryption e sull'injection e levato molta parte sull'autenticazione windows e form (o almeno avrei fatto qualcosa di più che spiegare cosa sono e basta, che immagino lo sappiano tutti). Non male in fondo, se non fosse stata troppo semplice!

 

Ricordate i TIP di stamattina sulle stored procedures?? Dovevo essere addormentato davvero perchè mi sono dimenticato un tip particolarmente importante, quindi ve lo riporto a parte :)
Forse non tutti voi sanni che SQL quando si usano Stored Procedures, le compila e le mette in dei "piani" che poi esegue ogni volta che viene richiamata la stessa stored. Questi piani vengono ovviamente messi nella RAM, ed in certi casi è necessario un riavvio del servizio per liberare tutte le risorse che un SQL medio/grande può causare.
In questi casi, invece di riavviare il servizio, basta usare queste semplici istruzioni SQL:
CHECKPOINT
DBCC DROPCLEANBUFFER
DBCC FREEPROCACHE
per fare in modo di svuotare le risorse dalla RAM ed avere lo stesso effetto di un riavvio del servizio!
Ora vado a seguirmi una sessione sulla sicurezza in ASP.NET, a dopo!

Giusto per vedere se una sessione di livello 3 mi avrebbe dato di più di quella di ieri, sono andato a vedermi oggi la sessione di overview su Yukon tenuta in doppio da Brian Welcker e Jason Carlson (Il primo spiegava, il secondo ha fatto la demo). Obiettivo: capire qualcosa in più su questa nuova rivoluzione. Quello che ho capito in più è che vogliono vendere ancora più copie di Office :)
Nel senso, un pezzo della sessione all'inizio era molto incentrata sulla business intelligence e sulla piattaforma Yukon legata con office 11 e SharePoint come strumenti per l'impresa. Noioso, dal mio punto di vista, ma sicuramente c'è qualcuno a cui questa parte è interessata (i.e.: quelli che gestiscono il grano...:)).
Dopo, ha iniziato via slide a fare alcuni esempi delle principali feature di Yukon, molte delle quali avevo gia sentito nella sessione precedente. Le più carine sono la possibilità di accedere al DB dopo un disaster recovery appena finito il recovery senza aspettare il check, degli improvement a TSQL (anche se mi sarebbe piaciuto sapere quali..), della possibilità di far collegare Office agli analysis services per avere grafici etc e la gestione dinamica degli indici senza downtime. Quest'ultima tuttavia mi fa un po paura, perchè se un DB tanto importante da non poter andare offline 2 minuti necessita di modifiche "on the fly" agli indici, allora credo che ci siano un bel po di altri problemi :)
La sessione è terminata con una mini demo (neanche tanto mini a dire il vero, sarà durata mezz'ora.. :)) sulle capacità di sviluppo di Yukon. Hanno fatto vedere un simpatico toolettino per lo sviluppo che unisce lo sviluppo, la gestione di DTS, analysis services e via dicendo. Il layout era pericolosamente vicino a office, e non ho ben capito se viene fornito con Yukon o con la versione developer di Office!
In definitiva, la sessione era molto carina per quel che riguarda lo sviluppo, ma mi aspettavo di vedere qualcosa in .NET, e poi avrei messo meno l'accento all'integrazione ed alle slide e mi sarei buttato su una demo più corposa. Ma la sessione era marcata business intelligence quindi non posso lamentarmi :)
Per impegnare il tempo dopo aver perso il mio laboratorio sull Hyper-Threading, mi sono fatto prendere dalla sessione su IPSec over NAT.
|Lo speaker (Steve Riley) mi ha guidato attraverso una sessione di livello 4 sul networking che, presa a metà, mi ha stroncato :)
L'argomento in se non era dei più semplici: spiegare perché IPSec su NAT si perde delle informazioni ed i workaround per fare in modo che questo non succeda. La mia poca conoscenza in matiera non mi ha aiutato a capire bene ogni cosa, e devo dire che la sessione era veramente complicata. In generale é stata molto interessante e tutte le soluzioni proposte sono molto intelligenti. Il fatto che in molti punti non sia riuscito a stargli dietro mi ha  anche confermato che il livello di difficoltà é dosato molto bene.

Lo so che non é un bel titolo, ma la dura realtà é questa... dovevo seguire un laboratorio sull'Hyper-Threading, ma per colpa della lunga coda al bagno sono arrivato in ritardo e la tipa non mi ha voluto far entrare... che sfortuna! Ora magari mi infilo in qualche sessione: anche se entrare a metà non mi piace almeno vedo qualcosa!
Ne approfitto un attimo per parlarvi dell'Italian Lounge Party (o quel che era) visto che Andrea vi ha illustrato il party MVP. Al party italiano abbiamo partecipato io Mrkino e Raffaele. Si é tenuto in una vecchia cittadella medievale a pochi passi (ma in salita, accidenti...) dal nostro albergo. La cittadella era veramente bella, ben conservata, ben tenuta e molto suggestiva. All'ingresso una tizia sfigatissima ad un bivio con un cartello Microsoft faceva il palo per indicarci la strada, seduta quasi per terra. Ogni volta mi chiedo perché non mettere un cartello invece che far stare una poveretta da sola in piedi per tutta la notte a fare da segnale stradale!
A parte questo, siamo arrivati alla "Balconada": splendida vista, ma il nostro usuale ritardo ci ha portato a non avere niente da mangiare e solo da bere. Di gente ce n'era poca ed il vino e la birra hanno fatto il resto: dopo due o tre saluti, ci siamo messi a fare una discussione filosofica su architetture a 3/4/5 livelli, sicurezza sul db e sul datatier e via dicendo, che ci ha fatto arrivare tranquillamente fino alle 23. Che dire, potevamo farla tranquillamente nel nostro albergo, l'unica cosa interessante erano il vino gratis e la bella vista...
Per il prossimo anno, suggerisco una quantità maggiore di quella cosa che, nei proverbi popolari, si dice tiri più di un carro di buoi. Se qualcuno non sa cos'é, mi mandi una mail che quì non posso spiegarlo :)

E se il detto é vero, allora oggi sarà un giorno non male.
Cercando di combattere il sonno enorme, mi sono buttato a seguire la sessione sull'ottimizzazione delle stored procedures di Kimberly Tripp, che già aveva dimostrato la sua qualità nella sessione un po meno tecnica sui Tips & Tricks.
In questa interessantissima sessione si é riaffermata una delle mie speaker preferite quì a TechEd, sapendo come interagire con il pubblico in maniera da non farlo addormentare (una sessione delle 8 e 30 é dura!) e soprattutto facendo vedere un sacco di demo!
Gran parte della sessione si é incentrata sul RECOMPILE (Search page) delle stored procedure, su come non sempre sia il caso, su come invece ogni tanto sia necessario. Ha soprattutto spiegato la gestione basata sui PLAN, e come SQL server li usi per diverse tipologie di query, che in alcuni casi può non essere l'ideale. E quindi passata ad illustrare i vari metodi di recompilazione per invalidare questi plan nel caso sia necessario, se sia meglio creare direttamente con l'opzione WITH RECOMPILE, oppure se fare EXEC con questa opzione, o ancora se usare una stored procedure apposta per invalidare il piano senza però ricompilare, parlando anche di esecuzione dinamica di codice e di codice modulare. Non c'é una risposta unica, perché ovviametne bisogna vedere sempre che cosa serve, ma l'esecuzione modulare mi ha molto interessato e vedrò di approfondirla se ci riesco.
Il resto della sessione era un repository di brevi TIP, molti già noti, ma io ve li cito così nel caso non li sappiate potete aggiornarvi:
1: _non_ usare SP_ nel nome della stored procedure, perché il motore di SQL server va a cercare nel DB master prima che nel vostro e fa il doppio dell'IO.
2: QUOTENAME leva la possibilità di SQL Injection (ES: QUOTENAME(@username, ''' non permette l'uso dell'injection del tipo "pippo' or 1=1; drop table foo --") ed é lato server!
3: Usare NomeColonna IS NULL invece di NomeColonna = NULL
4: Usare le View: sono piu semplici da gestire e da ottimizzare.
Come risorse vi consiglio il suo sito (www.SQLSkills.com) che contiene anche tutti gli script di questa sessione e di quella precedente e la Q263889 (http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q263/8/89.asp&NoWebContent=1) che potrebbe avere alcune informazioni interessanti!

L'ora dopo l'ultima sessione è la più difficile...
Sei ancora nel panico di finire la sessione e lanciarti su un tavolo con le prese di corrente (ma perchè non metterle su _tutti_ i tavoli invece che solo su qualcuno?? che caspita!) a bloggare tutto prima che la batteria del portatile si scarichi, e poi litigare con l'IP config  e con il ping per cercare di capire cosa ci sia che non va nella rete wireless... e dopo benedire il fatto che stia ricominciando a funzionare, e scrivere e schiacciare conferma e vedere che non funziona già più, e mettere la chiavetta per salvare il tutto e poi chiudere explorer proprio mentre la wireless torna a funzionare e....
Insomma, sei iperattivo, quindi vai sul forum, guardi le statistiche, torni sul forum, e dopo ti tranquillizzi e dici "è finita, ora mi aspetta il ritorno in navetta e dopo devo decidere cosa vedere domani! Aspetta che guardo il sito e vedo che sessioni sono cambiate!".
Oggi per esempio abbiamo scoperto io e Raffaele che domani hanno cancellato una sessione bellissima (livello 4) sull'object relation in ADO.NET... come se già non ce ne fossero troppo poche di sessioni belle!
Approfitto per ringraziare tutti per leggere i nostri log e farci capire che gli piacciono: abbiamo abilitato le statistiche e le viste sono tante, che ci fa tremendamente piacere!
Un saluto a tutti, a domani!

Sulla sessione ovviamente :)
Era una sessione di livello 2, quindi niente pretese di complessita, codice (va beh, ha fatto qualche SELECT...) etc.
Le sessioni di questo livello sono classificate come "Basic Overview", cioè come sessioni che dovrebbe seguire solo chi praticamente non ha presente di che cosa si sta parlando, ed è esattamente quello che era: una serie di slide Powerpoint contenente elenchi sulle nuove funzionalità di yukon. Sull'organizzazione della sessione e sul contenuto niente da dire quindi, ma un paio di appunti ce li ho (se no che me ne faccio del mio soprannome? :)).

Appunto numero uno: le slide di questa sessione non sono disponibili "a causa della natura di presentazione di un prodotto non ancora uscito": non ho capito se non le distribuiscono così non hanno prove nel caso cambi qualcosa o se lo fanno per altro :)

Appunto numero 2: Ha fatto molte volte accenno a nuovi e migliorati tool per gestire la sicurezza, la gestione, il recovery, il backup, e poi ha completamente saltato l'approfondimento ed è passato alle slide successive. Dopo ha fatto vedere qualcosina (tra parentesi, non mi piace il nuovo taskpad... a meno che non sia configurabile, cosa che non ho ben capito... mi sa che leggo qualcosa e vi faccio sapere!), ha fatto qualche query (velocissime ovviamente, anche nell'output XML, ma no vuol dire un gran che...) ed ha fatto vedere un paio di tool (bellino invece il performance monitor, che ti permette di avere un ruolo a parte per usarlo, al posto del sysadmin), ma ha lasciato indietro alcune cose che magari avrei fatto vedere meglio: così mi fa venire il dubbio che non vadano un gran che bene :)
Ultima grande notizia, che probabilmente sapevate già, è che non si può più mettere SA senza password!
Comunque l'argomento è interessante (lo dimostra il fatto che mi sono alzato poco fa per andare in bagno ed al mio ritorno c'era scritto "session full", e vorrei capire chi mi ha fregato il posto a fine sessione :)) e, appunti a parte, la sessione non è stata male visto anche il tempo ridotto a disposizione!

Quì al teched ci sono le tavolate con su ogni ben di Dio da mangiare, praticamente sempre. Ci sono brioschine alla crema, al cioccolato, vuote, ciambelle, pezzi di torta, biscotti...
Poi ci sono delle vascone con le schifezze tipo Mars, Bounty, Twix. Ed è incredibile vedere come tutti prediligano le schifezze invece delle care vecchie brioschine fatte in casa!
Io sono contento, le adoro, però è brutto vederle snobbate così....
Scusate il post totalmente OT, ma il fatto che la wireless vada così bene oggi non vi aiuta :)
Ma rimanete collegati, vi prometto che il prossimo post sarà serio: vi devo ancora dire cosa penso di questa sessione su Yukon :P

Si lo so, avevo detto che esarei andato ad una sesisone sui Web Services, ma ho mentito :)
Il fatto è che dopo alcune considerazioni, ho visto che molte persone dovrebbero seguire quella sessione, ed è assolutamente inutile che ci vada anche io. Quindi, io aspetto che loro escano e mi faccio raccontare tutto, e nel frattempo seguo la sessione di presentazione su yukon.... che furbo eh? :)
Ora sono dentro la sala (wireless on...that's strange but hey, it's also amazing :)) e siamo verso la fine... fin'ora questa sessione è stata... beh, se volete saperlo, mi sa che dovrete controllare ancora tra un pò e leggere cosa ne penso :)

Qualsiasi cosa voglia dire precisamente (aumentare le performance? é un sinonimo di tuning?? boh...), la sessione di Tony Goodhew (livello 3) mi ha lasciato scontento, ma me l'aspettavo.
Il contenuto era scontato e straconosciuto credo da molti (come settare di default flowlayout piuttosto che gridlayout, come usare l'anteprima del dataadapter, come usare il server  explorer, etc.), e devo dire che l'unica cosa che mi é piaciuta é lo speaker: come nella precedente sessione 400 sui Server Controls, non ho praticamente visto slide, si é lanciato su visual studio ed ha iniziato a creare un progetto da zero, spiegando come funzionano le Front Page Server Extension piuttosto che il fire sharing, draggando e droppando ma facendo vedere bene cosa stava facendo. Se fosse stata una  sessione di livello 2 l'avrei apprezzata, ma veramente i contenuti erano di livello troppo basso per una "intermediate".
Unica pecca del relatore: sembrava non essersela preparata per niente. Non era pronto a niente e ad ogni piccolo problema si faceva un pò prendere dal panico: veramente strano visto il livello della sessione sui Server Controls, spero che non sia successo perché quando uno arriva ad un certo livello e non sviluppa mai ma fa solo speech si dimentica le cose da newbie :)
Ora vado verso un'altra sessione 4 sui Web Services: spero di non farmi troppo male, sono un argomento che non padroneggio così bene! Seguitemi, mi raccomando :)
Ho finito la mia prima sessione 400, e ne sono stato decisamente soddisfatto.
Tony Goodhew ci ha guidati nella creazione di un ServerControl (in questo caso era una databound table) facendo vedere in che modo risolvere i principali problemi (i.e.: i roundtrip sul server, il debug) ed illustrando in maniera efficace i vantaggi di questi controlli. Ha anche fatto vedere una serie di utility per la gestione del viewstate (salvataggio, load) che sono molto molto interessanti: se ci arriva il codice e se è possibile, vedremo di postarli, ma è un'idea che mi è venuta adesso quindi non assicuro nulla :)
Mi è piaciuto molto il modo "noslide" in cui è stata portata avanti la sessione: ho visto powerpoint solo pochi minuti all'inizio e pochi minuti alla fine, nel mezzo c'era solo visual studio e codice c#. Il modo di portare avanti la sessione è stata esemplare, scrivendo codice e illustrando veramente  passo per passo la costruzione del controllo, le opzioni, gli attributi e tutto il resto. Alcune cose le sapevo già, altre no e mi sono interessate parecchio: è così che mi piacerebbe  vedere le sessioni, peccato che di 400 ce ne siano molto poche!
So che anche mrkino dovrebbe aver seguito questa sessione, quindi andate a dare un occhio al suo blog su http://www.ugidotnet.org/myprofile/bLogReader.aspx?ID=436, avrete anche il suo punto di vista!
Ora scappo a vedere una sessione sull'ottimizzazione di visual studio per ASP.NET sempre di Goodhew: è una 300, ma speriamo che si continui col codice :)
Visto che la wireless è tornata a funzionare, ne approfitto per dirvi da dentro la sessione sui servercontrols che non so ancora che tipo di sessione sia, visto che è iniziata da poco, ma che sembra promettere bene e che, soprattutto, c'è la più alta percentuale di ragazze in aula che abbia mai visto (3 davanti a me... wowow :)). A dopo!

Finito il pranzo (l'ora di pranzo, perchè non ho pranzato a dire il vero, ma fa niente...) sono pronto per affrontare la prima sessione 400 di questo teched... state sintonizzati per sapere come va a finire!

 

Beh, se avete risposto no, cancellate questo item dal vostro aggregatore preferito :)
Cmq, oggi siamo a 4 giorni dall'inizio della nostra "MB" (che non vuol dire Marco Barzaghi ne MotherBoard ma "Missione Barcellona"), e volevo tirare un po di conclusioni su tutto quello che ci è successo:
LA CITTA: bella, anche se l'abbiamo visitata poco. Pulita, ordinata (il centro, non so nulla della periferia) ma caotica, sempre piena di vita e gente a qualsiasi orario e, ancora più importante, sempre piena di ... gente di sesso femminile. Più e più volte io ed il presidente abbiamo perso il filo del discorso, o ancora peggio ci siamo proprio persi, solo per vedere ancheggiamenti e/o movimenti camminanti vari (il presidente negherà ed io non ho prove, ma non fa nulla:)). Insomma, è bello camminare la sera e riuscire a dimenticarsi le tensioni della giornata per uscire dalla conf/scrivere il blog/imprecare sulla wireless/entrare nella sessione successiva, il tutto in 15 minuti! Certo, la nostra capacità di trovare ristoranti e limitata, ma non è colpa della città :)
IL GRUPPO: probabilmente uno dei migliori che si possa trovare in giro. Affiatato, competente, deficente (hem....m'è scappato, ma intendo dire che defice di autocontrollo e serietà se vuole :)) ma soprattutto divertente: sono poche le volte in cui quando siamo insieme non si sorride, e quelle poche volte in cui succede è perche il Presidente o Rialdi sono partiti in una filippica e noi stiamo ascoltando/partecipando/cercando il modo per spegnerli. Tutti hanno preso la cosa molto sul serio, al punto che non posso comunicare con Mrkino mentre sta biloggando altrimenti diventa violento :)
L'EVENTO La wireless ha attirato a se più imprecazioni di qualsiasi divinità dai tempi dei Maya ad oggi, ma stranamente oggi sembra funzionare ed anche bene: è probabile che quelli di proxim e HP abbiano capito che fare la pubblicità ad una cosa che non funziona non gli conviene affatto (piccola curiosità: ad un certo punto i cartelli proxim erano spariti, per riapparire magicamente un po dopo... probabilmente erano solo stati rubati/caduti/whatever, ma mi ha divertito parecchio :)) e si siano dati da fare. Le sessioni fin'ora hanno avuto un contenuto qualitativo che in alcuni casi è tecnicamente azzeccato, in altri è troppo semplificato all'inizio, ma quasi sempre si riprende e spiega molte cose interessanti, utili ma soprattutto belle da vedere. Vorrei vedere una sessione 400 interessante per capire se effettivamente quando il gioco si fa duro i duri salgono sul palco.. spero in quella di questa pomeriggio sui server controls (la seconda parte).

CONCLUSIONI: Beh? Le volete ora?? Troppo presto!
Per le conclusioni deinitive vi rimando al penultimo giorno (perchè purtroppo l'ultimo ce lo perdiamo, sigh...), per ora vi anticipo che il tutto è grandioso e spero che i nostri log vi servano ad avere una visuale completa dell'evento, e magari ad imparare qualcosa. L'importante è che vi piaccia leggerli tanto quanto a noi piace scriverli!
Vi ricordo comunque che c'è sempre un'area sul forum per postare dubbi o incertezze su come stiamo portando avanti questo evento: usatela, se volete, è tutto ben accetto (ovvio anche i complimenti :D ).
Ah, per chi si chiede perchè io scriva sempre i titoli in inglese: non è mania di protagonismo o deficenza senile avanzata, è che avendo poco tempo per sfornare i log mi vengono in mente solo titoli in inglese... spero che mi perdonerete :)
Per ora è tutto, ora si va a mangiare! Al prossimo BLog, non mancate!

Sessione sistemistica? Si, grazie, anche se non era esattamente una sessione orientata _solo_ ai sistemi.
L'ottimo relatore di questa sessione livello 3 (eh, non riesco a trovare delle sessioni livello 4 che mi interessano...) era Rafal Lukawiecki. Quando si dice che l'entusiasmo fa la differenza, bisognerebbe prendere ad esempio quest'uomo: la postura, il tono di voce ed il modo di gesticolare fanno capire il suo amore per questa nuova tecnologia, che sicuramente ha contribuito a rendere la sessione interessante.
Per quelli di voi che non sanno cos'è IPv6 (arghh, alzate la mano!! :)), come breve introduzione dirò che ora come ora noi andiamo su IPv4, protocollo a 32 bit che permette un numero non troppo alto di indirizzi IP. Per questo motivo, si presume che entro il 2010 non ce ne saranno più (ovviamente parlo di quelli pubblici), ed avremo quindi bisogno di trovarne di nuovi. Per questo è nato IPv6, protocollo a 128 bit che permette la creazione di un _enorme_ numero di indirizzo IP.
Ovviamente, il maggior numero di indirizzi IP non è l'unico cambiamento tra IPv4 e IPv6, ma non è il caso di farvi tutta la lista: se volete maggiori informazioni potete andare su http://www.ipv6forum.org o su http://www.microsoft.com/ipv6.
Per fortuna la sessione ha "saltato" queste premesse considerandole prerequisiti fondamentali, insieme con una minima conoscenza del protocollo IP, delle subnet e delle mask. 
Anche per questo motivo, è stata brillante nell'esposizione e non male nei contenuti: è riuscita a mischiare la presentazione della tecnologia con alcune demo di installazione su Windows 2003 Server (decisamente semplice e funzionale, devo essere sincero: due secondi e IPv6 è up & running) e molti consigli dedicati al mondo dello sviluppo applicativo. Uno su tutti, quello di iniziare a dare un occhio alla tecnologia perchè è assolutamente deleterio sviluppare applicazioni cablate su IPv4 con IPv6 alle porte: IPv4 comunque rimarrà, ma potrebbero sorgere dei problemi di compatibilità in futuro. Io, fossi in voi, seguirei il suo consiglio :)
A quanto pare comunque le sessioni sui sistemi mi portano fortuna, sia perchè la hostess all'ingresso mi ha sorriso (certo, era per dirmi gentilmente che non si mangia in aula, ma comunque era un sorriso...:)) sia perchè ora la wireless rulla e non è male...nel prossimo blog raccolgo un paio di idee e farò il punto by me della conferenza, vista a metà del viaggio! A presto!

Ho sentito un beep ora durante la sessione di IPv6 che mi ha avvisato che la wireless è tornata a vivere... sarà perchè sono andato a seguire una sessione sul protocollo IP?? mah....
Ci vediamo tra poco (Spero) per il log della sessione!!

Avrete probabilmente notato che anche io ho finalmente ricevuto il mio soprannome personalizzato....
Sul perché di questo soprannome avrei tanto da ridire, ma poi tutti direbbero che me lo merito ancora di più, quindi starò zitto e cercherò di incassare il colpo...
Nel frattempo, vi svelerò il motivo di un altro soprannome: "smartphone" Cavalli. Scommetto che molti di voi l'hanno già capito, ma per quelli che ancora non lo sanno, basti sapere che, oltre alle due xbox che il caro Corrado si é vinto dopo essere diventato MVP, ha avuto anche un kit per lo sviluppo su SmartPhone con dentro ovviamente uno SmartPhone unlocked da usare dove vuole....
L'unica parola per definirlo inizia con "para" e finisce con "o" ma non posso dirla per netiquette... se qualcuno crede di saperla mi scriva a info@ugidotnet.org, al primo che indovina in palio uno SmartPhone perfettamente funzionante (se riesco a dare il cloroformio a Corrado :p)

Non nel senso che mi hanno tenuto incollato alla sedia, ma nel senso che per segurie la sessione sull'advanced ADO.NET mi sono dovuto congelare!
Sessione tenuta da Jackie Goldstein incentrata appunto sull'accesso ai dati in tutte le sue salse. L'inizio mi ha fatto mettere comodo e pensare "eccone un'altro che scrive advanced dappertutto e poi ci propina sempre le solite cose...": per essere una sessione con "advanced" nel titolo, anche se con livello di difficoltà 3, forse la partenza é stata presa un po larga, parlando della struttura di ADO.NET, di cos'é il DataAdapter, il DataSet e compagnia. Infatti, sono molti quelli che sono usciti pensando probabilmente di essere stati fregati.
Andando avanti, però, si viene parzialmente ripagati della pazienza: vengono svelati alcuni metodi per caricare in un dataset diverse tabelle con un solo roundtrip sul server, e gestire l'update solo in caso di eccessivo bisogno tramite l'uso del metodo getchanges e del DataRowState.Si continua poi parlando ovviamente di XML e della possibilità di avere gli stessi identici risultati anche facendo query FOR XML. Una sessione molto carina per chi non ha ancora ben imparato a giostrarsi nel nuovo magico mondo ADO.NET. Forse non é proprio "advanced" come tipo di argomenti e come profondità, ma anche per i più esperti si trovano degli spunti interessanti.
So che anche Corrado ha seguito questa sessione, quindi se volete il suo parere, basta andare al suo blog all'indirizzo http://www.ugidotnet.org/myprofile/bLogReader.aspx?ID=710

... e la wireless sembra funzionare...
O meglio, _non_ funziona ancora quella ufficiale, ma sono attaccato a qualcosa che forse non dovrei riuscire a raggiungere che mi permette di avere la connettività che volevo. Dovrò avvisare gli altri, sperando che questa cosa rimanga in piedi :)
Ora vado a seguire la sessione "ADO.NET advanced programming techniques"... a tra poco per il blog!!

Altro TIP altro regalo: questa volta ho seguito la mia linea guida giornaliera ed ho chiuso la giornata con una sessione sui 20 migliori tips per rendere sicura la propria applicazione internet. La sessione, come già precisato da Pierre, era un mini case-study su OpenHack 4, un concorso organizzato da eWeek Magazine per vedere quale soluzione resistesse a gravi attacchi. Secondo quanto detto dal relatore, hanno passato il testo solo Microsoft e "another important DB software... i'm not going to tell you, but it was on Microsoft platform!".
Sessione dal relatore brillante e dai contenuti ancora migliori: tutti i passi per rendere sicura la propria infrastruttura internet senza escludere niente: windows 2000, terminal server, IIS, SQL server, protezione sulla rete (IPsec e LP2P). Non vi basta? Allora sappiate che c'é stata anche una esauriente spiegazione della sicurezza del codice, della form autentication e dell'utilizzo dei validation control per gestire "a monte" la maggior parte dei problemi.
Ora come ora, é la sessione migliore che abbia seguito dal punto di vista della completezza e dei contenuti. Sul WebLog di Pierre (http://www.ugidotnet.org/myprofile/bLogReader.aspx?ID=8) trovate il link al tutto, ve lo consiglio!

Quest'anno il tema é sempre quello: sicurezza.
Ne parlano tutti e le sessioni su questo tema sono molte. Questa in particolare era una sessione di livello tre che si occupava di sicurezza dal punto di vista dell'esecuzione del codice. L'abbiamo seguita in molti e tutti abbiamo un parere diverso. Dal mio punto di vista, la sessione _sarebbe_ potuta essere molto interessante, gli argomenti trattati erano validi ed alcune cose molto carine, anche se già note ai più, ma il relatore (Sebastian Lange) era penalizzato da una non fluida padronanza della lingua inglese e dall'aver saltato alcuni punti delle proprie slide (tipo, come mi ha giustamente fatto notare Raffaele, la parte sulla GAC) che sarebbe stato meglio non omettere...
La wireless comunque continua a fare le bizze, ed é stato difficilissimo riuscire a giostrare i log: uscire dalle sessioni ed avere solo 15 minuti per scrivere con tutti i Pc occupati e senza avere la possibilità di usare la Wireless é un massacro.
Cmq lo so che molti di voi sono insoddisfatti che non ho scelto una sessione tips & tricks ma non preoccupatevi: tornerò presto con i miei tip giornalieri :)

Oggi come già detto sono lanciato con i Tips & Tricks (Barzaghi muori d'invidia!!) quindi mi sono lanciato su questa sessione su SQL server. Forse è una sessione un po infelice: su SQL server si è gia detto tutto quello che si sarebbe potuto dire, e probabilmente anche di più: riuscirà una dolce fanciulla (Kimberly Tripp) a farci conoscere meglio il nostro vecchio amico? Non lo sapete eh? Beh, leggete, e vi sarà svelato tutto!
Iniziamo col dire che la sessione é molto interessante: sia per i junior DBA che per quelli più esperti ci sono molti tips per evitare di fare lavoro per nulla (come rendere più difficile fare la drop di una tabella per sbagllio, come gestire i trigger, come creare le constraint senza il nocheck visto che non c'é nessun guadagno in termini di prestazioni) più alcune informazioni utili che io non sapevo (ma magari qualcuno più esperto si...)  tipo l'utilizzo di Raiseerror con codice di stato 127 per bloccare l'esecuzione di uno script complesso nel caso qualcosa vada storto.
Insomma, una sessione interessante tenuta da una speaker simpatica e spiritosa che, malgrado alcuni problemi di connessione al DB ed un quasi blocco della macchina, ha saputo tenere l'attenzione sveglia e, cosa che fa sempre bene, farci ridere!
A dopo, con i prossimi tip :) Ora compilo il modulo di feedback e spero di vincere un palmare Dell anche se tanto lo so che sarà di Corrado :(


Oggi la Wireless sembra non voler funzionare, quindi ho avuto ritardo per scrivere il blog della mia prima sessione: Deployng IIS 6.0 Tips and Tricks. Questa sessione di livello tre introduce appunto al deploy con IIS 6.0, spiegando alcuni "tips & tricks" per evitare di rimanere incastrati. Nel caso non lo sappiate, le sessioni di livello 3 sono segnate come "Intermediate" perchè dovrebbero dare una visione di insieme e dare come assodate alcune conoscenze di base.
Detto questo, forse questa sessione era un po troppo incentrata sulle conoscenze di base che teoricamente dovrebbero essere date per scontate. Lo speaker era PM di IIS 6.0 in Microsoft Corp. molto ben preparato, ma gi argomenti trattati non erano secondo me "tips & tricks" ma sane conoscenze di base che chiunque si porta dietro dalle precedenti esperienze.
Parte principale è stata una esauriente overview sulle caratteristiche salienti di IIS6, tra i quali c'è anche la presentazione di un nuovo tool (LogParser) Presente nei Resource Kits che permette, tramite query SQL-like di prendere i dati dal log di IIS ed averli in forma tabellare su TXT, per poi usarlo da Excel, da Web o da dove si voglia. Si è poi continuato con diversi trucchi che molti di noi hanno fatto configurando un IIS.
E' stata in definitiva una sessione per novizi, molto utile per chi non abbia mai visto IIS6 o per chi non abbia esperienze di deploye  e setup di un IIS. Probabilmente io sono stato ingannato dal titolo "tips & tricks" e me l'aspettavo un tantino più approfondita. Vorrei poter dire che la prossima volta starò piu attento, ma mi sono già prenotato per seguire la sessione dei tips&trick su SQL server alle 15, quindi è proprio vero che non imparo mai :)
Stay tuned!