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

lunedì 20 novembre 2006

Temo gli assolutismi di questo periodo...

Quando mi capita di analizzare come creare una soluzione software cerco di evitare approcci assolutistici e provo a disegnare un'architettura in grado di raggiungere lo scopo nel modo più efficiente, sicuro e gestibile possibile. Sembra però che questo approccio sia poco condiviso da blasonati nomi dell'informatica nazionale ed internazionale che escono con affermazioni forti e frasi ad effetto che rischiano di creare scompiglio tra le comunità degli sviluppatori. A mio modo di vedere questo dipende soprattutto dal fatto che, chi ascolta la "frase forte", riporta solo quest'ultima e non tutto quanto segue in termini di spiegazione, contesto, ecc. Il risultato che si rischia di ottenere quindi non è quello di educare correttamente ma di diseducare la platea degli assenti che vive del passa parola e delle bloggate incomplete. Quello che spero è che si punti meno al sensazionalismo e più al concreto. Forse i feedback ne risentiranno un pochino ma alla lunga la comunità di sviluppo ne beneficierà.

lunedì 6 novembre 2006

Tech.Ed 2006 - the Virtual side... un modo per esserci comunque

Non sei potuto partire per seguire il tech.Ed?  Pazienza. Ora puoi contare su una finestra selezionata sui contenuti e sulle sessioni che si terranno durante questo evento. Non ti resta che visitare the Virtual side, un sezione dedicata anche a chi non può partecipare di persona al Tech.Ed.
I principali contenuti che potrai trovare in the Virtual side sono:
  • News sul Tech.Ed
  • Videocast (interviste)
  • Sessioni tenute durante l'evento (una selezione)
  • Podcast
  • ... e molto altro
Buona visione ;-)

Tech.Ed 2006 - giornata spesa tra viaggi, pre-conference e ...

Finalmente si comincia! Da quando è arrivata la mia piccola Andrea, un anno e mezzo fa, è la prima volte che riesco a tornare ad un evento di questo tipo.
La sessione di pre-conference che ho scelto di seguire è stata tenuta da Jeff Prosise su ASP.NET AJAX 1.0 Beta. La preparazione dello speaker è indiscutibile ed il contenuto, oltre alle classiche slide,  è stato arricchito da demo di facile comprensione che lo speaker ha promesso di pubblicare entro la fine della settimana. Apprezzabilissimi i tips su cosa è cambiato tra la CTP "Atlas" e la Beta "AJAX" che sicuramente riducono il lavoro necessario alla migrazione (per chi ha già scritto qualcosa).
Un problema ancora forte è dato dalla mancanza di una adeguata documentazione che però non dovrebbe farsi attendere troppo.
Per il momento focalizzare la propria attenzione su ScriptManager, ScriptManagerProxy, UpdatePanel e Timer può aiutarvi a prendere confidenza con ASP.NET AJAX che promette di essere un utile supporto per le applicazioni web based attuali e future.

giovedì 2 novembre 2006

Windows Vista and the .NET Framework 3.0 - Learning Portal for Developers

Microsoft Learning ha lanciato tre corsi introduttivi su Windows Presentation Foundation (WPF), Windows Workflow Foundation (WWF), e Windows Communication Foundation (WCF) che per un periodo limitato vengono offerti gratuitamente. Se siete interessati non perdete questa occasione cliccando qui.

giovedì 12 ottobre 2006

Run-time error 1004 in Excel, può; essere un problema di memoria

Oggi un collega è venuto a chiedermi come risolvere un problema in una sua macro di Excel dove, utilizzando alcune routine scritte in VBA, esegue n copie di un foglio di lavoro per predisporre degli scenari diversi basati sulle delle Pivot Table e sui dati provenienti da due distinti database.
Investigando su come risolvere il problema ho trovato un articolo nella knowledge base di Microsoft che spiega il perchè del problema e suggerisce un utile workaround per risolverlo.

Se il vostro codice in Excel vi restituisce lo stesso errore non perdete tempo in altre ricerche, questo articolo è risolutivo: KB210684

martedì 3 ottobre 2006

Patterns & Practices Guidance Explorer

