martedì 13 novembre 2012

Remove uTorrent Featured torrent bar !

Con la nuova versione (3.2.2) ci troviamo sempre più robaccia sul nostro (una volta leggero e pulito) client torrent preferito. Eccovi come rimuovere l'odiosissima "Featured torrent" bar.
Cliccate su "Opzioni" -> "Impostazioni" -> "Avanzate" e cercate la voce "offers.sponsored_torrent_offer_enabled" e settatela su "False"! English: Click "Options" -> "Preferences" -> "Advanced" and Now scroll down a bit and look for the setting "offers.sponsored_torrent_offer_enabled" and set it to "False"!
Thanks GP for the info! Leggi tutto...

giovedì 25 ottobre 2012

Sugli SSD, il ramdisk, il pagefile e tutto quanto… parte III

Incredibile vero ? Chi l’avrebbe mai detto che un giorno sarebbe arrivata anche la parte 3..
Mi piacerebbe vantarmi e dire che tutto il tempo che separa questo post dalla precedente parte II e’ stato speso a testare, leggere, studiare e provare le varie configurazioni… ed infatti e’ proprio cosi’ !!!111one
O almeno lo e’ in parte
Diciamo un 10%
Grossomodo… (a Chinatown)
Insomma il tempo non e’ importante, solo la vita lo e’ (cit.)
Quindi si, abbiamo una risposta definitiva: 42 !
E’ la domanda quella che cerchiamo: che cos’e’ Matrix
Sto divagando con le citazioni, torniamo sull’argomento principale. La parte II si concludeva col tenue dubbio se mettere il pagefile su ramdisk o no.
Bene, dopo tutto questo tempo la risposta e’ NO, nien, nada, kaputt, N O
In giro se ne leggono di cotte e di crude, storiche amicizie si son distrutte nei forum in cui si tratta quest’argomento. Interi trattati sono stati scritti dalle piu’ acute menti che internet possa generare eppure cosi’ come potrai trovare 1000 buoni motivi per avere o meno il pagefile (gia’ discusso nella parte II) altrettanti motivi (validi e non) li potrai trovare sullo spostamento del pagefile nel ramdisk.
Io vi riporto solo le parole di Mark Russinovich :
“Yes, putting the pagefile on a RAM disk is ridiculous.”


il quale risponde cosi’ alla mail di un giocondo geek:
”Subject: Page file on a RAM disk
Hey Mark! I was wondering if I could potentially ask you a question regarding the page file? I have quite an understanding of how Windows manages memory and how the page file contributes to things like system commit, etc, but time and time again I see the recommendation to place your page file on a RAM disk.
This just seems counter-intuitive to me, and if one of the roles of the page file is defining the system commit limit, then doesn't it seem silly to extend the amount of virtual memory that can be allocated by allocating virtual memory (which is what the RAM disk driver would have to do...)?
What could be other potential repercussions of storing the page file on a RAM disk?
Hope you can spare 5 minutes or so... I bet you're working hard on Windows Azure!
Cheers!”

