dicembre 2004 Blog Posts
Oggi ho sostenuto l'esame 70-316 (Developing and Implementing Windows-Based Applications withMicrosoft Visual C# .NET and Microsoft Visual Studio .NET) ottenendo lo score di 1000/1000.A questo punto i complimenti vanno ad Andrea che, per la mia sessione su asp.net security a Melzo, mi aveva regalato la maglietta “Le so tutte“ :-D
Il .NET Framework si è lasciato alle spalle il triste problema noto come DLL Hell.
Non poche volte ho usato il già famoso sito Microsoft dedicato alla soluzione dei problemi di DLL Hell:http://support.microsoft.com/servicedesks/fileversion/dllinfo.asp?fr=0&sd=msdn
Questo però non lo conoscevo ancora e devo dire che è impressionante per dimensioni del database:http://www.dynamiclink.nl/frames/dll.htm
Praticamente si può cercare il nome del file dll/ocx/sys/vxd/inf e risalire al produttore, versione, descrizione, etc.
Attenzione però che gli spyware/adware sono avvezzi a rinominarsi con nomi che non gli appartengono!
Odio fare post di soli link, ma questo sito portato avanti da un MVP esprime già nell'url un concetto che condivido al 100%:
http://www.readthefuckingmanual.co.uk
In riferimento alla giusta raccomandazione di Fabio che fa seguito al mio post su XmlHttp, mi preme aggiungere un concetto che avevo già ribadito a Luglio 2003 nel newsgroup microsoft.public.it.dotnet.asp.
XmlHttp è lo strumento giusto se lo si usa sul client ma attenzione a non usarlo dentro una applicazione server come asp.net. Questa limitazione è dovuta al fatto che usa la libreria Wininet che tra le altre cose limita le connessioni contemporanee.
Questo è il motivo per cui esiste ServerXmlHttp che è un ottimo sistema per dialogare tra un'applicazione asp ed una asp.net.
Come ho visto il post di Andrea sono subito andato a vedere il sorgente dello script di Google Suggest e con piacere ho visto confermare la mia ipotesi, cioè l'uso del componente XmlHttp.
È dai tempi di asp che mi dilettavo a eseguire il binding con la <table> sul lato client e prelevare/aggiornare recordset disconnessi dal server via XmlHttp. Correvano gli anni in cui continuavo a tenere in aula il mitico corso 1017A (Mastering Web Application Development using Visual Interdev) opportunamente modificato (chi lo conosce sa di cosa parlo) ed uno dei sample che avevo sviluppato ad-hoc usava proprio XmlHttp per...
Io e Andrea abbiamo appena ricevuto una mail da Dino e personalmente la stavo per prendere come una divertente sfottitura al giustificato panico da injection che si sta diffondendo.
Invece è una cosa serissima e invito tutti a leggere il suo post.
In riferimento al mio precedente post, se effettivamente come penso Microsoft chiuderà la richiesta di Paolo come “by design”, questo riduce notevolmente le possibilità di usare StackTrace e compagnia bella dentro le applicazioni.
L'unico modo sicuro per ovviare al problema dell'inlining rimane quello di impedire che avvenga. I creatori del framewor, così come avviene in ogni piattaforma/compilatore ci hanno pensato e la cosa è fattibile in pieno stile dotnet. È sufficiente infatti decorare tutti i metodi che si vogliono risalire con StackTrace con questo attributo:
[MethodImplAttribute(MethodImplOptions.NoInlining)]
Resta il fatto che le performance possono rimanere seriamente degradate dal mancato uso di inlining, tanto più...
Penso proprio di avere la soluzione in tasca, ma come sempre è meglio confrontarsi con gli altri e quale posto migliore del blog? Anticipando le conclusioni non sono così convinto che si tratti di bug... perlomeno è discutibile.
Il tutto è originato da un post di Paolo suggeritomi da Cristian su cui ho fatto un po' di ricerche un paio di giorni fa a seguito del quale anche Marco (nei commenti del mio post) appoggiava la mia tesi.
Mentre questo pomeriggio rimuginavo sulla frase riportata su MSDN: "StackTrace might not report as many method calls as expected, due to code transformations...
Incuriosito da questo post di Paolo segnalatomi da Cristian, non ho resistito a fare qualche test.
Il problema l'ho potuto riscontrare anch'io e quindi ho cominciato a debuggare in assembler per vedere se c'erano differenze macroscopiche.Per poter debuggare una versione release c'è il solito trucco di iniettare l'istruzione int 3 in assembler e così ho fatto con una micro dll di appoggio in C++. Immediatamente ho potuto riscontrare che il problema non si presentava più e sistematicamente ogni volta che tentavo di iniettare il codice il problema spariva.
Quindi mi è venuto il dubbio potesse essere un problema di passaggio parametri e...
Si chiamano Community Technology Preview, sono delle versioni meno stabili delle più note beta, e te le devi scaricare. Questo è masochismo allo stato puro!
Ma il software è un po' come il pesce, dopo un po' che sta lì puzza e così resto speranzoso di una nuova release.È per questo che ho messo in download 4,5GB di software e meno male che ho un abbonamento MSDN Universal, altrimenti ... :-)
Ma quando si tratta di pre-release è noto che non mi tiro indietro e così via di corsa a scaricare SQL Server 2005 CTP e la versione di VS.NET 2005 ad-hoc per...
La possibilità di downloadare gratuitamente la versione standard o enterprise è un'offerta a tempo limitato.
Per cui chi è abbonato MSDN è meglio che si affretti a scaricarlo e ottenere la product key necessaria.
Chi l'ha provato in modo 'pesante' mi garantisce prestazioni di gran lunga superiori a Virtual PC ... io ho già cominciato a spostare le mie macchine virtuali ;-)
È una delle domande più ricorrenti ... è meglio usare C# o VB.net? Mamma mia in che post mi sono cacciato!
Allora preciso subito alcune cose:
entrambi i linguaggi avranno (a mio avviso) vita lunga, direi lunghissima
non ci sarà mai modo di dare un giudizio che obbiettivamente riconosca uno dei due come avvantaggiato in senso assoluto
probabilmente la divergenza tra i due tenderà ad aumentare
Queste sono le (mie) risposte quando mi vengono rivolte queste domande.
Però da tante cose che leggo ho la convinzione che la strategia nei cambiamenti di VB.net è di andare sempre di più in direzione degli strumenti RAD (Rapid Application Development) mentre...
Domanda semplice, risposta non altrettanto banale.
Ho trovato infatto molto utile la Microsoft Time Zone Utility che mi permette di sapere velocemente se è l'ora giusta per contattare amici o per partecipare alle chat che si svolgono dall'altra parte del globo.
L'utility si aggiunge alle icon della tray bar (ancora un'altra!) e al click mostra un baloon con i time zone scelti.
Non c'è dubbio, è stato un workshop di grande successo e i complimenti vanno proprio a tutti: Andrea non solo come speaker ma anche come organizzatore dell'evento, Lorenzo con la sua vena grintosa (ho visto quelli della prima fila preoccupatissimi ;-)), Adrian che ha messo in luce argomenti troppo sottovalutati, e poi ancora Marco, Luca e Omid anche se non ho potuto seguirli. Non mi sono dimenticato di Francesco, ma lui ovviamente è fuori classifica :-)
Poi naturalmente il ringraziamento va a tutti coloro che hanno partecipato dimostrando che il nostro User Group è in ottima salute superando in oltre 200...