Technology Experience
My personal life

Transformers (contiene spoilers)

Sono sempre stato un grande appassionato dei film visti al cinema. A casa ho una collezione di quasi un centinaio di DVD originali dei film che preferisco e non solo. Negli ultimi tempi mi sono rifiutato di andare a vedere i grandi successi, perchè a mio modesto parere stanno diventando troppo giocattolosi, troppi effetti speciali assurdi, troppo umorismo e soprattutto calibrato male, troppi personaggi troppo stereotipati. Per tutta una serie di motivi non sono andato a vedere Pirati dei Caraibi – Ai confini del mondo: il primo l’ho adorato, il secondo è orribile. Stessa cosa per l’Uomo Ragno.

I Transformers invece sono voluto andare a vederlo lo stesso, un po’ perchè suscitava in me un po’ di nostalgia anni ’80 di quando ero ragazzino, un po’ perchè vedersi un bel film arcade ogni tanto fa bene. Beh, insomma, anche i Transformers mi hanno deluso fortemente.

La prima cosa che mi ha colpito negativamente è l’umorismo assurdo: vedere gli Autobot che si nascondono nel giardino di casa per non farsi beccare dai genitori del ragazzo è quantomeno ridicolo. Il tipo ciccione super-esperto di computer (!) che passa il suo tempo davanti ai videogame è ridicolo. Il capo della squadra S7 non ha capito nemmeno adesso se ci è o se ci fa.

Seconda cosa: scene troppo assurde. Troppe per enumerarle tutte. Mi sono fermato a contarle quando ho raggiunto 71. Il soldato che fa la “catapulta infernale” per uccidere uno dei robot cattivi scivolando per 100 metri sull’asfalto è assurdo. Gli Autobot che arrivano sulla Terra come meteoriti sono assurdi: in Armageddon o in Deeb Impact ci hanno fatto vedere che basta un sasso per estinguere un pianeta. Il combattimento finale dura almeno il 40% del film: assurdo. E poi è troppo confuso, veloce. E poi…scusate…qualcuno mi sa dire perchè il Cubo, alla fine, viene dato in mano al ragazzo per portarlo in cima al palazzo??? Non sarebbe stato più comodo darlo ad un Autobot, che è più sicuro?

Terza cosa: personaggi troppo sempliciotti. Il protagonista timido ed impacciato, la gnocca che prima si veste da gnocca e poi si chiede: “Ups, ma com’è che mi trovo ragazzi con addominali scolpiti e braccia muscolose?” (!!!) il solito gruppo di ricercatori più sveglio degli altri, l’hacker ciccione bravissimo col computer, i genitori apprensivi e quasi al limite dell’isteria, etc .etc.

Quarta cosa: la trama. Qui sarò breve: neanche per un attimo mi è interessato davvero come finisse il film. Che delusione. Neanche per un attimo mi sono esaltato, nemmeno quando la Camaro gialla scassata torna come una Camaro gialla sportivissima. Tante frasi scontate ma che non danno nulla al film.

In conclusione, gli ho appioppato un 5 meno meno. Ci sono punti positivi: la protagonista femminile. Credo la protagonista più gnocca che abbia mai visto su uno schermo cinematografico. Altro che Mila Jovovic o Angelina Jolie. Veramente una gran ragazza. Troppo gnocca per farla recitare in un film così. Non ho ancora capito adesso se è proprio lei che è tosta, oppure se il trucco e l’abbigliamento se hanno dato quelle 3 o 4 marce in più rispetto a tutte le altre. Mi ha ricordato Tea Leoni nel primo Bad Boys.

Tornando al film, comunque, non mi è piaciuto per nulla. Il regista Micheal Bay è lo stesso di Indipendence Bay. Dal paragone, secondo me, i Transformer escono sconfitti. Ditemi chi di voi non si è immedesimato in Willie Smith che combatte contro un UFO sul suo caccia, oppure se almeno per un pochino non vi sono venuti i brividi quando il presidente USA chiede all’alieno imprigionato nell’Area 51: “Le nostre razze sono diverse, ma sono sicuro che possiamo fare molto per aiutarci gli uni e gli altri. Diteci cosa possiamo fare, e noi lo faremo.” – e l’alieno risponde: “Morire!“. Oppure la scena degli F16 che attaccano l’astronave sulla città con missili tradizionali: l’astronave si apre e sciamano milioni di UFO che li fanno a pezzi. Insomma, nonostante Indipendence Day sia un film estremamente arcade, semplice e poco accurato scientificamente, mi ha divertito molto di più e quando mi capita di beccarlo in TV è sempre una piacevola sorpresa.