Ora potrete dirmi “ekkikazz’e’ Mark Russinovich?”, il dubbio e’ lecito… per questo ho linkato il suo nome direttamente alla Wiki. Ad ogni modo se siete dei cinesi di Jesi e non volete il tl;dr sappiate che e’ un Ph.D in computer engineering e lavora al soldo della Microsoft dopo aver creato migliaia di fantastiche utility nel sito sysinternals, sua societa’ che e’ stata poi inglobata da Microsoft. Questo simpatico ragazzone scrive anche su un blog in cui espone il suo punto di vista su vari aspetti di windows. Uno di questi post parla anche in maniera approfondita del pagefile e di come funziona il processo di gestione della memoria nei vari windows, 32 e 64bit. Interessante come dica: “si ok, se avete tanta ram e sotto stress non raggiungete il limite di sistema (commit charge) potete anche toglierlo ma meglio comunque lasciarlo perche’ il sistema ci mettera’ le pagine non usate o in standby e ci sara’ quindi piu’ RAM disponibile per le applicazioni” ipse dixit
Insomma Mark e’ un fottuto Guru con la G maiuscola e se dice che mettere il pagefile sulla ram e’ una stronzata.. be’ crediamoci.
E poi dov’e’ la logica in tutto questo? Immaginiamo un pc con 16GB di ram, potremmo dedicare 4GB al ramdisk e piazzarci sopra il pagefile. Su questo pagefile andrebbero le pagine dei processi in standby, inusati, inattivi o salcazzo. Nel momento in cui spariamo un gioco alla massima potenza, la richiesta di RAM libera cresce. Il sistema percepisce lo sforzo e libera la RAM spostando piu’ roba possibile sul pagefile. Il problema e’ che il pagefile e’ sulla RAM stessa O_o
So wtf ? Ok che i cicli di lettura/scrittura sono brevissimi quindi i dati si spostano piu’ velocemente da RAM a RAM ma.. che cazzo di senso ha ? Peggio ancora se non ho 16GB di RAM ma ne ho molta meno, 4 per esempio. Dedicare 1GB al ramdisk per metterci il pagefile e’ una stronzata galattica, visto che il PC farebbe fatica a gestire un gioco al massimo dettaglio con “3”GB di RAM disponibile, cercherebbe in tutti i modi di liberarla spostandola sul pagefile e ci sarebbe un volume mostruoso di cicli lettura/scrittura tra ram che finirebbe per fare da tappo a tutto il resto del sistema.
Ok allora togliere il pagefile del tutto ? Anche qui molta gente con 8 o 16GB pensa sia “meglio” per Windows farlo lavorare senza pagefile guadagnando in prestazioni.
Fortuna che qualcuno su internet ha voluto toccare con mano i reali benefici e ha condotto test sui piu’ svariati programmi usando una volta il suo pc col paging e una volta il suo pc senza il paging.
Trovate tutte le prove qua ma se non volete leggere vi dico gia’ che a livello di prestazioni non cambia un cazzo. Decimi di secondo, a volte millesimi.
“Insomma in definitiva che cazzo devo fare? di che minchia parli in sto post?”
In definitiva devi farti le tue misure come t’ho spiegato nella parte II. Vedere quante sono le richieste di applicazioni nel tuo sistema in base a quali programmi lanci e usi. Una volta che misuri il picco di carico puoi calcolarti quanto pagefile avere.
Oltre a questo consiglio, come parlato nella parte I, per chi ha un SSD di verificare quali sono i file che continuano a cagare il cazzo con I/O e spostarli da qualche altra parte (ovviamente Hard Disk a testina classico) col comodo Link shell exstension (c’e’ il link nell’altro post).
Consiglio anche di farsi un ramdisk piccolino (sui 500MB) dove mettere la cache di firefox e il suo profilo. Dataram ramdisk e’ gratis se usato per creare dischi fino a 4GB, molto veloce e permette di essere salvato/caricato ad ogni riavvio della macchina. Io lo uso da anni e c’ho sopra la cache si ffox piu’ i log di alcuni programmi che ogni secondo devono scrivere cosa stan facendo. Son 500MB di file immagine che ad ogni riavvio si crea e si ricarica ma non influenzano minimamente le tempistiche di accensione del mio pc. Se non volete il programma della Dataram potete usare il nuovo e gratuito (da poco) ramdisk di softperfect ammesso che salvi il suo disco ad ogni riavvio (non c’ho guardato). Qui c’e’ una recente comparativa di tutti i principali software di ramdisk, gratuiti e non. Non so cosa facciate al vostro pc ma volendo potete anche non voler salvare l’immagine ogni volta (per esempio una disco di RAM per le cartelle temp di windows), oppure potete scriptarvi winrar che ad ogni spegnimento si salva il contenuto del vostro disco di RAM da n’altra parte e ad ogni accensione ce lo riscompatta dentro… cosi’ anche i software che non prevedono il salvataggio sono fregati ;-)

Piccola parentesi: Per il calcolo del Pagefile Mark propone il suo sistema basato sull’osservazione del Commit Charge Peak espresso in K. Quest’informazione la trovate usando il Process Explorer (la solita utility da pochi KB di sys internals dalle potenzialita’ disumane) semplicemente lanciando l’exe, andando su “View” e su “System Information” e da li nel tab “Memory”

il mio peak mentre sto scrivendo questo post