Quando analizziamo come fare una nuova applicazione o come migliorarne una esistente non sarebbe male poter contare su della documentazione che tracci delle linee guida su come evitare/risolvere problemi legati alla sicurezza, alle performance, ecc.
Compatibilmente con il tempo a disposizione, io cerco di utilizzare l'area del sito di MSDN di Microsoft denominata Patterns & Practices in cui è possibile trovare white paper, esempi e linee guida per un corretto sviluppo di applicazioni basate su tecnologia Microsoft.

Ho sempre pensato che sarebbe stato bello avere un tool in grado di agevolare la ricerca dei contenuti di questa sezione ma non ho mai dedicato tempo sufficiente ad una ricerca approfondita di uno strumento che mi aiutasse in questo e ne tantomento all'idea di realizzarne uno.

Con mia somma sorpresa oggi, in modo del tutto casuale, ho scoperto l'esistenza di un progetto su Codeplex che fa proprio al caso mio. Il progetto si chiama patterns & practices Guidance Explorer e permette di sfogliare l'intero contenuto dell'area omologa del sito Microsoft in modo disconnesso (magari mentre aspettate l'aereo o viaggiate in treno).
Tra le sue funzionalità c'è la possibilità di sincronizzare il contenuto in modo che sia sempre aggiornato; creare delle proprie viste (cosa utile per definire un subset di documenti che utilizzate spesso per i vostri progetti); esportare una vostra selezione come libreria, ecc.

Se non volete installare alcun software o siete impossibilitati a farlo per policy aziendale, non preoccupatevi perché c'è anche una versione online che potete trovare qui: Guidance Explorer Web.

Vi consiglio di spendere qualche minuto per visionare il prodotto e se lo riterrete, come penso, utile non vi resterà che installarlo e beneficiare delle sue funzionalità.

sabato 30 settembre 2006

Bugs nel sistema Italia, qualcuno ha la soluzione?

Mi chiedevo quale fosse lo scopo delle authority in Italia. Quest'anno ho avuto non pochi problemi con i miei fornitori di connettività sia per la mia linea residenziale (Fastweb) che per la mia linea aziendale (NGI). Linee di operatori diversi ma che alla fine hanno regole e norme molto simili se non identiche. Alla fine comunque il consumatore se la prende sempre in quel posto. Non c'è niente da fare. Maledetto il giorno che mi sono appassionato ad internet e ne ho fatto parte del mio lavoro. Quanto meglio starei oggi senza la dipendenza da ADSL? Eviterei così di dovermi relazionare con compagnie di telefonia che sono vere e proprie associazioni a delinquere. Lo sono loro e lo sono i politici che approvano leggi che non danno al consumatore alcun diritto.

Qualcuno quindi si chiede, ma che sta a fare l'Authority preposta a controllare la libera concorrenza, i diritti del consumatore, ecc? Si adegua e mangia anche lei dalla torta che noi poveri stolti consumatori continuiamo a preparare.

Quando un vostro cliente si attende una fornitura o un prodotto da voi e voi per qualche motivo non lo fornite, il cliente vi paga? Scommetto che la vostra risposta è no, ovviamente. Beh allora vi conviene configurarvi come compagnia di telefonia così sarete certi di poter incassare indebitamente canoni di servizio anche se il servizio lo erogate saltuariamente o non lo erogate per niente.

E viva la democrazia dei cartelli, del mortadella che ci aumenta le tasse e dei poveri scemi come me che continuano a fare gli onesti cittadini e che alla fine pagano anche per chi non fa niente dalla mattina alla sera.

domenica 10 settembre 2006

Commentare il codice con gli snippet di Visual Studio 2005

Quanto è importante commentare il codice che scriviamo? La prima risposta che mi viene in mente è "moltissmo" ma allargando il punto di vista direi "dipende". Ma da cosa dipende? Sicuramente dal contesto in cui stiamo scrivendo il codice e da che uso ne verrà fatto. Quando scriviamo solo per noi  l'inserimento di commenti nel codice è spesso frutto di abitudine a farlo ma non è dettato da esigenze specifiche. Diverso invece dovrebbe essere l'approccio quando il codice è destinato ad essere utilizzato anche da altre persone (esempi per le community, post nei newsgroup, tips, ecc).