I Transformers mi hanno annoiato, al punto che – quando sono uscito dal cinema – mi sono immaginato la Cordoba di mio fratello trasformarsi in un robot gigante cattivo. Sapete cosa vi dico? Non sarei scappato per paura di essere ucciso, ma sarei scappato dalla noia.

Technorati Tags:

Send to Kindle
.NET World

Risorse su WPF

Ho aggiunto tra i miei feed preferiti e che leggo tutti i giorni quello di un certo Jaime Rodriguez che sembra essere tosto sul fronte WPF. Mi è piaciuta la mini-serie di 3 post sul drag’n’drop con WPF, perchè è molto chiara e non è per nulla complessa, anzi. Sottoscrivetevi al suo blog qua.

I tre post che parlano di drag’n’ su WPF sono questi:

Drag & Drop in WPF … Explained end to end ..

Drag & drop in WPF part2 …

Drag & Drop in WPF.. part 3 .. the results and code…

Technorati Tags:   

Send to Kindle
Hardware

Il mio Nokia N70 è tornato!

Ieri pomeriggio, giusto per sfizio, provo a chiamare il centro assistenza per sentire un po’ che fine aveva fatto il mio N70 che avevo portato lì in assistenza dopo l’improvviso guasto. Era stato spedito il 21 Giugno scorso, e non avevo sentito più nulla. La ragazza mi disse che il cellulare risultava in garanzia, quindi non avrei dovuto pagare un bel nulla. Mi disse anche che quando il cellulare sarebbe rientrato sarei stato avvisato tramite SMS per il ritiro. Di questo SMS non ne ho mai avuto traccia.

Beh, insomma, provo a chiamare e la gentile signorina dell’altra parte del cavo mi dice che il mio N70 è pronto per il ritiro. Per dignità non ho voluto chiederle da quanto tempo fosse lì in giacenza ad aspettarmi. Esco dal lavoro alle 17:00, prendo la metropolitana e raggiungo il centro assistenza. Effettivamente il cellulare c’è, finalmente. Ma la cosa bella è che è stato interamente sostituito: il difetto riguardava il display, ma la Nokia mi ha cambiato il cellulare completo. Meglio così.

Ieri sera torno a casa, lo metto sotto carica, lo configuro un attimo e – magia – lo collego via Bluetooth e nel giro di un minuto – finalmente – ho di nuovo tutta la mia rubrica disponibile.

Ed un’altra rottura di scatole se ne è andata.

Technorati Tags:

Send to Kindle
IV del Venerdì

[IV] del Venerdì (11)

La forza centrifuga spinse la ragazza in un altro dove, in un posto così lontano e ad una velocità così alta che l’immagine stessa della ragazza rimase impressa nella retìna dell’Artista a lungo, come se avesse visto il Sole ad occhio nudo. Ecco perchè l’Artista era convinto che la donna fosse ancora lì dove la vedeva. “Questa è vera magia!” – si disse la ragazza mentre viaggiava nell’etere attraverso gli eoni nel tempo e nello spazio. Giunse in un luogo allo stesso tempo familiare e sconosciuto. Atterrò in una radura, intorno a sè aveva solo alberi che si estendevano a perdita d’occhio. Il terreno sotto i suoi piedi era ricoperto di aghi di pino e di foglie morte: era in un bosco, ed era autunno. “Ero in un teatro, ed ora sono qui. Ma qui…dove ?”. La ragazza teneva in braccio suo figlio che stava lentamente morendo. Guardò per terra e vide un cerchio di un verde brillante che la circondava. Sembrava un anello di energia che voleva imprigionarla. Provò l’impulso di muovere qualche passo per oltrepassare il cerchio: ma quando cominciò a camminare, l’anello la seguì e rimaneva sempre centrato alla sua figura.

