• GDI – Leak – WinCE – C#

    Suona strano avere dei memory leak in codice gestito ma sono molto più frequenti di quello che si possa pensare. Alcune settimane fà ho tenuto una sessione di code review presso un mio cliente e ho speso alcuni giorni a sistemare diversi memory leak su una programma scritto in C# per Windows CE.

    Quello che bisogna tenere a mente che tutti gli oggetti GDI (Bitmap, Font, Brush, Pen, ecc.) di C# in realtà sono dei wrapper sopra oggetti Win32. Tali oggetti sono referenziati tramite Handle e devono essere rilasciati. Il GC non lo fà per voi in modo automatico perchè semplicemente non li può gestire. Sopratutto nelle applicazioni mobile, in cui le risorse sono limitate, bisogna porre particolare attenzione a questo.

    Durante la sessione di debug ho utilizzato questo tool (GDIView) che mi ha aiutato a verificare quali handle non venivano rilasciati.

    Alcuni consigli pratici:

    • Richiamare sempre il Dispose di tutti gli oggetti grafici utilizzati, meglio ancora usare sempre la keword “using” per richiamare sempre in modo implicito il Dispose, esempio:
       1: SolidBrush fillBrush = new SolidBrush(Color.White);
       2: graphImage.FillRectangle(fillBrush, 0, 0, UI_CLIENT_WIDTH, UI_HEIGHT);
       3: fillBrush.Dispose();
       4:  
       5: // or
       6:  
       7: using(SolidBrush fillBrush = new SolidBrush(Color.White))
       8: {
       9:     graphImage.FillRectangle(fillBrush, 0, 0, UI_CLIENT_WIDTH, UI_HEIGHT);
      10: }
      11:  

     

    • Quando si riassegna una Bitmap assicurarsi che l’oggetto precedente sia deallocato, esempio:
       1: // wrong
       2: picCapture.Image = new Bitmap(32, 32);
       3:  
       4: // good
       5: if(picCapture.Image != null)
       6:     picCapture.Image.Dispose();
       7: picCapture.Image = new Bitmap(32, 32);

     

    • Quando si utilizza una Image contenuta in una ImageList è bene ricordare quanto esposto su MSDN: “The returned bitmap is a copy of the original image and should be disposed of using the Image.Dispose method.”. In altre parole tutte le get da una ImageList clonano una nuova immagine che deve essere rilasciata tramite un Dispose!
    • Quando si utilizzano direttamente le funzioni native Win32 porre attenzione se queste ritornano una nuova istanza di una risorsa in memoria. Leggere attentamente la loro documentazione!
    • Ogni volta che si alloca memoria tramite funzioni native Win32 è vostra responsabilità deallocarla.
    • Quando si crea un nuovo oggetto non gestito, salvare il riferimento (handle) in una variabile non accessibile dall’esterno. Se per qualsiasi motivo il riferimento viene sovrascritto non sarà più possibile deallocare correttamente la risorsa non gestita.

    Pubblicato mercoledì 4 marzo 2009 da Mirco Vanini - Categoria - - Commenti 0
  • Il vero programmatore …affronta tutte le sfide

    SilverlightGame"Il vero programmatore …affronta tutte le sfide" è questo il titolo di un post su HTML.it che presenta un gioco (architettato da Microsoft e HTML.it) e interamente sviluppato in Silverlight dove si ha la possibilità di vincere uno sconto del 40% su Visual Studio 2008 Professional con MSDN Premium.

    Per giocare il link è il seguente: Defy All Challanges

    Il gioco vi permette di muovervi in questo ambiente alla ricerca di oggetti che vi permettarrno di avvicinarvi alla vicinta, ma per guadagnarveli dovrete rispondere a domande riguardanti Visual Studio e non solo.

    Questo, oltre ad essere un gioco e un'oppurtunità per ricevere uno splendido premio, è un'ulteriore dimostrazioni delle possibilità che Silverlight offre.

    Pubblicato lunedì 16 febbraio 2009 da Andrea Dottor - Categoria - - Commenti 0
  • System Meter Chart – .Net Micro Framework

    Finalmente in questi giorni di “festa” sono riuscito a trovare qualche ora di calma da famiglia, figlie, clienti, rogne, ecc. per effettuare il porting del controllo System Meter Chart da .NET Compact Framework (CF) a .NET Micro Framework (MF). Questa è stata una buona occasione per “toccare con mano” le diversità tra i due ambienti per quello che riguarda la progettazione di user control. Il .NET MF supporta una versione ridotta (molto) di WPF e la gestione / progettazione dei controlli ovviamente è diversa tra i due ambienti. Nel caso specifico (.NET MF) ho implementato un Control (UIElement) che si espone come oggetto WPF. 

     

    Nelle applicazioni MF con presentation esistono due thread, il primo creato del programma per la gestione degli I/O, periferiche, ecc. mentre il secondo è creato ed utilizzato internamente dal CLR per le varie operazioni di UI (ridisegno degli elementi di UI come i controlli, le finestre, ecc.). Questo secondo thread è chiamato anche Dispatcher e il suo scopo è quello di accedere in modo “sicuro” ai vari elementi della UI. Per maggiori informazioni vi consiglio di leggere 'Using the Dispatcher’.

    L’esempio di utilizzo del controllo usa un timer per l’assegnazione di valori random da 0 a 100. Essendo il timer asincrono rispetto all’interfaccia utente, per le operazioni di invalidate interne del controllo, è necessario chiamare BeginInvoke  per far si che il controllo grafico sia acceduto dal thread principale. La scelta di BeginInvoke è preferibile rispetto a Invoke così da poter liberare il thread del timer al più presto senza attendere il termine dell’esecuzione del gestore dell’evento.

    L’esempio utilizza i 5 tasti presenti nell’emulatore del .NET MF, in dettaglio:

    • Tasto Up abilita la visualizzazione in “Stick Mode”
    • Tasto Down abilita la visualizzazione in “Line Mode”
    • Tasto Left abilita la visualizzazione in “NoGrid”
    • Tasto Right abilita la visualizzazione in “Grid”
    • Tasto Select abilita / disablita la visualizzazione del Gradient

    Di seguito riporto alcune immagini delle modalità supportate dal controllo

     

    Non nego che sono sempre più entusiasta del MF, penso solo a quanto codice avrei dovuto scrivere per realizzare lo stesso controllo su un’altra tipo di scheda non MF magari con un compilatore C++ proprietario. Seconda osservazione, la portabilità del codice da una piattaforma MF all’altra, infatti nell’esempio non ho utilizzato nulla di proprietario della mia scheda GHI ma solo chimate “standard” del MF 3.0. Come ultimo punto vorrei rimarcare l’integrazione del MF con Visual Studio,  si riesce a sviluppare ed eseguire il debugging dell’applicazione sia con l’emulatore che direttamente sulla scheda collegata via USB. Questo permette l’analisi sotto debugger di scenari che difficilmente sarebbero ripetibili tramite un emulatore e con una serie di comodità come solo i progammatori di Visual Studio sono abituati.  Ovviamente le schede che supportano MF non sono schede su cui la battaglia si gioca sui centesimi ma quello che da a disposizione MF ripaga anche il relativo costo.

    In questo link potete scaricare lo zip dei sorgenti del programma di esempio.

    Pubblicato sabato 3 gennaio 2009 da Mirco Vanini - Categoria - - Commenti 0
  • DLL - Import

    Se dovete collegare codice nativo e/o Win32 API a C# / VB.NET consiglio vivamente questo sito.

    Pubblicato sabato 6 dicembre 2008 da Mirco Vanini - Categoria - - Commenti 0
  • Community Meeting - .NET Compact Framework

    Volevo ringraziare tutti i partecipanti, Xe.Net ed 1nn0va per l'opportunità che mi hanno concesso. A breve metterò in linea il materiale del meeting.

    Come sempre un ringraziamento "speciale" ad Andrea Boschin per il supporto materiale e morale.

    Pubblicato sabato 6 dicembre 2008 da Mirco Vanini - Categoria - - Commenti 0
  • ActiveSync - GuestOnly

    Chi collega e scollega device tutto il giorno al proprio PC, si sarà chiesto se vi è la possibilità di disattivare la richiesta di creazione relazione da parte di ActiveSync. Sicuramente l'impostazione di relazione va bene per sincronizzare mail, appuntamenti, ecc. ma non sicuramente per le sessioni di debug.

    Ecco allora la chiave del registry da modificare:

    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows CE Services]
    "GuestOnly"=dword:1

    Ovviamente per ripristinare la richiesta di relazione basta impostare "GuestOnly a 0 (zero)

    Pubblicato sabato 6 dicembre 2008 da Mirco Vanini - Categoria - - Commenti 0
  • System Meter Chart PDA

    Durante lo sviluppo di un progetto mi sono imbattuto nella necessità di realizzare un controllo per PDA che rapresentasse l'andamento di un valore nel tempo. Come "fonte di ispirazione" ho utilizzato la visualizzazione della "cronologia utilizzo CPU" del task manager.

    Dopo un pò di lavoro sono riuscito a "confezionare" un controllo che ne mima il comportamento. Ho esteso un pò il grafico prodotto permettendo la gestione dello stesso sia tramite line che stick.

    Il controllo utilizza un sistema di  "Double Buffering" con una bitmap offline in cui viene effettivamente disegnato il grafico. Questo ovviamente per evitare il flickering che inevitabilmente sarebbe comparso.

    Tutto questo perchè su .Net CF i controls non supportano il double buffer nativamente, per esempio in .Net è possibile attivarlo tramite il seguente codice:

       1: public void EnableDoubleBuffering()
       2: {
       3:    // Set the value of the double-buffering style bits to true.
       4:    this.SetStyle(ControlStyles.DoubleBuffer | 
       5:                  ControlStyles.UserPaint | 
       6:                  ControlStyles.AllPaintingInWmPaint,
       7:                  true);
       8:    this.UpdateStyles();
       9: }

    Di seguito riporto un print screen del programma demo e il link in cui trovare il medesimo.

     

    Sorgenti Progetto di esempio

    Buone "misurazioni" a tutti :)

    Pubblicato venerdì 7 novembre 2008 da Mirco Vanini - Categoria - - Commenti 0
  • .NET Micro Framework V3.0 RC0 !

    Il team di .Net Micro Framework ha annunciato la disponibilità della RC0 del nuovo SDK 3.0 scaricabile da Connect, di seguito riporto le novità saliente presenti nella RC0:

     

    • Supporto per VS 2008 SP1
    • Supporto per Visual C# Express edition!!!
    • File System (anche su emulatore!)
    • Miglioramenti significativi per quanto riguarda DPWS
    • Supporto per il WiFi (hw permettendo)
    • Ottimizzazione delle performance
    • Nuovi esempi e documentazione aggiornata

    Forse è la volta buona che butto via la mia Virtual Machine con VS2005 :)

    Pubblicato martedì 7 ottobre 2008 da Mirco Vanini - Categoria - - Commenti 0
  • AddHeader - ISAPI

    Durante lo sviluppo di una ISAPI filter mi è capitata la necessità di creare una variabile server IIS durante la gestione della notifica SF_NOTIFY_AUTHENTICATION.

    Peccato che in questa notifica il parametro pvNotification passato da IIS sia di tipo PHTTP_FILTER_AUTHENT e non vi sia il modo di recuperare la struttura di tipo PHTTP_FILTER_PREPROC_HEADERS che contiene il metodo AddHeader.

    Dopo un po' di tentativi ho percorso questa strada:

     

    1. Definisco i seguenti typedef e define

       1: #define MYISAPI_HEADER       "MYISAPI-HEADER:"
       2: #define HTTP_MYISAPI_HEADER    "HTTP_MYISAPI_HEADER"
       3:  
       4: typedef BOOL (WINAPI * PAddHeader) 
       5:               (
       6:                 struct _HTTP_FILTER_CONTEXT * pfc,
       7:                 LPSTR                         lpszName,
       8:                 LPSTR                         lpszValue
       9:               );

    2. Nella notifica SF_NOTIFY_PREPROC_HEADERS creo una variabile server che contiene l'indirizzo del metodo AddHeader come nel codice seguente

       1: TCHAR szTmp[256];
       2: sprintf_s(szTmp, sizeof(szTmp), "%08lx", ((PHTTP_FILTER_PREPROC_HEADERS)pvNotification)->AddHeader);
       3: if(((PHTTP_FILTER_PREPROC_HEADERS)pvNotification)->HttpStatus == 0)
       4: {
       5:     TCHAR szValue[256];
       6:     DWORD dwValue = sizeof(szValue);
       7:  
       8:     *szValue = 0;
       9:     ((PHTTP_FILTER_PREPROC_HEADERS)pvNotification)->GetHeader(pfc, MYISAPI_HEADER, szValue, &dwValue);
      10:  
      11:     if(*szValue == 0)
      12:         ((PHTTP_FILTER_PREPROC_HEADERS)pvNotification)->AddHeader(pfc, MYISAPI_HEADER, szTmp);
      13: }
      14: return(SF_STATUS_REQ_NEXT_NOTIFICATION);

    3. Nella notifica SF_NOTIFY_AUTHENTICATION utilizzo la variabile server creata precedentemente nella notifica SF_NOTIFY_PREPROC_HEADERS, eseguo il cast su il pointer a funzione definito nel typedef e la richiamo per impostare una nuova variabile server

       1: TCHAR szValue[256];
       2: DWORD dwValue = sizeof(szValue);
       3:  
       4: *szValue = 0;
       5: pfc->GetServerVariable(pfc, HTTP_MYISAPI_HEADER, szValue, &dwValue);
       6: if(*szValue != 0)
       7: {
       8:     try
       9:     {
      10:         PAddHeader pHeader = (PAddHeader)strtoul(szTmp, NULL, 16);
      11:         if(pHeader)
      12:            (pHeader)(pfc, MYISAPI_USER_ID_LDAP, W2A(pszUidLdap));    
      13:     }
      14:     catch(CException *e)
      15:     {
      16:         DumpException(e)
      17:         e->Delete();
      18:     }
      19: }

     

    Funziona :)

    Pubblicato sabato 27 settembre 2008 da Mirco Vanini - Categoria - - Commenti 0
  • Expert .Net Micro Framework

    Dopo aver acquistato il kit di sviluppo GHI Electronics - Embedded Master Development System ho pensato bene di acquistare un libro dedicato al .NET Micro Framework. Devo dire che sul mercato non c'è tantissimo e alla fine ho deciso di acquistare il libro di Jens Kühner - Expert .Net Micro Framework. Devo dire la verità, sin dall'inizio mi è piaciuto.

    Essendo un amante dei libri cartacei ricevere un libro con copertina rigida, rilegato in modo che non si sfaldi dopo le seconda lettura e stampato su della carta di qualità discreta fa solo che piacere. Oltre all'impressione "estetica" e "fisica" devo dire che è un buon libro, strutturato bene, che prende per mano il lettore e lo porta ad esaminare le varie parti del .Net Micro FW.

    Si parte dalla genesi del Micro FW, ne descrive le varie parti costituenti e fà una rapida carellata sui kit di sviluppo attualmente disponibili. Questa è solo l'introduzione del libro, poi si passa alla "sostanza". Descrive in modo accurato la gestione delle varie porte hardware, il threading disponibile, la crittografia, la comunicazione via socket, per poi arrivare al DPWS (Device Profile for Web Service). Devo dire che forse è il capitolo che mi ha entusiasmato di più, anche se per poterlo utilizzare si deve scrivere un bel pò di codice.

    Si arriva poi alla gestione della localizzazione e sopratutto alla parte di gestione grafica e di user interface. Anche questo capito è degno di nota sopratutto per i semplici ma efficaci esempi riportati.

    Ultima parte ma non per questo meno importante è la gestione dell'emulazione hardware e dei relativi componenti. Ben scritta e documentata sopratutto negli esempi di implementazione di componenti per l'emulazione hardware.

    Che dire ? Sicuramente è un libro ben fatto ed indispensabile per chi vuole partire ed approffondire lo sviluppo con .Net Micro FW.

    Buona lettura a tutti

     

    Technorati Tag: ,

    Pubblicato domenica 14 settembre 2008 da Mirco Vanini - Categoria - - Commenti 0
  • Embedded Master Development System

    Finalmente è arrivata!

    Alla fine mi sono deciso a comprarla (GHI Electronics - Embedded Master Development System), l'ho aperta da qualche giorno e devo dire che il rapporto qualità prezzo mi ha soddisfatto. La confezione si presenta scarna ma il "contenuto" è sicuramente all'altezza delle aspettative.

    Dopo l'installazione del .NET Micro Framework ho ovviamente installato EmbeddedMasterSDK della scheda, non presente nella confezione ma scaricato dal sito. Il setup è andato al primo colpo senza intoppi e/o sorprese. La documentazione e gli esempi forniti nel SDK sono sufficientemente completi, anche se come al solito la documentazione non è mai abbastanza :)

    Dopo un pò di prove con il .NET Micro Framework Deployment Tool sono riuscito a stabilire la connessione tra il PC e la scheda. L'unico intoppo l'ho trovato nell'installazione del Virtual Com Port Drive per la parte di debug, dopo vari tentati di collegamento andati a vuoto ho scoperto che dovevo cambiare il tempo di latenza (da 16 msec a 1 msec) nell'impostazioni della USB Serial Port.

    Ho scaricato poi le varie patch sia del TinyBooter e del TinyCLR dal sito del costruttore della scheda e le ho installate senza grossi problemi. Gli steps per l'upgrade sono spiegati in dettaglio nella documentazione del SDK.

    Ho poi caricati gli esempi forniti con SDK, compilati, distribuiti e debbugati direttamente sulla scheda. Anche l'emulatore fornito con SDK non è malaccio, tanta scena ma manca tutta la gestione degli I/O della scheda. Sarebbe stato comodo avere un sistema di emulazione degli I/O senza andare per forza su HW

    Bene, adesso sono finalmente pronto a scrivere il mio primo programma su .NET Micro FW.

    Pubblicato giovedì 31 luglio 2008 da Mirco Vanini - Categoria - - Commenti 0
  • Premio STAGE.IT di Confindustria Padova

    Riporto anche in questa sede una notizia pubblicata in questo post
    http://dudevsit.blogspot.com/2008/03/vincitori-premio-stageit-di.html

    Ieri, 13 Marzo 2008, BEDIN Shop Systems srl e lo studente Eric Miotto sono stati premiati dall'ICT Lab di Confindustria Padova per lo stage a maggiore contenuto di innovazione realizzato nell'anno 2007, nel corso della 3a edizione del premio regionale STAGE.IT.

    Il progetto vincitore del premio ha sfruttato il web service Amazon.com Simple Queue Service mediante Microsoft .Net Windows Communication Foundation (WCF). Trovate maggiori dettagli seguendo il link al post originale.

    Pubblicato venerdì 14 marzo 2008 da Davide Bedin - Categoria - - Commenti 0
  • VS2008: Errore connessione a un dispositivo Windows CE senza ActiveSync

    Chi sviluppa su device Windows CE avrà sicuramente letto ed utilizzato la procedura per stabilire una connessione verso un dispositivo Windows CE senza ActiveSync riportata nel seguente articolo (Procedura stabilire una connessione a un dispositivo Windows CE senza ActiveSync). Niente da dire, anzi se non che dopo l'installazione di VS 2008 sullo stesso PC in cui è installato VS 2005 ogni tentativo di stabile una connessione verso il device riporta i seguenti errori:

    VS 2005 Connection failed:0x8973151A

    VS 2008 Connection failed: The version of Comman client running on the device is incompatible with the desktop. Boostrap the device with desktop compatible device binaries and try connectiong again.

    Dopo alcuni tentativi e ricerche infruttuose su internet ho trovato il bandolo della matassa. La parte inerente il device emulator di VS 2008 non è installabile side by side, in altre parole la versione di VS 2005 viene sovrascritta da quella di VS 2008.

    Per ovviare il problema basta copiare nel dispositivo i files aggiornati da VS 2008 contenuti nel percorso.

    C: \Programmi\File comuni\Microsoft Shared\CoreCon\1.0\Target\wce400\<CPU>

    Pubblicato venerdì 7 dicembre 2007 da Mirco Vanini - Categoria - - Commenti 0
  • Rilasciata la versione 1.2 stabile di NHibernate

    03.05.2007 - NHibernate 1.2.0.GA released!

    NHibernate 1.2 is now stable! The new production version has many improvements and features requested by our users in practically every functional area. Download the release from Sourceforge and see the change log for details.

    Pubblicato giovedì 3 maggio 2007 da Moris Bozzetto - Categoria - - Commenti 0
  • Cuyahoga/NHibernate in medium trust support

    I siti che state sviluppando funzionano perfettamente in locale e dopo un deploy danno eccezioni di sicurezza dopo il deploy?

    Molti hoster stanno adottando le guidelines di Microsoft per l'hosting di applicazioni asp.net 2.0, portando il trust a livello di esecuzione a medium.

    Il Medium trust è utile per eseguire più applicazioni in maniera isolata e, utilizzando il code access security, molte funzionalità del framework vanno abilitare esplicitamente nel .config creando specifici trust.

    Nhibernate, alla base di Cuyhahoga, "soffre" di questo limite. Dalla versione 1.2 il problema è stato risolto. Il responsabile è log4net che "potenzialmente" scrive files di log su file system.

    Riferimenti:

    Medium Trust level support
    http://jira.nhibernate.org/browse/NH-442

    Hibernate Forums Index -> NHibernate Users Topic: Security exception when creating Configuration instance
    http://forum.hibernate.org/viewtopic.php?t=951781

    MSDN TV: Working with Medium Trust in ASP.NET
    http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20050317aspnetss/manifest.xml

    How To: Use Medium Trust in ASP.NET 2.0
    http://msdn2.microsoft.com/en-us/library/ms998341.aspx

    ASP.NET 2.0 Hosting Deployment Guide
    http://www.microsoft.com/downloads/details.aspx?familyid=9e33ea25-666c-47fa-ac52-8d04785c4bd2&displaylang=en

    Security Guidelines for ASP.NET 2.0.
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/PAGGuidelines0001.asp

    ASP.NET 2.0, AllowPartiallyTrustedCallers ed il medium trust
    http://blogs.aspitalia.com/daniele/post1667/ASP.NET-2.0-AllowPartiallyTrustedCallers-Medium-Trust.aspx

    Pubblicato lunedì 5 marzo 2007 da Marco Trova - Categoria - - Commenti 0
  • Rilasciato Cuyahoga 1.5.0

    Cuyahoga è un framework open source scritto in C# per la creazione di siti web, basato su NHibernate.

    Con la versione 1.5.0 finalmente c'è il supporto ufficiale a .net 2.0. 

    E' una versione intermedia che include il supporto al Castle IoC container per rendere cuyahoga estensibile e flessibile.

    Io uso Cuyhaoga da un paio d'anni, perchè è semplice, efficente e completo (non ho bisogno di migliaia di moduli alla DNN, visto che devo svilupparli per i progetti smile_wink).

    Pubblicato mercoledì 14 febbraio 2007 da Marco Trova - Categoria - - Commenti 0
  • Gemellaggio UgiDotNet - XeDotNet: Errata corrige

    Come sempre la sfiga ci mette lo zampino. Stamane prenotando il ristorante abbiamo scoperto che è chiuso per ferie fino a Sabato 27. Perciò su consiglio di Emanuele del Bono abbiamo deciso di optare per il ristorante "La Passeggiata", Via Don Tazzoli 2, Castellaro Lagusello.

    L'appuntamento perciò rimane invariato: Uscita autostradale di Sirmione, ore 20:30. Al ristorante ci attendono "in preda al panico" per le 20:45. Menù di tutto rispetto!

    Attualmente abbiamo prenotato per 20 persone. Chi si vuole aggregare all'ultimo minuto deve solo dirlo.

    Link: Gemellaggio UgiDotNet - XeDotNet: Errata corrige

    Pubblicato martedì 23 gennaio 2007 da Andrea Boschin - Categoria - - Commenti 0
  • Regalo voucher per esame di certificazione Microsoft [...reprise]

    Luca Del Tongo, che aveva per primo commentato il mio post precedente aggiudicandosi il voucher, mi ha comunicato poco fa di essere diventato un MSP Microsoft Student Partner e che, in quanto tale, ha diritto di sostenere gli esami di certificazione gratuitamente.

    Quindi... rigiro l'offerta alla community! Fatevi sotto!

    Pubblicato sabato 13 gennaio 2007 da Lorenzo Melato - Categoria - - Commenti 3
  • Regalo voucher per esame di certificazione Microsoft

    L'anno scorso, durante il meeting XE.NET in cui era ospite Lorenzo Barbieri per parlaci di Team System, ho ricevuto in regalo un voucher VUE per un esame di certificazione Microsoft.

    Purtroppo a causa di troppi impegni e troppo lavoro, non sono riuscito a prepararmi per tempo e il voucher scade il 28/02/2007.

    Quindi, se a qualcuno dovesse interessare, lo rimetto a disposizione della community... facciamo che il primo che lascia un commento con un recapito si accaparra il tagliando.

    Requisito essenziale: essere membri della community XE.NET.

    Pubblicato mercoledì 10 gennaio 2007 da Lorenzo Melato - Categoria - - Commenti 3
  • Gemellaggio UgiDotNet - XeDotNet

    Dopo una luuuuunghissiiima pausa torna finalmente la cena dell'Asino. Il 26/1/2007, in quel di Castellaro Lagusello si terrà un gemellaggio tra UgiDotNet e XeDotNet attorno ad un piatto adorno di Stracotto d'Asino, risotto con funghi e salamelle e quant'altro.

    L'appuntamento è all'uscita di Sirmione alle ore 20:30. Da li i convenuti si sposteranno vero il ristorante "La Pesa", già teatro di altri duelli culinari storici...

    Chi vuole aggregarsi non ha che da dirlo...

    Link: http://blog.boschin.it/archive/2007/01/09/4727.aspx

    Pubblicato martedì 9 gennaio 2007 da Andrea Boschin - Categoria - - Commenti 1
  • Grazie a tutti!

    Questo Natale lo ricorderò per molto, molto tempo. E' un Natale di cambiamenti e di crescita; è il mio primo Natale da sposato, ma è anche il primo Natale da Libero Professionista.

    E' anche il primo Natale di XeDotNet, che ritengo un'iniziativa veramente esaltante. In questo anno la nostra "piccola" community ci ha fatto diventare "grandi", e per quanto mi riguarda, ha fatto crescere la voglia di intraprendere la Libera Professione, forse perchè a contatto di persone entusiaste più che del proprio lavoro, della propria passione per tutto ciò che è sviluppo di soluzioni informatiche.

    Con questo post volevo ringraziare tutti voi che avete letto, e con mio estremo piacere vedo che siete in tanti, i miei articoli.

    E' grazie a tutti voi che sono stato premiato con la Visual Studio Team Suite Subscription, che mi permetterà di tenermi aggiornato per un anno su tutti i prodotti Microsoft.

    E' quindi con un ideale abbraccio che ringrazio tutti, ed auguro Buon Natale a voi ed alle vostre famiglie!

    Pubblicato giovedì 21 dicembre 2006 da Davide Senatore - Categoria - - Commenti 1
  • PDC 2007 a Los Angeles

    Da un post di Brad Adams leggo l'annuncio della data e location della prossima Professional Developer Conference, prevista per l'Ottobre 2007 a Los Angeles.
    Manca ancora un po' di tempo ma è bene pensarci su, avendo partecipato alla edizione 2000, 2003 e 2005 posso confermare per esperienza personale che sono eventi che valgono ogni singolo centesimo.

    [riportato da questo post].

    Pubblicato mercoledì 13 dicembre 2006 da Davide Bedin - Categoria - - Commenti 0
  • Offerta di Lavoro

    L'azienda presso cui lavoro ha iniziato una selezione per la ricerca di nuovo personale nel settore sviluppo del quale sono responsabile. I requisiti richiesti sono i seguenti:

    • Buona conoscenza ASP.NET 2.0
    • Linguaggio C# 2.0
    • SQL Server 2000/2005
    • Familiarità con paradigmi Object Oriented
    • Predisposizione al lavoro di gruppo

    La sede di lavoro è Noventa di Piave e il contratto offerto è a tempo indeterminato. Il lavoro verterà sulla manutenzione e sviluppo di una soluzione esistente sullo sviluppo con nuove tecnologie quali .NET Framework 3.0.

    Per informazioni contattatemi sul mio .

    Pubblicato giovedì 7 dicembre 2006 da Andrea Boschin - Categoria - - Commenti 1
  • NHibernate Generics per NHibernate 1.0.3.0

    E' disponibile sul sito di  Ayende Rahien la nuova versione di Nhibernate Generics per la versione 1.0.3.0 di NHibernate

    Pubblicato martedì 5 dicembre 2006 da Moris Bozzetto - Categoria - - Commenti 0
  • System Requirements for Windows Vista

    Fundamentally, Microsoft has created an operating system that scales with the hardware and requires much more from the PC to drive the new functionality and scenarios it delivers (versus previous versions of the operating system). In our testing, a system with 1GB RAM and a discrete (or dedicated) graphics card provides a decent Vista experience with some elements of the Aero interface. For optimal results with all the bells and whistles that Aero provides, I’d recommend configuring a system with at least 2GB of system ram and discrete graphics card.

    [Dell one2one]

    Dell ha condotto 100.000 ore di tests (52 anni) per la compatibilità, usabilità, invalidando in uso tests esistenti.

    [Dell Testing of Windows Vista]

    Pubblicato sabato 2 dicembre 2006 da Marco Trova - Categoria - - Commenti 0