19 ottobre 2010

Il fumo fa male...anche al pc!

Buona sera ai fanciulli e alle fanciulle che leggono il Bestiario!

Come ormai capita regolarmente, sono alle prese con il ripristino del pc del figlio della vicina di casa, irrimediabilmente svaccato e che solo un miracolo (o un format) potrebbe ripristinare.
Il computer in questione (un core duo di circa un annetto con OS Win XP) ha solo dei gran bei problemi software...ma solo perché probabilmente non si è ancora accorto dello stato pietoso del suo hardware. Ed effettivamente anche la Compiuta Donzella del 2000, che poi sarei io, non avrebbe mai osato aprire la paratia laterale del case se non avesse involontariamente fatto rientrare il copri slot per l'alloggiamento di lettori (di cd, dvd o pure altre periferiche) interni.

Ma prima di descrivervi l'Ade che mio malgrado ho trovato, vi offro una rapida spiegazione del soggetto che usa il già citato pc: maschio, over 40 ed under 50 (anche se di poco), appassionato di giochi di strategia e manageriali (per i quali spende un vero patrimonio), residente con i genitori e...fumatore incallito impenitente.

Questa ultima affermazione per alcuni di voi potrebbe avere unicamente una valenza sanitaria, ma in verità ha un forte impatto a livello informatico.
Quasi tutti voi lettori avrete visto le pubblicità molto forti che fanno vedere gli effetti del fumo sui polmoni di un essere umano, ma pochi forse avranno visto come il "fumo passivo" può ridurre un pc.
Prima di lasciare la parola alle immagini, vi dico solo che il computer ha meno di un anno ed emana un forte odore di sigaretta anche da spento. Da acceso è l'odore è estremamente più intenso. Il case (un Cooler Master) è sempre stato chiuso.

Rispetta il tuo hardware: fuma lontano dal pc o puliscilo almeno una volta al mese.






P.S. Ora sapete perché i tecnici Apple si sono rifiutati di riparare i Mac in queste condizioni

16 ottobre 2010

La trasparenza, il PNG e le GD

Buongiorno a tutte le carissime lettrici ed i carissimi lettori del Bestiario!

Come forse alcuni di voi sapranno, uno degli scopi di questo blog è quello di preservare il più a lungo possibile la memoria di soluzioni che ho trovato a svariati problemi (e non solo a carattere informatico).
Sfortunatamente per chi non distingue un bit da un byte, oggi vi parlerò di come fare una pernacchia al computer dispettoso e quindi preservare la trasparenza in un'immagine ridimensionata con le care librerie GD di PHP.

Non mi soffermo a spiegare in cosa consistono, perché se non avete la minima idea di cosa sto parlando, difficilmente avrete bisogno di questo barbatrucco: vi dico solo che le GD sono una raccolta di funzioni che vi semplificano la vita quando dovete manipolare delle immagini lato server con il nostro amico PHP.

