Che cos'è un avatar?

Un avatar è un immagine identificativa generata in modo univoco per ciscun commentatore di un blog in modo da associare i vari commenti agli utenti. Per fare questo può essere preso in considerazione l'indirizzo IP, ma facendo così avremmo avatar differenti per lo stesso utente che commenta in due sessioni (con IP diverso) separate, oppure l'indirizzo email.

Quest'immagine identifica univocamente un utente, alcuni siti permettono la registrazione e l'inserimento di un avatar proprio. Questo porta necessariamente all'inconveniente che per poter postare un proprio commento è necessario prima aver effettuato una registrazione. Il modo per ovviare a questo problema esiste ed è molto semplice. Ci sono alcuni siti, il più conosciuto è Gravatar che permette di associare ad un hash un immagine. L'hash può essere calcolato dall'indirizzo email dell'utente mentre l'immagine potrà essere una Identicon, MonsterID o Wavatar come mostrato in figura.

[caption id="" align="alignnone" width="120" caption="Identicon"]Identicon[/caption][caption id="" align="alignnone" width="120" caption="MonsterID"][/caption][caption id="" align="alignnone" width="120" caption="Wavatar"]Wavatar[/caption]

L'utilizzo di questa tecnica ha anche il vantaggio di lasciare l'anonimato al commentatore, anche se l'avatar è stata generata partendo dalla sua email risulta impossibile risalire al suo indirizzo email. Questo è garantito dal fatto che non esiste la funzione inversa dell'hash.

SignID

Partendo dal presupposto che un avatar ha la stessa funzione di una firma molto criptica, ho voluto generare un altro tipo di avatar simile ad una vera e propria firma abbreviata. Il procedimento è molto più semplice dei precedenti, perché si sà a parità di funzionalità la procedura più semplice è sempre da preferire come ci insegna Occam.

L'idea è molto semplice, consideriamo l'immagine come se fosse un piano cartesiano e dividiamo l'hash in una serie di coordinate. Ad esempio, se abbiamo 261d832de29d0923db96989c4640dfdd possiamo disegnare sul nostro piano i seguenti punti: (2,6), (1,D), (8,3), (2,D), ... con le coordinate espresse in esadecimale. Abbiamo ottenuto una serie di punti, non ci resta che unirli con delle linee ed ecco una bellissima SignID che possiamo vedere in questa figura. [caption id="" align="alignnone" width="257" caption="SignID"]SignID[/caption]

Come usare SignID

Potete usare SignID come alternativa alle più blasonate avatar. Dato un indirizzo email, ad esempio mail@example.comla prima cosa da fare sarà quella di calcolare il valore hash dell'indirizzo, è possibile utilizzare le funzioni messe a disposizione del linguaggio che state utilizzando come l'md5.333a3587d4c6757b04c86b47fbafc64aLa URI dell'avatar SignID sarà http://www.piumalab.org/avatar/333a3587d4c6757b04c86b47fbafc64a

Per chi vuole inserire un SignID nel proprio sito in PHP è sufficiente il seguente codice

![](http://www.piumalab.org/avatar/<?php echo((string)md5($email)) ?>)

Attributi per personalizzare SignID

Tutti questi attributi di cui vi parlerò sono opzionali, puoi specificare la dimensione con il parametro s, se non viene specifiata per default sarà di 80 pixel, esempio:http://www.piumalab.org/avatar/333a3587d4c6757b04c86b47fbafc64a?s=256

Il formato dell'immagine per default è di tipo png se desiderate un gif basta specificare format=gifhttp://www.piumalab.org/avatar/333a3587d4c6757b04c86b47fbafc64a?format=gif

Ci sono altri tre parametri per specificare i colori. Sono bg, lc e pc che servono a definire rispettivamente il colore dello sfondo, delle linee e dei punti. Il formato dei colori dovrà essere espresso con 6 cifre esadecimali, secondo la forma RGB, 2 per il colore rosso, 2 per il verde e 2 per il blu. Tutte le opzioni possono essere combinate come desiderate. ecco un esempio dell'utilizzo di queste tre opzionihttp://www.piumalab.org/avatar/333a3587d4c6757b04c86b47fbafc64a?bg=99DD33&lc=234567&pc=FF55FF