di .NET e di altre amenità

Carnevale

Non c'è nulla da fare. Il carnevale proprio non riesco a farmelo piacere. Anche oggi sono stato "vittima" di una sfilata di carri allegorici, che mimavano quelli ben più signiicativi di altri carnevali. Alla fine, l'impressione è proprio quella di cui mi parlava il mio amico Francesco. Questo doversi divertire per forza, dovendo per forza fare "pazzie" a tutti i costi. Tutto questo ha un sapore di falsità che va ben oltre quella insita nel significato stesso del carnevale e delle relative maschere.

Da sempre sono spettatore più che attore in questa "farsa" organizzata. Tempo fa ero abituato a frequentare Piazza S.Marco a Venezia l'ultima domenica di carnevale, per ritrarre le maschere più belle con la mia macchina fotografica. Ma più che un partecipare alla festa aveva il significato di puro esercizio fisico, data la fatica "fisica" che la giornata richiede.

Eppure ammiro per qualche verso coloro che hanno la pazienza di costruirsi una costume, con fantasia per esibirsi in questo grande palcoscenico, ma trovo che per "la solita massa" alla fine non si tratti che di uno stupido rito cui si è obbligati a partecipare.

powered by IMHO 1.2

Ossessione pubblicitaria

Scenario: una tranquilla domenica, all'ora di pranzo mentre sono pronto ad azzannare una splendida orata alla griglia cotta al barbecue. Suona il telefono.

Chi mi conosce di persona sa quanto fastidio mi dia ricevere telefonate mentre sono a tavola, ad un'ora in cui chiunque dovrebbe sapere che se ti chiama al 90% ti disturba. Quest'oggi dall'altra parte della cornetta c'èra una ignara operatrice Telecom che per l'ennesima volta tentava di vendermi una linea ADSL, pur avendo o chiesto più volte ad altre sue colleghe di cancellare il mio nominativo dai loro elenchi dato che l'ADSL ce l'ho già e che comunque se ho bisogno di cambiarla al limite sarei io a chiamare loro.

Mi sono così trovato ad imprecare, nei confronti di una operatrice che probabilmente non fa altro che eseguire degli ordini, ma che in quel momento non era altro che la personificazione di un male dei nostri tempi.

La mia decisione, maturata ormai da alcuni giorni è quella di rifiutare sistematicamente d'ora in avanti qualsasi tipo di tentata vendita telefonica, e probabilmente sarò anche sgarbato. Almeno, i vecchi venditori porta a porta, un tempo dovevano presentarsi catturando l'attenzione e la simpatia del cliente, mentre oggi, tali venditori cornetta a cornetta hanno perfino l'ardire di telefonare alle ore più impensabili, coscienti di disturbare.

Il mio prossimo tentativo sarà quello di registrare la conversazione con un operatore Telecom e nel corso della telefonata informandolo della registrazione chiedergli ufficialmente di rimuovere il mio nominativo dagli elenchi, nella speranza che in una successiva violazione della mia privacy io in qualche modo possa diffidare ufficialmente Telecom da perpetrarne di ulteriori.

powered by IMHO

Microsoft Enterprise Library 1.0

Oggi ho avuto l'occasione di testare la Microsoft Enterprise Library che è stata pubblicata da alcuni giorni, come segnalato da Lorenzo. L'occasione è venuta dal sito web che sto sviluppando e che vedrà la luce tra poche ore (spero).

Visto il post suddetto, e il fatto che per il sito avevo usato il DAAB 3.1, ho deciso di dare una chance alla Enterprise Library di sostituirsi al vecchio ApplicationBlock. Così, dopo una breve e "frugale" letta alla documentazione ho imbracciato il refactoring e ho cominciato l'opera certosina di ritoccare il codice nel modo più efficace.

La sorpresa è stata gradevole. E' davvero bastato sostituire poche righe di codice nello strato di logica dell'applicazione, e il sito è tornato a funzionare alla grande. Il nuove DAAB, astrae il database e si comporta a grandi linee come il vecchio Data Access Application Block, ma nel contempo fornisce un numero elevatissimo di nuove feature.

Prime fra tutte la gestione della configurazione che ora può essere suddivisa in file separati e può essere anche crittata. Inoltre il nuovo Application Block, così come tutti gli altri inclusi nella library crea una serie di Performance Counters che saranno di sicuro utilissimi in fase di debug e di tuning. L'unica accortezza è che nello sviluppo di un sito web si dovrà fare in modo che le chiamate ai Performance Counters non vengano eseguite, pena un errore causato dal tentato accesso al registry.

La MEL include al suo interno il supporto per database SqlServer, Oracle e DB2, la gestione automatica delle stringhe di connessione e una classe DatabaseFactory che leggendo dal file di configurazione "indovina" il provider di cui si ha bisogno.

Davvero un bel lavoro, talmente esteso che il paragone con il vecchio DAAB è davvero impressionante, ma la medesima sensazione la si ha anche sbirciando le altre librerie incluse nel progetto.

powered by IMHO 1.2

Elemosina in rete?

Ecco che la rete sputa fuori l'ennesima curiosità. Si tratta di dropcash, letteralmente un sito dove aprire la propria raccolta fondi, per uno specifico obbiettivo. E quello che più sorprende è che funziona. C'è chi è riuscito a racimolare ben 4000$ per spostare il proprio blog su un nuovo server...

http://www.dropcash.com/

powered by IMHO 1.2

EON Query Language

Trovo una segnalazione interessante al seguente post che illustra una libreria, denominata EON, ch consente di effettuare delle query su una gerarchia di oggetti in-memory, con una sintassi similare a quella di XPath.

Fonte: Sébastien Ros' Weblog - Querying over objects: just say EON