Acqua. Acqua minerale in bottiglia o acqua naturale. Acqua di fiume dolce ed acqua di mare salata. Acqua per lavarsi la faccia o acqua per farsi la barba. Acqua piovana ed acqua nelle pozzanghere. Acqua della doccia, acqua delle fontanelle in città. Acqua in un bicchiere o acqua in bottiglie da 2 litri. Acqua nel radiatore della macchina, acqua nei circuiti di raffreddamento. Acqua nelle nuvole e nei ghiacciai. Troppa acqua a chi ce l’ha e poca acqua a chi invece manca. Acqua fredda ed acqua calda. Acqua dei vigili del fuoco, acqua negli ospedali. Acqua distillata ed acqua ricca di sali minerali. Acqua sotto forma di ghiaccio o evaporata. Acqua stagnante ed acqua corrente. Acqua nei nebulizzatori, acqua nelle radici delle piante. Acqua assorbita dai cactus ed acqua nelle gobbe dei cammelli. Acqua delle cascate ed acqua nei rigagnoli di campagna. Acqua sotto forma di condensa. Acqua del nostro pianeta ed acqua che forma il nostro corpo. Acqua sugli altri pianeti, acqua qui dietro l’angolo. Acqua benedetta ed acqua sconsacrata. Acqua, acqua, acqua.
Semplicemente…un po’ d’acqua.

Send to Kindle
.NET World

Scambio di e-mail con Petzold

Ho scritto a Charles Petzold qualche volta in passato, parlando del suo libro e di WPF. Come ho avuto modo di dire in passato, non è che il suo Application + Markup mi abbia entusiasmato moltissimo. Ma Petzold sa come tenersi stretti i suoi lettori: a chiunque abbia un blog in cui si parli di Presentation Foundation, promettere di regalare una copia del suo prossimo libro 3D Programming for Windows, in uscita il prossimo 25 Luglio. Vabbè che su WPF ce ne saranno di migliori, ma come lui stesso ha detto a me: “My WPF 3D book is coming out in a couple weeks and I think every WPF blogger should get a copy.“.

Beh, che dire…Thanks Charles!

Technorati Tags:   

Send to Kindle
My personal life

Uffa, la mia carta di credito implementa l’interfaccia ICloneable

Dovrei prendere l’abitudine di raccontare storie negative solo dopo che si sono concluse. Così posso dirvi nel momento stesso in cui le leggete se sono finite bene o male. Come questa, che riguarda la mia carta di credito.

Prologo
Un pomeriggio di qualche settimana fa (più o meno alla fine di giugno), mentre lavoravo, ricevo un SMS che recitava così: “A causa di una possibile frode e di una possibile clonazione, la sua carta di credito è stata bloccata. Per informazioni chiami il numero xyz.“. Lo spavento iniziale è inevitabile, poi penso che ho attivo il servizio SMS Alert: se qualcuno usa la mia carta ricevo un SMS, ed io non ho ricevuto nulla, per cui mi tranquillizzo un pochino. Tento comunque di chiamare il numero verde per avere delucidazioni. Riesco a parlare con un operatore solo il giorno dopo, il quale mi informa che sono state trafugate informazioni personali (pin ed altre cose) di 10.000 carte di credito, tra cui la mia. Bella sfiga! Quindi la carta è stata automaticamente bloccata ed è partita la procedura per la creazione di una nuova carta di credito.

Reazione
La prima cosa che ho pensato è stata: cavolo, e se fossi stato dall’altra parte del mondo e mi bloccavano la carta di credito cosa facevo? Un tizio magari è al TechEd, è in vacanza in India, è in albergo e deve pagare, oppure deve acquistare un biglietto aereo per tornare a casa, è a Siviglia e vuole comprare souvenir, è appena arrivato al Cairo e deve acquistare chissà cosa. Bloccare la carta senza alcun preavviso può essere pericoloso e può lasciare in panne chiunque. Sarebbe carino che l’operatore chiami e dica al cliente: “Gentile sig. Damiani, vede, la sua carta è a rischio. Le diamo 30 minuti per fare tutto quello che deve fare, poi la carta risulterà bloccata in modo irreversibile!“. Uno ha il tempo di prelevare contanti, di prendere il biglietto aereo, di pagare l’hotel, di fare il minimo indispensabile per organizzarsi ed evitare fortissimi disagi. Sbaglio? Che ne dite?

Risoluzione
Nessuna clonazione. Nessun utilizzo illecito della mia carta. Oggi pomeriggio mi è arrivata via posta la nuova carta di credito che ho già attivato. Tutto è bene quel che finisce bene. Quella vecchia è stata sminuzzata nel cestino della carta dietro di me.