Ma passiamo subitamente ad illustrare il problema!
Abbiamo la nostra bellissima png, rappresentante un dolce velociraptor che divora un malvagio essere umano. Questa stupenderrima immagine ha uno sfondo trasparente, perché nella nostra infinita genialità vogliamo rappresentare il nostro amico dinosauro mentre divora il reo uomo in diversi ambienti, sovrapponendola ad uno sfondo ogni volta diverso: in una giungla, in metropolitana, sulla cima dell'Everest, in mezzo ad uno stadio di calcio, in un love hotel ed infine sulla Luna.
Il nostro gentilissimo velociraptor dovrà essere caricato su un server web, in modo che tutto il mondo possa esaltarne l'infinita umanità. Sorge però un problema: l'immagine ha dimensioni troppo grandi per essere caricata così come è (supponiamo sia un 18374 X 18374 pixel) e non disponiamo di un programma per ridimensionarla...o meglio ci scocciamo di farlo (il più delle volte però si tratterà di far fare l'upload a qualcuno per cui GIMP è un nuovo detersivo: e per questo verrà fatto sbranare giustamente dal velociraptor).

Comunque!
Non ci scoraggiamo! Chiediamo l'aiuto del pubblico e scopriamo che le GD ci permettono di ridimensionare le immagini come vogliamo!
Vi domanderete come! Ecco, così:


$nuovaImmagine = imagecreatetruecolor($nuova_larghezza, $nuova_altezza);
$immagineCaricata = imagecreatefrompng("DOVE_SI_TROVA_IMG_TEMP_SUL_SERVER");
$vecchia_larghezza = imagesx($immagineCaricata);
$vecchia_altezza = imagesy($immagineCaricata);
imagecopyresampled($nuovaImmagine, $immagineCaricata, 0, 0, 0, 0, $nuova_larghezza, $nuova_altezza, $vecchia_larghezza, $vecchia_altezza);
imagepng($nuovaImmagine, "PERCORSO_DEFINITIVO_DI_SALVATAGGIO");
imagedestroy($nuovaImmagine);


Rapida spiegazione:
1. creiamo un'immagine di supporto di dimensioni uguali a quelle desiderate
2. istanziamo l'immagine prelevandola dal percorso temporaneo in cui php l'ha piazzata dopo il caricamento
3. recuperiamo la larghezza dell'immagine caricata
4. recuperiamo l'altezza dell'immagine caricata
5. con imagecopyresampled, copiamo l'immagine caricata sopra quella di supporto e contemporaneamente la ridimensioniamo alle grandezze corrette, indicando anche quelle originali
6. salviamo l'immagine ottenuta come png nel percorso desiderato
7. puliamo un po' in giro per casa

Bello eh? Peccato che così facendo la vostra trasparenza va a farsi benedire, sostituita da uno sfondo nero che mal si addice alla gioiosa vivacità del nostro velociraptor.
Che fare?
Semplice! Introduciamo un paio di istruzioni che ci salvano il popò!

imagecopyresampled($nuovaImmagine, $immagineCaricata, 0, 0, 0, 0, $nuova_larghezza, $nuova_altezza, $vecchia_larghezza, $vecchia_altezza);
imagealphablending( $nuovaImmagine, false );
imagesavealpha( $nuovaImmagine, true );


Avete capito bene: subito dopo imagecopyresampled e prima del salvataggio, inseriamo i comandi per preservare la nostra trasparenza ed il gioco è fatto!
Il nostro adorato velociraptor può sbranarsi l'immondo uomo in tutti i luoghi del mondo! Persino davanti alle piramidi!

Ma andiamo un passo oltre! Ci potrebbe anche capitare di voler partire da un'immagine con trasparenza e di voler ottenere un'immagine ridimensionata ma con uno sfondo bianco. Togliamo quindi le ultime due istruzioni presentate? Col cavolo! Perché la nostra $nuovaImmagine è stata creata con imagecreatetruecolor, che, come tutti voi sapete, crea un'immagine delle dimensioni passate come parametro ma completamente ed inesorabilmente nera.
Fine dei giochi?

Tsk, la Compiuta Donzella del 2000, che poi sarei io, non si arrende così facilmente. Anche perché la soluzione è davvero una stupidaggine! XD
Teniamo il codice precedente (comprensivo di imagealphablending e imagesavealpha) e prima del imagecopyresampled piazziamo queste due istruzioni:

$white = imagecolorallocatealpha($nuovaImmagine, 255, 255, 255,0);
imagefill($nuovaImmagine, 0, 0, $white);


In parole povere, creiamo il colore bianco e diciamo alle GD di "imbiancare" la nostra immagine di supporto.
Così facendo la trasparenza del PNG caricato farà vedere il bianco dell'immagine di supporto.

Così è deciso! L'udienza è tolta!


P.S. Per la realizzazione di questo post non è stato maltrattato alcun velociraptor

12 ottobre 2010

Maverick Meerkat o non Maverick Meerkat?

Mitici lettori/lettrici del Bestiario! (per dirla con Galeazzi)

Il 10.10.2010 è successo davvero di tutto: una moltitudine di coppie in tutto il mondo ha fatto carte false per sposarsi, centinaia di madri si sono fatte aprire la pancia con un cesareo solo per lo sfizio di avere un figlio nato in un giorno così particolare...e Ubuntu 10.10, nome in codice Maverick Meerkat, è stata rilasciata.

Prima alcune notizie di interesse (o disinteresse) generale:
- il numero delle versioni di Ubuntu è dato dalle ultime due cifre dell'anno in corso (2010 => 10) e dal mese di uscita (ottobre => 10)
- di solito i rilasci avvengono nei mesi di aprile ed ottobre (ad esempio: 9.04, 9.10, 10.04, 10.10)
- a partire dalla terza release, i nomi delle versioni sono in ordine alfabetico e sono rappresentati da un aggettivo e dal nome di un animale. Ovviamente gli sviluppatori si divertono un mondo a sceglierli
- esistono versioni normali, che vengono supportate per 1 anno e mezzo, e versioni LTS (Long Term Support), il cui supporto è di 3 anni per la desktop edition e di ben 5 per la server

Detto questo, sveliamo subito il mistero sulla nuova versione: aggiorniamo o non aggiorniamo?

La Compiuta Donzella del 2000, che poi sarei io, ha una visione ben chiara: no no e poi no! Aggiornare una versione di Ubuntu, in giro da soli 2 giorni, passando da una LTS ad una non LTS e con poche migliorie, e non a carattere critico, è una mossa un po' azzardata.
Se avete un sistema funzionante, evitate di lanciarvi nel vuoto con una piccola cordicella di sicurezza. Aspettate almeno almeno un paio di mesetti, in modo da far rodare la versione ad altri magari più esperti di voi nella risoluzione di bug.
Ma comunque, prima di un upgrade, provate sempre il live cd, in modo da cercare di avere un'idea grossolana dell'impatto sul vostro sistema.

Un temerario mi ha però spifferato che la 10.10 sembrerebbe essere una bomba sui netbook: prendete l'informazione con le pinze, visto che è migrato da una 9.04, formattando l'intera macchina prima del passaggio alla nuova versione. E noi tutti sappiamo bene che il boost di prestazioni si è avuto già con la 10.04.

Quindi!
Tenete d'occhio i forum ufficiali su Maverick Meerkat per cercare di capire quanti grattacapi sta dando agli utenti e se le problematiche sono critiche oppure bazzecole.
Aspettate qualche tempo per farle acquisire più maturità (dopo una release c'è sempre una schiera di tester che trova anche il pelo nell'uovo) e poi andate di live cd.

Per il momento la Compiuta Donzella del 2000, che poi sarei io, continuerà a godersi la sua Lince Lucida!

10 ottobre 2010

Il coming out di Tiziano Ferro

Buona sera a tutti i lettori ed alle lettrici del Bestiario!

Mi capita sempre più spesso di accendere la tv e di rimanere basita di fronte a molti avvenimenti.
Evito di esprimermi sul recente fatto di cronaca che ha sconvolto l'Italia (e sto parlando della barbara uccisione di un'adolescente in Puglia), in quanto l'unica cosa purtroppo importante è che lei non c'è più e chi le ha tolto la vita è stato assicurato alla giustizia.