C'è però un caso in cui ritengo indispensabile commentare il codice: lo sviluppo professionale. Questo è maggiormente vero se si sviluppa all'interno di un team in cui si deve garantire continuità di manutenzione ed interoperabilità tra i membri del team. Sembra una banale constatazione, non è vero? In realtà non è così. Chiunque abbia mai ricoperto la posizione di program manager, project manager o team leader conosce bene il problema e sa come sia difficile sensibilizzare gli sviluppatori affinché commentino il proprio codice. Spesso si è costretti a prevedere sessioni di code review per inserire i commenti mancanti e si spendono molte parole durante i meeting settimanali nel ricordare l'importanza di questo requisito.

Ma i benefici sono reali? Si lo sono. Pensate a quando riprendete in mano del codice scritto un pò di tempo prima. Vi ricordate subito cosa faccia? Quando vi capita di manutenere il codice scritto da altri non vi è mai capitato di pensare: "...ah se almeno chi l'ha scritto avesse inserito un commento."? Senza contare che dai commenti è possibile costruire con poca fatica e con i tool appositi (nDoc, DocToHelp, Sandcastle, ecc) delle reference al nostro codice in diversi formati.

Ma cosa c'entra questo con il titolo di questo post? Ok, arrivo al dunque. Usando gli snippet di Visual Studio, appositamente modificati, ho notato che anche i più recidivi e pigri, hanno iniziato ad inserire i loro commenti. Questo non risolce il problema ma gli snippet aiutano a creare l'abitudine a farlo e conseguentemente a ridurre i problemi legati alla mancanza di commenti nel codice.

Vediamo un esempio concreto. Partiamo dallo snippet prop.snippet fornito con Visual Studio 2005:

 

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>prop</Title>
<Shortcut>prop</Shortcut>
<Description>Code snippet for property and backing field</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>type</ID>
<ToolTip>Property type</ToolTip>
<Default>int</Default>
</Literal>
<Literal>
<ID>property</ID>
<ToolTip>Property name</ToolTip>
<Default>MyProperty</Default>
</Literal>
<Literal>
<ID>field</ID>
<ToolTip>The variable backing this property</ToolTip>
<Default>myVar</Default>
</Literal>
</Declarations>
<Code Language="csharp"> <![CDATA[private $type$ $field$; public $type$ $property$ { get { return $field$;} set { $field$ = value;} } $end$ ]]> </Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

Ora modifichiamo l'elemento <Title> inserendo un titolo nuovo, per esempio propc:


 


<Title>propc</Title>

 


Quindi è la volta dell'elemento <Shortcut> per modificare la combinazione di lettere con la quale vogliamo richiamare il nostro snippet:


<Shortcut>propc</Shortcut>

infine non ci resta che modificare il contenuto della sezione CDATA dell'elemento Code:


<Code Language="csharp">
<![CDATA[
/// <summary> /// Campo privato $field$ /// </summary>
private $type$ $field$;
/// <summary> /// Imposta/ritorna la proprietà $property$ /// </summary>
public $type$ $property$
{
get { return $field$;}
set { $field$ = value;}
}
$end$ ]]>
</Code>

Come si può notare, ho semplicemente inserito la parte di commento richiesta per la proprietà e per il campo privato.


