|  | 
				
                    
ottobre 2005 Blog Posts
				
				
				
Come giustamente mi ha fatto osservare Lorenzo, 
Visual Studio 2005 in italiano uscirà fra molto, molto tempo. E' vero, il 
termine "molto" è molto relativo (scusate il gioco di parole), per cui 
ho preferito non aspettare e dare subito sfogo alla voglia di giocare con FW 2.0 
e VS2005.
Per cui, questa mattina, di buon'ora ho cominciato con il download 
di:Visual Studio 2005 ProfessionalVirtual PC 2004Microsoft 
Project 2003
Già in tarda mattinata ne avevo scaricato buona parte. In conclusione, sul 
mio PC da qualche minuto una parte del manù Start riporta 
quanto segue...
Ho già dato un'occhiata al mio nuovo giocattolino. Mi piacerebbe... 
				
				
				
Ecco un primo screenshot di HappySign. Oggi, divertendomi 
un po', ho ristrutturato la UI del software, utilizzando un controllo freeware 
scaricato da vbAccelerator. L'effetto non è niente 
male.
Anche l'utilizzo è piuttosto gradevole, devo dire. Il drag'n'drop funziona a 
meraviglia. La UI risponde bene. E' possibile creare nuove firme, modificarne le 
proprietà, rinominarle, spostarle di categoria: la UI si ridisegna 
automaticamente. E' molto carino da vedere! Se avrò tempo, durante il weekend lo 
provo per bene, lo testo, lo do in mano a mio fratello, e per chi vuole fare da 
beta-tester, mi contatti pure.
Buon Weekend!!!
powered by IMHO 1.2
 
				
				
				
E' più o meno da maggio che non sentivo parlare di 
weekend lungo. Sarà un weekend trafficato, almeno per me e la 
mia famiglia. Dunque, vediamo un po' cosa ci toccherà fare:
  Il PC di mio papà è esploso. Se tutto è andato bene, 
  oggi mio fratello ha preso un nuovo HD da 200 GBytes, perciò mi toccherà 
  riservare del tempo per formattare OS e quant'altro per rimettere in piedi il 
  PC. La cosa triste (ahimè) è che questo PC metteva in sharing le stampanti di 
  rete, perciò da domenica scorsa... 
				
				
				
Finalmente l'odissea è finita.Dopo 
intere giornate e nottate navigate sul sito MS alla ricerca della pagina 
perduta, finalmente, pochi minuti fa, ho ricevuto un'e-mail di Microsoft 
e due telefonate diverse: una dal contatto di Gorilla.it che mi ha 
sistemato il problema, l'altra dal Contact Center di MSDN Italy che mi hanno 
informato che il mio MSDN Subscription è stato attivato regolarmente. L'e-mail 
invece riporta il mio Benefit ID con cui sono riuscito a loggarmi. Non ci posso 
credere, sospiro di sollievo!
L'unico rammarico è non aver capito esattamente la procedura che bisogna 
seguire per fare tutto, dato che io non ho fatto... 
				
				
				
Non so quanti di voi utilizzino le firme nelle proprie 
e-mail. Beh, dai, penso quasi tutti. Normalmente la propria firma è associata ad 
un account. Per esempio, supponiamo di avere a che fare con il tizio Mario 
Rossi. La sua firma sarà qualcosa del tipo:
Mario Rossimario@dominio.ithttp://www.mariorossi.it
Cioè, la classica firma che riporta cognome, nome, indirizzo e-mail, URL del 
proprio sito, etc. Non so voi, ma a ma piace molto decorare la firma 
con un paio di righe in più, scrivendo, ad esempio, frasi 
famose, frasi d'effetto, 
esclamazioni, etc. etc. Io sono sempre stato un maniaco di 
queste cose. Rende la firma... 
				
				
				
Ieri sera, dopo una giornata di lavoro, mi sono fatto 
una bella partita a Quake 4, giusto per sfogarmi un po'. Dopo, ho dato una mano 
a mio fratello Omar che sta sviluppando un'applicazione WinForms in VB.NET per 
la gestione di un negozio di abbigliamento. Siamo rimasti in ballo fino a 
mezzanotte scrivendo codice, parlando, discutendo (leggere confrontarsi al 
limite del litigio) e analizzando diversi problemi che abbiamo avuto. 
Voglio riportare sul mio blog parte di quello di cui abbiamo discusso 
essenzialmente potrebbe servire a qualcun'altro, ma magari mi 
sbaglio.
Quello di cui voglio parlare è espresso bene nel titolo di questo post.... 
				
				
				Dopo aver scritto un bel post che spiegava come rinnovare MSDN Professional risparmiando un bel po', sto passando delle giornate ansiose e quasi preoccupanti. Motivo? Ho effettuato l'acquisto del prodotto come dicevo in quel post, l'acquisto e' andato a buon fine. Gorilla.it mi ha dato un authorization number e un license number, con questi mi sono registrato con successo sul sito http://eopen.microsoft.com/IT/default.asp.