La quantita’ di pagefile che consiglia e’ data dal valore del Peak meno la vostra RAM. Se e’ negativo, dategli comunque un minumo per far felice Windows ed eventuali applicazioni. Per arrivare al Peak, lanciate il process explorer e poi usate il pc con i peggio giochi e le peggio applicazioni (anche tutte assieme). Stressate il sistema il piu’ che potete e fatevi i conti. Il convertitore da K a MB e GB lo trovate qua. Azzardo un po’ di presunzione nel dire che se dovessi fare questa prova sul mio otterrei quello che ho visto con la precedente misurazione che m’ha portato a settare il mio pagefile a 2048MB nonostante i miei 16GB (e son stato largo anche).
Ciaps
Leggi tutto...

venerdì 21 settembre 2012

venerdì 13 luglio 2012

Meanwhile.. in una calda serata d'estate..

I nostri 3 eroi (Qn, Baltico e c4os) incontrano 2 gnocche (chiaramente 2 modelle aka MiuTi e pakka) che scampate al massacro di Kamenka (si svolgeva una sfilata di moda prima che gli zombi, inorriditi dai vestiti dello stilista, cercarono di mangiar tutti i cervelli presenti).. Visto che le 2 modelle di cervello ne avevan ben poco, son riuscite a skippare gli zombi ed a riunirsi al gruppo dei 3 eroi chiamati the FoRReST (da forrest gump + corri in foresta + ammazza la mucca e cucina bistecche by qn!)

(edit by qn) dal basso andando in senso orario abbiamo : pakko ,c4os ,baltico(si quello coi rasta) , qn(affumicato) , miuti. Durante la corsa verso la foresta (abbiamo cercato Totti ma le foreste sono enormi, prima o poi lo troveremo!!!111oneoen) e mentre la pioggia rende più duro il nostro cammino, un bellissimo arcobaleno ci guida verso la merda.. oh wait.. Qn ha sbagliato strada.............
Leggi tutto...

mercoledì 11 luglio 2012

Undead trip

Il gioco del momento (superato lo shock post delusione diablo 3) e’ nientemeno che una mod free di un gioco di per se inutile quale Arma 2. La sua mod (ancora in beta) trasforma un fps di guerra realistico (?) nel survival horror piu’ "survival" che i nerd abbiano mai avuto. Qualcosa che si puo’ riassumere in tipo:
“Ho bisogno di un arma… merda ho 3 zombi addosso. Corro. Merda, spari… oh cazzo qualcuno mi sta sparando addosso, corro via a zig zag. Ok ho trovato un’arma in un magazzino, ho bisogno delle sue ammo. Ho trovato anche le bende per curarmi e un coltello… devo portare il culo fuori da questa citta’. *10 min dopo* Merda sto sanguinando, ho gli hp bassi… devo mangiare della carne cotta o farmi fare una trasfusione da qualcuno ma non c’e’ nessuno e ho sete, devo bere… devo trovare assolutamente cibo e acqua ma vedo grigio e sento degli spari in lontananza… sono fottuto …… “
La sopravvivenza e’ la base del gioco, se si muore si perde tutto l’equip e si ricomincia da capo.. senza armi, senza niente di niente salvo una benda, le pillole per calmarsi e una torcia.
La mappa di gioco e’ qualcosa di enorme, 225km tra citta’ abbandonate, boschi, porti e caserme militari. La mappa ingame (ammesso di trovarla) e’ un casino da usare e per orientarsi conviene altabbare e guardare qua ma altabbare e’ pericoloso perche’ il gioco non si puo’ pausare…
Questa la premessa, il nostro racconto comincia quando dovrebbe finire… alla mezzanotte passata.


