do more with less
news, esperienze, esempi da condividere e qualcosa su di me

mercoledì 17 dicembre 2008

Icons: Infragistics offre un corposo download gratuito

Servono sempre e spesso quelle che abbiamo non ci soddisfano completamente. Quelle belle spesso costano un bel pò di soldi e averne qualcuna gratuitamente non dispiace a nessuno. Se come per me le icone a disposizione non sono mai abbastanza, sfruttate questo omaggio di Infragistics e scaricate questo set di icone gratuite.

martedì 18 novembre 2008

XE.NET: Community Meeting - SQL SERVER 2008

Venerdì 21 novembre, presso il Novotel di Venezia Mestre, in Via Alfredo Ceccherini 21 si terrà il community meeting sulle novità di SQL Server 2008. Durante l'incontro, verranno presentate le principali novità di SQL Server 2008 relative alla sicurezza, alla gestione, alla business intelligence ed alla reportistica. Non mancherà, ovviamente, un'analisi dei punti più interessanti per gli sviluppatori come i nuovi tipi di dato e la gestione dei tipi destrutturati.

Se siete interessati a questo evento, potete visitare la pagina dedicata all'evento nel sito di XE.NET: informazioni; iscrizioni.

mercoledì 29 ottobre 2008

Da non perdere: Over 60 Free Controls from DevExpress free-of-charge

Questa mattina mentre sfogliavo la mia copia cartacea di MSDN Magazine mi sono accorto di una promozione che potrebbe interessare più di qualche sviluppatore .NET. DevExpress, nota per le sue suite di controlli e componenti, offre ben 60 controlli a costo zero (nessun costo di licenza e nessuna royalty di distribuzione). Per chi fosse interessato ecco il link dove potersi registrare per scaricare questi componenti: www.devexpress.com/sixty.

lunedì 20 ottobre 2008

UGIdotNET: ben tornato online !

Nel panorama delle community italiane su tecnologia .NET, UGIdotNET è il pilastro attorno al quale è nato il movimento degli User Group italiani. La sua assenza online delle ultime settimane, dovute ad un importante guasto tecnico, si è fatta sentire molto. Giornalmente ho ricevuto richieste da amici e membri di altre community per capire cosa fosse successo. Finalmente, da questa notte, grazie allo sforzo dello staff di UGIdotNET e UGISS, il sistema è stato ripristinato (per la maggior parte dei suoi servizi) e il sito del più grande UG italiano è nuovamente online. Come Country Lead Ineta per il nostro paese non posso che essere molto contento. Come membro della community .NET sono entusiasta della notizia visto che, proprio UGIdotNET, è stato lo UG dove ho mosso i miei primi passi nel mondo delle community e per il quale continuo ad avere un posto privilegiato nel mio cassetto dei ricordi.

Silverlight 2: Rilasciato

La notizia era nell'aria sin dal 14 di questo mese ma, per impegni diversi non mi ero accorto che fosse stato rilasciato. Per chi come me fosse stato preso da altro ecco la notizia: "Silverlight 2.0 released". Ora non ho più scuse devo approfondinrlo e prenderlo in considerazione per le mie applicazioni web. Per chi volesse iniziare ecco da dove partire: Silverlight Get Started.

XE.NET: MSDN Community After Hour - noi ci saremo e tu?

Questo è il momento di fare community! Al termine della due giornate dedicate alle novità introdotte con la service pack 1 di Visual Studio 2008 avremo il piacere di farvi compagnia con un evento all'interno dello spazio Community After Hour che Microsoft Italia ci mette a disposizione. Ecco l'abstract dell'evento:

Dopo l'evento ufficiale di presentazione delle novità integrate nel Service Pack 1 di Visual Studio 2008, XeDotNet ti aspetta ai Community After Hour. L'evento, articolato in tre ore di esempi e casi pratici, è pensato in particolare per chi è già impegnato durante la giornata per lavoro o semplicemente vuole partecipare a una serata di aggiornamento sulle tecnologie Microsoft. Con il Service Pack 1 di .NET Framework 3.5 sono state rilasciate un numero elevato di nuove feature, che la rendono più vicino a una major release piuttosto che a un semplice aggiornamento. Non solo: il futuro ci riserva l'introduzione di nuovi strumenti che oggi vediamo in preview, ma che sono oggetto di una intensa attività di sviluppo. In questo incontro ci focalizzeremo sulle interessanti novità dell'attuale Service Pack e su alcuni attesi strumenti che verranno rilasciati in futuro. Come consueto per XeDotNet, lo faremo con esempi pratici e immediatamente comprensibili, che aiuteranno a districarsi tra le novità.

Il successo di questo evento dipende anche da te. Non perdere l'occasione per essere parte attiva della community, iscriviti subito !!!

ASP.NET MVC Beta: ora con licenza Go-Live

Con l'entranta in Beta, il Microsoft ASP.NET MVC framework diventa ufficialmente una beta supportata da Microsoft. In aggiunta, ora si possono rilasciare soluzioni in produzione grazie alla licenza "Go-Live", implicitamente rilasciata con questa release come si può leggere dal post che Phil Haack ha fatto sul forum di ASP.NET: A Quick Note About MVC and Go-Live.

Per maggiori informazioni sulle novità presenti in questa beta ecco i post di riferimento da non perdere:

Scott Guthrie: ASP.NET MVC Beta Released
Phil Haack: ASP.NET MVC Beta Released!

sabato 18 ottobre 2008

Dipendenze: salviamo Roberto dal tunnel delle foto digitali

Lo scorso weekend ho letto un articolo su una dipendenza che preoccupa sempre di più medici e studiosi del comportamento. Si trattava del risultato di uno studio sulla Digital Dependency. Meno nota di altre dipendenze, la sindrome asiatica del fotografo digitale si insinua subdolamente senza evidenziare sintomi che possano mettere in allarme amici o famigliari. Inizia tutto con l'acquisto di una compatta con cui si scattano le prime foto ad eventi o durante le normali ricorrenze (compleanni, vacanze, ecc). Poi improvvisamente tutto cambia. Si sente la necessità di qualcosa di più potente; qualcosa in grado di soddisfare la crescente esigenza creativa (primo sintomo mascherato da passione) che pervade chi è affetto da questa dipendenza. L’arrivo della prima reflex digitale segna ufficialmente, come si può leggere dagli studi sull’argomento, l’entrata del malcapitato nel tunnel delle foto digitali. Da questo momento si palesano tutti gli effetti tipici di questa malattia. Il paziente si isola dal gruppo per rapire digitalmente i momenti che caratterizzano la vita degli altri. Gli amici iniziano a sentirsi spiati come se fossero sottoposti all’osservazione delle telecamere di un reality show.
In questi, mi trovo a Milano per gli MVP Open Days 08 ed ho notato che uno di noi è affetto da una forma acuta di Digital Dependency tale da spingermi a lanciare una campagna di sensibilizzazione denominata “Salviamo Roberto dal tunnel delle foto digitali”.

Aiutiamo Roberto a tornare tra noi ! Stop all'invadenza digitale !

P.S.

Roberto, è solo uno scherzo

mercoledì 15 ottobre 2008

Windows XP SP3: accesso negato

Nel fine settimana un amico si è trovato in difficoltà con l'aggiornamento automatico di Windows. Durante la fase di installazione della Service Pack 3 di Windows XP, il processo si bloccava visualizzando un errore con il messaggio "Accesso Negato". Non sapendo che fare, mi ha contattato in cerca di aiuto. Dopo una breve ricerca in rete ho trovato un articolo della knowledge base di Microsoft che ci ha permesso di risolvere la situazione. Ecco il link: Error message when you try to install Windows XP Service Pack 3: "Access is denied". I passi che ci hanno aiutato a risolvere possono essere così riassunti (basati sul metodo 3 proposto nell'articolo):

  1. Download di Windows XP SP3 dal sito di download di Microsoft per poterlo installare successivamente al di fuori di Windows Update.
  2. Download ed installazione della seguente utility: Subinacl.exe per il ripristino del registry di Windows XP.
  3. Creazione di un file Reset.cmd in grado di fornire i comandi necessari al ripristono utilizzando l'utility Subinacl.exe.
  4. Esecuzione del file Rest.cmd con credenziali di amministratore e riavvio del computer (il processo potrebbe durare parecchio tempo).
  5. Installazione della Service Pack 3 di Windows XP.

Ecco cosa deve contenere il file Reset.cmd:

cd /d "%ProgramFiles%\Windows Resource Kits\Tools"
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f /grant=system=f
subinacl /subdirectories %windir%\*.* /grant=administrators=f /grant=system=f
secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose

Quindi non disperate e leggete l'articolo della knowledge base Microsoft per ogni dettaglio.

Windows Live Platform: codice di esempio e slide

