gennaio 2005 Blog Posts
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
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
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
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
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
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
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
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
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
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
Ghost in the fog. 18/01/2005 - ore
8:55
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
Chi ha provato a scrivere un'applicazione
ASP.NET 1.0 globalizzata, ovvero che preleva le risorse testuali per il
rendering della pagina da degli appositi file, si sarà reso conto che la
questione è tuttaltro che semplice e lineare.
Ho appena scoperto che ASP.NET 2.0 introduce una nuova sintassi
nei codeblock che risolve questo genere di problema piuttosto
elegantemente.
<asp:Literal Runat="server"
Text="<%$ Resources:MyResources, MyText %>"/>
Questa riga è in grado di leggere una stringa dalle
risorse ed assegnarla ad un Literal.
L'espressione <%$...%> supporta anche
altre "keywords" oltre a resources: ConnectionStrings legge una
stringa di connessione dalla configurazione, AppSettings legge
una chiave dall'omonima sezione del web.config infine
Version legge una parte del numero di versione
dell'applicazione.
powered by IMHO 1.2
Pubblicata la beta del nuovo servizio di Google. Si tratta di Google Video Search che consente la ricerca all'interno di migliaia di programmi televisivi. Ecco come inizia il disclaimer:
Our mission is to organize the world's information, and that includes the thousands of programs that play on our TVs every day. Google Video enables you to search a growing archive of televised content – everything from sports to dinosaur documentaries to news shows
Fonte: http://video.google.com/video_about.html
powered by IMHO 1.2
Sarà l'inizio dell'anno, sarà che le feste se ne sono
andate, sarà che il carnevale è un periodo balordo oppure semplicemente che il
lavoro è tanto e il tempo non basta mai, ma da qualche giorno fatico a
scrivere più di uno o due post nel mio amato weblog.
Strano periodo, quando mi siedo alla sera davanti al pc e penso a qualcosa,
mi sembra che tutto sia inadeguato a essere reso pubblico in queste pagine.
Portate pazienza, ci sono e vi leggo. E' solo uno strano periodo.
Passerà.
powered by IMHO 1.2
Mi riferisco a quello che mi ha impegnato tutta la
giornata di oggi. Si è trattato di una riunione fiume per valutare la mole di
lavoro svolta da una azienda fornitrice (di cui ovviamente non farò il nome...)
su un modulo applicativo di un software.
La domanda che mi continua a girare per la testa è: ma occorre essere in
malafede per sviluppare solo una percentuale infima del lavoro dopo 2 mesi
abbondanti oppure esiste qualche giustificazione che mi sfugge.
Lavoro ingrato comunque. Solitamente preferisco non ergermi a giudice del
lavoro altrui, non fosse altro perchè umilmente penso: chi sono io per
giudicare?
powered by IMHO 1.2
Trovo assolutamente impagabile il lavorare utilizzando delle
virtual machine che ospitano dei servizi che preferisco non installare sul
computer ove sto lavorando. Non parlo solo delle versioni beta dei software, ma
anche dei "server" un po' troppo pesanti o comunque di utilità temporanea per lo
sviluppo di applicazioni ma che poi diverrebbero solo l'ennesima applicazione da
disinstallare, con tutti i possibili strascichi cui questo può portare.
Attualmente ad esempio sto lavorando sul mio portatile, sul
quale ho Windows XP Home Edition, utilizzando una virtual machine con Windows
2003 per poter sviluppare un sito in ASP.NET su IIS6.0. Tutto funziona veramente
a meraviglia e riesco a lavorare veramente bene anche trattandosi di un server
virtuale. La cosa che mi da un po' fastidio, è di avere sempre la virtual
machine sulla taskbar. A mio parere sarebbe splendido se la macchina, una volta
avviata si iconizzasse sula traybar e sparisse alla vista, lasciando libero il
poco spazio della taskbar.
Arrivo addirittura ad ipotizzare che la gui della virtual
machine non dovrebbe mai vedersi, se non in casi del tutto eccezionali, ma
essere accessibile esclusivamente attraverso il protocollo RDP, come se si
trattasse di un terminal server. Tanto comunque la gestione di un IIS o di Sql
Server si può fare tranquillamente in remoto, senza necessità di usare il
desktop della virtual machine.
Non ho ancora provato il Virtual Server, ma mi chiedo se non si
comporti proprio così...
powered by IMHO
Mi capita di tanto in tanto, con un criterio che ancora non
sono riuscito ad individuare, che quando chiudo Internet Explorer mentre sto su
gmail, inizia una crisi pazzesca. Il browser, invece che chiudersi comincia ad
aprire nuove istanze a go-go, senza che ogni tentativo di chiudere abbia alcun
effetto. L'unica soluzione è di andare nel Task Manager e di killare il processo
iexplore.exe.
L'impressione è che sia un comportamento anomalo di gmail,
forse amplificato dal poupblocker di internet explorer, ma si tratta appunto
solo di una sensazione, non confortata da alcuna prova.
Chissà se sono l'unico ad aver provato l'ebbrezza di gmail
impazzito, oppure se la cosa è già di dominio pubblico. A me succede sia sul
portatile che sul desktop.
powered by IMHO 1.2
Ci sono pochi momenti nella vita che sono carichi della
stessa importanza e dello stesso stress di quello che sta vivendo oggi e
soprattutto vivrà domani, uno dei blogger di UgiDotNet.
Simone
Chiaretta domani si sposa.
A lui e a sua moglie vadano i miei migliori auguri di una felice vita
assieme.
Non ho titolo per fare gli auguri a nome della comunità, me credo di essere
nel giusto nel dire che l'augurio viene dall'intero mainfeed.
powered by IMHO 1.2
Ho appena riscontrato un buggetto nella nuova release:
nulla di grave, ma è un po' fastidioso perchè rende pressochè inutile la nuova
feature di keyword substitution. Il problema risiede nella mancata sostituzione
dell'url al path assoluto dei file delle emoticone.
Nulla di grave dive, si tratta di una beta e quindi queste cose possono
succedere...
Stasera di patcha!
powered by IMHO 1.2
Starting IIS 6.0... Starting SQL Server... All Subsystems working...
READY TO NEW PROJECT!
Si comincia con un nuovo progetto che come anticipato sarà sviluppato in ASP.NET. Aria per i miei polmoni informatici. Quindi stamane, pulizia della scrivania e poi via verso la nuova avventura.
powered by IMHO 1.2
Sono passati già 29 giorni da quando, in piena settimana
Natalizia ho regalato a queste pagine la release 1.1 di IMHO. Oggi, ormai in un
2005 consolidato, eccomi a proporre la versione 1.2, decidendo
di saltare a piè pari la precedente. Il motivo è presto detto, come ho già avuto
occasione di anticipare in un precedente post, le nuove feature sono talmente
tante che non me la sono sentita di rimanere inchiodato su una versione così
bassa. Perciò eccomi a illustrare cosa c'è di nuovo nel mio IMHO.
Innanzitutto, il titolo di questo post anticipa che finalmente avremo
dei post digitati per bene. Ho deciso di integrare NetSpell
2.1.7, nonostante le critiche che tempo fa avevo sollevato. In effetti
a parte un freezing un po' fastidioso, in fase di crawling del dizionario, per
il resto NetSpell si rivela molto preciso ed efficace. Perciò in attesa che le
prossime versioni migliorino, approfittiamo da subito di questo utile
strumento.
L'altra grande novità, è costituita dal sistema di
sostituzione delle keyword, che è in grado di rilevare
l'introduzione di una di esse mentre si digita e di sostituirla
immediatamente. Perciò i pigri che non amavano usare l'ottimo l'emoticon
formatter di Simone, ora non hanno più scuse per farcire i loro messaggi di
faccine, ma anche per introdurre un numero indeterminato di keyword. L'unico
limite è dato dalla potenza del proprio pc, dato che comunque le esse pur se
elaborate con una certa intelligenza, vengono valutate ad ogni tasto
premuto.
Infine, giusto perchè tre è il numero perfetto, ora i link a
file residenti sul proprio pc vengono caricati nell'FTP
indicato in configurazione alla stregua delle immagini. Questo mi ha dato
l'occasione per migliorare un po' la finestra di gestione dei link dato che
quella di default era un po' scarna. Ora è possibile gestire tutti i parametri
del link, target, title e name oltre naturalmente all'href. Inoltre, dato che
l'eleganza non guasta, IMHO si permette di indicare la dimensione del file
caricato nel title, ove servisse.
Molti altri sono i miglioramenti: Il pulsante di
save che consente di pubblicare immediatamente,
l'allineamento giustificato e l'ottimizzazione
cross-post dei file caricati. Quest'ultima la considero una feature
davvero potente. il sistema è in grado di riconoscere la presenza di un file
sull'ftp uguale a uno di quelli che si stanno caricando e perciò di
linkare quello già presente. Questo anche se il nome del file è diverso!!!
Potrei continuare ancora per molto. Chiudo questo interminabile
post informando tutti che finalmente questa è l'ultima volta che si sarà
costretti a digitare i parametri di configurazione. Essi ora vengono salvati
nell'IsolatedStorage e vengono recuperati in caso di
reinstallazione.
powered by
IMHO
Spesso mi sono sentito chiedere se esista un provider che
fornisca hosting per pagine ASP.NET ad un costo accessibile, magari con un
piccolo database SqlServer per fare qualche esperimento oppure per appoggiare un
sitino personale senza troppe pretese.
Cercando qualcosa di simile, per ospitare il sito di http://imhoproject.org, grazie al caso
meterializzatosi per mezzo di un bannerino in http://www.asp.net ho scoperto il provider che
risolve (almeno per ora) questa questione.
Si tratta di http://www.dotnetcentral.com dove è
possibile affittare uno spazio a partire dalla ridicola cifra di 2,99€ al mese
comprendente 5MB di spazio disco e 2 MB di SQL Server. Personalmente ho deciso
di provare il pacchetto superiore che con 7,99€ mi fornisce 100MB di disco e
50MB di Sql Server e perfino una casella di posta accessibile per mezzo di
OWA.
Non si può dire che il servizio sia eccellente, infatti
il completissimo pannello di controllo all'inizio è un po' ostico e lento,
ma con il tempo ci si fa l'abitudine e si riesce a gestire veramente tutto.
Il controllo è molto esteso. Va dal DNS ai servizi WWW e FTP, alle utenze,
comprendendo estensioni di FrontPage (prontamente disabilitate...) e una console
di accesso a SqlServer piuttosto efficace, costituita dalla myLittleAdmin.
Personalmente ho trovato questo servizio molto efficace, anche se nonostante
vari solleciti al supporto tecnico, per un problema di configurazione, tuttora
non ho ricevuto alcuna risposta e ho dovuto "trafficare" svariate ore dalla mia
ADSL a consumo per risolvermelo. Chi non è pratico di IIS & co è
avvertito!
powered by IMHO
Ultimamente sento ripetere spesso questo schema, in
riferimento a svariate cose:
Io non ... ma ...
Ad esempio nei primi puntini si può mettere un riferimento a Microsoft,
oppure a Berlusconi e nei secondi una presa d'atto che qualcosa di buono ci
sia.
Trovo che questa moda sia un segno dei tempi. Se è vero come è vero che oggi
la discriminazione miete le sue vittime con facilità, questa forma verbale è una
sorta di prima difesa verso essa. Il pregiudizio che è fomentato verso
alcuni simboli, eletti come tali dai media o dalla moda, crea delle classi
sociali a cui molti sentono il bisogno di non appartenere. Ecco quindi che
escono cose di questo tipo.
E tristemente questo è il segno che la classe di cui invece si vuole far
parte è quella che discrimina. Altrimenti non ci sarebbe la necessità di fare
dei "distinguo".
powered by IMHO
Gli autori di dasBlog, uno dei
popolari engine di blogging realizzati in .NET hanno annunciato che la versione
1.7 del loro engine è stata resa pubblica. Tra le novità vi segnalo che dasBlog
supporta nativamente la generazione di immagini CAPTCHA per il filtro dei
commenti. Per intenderci la HIP che abbiamo aggiunto da poco al .TEXT di
ugidotnet.
newtelligence dasBlog Community
Edition 1.7.5016.1 RELEASED!
powered by IMHO
Parco del fiume Sile. 18/01/2005 - ore 8:45
Ho deciso di aprire una nuova categoria. Il nome, "Click
of the Week" tradisce il contenuto che per genere appartiene alla mia passione
per la fotografia. Tutte le immagine che posterò in questa categoria sono
scattate da me con la mia piccola-grande digitale Nikon Coolpix 880, di cui sono
felice possessore da almeno 3 anni.
Spero di riuscire a mantenere il ritmo, determinato dal titolo stesso della
categoria, ovvero il post di una immagine a settimana, ma anche se non ci
dovessi riuscire sarà solo per mantenere alto lo standard qualitativo delle
immagini.
Nel prossimo post, la prima immagine.
powered by IMHO 1.1
Finalmente, dopo lunga attesa, noi incoscienti amanti
della neve che cade siamo stati accontentati. Da un paio d'ore, qui a Treviso
nevica. (ma ho notizie simili anche per Mestre). Una neve seria, di quelle che
vengono per rimanere un poco. Le macchine in parcheggio si sono improvvisamente
trasformate in bianchi e soffici cuscini e il panico si è diffuso.
Ora bisognerà vedere come arriverò a casa, dato che i miei 20 Km d'oro si
sono trasformati in 20 Km di ghiaccio. Ma dopo le 9 ore passate tra Bologna e
Padova un paio di anni fa, non mi fa più paura nulla. Lo so, l'ho detto sono
incosciente, ma che ci volete fare, la mia anima bambina ha bisogno di queste
cose.
powered by IMHO
Sono sbigottito dal gadgettino che ho messo in home page
al mio weblog. Parlo di Weatherpixie,
qull'immaginina che mostra una rappresentazione del tempo atmosferico presente
nella località per la quale è configurato.
Sono sbigottito perchè ogni volta che lo guardo mi pare di sbirciare fuori
della finestra. In questo momento ad esempio indica nebbia, e se guardo fuori il
quartiere è avvolto in una fitta coltre lattiginosa. Sarà forse che quelli
testuali non attirano l'attenzione come questo, ma raramente ho trovato una tale
precisione.
Bene. Si è meritato un'altra settimana di permanenza...
powered by IMHO 1.1
Sono contento. Ho da poco saputo che probabilmente i
prossimi progetti sui quali dovrà lavorare saranno realizzati in tecnologia
ASP.NET.
Ormai sono mesi che non tocco più una pagina ASP, per dedicarmi totalmente
allo sviluppo di una applicazione WindowsForms e ormai
ne sentivo proprio la mancanza, senza considerare che nel frattempo
anche la sete di Sql Server ha raggiunto livelli inenarrabili.
Non è una mania, sono che trovo molto più avvincente lavorare su un prodotto
con interfaccia web piuttosto che ad un gestionale classico. Sarà il fascino che
il protocollo http regala alla gestione dello stato, oppure la forzata
segmentazione della logica in milleeuno programmini (chiamateli pagine, ma
programmini rimangono) che complica le cose, ma io sono nato web... e se me lo
tolgono mi viene subito una crisi da mancanca di ossigeno.
powered by IMHO
Lanciato a valanga, con mia figlia su un bob preso a
noleggio, stamane ho trascorso una bella giornata nelle montagne del friuli. Le
nevi erano quelle di Piancavallo, una bella
cittadina incastonata in una valle ad un tiro di schioppo da Aviano.
Nulla a che vedere con quelle che io chiamo amabilmente "le mie
montagne", riferendomi alle irripetibili cime del Cadore, peraltro senza potermi
meritare l'aggettivo di "montanaro", ma comunque un bel posto dove passare
un domenica con gli amici, e perchè no una vacanza invernale.
Le due ore di macchina che mi sono state necessarie, sono sate ampiamente
ripagate dalla mancanza di code cui il sovraffolamento tipicamente costringe in
località più blasonate. E per gli amanti dello sci, delle piste con fiocchi,
degne dei campionati che spesso vi si tengono.
La giornata è trascorsa così, lontano dal pc, in equilibrio sul ghiaccio
delle strade, a folle velocità giù per un pendio, e respirando l'aria sana che
solo la montagna di inverno sa regalare. La confusione del noleggio,
l'affollamento delle piste, la fatica di arrampicarsi sulla salita per regalare
al mia bimba un'altra discesa sono ripagate dal suo sorriso felice per esser
riuscita a mettere le mani su questo inconsueto fenomeno
atmosferico.
powered by IMHO 1.1
Qualcuno si è dilettato ad interfacciare IMHO con la
community cugina, AspItalia.com. Me lo ha segnalato Mighell.
http://blogs.aspitalia.com/rickyvr/post849.aspx
Un grazie a Riccardo Golia che ci ha messo l'olio di gomito...
powered by IMHO 1.1
Come ormai risaputo, nella giornata di ieri, 13/01/2005, la corte costituzionale ha dichiarato inammissibile il referendum che voleva abolire nella sua interezza la famigerata legge sulla fecondazione assistita, uno dei testi più biechi che l'attuale governo abbia mai promulgato.
Questo fatto, a mio parere pone due questioni; Innanzitutto occorre capire che la dichiarazione di inammissibilità del quesito, non ha alcun fondamento giuridico, ma è al limite resa possibile da un "prassi", che "non è legge", come bene bisogna tenere presente. Il testo costituzionale, all'articolo 75 recita così:
Art. 75 . È indetto referendum popolare per deliberare l'abrogazione, totale o parziale, di una legge o di un atto avente valore di legge, quando lo richiedono cinquecentomila elettori o cinque Consigli regionali.
Non e ammesso il referendum per le leggi tributarie e di bilancio, di amnistia e di indulto, di autorizzazione a ratificare trattati internazionali.
Hanno diritto di partecipare al referendum tutti i cittadini chiamati ad eleggere la Camera dei deputati.
La proposta soggetta a referendum è approvata se ha partecipato alla votazione la maggioranza degli aventi diritto, e se è raggiunta la maggioranza dei voti validamente espressi.
La legge determina le modalità di attuazione del referendum.
Ora è chiaro che il referendum sulla fecondazione assistita, non riguarda la materia tributaria, di amnistia o di indulto e tantomeno un trattato internazionale. Perciò bisogna prendere atto del fatto che la corte costituzionale ha emesso un verdetto incostituzionale.
La prassi che poco fa citavo, apre la strada alla seconda questione. Secondo una prassi, ereditata dai giorni bui della prima repubblica (saranno mai questi giorni luminosi?), la consulta dichiara inammissibile un referendum qualora la sua applicazione porti al cosidetto "vuoto legislativo", ovvero crei una mancanza di legge. Questa argomentazione è confutata da due questioni. Innanzitutto non esiste mai un vuoto legislativo, in quanto perchè un referendum abrogativo abbia effetto esso deve essere confermato da una successiva legge del parlamento che perciò potrà "normare" le eventuali questioni che lo richiedessero, probabilmente accogliendo il volere popolare. Nella precedente citazione, l'ultima riga è chiarissima su questo punto.
In secondo luogo, bisogna tener presente che la costituzione non cita mai alcun vuoto legislativo, perchè il referendum, nella sua natura di strumento "abrogativo" dovrà per forza di cose creare una mancanza di legge. Poniamo ad esempio che domani il governo promulghi una legge che consente l'omicidio. La prima cosa che verrebbe in mente è di raccogliere le firme per un referendum, salvo che poi la consulta potrebbe dichiararlo inammissibile perchè la sua applicazione creerebbe un "vuoto legislativo". A qualcuno importerebbe qualcosa di questo vuoto?
Ora, la questione è molto semplice. La corte costituzionale si è comportata in modo del tutto incostituzionale, anzi addirittura anticostituzionale ovvero contro la costituzione. Questo a mio parere è gravissimo e foriero di violazioni dei diritti del cittadino sempre più pesanti e totalitarie. E' per questo motivo che si dovrebbe pretendere che i giudici della consulta si dimettano con effetto immediato, perchè ormai il loro lavoro non è più a tutela dei cittadini, ma a tutela dell'establishment e del potere.
powered by IMHO
Se vi interessa sapere il significato di uno
dei migliaia di codici di errore ORA- di Oracle aggiungete questo shortcut
alla toolbar di MSN:
@ora,http://$w.ora-code.com/
basterà digitare "ora" seguito dal codice di errore per avere una pagina
esplicativa dal sito http://www.ora-code.com
powered by IMHO
Dal blog di Roy Osherove ho
scoperto un eccellente articolo sul SQL Injection, la dannosa pratica che
permette di prendere possesso del database di siti o applicazioni realizzate
male.
Articolo: SQL Injection Attacks by
Example
La lettura è caldamente
consigliata a chiunque scriva applicazioni web, perchè per la loro natura sono
le più esposte a questo tipo di attacchi.
Infine un consiglio: fare uso dei SqlCommands e dei
Parametri mette al riparo da gran parte dei possibili attacchi di Sql
Injection.
powered by IMHO
Mighell, con cui ieri sera abbiamo avuto uno scambio
intenso al messenger, per risolvere qualche problemino, quest'oggi informa
di aver installato con successo la HIP per .TEXT.
Il problema riscontrato deriva dall'ordine di installazione degli Handlers
nel web.config. Dato che .TEXT installa già alcuni handlers è opportuno che
quello che genera l'immagina CAPTCHA sia registrato prima di tutti gli
altri.
Dannati spammers... avrete vita dura!
powered by IMHO
Finalmente eccomi a pubblicare il lavoro svolto, e raffinato grazie alla collaborazione preziosa di Stefano Demiliani, che ha messo a disposizione il suo weblog in qualità di vittima sacrificale. Nel file che è possibile scaricare al termine del post, si può trovare tutto il necessario per aggiungere con semplicità un controllo anti-spam molto efficace e molto personalizzabile.
L'installazione è molto semplice e non richiede la ricompilazione di .TEXT:
- nello zip è riprodotta la struttura del folder web di dottext perciò è sufficiente porre i file così come vengono estratti nella relativa cartella
- occorre modificare il web.config per inserire il riferimento ad un httphandler che genererà l'immagini CAPTCHA. L'handler deve per forza essere il primo della lista tra tutti quelli già installati in .TEXT (grazie a Mighell per la segnalazione)
- in seguito bisogna modificare le skin personalizzate per aggiungere lo usercontrol all'interno del file PostComment.ascx, così come è indicato con alcuni commenti nello skin "white"
La licenza di questo controllo è di tipo D.W.Y.W.B.P.A.L.T.T.P. (Do whatever you want but post a link to this post)
E per un po' lo spam ce lo siamo tolti dai piedi.
Download: dottext_hip.zip (72KB)
powered by IMHO 1.1
Purtroppo, la corte costituzionale ha dimostrato ancora una volta la sua incostituzionalità, bocciando il quesito sull'abolizione totale della legge sulla fecondazione assistita. Accolti gli altri 4 quesiti, di cui 3 presentati dai Radicali Italiani per l'abolizione parziale.
http://www.radicali.it/view.php?id=30898
powered by IMHO
Su cortese segnalazione di Lorenzo, vi annuncio che è in edicola il primo dei miei articoli appartenenti alla serie sugli Application Blocks, pubblicati da Infomedia su Computer Programming. Questo mese si parla di Data Access, con un utile esempio su come creare un piccolo ORM homemade che fa uso di reflection e stored-procedures oltre che naturalmente dell'Application Block.
Guai a chi non lo compra!
powered by IMHO
Quella di ieri è stata una
nottata "pregna". Sul filo del telefono, hanno transitato una serie di email tra
me e Stefano Demiliani, che alla fine è riuscito ad installare con successo,
nonostante alcune mie dimenticanze, il controllo HIP (CAPTCHA) per il suo
weblog.
Blog Spamming Fight - Attempt
II
Rimane un problemino che spero di poter risolvere, dovuto
alla fortissima distorsioni di alcune immagini. La speranza è che smanettando un
po' con il sorgente si possano limare un po' i parametri.
powered by IMHO
Ecco come Gmail mi informa che
c'è un errore...
Server Error
Gmail is temporarily unavailable. Cross your fingers and try
again in a few minutes. We're sorry for the inconvenience
Spiritosi...
powered by IMHO 1.1
Un post nel weblog di MSN Search mi ha rivelato una interessante feature di MSN Search. Inviando un URL appositamente formattato è possibile ottenere i risultati della ricerca in un formato RSS.
Ecco due esempi:
Ricerca in MSN: http://beta.search.msn.com/results.aspx?q=andrea+boschin&format=rss
Ricerca nelle News: http://beta.search.msn.com/news/results.aspx?q=berlusconi&format=rss
Uno strumento interessante per chi vuole aggiungere un piccolo servizio news nel proprio sito.
powered by IMHO
Ho scovato un altro simpatico giocattolino da attaccare nel weblog. Si chiama http://weatherpixie.com/ e si aggiorna mano a mano che scorre il tempo e che le condizioni atmosferiche mutano. Credo sia basato sul tempo degli aeroporti del mondo, perchè nella configurazione sono riuscito a trovare anche Istrana, una località poco nota vicino a casa mia, dove si trova proprio un Aeroporto.
powered by IMHO
E alla fine anche Yahoo si è
aggiunto alla battaglia dei Desktop search, con più di 200 tipi di file
indicizzati!!!
Yahoo! Desktop Search Beta
Sotto a chi tocca.
powered by IMHO
Daniel Moth, MVP per il Compact
Framework, ha pubblicato il BackgroundWorker per Compact
Framework 1.0 . Sbirciando nel suo
weblog è possibile trovare anche un esempio di come
utilizzarlo.
powered by IMHO
Una delle feature di maggior
rilievo del Framework .NET è quella che consente di evitare il problema
conosciuto sotto il nome di "Dll Hell". Fusion, così si chiama il meccanismo di
ricerca e caricamento degli assembly ha introdotto un sistema molto flessibile
per la definizione di un assembly e per il suo caricamento
e versioning.
Nell'articolo Fusion Workshop, si può trovare una
esauriente e dettagliata spiegazione di come funziona questo
meccanismo.
powered by IMHO
Stanotte, fino circa alle 2:00 ho lavorato sul problema
della HIP nelle pagine di .TEXT di UgiDotNet. Alla fine ho realizzato una bozza
del sistema, che mi pare possa funzionare bene e l'ho passata a d Andrea
Saltarello, per avere un suo parere e se la cosa funziona ovviamente
installarlo.
La struttura di .TEXT, come segnalato da Davide in un post di stamattina, mi
ha convito ad usare il seguente meccanismo per realizzare la protezione:
- ho basato il lavoro sul componente descritto in MSDN in questo articolo
- ho creato uno UserControl che contiene una Immagine, una textbox e un
validatore. Lo usercontrol è del tutto autonomo, nel senso che genera
automaticamente la sequenza di lettere e cifre da rendere nell'immagine,
valida il contenuto della textbox e visualizza il messaggio di errore quando
serve.
- la sequenza di lettere e cifre è realizzata prendendo i primi 6 caratteri
di un Guid generato con System.Guid.NewGuid()
- Sono intervenuto su tutti gli skin di default, inserendo un riferimento al
mio usercontrol nella giusta posizione. A questo la form accetta il commento
solo se l'immagine e la texbox contengono la medesima stringa, in caso
contrario genera una nuova stringa e chiede che la validazione sia effettuata
nuovamente, senza perdere il testo del commento imputato.
- Alla fine ho passato tutto ad Andrea che quando avrà un po' di tempo gli
darà un'occhiata. Lo zip, che al termine del lavoro renderò pubblico per gli
altri weblog che usano .TEXT, contiene gli assembly del generatore di HIP,
tutte le UI delle skin e quella dello UserControl. Lo UserControl non ha un
codebehind, ma usa uno script inserito in calce all'HTML per consentire una
facile customizzazione della generazione della stringa di validazione che al
momento corrisponde ad una riga di codice.
Spero che tutto funzioni a dovere e che Andrea trovi il tempo di installarlo,
perchè i dannati spammer continuano a rompere...
powered by IMHO
Mi aspettavo qualche commento in più a proposito della
bozza di documento che ho pubblicato
lo scorso 8 Gennaio, ma è probabile che la data abbia impedito a molti di venire
a conoscenza della pubblicazione. Perciò eccomi a segnalare nuovamente
l'evento.
I commenti che sono pervenuti sono tutti molto interessanti e non mancherò di
integrarli nella prossima release, tuttavia ritengo sia necessario ancora
qualche giorno, nella speranza che le segnalazioni si moltiplichino, prima che
io mi rimetta a lavorare per integrare le segnalazioni.
Invito chi legge ad approfittare di questi giorni per dare il proprio
contributo...
powered by IMHO
Mentre smanettavo sull'installazione di .TEXT, per realizzare la Human Interactive Proof sui commenti, stasera ho scoperto che .TEXT espone anche le MetaWeblog API che in un post di pochi giorni fa avevo citato come possibile sviluppo futuro di IMHO.
Un veloce test, mi ha regalato la soddisfazione di sapere che IMHO è già compatibile con tali API per mezzo dell'adapter di Blogger. Infatti le Blogger API sono un subset delle MetaWeblog API e quindi la compatibilità era quasi scontata.
Chi volesse connettersi a .TEXT con le MetaWeblog API non dovrà fare altro che:
Comunque non cambia nulla...
powered by IMHO
Visto il post
di Lorenzo e considerato la quantità spropositata di SPAM che ho cancellato in
questi ultimi 7 giorni, ho deciso di immolarmi nella battaglia al blog-spam.
Perciò se Andrea Saltarello ritiene che non ci siano problemi di sorta,
considerati gli impegni che probabilmente impediscono di farlo a lui stesso, mi
offro volontario per modificare la form di commenti di .TEXT ed aggiungerci una
Human Interactive Proof, così come si può vedere nel post che ho linkato
stamattina.
Datemi un moschetto che mi batterò all'ultimo sangue...
powered by IMHO
Le WebParts che faranno parte
della prossima versione di ASP.NET 2.0, offrono l'occasione di implementare un
framework di connessione cross-page che consenta a delle WebParts Consumer, di
condividere informazioni provenienti da un Producer. L'articolo che segnalo
è una lettura interessante in merito, con tanto di codice di esempio.
Fonte: WebParts and Cross-Page
Connections
Interessante notare che in fondo alla pagina di queso
post si può vedere implementato un eccellente metodo anti-spam che fa uso delle
HIP.
powered by IMHO
Sono appena tornato, reduce da un'impresa titanica. Ho
divorato, letteralmente, una costata da 1/2 Kilogrammo che si è disciolta nelle
mie fauci come solo il burro saprebbe fare, ovviamente dopo aver gustato un
eccellente antipasto a base di affettati paradisiaci...
Chi mi ha conosciuto si è subito reso conto che imprese di questo tipo non mi
sono insolite, ma davvero questa volta il titano che è in me si è dovuto
esprimere al meglio della proprie possibilità.
Ora sono sul divano a digerire, con la lacrima di coccodrillo che mi riga la
guancia, ma vorrei lasciare un indirizzo, se a qualcuno capitasse di passare
dalle parti di Asolo:
Ristorante "Da Vanore"
S.Apollinare - Via Loreggia, 17
Asolo,
TV
Tel 0423 952 279
Merita.
powered by IMHO 1.1
Ultimamente mi trovo sempre più spesso a discutere con
amici e conoscenti di IMHO e mi è capitato più di una volta di trovarmi in
imbarazzo nel pronunciare in modo comprensibile il suo nome. Immancabilmente,
quando devo pronunciarlo, mi capita di soffermarmi un istante per capire qual'è
la giusta pronuncia.
Quando poi lo dico, 9 volte su 10, la risposta è un "comeeee?", oppure un
"immo che?". Ricordo ancora con un lieve imbarazzo quando Luca Minudel, mi ha
citato durante una sua sessione riferendosi al programma pronunciandone per
esteso il nome, "In my humble opinion", e lasciandomi interdetto per non aver
immediatamente compreso che si riferiva a me.
Se il nome del programma, da un punto di vista meramente internet è
decisamente indovinato, non credo di poter dire lo stesso dal punto di vista
dialettico. Perciò ho pensato di definire per bene, una volta per tutte come si
pronuncia, così da sgombrare la strada dal problema.
La mia idea è che le 4 lettere che compongono la sigla si debbano sentire
tutte. Perciò credo che IMHO vada pronunciato IM-HO mettendo un lieve accento
sulla H in modo da renderla evidente. Completamente bandite tutte le forme del
tipo "IMMO" o "IMO".
IM-HO come se si dovesse dire IO-HO ma con la M. E se poi proprio
non viene ricordiamoci che "Instant Blogger" va benissimo!
powered by IMHO 1.1
Finalmente, a distanza di 1 mese e mezzo dalle prime
schermaglie che hanno dato il via all'idea di un progettone open source italiano
fatto in .NET, posso finalmente annunciare che il primo draft, scritto
totalmente in lingua Inglese, è disponibile.
Il documento, che si può scaricare qui,
in 5 capitoli per un totale di 15 paginette, descrive a grandi linee le idee che
sono state discusse nei primi post e si permette anche di descrivere una piccola
struttura dell'applicazione.
Oltre alla raccomandazione di lasciare correre tutti gli strafalcioni in
inglese che sicuramente vi troverete, prego di darne una breve lettura e di
farmi pervenire il numero maggiore di feedback possibili come commenti a questo
post. L'idea è quella di aprire una discussione per vedere dove occorre
modificare la rotta del progetto e quali sono le idee che non sono state
riportate.
Considerate comunque che il documento non entra nel dettaglio delle
specificità delle varie componenti del progetto. Il suo scopo è semplicemente di
fissare le idee e di permettere di iniziare a strutturarlo.
Buona lettura.
powered by IMHO 1.1
Con gioia apprendo che esiste
un blog di Luca Coscioni .
Luca è il presidente della omonima associazione ed
è tra i promotori del referendum sulla fecondazione assistita di cui spesso ho
avuto modo di dissertare in queste pagine. Ho un'enorme stima in questa persona
che dimostra come la forza interiore sia di gran lunga più potente di quella
fisica. Luca infatti è affetto dalla Sclerosi Laterale Amiotrofica e scrive i
suoi post, assieme ai suoi interventi e discorsi aiutato da un computer.
Come sapete sono un fervente sostenitore di questa
battaglia e non mancherò di fare eco ai suoi post nel mio "umile" weblog
personale. Inutile dire che il link lo trovare anche nel mio
blogroll.
powered by IMHO 1.1
La NotifyIcon, che tempo fa avevo rilasciato con un articolo, ha
subito la medesima sorte del provider per Isolated Storage che ho rilasciato
stamane.
E' possibile scaricare
il sorgente completo dal sito di Sourceforge e anch'essa ricade sotto i termini
della Common
Creative Public License.
Ovviamente chi ne ha ricevuto/scaricato una versione precedente sotto GPL o
LGPL continuerà a poterne fruire sotto i termini di quelle
licenze.
powered by IMHO 1.1
Sviluppando le nuove feature di IMHO, mi sono trovato a
dover estendere il Configuration Management Application Block di Microsoft.
L'estensione che ho creato permette di utilizzare L'IsolatedStorage per rendere
persistenti le informazioni di configurazione in formato XML, anche crittato e
firmato.
Ho pubblicato la libreria e il relativo sorgente all'interno del progetto IMHO, presso Sourceforge. La
libreria consta di una classe IsolatedXmlFileStorage realizzata come un provider
di storage per l'application block. Essa può essere facilmente collegata ad una
applicazione semplicemente modificandone il file di configurazione.
Ecco uno spezzone di codice:
<applicationConfigurationManagement defaultSection="configFile">
<configSection name="configFile">
<configProvider
assembly="Elite.ApplicationBlocks.ConfigurationManagement,Version=1.0.1833.0,Culture=neutral,PublicKeyToken=null"
type="Elite.ApplicationBlocks.ConfigurationManagement.IsolatedXmlFileStorage"
file="app.config"
signed="true"
encrypted="true"/>
<protectionProvider
assembly="Microsoft.ApplicationBlocks.ConfigurationManagement,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null"
type="Microsoft.ApplicationBlocks.ConfigurationManagement.DataProtection.DPAPIDataProtection"
hashKey="Ae5+5644aB=" />
</configSection>
</applicationConfigurationManagement>
Non appena il sito http://www.imhoproject.org
sarà pronto, questa libreria e le altre saranno spostate in una apposita sezione
del sito.
La licenza per la libreria è la Common Creative Public
License
powered by IMHO 1.1
Lo devo dire. Ho appena concluso l'implementazione di
tutte le nuove feature che avevo previsto per la prossima release di IMHO. Se mi
avanza un po' di tempo domani ne avrei un'altra che però non è fondamentale.
Ora le novità sono così tante che sono indeciso sulla versione da dare al
software. 1.1 mi sembra poco. Passando direttamente alla 1.2 qualcuno se ne
avrebbe a male?
Eccoo le novità:
- Upload automatico dei file oltre che delle immagini
- Gestione dei link potenziata (gestione del target e del name)
- Ottimizzazione cross-post dell'upload dei file
- On-the-fly keyword replacement
- Gestione completa delle keywords
- Spell checker con 9 lingue
- Persistenza della configurazione su IsolatedStorage (multiuser)
- Mantenimento impostazioni all'upgrade
Pant, pant, ora iniziano i test.
powered by IMHO 1.1
Quello che mi è successo stamattina mi ha incoraggiato
ad iniziare una nuova "rubrica" nel mio weblog, dedicata a tutte quelle cose
che, a meno che non ci si legga il manuale fino all'ultima virgola (come
peraltro bisognerebbe fare), si arriverà a conoscere per pura
coincidenza.
Il primo post riguarda l'uso del carattere chiocciola in C#. Tutti sapranno
che quando si scrivono delle stringhe in C#, anteporre la chiocciola consente di
adottare una diversa politica di escape.
Così mentre questo non è consentito:
string a = "d:\myfolder";
Con l'uso della chiocciola diventa possibile:
string a = @"d:\myfolder";
Fin qui nulla di nuovo, senonché stamattina stavo facendo qualche test con il
DOM del MsHTML control e mi sono imbattuto in un uso curioso ma utilissimo della
chiocciola che sinceramente non mi era mai capitato di incontrare.
Digitando la seguente stringa:
int key = this.DOM.parentWindow.event.keyCode;
Mi sono trovato automaticamente una cosa del genere:
int key = this.DOM.parentWindow.@event.keyCode;
Di primo acchito ho creduto di aver digitato male, non sono esattamente un
dattilografo, alla tastiera. Ma rimuovendo la chiocciola evidentemente la parola
chiave "event" è stata sottolineata evidenziando l'errore. Personalmente sono
abituato a evitare come il male l'uso delle parole chiave nella nomenclatura del
mio codice, ma riconosco che, accedendo ad esempio al DOM dell'HTML che è fatto
per il Javascript sarebbe impossibile farlo senza questa scappatoia.
Naturalmente non pago ho fatto un po' di prove:
myObject.@public
myObject.@fixed
myObject.@protected
...
Consiglio: non chiamate mai public, fixed o protected un membro di una vostra
classe. Non occorre dirlo, ma magari è utile ricordarlo.
Curiosità nella curiosità, il Syntax Highlighter di SharpDeveloper non
riconosce la chiocciola come carattere di escape valido. Infatti, mentre VS.NET
indica le keyword in nero quando viene preposta la chiocciola, per l'IDE di
SharpDeveloper (che come molti sapranno è il fulcro del Code Snipped Editor di
IMHO), la lascia in blu. Sarebbe interessante sapere se si tratta di una
dimenticanza oppure se anche agli sviluppatori di questo ambiente di sviluppo
sia sfuggita questa utile feature.
Sono ovviamente andato a vedermi l'SDK, ma non sono riuscito a trovare alcun
riferimento a questo uso della chiocciola. Appena ho un attimo approfondirò le
specifiche di C#, a meno che non ci sia già qualcuno che mi segnala dove trovare
questo argomento.
powered by IMHO 1.1
Mi sono spesso chiesto quale dei due modi di scrivere
fosse migliore:
// codice 1
if ( a == 0 )
return "OK";
else
return "KO";
// codice 2
if ( a == 0 )
return "OK";
return "KO";
In realtà poi a intuito mi sono abituato ad usare il modo 2.
Oggi, lavorando un po con il CodeDom ho scoperto una cosa interessante: se si
usa il modo 1 il compilatore automaticamente lo trasforma in 2.
Probabilmente questo deriva dal fatto che l'IL generato è comunque il medesimo,
ma potrebbe anche essere che si tratti di una ottimizzazione. A questo non so
dare risposta, dato che non conosco bene l'IL.
powered by IMHO
Interessante discussione, si è svolta pochi minuti fa,
attorno alle scrivanie dello sviluppo. La domanda che ne è emersa è proprio la
seguente:
Che differenza c'è tra l'open source e la pratica del dumping?
Per chi non lo sapesse, il dumping è quella pratica, tipicamente messa in
atto dai grossi centri commerciali, che mettono in vendita merci ad un prezzo
inferiore a quello cui esse stesse lo acquistano. L'obbiettivo finale del
dumping è quello di ammazzare la concorrenza per ottenere una posizione
dominante nel mercato.
Un po' la stessa cosa che sta succedendo con l'open source. Dato che esiste
un prodotto "gratuito", molte aziende preferiscono scegliere questo invece che
la controparte "remunerata", causando così un fenomeno simile a quello del
dumping, ove imprese fiorenti si trovano in difficoltà perchè non riescono a
battere la concorrenza nemmeno con prodotti obbiettivamente di migliore
qualità.
Forse sarebbe il caso che qualcuno ci pensasse. Se un giorno ci trovereme
tutti a scrivere codice "aggratis" oppure a fare barcamenarci facendo assistenza
al cliente, sarà meglio che non si lamenti di aver lavorato a sbafo sulle spalle
di ottimi programmatori open-source che non hanno mai visto il becco di un
quattrino per le spremute di menigi cui si sono sottoposti.
Ed è anche questo uno dei motivi per cui vorrei dare ai miei lavori
opensource una licenza che consenta l'uso e l'approfondimento del prodotto al
privato cittadino che non può permettersi l'acquisto di un equivalente
commerciale, ma che obblighi una iniziativa commerciale a sottostare a delle
precise regole di mercato che passano immancabilmente dal riconoscimento del
lavoro svolto al progettista e sviluppatore di un software.
A mio parere occorre tenere ben presente questi concetti quando si parla di
opensource, perchè spesso dietro la bandiera della libertà, si nascondono le
mire monopolistiche di grossi nomi dell'informatica che hanno buon gioco
sfruttando ilpregiudizio che fomentano nella gente.
powered by IMHO
Leggo con piacere questo
post di Gabriele e colgo l'occasione per dire la mia sull'argomento. La
colpa a mio parere è proprio di Microsoft, ma non nel senso di aver dato modo a
virus e hacker di imperare nella rete grazie al falle nella sicurezza dei suoi
prodotti, ma semplicemente di aver consentito anche agli sprovveduti di
accedervi.
Se i pc di oggi fossero ancora alla stregua di una
workstation Unix, sono certo che di virus non ce ne sarebbe l'ombra, o comunque
non sarebbe possibile dare loro una così vasta diffusione. I sistemi operativi
Microsoft hanno avuto certamente il pregio di consentire alla massa l'utilizzo
di tecnologie che tempo fa erano riservate ad una casta ristretta, perciò oggi,
le cellule esposte al contagio sono decisamente molte e molto
fertili.
Per non parlare poi del fenomeno del phishing.
Rimango davvero sconcertato nel sapere che sono così tante le persone che ci
cascano, ma se poi penso a fenomeni mediatici quali Vanna Marchi, allora mi
sembra che Internet ancora una volta sia additata inopinatamente. Come per la
pedofilia, anche in questo caso bisogna riconoscere alla rete la capacità di far
venire allo scoperto un problema che esisteva già da tempo, e magari
consentirne un più facile controllo.
powered by IMHO
Attendo con ansia la recensione che Dene Schonknecht ha promesso di preparare confrontando w:bloggar e IMHO...
Blog Authoring Tool search gets interesting....
Cosciente del fatto che a IMHO manca ancora qualcosa...
powered by IMHO 1.1
Ecco l'ennesima proposta di un incarico a Emma Bonino,
che poi immancabilmente verrà dimenticata per questioni di opportunità politica,
in un articolo uscito su
repubblica stamane.
Peccato, perchè sarebbe una bella garanzia per quelli che stanno
soffrendo laggiù.
powered by IMHO 1.1
Dopo il mio recente post, sulla Creative Common Public License, mi sono premurato di interpellare il supporto di SourceForge che come al solito in un tempo brevissimo mi ha fatto avere la sua opinione.
Eccola:
That license is not allowed, as it bars certain commercial
usages. You should review the Open Source Definition as
provided at: http://opensource.org
Questo però mi lascia preda del disappunto. Capisco l'open source, ma per quale motivo devo lasciare che qualcuno guadagni sul mio lavoro? Se un privato decide di usare il mio codice per realizzare qualcosa o a scopo didattico (come spesso ho fatto io) non ci vedo nulla di male, ma che una azienda ci faccia la cresta mi pare proprio inverosimile.
Comunque per ora IMHO rimarrà GPL. Più avanti deciderò sul da farsi.
powered by IMHO 1.1
Valutando un prodottino, ho scoperto che esiste una
licenza CCPL (Creative Common Public License) che è quanto di più vicino ho
finora trovato alla mia idea di Licenza Open Source ideale.
Il testo completo: http://creativecommons.org/licenses/by-nc-nd/2.0/legalcode
E un breve e chiarissimo riassunto: http://creativecommons.org/licenses/by-nc-nd/2.0/
Esattamente quello che intendevo io, salvo per il punto 3, ovvero la
possibilità di alterare, trasformare e sviluppare un prodotto, che a mio parere
dovrebbero essere sempre garantiti fermi restando i due punti precedenti.
Peccato che non è una licenza approvata dall'OSI.
powered by IMHO
Alla Lake Superior State University hanno
nientemeno che una lista delle parole bandite. Tra esse assieme a cose tipo
"ERECTILE DYSFUNCTION" e "IMPROVISED EXPLOSIVE DEVICE" si può trovare anche
"BLOG".
BLOG – and its variations, including blogger, blogged, blogging,
blogosphere. Many who nominated it were unsure of the meaning. Sounds like
something your mother would slap you for saying.
“Sounds like a Viking’s
drink that’s better than grog, or a technique to kill a frog.” Teri Vaughn,
Anaheim, Calif.
“Maybe it’s something that would be stuck in my toilet.” –
Adrian Whittaker, Dundalk, Ontario. “I think the words ‘journal’ and ‘diary’
need to come back.” – T. J. Allen, Shreveport, La.
Ora, mi chiedo per quale
motivo mia madre mi dovrebbe mollare un ceffone quando lo pronuncio, ma questo
probabilmente deriva dalla mia scarsa conoscenza dell'inglese. In merito al
significato poi, quello è evidente a ogni programmatore, ma probabilmente non
vale lo stesso per i profani del log.
La lista completa la si può trovare al seguente
indirizzo: Banished Words List ::
2005
Fonte: http://blogs.msdn.com/jhoward/archive/2005/01/04/346204.aspx
powered by IMHO
Il gioco di parole è d'obbligo.
Leggo volentieri un bel sunto delle potenzialità della nuova Microsoft Shell,
che però non vedremo prima di Longhorn, sempre che qualche buon'anima non decida
che l'attesa è troppo lunga e magari non ci regali una release per
XP.
Fonte: MSH aka MONAD
Tra le varie potenzialità, cito
quella che mi da il brivido più profondo:
Un differente meccanismo di pipe (la
facoltà di ridirigere l'output di un comando verso l'input di un altro). Tale
meccanismo si è rivelato decisamente valido, ma è vincolato a lavorare su
stringhe di caratteri, dal momento che input e output dei comandi sono stream di
testo. MSH, invece, convoglia letteralmente oggetti da un comando all'altro: gli
oggetti sono, ovviamente, istanze di tipi .NET che il motore di MSH si preoccupa
di serializzare e trasferire. Le potenzialità, in questo caso, mi sembrano
veramente enormi.
Bash, comincia a tremare!
powered by IMHO
In questi giorni sto tentando invano di finire il libro della Fallaci, "La forza della Ragione". Mi secca sempre non arrivare in fondo ad un libro, nonostante quello che vi può essere scritto. Ma non voglio ora entrare nel merito dei contenuti, magari questo sarà oggetto di un mio prossimo post, piuttosto vorrei narrare una storia, riportata in un capitolo di tale libro della quale ero già a conoscenza e che mi stupisce aver ritrovato all'interno di una pubblicazione.
La storia è ambientata nel periodo del sequestro Moro. Durante il sequestro, una personalità politica che oggi potremmo definire di spicco, ancora non si era affacciata in politica. I suoi primi vagiti politici ebbero luogo proprio durante questo sequestro allorquando egli suggerì alla polizia che l'onorevole Aldo Moro, si doveva trovare in un luogo chiamato "Gradoli". Fu così che la polizia mise sostanzialmente a ferro e fuoco il paesino del viterbese, ovviamente senza trovare assolutamente nulla.
Grande fu la sorpresa però quando si scopri, dopo il ritrovamento del cadavere di Moro, che egli era stato detenuto per un periodo, più o meno in corrispondenza delle rivelazioni del neopolitico, in un covo situato in Via Gradoli.
A chi legge come a me sorge subito un dubbio legittimo. Come faceva costui a sapere dove fosse detenuto Moro? E soprattutto per quale motivo non ha detto tutta la verità consenteno la liberazione dello statista? La sua risposta rimane incisa tuttora nella pietra. Le rivelazioni rispetto Gradoli sono avvenute durante una "Seduta Spiritica". Per quanto credito si possa dare allo spiritismo, e per parte mia assicuro che questo è molto scarso, il dubbio di prima si amplifica oltremisura. Tant'è però, che i commissari di polizia e il mondo politico italiano, hanno chinato la testa e ammesso che gli "spiriti" dei brigatisti probabilmente si stavano pentendo.
Ora rimane la curiosità, immagino, di sapere chi fosse questa eminente personalità politica. Si tratta di Romano Prodi.
powered by IMHO 1.1
E' arrivata la soluzione
alla mia ultima segnlazione sul Microsoft Product Feedback center
Resolved as Postponed by Microsoft on
2005-01-03 at 15:03:11 |
|
Thanks for the feedback on this feature! I don't believe we
will have time during the Whidbey release to add any more functionality into the
file tab channel, but we will definitely look into enhancing its functionality
during the next product cycle.
Cheers, Aaron Brethorst User
Experience Program Manager Visual Studio Core - Platform Team |
Fonte: MSDN Product Feedback
Center
Significa che non ce n'è prima di Orcas. Speriamo
bene.
powered by IMHO 1.1
Provo ancora una volta a gettare il sasso nello stagno.
Chissà che non ci sia qualcuno che mi legge che conosce questo engine e mi sa
consigliare dove potrei testare un Adapter per IMHO.
Mi risulta che Nucleus supporti le MetaWeblog API, che sono un'estensione
delle Blogger API.
powered by IMHO 1.1
Ascoltando la radio sono venuto a conoscenza del
risultato di un sondaggio annuale che presenta la classifica degli uomini
migliori e peggiori dell'anno scorso. Tralasciando gli uomini migliori, quello
che più mi ha colpito è che al primo posto della classifica degli uomini
peggiori c'è George W. Bush.
Ora, non che io nutra una ammirazione smisurata per tale persona, ma quello
che più mi lascia interdetto è che le percentuali sommate di Saddam Hussein e
Osama Bin Laden, raggiungono a mala pena il 50% della percentuale che Bush
realizza da solo. E' evidente che c'è qualcosa che non va, se il presidente del
paese Democratico per antonomasia viene considerato alla stregua se non peggio
di due sanguinari, dittatore l'uno e terrorista l'altro.
Ancora una volta temo, ci ha messo lo zampino l'informazione deviata, che al
solito costruisce a suo piacere miti e leggende, eroi e antieroi.
powered by IMHO
Ricordo ai tempi in cui mi occupavo di gestire il server
DNS dell'azienda presso cui lavoravo. La registrazione di un dominio, oltre alla
necessità di compilare un numero imprecisato di form, poneva soprattutto di
fronte alla necessità di domare il cliente per due giorni buoni, quando pur
avendo dato l'ordine di attivare il dominio, continuava inesorabilmente a non
vederlo per 48 ore se non di più.
Lo spettro allora si chiamava "propagazione", ovvero il tempo necessario per
cui tutti i dns si ricaricassero e iniziassero a risolvere il nome del dominio
registrato
Oggi ho attivato il dominio http://www.imhoproject.org, e nonostante i
canonici 2 giorni siano indicati comunque nel contratto, sono stupito di vedere
che già dopo 1 ora dalla registrazione il dominio viene già correttamente
risolto, almeno nel nord Italia. Ecco perciò che grazie alla segnalazione del
prode Lorenzo, il domino è per ora un alias della home page del progetto su
sourceforge.net.
Tempo permettendo verrà anche il sito. Idee per la grafica?
powered by IMHO
Visto che ormai il mio progetto IMHO sta cominciando a raggiungere un numero abbastanza elevato di utenti, ho deciso di investire qualche euro nella registrazione di un dominio ad-hoc.
Perciò tra qualche giorno sarà disponibile il sito http://www.imhoproject.org il cui dominio è stato registrato da pochi minuti.
Naturalmente dovrò realizzare un piccolo sito web, dove intendo pubblicare la categoria di post di IMHO sul mio weblog assieme ad una sezione dedicata ai TODO e ai plugin di terze parti.
powered by IMHO
Grazie alla collaborazione di Stefano Demiliani ho
appena trovato la causa di un errore di configurazione di IMHO e anche il
relativo workaround. Si tratta di una dimenticanza nel codice che inizializza la
configurazione la prima volta che il programma viene lanciato. In questa
occasione non viene creata l'istamza di default della Hashtable che contiene i
parametri dell'FTP.
questo fa sì che la prima volta che si tenta di postare senza aver
specificato l'FTP il programma da l'errore "Object not set to an instance of an
object" perchè testando il valore di IsActive trova l'oggetto a null.
Il workaround consiste nell'immettere dei dati fittizi nella configurazione
dell'FTP, salvandoli premendo OK anche sulla form di impostazioni e poi
riaprendo le impostazioni e disabilitando nuovamente l'FTP. In questo modo viene
creata l'istanza di default dell'oggetto e l'errore non si presenterà più.
Naturalmente nella prossima release il bug sarà risolto.
Mille grazie a Stefano.
powered by IMHO
Ieri sera mi sono letto un articolo di MSDN che ho considerato illuminante rispetto le problematiche di gestione della memoria in ambiente managed. Mi hanno molto impressionato i benefici che una attenta applicazione di alcune regole può portare in termini di utilizzo della memoria. Vorrei riportare un esempio limpido di questo, direttamente tratto dall'articolo in questione:
// Struttura 1 ****
struct BadValueType
{
char c1;
int i;
char c2;
}
// Struttura 2 ****
struct GoodValueType
{
int i;
char c1;
char c2;
}
Le due strutture riportate nel riquadro possono apparire del tutto uguali, se non fosse per il diverso ordine dei membri. Andando ad analizzare però la dimensione fisica in memoria ci si renderà conto che mentre la prima, occupa 12 bytes, la seconda si accontenta di 8.
La soluzione del mistero sta nel problema dell'allineamento in memoria dei bytes. La struttura 1, avrà 2 bytes per il char, due bytes di padding a 4° byte, 4 byte per l'int, altri due bytes per il secondo char e infine un altro padding al 4° byte. In totale 12 bytes. Nel secondo caso invece avremmo 4 byte per l'int, e consecutivamente 2+2 bytes contigui per i char che tra loro non necessitano di padding.
Se il risparmio di 4 bytes può risultare una banalità, proviamo ad immaginare cosa succederebbe se questa struct facesse parte di una collection di centinaia di elementi. Il risparmio ammonta a 1KB ogni 256 elementi. Non male per aver solo invertito due membri in una struct.
L'articolo completo lo si può trovare a: http://msdn.microsoft.com/msdnmag/issues/05/01/MemoryOptimization/default.aspx
powered by IMHO
Leggo con dispiacere questo post di Adrian
a la risposta di Lorenzo.
Non che io abbia mai avuto dubbi in merito all'opinione che qualcuno può avere
sui miei post, ma da questo ad essere "pentiti" ne corre parecchio. Nessuno
creda che quello che ho voluto esprimere nel mio post "Q o Q"
sia in qualche modo un pentirsi di quanto ho detto o fatto. E spero che nessuno
abbia frainteso il mio post nel senso inverso, come un proclama, orientato a
scoraggiare la libera pratica, ripeto libera, del blogging.
Chi mi conosce sa che la mia considerazione per il fenomeno del blogging è
troppo alta perchè io stesso mi permetta di giudicarla. D'altra parte non mi
sognerei mai di criticare il linkaholismo, piuttosto che la blogorroicità o la
quizzomania, che per qualcuno potrebbe rientrare nella stessa categoria.
Ognuno faccia quello che crede. Siamo blogger. E un blog è l'espressione unica e
irripetibile di una singola persona e pertanto deve essere unico e
irripetibile.
Nessun "pentimento" quindi, ne mio ne di chicchessia. Non è mia abitudine
offendermi per le opinioni altrui, ma questo termine è quanto di più vicino
all'offensivo io abbia mai sentito. Davvero Adrian pensa di poter liquidare
così, con una sola parola tutto ciò che faticosamente ho scritto e fatto e
assieme anche le centinaia di commenti che i lettori hanno avuto la bontà di
lasciare? Mi sembra che questo sia quantomeno indelicato, ma lungi
ancora una volta da me la volontà di criticare la piena libertà di opinione di
ognuno.
E il mio proposito, nel senso di migliorare il mio weblog è una analisi
personale e senza alcun condizionamento e soprattutto senza alcun rimpianto
verso il miei 497 post passati. Se li rimpiangessi probabilmente li avrei
cancellati. Non ho alcun timore di farlo. Desidero migliorare il mio weblog, nel
senso che darò più spazio a contenuti di mia estensione, piuttosto che linkare
quelli degli altri, perchè ritengo di avere molto da dire di mio anche se non
pretendo di avere nelle mie mani le tavole della legge, e finora mi sono
limitato molto perchè in qualche modo avevo una sorta di ostacolo morale,
costituito dalla tecnicità intrinseca di questo usergroup. Ma l'ho già detto
tempo fa che non voglio farmi influenzare da questo. Il mio blog sono io, e
ringrazio in primis Andrea Saltarello che non ha mai avuto nulla da obiettare in
questo nonostante in qualità di presidente avrebbe avuto tutto il diritto di
farlo, e tutti quanti mi hanno seguito, con i loro commenti con la loro voglia
di confrontarsi premiandomi con un numero di visite che mai avrei
immaginato.
D'altra parte non siamo fatti di soli bit. Se così fosse, non saremmo molto
diversi dagli automi che pretendiamo di governare, inchiodati ad una serie di
stati finiti. Penso di aver dato un contributo anche tecnico a questo usergroup,
soprattutto nelle direzioni che più mi affascinano e mi interessano, ma se c'è
un merito che vorrei fosse riconosciuto a me e al mio amico Lorenzo, è quello di
aver contagiato più di qualcuno con questa bella "malattia", e di aver
dato vita al mainfeed con le nostre idee e probilmente anche con le
nostre stronzate. Perdonami Lorenzo... con le mie
stronzate.
Perciò quanto ho detto nei miei propositi rimane, anche se difficilmente
qualcuno dovrà aspettarsi che questo avvenga dall'oggi al domani. E potrebbe
anche non succedere mai che essi si avverino, ma intanto ci sono e per me sono
un impegno verso chi mi legge. Chi vorrà seguirmi vedrà ancora IMHO, vedrà il
mio impegno su .TRAQ, un progetto che mi appare tuttora colossale, che piano
piano sto cercando di far crescere, facendolo ritardare piuttosto che
impoverire, ma immancabilmente vedrà anche le mie dannamente forti e orientate
idee politiche, e con molta probabilità anche lo sfogo di poche righe che spesso
mi ha aiutato a superare momenti difficili grazie alla solidarietà che qui ho
sempre trovato.
E con tutta probabilità vedrà anche dei link, verso qualcosa che ho trovato
veramente interessante e che spero possa aiutare qualcun'altro come ha fatto con
me, ma sono certamente cosciente che contestualmente altri non ne avranno
bisogno. Chi non mi vorrà leggere non farà fatica. In fondo al post c'è scritto
il mio nome.
E se disturbo non avete che da dirlo.
powered by IMHO 1.1
L'architettura di IMHO sta
cominciando a dare i suoi frutti. Ecco un post di Armand du Plessis che presenta il formatter da lui creato. Si tratta di una feature
attesissima, ovvero la possibilità di inserire in un post il titolo del brano
che si sta ascoltando nel Windows Media Player (fatti sotto
Lorenzo).
Armand a quanto pare è un fan
di IMHO al punto che nel suo blog ho letto ben tre post, parecchio recenti, sul
mio Instant Blogger.
Come non ringraziarlo.
powered by IMHO 1.1
Il post è un po' vecchiotto, ma
googleggiando l'ho trovato proprio oggi. Laurent Kempè, Microsoft .NET MVP,
fondatore di Tech Head Brother,
un portale francese su .NET, in un suo post
nomina IMHO. Si tratta solo di una piccola citazione, ma la ritengo molto
importante.
A parte i ringraziamenti sul commento, è curioso
considerare che nel creare IMHO il primo requisito che mi sono posto era proprio
la semplicità.
powered by IMHO 1.1
Leggendo gli articoli che sono linkati dal post di Pierre sono rimasto fortemente impressionato da quanto facile potrebbe essere implementare questo pattern in .NET, specialmente in ambiente Windows Forms. Quello che avviene normalmente in una applicazione è che la form (a.k.a view) interroga il database, tipicamente attraverso una serie di strati intermedi e popola ad uno ad uno i controlli in essa contenuti. Ques'ultima operazione avviene per mezzo del Databinding che consente al programmatore di "dimenticarsi" del dato dopo che lo ha affidato al controllo fintanto che non se lo andra a "riprendere" direttamente nell'oggetto di business cui esso è collegato.
Nel codice di Fowler, questa parte è rappresentata da una serie di metodi set() e get() che non fanno altro che scrivere e leggere i "controlli" in risposta alla loro modifica. In .NET tutto ciò si potrebbe tranquillamente realizzare esponendo all'esterno le proprietà dei controlli e "bindando" gli oggetti di business a queste ultime piuttosto che ai controlli stessi. In questo modo tutto il codice di set() e get() è semplicemente "inutile". Non resta altro che da agganciarsi agli eventi dei pulsanti Ok e Cancel e leggere/scrivere gli oggetti di business nel supporto di persistenza.
Poniamo ad esempio di avere una form che espone la checkbox dell'esempio di Fowler:
public class AlbumForm : Form
{
private CheckBox chkIsClassical;
public AlbumForm()
{
// inizializzazione controlli
}
public bool IsClassical
{
get { return chkIsClassical.Checked; }
set { chkIsClassical.Checked = value; }
}
}
La nostra classe Presenter non dovrà fare altro che istanziare la View e poi fare il bind dell'oggetto di business (model)
public class AlbumPresenter
{
public void LoadViewFromModel( Form form, Album album )
{
Binding binding =
form.DataBindings.Add( "IsClassical", album, "IsClassical" );
}
public void LoadModelFromView( Form form, Album album )
{
form.BindingContext[ album ].EndCurrentEdit();
UpdateModel( album );
}
public void EditAlbum( Album album )
{
AlbumForm form = new AlbumForm();
LoadViewFromModel( form, album );
if ( DialogResult.Ok == form.ShowDialog() )
LoadModelFromView( form, album );
}
}
Il codice l'ho buttato giù direttamente nel post, senza verificare che compili, ma direi che di primo acchito la cosa può funzionare. Sarebbe interessante capire se ci sono delle responsabilità che possono essere accomunate da una classe astratta Presenter oppure da una View.
Naturalmente la domanda che mi sorge è: è davvero così semplice oppure ho scordato di considerare qualcosa?
powered by IMHO 1.1
Q o Q... questo è il dilemma che da un po' di settimane
mi rode.
Le due Q in questione sono quelle di "Qualità" e "Quantità". Ovvero la
necessaria riflessione sui contenuti del mio weblog. E quale momento migliore
che il pomeriggio di questo Capodanno, mentre tutti sono a letto a riposare, per
riflettere appunto su quale sia il taglio che voglio dare a questo mio weblog
per il prossimo anno.
Il 2004 mi ha dato molte soddisfazioni. Più di 950 commenti sui miei quasi
500 post sono una bella soddisfazione, ma se vado a vedere bene mi accorgo che
la maggior parte dei post non ha nemmeno un commento. Allora è necessario
chiedersi se sia meglio privilegiare la Quantità di post alla Qualità.
E non è nemmeno una questione di argomenti. Quando vedo che il post che ha
ricevuto più commenti in assoluto è uno nel quale si parla di religione,
comprendo che non importa parlare sempre e solo di .NET, per fortuna gli
argomenti possono essere molto eterogenei. Anzi a mio parere devono esserlo.
Quello che probabilmente non va sono quei post di soli "link", o quelli che io
chiamo "di vita vissuta".
Intendiamoci, ci vogliono anche quelli perchè è importante guardarsi attorno
e "annotare" quello che si trova in giro oppure sfogare la propria ira
perchè due righe di codice non ne vogliono proprio sapere di andare. Ma non
possono essere preponderanti.
Perciò ecco il mio buon proposito per il 2005. Migliorare il mio weblog.
Puntare più sui trackback che sulla vetta della classifica. Più articoli, post
più estesi, argomenti meglio esposti e sui quali maggiore possa essere la
discussione. Meno link, e quelli che non potranno non esserci, almeno siano
accompagnati da due righe di impressioni e di raccomandazioni. Meno puntini di
sospensione e più approfontimento.
IMHO è stato un gran bel progetto e continuerà ad esserlo e a regalarmi
soddisfazioni ogni giorno. Ma il 2005 sarà, come qualcuno ha già rilevato,
l'anno di .TRAQ. Ed esso sarà una delle leve che vorrei mi aiutassero in questa
operazione.
La costruzione dell'impalcatura del weblog ormai è completa. La sabbia è
pronta, l'acqua scorre, la gru funziona. Il cantiere è operativo. Ora bisogna
rimboccarsi le maniche e mettere giù i mattoni e gli architravi dell'edificio.
La parte difficile viene adesso.
powered by IMHO 1.1
Stanotte il brindisi. E credo che a voi come a me sia
capitato di sentire qualcuno che iniziava il nuovo anno con l'augurio che la
Pace torni su questo mondo.
Nulla da eccepire sulle buone intenzioni di tale augurio, se non il fatto che
non mi pare che la Pace sia mai stata da queste parti. E c'è poco da augurare,
finchè non saremmo noi i primi a fare qualcosa per questa Pace, invece che
attendere passivi che questa trovi la strada per visitare il nostro pianeta.
Quindi, va bene l'augurio, ma cerchiamo di ricordarlo la prossima volta che
andremo a comprare uno splendido prodotto della Cina o di qualche paese
illiberale e antidemocratico. Probabilmente i 5€ che abbiamo risparmiato
sull'acquisto sono costati il lavoro di un bambino. E nessuno mi venga a
chiedere che cosa centra questo con la guerra.
Se non riusciamo a tutelare i diritti di un innocente bambino che passa le
sue giornate a lavorare per fare risparmiare noi e per far guadagnare il suo
aguzzino, come possiamo pensare che il pianeta sia avvolto dal velo della Pace
piuttosto che dal sudario della violenza?
Ehm... buon anno.
powered by IMHO 1.1
A parte il fatto che
stamattina durante le consuete pulizie per raccogliere il residui della festa di
ieri sera, sono riuscito a rompere un paio di bicchieri, e ad ammaccare il
frigorifero di acciaio, poco fa aprendo Rss Bandit sono venuto a conoscenza
di un fatto che mi ha fatto molto piacere.
Sfogliando trai i vari post ho notato che Jon
Galloway, usa IMHO per postare nel suo interessantissimo blog: [code snippet] Dynamic copyright
year
Ok, rompere qualcosa a Capodanno porta
fortuna...
powered by IMHO 1.1