ottobre 2005 Blog Posts
Finalmente ho trovato il tempo di installare il nuovo fiammante
Visual Studio 2005 sul mio portatile e dopo aver disinstallato un bel po' di
spazzatura per fargli spazio (peraltro alla fine ho eliminato anche
GoogleDesktop che aveva creato ben 700MB di indici ) ho potuto provare l'ebbrezza "dell'amore
non protetto" da una virtual-machine-preservativo. Ora, non
vi so dire se la mia è una illusione dovuta all'aver sopportato per lunghi mesi
la lentezza allucinante della virtualizzazione, ma la prima impressione che ho
avuto è che sia velocissimo!!! Molto più anche del vecchio vs.net 2003 alla
cui lentezza ero oramai abituato.
Manco a dirlo, la prima prova reale è stata la ricompilazione
totale di IMHO "pellestrina", che a parte un problemino dovuto al caching
application block (che tra l'altro avevo già deciso di rimuovere) è divenuto
funzionante al 100% in pochi minuti. Ora mi rimane il problema delle librerie
esterne che avevo deciso di usare, iBatis, log4net e i componenti della
SyncFusion. Tutte queste infatti girano con la 1.1 e quindi rendono il software
ibrido, e mi sto chiedendo a che problemi possa portare questo. Sono in
attesa delle Syncfusion in versione 2.0-compatibile e mi solletica l'idea di
scaricare i sorgenti di iBatis e log4net e provare a ricompilare anche quelli
con VS.2005.
In effetti suppongo che per un po' di tempo questa problematica
affliggerà un po' tutti e penso sarebbe molto interessante leggere quelche
articolo sull'argomento. Mi metto in caccia e non appena troverò qualcosa non
mancherò di informarvi.
powered by IMHO 1.3
Stamane grazie al post di Giuseppe sono venuto a sapere che Bill Gates oggi
compie gli anni. Coincidenza vuole che il suo compleanno venga
il giorno dopo il mio e tre giorni prima di quello di mia figlia. L'ho
detto io che ottobre è un bel mese.
Auguri Bill... Auguri Gaia!
powered by IMHO 1.3
Come preannunciato ecco il testo
completo dell'articolo pubblicato nello scorso numero di Luglio/Agosto 2005 di
Computer Programming. Sono in grado di pubblicare l'articolo nel mio blog,
perchè abbiamo deciso di non cederne i diritti alla Infomedia.
Link: http://www.boschin.it/imho/metodologie_legge.pdf
Colgo l'occasione anche per segnalare un articolo nel quale ho
riportato tutti i riferimenti alla mia produzione pubblicistica:
Link: http://blog.boschin.it/articles/index.aspx
powered by IMHO 1.3
Nel numero 148 di Luglio/Agosto di
Computer Programming è uscito un po' in sordina un articolo
scritto a quattro mani tra me e Davide Mauri, che ha a che fare solo in parte
con l'informatica. Nello scrivere l'articolo siamo partiti dal presupposto che
strumenti di analisi quali l'UML hanno lo scopo di rendere
chiaro all'analista prima ed allo sviluppatore poi il problema affrontato e la
soluzione ingegnerizzata. Per chi li usa è evidente che strumenti di questo
tipo, se ben utilizzati, tipo possono condurre a soluzioni più efficaci. E'
per questo che ci siamo proposti l'intento di verificare l'applicabilità di tali
strumenti e delle tecniche di ingegneria software in generale all'attività di
legiferazione che almeno qui in italia non ha mai raggiunto dei risultati
apprezzabili.
Stamane io e Davide abbiamo ricevuto una email da parte di due
ricercatori del Dipartimento di Sistemi e Informatica dell'Università di
Firenze che stanno conducendo una ricerca che ha i medesimi obbiettivi del
nostro articolo. Oltre ad informarci che il nostro articolo conteneva spunti
interessanti, che mi auguro possano essere loro utili, ci è stato segnalato
anche un convegno, tenutosi lo scorso 14 ottobre nel quale sè stato presentato
un prototipo per la costruzionne di testi legislativi coordinati. Per chi
desidera approfondire l'argomento a breve renderemo disponibile il nostro
articolo, ma nel frattempo vi consiglio la lettura della presentazione
segnalataci al seguente indirizzo: http://www.ittig.cnr.it/EditoriaServizi/EventiConvegni/seminarioITTIG-BoschiSpinicci-20051014.pdf
powered by IMHO 1.3
Se qualcuno mi avesse chiesto fino a qualche giorno fà:
"perchè preferisci SqlServer ad Oracle" molto probabilmente gli avrei
risposto in un modo un po arzigogolato, citando tra le altre cose
anche questioni affettive (già si può sentire affetto anche nei confronti
di un database). Oggi, reduce di mezza giornata di lavoro buttata via, e con la
prospettiva di gettarne alle ortiche almeno l'altra metà, posso dire finalmente
di aver capito realmente cos'è che mi rende così simpatico il buon SqlServer.
L'affetto e l'esperienza non centrano affatto ma è tutta una questione di pura
"semplicità". Mi raccomando, non confondete la semplicità con la banalità e
nemmeno la mia non mascherata propensione per la semplificazione come un segno
di pigrizia. Certo è che se oggi sto consumando le ore, minuto per minuto,
arrovellandomi tra tipi SQL e tipi PL/SQL, tra cursori e riferimenti a cursore,
il tutto per fare una cosa che davvero in SqlServer avrei fatto si e non in
un'oretta abbondante, allora il valore della semplicità si fa contante, tale e
quale a quello riscosso da uno sportello bancomat. La semplicità è un valore,
non c'è dubbio, perchè è grazie ad essa che mi posso concentrare sul problema
più che sui mezzi con cui ottenerne la soluzione. Considero Oracle davvero un
ottimo database, ma sono del tutto convinto che se Oracle riuscisse anche ad
alleviare buona parte della sua complessità, allora sarebbe davvero
inarrivabile.
powered by IMHO 1.3
Un post di Bruce Eckel mi ha
suggerito di testare la possibilità di creare un mixin (per la
spiegazione vedere la fonte) in C#. Purtroppo come in Java anche in C#
non è possibile ereditare una classe generica dal proprio tipo parametrico. Sono
certo che un valido motivo c'è, ma sinceramente mi sfugge.
Mixins: Something Else You Can't Do With Java
Generics?
powered by IMHO 1.3
Chi come me si diletta anche nelle
arti grafiche oltre che in quelle informatiche, troverà molto utile
la top 20 di font gratuiti pubblicata in questo blog.
Link: Vitaly Friedman | Blog: 20 Best License-Free Quality
Fonts
powered by IMHO 1.3
per leggere il post originale o inviare un commento visita il seguente indirizzo:
20 fonts gratuiti
Ed eccomi reduce della serata di ieri, che ha visto me, jazzer, luka
e lorenzo degustare le delizie della cucina furlana, accompagnati da
frico, pitina e pituccia, asin (che non è un metodo della classe Math!) e
cao di eccellente qualità, mentre discutevamo fitto-fitto degli ultimi
eventi dell'UgidotNet, di Microsoft di Team System e di quant'altro ci
venisse in mente. Alle fine la frase da incidere nella pietra di ieri sera è
stata: "va bene i programmatori, ma ci vuole anche la gnocca!". (non
dirò nemmeno sotto tortura chi l'ha enunciata...).
La formula del flash-dinner si è rivelata vincente. Ottimi discorsi,
ottimo cibo, una toccata e fuga che vale la pena di ripetere.
Un grazie ai commensali. Alla prossima..
powered by IMHO 1.3
Siamo quasi pronti per il flash-dinner, ma voglio provare a
fare l'ultima chiamata. Chi voglia essere presente, domani sera alle 20:15
presso l'agriturismo Gelindo dei Magredi, a Vivaro (PN) si faccia sentire al più presto.
powered by IMHO 1.3
Microsoft rilascia 3 nuove licenze di
tipo Shared Source che saranno usate anche per i rilasci di codice sorgente
della Microsoft stessa. Qui si trovano i
template.
Source: Matusow's Blog : Shared Source
Licensing
powered by IMHO 1.3
La sana concorrenza spinge il mondo
avanti. Ed ecco che in risposta a Google AdWords nasce Microsoft AdCenter.
Chissà se poi ne uscirà anche un Microsoft AdSense. All fonte trovate anche un
po' di screenshots.
Link: MS AdCenter Live
powered by IMHO 1.3
per leggere il post originale o inviare un commento visita il seguente indirizzo:
Microsoft AdCenter
La venuta in friuli di Lorenzo ha creato l'occasione per il primo flash-dinner dei blogger UgiDotNet. La cena si terrà Giovedì sera presso il Ristorante Agriturismo Gelindo dei Magredi, presso Vivaro in provincia di Pordenone. Chi volesse essere presente non ha che da comunicarmelo entro domani sera.
Appuntamento a Vivaro ore 20:15.
I presenti ad oggi sono:
- Andrea Boschin
- Lorenzo Barbieri
- Francesco "Jazzer" Soliani
- Luca Minudel
Alejandro Gonzalez (forse)
Pochi... ma buoni... soprattutto per il ristoratore!
powered by IMHO 1.3
Ho pubblicato un primo draft che descrive l'architettura di IMHO 2.0. Nel documento è presente uno schema a blocchi e vengono descritti abbastanza in dettaglio i vari componenti che partecipano al funzionamento dell'applicazione. Mi riservo di apportare ulteriori modifiche all'architettura qualora ne rilevi la necessità, anche in risposta a feedback che partano dai lettori.
Link: IMHO 2.0: Application Architecture
Della mia pessima esperienza con il Community Server 1.0 oramai
ne siete a conoscenza, ma stamane mi sono scontrato nuovamente con il preteso
erede del glorioso .TEXT. Mi ha scritto una persona chiedendomi come mai
l'adapter per Community Server incluso in IMHO 1.2/1.3 non funzionasse. Non ci è
voluto molto a capire il motivo del malfunzionamento. Il mio adapter è stato
scritto su CS 1.0 mentre il mio interlocutore stava tentando di postare su un CS
1.1
Ho indagato più a fondo e alla fine ho scoperto la differenza.
Praticamente il ticket di autenticazione che viene inviato al CS, composto da
Username, Password e BlogId ha visto repentinamente cambiare il nome di
quest'ultima proprietà da BlogName a ServiceName. Sono un fan
sfegatato del refactoring, e soffro molto, quasi fisicamente quando nel mio
codice c'è anche solo una variabile con un nome sbagliato. Però questo è troppo.
in casi come questo la compatibilità all'indietro deve essere mantenuta a tutti
i costi e non c'è nessuna scusa per fare un cambiamento del genere senza almeno
prevedere di accettare entrambi i nomi.
Alla fine ho dovuto produrre un altro Adapter, a supporto di
questa nuova versione, sperano che l'uscita della 1.2 non mi costringa
nuovamente a rivedere il codice. Al più presto sarà online.
powered by IMHO 1.3
Chi volesse provare l'ebbrezza di avere la Sidebar
originale di Vista su XP, nonha che da seguire i passi qui descritti.
Link: http://www.tech-recipes.com/microsoft_vista_tips1020.html
powered by IMHO 1.3
Nel numero di ottobre di Computer Programming sarà pubblicato
il primo articolo di una serie dedicata a ASP.NET 2.0. L'argomento della prima
puntata saranno le Membership API con un esempio di creazione di Custom
Membership Provider e Role Provider. Nei mesi prossimi la serie continuerà
toccando altri argomenti di ASP.NET 2.0 come le MasterPages, i Temi, e i
nuovi WebControls. Curiosamente in questi giorni è uscito un analogo articolo di
Andrea Saltarello, ma per chi non mastica bene l'inglese, oppure, come me,
non ama scervellarsi a tentare di comprendere un testo in tale lingua, il mio
articolo sarà sicuramente gradito.
Buona lettura!
powered by IMHO
1.3
UPDATE: Da alcune segnalazioni sembra che la patch indicata in questo post non porti a miglioramenti sostanziali.
Grazie al prezioso aiuto di Mauro Sagratella, ora vi posso comunicare che l'ultima versione di IMHO risolve anche i problemi di ISA Server. Mauro mi ha supportato testando IMHO su ISA Server di cui io non dispongo e ha fatto anche qualche prova di codice che mi ha aiutato ad arrivare ad una felice conclusione. In questo post quindi vale la pena di discutere i due aspetti della questione:
1) Come configurare IMHO per uscire su ISA Server
E' molto semplice, se il vostro browser Internet Explorer naviga correttamente non avete che da impostare l'opzione "Use proxy from Internet Explorer" e tutto funzionerà correttamente.
2) Come faccio ad uscire su ISA Server con un mio programma
Anche qui la questione si risolve semplicemente. Ecco le due righe di codice che sono la chiave di tutto:
...
WebProxy defaultProxy =
WebProxy.GetDefaultProxy();
defaultProxy.Credentials =
CredentialCache.DefaultCredentials;
...
In sostanza occorre dare le credenziali dell'utente correntemente loggato al sistema al proxy che poi verrà usato per uscire su internet.
[now playing: Woodstock 99 Full Set (01:52:48) - Metallica]
powered by IMHO 1.3
Ho colto l'occasione anche per fare l'upload del codice
sorgente aggiornato all'ultima versione. Trovate tutto su Sourceforge
all'indirizzo http://sourceforge.net/projects/imho10
[now playing: Metallica - The unforgiven (backing
track) (06:00) - ]
powered by IMHO 1.3
Ho appena completato l'upload del package di installazione
corretto per la versione 1.3.2106. Il problema segnalato da Simone Busoli e
Andrea Dottor risiedeva appunto nell'aver indicato la versione 1.2.2106 nel file
AssemblyInfo, e aver poi scritto ovunque 1.3.2106. Questo causava l'apparizione
del numero di versione errato nell'AboutBox che appunto lo legge direttamente
dai metadata dell'assembly, e dalla apparizione "incomprensibile" del balloon
che informava sulla presenza di una versione più nuova online, nonostante la si
fosse appena installata. Ora tutto è a posto. Buon
divertimento.
powered by IMHO 1.3
Mi è stato fatto notare che la nuova release di IMHO
da delle informazioni contrastanti per quanto riguarda la versione. In effetti
da alcune verifiche pare proprio che io abbia inserito nell'AssemblyInfo la
versione 1.2.2106 mentre poi ho indicato ovunque 1.3.2106. Quanto prima
correggerò il problema, tuttavia mi sento di rassicurare i più che le
funzionalità non hanno problemi e che la release scaricata è proprio la
1.3.2106. Appena il download è disponibile tornerò a postare un messaggio (sta
compilando proprio ora...)
powered by IMHO 1.3
Sorpresa! Beh, tanto lo so che lo avete intuito leggendo in
calce ai miei post più recenti, ma sono certo lo stesso che si tratti di una
sorpresa il fatto che esca con una nuova release di IMHO proprio ora che sto
lavorando alla 2.0. Il merito di questa release va in massima parte ad Igor
Antonacci che si è fatto in quattro per produrre un nuovo Adapter per
Wordpress. A lui vada il mio più sentito ringraziamento dato che so per certo
che ha impiegato molto tempo nei suoi preziosi weekend, sottraendolo ad una
paziente morosa. Ma in questa release sono anche riuscito a risolvere
alcuni problemi che si trascinavano da tempo, primo fra tutti quello che
riguardava i path UNC nei post, ma anche altre piccole cosuccie un po'
fastidiose. Infine, dulcis in fundo, in questa release ho deciso di assorbire le
funzionalità del formatter che Armand du Plessis ha realizzato un po' di tempo fa. Permettetemi di
ringraziarlo ancora per il suo lavoro. Sono certo che sarà felice di vedere come
ho integrato il supporto al Blogging Plugin di Windows Media Player, non fosse
altro perchè così è molto più comodo ed usabile. Chi installerà il plugin di WMP
si accorgerà che IMHO ne rileva automaticamente la presenza e inserisce una
riga in coda al post che mostra le informazioni del brano in riproduzione. Ora
vi consiglio di mettervi comodi ed armarvi di pazienza perchè anche se c'è
qualche probabilità che esca una ulteriore release per risolvere alcuni problemi
con ISA Server, poi fino alla 2.0 non ci sarà più nulla...
[now playing: Flamenco Sketches (09.26) 1959 -
Kind Of Blue - Miles Davis]
powered by IMHO 1.3
Sono capitato per puro caso sulla home page del sito Microsoft Italia e ho scoperto qual'è lo slogan della nuova campagna
Microsoft. Certo non si può dire che non vi siano dei creativi in Microsoft
Italia, ma sono allibito da come si possa paragonare i propri potenziali clienti
con degli sbevazzoni. Che le campagne pubblicitarie siano sempre più aggressive
ormai lo sappiamo, ma almeno speravo che non si fosse scelto di abbandonare del
tutto l'eleganza.
Chissà chi è il genio che ha deciso di dare il via a questo
bannerone, che sul sito occupa almeno il 30% dell'area della pagina... Mah!
powered by IMHO 1.3
per leggere il post originale o inviare un commento visita il seguente indirizzo:
Chi è che ha bevuto?
Da un blog su msdn ho notato che è stata rilasciata la
CTP2 di un application block che pare davvero interessante. Si tratta di una
serie di classi che dovrebbe aiutare a sviluppare interfacce a componenti,
consentendo lo sviluppo e il test separato delle varie componenti per poi
arrivare ad un assemblamento finale. Ho solo visto qualche spezzone di codice,
ma quello che ho visto mi ha parecchio incuriosito. Chissà se sono riusciti a
superare la fastidiosa complessità dell UIP.
Link: Composite UI Application Block
Home
powered by IMHO 1.3
Chi ha
mai provato a sviluppare una applicazione Localizzata quando
addirittura non Globalizzata
, si sarà reso conto di quanto sia noioso
mano a mano che si sviluppa porre nei file di risorse le stringhe che poi
dovranno essere tradotte nelle varie lingue. Mi riferisco soprattutto alle
stringhe perchè in realtà sono quelle che riguardano almeno l'80% della fatica
necessaria. Personalmente trovo questa attività molto deconcentrante.
Tipicamente mentre sto scrivendo una porzione di codice, dover copiare una
stringa nel file di risorse per poi referenziarla mi fa perdere il filo di
quello che stavo realizzando, mentre lasciare le stringhe ad un passaggio
successivo fa sì che me dimentichi sempre qualcuna. Per questo ho elaborato un
metodo che sto usando proficuamente con IMHO 2.0, e che riesce a salvare le
proverbiali capra e cavoli. Il mio metodo si basa sulla seguente
classe:
using System.Reflection;
using System.Resources;
namespace Elite.Imho2.Resources
{
public sealed class Strings
{
private static readonly ResourceManager mResourceManager =
new ResourceManager(
"Elite.Imho2.Resources.Strings",
Assembly.GetExecutingAssembly());
private Strings()
{}
public static string Get(string name)
{
if (mResourceManager.GetString(name) as string != null)
return mResourceManager.GetString(name) as string;
return name;
}
}
}
La classina, un po'
banale se vogliamo è un singleton che permette di accedere ad un ResourceManager
creato al primo accesso. La particolarità della classe è che il metodo Get()
qualora non trovi una risorsa corrispondente a "name" ritornerà
"name
" stesso come stringa invece che sollevare un'eccezione. In queso modo,
con un po' di astuzia si potranno scrivere delle righe che usano questa classe
come in questo eempio:
MessageBox.Show(Strings.Get("IMHO 2.0"), Strings.Get("Please enter the title"));
In questo modo l'applicazione sarà popolata con delle stringhe
reali anche durante lo sviluppo e in fase di localizzazione sarà molto
semplice tradurre le stringhe senza dover rincorrere astruse sigle in giro per
il codice.
powered by IMHO
1.3
Questo pomeriggio, in un minuto di tempo libero, ho avuto
l'idea di andare a curiosare in quelli che sono i numeri dell'applicazione
gestionale che io e i miei collaboratori stiamo sviluppando. Ho cominciato
curiosando con qualche query nel database oracle, e poi preso dalla curiosità ho
fatto qualche conteggio anche sul codice realizzato in C#. Ecco i numeri per i
curiosi:
DATABASE:
- 304 tabelle
- 1040 procedure
- 39 trigger
- 131 sequenze
- 4 tablespace
SORGENTE:
- 71 assembly
- ~1055 classi (a titolo di paragone vale la pena
considerare che il framework .net ne contiene 2882).
- 1760 file
- 18,9 MB di file sorgente
Se non lo vedevo con i miei occhi non ci avrei creduto.
[now playing: My Friend (05.02) Goodbye
Country - Groove Armada]
powered by IMHO 1.3
Gli utenti di IMHO, già conoscono e forse apprezzano la caratteristica tray icon con cui il software rivela la sua presenza. Nella versione 2.0 di IMHO, questa icona sarà ancora presente, ma la sua funzione è stata notevolmente potenziata. Essa, oltre che un rapido punto di accesso al programma, ora rivela anche informazioni sullo stato del server cui si è collegati, e fornisce messaggi come quello visibile nello screenshot riportato a fianco, che mostra l'esito di un tentativo di logon ad un server. Personalmente il giorno in cui ho iniziato a scrivere IMHO sono partito immediatamente con una idea precisa in testa, ovvero che la tray bar dovesse consentirmi facilmente di accedere al programma proprio per semplificare al massimo l'attività di editing dei post, perciò giocoforza il passaggio alla versione 2.0, costruita su una architettura client-server, doveva mantenere questa importante funzionalità. Diversamente da quello che succedeva in IMHO 1.2 però, la nuova tray icon non fa capo ad una form, ma semplicemente ad un processo realizzato estendendo la classe ApplicationContext, che consiglio a tutti di prendere in considerazione per la realizzazione di applicazioni form-less. Questa scelta è stata dettata dalla necessità di diminuire il più possibile il footprint nella ram dell'applicazione minimizzata che da alcuni test ora si aggira intorno ai 14MB contro i 40MB della precedente versione (rilievo effettuato solo con il TaskManager). Ora l'applicazione per girare non ha bisogno di alcuna form, e la speranza è che questo aiuti a renderla più leggera e quindi che convinca i più a tenerla sempre attiva. Attualmente le funzionalità della tray icon non sono complete. Ancora mancano le attività di polling del server collegato che penso realizzerò solo verso la fine, perciò è probabile che nelle prime versioni rilasciate queste ancora non siano presenti.
powered by IMHO 1.2
E' oramai un bel po' di tempo che non mi faccio più vedere ad
un workshop. Mi pare che l'ultimo sia stato nel lontano dicembre del 2004. Mi
spiace dover dire che anche stavolta ho scelto di passare, un po' per
impegni lavorativi sovrastanti (ho un incontro con un potenziale cliente proprio
in quei giorni), un po' lo confesso per pigrizia (odio guidare per 700
chilometri in autostrada, magari tutto solo). Prometto che la prossima volta ci
sarò, ma per ora posso solo augurarvi di passare due giornate splendide (a come
potrebbe essere diversamente?) in compagnia degli stimati amici
dell'ugidotnet.
powered by IMHO 1.2
Ho aggiornato la roadmap di IMHO 2.0 aggiungendo anche
gli stati di avanzamento del progetto. Non scoraggiatevi...
Link: IMHO 2.0: The Big Draw
powered by IMHO 1.2
Avendo finalmente trovato il tempo di procedere con il lavoro
sul nuovo IMHO 2.0, di cui spero a breve di pubblicare una early-preview sotto
forma di screenshots, è giunto il momento che inizi a parlare con una certa
costanza della novità che lo contraddistingueranno. Chi ha letto i miei
pochi post precedenti sull'argomento sarà probabilmente a conoscenza di quella
che è la vision del progetto, cioè a grandi linee l'evoluzione che intendo
dare ad IMHO 1.2 per farlo diventare una piattaforma completa di Content
Management rivolta innanzitutto ai blog, ma in seguito anche a piccole
redazioni, in grado di gestire riviste online e probabilmente anche normali siti
web. Più volte nel blog ho accennato a questo, ma credo che occorra in qualche
modo formalizzare un big-draw cioè una roadmap ideale per
raggiungere questo scopo. Ho deciso quindi di pubblicare un breve documento che
riporta i punti che per ora sono riuscito a fissare e ad ordinare. Si tratta di
un documento che continuerà a crescere nel tempo, soprattutto se come spero
otterrò dagli utenti il medesimo feedback che mi hanno regalato con IMHO 1.2
Link: IMHO 2.0 The Big Draw
powered by IMHO 1.2
Stamane a pranzo, una interessante discussione con un collega
appartenente al "lato oscuro della forza", ci ha visto scambiarci strali tra un
boccone e l'altro di un'ottima pasta con il pesto, pomodori e caciotta. Si è
parlato di Ruby, di Linguaggi di programmazione, e poi man a mano la discussione
è scesa giù giù fino al boxing/unboxing, ai tipi primitivi, e così via.
Una normale discussione insomma, se a parteciparvi fossero
stati solo due programmatori, magari al lume di candela, ma è curioso il
fatto che in ascolto delle nostre erudite dissertazioni vi era Giulio, il mio
collega grafico, che pur essendo un vero css-master, di programmazione ne
mastica il mimino indispensabile.
Alla fine, in uno di quei rari momenti di silenzio che si
inframezzano in una appassionata discussione, il buon Giulio ci ha fulminati con
la sua sottile ironia sbottando:
Beh, io eviterei il boxing con un tipo primitivo...
E ora confessatelo: in quanti l'avete capita?
powered by IMHO
1.2