Il trio qn-baltico-c4os s’e’ spinto fin su a nord di Kabanino, nei pressi dell’areoporto militare (qui, grossomodo). Qn, che ormai bisbiglia in ts, se ne va per sistemare qualcosa in rl, lascia il suo pg nei pressi dei boschi e sparisce. Restiamo io e Baltico che vista l’ora decidiamo di quittare. Per farlo ci proniamo nei soliti cespugli antisgamo salvo che questa volta il mio cespuglio nascondeva una sorpresa. Nel momento stesso in cui mi prono mi spacco tutte le ossa che ho in corpo, vado in shock, lo schermo diventa grigio e la mia vita passa da 12000 a 400 in rapida discesa. Neanche il tempo di aprire l’inventario per bendarmi che muoio –__-“
Ucciso da madre natura.
Ringrazio il signore La prendo sul ridere, tanto e’ un gioco 3h3h3. Rispowno e riappaio nuda (siamo pg donne per motivi omosessuali) nei pressi di Kamenka.
Qn nel frattempo ritorna e viene informato su quanto appena successo, pensa sia una trollata ma no… e’ la dura e buggata verita’.
Non mi perdo d’animo, il mio corpo e’ ancora la’ e posso recuperare tutto, DEVO recuperare tutto. Attorno al mio cadavere la campagna e’ silenziosa (si spera) e sono presidiato da qn e baltico. Comincia la mia frenetica corsa, non devo perdere tempo perche’ cibo e acqua presto cominceranno a diventare necessari e non ho un bel cazzo di niente con me. Mi tengo lontano da Kamenka e giro sul lato sinistro per incrociare la stradina di campagna. Sto sudando, sia virtualmente che realmente. Il sonno che avevo e’ scomparso, l’ansia di non farcela comincia a crescere. Corro e corro per kilometri sembro Bolt quando scappa dalla polizia, arrivo a Pavlovo e l’aggiro da destra. In ts Baltico cerca di guidarmi, ci orientiamo con le strade, con le nuvole.. qualunque cosa possa esser usata come punto di riferimento, anche l’ombra che proietta il pene di qn sulla scrivania. Incontro la strada di campagna alla destra di Pavlovo e successivamente la main road (quella gialla), facilmente riconoscibile perche’ asfaltata e a due corsie. Fin qui siam stati perfetti, riacquisto speranza. Da Pavlovo mi tengo la strada sulla sinistra e la percorro fino a Zelenogorsk. Sto distante per non aggrare ma abbastanza vicino da non perdere i riferimenti. Nella mia mente so che devo superare la citta’ da destra, superare una strada sterrata e ricongiugermi con la main road che mi porta su a Pogorevka. Sto correndo da minuti, mezz’ore.. il tempo sembra dilatarsi.. e’ quasi l’1 e ancora non so quanto mi manca. Supero la prima strada, raggiungo la principale e la seguo tenendomela sulla destra, mi aspetto di vedere presto la curva che porta poi su a nord. Vedo anche Pogorevka, comincio a credere di essere una cazzo di guida alpina. Prendo coraggio e lascio la main road, devo arrivare ancora piu’ a nord su a Kabanino e posso tagliare se passo per i boschi dritto per dritto direzione NE. Continuo a correre come se fossi gesu’ inseguito dai soldati romani, la mappa nella mia mente e’ ben nitida, so che continuando per la direzione presa dovrei ritrovarmi sulla main road. Trovo una strada, la seguo mentre va a sinistra. Tranquillizzo tutti in ts "ragazzi ci siamo, e' la strada giusta!!!111one". Corro corro, ammazza quanto e' lunga sta main road ma.. WAIT, questa strada e' fatta demmerda non e' cemento.. oh jsus.. Me ne accorgo troppo tardi, altabbo e cerco di capire dove cazzo sono finito ma ai miei occhi tutte quelle strade si mescolano e si sovrappongono, il caldo, l’ora tarda … tutto gira. Chiedo aiuto a Baltico ma ottengo solo insulti, qn cerca di non perdere la calma e prova a guidarmi alla ricerca di cartelli. Non so piu’ in che direzione sto andando. Trovo qualcosa, Pogorevka dritto e Sosnovka a destra. Alla parola Sosnovka insorge ts, l’ansimare del mio personaggio viene coperto da apprezzamenti di baltico e qn sul come abbia fatto a finire da tutt’altra parte rispetto a dove stavo andando. Come se non bastasse, la borraccia della sete comincia a lampeggiare, ho 15 minuti di tempo per bere del piscio prima di morire. Corro come se non ci fosse un domani, spero di ricongiungermi con la strada di Sosnovka. Vedo le prime abitazioni, buon segno e i primi zombi, buon segno pure questo. Mi riallaccio alla strada gialla e proseguo in direzione per Pustoshka quando ormai e’ l’una e 15. Decido il tutto per tutto, mi lancio a pesce per il centro citta’ aggrando tutto quello che posso e cerco di raggiungere il market in cerca di cibo e acqua. Dietro di me una decina di zombi affamati, mi infilo di slancio nel market e quitto in faccia a tutti gli stronzi che avevo dietro. Molto lamer ma il fine giustifica i mezzi. Quando riloggo sono solo nel minimarket e posso cercare velocemente qualcosa per bere e mangiare. Sono fortunato, trovo 2 lattine di pepsi e dei fagioli, un fucile, munizioni, binocolo, zaino capiente, coltello, preservativi usati… frega un cazzo. Tiro su da mangiare da bere e giusto un fucile che non si sa mai in questi tempi di violenza. Riprendo a correre che ancora non ho digerito i fagioli, qn in ts che mi guida passo per passo. E’ l’una e 30 e sia qn che baltico non ce la fanno piu’ dal sonno, dovevamo quittare un ora fa ……. Vedo Vybor, l’aggiro da destra, prendo la strada gialla, al bivio a destra, Kabanino, l’aggiro da sinistra, strada di campagna, al bivio a destra…. sento che ci siamo. Altro bivio, sinistra e poi ancora destra fino agli alberi della foresta che rasenta la strada. Siamo vicini cazzo, 1:40am e ci siamo quasi. Dico a bisi che sparo un colpo per farmi localizzare, lo sente. Gli dico “spara anche tu, mira in alto e spara che vedo dove stai”.
*BANG* parte il colpo a 1mm dall’orecchio di Baltico (che nel frattempo s’era addormentato). Risate matte di qn per aver quasi shottato l’amico.
Pero’ ha funzionato, li vedo cazzo… li vedo !!! Il mio corpo, freddo duro e puzzolente e’ ancora nei cespugli usati per riempire la culla di gesu’ cristo. Recupero tutto e ringrazio dio, baltico e qn e riquitto. Ore: 1:47am



 
 n8