La cosa mi pare davvero interessante, se non altro perchè potrebbe essere un rimo passo nella direzione delo sganciarsi dal SQL.

powered by IMHO

Updater Application Block 2.0 Released

Segnalo che è stata pubblicata una nuova release del Updater Application Block, che Lorenzo aveva sostanzialmente "stroncato" nel workshop dello scorso dicembre. Ora bisogna vedere se i limiti che egli aveva segnalato sono stati in qualche modo superati.

Fonte: Check out latest drop of Updater Application Block!

Workspace GotDotNet: http://www.gotdotnet.com/workspaces/workspace.aspx?id=83c68646-befb-4586-ba9f-fdf1301902f5

powered by IMHO

Blog Software Breakdown

Nell'articolo linkato in coda a questo post è pubblicata una tabella che riassume le principali caratteristiche dei blog engine più conosciuti. A parte l'osservazione che la colonna che riguarda .TEXT è un po' imprecisa, ad esempio dove non indica che questo engine è compatibile con le MetaWeblog API oltre che esporre un proprio set denominato SimpleBlogService, devo rilevare che a quanto leggo IMHO è compatibile con quasi tutti gli engine riportati. Infatti, attraverso l'adapter per Blogger, o il MovableType praticamente tutti gli engine sono supportati.

Source: Blog Software Breakdown

powered by IMHO

Un caso Agile?

Stamane ho avuto una rivelazione. Ero in riunione con un cliente, a proposito di un progetto piuttosto importante, quando quest'ultimo ha fatto un'affermazione che a prima vista potrebbe sembrare banale, ma che ragionandoci sopra mi ha dato una sottile soddisfazione.

L'affermazione è la seguente: "All'inizio abbiamo scritto un documento, poi il modulo è stato realizzato, e ora stiamo riscrivendo il documento per adeguarlo al risultato". Questa frase, buttata li come una battuta, mi è rimasta in testa per tutta la giornata, e rimuginandoci sopra sono arrivato alla conclusione di poter essere contento di quanto è avvenuto.

Infatti, lo sviluppo di questo modulo applicativo, si è svolto proprio come sintetizzato dalla frase. Il documento iniziale era nulla di più che una semplice traccia sulla quale lavorare. Nello scrivere il codice perciò ho scelto di implementare il minimo possibile delle funzionalità e poi di rilasciare una prima versione che a quel punto è diventata il canovaccio sul quale il cliente ha cominciato a provare e a richiedere modifiche.

Così alla fine, il risultato rispetta solo in minima parte ciò che è stato definito nel documento iniziale, ma il feedback del cliente mi fa capire che egli è indubbiamente molto soddisfatto del risultato ottenuto che va molto aldilà delle sue aspettative.

Occorre però segnalare una caso. Il procedere in questo modo ha indubbiamente dilatato i tempi di sviluppo. Questa però è stata una scelta del cliente, che volendo avere l'applicazione il più possibile soddisfacente e completa ha scelto di non considerare il tempo una variabile importante e di posporre così la consegna del modulo.

Meglio non poteva andare: il cliente è contento, l'azienda anche e io ne ho ottenuto una buona dose di soddisfazione. Se questo si può chiamare Agile, allora non c'è dubbio che questa volta si è dimostrato vincente.

powered by IMHO

Internal Coding Guidelines

L'uso di linee guida nella scrittura del codice è da sempre una materia piuttosto dibattuta e aperta a mille interpretazioni. Oggi ho trovato un articolo di Brad Adams che illustra delle linee guida a mio parere ben fatte e motivate. 

Un esempio è relativo alla annosa questione del prefisso per le variabili membro: m_, s_, _ che tipicamente creano molte fazioni, e diciamocelo, sono veramente brutti da vedere nel codice. Brad suggerisce l'uso delle keyword this. o base. per evidenziare che ci si riferisce ad un campo membro.

Fonte: Internal Coding Guidelines

powered by IMHO 1.2

XP Book discussion group

Segnalo che in questo gruppo di discussione vengono affrontati i temi dell'XP programming con un moderatore di eccellenza. A quanto vedo infatti le risposte sono di Kent Beck in persona. Direi che vale la pena di iscriversi al feed perlomeno.

Fonte: Yahoo! Groups : xpbookdiscussiongroup

Nel gruppo Kent Beck affronta una delle pratiche dell'XP ad ogni settimana, con riferimento alla seconda edizione del suo libro che Marco Abis ci ha segnalato in un suo post.

powered by IMHO 1.2

Click of the week: Ghost in the fog.

 
Ghost in the fog. 18/01/2005 - ore 8:55

Microsoft Drops Appeal in EU

E di quest'oggi la notizia che Microsoft ha rinunciato ad appellarsi al giudizio che l'ha vista perdente nella causa contro l'Antitrust Europeo, in merito al software Windows Media Player.

La soluzione non dovrebbe sorprendere a mio parere. Infatti, è probabile che alla Microsoft abbiano giudicato un'inutile dispendio di energie e soprattutto di denaro, l'affrontare una nuova causa contro il pregiudizio che ha governato tutta questa vicenda fin dall'inizio.

Nella notizia che ho appreso da bink.nu, è riportato anche il seguente trafiletto:

Microsoft spokesman Jim Desler said the company began making Windows without the integrated media player available to computer makers last week at the same price that it charges for full-featured Windows.

Come era prevedibile alla Microsoft hanno accolto la sentenza producendo la versione senza Windows Media Player, ma come altrettanto prevedibile affiancandola alla vesione "full" al medesimo prezzo. Così, a parte i duri e puri che acquisteranno il prodotto WMP-less, tutti gli altri continueranno ad avere WMP come prima.

Fonte: Microsoft Drops Appeal in EU

powered by IMHO 1.2