Ora non resta che salvare lo snippet modificato con il nome propc.snippet nella directory che preferiamo (normalmente si usa la directory C:\Documents and Settings\[User]\My Documents\Visual Studio 2005\Code Snippets\Visual C#\My Code Snippets) e far si che Visual Studio la utilizzi impostando i riferimenti con Code Snippet Manager (ctrl +K, ctrl +B).


In questo modo, richiamando lo snippet propc direttamente da Visual Studio 2005 verrà generato il codice con la struttura di commento già predisposta. Al programmatore non resterà che modificare il contenuto del commento base adattandolo al caso.


Questo è un semplice caso ma fornisce un'idea di come procedere anche per i casi più complessi.


Maggiori informazioni su come gestire gli snippet si possono trovare qui: How to: Manage Code Snippets


Un utile tool per l'editing e la creazione di snippet è Snippy.

venerdì 18 agosto 2006

Internet Explorer Developer Toolbar

Sicuramente molti di voi l'hanno già provata e la stanno usando in modo profiquo. Io ho avuto modo di installarla e provarla solo in questi giorni di ferie e devo dire che mi ha soddisfatto. Il mio consiglio è quindi di provarla. Scoprirete interessanti aiuti per il vostro sviluppo web.

Dimenticavo, se volete scaricarla cliccate qui.

lunedì 3 luglio 2006

Intellisense per SQL Server

Io ritengo l'Intellisense un ottimo suporto alla programmazione per aumentare la produttività individuale. Oggi come oggi non ne potrei più fare a meno e grazie a Visual Studio non mi devo preoccupare di questo.

Ma cosa succede quando voglio scrivere una stored procedure e devo inserire nomi di tabelle, campi o funzioni di SQL Server? Esiste un Intellisense che mi aiuti? La risposta è si !
red-gate presenta la versione 2.0 del suo prodotto SQL Prompt che fino al 1 settembre 2006 è scaricabile gratuitamente.

Per chi fosse interessato: red-gate SQL Prompt 2.0

domenica 2 luglio 2006

Come evitare i 10 trabocchetti più comuni di ASP.NET

Sviluppare un'applicazione web sembra essere una cosa molto semplice e facile grazie ai tool di sviluppo oggi in commercio. Questo però non è sempre vero soprattutto se ci dimentichiamo di applicare le regole di base. A volte ci si spinge a soluzioni estreme, che esaltano le nostre competenze, dimenticando però che una buona infrastruttura di base costituisce le fondamenta di tutta la nostra soluzione.

Come un giocatore di basket professionista non può commettere infrazione di passi in modo continuativo per essere utile alla sua squadra; così un buon programmatore web non può dimenticarsi di applicare alcuni accorgimenti per rendere le proprie applicazioni più solide, scalabili e performanti .

Provate ad applicare questa check list, proposta da Jeff Prosise, alla vostra web application:

  • La vostra applicazione usa LoadControl per caricare dinamicamente User Controls? Se è così, assicuratevi che questo funzioni in modo tale che LoadControl possa lavorare sia con che senza Output Cache.
  • State usando Output Cache in kernel-mode e Session State nella stessa pagina? In caso affermativo rimuovete la direttiva OutputCache per evitare il cache della pagina o spegnete l'Output Cache in kernel-mode per l'intera applicazione.
  • Chiamate il metodo FormsAuthentication.RedirectFromLoginPage nella vostra applicazione ASP.NET 1.x? Si? Allora impostate il secondo parametro del metodo a False o modificate la proprietà Expires del cookies di persistenza della autenticazione basata su forms con un più appropriato valore di timeout (rispetto al default).
  • Una o più pagine della vostra applicazione genera un quantitativo di view state eccessivo? Se è così, disabilitate il view state per i singoli controlli o spostatelo sul server.
  • La vostra applicazione usa SQL Server per mantenere la Session state? In caso affermativo, preoccupatevi di disabilitare la sessione nelle pagine che non ne fanno uso.
  • Utilizzate nella vostra applicazione ASP.NET 2.0 il role manager? In caso affermativo abilitate il role caching per migliorare le performance.
  • Utilizzate custom data types come proprietà del profilo di un utente? Se è così, eviterete problemi creando custom data type che siano compatibili con la serializzazione XML o marcando con l'attributo [Serializable] i tipi e usando il binary serializer per serializzare e deserializzare i tipi.
  • La vostra applicazione esegue delle query verso un database che richiedono tempi di risposta lunghi? Se si, cosiderate se sia il caso di rendere asincronte le pagine che usano i dati di queste query.
  • La vostra applicazione ASP.NET usa la client impersonation? In caso affermativo, rafforzate i permessi basati sulla ACL riducendo le eventuali incoerenze.
  • Avete profilato le attività sul vostro database? E' consigliabile esaminare la comunicazione tra l'applicazione e il vostro database come primo passo per il performance-tuning.

Ne volete sapere di più? Non mancate di leggere l'articolo "Keep Sites Running Smoothly By Avoiding These 10 Common ASP.NET Pitfalls" di Jeff Prosise presente nel numero di luglio di MSDN Magazine.

martedì 27 giugno 2006

KeyValuePair(Of TKey, TValue): un generic che può tornare utile

Cercando un'alternativa al solito IEnumerator list = items.GetEnumerator() ho trovato questo interessante generic che permette di eseguire un'iterazione tra le coppie di chiave/valore di un Dictionary.
L'ho quindi subito usato per passare dal IDictionary ritornato da un metodo della DAL ad un List come evidenziato nel codice seguente:

List resources = new List();

Dictionary<string, object> items = ResourcesSqlDAL.ResourcesCollection();


foreach (KeyValuePair<string, object> item in items)

{

resources.Add((LocalizedResource)item.Value);

}

return resources;


Per approfondimenti: KeyValuePair (struttura generica)

mercoledì 14 giugno 2006

Dell, l'assistenza che non ti aspetti

Chi mi conosce sa quanto sia entusiasta della assistenza tecnica di Dell e dei suoi sistemi in genere; ma mai avrei pensato che potesse arrivare a tanto.

Oggi ho chiamato il servizio tecnico per un vecchio Latitude LS che ho acquistato nell'aprile del 2000. Il notebook ha dei seri problemi con lo schermo LCD così ho deciso di vedere quanto potesse costare un intervento fuori garanzia. Ed ecco iniziare le sorprese.
Come prima cosa l'assistenza telefonica viene fornita anche per PC fuori garanzia; assistenza che non si limita a capire il problema ma che si spinge ad aiutarti ad identificare esattamente cosa possa essere la causa del malfunzionamento al fine di identificare esattamente le parti di ricambio necessarie alla riparazione e quindi ridurre i costi di intervento.
Nel mio caso questo approccio si è spinto fino a fornirmi le istruzioni passo passo per smontare parte del portatile arrivando quindi a identificare l'origine del problema (un cavo flat di collegamento tra mother board e schermo LCD) rendendo quindi il preventivo di riparazione una cosa accettabile (se avessi dovuto sostituire LCD non avrebbe avuto senso procedere con l'intervento).
Seconda sorpresa: la possibilità di scegliere se procedere con la riparazione in modo autonomo (senza intervento tecnico esterno) con eventuale supporto telefonico Dell o se far intervenire un tecnico Dell onsite. Ho optato per la prima soluzione un pò perché me la cavicchio con queste cose ma anche perché Dell, nel suo sito, mette a disposizione dei manuali di servizio per i suoi sistemi che ti permettono di smontare l'intero sistema seguendo istruzioni e immagini molto dettagliate. Alla fine il preventivo si è trasformato da intervento onsite per sostituzione LCD a invio di un cavo flat di connessione. Come potete immaginare i costi delle due soluzioni sono notevolmente diversi.