Send to Kindle
Community

blog.vivendobyte.net: considerazioni!

Credo che questo blog sia nato sotto i migliori auspici. Non me ne è mai importato molto di quanti lettori ho. Ho passato solamente i primi giorni a controllare ogni tanto il mio account di FeedBurner per vedere quanti fossero realmente i sottoscrittori, poi l’ho lasciato perdere. Mi è sempre e solo importato che venissi letto da persone che stimo ed apprezzo, così posso sempre avere il loro parere e la loro opinione su tutto.

Credo che sia nato sotto i migliori auspici perchè sentivo che con il mio blog di UGI non avrei mai potuto dire tutto quello che avevo in testa. Non perchè avessi in testa chissà cosa (a parte una tonnellata di segatura fine fine): semplicemente sentivo che se avessi continuato a bloggare storie sui bytes, le mie foto su Flickr ed altre faccende della mia vita privata, avrei rubato qualcosa a qualcuno. Sul Muro di UGIdotNET preferisco leggere Marco Minerva, Alessandro Scardova o Rosalba Fiore. Ho anche pensato che con un blog tutto mio avrei potuto scrivere tutto. E’ così, almeno parzialmente. Faccio un esempio.

Avrei potuto scrivere “rincoglionito” sul Muro di UGIdotNET ?
Probabilmente sì, ma non sarebbe stato elegante. Non c’è nessuna regola che mi impedisce di farlo, solo la buona educazione. Sul mio blog lo posso fare tranquillamente. Non è nel mio modo di fare quello di scrivere parolacce nei post, l’ho fatto solo stasera per dare l’idea. Ma visto che ormai l’ho fatto, questo “rincoglionito” lo dedico a me, per una serie di motivi che non sto qui a dirvi perchè sono stanco.

Credo che sia nato sotto i migliori auspici, perchè quando in una cosa credi davvero, la voglia di farla e di metterla in pratica è così irrazionale che esce dagli schemi della ragione e della logica. Ed è una bella sensazione, perchè è quasi come raccogliere una sfida. Ottimo. L’unica tristezza, davvero, è il non poter affrontare certi discorsi per manifesta incapacità, almeno da parte mia. Questo mi sento di consigliarlo a chiunque voglia aprirsi un blog per cercare indipendenza ed una sensasione rinnovata di libertà di parola: se il motivo è solo questo, abbandonatelo subito. Il motivo non so renderlo a parole, mi spiace.

Technorati Tags:

Send to Kindle
VivendoByte.ByteAdventure

I miei racconti: tre universi

Mi piacerebbe far evolvere i miei Racconti sui Bytes in qualcosa di più concreto rispetto alle piccole storielle che ogni tanto avevo tempo di scrivere tra una stored-procedure e l’altra (aaahhh, che bello non aver più a che fare con SQL). Le storie che mi capitava di scrivere erano completamente slegate fra loro: una mattina avevo voglia di scrivere e lo facevo, ma con c’era un filo conduttore od una trama generale. Come direbbero i giocatori di ruolo (quelli su carta, non quelli su video)…l’ambientazione è sempre la stessa (celle di memoria, mainboard, entità software astratte, etc.), ma non c’era una campagna da seguire, non c’era una missione o un obiettivo finale: il byte di volta in volta viveva e partecipava ad una piccola avventura e finiva lì.

Mi piacerebbe creare qualcosa di più. Una delle cose che ho capito di me stesso da quando ho un blog è che mi piace scrivere. Ok, l’ho già detto in passato e non è certo una novità. Ma, mettiamola così: il blog su UGI lo gestivo durante la mia tradizionale giornata lavorativa – ritagliando tempo qua e là cercando di non fare torto a nessuno. Tra l’altro, nella società dove lavoravo prima il mio responsabile leggeva il mio blog, per cui era al corrente sempre di tutto. Adesso ci riesco un po’ meno: il lavoro che faccio adesso è assolutamente più conforme alle mie attitudini e quindi sono io il primo che durante la giornata mi accorgo di non avere tempo nè voglia di bloggare. Ma la mia voglia di scrivere è talmente tanta che riesco a trovare il tempo la sera: non sempre, è chiaro, però ci riesco. Scrivere mi diverte e mi rilassa: meglio così.

