posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

novembre 2006 Blog Posts

RafCollection è su Codeplex

La tanto attesa collection c'è ed è su Codeplex. Ci è voluto un po' di tempo per scrivere la documentazione in Inglese (un documento di circa 18 pagine) e tradurre i commenti nel codice che avevo lasciato in Italiano per l'ultima WPC2006 dove l'ho presentata nella sessione DataSet vs Custom Entities. Il documento si trova nella home page del progetto ed è in formato XPS e PDF. Adesso finalmente ci siamo. Chi è interessato si faccia avanti, guardi i sorgenti, la usi e non spari sul pianista . Nel documento ci sono le motivazioni che hanno portato alle varie scelte. Per cortesia usate...

posted @ mercoledì 29 novembre 2006 10:44 | Feedback (6) |

Nuovo blog in lingua Inglese [My new English blog]

All'ultimo TechEd avevo promesso che avrei dato alcune news in lingua inglese e così è stato

posted @ mercoledì 29 novembre 2006 10:34 | Feedback (1) |

Siamo sinceri su WPF

Mi rifaccio al post dell'amico Gabriele in merito al modello di programmazione di WPF. Credo il discorso parta da una chiaccherata con Andrea Boschin in WPC. Le mie elucubrazioni su WPF partono in un post di Agosto al termine di un progetto reale, successive chiaccherate con Corrado ed infine i miei recenti post con Miguel De Icaza e Rob Relyea il quale ha ammesso la farraginosità di WPF pur sostenendo che l'intenzione è di limare tutto per le prossime versioni. Quanto voglio sottolineare è che WPF mi piace ma non si può negare la sua poca immediatezza e la farraginosità del modello. L'ultimo esempio è di oggi, quando...

posted @ martedì 21 novembre 2006 12:05 | Feedback (11) |

A che serve l'Innovation Tour?

Alla WPC in sala speaker riflettevamo su quante cose stavano per cambiare i nostri PC nel giro di una settimana. Il rilascio di prodotti come Vista, Office, SharePoint, BizTalk e naturalmente il Framework 3.0 i cui componenti sono già usati da queste nuove versioni ci ha fatto fare un bel balzo in avanti. Il salto non è finito e ci sono già altre nuove versioni di prodotti in arrivo come Longhorn server ed Exchange 2007 per non parlare di Orcas (Visual Studio 2008?) e altre ancora. Noi maniaci di tutto ciò che è novità amiamo vivere con la versione up-to-date ed...

posted @ martedì 21 novembre 2006 01:25 | Feedback (0) |

Libreria Anti Cross Site Scripting v1.5 rilasciata