Quindi per chi ancora avesse dubbi quando acquista un computer, se pensate anche al servizio di assistenza, Dell ha un rapporto qualità/prezzo difficilmente superabile. Il mio voto non può che essere 10 e lode !

sabato 18 marzo 2006

Visual Studio 2005 ebook

Se vi interessa un tour guidato delle funzionalità di Visual Studio 2005, MSDN Magazine mette a disposizione una guida di 92 pagine che si può scaricare qui.
Buona lettura

sabato 4 marzo 2006

Arrivati applicazioni di esempio e movie di Interactive Designer

Oggi ho ricevuto un'e-mail dal PM di Interactive Designer in cui era presente un link per scaricare le applicazioni di esempio e i filmati che gli avevo chiesto per la sessione che ho tenuto venerdì sera per lo user group XEDOTNET. Peccato per il ritardo, mi servivano prima.

A discolpa di Arturo, il PM, c'è da dire che lui l'invio lo ha fatto in tempo allegando però tutti i file in una mail che è stata rifiutata dal mio mail server "sewer". La differenza di fuso orario ha fatto il resto e quindi solo oggi ho ricevuto il link da dove poter scaricare il tutto.

Beh nel caso ci fosse un'altra occasione per fare una preview di Microsoft Expression Interactive Designer, ora sono già pronto.

giovedì 2 marzo 2006

Ho dovuto disabilitare i commenti

A malincuore ho dovuto disabilitare i commenti dal mio blog ma da qualche settimana sono invaso da spam che usa i commenti ai miei post come veicolo di trasporto. Sentirò Andrea nella speranza che riesca a risolvermi il problema.

venerdì 17 febbraio 2006

Visual Web Developer 2005 Express Edition - applicazione di esempio

Come promesso ecco le informazioni per scaricare l'applicazione di esempio utilizzata durante i webcast che ho tenuto nelle scorse settimane.

Alcune informazioni utili:

