Technology Experience

Contenuti gestiti da Igor Damiani
posts - 949, comments - 2741, trackbacks - 15120

My Links

News

  • Questo blog si propone di raccogliere riflessioni, teoriche e pratiche, su tutto quello che riguarda il world-computing che mi sta attorno: programmazione in .NET, software attuale e futuro, notizie provenienti dal web, tecnologia in generale, open-source.

    L'idea è quella di lasciare una sorta di patrimonio personale, una raccolta di idee che un giorno potrebbe farmi sorridere, al pensiero di dov'ero e cosa stavo facendo.

    10/05/2005,
    Milano

Archives

Post Categories

Generale

aprile 2006 Blog Posts

L'evento Parse del BindingSource...ed il cliente è contento!

Drin...Drin..."Ciao, Igor. Senti, vorrei una modifica al tuo software di fatturazione.Quando scegli il cliente sulla maschera delle fatture, non voglio cliccare sui tre puntini.Io so il codice, per cui mi piacerebbe inserire una cosa tipo COD021, ed automaticamente deve apparire il nome del cliente. Si può fare? Ma la fai? Ci metti tanto?" Ovviamente, è solo una telefonata virtuale e mai avvenuta. Solo che potrebbe essere una cosa interessante da fare.Vediamo come modificare la mia applicazione per implementare questa modifica. Un breve riassuntoNella mia soluzione, ho definito una form FormFattura. All'interno di questa form, ho creato un metodo privato SetupDatabindings che si...

posted @ domenica 30 aprile 2006 00:06 | Feedback (0) | Filed Under [ Tecnologia ]

Ma il mio lettore DVD funziona oppure no?

Il mio PC ha due unità DVD: un semplice lettore, ed un masterizzatore. Non ditemi di usare un'unità sola, perchè non mi sta bene. Alcuni videogame non vanno d'accordo con i masterizzatori: anche se inserisco il CD/DVD originale, all'avvio mi viene sempre detto che il disco non è valido.  Altro esempio di come la lotta alla pirateria a volte disturba anche gli onesti. Vabbè, lasciamo perdere. Ultimamente, quando inserisco un CD/DVD nel mio lettore, XP mi dà un bel blue-screen che non so spiegare.  Ho disabilitato l'autoplay, ma il problema rimane. Pensavo di avere un problema hardware, però questa mattina...

posted @ sabato 29 aprile 2006 15:56 | Feedback (2) | Filed Under [ Tecnologia ]

Qualche pensiero sul pattern Command...

Sto facendo esperimenti su una piccola applicazione Windows Forms che possa implementare in qualche modo il meccanismo tale per cui l'utente possa annullare le operazioni che fa sui controlli sulla form stessa. Immaginate di avere un business object di qualsiasi tipo, che espone 5 proprietà di tipo string. Adesso, immaginate di bindare queste 5 proprietà a 5 TextBox su una Windows Forms. Ogni volta che l'utente modifica il valore di una TextBox, tale valore viene catapultato (!) nella proprietà del business object. Fin qua nulla di particolare. Però ora supponiamo di voler dare all'utente la possibilità di premere CTRL+Z o dei pulsanti sulla...

posted @ sabato 29 aprile 2006 15:45 | Feedback (4) | Filed Under [ Tecnologia ]

[OT] del venerdì (46)

Dramma! Tutto questo poltrire a casa, mi ha fatto sfuggire il fatto che oggi fosse venerdì, e quindi è l'appuntamento per il mio tradizionale OT. Beh, anche questo sarà un weekend monotono e triste, perchè non poter guidare, non poter muovermi come potrei (e vorrei) mi costringe in casa, a vedere qualcosa alla TV. E siccome ho letto polemiche sugli OT, sulle certificazioni, sui post, per favore, non disturbatemi: il blog è assolutamente territorio privato, per cui ognuno di noi ha diritto di scrivere quello che vuole, fino a quando non offende gli altri e non limita la libertà altrui. Vedete,...

posted @ venerdì 28 aprile 2006 18:09 | Feedback (7) | Filed Under [ OT ]

Le piccole magie del componente BindingSource

Il libro sul data binding sta dando i suoi piccolo frutti. Ho migliorato parte del codice del mio sw di fatturazione, con una piccola (e banale) chicca a cui sinceramente prima non avevo pensato. Questa chicca, a chi dovesse interessare, è spiegata a pag.114 di Data Binding with Windows Forms 2.0. Così, chi ce  l'ha, può dargli un'occhiata...vero, Marco? Com'era il mio codice prima...Dunque, vedrò di essere il più breve possibile. In ogni Windows Form del mio sw, faccio vivere un'istanza di un oggetto, dipendentemente dalla form stessa. Sulla form degli articoli, c'è un oggetto currentEntity di tipo Articolo. Sulla form delle...

posted @ venerdì 28 aprile 2006 12:07 | Feedback (2) | Filed Under [ Tecnologia ]

Ho fissato la data dell'esame

Il 1° Giugno, alle ore 10:00, andrò a sostenere l'esame 70-536. In tempo per riprendere a lavorare, per ripassare un po' di roba, per vedere le cose che mancano, per farmi venire un po' d'ansia. E, credetemi, se lo passo, io salto dalla gioia, e ve lo dico anche, alla faccia delle polemiche che ogni tanto imperversano sul blog.  Su questo discorso, mi allineo con Lorenzo, sinceramente: quando posto sul mio blog, so di rivolgermi ad un mio gruppo di amici e quindi mi viene naturale raccontare le cose che mi succedono, sia belle che brutte. Tra queste cose, ci sono anche i miei esami, per...