La mia licenza sembra essere stata attivata, ma quello che ho fatto credi non basti per attivare completamente la MSDN Subscription. Non mi e' stato assegnato un Subscription ID, e qualsiasi tentativo di registrazione, di attivazione e di rinnovo MSDN dal... 
				
				
				
Nomi, fatti e luoghi NON sono 
puramente casuali. I fatti raccontati sono ispirati ad una vicenda realmente 
accaduta durante la serata di domenica, 23 ottobre 2005 nella mia 
famiglia.
La famiglia era riunita a cena. Ridendo purtroppo delle disavventure del 
governo, si mangiava in un'atmosfera divertente e rilassata. I due figli 
Igor e Omar, manco fossero due terroristi (uno ceceno, l'altro 
mediorientale), erano stati allo SMAU quel giorno, e raccontavano ai genitori 
quello che avevano visto, fatto e comprato."Beh, 
insomma, alla fine siamo andati negli stand Microsoft e trovare degli amici e a 
vedere un po' qualcosa di interessante." - disse Igor, concludendo... 
				
				
				
Dopo avervi annoiato con ben 49 post relativi a MCAD, 
dopo aver superato l'esame 70-316, adesso per me è tempo di ricominciare 
daccapo. No, no, state tranquilli, non ho intenzione di ripartire con [MCAD.1] 
 (ma quasi quasi...), quanto piuttosto 
quello di considerare il prossimo esame da fare, e quindi di ricominciare a 
studiare.
Dato che punto a MCAD, le strade possibili sono fondamentalmente 
tre. In ordine di preferenza personale crescente, ecco gli 
esami che sto valutando.
  Designing and Implementing Databases with Microsoft SQL 
  Server™ 2000 Enterprise Edition (70-229) - Di certo 
  non mi metto a studiare... 
				
				
				
foreach (Visitor vis in SMAU.Visitors)    if (vis.Name == "Igor Damiani")        MessageBox.Show("C'ero anche io!");
Ok, dopo 
l'ennesima sciocchezza in tema C#  e dopo aver letto gli altri post, voglio dire 
anche io la mia sulla SMAU di quest'anno. Ci sono venuto con mio fratello Omar, 
al contrario di quanto ho fatto gli anni scorsi quando bene o male era sempre 
venuto durante i giorni lavorativi e quindi ci venivo da solo.
Trovo giusto dividere tra Consumer 
e Business, perchè in questo modo si riesce perlomeno ad 
evitare la ressa ai padiglioni più interessanti; come giustamente ha detto 
Lorenzo, basta con le orde di ragazzini disinteressati che vengono allo SMAU 
solo per fare massa! Anche se,... 
				
				
				
Il mio primo weekend da MCP.Ok, ok, 
fra poco la smetto di fare il figo!!! 
A parte gli scherzi, il weekend che ho (abbiamo) di fronte non può che essere 
all'insegna di SMAU, almeno per chi può raggiungere Milano come e quando vuole. Non 
ho ancora un'idea precisa di quando ci andrò esattamente: o domani (sfruttando 
l'abbonamento al parcheggio ATM di San Donato) oppure domenica. Tappe obbligate 
saranno sicuramente i teatri Microsoft, dove magari assisterò a 
qualche sessione: se potessi scegliere, vorrei seguire qualcosa su SQL Server 
2005, argomento che ho (ahimè) trascurato un pochino. Purtroppo non mi ricordo 
più... 
				
				
				
La ragazza, che si chiamava Elena, arrivò a casa, 
stanca e piuttosto stressata dalla lunga giornata di lavoro. Era stata in piedi 
tutto il giorno in una sala conferenze di Microsoft a Segrate, a porgere il 
microfono a un tizio piuttosto che un altro, tutti partecipanti ad un workshop 
organizzato da UGIdotNET. Si era annoiata 
parecchio, perchè quei ragazzi parlavano di programmazione, di framework 
e di altri concetti strani con cui lei non aveva mai avuto a che fare. 
Era rimasta colpita soltanto in due occasioni: quando Francesco Carucci ha fatto 
vedere l'animazione della mucca, e quando aveva incrociato lo sguardo con quel 
tizio... 
				
				
				