Da qui l’idea di continuare a scrivere racconti in una forma più evoluta. Non so se sono in grado e se sarò continuo, però vorrei tentarci. Se penso un attimo ai racconti che ho scritto fino ad oggi, mi accorgo che fondamentalmente sono ambientati in tre grandi universi:

  1. il mondo reale: cioè, il nostro, nel quale troviamo il programmatore, per esempio. E così tutti gli oggetti e gli elementi presenti nel nostro mondo: persone, televisione, ambiente, etc. etc. Limite? La nostra realtà.
  2. il mondo simulato: un aereo di Flight Simulator, l’auto di Formula Uno, un soldato nazista di Call of Duty, l’alieno pronto ad ucciderci, il marine in fuga nella base spaziale su Marte, il mago, il guerriero, il cecchino e così via. In generale, tutti i personaggi e gli oggetti che vengono simulati da videogiochi e software vari. Limite? La nostra fantasia.
  3. il mondo hardware: qui è dove vive il nostro amico byte. Questo mondo è fatto di indirizzi di memoria, schede grafiche, software, bus, dispositivi di I/O, interrupt. Limite? L’hardware e le tecnologie attuali. Se un tizio avesse scritto racconti come i miei 30 anni fa, probabilmente avrebbe fatto vivere il suo byte in un hardware molto diverso dal mio. Chi scriverà tra 30 anni avrà a che fare con hardware molto differenti.

Il mondo reale non è così interessante: d’altro canto ci siamo dentro tutti i giorni.
Gli altri due invece sono piuttosto affascinanti da sviscerare: il secondo non ha praticamente confini nè limiti. Meglio di così.
Vedremo, Igor, vedremo…

Technorati Tags:

Send to Kindle
Hardware

Un modo per far rivivere il vostro PC

Se per caso non si fosse capito da tutti i miei post precedenti, sono un grande appassionato della serie di giochi di guida Colin McRae Rally, al punto che l’anno scorso (o giù di lì), quando venni a sapere che sarebbe uscito Colin McRae Rally DIRT (CMR-DRT) mi dissi: “Ok, se ce ne fosse bisogno, prenderò un nuovo PC per poterci giocare!“. L’uscita del gioco è avvenuta qualche settimana fa e, neanche a dirlo, me lo sono preso immediatamente appena l’ho visto sugli scaffali.

Passata la intro, adesso arriva il bello. Ho un AMD Athlon 3500+, 2Gb di RAM e fino a poco tempo una ATI Radeon X1600. Inutile dire che CMR-DIRT, trattandosi di un gioco di ultima generazione, richiedesse un hardware di una certa potenza. Effettivamente, con la configurazione descritta sopra ci giocavo ad 800×600 e con dettagli bassi. Ok, poteva anche andare, ma siccome sono un fan delle GeForce, ne ho aprofittato. Un sabato pomeriggio di qualche settimana fa sono andato a trovare gli amici di Essedi a Piacenza in occasione di un nuovo punto vendita in città. Lì ho pure incontrato per puro caso il mio omonimo. E lì ho ordinato una GeForce 8600 in versione silent (senza ventola) che ha fatto rinascere il mio PC. E’ una scheda video che supporta le DirectX 10 e che è notevolmente più potente della vecchia ATI Radeon X1600 che avevo prima.

Non ci ho solo guadagnato con CMR-DIRT: con quest’ultimo gioco a 1024×768 con dettagli alti. Il livello grafico di Flight Simulator X ha fatto un balzo in avanti davvero notevole: mio fratello si è lucidato gli occhi quando l’ha vista sul mio PC sul monitor da 19″. Stessa cosa per gli altri giochi coi quali mi sto divertento, tutti di guida e tutti pilotati con il volante force-feedback di recente acquisto.

Insomma, se volete il mio consiglio, non state troppo a dannarvi l’anima per cercare di prendere un PC competitivo, ma fate un pensierino sulla sola scheda video: innanzitutto, dovreste prenderla comunque anche in caso di PC nuovo, e quindi vi conviene fare un tentativo cambiando solo quella e vedere un po’ come vanno le cose.