posted @ giovedì 27 aprile 2006 19:27 | Feedback (27) | Filed Under [ Esame 70-536 ]

[70-536, #28] Esecuzione asincrona? Thread!

Ve l'avevo promesso che avrei ricominciato. Dopo questa lunga pausa, dovuta un po' a motivi di lavoro e salute, vediamo oggi di riprendere la mia serie di post per l'esame 70-536. Questa ripresa dei lavori vede come protagonista la class Thread ed affini, ovvero tutte quelle classi definite nel namespace System.Threading che ci permettono di eseguire operazioni in modo asincrono. Ne avevamo già parlato in passato quando avevamo trattato il nuovo componente BackgroundWorker: con nuovo, intendo con il FX2.0. Il BackgroundWorker internamente fa ovviamente uso di thread secondari, e risolve la maggior parte delle problematiche riguardanti la gestione della UI. Come...

posted @ giovedì 27 aprile 2006 19:01 | Feedback (2) | Filed Under [ Esame 70-536 ]

Il mio esame 70-536...riprendiamo i lavori?

Avevo cominciato a scrivere come di consueto i miei post per il superamento dell'esame 70-536. Poi si sono accumulati alcuni problemi di salute ed  impegni di lavoro, che hanno bloccato il mio consueto trend di posting, che mi vedeva bene o male ogni 1-2 giorni scrivere qualcosa. Oggi pomeriggio però ho intenzione di riprendere i lavori in corso. Prima voglio fare un punto della situazione di quello che manca e ripassare quello che ho già studiato. Per avere le idee più chiare, solo per quello. Anche perchè rispetto allo studio sul 70-316, questo è stato un po' più movimentato. Inoltre, non avendo...

posted @ giovedì 27 aprile 2006 12:27 | Feedback (1) | Filed Under [ Tecnologia ]

Un tool per cancellare i Recent Projects di VS2005

Ho provato a googlare alla ricerca di un tool che mi aiutasse a cancellare i recent projects che VS2005 memorizza nel registro. Ricerca inutile, per cui mi sono dovuto cancellare a mano tutte le voci in HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\ProjectMRUList. Odio quell'elenco, o perlomeno odio pensare alla sporcizia del registry che provoca. Per cui, a mali estremi, estremi rimedi. Ho cominciato a scrivermelo da solo, questo tool. Con una banale Windows Form, viene mostrato l'elenco, evidenziando in modo particolare questi progetti o soluzioni che per un motivo o per l'altro non esistono più. Se dovesse interessare a qualcuno, fatemelo sapere, che lo pubblico da qualche...

posted @ mercoledì 26 aprile 2006 20:19 | Feedback (3) | Filed Under [ Tecnologia ]

Cronache da uno unit-testing e da un code coverage

No, non è una nuova saga fantasy, ma è la cronaca del mio pomeriggio.Qualche tempo fa ve l'avevo detto: io e mio fratello stiamo lavorando assieme su un progetto molto, molto custom, per un concessionario di auto-rimorchi nella nostra zona. Avevamo cominciato a lavorare assieme sul domain model da implementare nell'applicativo. Il tutto è stato creato inizialmente con il class designer di VS2005: se vi interessa il risultato, potete dare un'occhiata qui. Ho voluto utilizzare NHibernate come engine di persistenza, senza più diventare matto a programmare da zero un data provider corretto. Ho creato inoltre un progetto per lo unit-testing, per verificare...

posted @ mercoledì 26 aprile 2006 19:30 | Feedback (1) | Filed Under [ Tecnologia ]

[OT] Il cinema e le mie strane scoperte!

Rinchiuso in casa causa convalescenza, mi sto gustando (ehm...mentre leggo il mio libro sul data binding) la serie Karate Kid che sta trasmettendo Italia 1. Beh, insomma, i primi capitoli della saga li avevo visti, ma il quarto proprio no. L'indimenticabile maestro Miyagi questa volta non allena il mitico Daniel San, bensì una ragazzina con i classici problemi familiari di una quindicenne da film (orfana di entrambi i genitori, vive con la nonna ma il rapporto non è dei migliori, miglior amica di un'aquila ferita , etc. etc.). Ho guardato 'sta ragazzina e mi sono detto chi diavolo fosse, era un viso che avevo...

posted @ martedì 25 aprile 2006 18:28 | Feedback (1) | Filed Under [ OT ]

Mi installo il SQL Server 2005 SP1...speriamo bene!

Mi è piaciuto il richiamo alla security di Raffaele di questa mattina, perciò ho deciso di installare subito l'SP1 per SQL Server 2005. Nella mia LAN ne ho installati due: una Express Edition sul mio PC personale, una Developer Edition sul server locale. Quest'ultimo è un po' più missional critical: su di esso, girano i miei database più importanti (i backup di qualche cliente, ed altro ancora), c'è installato IIS, SharePoint...insomma, un po' di roba interessante. Ma rischio lo stesso: scarico l'SP1 e lo installo su, con tutti i pericoli che corro, che pensandoci bene non sono poi tanti perchè comunque ho...

posted @ martedì 25 aprile 2006 17:16 | Feedback (0) | Filed Under [ Tecnologia ]

Mi è arrivato il Visual Studio Industry Partner Program DVD