Dopo quasi 50 post effettivi sul mio blog per 
la preparazione all'esame 70-316, questa mattina, finalmente, sono andato alla 
Global Knowledge Network, qui a Milano, per sostenere finalmente l'esame. 
Dovevo essere già sul posto alle 8:30, mezz'ora prima dell'esame. La pioggia ha 
rallentato la mia andatura, ma alla fin fine sono arrivato puntuale. 
Entro, do la carta d'identità, firmo un foglio. Mi accompagnano davanti al 
PC, dove mi aspetta un software intitolato qualcosa tipo "Developing and Implementing Windows-based Applications with Microsoft 
Visual C# .NET and Microsoft Visual Studio .NET". Un consiglio: le 
tizie non sanno nulla del software, non sanno spiegare cosa fa... 
				
				
				Questo sì che vuol dire bloggare! Sto giusto giusto aspettando di poter fare l'esame 70-316. Sono partito alle 7:10 da casa mia, in auto, per arrivare sul luogo dell'esame alle 8:45, maledizione! Sono mezzo rintronato dal traffico e dalla guida sotto la pioggia!
Ci vediamo dall'altra parte, ragazzi... 
				
				
				
Come ho già avuto modo di dire precedentemente, ci sono 
diversi argomenti che ho tralasciato nella mia serie di articoli dedicati a 
MCAD. Uno di questi, la creazione di Windows Control, lo considero piuttosto 
importante (e, come al solito, piuttosto divertente), per cui ne parleremo oggi 
in modo magari un po' superficiale, ma più che sufficiente per superare l'esame 
70-316.
IntroduzioneInnanzitutto, cominciamo col dire che creare 
un controllo significa in altre parole implementare una classe che erediti da 
System.Windows.Forms.UserControl. Se utilizziamo l'editor 
Visual Studio .NET, possiamo cominciare un progetto Windows Control 
Library. L'editor ci propone in progettazione il classico Form 
Designer,... 
				
				
				
In questo post avevo parlato di un'offerta Microsoft per 
poter riattivare il proprio abbonamento MSDN in condizioni vantaggiose. Ho avuto 
un po' di difficoltà a reperire informazioni, sul licensing, su cosa sia 
esattamente una Software Assurance, su quanto convenisse, etc. etc. Fino a 
quando....fino a quando nell'ultimo workshop non ho incontrato Giada che ho 
subissato di domande fino ad avere le idee chiare. 
Riassumo qui tutta la questione perchè, oltre a far comodo a me, può essere 
utile anche a voi. Oggi è il 18 ottobre, avete ancora 13 giorni per poter 
effettuare l'acquisto. Ricordo a tutti che non lavoro... 
				
				
				
  In questi ultimi tempi mi sono ritrovato più 
di una volta a discutere sugli strumenti che oggi il Web ci mette a 
disposizione per esporre contenuti on-line. Ho amici che mi hanno chiesto spiegazioni su cosa sia 
l'uno piuttosto che l'altro, a cosa servono, quando vanno usati e così via. Io e 
mio fratello ci siamo ritrovati d'accordo su alcuni punti, e in disaccordo su 
altri. Mi è piaciuta l'idea di fare un raffronto fra i diversi strumenti. Sono 
arrivato alla (ovvia) conclusione che non è che ci sia uno strumento migliore di 
un altro: semplicemente, servono per fare cose diverse.... 
				
				
				
Il workshop è stato grandioso, mi sono divertito, ho conosciuto alcune persone come Diego Guidi e Simone Busoli. Ho conosciuto persone che si sono certificate leggendo i miei articoli. Ho chiaccherato con tanti altri durante la cena, nella quale ho mangiato in modo spettacolare. Magari parlerò di un post più "serio" del workshop vero e proprio, adesso voglio solo fotografare i ricordi usando il nostro caro, buon vecchio alfabeto. 
A, Allucinante, come il codice C++ di Raffaele questa mattinaB, Byte, vengo più ricordato per i miei racconti sui bytes più che per MCADC, Cena, troppo divertente parlare e mangiare con Lorenzo,... 
				
				
				
Oggi ho passato una giornata completamente offline. Era 
parecchio che non mi succedeva. Ho letto solo adesso, un po' svogliato, i post 
di oggi sui blog di UGIdotNET. Sono anche stanco, ho guidato un po': non sono 
andato lontanissimo, ma le strade trafficose della tangenziale Ovest di Milano 
mi mandano sempre ko. 
Più che .NET e C#, oggi ho avuto a che fare con il buon vecchio (ed 
intramontabile, spero) VBA, con qualche stored-procedure ed affini. Sono stanco, 
dicevo, ma domani e dopodomani, per fortuna, mi aspettano due workshops 
succulenti, come solito. Si parlerà di Java, a quanto pare, di .NET,... 
				
				
				