Leggi tutto...

venerdì 15 giugno 2012

Play Diablo 3 through proxy

Il titolo e' volutamente in inglese per richiamare anche le schiere di nerd internazionali che cercano online una soluzione. Purtroppo per loro questo post sara' solo in italiano quindi.. go translate fellas
Lo scopo dell'articolo (?) e' di spiegare come fare per collegarsi a Diablo 3 anche quando ci si trova in aziende particolarmente bastarde dove solo le porte 80 e 443 sono aperte e i pacchetti vengono "sniffati" per impedire che programmi non autorizzati facciano cose sporche sulle suddette porte. Se ci son riuscito io nella mia ci sono buone possibilita' che funzioni anche nella vostra.
Ecco gli ingredienti necessari:


- un server esterno a cui appoggiarsi con ip pubblico
- openssh da installare sul suddetto server
- Teamviewer da installare sia sul server che sul pc del lavoro (client)
- PuTTY da installare sul client (il solo PuTTY.exe)
- Sockscap da installare sul client


Il sistema e' stato testato su Windows xp 32bit, non ho la garanzia che funzioni anche sotto Windows 7 32&64bit
La scelta di Teamviewer e' data dal fatto che molte ditte consentono l'installazione e l'uso dell'applicativo perche' viene utilizzato sovente come programma di assistenza remota. Nel mio caso un programma come openvpn viene filtrato e bloccato dal proxy aziendale anche se lo faccio passare per porta 443 mentre Teamviewer funziona senza problemi di sorta e permette comunque una degna vpn.


Passiamo alla preparazione.
Sul server esterno scaricate il pacchetto di openssh e installatelo lasciando tutto cosi' come gia' appare in fase di installazione, cambiate solo la cartella di destinazione se volete.
Una volta completata, aprite la finestrella dos (classica start->run: "cmd") e andate dove avete installato openssh (tipicamente c:\program files\openssh) e digitate (in ordine):

mkgroup -l >> etc\group
mkpasswd -l -u %username% >> etc/passwd
net start opensshd 

Se tutto e' andato per il verso giusto dovreste vedere questa schermata:


altrimenti se dovesse darvi "error 1067" e' probabile che il cygwin installato nel sistema non e' corretto. In questo caso andate Qui e installate il pacchetto completo, lasciate che faccia tutto automaticamente e, alla fine, rilanciate il comando "net start opensshd" per startare il servizio.

Installate anche Teamviewer, l'installazione classica credo vada bene. Scegliete una pass da richiedere alla connessione del client e aggiungete al firewall di sistema (se l'usate) la regola per consentire a Teamviewer la ricezione delle connessioni in Entrata e create una regola per la porta "22" di permettere connessioni sempre in Entrata. Per testare sul server la correttezza delle impostazioni di rete potete usare questo sito e testare la porta 22. Se il firewall e' stato settato correttamente e nel router e' stata settata la giusta regola di inoltro, dovreste vedere la bandierina verde con lo status open.