Il 19 Aprile scorso avevo ordinato da questo URL il Partner Resource DVD 2006, che mi è arrivato ieri pomeriggio (5 giorni!). Il kit, completamente gratuito, è composto da 2 DVD: uno contiene la trial di VS2005 Professional Edition, mentre il secondo - che magari guarderò meglio nei prossimi giorni - contiene tutta una serie di tool, kit, SDK di terze parti che estendono l'ambiente Visual Studio. Altra nota sull'estendibilità di VS2005: su gotdotnet.com c'è questo progetto, che io avevo scaricato da tempo. Sono in pratica i Power Toys per VS2005, che estendono il class designer di default. Magari potreste trovarlo...

posted @ martedì 25 aprile 2006 12:01 | Feedback (0) | Filed Under [ Tecnologia ]

NRuleValidator, avanti tutta!

Terra, data astrale 25 Aprile 2006. Italia. Sono stato un po' latitante sul blog, negli ultimi giorni. Non poter scrivere sulla tastiera bello comodo, seduto davanti al PC, mi porta davvero a sbagliare una quantità assurda di lettere. Bisognerebbe quasi fare uno studio in merito, cioè se l'abitudine ad una certa posizione porta anche ad una sorta di istintività nello scrivere. Se questa posizione viene a mancare, ecco che anche la capacità di digitare più o meno veloce va a farsi friggere. Beh, comunque, anche se mi avete visto postare un po' poco, ho lavorato dietro le quinte. Io e Giancarlo...

posted @ martedì 25 aprile 2006 11:29 | Feedback (13) | Filed Under [ Tecnologia ]

Un byte incontra (affascinato) la NRuleValidator

0x78FFA0.Questo comparve sul bus address del sistema. Il byte reagì immediatamente, balzando sullo stream di dati insieme a tutti gli altri. Pochi cicli di clock dopo, il byte stava percorrendo un bus litoraneo: alla sua sinistra si ergeva una parete altissima, ricoperta di informazioni sparse a casaccio su tutta la superficie. Alla sua destra, invece, uno strapiombo che finiva chissà dove. Mentre correva, il byte guardò e provò un brivido al pensiero di cadere giù. Lo strapiompo finiva sulla RAM, ma il byte non lo poteva sapere, perchè un forte senso di vertigine gli impedì di guardare a lungo, così...

posted @ sabato 22 aprile 2006 19:51 | Feedback (8) | Filed Under [ 010 .bytes. 010 ]

[OT] Un ringraziamento a tutti coloro che...

Ieri il mio intervento di ieri è durato 2 ore. Una grande ansia, l'attesa stressante, qualche complicazione, uno svenimento, ma per il resto tutto bene. Senza fare nomi, che sono davvero tanti ed oltretutto non tutti appartengono a UGI, desidero ringraziare tutti coloro che mi hanno fatto gli auguri, che mi ha mandato in bocca al lupo, eccetera eccetera. Adesso sono a casa, un po' frastornato, avrò delle visite di controllo nei prossimi giorni, ma credo che il peggio sia passato. Per dirla alla lodigiana...sperem!!!... powered by IMHO 1.3

posted @ sabato 22 aprile 2006 13:13 | Feedback (23) | Filed Under [ OT ]

ValidationContextComponent : un componente per la Janky.Validation

IntroduzioneTrovo spettacolare la Janky.Validation del buon Giancarlo. Come ha spiegato lui stesso in passato, la Janky.Validation è una libreria che ci permette di validare i nostri business object in un determinato e particolare contesto. In pratica, ogni contesto di validazione contiene una o più classi derivate da RuleBase, che esprimono per l'appunto le regole che devono essere rispettate. La cosa scomoda è che tutto va fatto via codice. Quindi, per esempio, se volessi validare un oggetto Articolo, nel mio software di fatturazione è scritto una classe che contiene: this.Rules.Add(new StringLengthRule(_controls[0], "Inserire un codice da 1 a 10 caratteri!", _articolo.Codice, 1, 10));this.Rules.Add(new StringLengthRule(_controls[1], "La denominazione è obbligatoria!", _articolo.Denominazione, 1, 255));this.Rules.Add(new ValueInRangeRule(_controls[2], "Il costo unitario è obbligatorio!", (double)_articolo.CostoUnitario, 0, 50000, ComparisonType.Greater, ComparisonType.LesserOrEqual));this.Rules.Add(new ValueInRangeRule(_controls[3], "Secondo le leggi in vigore, l'IVA è sempre al 20%!", (double)_articolo.Iva, 20, 20, ComparisonType.GreaterOrEqual, ComparisonType.LesserOrEqual)); Questo codice è inserito in una classe ArticoloValidator, derivata dalla ValidationContext della Janky.Validation. Anche il...

posted @ giovedì 20 aprile 2006 14:20 | Feedback (1) | Filed Under [ Tecnologia ]

[OT] del giovedì

 No, non c'è alcun errore, questo è proprio un OT del giovedì. Prendetelo pure come un OT del venerdì in anticipo. Non l'ho numerato, perchè rimarrà unico nella storia del mio blog. Ho deciso così, perchè domani ho proprio paura che non avrò nè tempo, nè voglia di mettermi davanti al PC. E' dal 22 Novembre 2005 che aspetto la giornata di domani: non ho voglia di raccontarvi i retroscena di questa data, lo farò solo a chi si dimostrerà valoroso (un po' come le prove finali di Indiana Jones e l'Ultima Crociata). Per dirla breve, domani mattina alle 7...