Per chi ha partecipato, o fosse interessato ai sorgenti e alle slide, dell'evento "Windows Live Platform" organizzato da 1nn0va in collaborazione con XE.NET può utilizzare i seguenti link:
Il contenuto del codice sorgente è riassunto di seguito:
Soluzione: WindowsLivePlatform
1 - Windows Live ID
Progetto che dimostra l'uso di Windows Live ID.
2 - DarkDimensionWS
Web Service utilizzato per generare contenuti propedeutici alla dimostrazione.
3 - Windows Live Search
Progetto che dimostra l'uso di Windows Live Search (Search Box e Search API).
4 - Messenger API
Progetto che dimostra l'uso di Windows Live Messenger (IM Control e Messenger Library).
5 - Virtual Earth
Progetto che dimostra l'uso di Virtual Earth (Map Control 6.2).
6 - FirstSite
Progetto con un sito di esempio privo dei servizi live.
7 - LiveSite
Progetto con un sito di esempio che usa i servizi live (stesso layout di quello del progetto 6).
8 - DemoSite
Progetto con un sito di esempio privo dei servizi live predisposto per inserire i servizi live (da usare per provare ad integrare il portale con servizi come dimostra il progetto 7.

martedì 7 ottobre 2008

XE.NET: Evento su Windows Live Platforms

Venerdì prossimo avrò il piacere di tenere una sessione nell'evento organizzato da 1nn0va sulla piattaforma Windows Live.  Ecco l'abstract della sessione:

La piattaforma di servizi Windows Live mette a disposizione controlli e servizi che possiamo facilmente integrare nelle nostre applicazioni web ed, in alcuni casi anche windows. Dopo un’iniziale panoramica sulla piattaforma vedremo come utilizzare alcuni di questi controlli e servizi per arricchire le nostre applicazioni web.

L'evento avrà inizio alle ore 18.30 presso il polo universitario di Pordenone in Via Prasecco, 3/a 33170. Per maggiori informazioni : Evento Windows Live Platform.

martedì 30 settembre 2008

WCF: Configurare un servizio per Unit Testing

Da qualche tempo, in un team con cui collaboro, abbiamo iniziato ad adottare Scrum for Team System come metodologia di sviluppo Agile. Ci siamo ripromessi di seguire nel modo più rigoroso possibile i dettami di questa metodologia per poi vedere come crearne una versione che meglio si adatti all'organizzazione dell'azienda a cui il team appartiene. Al termine dello sviluppo della prima sprint, ci siamo trovati davanti alla necessità di testare il codice prodotto e per questo abbiamo pensato di utilizzare un progetto di Unit Test. Nessuno di noi però aveva mai testato, con un progetto di questo tipo, un servizio WCF. Quindi ci siamo messi alla ricerca e, tra le soluzioni più interessanti, abbiamo trovato un post di Howard van Rooijen's in cui si illustra come configurare WCF per Unit Testing. Per chi fosse interessato ecco il link: Configuring WCF Services for Unit Testing.
Altre interessanti soluzioni: Unit tests for WCF (And Moq), How Duck Typing Benefits C# Developers
Un articolo da non perdere per approcciare correttamente il test di un servizio WCF è questo: Introduzione al test WCF

lunedì 29 settembre 2008

Virtual Earth: come abilitare l'intellisense javascript per Virtual Earth 6.2

Dopo il rilascio della nuova release di Virtual Earth di qualche giorno fa, ora arriva anche la possibilità di abilitare l'intellisense javascript di Visual Studio 2008 per facilitare lo sviluppo con Virtual Earth Map Control. Basta installare Virtual Earth JavaScript Intellisense Helper e il gioco è fatto. Utilizzare il Map Control di Virtual Earth non è mai stato così facile.

giovedì 25 settembre 2008

Virtual Earth: Rilasciata la versione 6.2 del Map Control, i Virtual Earth Web Service e molto altro

Era qualche giorno che attendevamo la notizia ufficale del rilascio di nuove funzionalità e servizi per Virtual Earth. Bene, ora è ufficiale, sono stati rilasciati:
  • Virtual Earth Map Control 6.2
  • Virtual Earth Web Service
Per maggiori informazioni e dettagli potete leggere direttamente dal blog di Virtual Earth tutte le novità introdotte. Ecco il link al post fatto da Chris Pendleton, Virtual Earth Technical Evangelist, sulle novità introdotte: Announcing The Virtual Earth Web Service and Virtual Earth Map Control 6.2.
Buon Geocoding a tutti!

lunedì 22 settembre 2008

XEdotNET: Si ricomincia con i Community Meeting del 25 settembre 2008

Ci siamo, dopo la consueta pausa estiva si ricomincia con i nostri Community Meeting. Il primo si terrà il prossimo giovedì e ad aprire la stagione sarà il nostro caro amico Lorenzo Barbieri che in questi anni di attività ha contribuito attivamente alla crescita del nostro User Group. Ecco di cosa ci parlerà:

Integrazione TFS in azienda 

Team Foundation Server è ormai una realtà consolidata in molte aziende, tuttavia ancora molti si chiedono come facilitare l'adozione di questo strumento. In questo meeting cercheremo di comprendere queste strategie. 
Argomenti
: Breve introduzione a TFS, Utilizzo base di TFS (sostituzione di Source Safe o altri strumenti), Sfruttare appieno il TFS (work item, build, documenti e report), Configurazioni tipo (intranet, extranet, etc...), Best Practices e cosa abbiamo imparato dopo tre anni di utilizzo reale, Q&A

Per maggiori informazioni qui trovate la scheda dell'evento: Integrazione TFS in azienda.

Vi aspettiamo numerosi !

domenica 17 agosto 2008

dotNETUmbria: Battista, puoi pubblicare questo mini tips? Ecco come utilizzare messenger per fare contenuti

Messenger è utilizzato nei modi più svariati e la sua diffusione è tale da permettere sempre nuove iniziative con la certezza di raggiungere un buon numero di potenziali utenti. Forse è questo il motivo che ha spinto dotNETUmbria a decidere di creare un bot per Messenger che permetta di pubblicare mini tips nel sito della community. Se siete curiosi potete trovare il post originale di Paolo qui: Un Chatbot per postare su dotnetumbria.org e se pensate che possa essere utile anche per la vostra community qui trovate il progetto in Codeplex: Battista.

mercoledì 23 luglio 2008

Scrum for Team System: è possibile registrarsi per la Beta 1 della Task Board

Trovare una metodologia adeguata da utilizzare nei team di sviluppo non è certo una cosa semplice. Dopo qualche anno di esperienza con Team Foundation Server utilizzando MSF Agile for TFS, sono arrivato a Scrum for Team System. Scrum è una metodologia agile che, a mio parere, bene si sposa con il nostro mercato in cui non si ha sempre un team con la maturità adeguata per essere completamente autonomo nella conduzione delle attività assegnate ed in cui il concetto di qualità test e qualità spesso lascia a desiderare. In questo e per altri motivi, questa metodologia aiuta a migliorare la qualità delle soluzioni realizzate e a mantenere il giusto livello di controllo sull'andamento di un progetto software.

Perchè vi ho parlato di Scrum? Semplicemente perchè, se qualcuno lo utilizza, oggi può entrare a far parte dei beta tester della Task Board, strumento perfetto per seguire e gestire progetti basati sulla metodologia agile seguita dal template di Scrum for Team System. Se siete interessati potete iscrivervi e scaricare la Task Board da questo link: Task Board for Team System - Beta 1 Registration.

Formazione gratuita grazie a Microsoft e-Learning

Qualcuno di voi già li utilizzerà mentre altri magari non conoscono ancora i servizi di formazione Microsoft. Penso che non faccia male ricordare che Microsoft e-learning offre spesso dei corsi gratuiti che si possono seguire online o offline con l'opportuno tool (scaricabile da qui: E-Learning Offline Player). Comunque, ecco il link ai corsi gratuiti attualmente a catalogo. Volendo potete anche sottoscrivere il feed che vi tiene aggiornati su nuovi corsi e promozioni.

Dimenticavo, se avete Windows Vista e vi trovate in difficoltà ad installare il player, ecco il link ad un mio post in cui trovate come risolvere il problema: E-Learning Offline Player e Windows Vista.

domenica 13 luglio 2008

How To: Configurare Hyper-V Remote Management

Continua lo sforzo per predisporre il mio server per la virtualizzazione. Anche per la configurazione di Hyper-V ho avuto la fortuna di trovare una serie di utili post che mi hanno aiutato nella configurazione della gestione remota di Hyper-V. Nel mio caso sia il client che il server appartengono ad un gruppo di lavoro e non sono inseriti in alcun dominio. Aggiungo che ho installato Windows Server 2008 Server Core e che quindi la configurazione da riga di comando potrebbe risultare abbastanza ostica senza gli opportuni suggerimenti. Per ridurre al minimo il tempo necessario per questo lungo processo, fatevi quidare dai post di John Howard che trovate qui:

Hyper-V Remote Management - Part 1
Hyper-V Remote Management - Part 2
Hyper-V Remote Management - Part 3
Hyper-V Remote Management - Part 4
Hyper-V Remote Management - Part 5

Ogni sezione segue una parte particolare delle possibili configurazioni e quindi dovrete prima di tutto identificare il vostro scenario e quindi seguire i post relativi alla vostra particolare configurazione. Armatevi di pazienza e buona configurazione.

How To: da dove iniziare per installare e configurare Windows Server 2008 Server Core

Dopo una lunga meditazione e grazie alle incompatibilità tra il mio Dell Optiplex 755 e VMWare ESX 3.5, ho deciso di installare Windows Server 2008 con Hyper-V per gestire le mie macchine virtuali. Ho quindi pensato di utilizzare una delle nuove possibilità di installazione fornite da Windows Server 2008 e quindi, al fine di ridurre al minimo lo spreco di risorse per il sistema host, ho optato per Windows Server 2008 Server Core. Ok, scelta fatta ma.... da dove inizio? Per fortuna la risposta alla mia domanda è arrivata con una semplice ricerca tramite google. Ho trovato degli screencast di Giorgio Malusardi (risorse in italiano) e un sito molto ben fornito (in inglese). Quindi, per chi volesse cimentarsi in questa cosa, ecco alcuni link utili:

Installare e configurare "Server Core"
Windows Server 2008 Server Core: Remote Management

Windows Server 2008 Tips and Tricks

Buona installazione e preparatevi ad usare la cmd come ai vecchi tempi.

domenica 29 giugno 2008

Ineta: una nuova sfida per fare community

Qualche giorno fa mi è stato confermato che sostituirò l'amico Lorenzo Barbieri in Ineta come Country Lead per l'Italia. Una nuova sfida per aiutare le community a crescere e per proseguire la via tracciata da chi mi ha preceduto. Quindi non mi resta che rimboccarmi le maniche per apportare un utile contributo all'ecosistema degli User Group italiani cercando di dare continuità al lavoro che Lorenzo ha magnificamente svolto in questi anni. Nei prossimi giorni mi aspettano i primi impegni ufficiali per organizzare e pianificare le attività dei prossimi mesi. Bene ora sapete chi contattare se state pensando di avviare uno User Group che ruoti intorno alla tecnologia .NET, se già ne gestite uno o se avete qualsiasi curiosità su cosa sia Ineta.

mercoledì 18 giugno 2008

Microsoft SQL 2005: quando un certificato può fare la differenza

Qualche volta la soluzione ad un nostro problema è quella che scartiamo perché la meno probabile. E' quello che è capitato oggi ad un collega che improvvisamente non riusciva più a connettersi al suo SQL Server 2005. Dopo qualche verifica e un pò di tempo perso, Luca ha risolto il suo problema proprio seguendo la strada che aveva inizialmente scartato. Ecco il link al post dove descrive il problema ed indica come risolverlo: SQL Server HowTo: Quando è impossibile connettersi al proprio SQL Server 2005....

lunedì 16 giugno 2008

Windows Live Platform: percorso formativo

Gil impegni delle ultime settimane non mi hanno permesso di dare risalto al percorso formativo sulla piattaforma dei servizi Windows Live che io e Pietro Brambati abbiamo preparato per aiutare chi vuole iniziare a lavorare con i servizi e i controlli di questa piattaforma. Se l'argomento è di vostro interesse trovate qui il link ai diversi webcast che compongono questa offerta formativa: Percorso formativo per Windows Live.

venerdì 13 giugno 2008

Pex: Automated Exploratory Testing for .NET

Qualche giorno fa un amico mi ha segnalato questo tool per la generazione parametrizzata di test con un'elevato code coverage. Le principali funzionalità sono:

  • Unit Tests: metodi senza parametri per il test di una singola unità di codice
  • Parameterized Unit Tests: come il precedente ma con parametri
  • Automated Exploratory Testing: un tool in grado di supportare il processo di esecuzione, apprendimento e test allo stesso tempo
  • Dynamic Symbolic Execution: una combinazione di analisi statiche e monitoraggio a runtime per valutare test inputs 

Se la cosa vi stuzzica, ecco i link al sito di Microsoft Research dove potete trovare maggiori informazioni: Pex: Automated Exploratory Testing for .NET.

martedì 10 giugno 2008

Settimana della sicurezza in rete: proteggete la vostra identità digitale

Il 7 giugno è iniziata la settimana della sicurezza. Nell'ambito di questa iniziativa, ho avuto il piacere di realizzare un breve video tips su come evitare il furto del proprio account di Windows Live ID. Il video mostra come alcuni siti, approffittando della buona fede degli utenti, catturarino in modo illecito le loro credenziali digitali. Il risultato spesso è la perdita del controllo del proprio account di Windows Live ID che viene utilizzato, per esempio, per fare spamming o altre azioni simili. Il video nasce in seguito alla segnalazione di alcuni utenti che mi hanno chiesto aiuto per tornare in posssesso delle loro credenziali. Se avete 5 minuti, guardate il video, potrebbe esservi utile per non cadere in trappola.

Quattro chiacchere con il mio MVP Lead

Ieri Alessandro Teglia, Microsoft MVP Lead italiano, ha pubblicato nel suo blog l'intervista nata da quattro chiacchere tra amici. Se volete sapere qualcosa di più su di me, potete leggere il contenuto di questo post: Intervista ai Microsoft MVP: Davide Vernole.

User Group Television (UGTV): nuova iniziativa rivolta al mondo community

Le iniziative per il mondo community non si fermano mai. Ora è il momento del lancio di ugtv, uno show per dare voce alle community e pensato appositamente per questo. Ora tocca a voi. Se volete essere coinvolti proponendo contenuti o pubblicizando questa iniziativa, ecco cosa potete fare:

Video interviste: contattate ugtv per dettagli e linee guida.
How To: demo tecniche per sviluppatori che volete raggiungano le community: inviatele a ugtvidea.
Divulgare: bloggate gli episodi correnti in modo che le vostre community possano trovarli rapidamente.
Incoraggiare: suggerite ai membri della vostra community la possibilità di fare dei video interviste o date evidenza di come facciano attività pro-community.

Partecipate numerosi, occasioni come queste non si possono far scappare !

lunedì 19 maggio 2008

Virtual Earth: come ottenere dei risultati localizzati

Se volete ottenere dei risultati localizzati, interagendo con il servizio di Virtual Earth, basterà impostare la culture di vostro interesse, come parametro mkt dell'attributo src, del tag script che indica le API da utilizzare per interagire con le funzionalità del servizio. Ad esempio, per ottenere i risultati in italiano, potete impostarlo come segue:

 

<script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1&mkt=it-it"> </script>

 

Per maggiori informazioni: Virtual Earth - Returning Localized Results

domenica 18 maggio 2008

Windows Live: workaround per usare la Delegated Authentication da localhost

Nei giorni scorsi sono stato impegnato nella preparazione di alcuni webcast sulla piattaforma Windows Live. Predisponendo un esempio per dimostrare le funzionalità della Windows Live ID Delegated Authentication, ho scoperto che non riuscivo a proseguire per il seguente errore:

Allow Access to localhost
There's a problem sharing your information with localhost. Please try again later.
[ Return to Localhost] [Go to Live.com]

Cercando una soluzione, ho scoperto un post di Angus Logan in cui si illustrava un workaround per poter testare questa funzionalità anche da una macchina di sviluppo. Si perchè la Delegated Authentication, come altri servizi della piattaforma Windows Live, richiede un FQDN (Fully Qualified Domain Name). Riassumendo, è necessario creare un Fake Domain per ingannare il servizio di Windows Live. Per farlo si deve modificare il file hosts e istruire il Web site in sviluppo su che url aprirsi invece di localhost.

Ecco i passi da seguire:

  1. Modificare il file C:\Windows\System32\drivers\etc\hosts inserendo un record simile a questo:
    127.0.0.1       webcast.knodev.com
  2. Nelle proprietà del Web Site o della Web Application, impostare la proprietà Start URL con il nome del dominio fake. Per esempio: http://webcast.knodev.com:80980/MiaApplicazione
  3. Abilitare l'applicazione, nell'apposito sito di Windows Live, per poter usare la Delegated Authentication.

Per leggere il post originale seguite questo link: FQDN (Fully Qualified Domain Names) - a few dev environment tips.

venerdì 9 maggio 2008

Windows Live ID: Proteggete le vostre credenziali e occhio ai falsi

Qualche giorno fa vi ho indicato come poter tornare in possesso del vostro Windows Live ID che sbadatamente avete condiviso con siti non attendibili. Ora, grazie alla segnalazione di un amico, posso mostrarvi un esempio di un sito (http://desiant.pr0file.1mages.info/) dove NON DOVETE MAI INSERIRE LE VOSTRE CREDENZIALI DI WINDOWS LIVE ID.

Siti come questi vengono usati per rubare le vostre credenziale ed usare il vostro account per fare spamming. Quindi non incolpiamo Microsoft se non abbiamo l'intelligenza di proteggere i nostri dati. Dareste le vostre chiavi di casa ad uno sconosciuto? Non penso. Bene, non fornite neanché le credenziali del vostro Windows Live ID a siti che non implementano correttamente l'autenticazione basata su Windows Live ID.

Come riconoscere un sito che implementa l'autenticazione basata su Windows Live ID in modo corretto? Una prima accortenzza è quella di verificare che l'URL della pagina di autenticazione sia di questo tipo:

https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=.....&lc=.....&id=.....&wp=.....&wreply=.....

E' possibile trovare anche altre personalizzazioni della pagina di login. Comunque, tutte, hanno sempre l'URL del tipo indicato in precedenza. In tutti gli altri casi il mio consiglio è di non inserire le vostre credenziali.

Diffidate dalle imitazioni!

giovedì 8 maggio 2008

Unico 2008: non ti dimenticare di firmare per il 5x1000

Trasforma la compilazione della tua dichiarazione dei redditi in un momento di solidarietà con un semplice gesto, una firma per il "Sostegno delle organizzazioni non lucrative di utilità sociale, delle associazioni di promozione sociale...". Qui sotto vi propongo quelle che sostengo io ma ovviamente ce ne sono tante altre. L'importante è non dimenticarsene.

 

mercoledì 7 maggio 2008

How to: Account Windows Live ID rubato

Oggi ho ricevuto la seconda mail di un amico di un amico che mi chiedeva aiuto perché gli hanno "rubato" le credenziali di Windows Live ID. Sorvolo su come questo sia accaduto anche se potete immaginarlo e vi consiglio due post di Feliciano Intini, Chief Security Advisor di Microsoft Italia, che trattano di questo argomento e, cosa molto importante, forniscono le strade per risolvere il problema.

Ecco i link:

Repetita juvant: come reagire al furto della password Windows Live
Come riappropriarsi del proprio account Windows Live ID rubato

venerdì 25 aprile 2008

.NET 3.5 Enhancements Training Kit: disponibile per il download

Qualche giorno fa Jonathan Carter (aka JC), nel suo blog ha annunciato la disponibilità del .NET 3.5 Enhancements Training Kit. Il download contiene sei labs relativi alle seguenti tecnologie:

  • ADO.NET Data Services
  • ADO.NET Entity Framework
  • ASP.NET AJAX History
  • ASP.NET Dynamic Data
  • ASP.NET MVC
  • ASP.NET Silverlight controls

Per chi volesse scaricarlo senza passare per il blog di JC, ecco il link: .NET 3.5 Enhancements Training Kit.

Frittelle di semolino: il mio dolce preferito

Ci sono ricordi che si portano con se fin dall'infanzia. Alcuni di questi sono così dolci da non sbiadirsi nel tempo e da tornare in modo riccorente alla mente nei momenti più impensati. Qualche giorno fa, mi sono svegliato con una voglia di frittelle di semolino, tipico dolce della tradizione romagnola che la mia bisnonna, la mia nonna e poi la mia mamma nel tempo mi hanno preparato con l'amore che si accompagna ad una ricetta così dolce.

Ho quindi chiamato la mamma per avere la ricetta e poterla preparare approffittando della festività del 25 aprile. Per chi volesse provarla ecco la ricetta oralmente tramandata tra le generazioni della parte romagnola della mia famiglia.

Ingredienti per l'impasto (dosi per 10 frittelle)
  • 100 grammi di semolino
  • 1/2 litro di latte
  • 1 pizzico di sale
  • 50 grammi di zucchero
  • 1 rosso d'uovo
  • 1 noce di burro
Ingredienti per l'impanatura
  • 2 uova o più
  • Pangrattato
Ingredienti per la cottura
  • Strutto o olio di semi (il primo è preferibile per gustarle al meglio)
Preparazione

In una pentola con bordo alto, versare il latte ed aggiungere la noce di burro. Accendere il fuoco e portare il latte ad ebolizione. Aggiungere quindi il semolino precedentemente mescolato con lo zucchero e il sale. Proseguire con la cottura mescolando continuamente fino ad addensamento del semolino. Quanto denso? Abbastanza da poterlo manipolare con le mani. Spegnere il fuoco ed aggiungere il rosso d'uovo amalgamandolo velocemente per evitare che si cucini.
Stendere l'impasto preparato su un tagliere appiatendolo con le mani fino a raggiungere uno spessore di circa 1 centimetro. Lasciate raffreddare l'impasto.
Non appena l'impasto si è raffreddato, tagliarlo in quadrati di circa 5 centimetri di lato (ovviamente potete scegliere la forma che preferite anche se il quadrato o il rettangolo vi aiutano a massimizzare l'uso dell'impasto). Ora avete tutto quello che serve per passare alla preparazione finale.

Passate ogni frittella nelle uova precedentemente sbattute e copritele con il pangrattato (la classica impanatura che fareste per una cotoletta). Dopo aver impanato tutte le frittelle, passate alla fase di cottura. Utilizzate una padella abbastanza profonda in cui metterete lo strutto o l'olio di semi in quantità sufficiente a permettere alle frittelle di galleggiare durante la cottura. Accendete il fuoco e raggiungete una corretta temperatura per una frittura. Quindi mettete le frittelle impanate in padella fino e fatele friggere fino a che l'impanatura prende un bel colore d'orato. Scolatele in un letto di carta assorbente e quindi spolveratele con abbondante zucchero. Servitele tiepide e buon appettito.

mercoledì 23 aprile 2008

.NET Developer Team: pochi ma buoni

In questo periodo sto seguendo un progetto per un importante cliente. Siamo tutti un pò sotto pressione per la fretta del cliente più che per reali problematiche tecniche. Comunque ecco una foto del team con cui sto collaborando.
Non è la prima volta che in Teorema ho il piacere di lavorare con valide risorse. La differenza di questo team è che dovrebbe, almeno nelle nostre intenzioni, diventare un team che collaborerà nei futuri progetti basati sul .NET Framework adottando metodologie agili.

martedì 15 aprile 2008

SnippetManager: useful tool from Karen Corby

Se state cercando una semplice applicazione per gestire pezzi di codice da utilizzare durante una presentazione, ecco un tool creato in WPF che può tornare utile: SnippetManager.

Il suo funzionamento è molto semplice. Dopo aver lanciato l'applicazione si deve caricare il file con gli snippet preparati. Il file è un semplice file di testo composto come nell'esempio seguente:

/////////////////////////////// // First Snippet Title <Style x:Key="TitleStyle" TargetType="TextBlock"> <Setter Property="FontSize" Value="35"/> </Style> /////////////////////////////// // Second Snippet Title partial line:Style="{StaticResource TitleStyle}" /////////////////////////////// Snippet content (no title) /////////////////////////////// -------------------------- /////////////////////////////// // Second Snippet Section <ControlTemplate x:Key="SubmitButtonTemplate" TargetType="Button"> <Grid Width="70" Height="20" Background="DarkGray"> <TextBlock Foreground="White" VerticalAlignment="Center"HorizontalAlignment="Center" FontSize="12"FontFamily="/fonts/IngebretsenNeato.ttf#Ingebretsen Neato"Text="Submit"/> </Grid> </ControlTemplate>

Guardando il codice con Reflector si nota come sia un'applicazione che Karen ha fatto per se ed ha poi deciso di condividere con gli altri. Per esempio, il punto che identifica l'inserimento di uno snippet deve essere precisamente indicato con 31 slash (///////////////////////////////). Poco male visto il beneficio che porta.

lunedì 14 aprile 2008

Apple MacBook Pro: il mio prossimo notebook?

Sono sempre più affascinato dai prodotti creati da Apple. Oggi ho passato un pò di tempo all'Apple Store di Seattle (WA) ed ho subissato di domande il malcapitato commesso che si era offerto di seguirmi. Sono confortato dalle informazioni ricevute e se anche l'assistenza riesce a garantirmi copertura in stile Dell può essere che ad ottobre passi ad un MacBook Pro lasciando il mio Latitude D620 che termina il suo servizio (lo ho in renting operativo) e torna in casa madre.

Questa è la configurazione che mi piacerebbe prendere:

MACBook Pro 15': 2.6 GHz
  • 2.6GHz Processore Intel Core 2 Duo 
  • Risoluzione di 1440x900
  • 4GB di memoria
  • Disco rigido da 200GB a 7200 rpm
  • SuperDrive doppio strato 8x
  • Scheda grafica NVIDIA GeForce 8600M GT con 512MB di SDRAM

domenica 13 aprile 2008

MVP Summit 2008: sunrise in Seattle

Ieri pomeriggio sono arrivato qui a Seattle per il consueto MVP Summit. Il viaggio è andato tutto sommato bene e per il momento sono riuscito a non subire i problemi del Jet Lag forzandomi di andare a dormire solo quando ormai qui era notte inoltrata.
Il mio risveglio questa mattina è stato particolare grazie ad un caldo raggio di sole che ha fatto capolino nel letto e mi ha coccolato addolcendo il mio risveglio.
Ora sono pronto per andare a farmi una rigenerante doccia per poi raggiungere gli amici e sfruttare questa giornata libera per un pò di svago.

mercoledì 2 aprile 2008

LINQ to Sql: singolare no grazie. Occhio al nome delle vostre tabelle !

Incredibile. Non posso credere di aver perso ore e ore di debug cercando di risolvere un errore a cui non trovavo una spiegazione logica. Cerco di riassumere.

Sto facendo per un cliente un ASP.NET User Control (un .ascx per intenderci) che contiene una GridView e un LinqDataSource. L'obiettivo è quello di ottenere un controllo per la gestione delle tabelle di look up, riutilizzabile in situazioni diverse, e che non richieda oneri di amministrazione e configurazione troppo elevati. Quando mi è stato chiesto di farlo con tecnologie in RTM (altrimenti avrei usato altri controlli) ho pensato subito che LINQ To Sql potesse soddisfare brillantemente questa richiesta grazie anche all'editor visuale che permette di trascinare le tabelle direttamente sul ORM mapper che si apre creando un file di tipo LINQ to Sql Classes (.dbml).
Come previsto la facilità di creazione del controllo è stata inizialmente rispettata fino a quando non ho iniziato a testare il cambio di DataContext (necessario per soddisfare uno dei requisiti del progetto e cioè la riutilizzabilità del componente). Da quel momento è iniziato un calvario in debug. Ho riscritto il codice almeno una dozzina di volte pensando che fosse dovuto a qualche errata sequenza di impostazioni che stavo eseguendo. Macché, continuavo a ricevere questo errore:

Could not find a property or field called 'Supplier' on the data context type 'NorthwindDataContext' of LinqDataSource 'ldsMain'.

Ma il tipo Supplier esisteva nel NorthwindDataContext e quindi non capivo il perchè dell'eccezione. Sono tornato al precedente DataContext ed ho aggiunto una tabella e di nuovo, ma solo per la tabella nuova, ancora lo stesso errore:

Could not find a property or field called 'ProductModel' on the data context type 'AWLDataContext' of LinqDataSource 'ldsMain'.

Dopo aver cercato in lungo e in largo; in un momento di rara lucidità ho trovato l'arcano. Mi sono ricordato che da qualche parte avevo letto che LINQ To Sql pluralizza il nome delle tabelle. Tra me e me ho pensato ma va, vuoi che sia proprio quello? Io sono un patito della normalizzazione ma mai e poi mai mi sognerei di farlo in modo così subdolo. Ed invece era proprio quello: le tabelle con nome al singolare non generavano un entità utilizzabile a run-time. Mi è bastato plurarizzare il nome delle classi dal designer e tutto ha iniziato a funzionare come atteso. 

Non ho parole. O meglio le ho ma non è il caso che le scriva.

martedì 1 aprile 2008

MVP Award, many thanks

Congratulazioni! Siamo lieti di assegnarti il Microsoft® MVP Award 2008!...

Sono un 41enne che si emoziona ancora quando riceve notizie di questo tipo. E allora non potevo non scriverlo nel mio  blog. Inutile tentare di descrivere con le parole il valore che un riconoscimento di questo tipo ha per me. E' la sesta volta che ho il piacere e l'onore di essere premiato da Microsoft e questa volta voglio cogliere l'occasione per dire grazie io a chi per noi MVP fa di tutto e di più.

Grazie ad Alessandro Teglia, MVP Lead per l'Italia, che con la sua passione e l'amore che mette nel suo lavoro ha saputo creare tra noi MVP italiani un gruppo di "Gladiators" capaci di stare assieme divertendosi e collaborando anche al di fuori delle iniziative strettamente legate al mondo MVP. Senza dimenticare l'impagabile lavoro svolto da Alessandro nella promozione del programma nel nostro paese; cosa che ci garantisce una stima ed un riconoscimento nel mercato di riferimento difficilmente riscontrabile in altri paesi.

Grazie ai ragazzi del team DPE di Microsoft Italia per le opportunità che ci offrono in termini di collaborazione, formazione e supporto.

Grazie ai team di prodotto che sempre più spesso cercano con noi un'interazione fornendoci così la possibilità di dire la nostra su funzionalità e prodotti.

Grazie a Paulette, Colleen, Karen, Sean ed a tutto lo staff MVP di Microsoft Corp., che si adoperano per offrirci sempre nuove opportunità e ci coccolano con le loro attenzioni quando partecipiamo agli eventi in giro per il mondo.

Ed infine grazie a Microsoft per credere in questo programma e per continuare a supportarlo.

Be an MVP, a real pleasure !

mercoledì 19 marzo 2008

Train The Trainer: approfondire Windows Live Platform a Zurigo

Grazie ad un'opportunità che il DPE di Microsoft Italia mi ha offerto, ho potuto partecipare ad un evento di formazione riservato ai trainer sui servizi della piattaforma Windows Live. Sebbene ormai giochicchi con questi servizi da qualche tempo, nel corso delle due giornate ho potuto scoprire alcune funzionalità a me non ancora note ed ho appreso delle nozioni che di certo mi torneranno utili nella preparazione dei prossimi webcast su questo argomento.

La compagnia di Daniele Bocchichio e Alessandro Ghizzardi hanno completato la cornice unendo al piacere della formazione, il piacere di una buona compagnia.

Durante le due giornate c'è stato anche modo di fare i turisti e vedere, guidati da una sapiente ed esperta guida, nonna speedy (una signora di altri tempi che correva tra i sali e scendi della città vecchia come speedy gonzales),  parti della città che non avevo mai avuto il piacere di scoprire nelle precedenti occasioni in cui ero stato a Zurigo.

venerdì 14 marzo 2008

Eventi: System.AddIn - L'estensibilità entra di prepotenza nel Framework

Torna anche questo mese il nostro Community Meeting. Grazie alla collaborazione con VeComp Software, il nostro meeting si terrà in una sede più accogliente rispetto a quella normalmente usata per questo tipo di incontri. Nell'evento di questa sera, Mauro Servienti ci introdurra ad una delle novità del framework 3.5. Vi aspettiamo numerosi per esplorare assieme il System.AddIn e scoprire cosa ci riserva il framework 3.5 per la creazione di applicazioni estendibili.

Ecco l'abstract della sessione

Con l’uscita del Framework .NET 3.5 Microsoft ha introdotto, tra le tante novità, anche un nuovo namespace dedicato all’estensibilità.

Chiunque si sia mai imbattuto nella necessità di realizzare un’infrastruttura a plugin per la propria applicazione troverà in questo nuovo set di classi un valido alleato per portare a termine con semplicità un compito che fino ad oggi è stato tutto tranne che banale.

L’infrastruttura di System.AddIn si fa carico di gestire anche l’annoso problema derivante dalla gestione del versioning sia dei plugin che dell’applicazione host introducendo un modello architetturale che semplifica enormemente anche questo task.

SPEAKER

  • Mauro Servienti - Microsoft MVP – Visual C#

LUOGO e DATA

  • 14/3/2008 ore 19:00 - Novotel Venezia Mestre Castellana
    Via Alfredo Ceccherini 21
    30174 Venezia Mestre

ISCRIZIONI

Se non sei riuscito ad iscriverti online, non ti preoccupare, potrai farlo anche direttamente prima dell'inizio dell'evento.

mercoledì 6 febbraio 2008

Visual Studio 2008 issue: problemi di renderizzazione a design-time, risolto!

Oggi ho ricevuto la notifica con la soluzione al bug che ho inserito su Microsoft Connect relativamente all'errore descritto in questo post: Visual Studio 2008 issue: problemi di renderizzazione a design-time. La soluzione indicata è la seguente:

Hi Knodev, The absence of "ViewRendering.get_Visible()" is a telltale sign that your System.Web.dll framework version is incorrect. This could be the result of an incorrect Windows Update patch. You will need to go to Windows\Microsoft.NET\Framework\v2.0.xxxx, right click on System.Web.dll and theck version number. It should be 2.0.50727.13xx or higher. If it is lower that 1300, you will need to uninstall the 3.5 and 2.0 and reinstall. Thanks! Jeff
You may receive a general "Feedback Item Updated" notification as well, if any other changes were made by Microsoft.
Thank you for using Microsoft Connect!
Regards,
the Microsoft Connect Team

Per visionare tutta l'History del problema potete visitare il seguente link: Visual Studio 2008 Team Suite issue with ASP.NET designer.

lunedì 4 febbraio 2008

Launch {Community} Tour

Come molti di voi già sapranno, questo mese è segnato dal lancio di Microsoft Windows Server 2008, Microsoft SQL Server 2008 e Microsoft Visual Studio 2008. Per chi non potrà essere a Milano durante le due giornate dell'evento di lancio,  potrà contare sul Roadshow che toccherà 6 diverse città italiane tra cui Padova, il 6 marzo. In quella data, dopo le sessioni istituzionali previste per il lancio, noi di XE.NET, grazie alla disponibilità di Microsoft Italia, avremo il piacere di tenervi compagnia con alcune sessioni pratiche sull'utilizzo di alcune delle ultime tecnologie. In un inedito, per il nostro paese, Community After Hour, ci confronteremo analizzando pratici esempi utili durante la nostra normale attività di sviluppatori.

Che dire se non che vi aspettiamo numerosi? Per maggiori informazioni ecco il link all'agenda e alla registrazione dell'evento.

lunedì 21 gennaio 2008

ONE-Day Web Development: slide ed esempi su Windows Live ID

Come promesso in questo post trovate il link per scaricare le slide e le applicazioni di esempio utilizzate durante la mia sessione. Gli esempi fanno uso sia del Windows Live ID SDK che dei Windows Live Tools for Visual Studio 2008 (December 2007 CTP). Per poterli utilizzare sono necessari:

  • Visual Studio 2008 o Visual Web Developer 2008 Express Edition
  • SQL Server 2005 Express Edition
  • Windows Live ID SDK (opzionale)
  • Windows Live Tools for Visual Studio 2008

Predisposizione e configurazione degli esempi
Prima di poter eseguire gli esempi è necessario provvedere a:

1. Registrare le applicazioni per l'uso di Windows Live ID andando alla pagina Use Windows Live ID for Your Web Site e autenticandosi con il proprio account di Windows Live.

2. Modificare i file web.config delle due applicazioni presenti nella soluzione inserendo in ognuno le rispettive informazioni (Id applicazione e password segreta) come indicato di seguito:

Applicazione WindowsLiveIDSdk

<appSettings> 
 <add key="wll_appid" value="TuoApplicationID1"/> 
 <add key="wll_secret" value="TuaSecretKey1"/> 
 <add key="wll_securityalgorithm" value="wsignin1.0"/> 
</appSettings> 

Applicazione WindowsLiveTools

<appSettings> 
 <add key="wll_appid" value="TuoApplicationID2"/> 
 <add key="wll_secret" value="TuaSecretKey2"/> 
</appSettings>

Utente per l'applicazione di esempio WindowsLiveTools
Per poter completare un'associazione tra il vostro Windows Live ID e un utente delle Membership, potrete scegliere se creare un nuovo utente (utilizzando l'ASP.NET Configuration Tool presente nell'ambiente di sviluppo) o se utilizzare l'utente creato per l'esempio le cui credenziali sono:

Username: UtenteDemo
Password: OneDay!
Email: demo@oneday.com
Domanda di sicurezza: Cos'e questa?
Risposta di sicurezza: Un'applicazione di esempio

Link utili
Slide
Demo
Windows Live ID
Windows Live for Developer

sabato 19 gennaio 2008

ONE-Day Web Development: riflessioni

E' passato qualche giorno dal ONE-Day Web Development e, smaltita la tensione, penso sia venuto il momento per tirare le somme sul risultato di questa giornata.

Ringraziamenti
Mi hanno fatto piacere i pubblici apprezzamenti di Andrea Boschin che nel suo blog, con questo post, ha voluto ringraziare tutti per l'impegno profuso. Non posso che aggiungere un mio personale grazie a:

  • chi ha creduto in noi decidendo di partecipare all'evento;
  • allo sponsor, Microsoft Italia, ed in particolare a Sara Morandini e Pietro Brambati per il supporto che ci hanno fornito durante la parte organizzativa e durante l'evento;
  • ad Andrea Dottor, Davide Senatore e Andrea Boschin per le splendide sessioni preparate con cura e ben presentate;
  • al personale del Novotel per aver contribuito con la loro professionalità al successo dell'evento.

L'esito positivo di questo evento è il frutto combinato del lavoro di tutte le persone coinvolte senza le quali il risultato sarebbe sicuramente stato diverso.

Location
Il peso che i partecipanti danno al luogo in cui si tiene un evento, alla qualità della sala, del catering etc, spesso influenza sensibilimente la percezione di soddisfazione generale. Personalmente penso che su questo punto abbiamo fatto centro. La sala congressi del Novotel di Venezia, la professionalità del personale coinvolto e il costante supporto della Dott.ssa Federica Vivian, ci ha permesso di organizzare un evento, il primo di queste dimensioni per la nostra community, senza evidenti sbavature sia per noi organizzatori che, dai feedback ricevuti, anche per la stragrande maggioranza dei partecipanti.

Sessioni
Su questo argomento devo constatare che due scommesse fatte in fase organizzativa hanno dato un esito veramente positivo. La prima riguarda il debutto ad un evento di queste dimensioni di Andrea Dottor che fino al giorno dell'evento, aveva potuto dimostrare le sue capacità di speaker, solo in eventi di dimensioni più ridotte. Andrea ha dimostrato di saper gestire la tensione che un evento come questo può darti e di saper illustrare tematiche particolari di una tecnologia che da qualche mese tiene banco in molti eventi italiani, ASP.NET AJAX.
La seconda scommessa era inserire una sessione ludico/tecnica come ultima parte della giornata. E qui Davide Senatore si è superato riuscendo, con la sua sessione sui Games realizzati con Silverlight 1.1, a tenere tutta la platea incollata alle sedie fino all'ultimo minuto. Devo dire che era parecchio tempo che non mi divertivo così guardando una sessione ad un evento di questo tipo.
Andrea Boschin, che ha presentato una sessione su ASP.NET AJAX - Silverlight 1.0, ha come sempre incanto i partecipanti. Se mai servisse è stata una conferma delle sue capacità nel dimostrare l'applicabilità di queste tecnologie in applicazioni reali.
E veniamo alla mia sessione. L'argomento scelto forse non era così facilmente digeribile, a detta di alcuni, non tanto per un discorso di complessità quanto forse per simpatia/antipatia sulla tecnologia presentata. Ho illustrato come Windows Live ID potesse essere preso in considerazione come sistema per facilitare il single sign on in portali differenti riducendo il gravoso onere che ognuno di noi oggi ha nel gestire decine e decine di account diversi. Putroppo, una ridotta parte dei partecipanti, mi ha fatto cadere in un tranello a cui, vista l'esperienza maturata negli anni, non avrei dovuto abboccare. Infatti, la mia presentazione è stata vissuta da questi come un tentativo di esaltare un servizio a sfavore di altri presenti nel mercato (per esempio openID) generando una discussione che ha sottratto tempo alla parte implementativa vera e propria. Ho lasciato che le mie aspettative di utente superassero il mio desiderio di sviluppatore di voler mostrare come realizzare quanto proposto. Questo ha di conseguenza influenzato i feedback della mia sessione che sono stati ben al di sotto di quanto sono abituato a ricevere. Ok, lezione imparata e mi assumo tutta la responsabilità per l'esito non proprio positivo di questa parte dell'evento. Servirà come esperienza per il futuro. Aggiungo solo, nel caso qualcuno dei partecipanti all'evento leggesse il mio blog, che non era mia intenzione vendere nulla a nessuno. Io sono entusiasta di un certo tipo di soluzioni e tecnologie che uso quotidianamente nel mio lavoro e per questo ne parlo positivamente. Questo non deve però essere preso come un tentativo di imporla a nessuno ma solo come un parere/consiglio da parte di qualcuno che l'ha già utilizzata. Per quanto riguarda openID, come ho detto in sessione, non lo conosco e non lo uso ma non per questo non lo devono fare gli altri.

Cosa dobbiamo migliorare
Non sono così ingenuo, come non lo sono i mie compagni di avventura, per non sapere che possiamo fare meglio e forse anche molto meglio alla prossima occasione. A mio parere, il problema maggiore che abbiamo avuto è stato il mancato rispetto della scaletta e questo, effettivamente, da fastidio a più di una persona. Per questo chiedo scusa a tutti e spero vogliate perdonarci l'errore nato dall'inesperienza nell'organizzare un evento di queste dimensioni. La prossima volta vi assicuro che non capiterà più. Per questo credo che dovremmo, nelle prossime occasioni, tener conto:

  • del possibile ritardo nell'inizio dell'evento per cause esterne (code alla registrazione, traffico, altro);
  • del tempo necessario per prediporre il podio per uno speaker tra una sessione e l'altra (cambio computer, sistemazione cavi, sistemazione microfono, ecc);
  • tempo di Q&A alla fine di ogni sessione.

Probabilmente altre cose da migliorare salteranno fuori da una disamina approfondita dei feedback o chiaccherando con amici presenti all'evento e quindi li analizzeremo in modo che non si verifichino nuovamente nei prossimi eventi.

Che dire, non mi resta che darvi appuntamento ai nostri prossimi eventi. Non dimenticate che:

"La community è fatta anche da voi, si nutre delle vostre conoscenze e vi nutre con quelle degli altri."

Iscrivetevi a XE.NET e iniziate a condividere conoscenza.

venerdì 18 gennaio 2008

Visual Studio 2008: Internet Explorer 7 e il webserver integrato

In questi giorni ho combattuto con un problema che limitava le capacità di debug, di un'applicazione web, utilizzando il WebServer integrato in Visual Studio 2008. Ho trovato una soluzione ma non sono ancora certo delle cause che hanno portato al malfunzionamento ed al mio successivo workaround. Ecco la descrizione del problema e di come applicare il workaround.

Sistema operativo
Microsoft Windows Vista Business 32bit in inglese

Problema
Lanciando il debug di un'applicazione web da Visual Studio 2008 Team Suite, impostata per utilizzare il web server integrato nell'ambiente di sviluppo, ottenevo il seguente errore: Internet Explorer cannot display the webpage

Facendo vari test ho scoperto che:

  • modificando l'url da http://localhost:8088/ in http://127.0.0.1:8088/, la pagina funzionava correttamente e io potevo continuare il debug senza problemi.
  • il problema si presentava anche avviando l'applicazione di configuratione ASP.NET Configuration.
  • utilizzando Firefox il problema non si presentava anche utilizzando l'url http://localhost:8088.

La prima cosa che mi è venuta in mente è stato verificare il file di hosts del mio computer che però ritenevo corretto visto che Firefox eseguiva la risoluzione del nome in ip in modo corretto e che, se usavo IIS, il problema non si presentava anche sotto IE7. Questa convinzione era avvalorata anche dal fatto che, quanto presente nel mio file di hosts, era identica a quella di altri computer in cui il problema non si presentava.

Analizzando le varie possibilità; leggendo un numero spropositato di articoli e post; testando n soluzioni; rompendo le scatole ad amici, evangelist Microsoft, ecc; alla fine ho trovato come risolvere il problema anche se non sono certo che la causa scatenante sia quella che indico qui.

Causa ipotizzata
Presenza del servizio Eset HTTP Server (anche se stoppato) installato con ESET NOD32 Antivirus 3.0.621.0.

Soluzione 1: utente senza diritti amministrativi con Firefox installato
Se non avete diritti amministrativi sul PC che utilizzate ed avete Firefox installato, l'unica soluzione che potete utilizzare per ovviare al problema è impostarle Firefox come browser di default in modo che sia il browser chiamato anche dal webserver integrato in fase di debug. Per farlo utilizzate le opzioni di Firefox per abilitare il controllo del fatto che sia il default browser. Avviate Firefox e quindi confermate la schermata che vi viene presentata. 

Soluzione 2: utente con diritti amministrativi e file host con record ::1 localhost
Avviate notepad con diritti amministrativi (Run as administrator). Quindi aprite il file hosts che si trova al seguente indirizzo: C:\Windows\System32\drivers\etc . Il vostro file, salvo che non lo abbiate precedentemente modificato, dovrebba apparire simile a questo:

 

# Copyright (c) 1993-2006 Microsoft Corp.# # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.# # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one# space.# # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol.## For example:# # 102.54.94.97 rhino.acme.com # source server# 38.25.63.10 x.acme.com # x client host127.0.0.1 localhost::1 localhost

 

Commentate la riga del record ::1 localhost come indicato qui:

 

# Copyright (c) 1993-2006 Microsoft Corp.# # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.# # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one# space.# # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol.## For example:# # 102.54.94.97 rhino.acme.com # source server# 38.25.63.10 x.acme.com # x client host127.0.0.1 localhost#::1 localhost

 

Questo è stato sufficiente, nel mio caso, per risolvere il problema.

Sarò grato a chiunque che riscontrando lo stesso problema o, a parita di configurazione, non riscontrandolo volesse commentare questo post con la sua esperienza diretta in modo da rendere statisticamente più precisa la determinazione della causa che genera il problema qui indicato.

mercoledì 16 gennaio 2008

Parola di evangelist: si può usare anche Localhost con Windows Live ID

Questa sera, durante la definizione degli ultimi preparativi per l'evento di domani, parlavo con Pietro Brambati, Developer Evangelist in Microsoft Italia, relativamente al fatto che non fosse possibile registrare una applicazione per Windows Live ID con url locale del tipo http://localhost/MiaApplicazione in quanto l'url doveva riferirsi ad un'applicazione presente in rete (come si leggeva dalla documentazione). Pietro mi ha guardato un pò sorpreso e poi mi ha detto: "No ti sbagli, io l'ho fatto". Incredulo mi sono fatto mostrare il record di registrazione ed effettivamente puntava ad un indirizzo locale del notebook di Pietro. Mi sono ripromesso di provare non appena fossi arrivato a casa e così ho fatto. Risultato? Pietro ha ragione, funziona alla grande. Non posso che dire grazie Pietro; mi ha salvato da un workaround assurdo che avevo pensato per ovviare ad un problema inesistente.

Tradotto in linguaggio C#:

List<Developer> developers = World.Italy.Communities.Developers.GetAll();
foreach (Developer dev in developers)
{
if (dev.HasIssues)
{
Evangelist evangelist = new Evangelist("Pietro Brambati");
foreach (Issue issue in dev.Issues)
{
ParolaDiEvangelist solution = evangelist.ResolveIssue(issue) as ParolaDiEvangelist;
issue.Resolved(solution);
}
}
if (dev.AreAllIssuesResolved)
dev.PostInBlog();
}

Reminder: ONE-Day Web Development -1

Un piccolo promemoria per chi ancora è indeciso e non si è iscritto all'evento ONE-Day Web Development organizzato da XE.NET e che si terrà domani a Venezia Mestre presso il Centro Congressi del Novotel.

Ecco l'agenda dell'evento:

9:00 – 9:30

Registrazione

9:30 – 10:15

La piattaforma Microsoft per il Web

Speaker: Pietro Brambati

Il mondo del web è in continua evoluzione e questo porta con sé notevoli cambiamenti sia nel modo in cui tutti i giorni lo “consumiamo”, ma anche e soprattutto nel modo di realizzare applicazioni. Sempre più spesso, infatti, si sente parlare di applicazioni RIA (Rich Interactive Application), nelle quali è necessario offrire all’utente contenuti multimediali e interazione. Architetti e sviluppatori di soluzioni web troveranno in questa sessione un’utile roadmap sulle tecnologie e servizi per creare il web di oggi e di domani.

10:15 – 11:25

Certezza dell’identità nell’autenticazione web: Windows Live ID come possibile soluzione

Speaker: Davide Vernole

La maggior parte delle applicazioni web che conosciamo, siano essi portali di commercio elettronico, siti di home banking o community che uniscono persone con comuni interessi, implementano un sistema di autenticazione per verificare l’identità degli utenti che vogliono accedere ad aree e contenuti riservati. I principali problemi correlati con i sistemi di autenticazione nel mondo web sono la certezza dell’identità e la protezione delle informazioni ad essa associate. Windows Live ID SDK può aiutarci ad implementare un sistema di verifica dell’identità ad elevato valore aggiunto a fronte di una riduzione dei costi d’implementazione ed una maggior sicurezza fornita da un’infrastruttura tecnologica costantemente aggiornata qual è quella di Windows Live ID. Durante la sessione dimostreremo come sia possibile sfruttare questo servizio valutando soluzioni di utilizzo, benefici e sviluppi futuri con particolare attenzione all’integrazione con Windows CardSpace in ambito web.

11:25 – 11:40

Coffee Break

11:40 – 12:50

Rich Internet Application nel mondo reale: Silverlight e AJAX alleati per migliorare la User Experience

Speaker: Andrea Boschin

L’evoluzione del web attraverso gli anni ha condotto le tecnologie moderne verso il concetto di Rich Internet Application, che a partire da AJAX e ora con Silverlight sta rapidamente trasformando la user-experience delle applicazioni web avvicinandola sempre più a quella disponibile in ambiente desktop. L’introduzione di Silverlight, la tecnologia RIA per eccellenza, con il supporto di strumenti quali ASP.NET AJAX e LINQ oggi consente lo sviluppo di applicazioni accattivanti che uniscano il meglio di due mondi che finora hanno avuto ben poco in comune, regalando all’utente un feedback e un look&feel senza precedenti. Durante i 70 minuti che trascorremo assieme vedremo come queste tecnologie possano collaborare per migliorare l’appeal delle nostre applicazioni e per risolvere problematiche che tipicamente sono relegate alle applicazioni Windows Forms. Avremo occasione di sperimentare varie tecniche incentrate sulle capacità di Silverlight allo scopo di chiarire lo stato dell’arte di questo dinamico settore.

12:50 – 13.50

Pranzo

13:50 – 15:00

Applied ASP.NET AJAX 1.0

Speaker: Andrea Dottor

La nuova libreria ASP.NET AJAX è stata ideata per permettere la rapida creazione di applicazioni di nuova generazione, più efficienti, interattive e altamente personalizzabili. L’utilizzo di ASP.NET AJAX Extensions e dell’AJAX Control Toolkit consente di spostare facilmente parte della logica delle applicazioni dal server verso il client aprendo la strada a nuovi scenari che danno vita ad interfacce user-friendly e innovative per le applicazioni web. In questa sessione vedremo in dettaglio alcune tecniche che aiutano a sfruttare al meglio i vantaggi dell'adozione di queste tecnologie e di massimizzare il valore aggiunto che esse possono dare.

15:00 – 16:10

Web Games con Silverlight 1.1

Speaker: Davide Senatore

Anche se il mercato ludico si è fortemente espanso e la realizzazione di un moderno videogame richiede risorse fuori della portata degli appassionati, è sempre piacevole cimentarsi nella realizzazione di un semplice videogioco, familiarizzando con le tecniche che portano spesso all’estremo la potenza di calcolo dei moderni computer. In questa sessione, dopo aver evidenziato rapidamente le caratteristiche di Silverlight 1.1, cercheremo di capire come questa piattaforma si candidi come ambiente ideale per lo sviluppo di software per l’intrattenimento. Durante la presentazione verranno illustrate le tecniche di base per la realizzazione di un videogioco: sprite, movimento, suoni ed interazione con l’utente.

Se volete iscrivervi potete farlo qui.

sabato 12 gennaio 2008

Microsoft Regional Director: in Italia nulla di nuovo

Oggi un amico mi ha girato il link ad un post di Francesco Balena: Regional Director again! in cui comunica la sua riconferma a Microsoft Regional Director e con lui anche quella di Giuseppe Dimauro. Non posso che fargli i complimenti ma sono veramente triste per le community italiane. Perchè? E' presto detto. In un articolo di Jonathan Goodyear: Demystifying the Microsoft Regional Director si legge:

"The role of an RD is to act as an unbiased third-party evangelist of Microsoft products and services and to work with software developers to ensure successful project engagements. We act as the glue between Microsoft and the developer community.".

Per essere franco, come amo essere, non ritengo che questo sia quanto facciano i Regional Director nominati per il nostro paese. Negli ultimi anni ho avuto il piacere di conoscere alcuni Regional Director competenti per altri paesi quali  Stati Uniti e Canada. Devo dire che il loro approccio e il loro interesse verso noi sviluppatori è completamente diverso. Parlando con loro era evidente il diverso approccio; domande a raffica, ricerca di opinioni ed esperienze con i prodotti e la tecnologia che usiamo nel nostro lavoro, e così via. In poche parole, dei Regional Director in linea con quanto dovrebbe fare chi riveste quella carica. Mi spiace dover confermare che questo in Italia non avviene. Non posso parlare certo per gli altri ma forse un cambio di rotta sarebbe gradito da molti. Abbiamo bisogno di Regional Director, e proprio perchè il numero è contingentato, è necessario che siano effettivamente il collante tra Microsoft e le comunità degli sviluppatori. Per fortuna, in Italia, il nostro rapporto con il DPE è molto buono e riusciamo comunque ad avere contatti, supporto ed informazioni che in altri paesi vengono spesso forniti dai Regional Director. Spero che questo messaggio svegli dal torpore chi di competenza e gli suggerisca di dare un rapido segnale di cambiamento.

C'è qualcun'altro che ha voglia di dire la sua su questo argomento? Io ho parlato con alcune persone e so di non essere il solo a pensarla così. Tu che ne pensi? Lasciami un tuo commento sia che tu sia contento o scontento dei Regional Director Italiani.

ASP.NET: Drag & Drop, una soluzione comoda

Qualche tempo fa ho lavorato su un progetto in qui mi era stato richiesto di sviluppare una funzionalità particolare in cui l'interazione dell'utente avrebbe trovato, in una soluzione basata sul Drag & Drop, la sua miglior implementazione. I tempi, come spesso accade, era troppo risicati per pensare di scrivere una soluzione da zero e quindi ho optato per la ricerca sul web nella speranza di trovare soluzioni di qualità facilmente adattabili alle esigenze specifiche del mio progetto. Ho passato un pò di tempo ma alla fine la soluzione che ho trovato mi ha permesso di raggiungere un ottimo risultato. In poche parole, se vi trovate nell'esigenza di dover implementare una soluzione su web che supporti il Drag & Drop, valutate la soluzione proposta da Omar AL Zabir in questo suo post: ASP.NET Ajax Extender for multi-column widget drag & drop. Esiste, inoltre, un interessante progetto su Codeplex dal quale è stato creato il portale Dropthings a dimostrazione dei possibili risultati ottenibili con l'implementazione di Omar.

al juhara: Dell Optiplex 755 Small Form Factor Computer

Nel corso dell'ultimo anno mi sono trovato spesso a dover utilizzare macchine virtuali per poter lavorare su progetti che richiedevano l'estensione di prodotti server come Microsoft Office Sharepoint Server o Microsoft CRM. Questo mi ha fatto capire che non potevo più continuare ad utilizzare solo il mio portatile con dei dischi esterni per virtualizzare i sistemi server. Le prestazioni erano spesso pessime ed i tempi di sviluppo complessivi ne risentivano di molto. Ho quindi deciso di optare per il noleggio offerto da Dell (cosa che ho già fatto per il mio portatile) per prendere un desktop in grado di aiutarmi nella virtualizzazione. Ho escluso un server sia per le dimensioni sia per la rumorosità che normalmente si associa con macchine pensate per alti carichi di lavoro. Volevo anche un hardware di dimensioni ridotte in modo da poterlo inserire senza problemi nella mia area di lavoro che ho ritagliato nel mio ufficio a casa. La scelta non poteva che essere un desktop della serie Optiplex 755 e così, l'ultimo giorno dell'anno ho chiamato il servizio commerciale ed ho concluso l'ordine. Il 9 gennaio, con 5 giorni di anticipo rispetto alla data stimata, è arrivato al juhara (il gioiello). Ecco alcune delle sue caratteristiche:

Processore: INTEL CORE 2 QUAD Q6600 2.4Ghz
RAM: 8.0GB 800MHz NON-ECC DDRII MEMORY
Hard Disk: 250GB 7,200RPM SATA 3.0GB/S
DVD Drive: 8X DVD+/- RW
Scheda video: ATI RADEON 2400XT 256MB
Media: 19 IN 1 MEDIA CARD READER
Chassis: Smal Form Factor Computer con Chassis Intrusion Switch

Quanto costa? Molto meno di quanto si pensi. Chiamate il servizio commerciale Dell se non ci credete. Ora devo decidere se installare VMWare ESX o attendere il nuovo Windows Server 2008 con Hyper-V per gestire il mio sistema di virtualizzazione. ESX ha un'indubbia solidità e qualità però non mi dispiacerebbe optare per il nuovo sistema offerto da Microsoft. Al momento conosco ancora poco di Hyper-V per poter decidere. Attenderò ancora un pò prima di rimuovere, dal mio gioiellino, Windows Vista 64bit e Virtual PC che ora uso come macchina di virtualizzazione utilizzando Remote Desktop dal mio portatile per lavorare sull'ambiente virtuale.

martedì 8 gennaio 2008

SyntaxColor4Writer: attenzione al Windows Update automatico

Se utilizzate Windows Live Writer e SyntaxColor4Writer, fate attenzione agli aggiornamento automatici di Windows. Il problema è molto semplice. Questo plug-in utilizza un riferimento alla versione della .dll di Windows Live Writer che lo rende inutilizzabile quando la versione cambia. L'ultima versione rilasciata, la 0.26, è stata compilata per lavorare con la versione Windows Live Writer 2008 (12.0.1366.1026). Il problema nasce dal fatto che il Windows Update vi propone, o installa direttamente a secondo delle impostazioni che avete scelto, un Update for Windows Live Writer (KB 946058) che cambia la versione del Writer rompendo così la compatibilità con il plug-in. Vi potreste trovare da un giorno all'altro con SyntaxColor4Writer non più funzionante. Quindi in attesa della versione aggiornata o bloccate quello specifico aggiornamento o rinunciate all'uso di questo plug-in.