Pre-requisiti

  • Microsoft Visual Web Developer 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition

Installazione

  • Scaricare il file VWD2005.zip di circa 6MB
  • Dopo aver decompresso il file lanciare Setup.exe o VWD2005.msi
  • Seguire il wizard di installazione e segnarsi il percorso di installazione di default o quello da voi indicato
  • Aprire Microsoft Visual Web Developer 2005 Express Edition e selezionare dal menù File Open Web Site ...
  • Selezionare File System e quindi individuare il percorso in cui avete installato l'applicazione di esempio (di default il programma viene installato sotto la directory VWD2005 in Programmi o Programs File)
  • Quindi scegliere Open per aprire l'applicazione

Configurazione

  • L'utente pre-configurato da utilizzare per provare i controlli di Login ha le seguenti credenziali:
    • UserName: Utente   Password: P@ssword1
  • Per un corretto funzionamento degli esempi sui controlli PasswordRecovery e ChangePassword dovrete configurare l'SMTP modificando il file web.config o utilizzando l'ASP.NET Web Site Administration Tool.

Ora non vi resta che scaricare il file cliccando qui.

mercoledì 15 febbraio 2006

Design Templates

Durante uno dei webcast che ho tenuto su Microsoft Visual Web Developer 2005 Express Edition, qualcuno mi ha chiesto dove si potessero trovare online dei Themes già pronti. Al momento non ho saputo dare un'indicazione concreta e quindi ho dovuto consigliare di effettuare la classica ricerca via web.

Oggi però sono in grado di dare un indirizzo ad una parte del sito MSDN in cui si possono trovare degli utili Starter Kits che potrebbero essere un ottimo punto di partenza.

Questi esempi sono tutti realizzati in XHTML Strict e sono conformi agli standard previsti dalla Section 508 per garantire la migliore accessibilità del sito web.

Per maggiori informazioni e per scaricare i Design Template, cliccate qui.

martedì 14 febbraio 2006

Avevo la soluzione sotto il naso....

Per chi ha seguito il mio webcast di oggi sui nuovi controlli di login in ASP.NET si ricorderà che la dimostrazione si è interrotta con un'eccezione durante il tentativo di inviare una email dal controllo ChangePassword e da quello PasswordRecovery. Il problema, inizialmente imputato all'interazione con LiveMeeting, in realtà era dovuto in parte anche ad una configurazione del SMTP Virtuale troppo stringente. Ho risolto impostando come SMTP Server uno esterno alla mia rete fornendogli le adeguate credenziali e ora tutto funziona.

Ecco il testo del template modificato dal test effettuato:

CAMBIO PASSWORD
Ciao Davide ,ecco la tua nuova password: P@ssword1.

 


che se vi ricordate bene, prima di essere gestito dal MailDefinition object, è composto con i seguenti marcatori:


CAMBIO PASSWORD
Ciao <% UserName %>,ecco la tua nuova password: <% Password %>

Peccato non averci pensato durante il webcast sarebbe stata tutta un'altra cosa.


Technorati tags: ,

mercoledì 1 febbraio 2006

5 Webcast per conoscere Visual Web Developer 2005 Express Edition

Microsoft mi ha offerto l'opportunità di tenere 5 webcast per introdurre i partecipanti all'uso di Visual Web Developer 2005 Express Edition. Se foste interessati ecco le date e gli orari:

  • L'ambiente di sviluppo
    02/02/2006
    Orario 14.30 - 16.00
  • Lavorare con Master Page e fogli di stile
    07/02/2006
    Orario 11.00 - 12.30
  • DataBinding, i nuovi DataSource di ASP.NET
    09/02/2006
    Orario 14.30 - 16.00
  • La sicurezza di una web application
    14/02/2006
    Orario 14.30 - 16.00
  • Debugging, Tracing e Deployment
    16/02/2006
    Orario 14.30 - 16.00

Se volete registrarvi cliccate qui .

martedì 24 gennaio 2006

Microsoft Expression Interactive Designer codename "Sparkle" ora disponibile in beta

Microsoft Expression Interactive Designer è ora in beta pubblica. Preparatevi alle nuove interfacce grafiche per le future applicazioni per Windows utilizzando questo e gli altri prodotti che fanno parte di Microsoft Expression.

Per maggiori informazioni clicca qui