La libreria Anti Cross Site Scripting versione 1.5 è stata appena rilasciata in RTM e disponibile al download dall'ACE Team di Microsoft. Ho avuto l'onore (e il permesso dall'ACE Team, thanks Kevin!) di mostrare in anteprima per WPC la libreria nella sessione "Realizzare applicazioni sicure con .NET", e mi preme dare qui lo stesso messaggio di attenzione che ho dato in sessione.Questa è una libreria di solo encoding e NON evita tutte le tipologie di attacco. Chiunque programmi web application e processi degli input utente che vengano mostrati sulla pagina web dovrebbe scaricarsi questa libreria, leggere attentamente come usarla e provare gli esempi....

posted @ lunedì 20 novembre 2006 22:42 | Feedback (1) |

Mappare 1:1 le entity sulle tabelle del db? No grazie

Mi riferisco al post di Diego sui tool di generazione di entities a partire dallo schema del database. Ma siamo veramente sicuri che generare entities partendo dalle tabelle del db abbia senso?In OOP un object model è un modello di un problema reale e il db è un modo molto conveniente per gestire la persistenza. Il db è bravo a cercare, ordinare, mantenere integro, gestire la concorrenza e la transazionalità delle modifiche, etc. ma il resto è ben altra cosa. Se per molti (semplici) problemi entities e tabelle del db possono coincidere, a mio avviso non è vero da un punto di vista generale.Voglio...

posted @ martedì 14 novembre 2006 17:48 | Feedback (11) |

Obfuscator e Orcas

In Orcas sarà disponibile una nuova release di Dotfuscator, lo stesso obfuscator presente in VS2003 e VS2005. La promessa sembra essere quella di un prodotto più robusto rispetto alle versioni precedenti che hanno dimostrato di avere molte pecche tra cui quella di non criptare le stringhe e di essere facilmente craccabile. Io stesso ho fatto degli esperimenti e sono riuscito facilmente a decompilare un assembly. Oltre alla speranza in un prodotto migliore, la notizia è che l'attenzione da parte MS verso la decompilazione c'è. Se poi volete provare un prodotto che alla versione attuale è decisamente più robusto, provate la demo dell'amico...

posted @ lunedì 13 novembre 2006 13:01 | Feedback (3) |

WPC: Sessions++

Ormai è deciso, ho una nuova sessione alla WPC in aggiunta alle tre già preventivate. Massimiliano mi ha convinto a fare da co-speaker ad una sua sessione dove parlerò di sicurezza applicativa. Come si poteva dire di no al compagno di una delle sessioni che mi sono piaciute di più in assoluto

posted @ domenica 12 novembre 2006 13:07 | Feedback (0) |

TechEd '06. Pensieri e riflessioni a freddo.

L'esperienza è stata molto positiva. Le sessioni di cui conoscevo gli argomenti anche in profondità sono comunque servite a vedere il punto di vista dello speaker o a catturare alcuni tip Le sessioni di cui non conoscevo gli argomenti sono state un'ottima occasione per bruciare le tappe dell'apprendimento. La presenza alla ATE mi è piaciuta, compresa una improvvisata mini-sessione con tanto di lavagna su Collection e DataSet che sarà l'oggetto del mio pomeriggio di Giovedi alla WPC. Altre persone attorno si sono lasciate prendere dalla discussione ed entusiasmate dall'impostazione della mia nuova collection Il party italiano è stato molto bello e un grazie a Sara...

posted @ sabato 11 novembre 2006 19:52 | Feedback (2) |

TechEd '06: chiudo con il team di WPF

La mattinata di Venerdi si chiude con due piacevolissimi incontri: Bea Costa, la più fantastica blogger su WPF e Rob Relyea, Lead Program Manager di WPF. Se vi piace WPF e non conoscete i loro blog, vi state perdendo qualcosa di fantastico. Con piacere Rob si ricorda di alcune mie domande che gli avevo posto sugli MSDN Forums, con particolare riferimento alla serializzazione XAML e le markup extension che saranno uno degli argomenti di cui parlerò alla WPC nella sessione su XPS. Mi conferma un bug che è presente anche nella RTM ... solo una questione cosmetica quindi poco male... il resto devo ancora...

posted @ sabato 11 novembre 2006 19:08 | Feedback (6) |

Performance e scalabilità in applicazioni distribuite

Ancora una volta io e Mauro sulla stessa track a seguire Ingo Rammer sulle performance di applicazioni distribuite. Una sessione pratica tutta su tool e best practices: sniffer, profiler di memoria, profiler sql, etc. Particolarmente interessante la parte di comparazione di diverse web grid commerciali. Di solito pensiamo ad ottimizzare solo la nostra applicazione ma gli stessi controlli che usiamo hanno ovviamente un impatto tutt'altro che trascurabile. Alcune arrivano ad occupare ben 24MB di memoria, altre solo 3MB, menre la gridview standard occupa 169K ed infine eseguendo il rendering a mano 43K. È Ingo Rammer a dirlo e quindi non flammatemi. Usare le stored...

posted @ venerdì 10 novembre 2006 10:00 | Feedback (2) |

Il Framework.NET e Mono: una chiaccherata con Miguel De Icaza

Dopo i recenti accordi tra Microsoft e Novell, le mie considerazioni hanno avuto conferma dallo stesso Miguel. L'anno scorso alla PDC di Los Angeles Miguel mi aveva espresso l'intenzione di divergere dal Framework e che lo sviluppo di Mono sarebbe andato per la sua strada non seguendo più le orme degli sviluppi del framework. Ieri sera ho ricordato la nostra conversazione a Miguel e gli ho dettro che visti i recenti accordi tra Novell e Microsoft lo sviluppo fosse destinato ad essere invece parallelo in modo da permettere allo sviluppatore managed di far girare le sue applicazioni su Windows o sugli...

posted @ venerdì 10 novembre 2006 09:48 | Feedback (6) |

Garbage Collector e performance

Dopo la lunga ATE, Mauro ed io ci buttiamo in sessione sulle performance del GC tenuta da Claudio Caldato. Mauro ha documentato in modo superdettagliato la sessione quindi mi limito ad alcune cose che mi hanno catturato l'attenzione. - Ngen. È importante ricordare che uno dei vantaggi è che permette la condivisione delle dll tra appdomain e processi. Tutto questo però solo se non viene fatto il rebasing della dll. Il rebasing è facile che accada visto che non ci sono settaggi in VS.NET per indicare l'indirizzo di caricamento della dll. Il rebasing abbatte il vantaggio in performance di Ngen e comporta l'impossibilità...

posted @ giovedì 9 novembre 2006 18:33 | Feedback (1) |

Ask The Expert Day

Oggi ho passato tutta la giornata a rispondere alle domande degli attendee allo stand di Visual Studio di Microsoft, perciò niente sessioni. La giornata è stata comunque interessante chiaccherando con altri MVP, Speaker e i molti personaggi dei team che sono venuti da Redmond per rispondere ai presenti.Tra i più famosi, Christian Weyer, Clemens Vasters, Ingo Rammer, Rob Relyea, Christian Nagel e ovviamente Lorenzo Barbieri e Davide Vernole . Tra le domande più frequenti a cui ho risposto ci sono (in ordine di quantità): Linq (grazie anche al self training con una sessione di Anders Hejlsberg), Dataset vs Collections (che suscita sempre grosse...

posted @ giovedì 9 novembre 2006 18:32 | Feedback (0) |

Workflow con Paul Andrew

È direttamente il PM di workflow a fare la sessione sulle custom activities. Belle spiegazioni per concetti che era già consolidati nel tanto materiale disponibile su MSDN magazine, help e http://wf.netfx3.com/. Sulle custom activities i concetti erano sostanzialmente gli stessi di quelli che avevo presentato alla mia sessione al workshop Winfx. Adesso si stacca e stasera il party italiano con i special guest del team di VC++.

posted @ mercoledì 8 novembre 2006 19:03 | Feedback (0) |

Scalabilità e performance in Workflow Foundation

La sessione di Matt Winkler è una raccolta di tips & tricks molto interesanti. - Le activity vengono serializzate spesso (per esempio durante una transazione) e quindi se hanno un reference alla nostra entity, verrà serializzato tutto. Per questo motivo è meglio mantenere un Id alla entity piuttosto che il reference stesso. - L'uso di SharedConnectionWorkflowCommitWorkBatchService è fortemente consigliato per evitare l'uso del dtc (transazioni distribuite) quando si usa lo stesso database sia per il tracking che per la persistenza.... probabilmente la maggioranza dei casi. - Limitare il numero di DefaultWorkflowSchedulerService.MaxSimultaneousWorkflows a seconda dei thread disponibili - Se è importante vedere nel db di tracking...

posted @ mercoledì 8 novembre 2006 16:31 | Feedback (1) |

Performance e Garbage Collector

Lo speaker per le performance del garbage collector è Claudio Caldato, un Italiano a Redmond  con cui io e Mauro abbiamo scambiato quattro chiacchere prima della sessione. Il primo argomento è quello dei Performance Counters. I due contatori principali sono % Time in GC e Allocated bytes/sec che viene aggiornato solo dopo la garbage collection. Poi viene il numero di collection nelle tre generazioni il cui rapporto ideale è 10:1 tra le generazioni 1 e 2. A ruota gli altri contatori su cui Claudio fa una panoramica. Poi si passa alle OutOfMemory exceptions che oltre alle cause più ovvie possono anche essere...

posted @ mercoledì 8 novembre 2006 14:33 | Feedback (0) |

Security, ADFS e cardspace

Ieri non ce l'ho proprio fatta a bloggare ma la sessione di Keith Brows su Active Directory Federation Services di W2K2 R2 e cardspace. Il succo tecnico lo rimando agli articoli dello stesso Keith su MSDN magazine. Mi è piaciuto particolarmente l'uso di ADFS per risolvere gli annosi problemi di trust relationship monodirezionale per le macchine in DMZ. Su Cardspace tutti concetti di base ma con qualche tip molto interessante per una tecnologia che potrebbe rivoluzionare l'autenticazione su internet come il tcp/ip ha rivoluzionato la comunicazione. Comunque ottimi spunti per riflessioni su blog e articoli al termine della conference.

posted @ mercoledì 8 novembre 2006 11:15 | Feedback (0) |

Hardcode .NET Production Debugging

Splendida sessione di Ingo Rammer sulle tecniche avanzate di debugging per codice managed in produzione che ripercorre le stesse tecniche lette più volte sugli articoli e sul libro di Robbins. La sessione inizia con una panoramica di Windbg usato per debuggare una applicazione che parte ma non fa apparentemente nulla. Grazie alle estensioni SOS (Son Of Strike) si riescono ad avere informazioni sul codice managed e i dettagli dell'eccezione che non ha permesso alla applicazione di partire. Per la cronaca le estensioni SOS sono utilizzabili anche da VS.NET e sono veramente preziose. Sui circa 200 comandi di Windbg, Ingo riesce a limitare...

posted @ mercoledì 8 novembre 2006 09:54 | Feedback (0) |

Barzaus al TechEd

L'abbiamo beccato, c'è anche lui!!!

posted @ mercoledì 8 novembre 2006 09:50 | Feedback (3) |

WPF o DirectX?

Bella sessione sulle differenze di usabilità tra WPF e DirectX. Dopo aver mostrato l'architettura delle due tecnologie la conclusione è che DicrextX è vincente in Direct3D per le applicazioni che hanno molto più controllo, giochi che richiedono piena immersione e massima prestazione computazionale.   A WPF rimane comunque un amplissima gamma di applicazioni ad alto uso di 2D e 3d e giochi con un livello di grafica non elevatissimo.

posted @ martedì 7 novembre 2006 18:05 | Feedback (0) |

Keynote e ATE al TechEd

Lo start del Martedi è stato a base di Eric Rudder che ha dato alcuni annunci che hanno già fatto il giro del mondo: http://www.microsoft.com/presspass/press/2006/nov06/11-062007OfficeRTMPR.mspxhttp://www.microsoft.com/presspass/press/2006/nov06/11-06MSVisualStudioPR.mspxhttp://www.microsoft.com/downloads/details.aspx?FamilyID=7614fe22-8a64-4dfb-aa0c-db53035f40a0&DisplayLang=en Poi siamo fuggiti alla ATE dove per me, Lorenzo e Davide abbiamo passato la mattinata a rispondere alle domande degli attendee. Manco a farlo apposta mi sono venuti a chiedere cosa ne pensavo tra dataset e custom entities . E a questo punto non ho potuto evitare di aprire il mio portatile con la nuova collection fresca fresca e pronta per la WPC. Proprio ieri sera al party MVP sono stato coinvolto in una diatriba tra dataset e custom...

posted @ martedì 7 novembre 2006 15:35 | Feedback (0) |

Preconference su Workflow Foundation

La lunga preconfernce su Workflow Foundation di Ingo Rammer e Christian Weyer è andata bene. Il profilo decisamente basso, ma è giusto perché per molti era la prima volta che ascoltavano questo argomento. Dopo l'intro di Weyer, abbiamo visto i servizi di persistenza e tracking. Poi la parola a Rammer per le custom activities, la validazione, le macchine a stati e il designer .... il che mi ha dato molta soddifazion perchè i concetti erano pari pari quelli della sessione che ho erogato a Gennaio su WF. L'applicazione che eseguiva il rehosting del designer non permetteva drag&drop nè property box al contrario della mia demo . In conclusione...

posted @ lunedì 6 novembre 2006 19:17 | Feedback (0) |

Teched partito

La preconference di Rammer e Weyer su Workflow Foundation  è partita. È Weyer in questa prima ora a parlare dei concetti di base di  WF. In sostanza una lunga panoramica sullo scopo di Workflow, le activities, i servizi, le rules, etc. La sessione è tuttora in corso e a breve il break del pranzo...

posted @ lunedì 6 novembre 2006 13:49 | Feedback (3) |

WPC 2006

Anch'io come Corrado quest'anno come l'anno scorso avrò il grande privilegio di essere tra gli speaker di tre sessioni di argomenti che mi appassionano particolarmente. Giovedi 16 Novembre, 08:00 - 09:15Realizzare applicazioni sicure con .NET Giovedi 16 Novembre, 15:30 - 16:45DataSet vs Custom Entities Venerdi 17 Novembre, 08:00 - 09:15XML Paper Specification (XPS): creare documenti da programma Il materiale è fresco fresco, finito di preparare pochi istanti fa, visto che domattina si parte per Barcelona alla volta del TechEd Developers '06.

posted @ domenica 5 novembre 2006 01:37 | Feedback (2) |

Microsoft, Novell, Linux e Mono

Che se ne fa uno sviluppatore di uno storico annuncio tra Microsoft e Novell? http://linux.slashdot.org/linux/06/11/02/1957252.shtmlhttp://www.microsoft.com/presspass/press/2006/nov06/11-02MSNovelFAQ.mspx Il succo è un accordo per promuovere l'interoperabilità tra Windows e Suse in materia di virtualizzazione (cioè il futuro del 90% dei server), gestione web services (servizi di directory) e compatibilità tra formati documentali (Office e OpenOffice). Il tutto senza calpestare o rinnegare i principi dettati dalla licenza GPL che definirei la parte più estremista dell'open world.Ovviamente c'è molto di più, e ai link ci sono tutti (tanti) dettagli. A lato pratico di grosso c'è la cooperazione dei tecnici che formeranno un gruppo congiunto di sviluppo ma soprattutto che ciascuna...

posted @ venerdì 3 novembre 2006 22:28 | Feedback (2) |

Collection e container

Sempre riguardo alla famigerata collection v2.0, una delle scelte a cui mi sono trovato davanti è stata quella del container: array o lista dinamica. Le collection del framework come List<T> e derivati usano tutte l'array come container. La scelta è tutt'altro che ovvia perché naturalmente ciascuna delle due ha i suoi pro e i suoi contro. Array accesso random e sequenziale super-performante l'aggiunta di elementi richiede la riallocazione dell'array e il loro travaso (tipo redim tanto per capirci) e quindi molto penalizzante la cancellazione elementi richiede di far scalare gli elementi nell'array a meno di non gestirli a macchia di leopardo ma con la necessità...

posted @ mercoledì 1 novembre 2006 13:12 | Feedback (7) |

Clonare oggetti: shallow o deep?

Una chiarissima discussione sull'argomento si è già sviluppata su blog di Brad Abrams:http://blogs.msdn.com/brada/archive/2004/05/03/125427.aspx In tanti sostengono la necessità di eseguire una deep copy, cioè la copia dell'oggetto e di tutto il grafo che sta sotto l'oggetto stesso (se l'oggetto A mantiene una collection di oggetti B, la deep copia anche tutti i B ed eventuali ulteriori ramificazioni).La shallow copy è invece la copia del solo oggetto candidato alla copia, lasciando che l'oggetto e la sua copia abbiano dei reference che puntino ai medesimi sotto-oggetti. In molti casi la deep è quantomeno ammaliante, perché così evito almeno incroci pericolosi di reference. Di primo acchito quindi...

posted @ mercoledì 1 novembre 2006 00:15 | Feedback (2) |

Powered by:
Powered By Subtext Powered By ASP.NET