Mi piace rileggere i miei post: alcune volte sono 
"obbligato" quando mi arriva qualche comment/domanda su post che ho scritto 
settimane o mesi fa e non ne ricordo più il contenuto esatto (come quelli 
relativi ai miei MCAD). Altre volte, semplicemente perchè voglio rileggerli, 
perchè voglio rivedere il codice scritto. Ho notato che più di 
una volta mi è capitato di dire "mi sono divertito un mondo a fare 
questo", "che bello quando sono riuscito a fare così" e tante 
altre espressioni giocose e, in senso figurato, scritte con il sorriso stampato 
in faccia, che mi hanno fatto pensare un po'.
Non l'ho fatto per... 
				
				
				
E' vero, chi legge il mio blog su UGIdotNET sa benissimo 
che sto studiando per l'esame 70-316, che con l'argomento SQL Server si avvicina 
solo un pochettino. Ciò nonostante, questa mattina ho partecipato ad un bel 
corso interno all'azienda per cui faccio consulenza. Dato che lavoriamo 
quotidianamente con database SQL Server in alcuni casi piuttosto grandi, abbiamo 
visto come disegnare una tabella ottimizzandone poi le prestazioni in fase di lettura. 
Diversi gli argomenti che abbiamo toccato:
  indici clustered e non-clustered
  leggere l'Execution Plan di una query per eliminare i 
  colli di bottiglia di una SELECT
 ... 
				
				
				
Usare il data-binding può veramente togliere gran parte del 
lavoro di scrittura del codice. In questi giorni lo sto esplorando ben bene, e 
devo dire che, sebbene ci siano molti modi diversi e sicuramente più ottimizzati 
per realizzare WF che prelevino i dati da un database, è veramente divertente 
e piacevole vedere cosa si può fare in così poco tempo. Si è sul serio 
molto più produttivi.
Non mi interessa parlare di DataSource, 
DataMember ed affini. In parte l'ho già fatto nel mio post precedente           
, in parte vorrei invece approfondire... 
				
				
				
C'è stato un periodo molto lungo in cui 
frequentavo quotidianamente il newsgroup it.comp.lang.visual-basic: per 
molto tempo ho usato il mio nome in chiaro, poi sono passato al nickname 
Alletun: il mio primo post è del 2 luglio 1999. Ho 
conosciuto molte persone, ho aiutato e mi hanno aiutato tanti 
programmatori come me, alle prese, chi più chi meno, con Visual Basic 6.0.
Fra queste persone ce n'era una che si faceva chiamare Lupo e si distingueva dalle 
altre. Non perchè "le altre" fossero inferiori o meno capaci. Si 
distingueva perchè era in gamba, perchè andava sempre controcorrente 
e voleva sempre dire la sua. Non sopportava ADO, si... 
				
				
				
Vi è mai capitato di non veder partire il vostro 
software preferito e cadere in preda al panico?A me è successo oggi 
pomeriggio con il mio buon IMHO.
In pratica, mi spariscono sotto il naso i riquadri per il code 
snippet e per le categorie. Al loro posto, vedo un 
enorme rettangolo grigio. Mi era già successo un'altra volta, ma era bastato 
reinstallare l'applicazione per risolvere. Oggi invece la questione è stata più 
complicata: ho disinstallato IMHO, ho riavviato il PC, ho reinstallato: NULLA. 
Sono caduto in preda al panico, voleva postare qualcosa, e non potevo più: non 
posso nemmeno andare su... 
				
				
				
Faccio sempre una brutta faccia quando sento 
parlare di data-binding.In ambiente Visual Basic 6 ed affini, il 
data-binding è un metodo che permette di "collegare" bidirezionalmente un 
controllo ad una sorgente dati come, tipicamente, un database. Questo 
collegamento era completamente trasparente per l'utente: era sufficiente 
posizionare un controllo Data sul form o, più recentemente, un ADODC e impostare 
qualche proprietà del controllo ed il gioco era fatto. Troppi automatismi 
rendono il vita facile, è vero, ma tolgono allo stesso tempo controllo 
lasciando poco spazio al programmatore per intervenire nel processo che, di 
fatto, era gestito dal runtime di VB.
    In... 
				
				
				