Piccola annotazione tecnica: la GeForce 8600 in versione silent non ha ventola di raffreddamento. Ma occupa due slot, perchè al posto della ventola c’è un enorme dissipatore che accumula il calore che normalmente sarebbe “espluso” dalla ventola. Prima di fare un eventuale acquisto, quindi, aprite il case e date un’occhiata allo slot PCI-Express per assicurarvi di avere spazio sufficiente per montarla. Non sia mai che spendiate 150 euro e passa per una scheda che poi non riuscite ad infilare nel case: uomo avvisato, mezzo salvato!

Technorati Tags:

Send to Kindle
.NET World

Windows SDK: wpfperf e l’irrimediabile crash

ll titolo fa anche (quasi) rima…non è proprio rima…come si dice? Assonanza? Giusto
Torniamo a noi, perchè sono stanco.

Questa sera ho voluto dare un’occhiata al Performance Profiling Tools for Windows Presentation Foundation incluso nel Windows SDK. Si tratta di uno strumento che serve a capire come l’engine di WF spende il suo tempo nelle varie fasi di rendering, layouting (!), gestione degli handler e così via. Causa ingenti impegni sul lavoro, ho solo letto velocemente qualche interessante articolo su MSDN e mi sono messo questa sera a sperimentarlo un pochino.

Ho trovato inizialmente qualche difficoltà, perchè il tool tende a crashare un po’ troppo spesso, se non viene maneggiato con cura. Innanzitutto, per lanciarlo è sufficiente aprire il command prompt del Windows SDK e lanciare da riga di comando wpfperf. La prima cosa che wpfperf ci propone è l’aggiunta di qualche assembly. Da buon ignorante, pensavo di dover puntare il folder della mia applicazione, mentre in realtà non è proprio così. Dunque, procediamo con calma: al primo avvio wpfperf ci propone questa dialog:

Questi sono assembly che wpfperf può utilizzare per profilare la nostra applicazione. La ListBox nella parte inferiore è a selezione multipla, quindi, per esempio, possiamo selezionare il Visual Profiler, l’Event Trace ed il Trace Viewer ed attivarli. Non so bene per quale motivo wpfperf ci chieda queste informazioni: penso che questo tool offra qualche spunto di estensibilità, tale per cui uno sviluppatore possa creare un nuovo assembly per creare propri strumenti di profiling dedicati a WPF.

Se selezioniamo il Visual Profiler, quello che mi è sembrato più interessante, dopo averlo selezionato dalla dialog qui sopra dobbiamo cliccare sul pulsante Start Profiling. Appare un’altra finestra che ci elenca tutte le applicazioni correntemente attive che utilizzano WPF: mentre vi sto scrivendo sto utilizzando Windows Live Writer, e proprio questo software appare in questo elenco. Se volessimo profilarlo, non dobbiamo fare altro che selezionarlo dalla ListBox e cliccare su Ok. Ci ho provato, ma wpfperf crasha irrimediabilmente. E non crasha solo con Windows Live Writer, ma con qualsiasi altra applicazione WPF, tipo il mio Flickr Browser ed altre cose.

Di primo acchito quindi wpfperf non funziona proprio.

Ma non mi sono arreso. Il crash di wpfperf fa riferimento ad un’eccezione FileNotFoundException. Mi sono incuriosito ancora di più, ed in giro sul Web ci sono diversi post sui forum MSDN dove si spiega come risolvere questo problema. Il file che wpfperf cerca e non trova si chiama WpfPerformanceDiagnostics.dll e si trova nella directory bin del Windows SDK (di default è C:Program FilesMicrosoft SDKsWindowsv6.0Bin). Questo assembly va bene lì dov’è, ma non basta: va copiato anche nella stessa directory dove si trova l’assembly che vogliamo profilare. Per evitare che il Visual Profiler di wpfperf crashi inesorabilmente ogni volta che tentiamo di usarlo, quindi, dobbiamo copiare a mano questo assembly nelle varie directory che ci interessano.

Fatto questo, possiamo usare wpfperf per vedere quanto tempo impiega WPF a renderizzare le nostre applicazioni, quanto tempo ci mette a calcolare il layout dei controlli inseriti nei vari panel, quanto tempo passa ad esaminare l’input da tastiera e da mouse, etc. etc. Adesso che funziona, vorrei davvero studiarmelo un pochino.

Mi ero ripromesso di essere rapido, ma anche questa volta non ce l’ho fatta. I’m sorry.

Technorati Tags:

Send to Kindle