posted @ giovedì 20 aprile 2006 11:29 | Feedback (26) | Filed Under [ OT ]

Reflection: un tip per ottenere l'elenco dei tipi che ereditano da una classe base

Un piccolo tip che magari vale la pena pubblicare su UGIdotNET. Se avete la necessità di rilevare tutti i tipi definiti in un assembly, lo si può fare banalmente tramite Reflection. public static List<Type> GetAllAvaiableRules(){    // Type classRuleBase = typeof(RuleBase);    List<Type> ret = new List<Type>();    Assembly janky = Assembly.GetExecutingAssembly();    Type[] all = janky.GetTypes();    for (int i = 0; i < all.Length; i++)        // if (all[i].BaseType.Equals(classRuleBase))            ret.Add(all[i]);    return(ret);} Questo blocco di codice ritorna una List<Type> definiti nell'assembly corrente. Nulla di particolarmente complicato. La cosa interessante è che possiamo ottenere l'elenco dei tipi che ereditano da una classe base: basta discommentare le due righe. La prima dice qual'è il tipo della classe base. La classe Type espone una proprietà BaseType che ci dice per l'appunto qual'è il tipo che cui deriva. Basta un semplice if ed il gioco è...

posted @ mercoledì 19 aprile 2006 17:17 | Feedback (2) | Filed Under [ Tecnologia ]

Sta per uscire anche il nuovo Chris Sells!

Oggi è la giornata dei libri su .NET . Sul suo blog, Chris Sells ci avvisa che il suo libro Windows Forms 2.0 Programming uscirà la prima settimana di maggio. Notizia che non mi fa intristire di sicuro, se non che ho scoperto che Amazon fa una particolare offerta. Si può acquistare l'accoppiata Windows Forms 2.0 Programming + Data Binding with Windows Forms 2.0 ad un prezzo speciale, 69,28 dollari contro i 109,98 se invece si acquistato separatamente.  Per me ormai è troppo tardi, voi invece - che siete ancora in tempo - non pensateci su due volte: acquistateli senza battere ciglio! Buona lettura a tutti! powered...

posted @ mercoledì 19 aprile 2006 16:01 | Feedback (3) | Filed Under [ Tecnologia ]

Data Binding with Windows Forms 2.0 è con me!!

Pochi minuti fa ho ricevuto la spedizione da Amazon.com di Data Binding with Windows Forms 2.0. Sono felice come una Pasqua.  E pensare che ho avvisato qua nella mia azienda un sacco di colleghi per ritirare il libro al posto mio, perchè pensavo che arrivasse quando io sarei stato assente per qualche motivo. Inoltre, l'arrivo era previsto per i primi di maggio...ed invece...eccolo qua nelle mie belle manine!!!! Nella spedizione mi sono fatto arrivare anche uno dei volumi che compongono il GdR di Star Wars ed un'altro sull'antica Roma per cui invece impazzisce mio fratello. Evviva!!! Avrò un bel po' da leggere, allora,...

posted @ mercoledì 19 aprile 2006 12:44 | Feedback (4) | Filed Under [ Tecnologia ]

Lavorare in due su un progetto Windows Forms

Sono nelle fasi iniziali di un nuovo progetto Windows Forms che mi occupa il tempo libero. Invece di analizzarlo, studiarlo ed implementarlo da solo, questa volta sono affiancato da mio fratello Omar. Ieri sera, mentre il Milan dominava a tratti la partita, ma nel frattempo si beccava un gol, eravamo davanti al mio monitor 19" a studiare e a vedere un po' in che modo tirare in piedi il domain model dell'applicativo. Tale applicativo gestisce la vendita di camion/rimorchi/simili per un noto concessionario di Lodi, che è uno dei più grandi del nord Italia. Lavorare in due su un progetto, dicevo, mi permette...

posted @ mercoledì 19 aprile 2006 11:06 | Feedback (24) | Filed Under [ Tecnologia ]

Una Pasquetta davvero proficua!

Oggi avrei dovuto fare la classica gitarella fuori porta, a visitare una bella villa romana da qualche parte a Desenzano sul Garda. Un po' il maltempo, un po' il timore di trovare un traffico pauroso sulle autostrade, mi hanno fatto desistere. Però, devo dire che ho avuto il mio bel daffare. Come mi ero presupposto venerdì pomeriggio, nel weekend ho davvero lavorato su tante tecnologie diverse che prima di oggi avevo solamente guardato sommariamente, giusto per capire cosa facessero o solamente per arrivare fin dove mi bastava. E non è uno scherzo: ho visto talmente tante cose che non so da dove cominciare....

posted @ martedì 18 aprile 2006 00:05 | Feedback (1) | Filed Under [ Tecnologia ]

La fine di uno dei tanti bytes

Rispettate le Leggi sui Bytes, leggete cosa può succedere al vostro codice. byte[5] si allontanò dai byte[] con cui era arrivato fino lì. Gli altri lo avevano notato: negli ultimi 0xA3DD8 cicli di clock del sistema, era diventato più cupo, silenzioso ed introverso. byte[5] sempre più spesso si ostinava a non cooperare con gli altri. Nonostante i tasks di sistema gli chiedessero in continuazione il proprio patrimonio genetico, alla scopo di portare avanti con successo tutti i processi, byte[5] ritornava sempre e comunque null. La CPU gli chiedeva di trasferirsi da una cella all'altra, ma byte[5] rifiutava e se ne andava a spasso per il...

posted @ sabato 15 aprile 2006 20:17 | Feedback (1) | Filed Under [ 010 .bytes. 010 ]

9° Legge di Damiani sui bytes

Un byte si dice espansivo quando esegue autonomamente metodi di altri oggetti per comunicare.Un byte si dice introverso quando - sebbene istanziato e valorizzato nel codice - ritorna sempre e comunque null. powered by IMHO 1.3

posted @ sabato 15 aprile 2006 19:39 | Feedback (0) | Filed Under [ Le leggi sui bytes ]

Foto ed alcune filmati dai Community Days

Ok, prometto che dopo non ne parlo più. Siccome però ho scattato alcune foto dei Community Days con il mio Nokia, le metto on-line per condividerle. La qualità non è granchè, d'altronde si parla sempre di foto fatte da un cellulare, inoltre non mi sono guardato le impostazioni con cui le ho scattate.Ci sono anche 4 filmati di Davide Mauri e della sua sessione su Reporting Services. Durante l'aperitivo [1] Durante l'aperitivo [2] Brindisi tutti assieme al ristorante Durante la cena [1] Durante la cena [2] Durante la cena [3] Foto - Reporting Services con Davide Mauri [1] Foto - Reporting Services con Davide Mauri [2] Foto -...

posted @ sabato 15 aprile 2006 10:15 | Feedback (0) | Filed Under [ Tecnologia ]

Metteremo in pratica i Community Days?

Quando si partecipa ad eventi come i classici workshop UGI, oppure ad eventi inediti come i Community Days, si viene sempre soverchiati dalla mole di dati a cui si viene sottoposti: Fabio e mondo mobile, Corrado con WPF e Davide con Reporting Services mi hanno interessato parecchio. Nonostante una lunga parentesi di ASP-classic, per il resto sono sempre stato uno sviluppatore desktop-side. Ritengo quindi che le sessioni indicate sopra siano state per me la parte più interessante, per lo meno nel breve/medio periodo. La domanda che mi sono posto oggi è: quando metteremo davvero in pratica quello che abbiamo appreso durante la due-giorni?...

posted @ venerdì 14 aprile 2006 16:57 | Feedback (5) | Filed Under [ Tecnologia ]

I contenuti dei Community Days sono già on-line!

La pagina relativa ai Community Days è già stata aggiornata con tutte le slides e le demo che abbiamo visto nei due giorni precedenti. Sono inoltre felice di annunciare che se scaricate la splendida demo su Reporting Services di Davide, in realtà scaricate anche la mia applicazione di fatturazione con cui vi ho tartassato da un po' di tempo. Non sto qui a specificare che in realtà io ho avuto il materiale in anteprima dallo stesso Davide.  Che bella soddisfazione! Piccina piccina, nulla di che, roba di poco conto, però, insomma......lasciate stare, io sono super contento! powered by IMHO 1.2

posted @ venerdì 14 aprile 2006 16:07 | Feedback (0) | Filed Under [ Tecnologia ]

[OT] del venerdì (45)

Ehm, solo a me Microsoft sta facendo spamming? Ogni 10 minuti circa, ricevuto un'email con "grazie per aver partecipato al webcast", solo che si riferisce ai webcast di gennaio!  Mah. Vabbè, a parte questo...parliamo di cose serie. Si ritornerà a lavorare attivamente martedì, per il ponte di Pasqua. Per chi fa un banale lavoro da dipendente, questa è la routine. Ma io ho almeno 3-4 progetti su cui lavorare, e credo che mi darò un bel daffare: non sto qui a dilungarmi, perchè questo è il mio tradizionale post OT. Ho sentito dire che ci sarà un brutto tempo, almeno dalle...

posted @ venerdì 14 aprile 2006 11:16 | Feedback (1) | Filed Under [ OT ]

Community Days alle spalle...Voto? 10!

Mi sento di dare un 10 pieno a questi Community Days. Sono stati due giorni favolosi in ogni senso. Sessioni grandissime, di tutto rispetto, Compagnia ottima, come al solito direi, davvero molto divertente ed amichevole. Vabbè, durante la cena io e Lorenzo ci siamo massacrati, ma era un massacro amichevole e costruttivo. Non posso che ringraziare Davide Mauri che nella sua sessione di Reporting Services ha usato la mia applicazione di fatturazione come demo. Davvero, non ho parole per esprimere a sufficienza la mia felicità: ti dovrai accontentare di un GRAZIE in stampatello maiuscolo. Non posso che salutare tutti coloro che...

posted @ venerdì 14 aprile 2006 00:36 | Feedback (8) | Filed Under [ Tecnologia ]

Di ritorno dal primo giorno di Community Days!

Avevo pensato di non bloggare, ad essere sincero: sono arrivato a casa qualche minuto fa, a bordo della mia 500 alla quale ho dovuto anche far benzina (grazie Andrea per il consiglio sul distributore! ). Però, cavolo, mi sono detto...come si fa a non bloggare quando, appena entrato in camera, mi ritrovo sul letto il pacchetto del mio MSDN Subscription arrivato oggi mentre io non c'ero? Toh, così imparate a dirmi che ho preso la versione sbagliata!  Se volete sapere qualcosa di più su questi due community days, aspettate domani sera: preferisco fare una recensione complessiva delle due giornate. Di sicuro, la prima...

posted @ giovedì 13 aprile 2006 02:35 | Feedback (1) | Filed Under [ Tecnologia ]

Leggere i blog da Pocket PC con Pocket RSS

L'altra sera ero alla ricerca di un software per Pocket PC che mi potesse far leggere i blog anche senza stare davanti al mio PC. Ho trovato Pocket RSS: prima usavo una versione vecchia - credo fosse la 1.x - mentre adesso è uscita la 2.1.6. E' davvero bella e molto funzionale. L'unica cosa che mi spiace, ma deve essere un problema del blog di UGI - è che non vedo da nessuna parte l'autore del post.  Io lo riconosco dall'URL del post, però...insomma, così non va. Non è freeware, costa poco più di 5 dollari, ma secondo me ne vale...

posted @ mercoledì 12 aprile 2006 00:21 | Feedback (20) | Filed Under [ Tecnologia ]

Oggi corso su SQL Server 2000, domani Community Days!

Nel giorno del primo compleanno del mio blog, sono impegnato con un corso su SQL Server 2000 internamente all'azienda dove faccio consulenza. Inutile dire che ho poco tempo per essere on-line: ci vedremo direttamente domani ai Community Days. Mi dispiace molto per Rosalba, che non ci sarà, perchè ci tenevo a conoscerla, ormai è una UGIdotnettiana a tutti gli effetti. Pazienza - come dice lei - sarà per la prossima volta! Se nel parcheggio vedete una Fiat 500 rossa, sono io, chiunque voi siate, salutatemi pure!!! powered by IMHO 1.2

posted @ martedì 11 aprile 2006 17:34 | Feedback (3) | Filed Under [ Tecnologia ]

Che bello essere avvisati!

Mi capita spesso di vedere servizi nei TG dove praticamente ti mettono al corrente di manifestazioni/fiere/convegni/eventi vari ormai quando sono terminati. Seguo spesso, quasi per caso, TG2 Motori o TG2 Costume e Società, dove dicono "si è appena concluso questo", oppure "ieri c'era il rally di Sanremo". Odio quando mi succede così, perchè magari ci sarei voluto andare, e - per mia ignoranza - so le cose quando oramai è troppo tardi e non ci posso fare nulla! Bravo invece a Lorenzo che la mattina ci avvisa del suo webcast del pomeriggio.Mi sono appena registrato! powered by IMHO 1.2

posted @ lunedì 10 aprile 2006 12:12 | Feedback (1) | Filed Under [ Tecnologia ]

Il mio nuovo cellulare, Nokia N70

Qualche mese fa vi avevo reso partecipi del mio acquisto sul mio cellulare, il Nokia 6630. Era il 24 Novembre dell'anno scorso - pensavo fosse passato meno tempo, sinceramente. Venerdì sera sono andato all'Europlex di Pioltello per vedere "V per Vendetta". Quando sono entrato in sala, il Nokia 6630 era lì con me, perchè ricordo di averlo spento prima dell'inizio del film. Al momento di uscire, mi infilo il giubbotto, ed il Nokia non si trovava più. Abbiamo chiamato la guardia notturna, abbiamo perlustrato la mia poltrona in lungo e in largo, abbiamo controllato i posti a fianco. Niente, niente di...

posted @ domenica 9 aprile 2006 20:41 | Feedback (4) | Filed Under [ Tecnologia ]

[OT] del venerdì (44)

"44 gatti in fila per 3, con il resto di 2!", diceva una popolare canzone di qualche anno fa.Cosa c'entra? Nulla, altrimenti che OT sarebbe? Sono un single felice. Lo so, sembra una frase fatta, una di quelle frasi che ogni tanto bisogna dirsi per spiegare a noi stessi la nostra situazione. D'altronde, non posso fare altro che pensare che la vita di ciascuno di noi può essere rappresentata da una torta, il cui totale è 100%. Se avessi una dolce metà, questo 100% andrebbe spezzettato, andrebbe suddiviso con lei. Sarei felice di farlo, mi pare ovvio, ma non posso...

posted @ venerdì 7 aprile 2006 10:36 | Feedback (6) | Filed Under [ OT ]

Un solo, buon proposito per la settimana prossima!

Impegni di lavoro piuttosto urgenti, progetti con scadenza ravvicinata, altre questioni da concludere, hanno bloccato - ahimè - la mia serie di post sull'esame 70-536. Siccome ci tengo e mi piace, mi impegno dalla settimana prossima è ricominciare come ai vecchi tempi. Avrò sicuramente due giorni di offline, corrispondenti ai Community Days del 12 e del 13 aprile prossimi, ma per il resto ho intenzione di concludere gli ultimi temi che rimangono da sviscerare. Per far felice me, per far felice voi! Ci sarebbe anche da fissare la data del mio esame 70-536, ma un banale problema di salute mi impedisce una...

posted @ venerdì 7 aprile 2006 10:16 | Feedback (0) | Filed Under [ Tecnologia ]

8° Legge di Damiani sui bytes

L'unico patrimonio genetico proprio di un byte è il valore che esso contiene: due bytes con lo stesso valore hanno lo stesso patrimonio genetico, e di conseguenza tendono a reagire - in un'analoga situazione - con la stessa modalità. powered by IMHO 1.2

posted @ giovedì 6 aprile 2006 14:32 | Feedback (19) | Filed Under [ Le leggi sui bytes ]

Genghis for .NET 2.0

Dice Chris Sells: Genghis is a set of extensions built on top of .NET and integrated with WinForms to provide application-level services in the same flavor as the Microsoft Foundation Classes. Perchè non crederci? A questo URL su GotDotNet potete trovare l'ultima release di Genghis, rilasciata lo scorso 22 Marzo. ComboBox con le immagini ed auto-completate, controlli di tutti i tipi, molto codice da leggere, e diverse classi helper da usare direttamente nelle nostre applicazioni (CursorChanger, FolderList, ProgressBar gradienti, etc.). Ho intenzione di guardarmi con attenzione la classe WizardSheet che come dice il nome ci permette di creare autocomposizioni con - spero - il...

posted @ giovedì 6 aprile 2006 14:16 | Feedback (0) | Filed Under [ Tecnologia ]

Classe CurrentTimeUpdater - parte seconda

Qualche giorno fa ho postato una mia piccola classe in grado di aggiornare un controllo con l'ora corrente, sfruttando un thread secondario. Questa mattina ne ho scritto una versione migliorata e più funzionale. Ho sfruttato diverse tecniche .NET, come delegate, eventi e anonymous method. Per descriverla, preferisco cominciare alla rovescia, ovvero farvi vedere con la utilizzo sulla mia WF. private void FormPadre_Load(object sender, EventArgs e){    updater = new CurrentTimeUpdater(1000);    updater.OnCurrentTimeChanged += delegate(System.Object o, CurrentTimeEventArgs ea)    {        this.BeginInvoke(new WriteCurrentTimeDelegate(writeCurrentTime), ea.CurrentTime);    };    updater.Start();} Il costruttore della CurrentTimeUpdater accetta un membro di tipo int che esprime ogni quanti millisecondi deve essere sollevato l'evento OnCurrentTimeChanged (nell'esempio qui sopra 1 secondo). Notate l'uso che ho fatto degli anonymous method: sull'evento associo un handler in-line nel codice, senza dichiararne esplicitamente il membro...

posted @ mercoledì 5 aprile 2006 15:49 | Feedback (0) | Filed Under [ Tecnologia ]

[Molto, molto OT] Un uomo sorride, ed io non sono molto felice

Solitamente, è bello vedere una persona sorridere, perchè un sorriso comunicare felicità, gioia.Questa sera il Milan ha passato il turno. Da milanista, ma da Italiano, ma soprattutto da coglione, sono un po' triste, perchè il nostro cosiddetto Presidente del Consiglio - magari - starà sorridendo. Beh, caro Presidente, c'è poco da ridere, anche se lei vive nel suo mondo e non se ne accorge. Il Milan avrà anche vinto, ma l'Italia va a rotoli. Se non va a rotoli - mi creda - potrebbe andare sicuramente molto meglio. Io non posso sinceramente credere che uno come lei rappresenti il nostro Bel Paese all'estero....

posted @ mercoledì 5 aprile 2006 00:10 | Feedback (0) | Filed Under [ OT ]

La demo di Casting Manager è disponibile!

Ho ricevuto alcuni contatti via e-mail e via Messenger di alcune persone interessate a vedere il mio software Casting Manager, probabilmente uno degli ultimi software scritti da me in Visual Basic 6 (l'altro è Dog'n'Cat, un software per veterinari rimasto un po' a metà). E' l'unico software tra l'altro che non ha una pagina dedicata sul mio sito ufficiale: non ho mai avuto tempo per farla. Pazienza! Beh, questa sera sono riuscito a ributtarmi nel mio mondo pre-managed. Ho tirato su una macchina con Virtual PC - che ho cominciato a preparare ieri sera - e ho installato il minimo indispensabile...

posted @ martedì 4 aprile 2006 23:38 | Feedback (7) | Filed Under [ I miei freeware Tecnologia ]

Un business object deve sapere come essere visualizzato?

Ho cominciato a scrivere questo post mentre la mia connessione Web va e viene.  Ieri sera, mentre io e mio fratello discutevamo su perchè una classe va scritta in un certo modo, su come implementare un domain model, su perchè è meglio creare proprie classi custom per fare determinati lavori, ho avuto un sussulto. Marco ci ha detto poco tempo fa come implementare l'interfaccia ITypedList su una custom collection per comunicare al FX come questa collection deve essere bindata ad una DataGridView (DGV). Implementare questa interfaccia significa sostanzialmente scrivere due metodi pubblici, che il FX esegue la prima volta che viene richiesto...

posted @ martedì 4 aprile 2006 12:34 | Feedback (23) | Filed Under [ Tecnologia ]

Disabilitare l'autoplay con Windows XP

Non ho capito esattamente da che momento, ma il mio Windows mi dà un bel blue-screen quando inserisco un CD nel lettore DVD. Credo sia l'autoplay: questo link spiega come disabilitarlo senza software di terze parti, senza entrare a mano nel registry, senza troppe complicazioni. Stasera lo provo e vi faccio sapere!!! powered by IMHO 1.2

posted @ lunedì 3 aprile 2006 18:53 | Feedback (1) | Filed Under [ Tecnologia ]

Unit-testing, code coverage e il mobbing

Negli anni 2003-2004 ho lavorato in una piccola software-house a Milano. Per "piccola" intendo 3 sviluppatori, 1 segretaria, 2 venditori, 1 capo. Uno dei posti peggiori in cui abbia mai lavorato. E' stato - professionalmente parlando - un periodo pessimo: tariffa giornaliera molto bassa, discussioni e litigate quotidiane, sballottato da una parte all'altra d'Italia per fare le demo del software che sviluppavamo, preparazione di decine di CD d'installazione senza una procedura automatica, accuse continue per aver cancellato il file xyz dal server, aperture sistematiche di SourceSafe per andare a chiedere a Tizio-Caio-Sempronio la motivazione di una certa implementazione a frmValuta (si...

posted @ lunedì 3 aprile 2006 18:46 | Feedback (22) | Filed Under [ Tecnologia ]

Keyzard e la didattica per disabili

Keyzard, il mio piccolo gioco creato ormai un paio d'anni fa, è tornato ad animare la mia domenica pomeriggio. Era nato un po' come una sfida, creare con Visual Basic 6.0 un gioco ovviamente non certo all'avanguardia, ma comunque capace di far divertire e sorridere. Per crearlo, mi ero basato sulla stessa idea di un vecchio gioco che avevo sul mio primo computer, il TI-99/4A. Il gioco si chiamava - con molta originalità - Far West e si trattava fondamentalmente di un duello fra due pistoleri. Il cattivo sparava delle lettere verso il buono. Il giocatore, per rispondere al fuoco, doveva...

posted @ lunedì 3 aprile 2006 13:55 | Feedback (2) | Filed Under [ Tecnologia ]

Aggiornare un controllo da un thread: CurrentTimeUpdater

Nel mio (ormai famoso, dato che tutti mi chiedono notizie) software di fatturazione, ho aggiunto ieri sera una bella StatusBar, nel bordo inferiore della mia Windows Form con IsMdiContainer = true. Questa StatusBar non fa nulla di particolare, solo visualizzare l'ora corrente in basso a destra. Solo che l'ora va continuamente aggiornata perchè il tempo, non è una novità, passa e non si ferma mai. Stamattina quindi ho creato una piccola classe CurrentTimeUpdater che in modo asincrono, e sfruttando un Timer interno, mi permette di aggiornare continuamente l'ora sul WF. Il vantaggio di questa soluzione è che il tutto gira in...

posted @ lunedì 3 aprile 2006 13:26 | Feedback (1) | Filed Under [ Tecnologia ]

7° Legge di Damiani sui bytes

Non accettare mai bytes da thread sconosciuti. Se il byte sta per essere eseguito, assicurarsi che il suo thread di appartenenza sia identificato e non sia sconosciuto. Se il byte sta per essere - più generalmente - memorizzato in un'area di memoria, assicurarsi che la suddetta area appartenga e sia sotto il controllo di un thread ben identificato. powered by IMHO 1.2

posted @ lunedì 3 aprile 2006 12:03 | Feedback (1) | Filed Under [ Le leggi sui bytes ]

Usare Messenger per fare le demo dei propri software

Questa mattina, alle 10, mi ero accordato con un'agenzia di modelle a Roma per fare la demo di un mio software (Casting Manager). Avevo pensato di usare Messenger, che ha la funzionalità di poter condividere un'applicazione tra due interlocutori. Purtroppo, l'operazione è fallita, perchè una causa non meglio precisata (firewall, Service Pack 2 di XP, Norton Internet Security, altro) non ci permetteva di inizializzare correttamente lo sharing dell'applicazione. L'errore era un fantomatico "Timeout nella connessione SIP". Pazienza, ma veramente un grande peccato, perchè ancora una volta la troppa sicurezza mi ha danneggiato. Ancora una volta, la mia regola è stata rispettata,...

posted @ sabato 1 aprile 2006 13:02 | Feedback (4) | Filed Under [ Tecnologia ]

VS2005 supporta la risoluzione 200x200

Ovviamente è solo una battuta!Questa mattina ho avviato Visual Studio 2005 per correggere alcuni bug e per rispondere velocemente a qualche domanda con chi stava dall'altra parte del mio Messenger.  Ho doppio-cliccato sull'icona che ho nella mia toolbar, ed ho aspettato qualche secondo. La risoluzione del mio desktop è 1600x1200, per cui ci ho messo un po' prima di trovare un ammasso informe di pixels in alto a sinistra, con l'IDE di Visual Studio. Ho fatto uno screenshot, la cui immagine è precisamente 200x200: Cavolo, ridotto in queste condizioni, VS2005 potrebbe starci anche sul mio Pocket PC, o sul mio Nokia. powered by...

posted @ sabato 1 aprile 2006 12:37 | Feedback (0) | Filed Under [ Tecnologia ]

Fatturazione: possiamo considerarlo finito?

Ci sono un po' di persone che mi chiedono notizie del mio programma di fatturazione. Ma tu pensa, manco fosse l'uscita di Windows Vista! Una mia amica, che è finita casualmente sul mio blog, si è addirittura proposta di testarlo quando l'avessi finito.  Beh, insomma, ho cominciato intorno al 12 marzo, ed oggi (ancora per poco) è il 31. Lo posso considerare terminato: devo disegnare una finestra di About decente e devo passare una bella giornata a fare test.  Magari sfrutterò un po' l'amica di cui parlavo sopra, eh eh eh!!! Non posso dire che si tratta di 19 giorni di sviluppo: non...

posted @ sabato 1 aprile 2006 01:02 | Feedback (7) | Filed Under [ Tecnologia ]

Powered by:
Powered By Subtext Powered By ASP.NET