Ieri sera, a casa, mi sono tuonate nelle orecchie le parole di Lorenzo 
all'ultima cena UGI: "Mi raccomando, iscriviti al workshop del 12 ottobre, 
perchè ci sarà da divertirsi!". Non ho capito dove sarà esattamente il 
divertimento, ma già solo il pensiero di sentire Andrea & Corrado 
all'opera mi fa venire i brividi. Poi c'è questo Lorenzo che parlerà di 
interoperabilità di Java e .NET...mah, non ispira fiducia, vedremo un po' cosa 
combinerà. Ovviamente sto scherzando!  Mi pare di capire che vedrò qualche riga 
di codice dedicata ai web-services, speriamo bene, magari mi servirà per 
l'esame...
Comunque, siccome non mi ricordavo più se mi ero... 
				
				
				
         
         Non appena oltrepassò i cancelli neri ed altissimi 
davanti a lui, il byte si aspettava di non trovare nessuno. Ma non fu così: 
in attesa c'erano altri bytes, come lui impauriti di quello che stava 
accadendo. Insieme, avrebbero formato un buffer di trasmissione da 
quasi 16 KBytes. In condizioni normali la 
trasmissione sarebbe avvenuta soltanto quando fosse stato pieno, 
ma quello era un caso speciale: non c'era più nessuno da trasferire, per cui 
anche se il buffer era arrivato a poco meno della metà della sua capacità, 
il controller diede l'ordine senza... 
				
				
				
Ecco lo scenario: il vostro collega ha sviluppato 
in C# un assembly molto carino. L'assembly si chiama 
GetBirthday.dll e dispone di un solo metodo statico, 
GetNearestBirthday(). L'assembly è strong-named. Il nostro 
collega l'ha installato nella nostra GAC con un piccolo installer 
fatto da lui. Il metodo GetNearestBirthday ritorna una string contenente il 
compleanno più vicino nel tempo fra quelli presenti in un database SQL Server 
(qualsiasi riferimento all'applicazione Age è puramente 
casuale).
L'assembly installato in questo momento è alla versione 1.0.0.0: noi lo 
abbiamo usato nella nostra applicazione Age, e gira a 
meraviglia. Clicco un pulsante, e in una TextBox mi viene detto che il prossimo... 
				
				
				
Questo è il post relativo a MCAD N°44, oggi è il 4 ottobre, il primo post è stato scritto il 4 luglio. 
Dev'essere il destino che ogni tanto fa questi giochini!! Oggi, quando uscirò 
dall'uffico, andrò nella prima ricevitoria a giocare i numeri 4 e 44, ambo 
secco. Chi lo sa, magari vinco qualcosa!!!             
            
    
Tornando seri: ritengo di aver parlato della maggior parte degli argomenti inerenti l'esame 
70-316. La data dell'esame si sta avvicinando.... 
				
				
				
Lo sviluppatore non vedeva l'ora di arrivare a casa. Era 
uscito dall'ufficio qualche minuto prima dal lavoro, per evitare il caos del 
traffico cittadino; in metropolitana continuava a pensare e mentalmente si stava 
già organizzando su quello che doveva fare; in autostrada guidò veloce, ansioso 
di arrivare a casa il prima possibile. Appena arrivò, salì in camera sua: da una 
parte, il suo PC aspettava silenzioso. Dall'altra, sul letto, c'erano tutti i 
componenti del suo nuovo PC, arrivato quel pomeriggio via corriere: scheda 
madre bella fiammante, memoria RAM per un totale di 
2GBytes, scheda grafica ed infine la nuova CPU a... 
				
				
				
No, questa non è pubblicità, non sono pagato da 
Microsoft.  E' solo che volevo rendere nota questa 
notizia che magari può interessare diverse persone come me: può essere che la 
conosciate già, ma non fa nulla. Ho voglia di parlarne, e lo faccio! 
Venerdì ho ricevuto una newsletter di Microsoft che avvisa del fatto che 
possiamo acquistare un abbonamento MSDN con un po' di sconto, che va (questo lo 
dicono loro) dai 200 ai 500 euro.Le promozioni sono per l'esattezza due:
  se si ha un MSDN Professional o Enterprise, possiamo aggiornarlo a 
  Universal, con la sicurezza che poi... 
				
				
				
Nei post [MCAD.31] e [MCAD.33] abbiamo visto come 
lavorare con 
.NET avendo a che fare con la CAS (Code Access Security ),    
        ovvero come assegnare o revocare 
dei permessi in base all'origine e all' "affidabilità" del codice che sta per 
essere eseguito. In base all'URL di provenienza, a seconda che l'assembly 
venga eseguito dalle directory locali del proprio PC oppure dalla Intranet, il 
runtime .NET assegna un permission sets piuttosto che un altro. Abbiamo visto 
come usare caspol.exe        
      ... 
 |