Passiamo ora al client, ovvero al vostro pc che si trova nella rete aziendale del vostro lavoro.
Installate anche qui Teamviewer con l'opzione di installare anche la VPN. Una volta terminata l'installazione, lanciate il programma, inserite sotto "ID interlocutore" il numero di ID che appare nel teamviewer del server, selezionate "vpn" e premete "collegamento con l'interlocutore". Assicuratevi pero' che il semaforo in basso a sinistra sia verde e pronto alla connessione (occorre aspettare qualche istante dopo che teamviewer si e' aperto)

Stabilita la connessione apparira' questa maschera:
Il programma ha collegato correttamente tramite vpn il mio pc di lavoro col server che ho a casa, assegnando un ip virtuale di 7.7.7.1 per il client e 7.7.7.7 per il server (numeri inventati).
A questo punto sono pronto per configurare PuTTY, il programma che useremo per creare un tunnel ssh su socks5.
PuTTY non richiede installazione, e' un semplice exe dalle meravigliose proprieta'. Nella maschera principale, alla voce "Tunnels", configurate come da foto:

inserendo 9999, Dynamic e premendo "Add"
Sotto "Session" configurate come segue:
inserendo dentro Host Name l'ip del server (in questo caso 7.7.7.7), porta 22 e SSH selezionato. Potete salvare la configurazione in modo da non dover inserire tutte le volte i parametri.
Ora premendo su "Open", se tutto funziona correttamente, vi apparira' questa maschera con la richiesta di Login:
Siete collegati in ssh al vostro server di casa. Username e Password sono le stesse credenziali dell'account di Windows.
In questo modo avete attivato il tunnel ssh su socks5 tramite la vpn, non resta che indirizzare tutti i pacchetti di comunicazione di Diablo 3 attraverso il socks5 e per farlo (dato che Diablo non ci lascia configurare le modalita' di connessione) dobbiamo usare un programma proxifier.
Installate Sockscap, anche qui lasciate tutto a default tranne la cartella di destinazione se non v'aggrada.
Una volta avviato, dentro "Settings" impostate come da immagine

mettendo l'indirizzo 127.0.0.1 dentro SOCKS Server e 9999 come porta. Selezionate la versione 5 e lasciate che il dns sia risolto prima localmente e poi da remoto. Successivamente addate l'exe di diablo in questo modo
premendo su New, Browse e andando a piccare "Diablo III.exe"
Il programma aggiunto apparira' nell'elenco, bastera' selezionarlo e premere su "Run!" per startare Diablo attraverso socks
Aspettate che tutto parta, puo' darsi che il collegamento coi server di Bnet richieda vari tentativi, dipende da quanto e' stronza la rete della vostra azienda. Dopotutto quello che avete messo in piedi non e' minimamente previsto dal contratto di assunzione e nemmeno dagli amministratori di rete....
A testimonianza del fatto che tutto il giro creato funzioni riporto questa sudata maschera di login:

"Agent.exe" e' il servizio di proxifier in funzione

Nota a margine:
Se all'avvio di Diablo dovesse apparirvi l'avviso che la vostra scheda video non soddisfa i requisiti minimi per giocare e il gioco vi quitta in faccia seguite questi passaggi:

Step 1: Start the game and wait for the pop-up telling you your computer doesn’t meet the "Diablo 3" system requirements. Press “Esc” and the screen will go to grey with another note telling you to update your graphics card drivers.
Step 2: Don't press anything and leave the message on screen. Go to “Documents\Diablo III”.
Find “d3prefs.txt” and open it. 
Step 3: Inside of the text document, locate “DisableTrilinearFiltering”. Change the 0 to 1. 
Step 4: Locate “HardwareClass” and change the 0 to 1. 
Step 5: Exit and save.
Al prossimo riavvio riapparira' il solito avviso da skippare con ESC ma il gioco non vi quittera' piu' in faccia e vi permettera' di loggare.
owned
Leggi tutto...

martedì 5 giugno 2012


AMG GRATZ =D=D=D=DDDDDD
Leggi tutto...