Mi occuperò bensì di una faccenda sicuramente estremamente più leggera ma che comunque ha fatto emergere un dibattito di proporzioni non indifferenti.
Sto parlando ovviamente del coming out del noto cantante italiano Tiziano Ferro.

Proprio oggi mi sono imbattuta nella solita caciara senza capo né coda che molto spesso riempie i pomeriggi domenicali, il più delle volte tendente ad una rissa verbale con toni anche molto accesi. Ovviamente ben presto il tema della discussione (coming out: sì o no) si è trasformato in men che non si dica nello scontro tra eterosessuali ed omosessuali. Si è parlato di ottusità, di razzismo,  ma anche di vittimismo e pure di deviazione delle giovani menti.
Del gesto in sé fatto da Tiziano Ferro si è parlato rapidissimamente, ed anche lì c'è stata bagarre.

Visto che la Compiuta Donzella del 2000, che poi sarei io, ogni tanto esprime opinioni anche sull'attualità, colgo l'occasione per dire la mia, sperando che i media non ci perseguitino con questa storia fino al prossimo coming out di un personaggio famoso.

Il fatto: Tiziano Ferro, uno degli artisti più affermati del panorama musicale italiano, ha dichiarato di essere omosessuale.
Ora, siamo d'accordo che in un mondo ideale la reazione ad una simile affermazione dovrebbe essere "Embé? Chissenefrega!", ma, ahimé, nulla è perfetto. Sappiamo benissimo in quale società viviamo e ci basta andare su Google e digitare le keyword "gay aggredito" per visualizzare circa 1450000 risultati (ok, è un dato da prendere con le pinze, ma visto che questa cosa la fanno pure nei TG pure io ho voluto provare l'ebrezza di citarlo XD ).
Quindi la dichiarazione di Ferro ha una forte valenza poiché sbandiera ai quattro venti le sue preferenze sessuali, dall'alto delle sue non poche vendite e dei suoi non pochi premi. In una recente intervista, ha spiegato il travaglio vissuto in questi anni ed ha provato a diventare una sorta di modello per i ragazzi che devono affrontare questa difficile situazione.

E' anche vero però che Tiziano Ferro si è potuto permettere questa uscita.
Tralasciamo i discorsi sulle vendite di cd che potrebbero calare in seguito alla defezione delle solite fan sgallettate che vedono in un cantante solo un possibile "stallone da monta".
Tralasciamo il discorso opposto, ovvero quello di auto-farsi pubblicità raccattando maggiori consensi proprio per via di questa rivelazione.
Il discorso è che su un piano sociale chi viene attualmente discriminato o addirittura vessato perché è omosessuale continuerà ad esserlo. Il ragazzino effemminato, magari non ancora cosciente delle proprie preferenze sessuali, verrà ugualmente preso in giro (nella migliore delle ipotesi) come nel giorno precedente alla pubblicazione dell'intervista su Vanity Fair.
Tiziano Ferro sicuramente si vedrà oggetto di insulti e magari anche di atti vandalici, ma è in qualche modo "protetto" dalla sua notorietà.

Quello che ha fatto è comunque apprezzabile perché l'omofobo, che fino al giorno prima diceva che Tiziano Ferro era un grande e lo stimava per la sua musica, forse continuerà a farlo e magari si accorgerà che essere omosessuale non significa essere spazzatura.

Altri tra gli omofobi invece lo accuseranno, insulteranno e se potessero gli sputerebbero pure in faccia. Magari gli stessi omofobi che vorrebbero l'eliminazione fisica degli omosessuali, ma vanno in giro vestiti con il vestito di Armani, la camicia di Valentino e le mutande di Dolce & Gabbana; citano Oscar Wilde, hanno il poster di Ayrton Senna sulla parete della loro camera e mettono a palla i Queen sulla loro autoradio; ovviamente osannano Caio Giulio Cesare, colui che ha dato un contributo incredibile alla costruzione della grande Roma (e ricordato come marito di tutte le mogli e moglie di tutti i mariti).

Ma vabbé, c'est la vie...