Fa parte del gioco (Second Life, le attività illegali, l'opensource, la privacy)

Prima di rimettersi al lavoro (sì, anche questa estate è terminata, e ci sono un po’ di novità agostane veramente importanti, di cui spero di poter parlare a breve sul fronte editoria elettronica accessibile), alcune altre riflessioni ancora su Second Life, complice anche la recente “drammatica” vicenda dell’Emerald Viewer e di quello che ci sta dietro. Mi interessa di più quello che ci sta dietro, ovviamente.

Il contesto è abbastanza complesso. Come in ogni architettura client/server, per avere accesso al server è necessario un client, un programma che permetta di accedere alle risorse disponibili sul server. Per accedere a Second Life, Linden Lab prevede alcune possibilità certificate ovvero i propri client in due versioni e una versione opensource, Snowglobe, i cui listati sono ovviamente disponibili a tutti.

Per queste versioni Linden Lab ci mette la faccia, lasciando agli sviluppatori della comunità opensource la possibilità di sviluppare proprie versioni alternative basate sul codice di Snowglobe (e da agosto Snowstorm). Il codice viene rilasciato con licenza GNU General Public License, version 2.0 con una FLOSS exception.

Ovviamente disporre di una comunità di sviluppatori opensource aiuta di molto lo sviluppo di nuove funzionalità e il testing delle stesse, e in effetti si sono resi disponibili molti viewer alternativi con caratteristiche piuttosto interessanti, qualcuna di più qualcuna un po’ dubbia (davvero è interessante vedere il seno delle avataresse sottoposto alle leggi della fisica?). Però, ok, tutto bene.

Per tutelare i propri utenti Linden Lab ha redatto delle linee guida, un documento chiamato “Policy on Third-Party Viewers” che elenca diritti e doveri dei client prodotti da terze parti. La “The Third-Party Viewer Directory” elenca i viewer che si sono auto-certificati come aderenti alla policy. Non c’è alcuna approvazione da parte di Linden Lab, anche se qualcuno li chiama “viewer approvati” o “legali”. Nulla vieta di usare viewer non elencati nella directory, però essere presenti nella directory è certamente interessante per uno sviluppatore interessato alla popolarità del proprio viewer, che auto-dichiara sono conforme e quindi puoi usarmi con tranquillità, non ruberò i tuoi dati, il numero della tua carta di credito e non pubblicherò l’elenco dei sexy toys che hai nella tua inventory e non potrai rubare oggetti dai negozi.

Qui comincia il disastro di Emerald, un bel viewer ma con qualche problema di troppo. Per farla breve (in rete sono disponibili diversi resoconti sull’accaduto, compreso esilaranti autoflagellazioni dei maggiori responsabili del disastro), oltre a rubare dati Emerald è stato usato per un attacco DDoS (Distributed Denial of Service) al sito di un programmatore colpevole di aver reso pubblici gli altarini di Emerald, ovvero il fatto che venivano carpite informazioni personali. Così, siccome questo cattivo figuro ha mostrato pubblicamente delle immagini dove si vedeva chiaramente quali e quanti dati Emerald stesse abusivamente mostrando, uno del team di Emerald ha pensato bene di spedire un terabyte di dati al sito del cattivo iniettando codice nella pagina di login di Emerald, in modo che a ogni accesso tò, un bel pacchetto. Il team di Emerald colto in castagna ha commentato dicendo massì in fin dei conti il sito non è caduto, non è un vero DDOS.

A fronte di una situazione insostenibile c’è stato un fuggi fuggi, il team si è liquefatto, il viewer è stato tolto dalla directory dei third-Party Viewer e il Lab di Linden per un po’ è stato seriamente intenzionato a interdire l’accesso a Second Life con questo viewer.

Un giorno dopo, passata la nottata, invece di un ban immediato è stata inviata una email agli utenti di Second Life dove Philip Linden in persona commenta l’accaduto, spiega che concederanno ancora un po’ di tempo ai nuovi resposabili di Emerald per sistemare la faccenda e nel caso di inottemperanza al client verrà inibito l’accesso (qui si è scatenato un altro gossip: sembra che questa email non sia arrivata a tutti, così c’è chi passa del tempo ipotizzando i perché e i percome più fantasiosi. Eh, che bello avere tempo da perdere).

L’email si conclude con una frase abbastanza significativa:

If you have been using the Emerald viewer, for now we would encourage you to consider either one of the Linden Lab viewers, or an alternative third-party viewer.
Philip Linden

In tutto questo pasticcio, il cattivo che ha reso pubblici i traffici di Emerald non è che sia un santarellino, di suo produce un client che si definisce “il viewer per Second Life per gli hacker pigri”, mentre l’altro, che con una certa lungimiranza è scappato per primo, ha messo online l’ultima versione di Emerald dichiarando ora l’ho ripulito, ci metto la mia faccia (sic) e l’ha chiamato “Emergence”. Così a oggi gli utenti possono scegliere fra Imprudence ed Emergence. No comment… Il terzo si è autoflagellato dicendo ho fatto tante cose sbagliate nella mia vita ma Emerald era bello. Già, era.

Durante questa fase coincitata, mi è capitato di parlare con una persona importante dello staff di Linden Lab (la stessa persona che mi ha avvisato che in quel momento Emerald stava per essere bannato, erano davvero pronti per farlo). Alle mie rimostranze abbastanza coincitate (il mio user name era anche nel database precedentemente rubato da Emerald), lui ha cercato di dirmi, facendomi infuriare ancora di più, “Fa parte del gioco“.

Come fa parte del gioco, sono reati imprecavo io. E lui paziente, sì, hai ragione, ma fa parte del gioco. Ci ho pensato due giorni e ora, che vedo Emergence e le buffe reazioni della rete, le spiegazioni degli immancabili guru, penso che sì, aveva ragione, fa parte del gioco. E lo staff di Linden è potente perché ci credono, riescono a vedere da fuori.

Ora molti builder ex-utenti di Emerald sono nelle pesti, perché se cercano di importare i propri linkset creati con Emerald in Imprudence il programma va in crash. Perché? un’altra delle furbate degli sviluppatori di Emerald è di non aver pensato agli standard e i linkset sono file XML. Nel caso di Emerald, non standard come invece sono quelli di Imprudence o Hippo.

XML è il gioco, e anche gli hack XML degli sviluppatori di Emerald non hanno retto. C’è qualcosa da imparare in questo. Il markup è più profondo di quanto sembri. Siamo tutti parte del gioco, che ci descrive e delinea. No no, aspetta, questo era un film…

È davvero affascinante osservare con un proxy i pacchetti XML che passano dal proprio client ai server Linden e viceversa. Quei pacchetti di testo costruiscono un mondo, fanno accadere delle cose, descrivono degli oggetti.

La vera differenza fra Second Life e un classico gioco per computer (e anche il motivo per cui in un gioco non c’è lag mentre in Second Life sì) è che in Second Life non ci sono ambienti predefiniti. L’ambiente cambia continuamente, creato in ogni istante dagli utenti. Puoi creare discutendo il tuo lavoro in tempo reale con un collega, che vede quello che stai facendo su quel bel modello di elefante. Questo succede perché esiste XML.

Oggi parlavo in Second Life con una cara amica che abita nei Paesi Bassi. Lei ha una piccola bimba di tre anni, che ogni tanto sta in braccio a lei mentre è in Second Life e commenta a modo suo quello che vede. Però, riconosce immediatamente l’avatar della mamma e per lei sarà ed è assolutamente normale parlare con un computer. Quella è la mamma, quello è Livio. Giusto? Sbagliato? Immorale? Non lo so. Ma sicuramente fa parte del gioco.

Io trovo che sia davvero affascinante, però capisco che ognuno ha le sue perversioni e capisco se qualcuno non condividerà.

Annunci

Musica in streaming su Second Life, Shoutcast, radio libere

Come fare streaming di musica su Secondlife

” Amo la radio perché arriva dalla gente / entra nelle case e ci parla direttamente. Se una radio è libera, ma libera veramente / piace ancor di più perché libera la mente.” (Eugenio Finardi)

Ok, la citazione forse non è proprio proprio delle più recenti, però lo spirito di Shoutcast è anche questo. Non è detto che la vostra radio debba essere per forza commerciale, o produrre dei redditi o che uno stream serva per fare esclusivamente il DJ, potete anche blaterare liberamente nell’etere digitale. Anche dicendo cose azzardate, tanto chi vi sente?
Mi piace molto l’idea di lasciare i miei bit audio liberi di fluttuare nel mare di Internet, e immaginare che per serendipity qualcuno li raccolga e ascolti.
Non è necessario affittare per forza della banda su un server di streaming, se non prevedete di avere una quantità di ascoltatori. Io sto utilizzando una normale ADSL 7 mega, e funziona.
Il modo più semplice ed efficace che ho individuato è utilizzando Winamp, il plugin SHOUTcast DSP Plug-In for Winamp e il server SHOUTcast di Nullsoft, tutto gratuito.

Non è tutto liscio liscio, personalmente per ottenere una installazione stabile ho scaricato il server SHOUTcast 1.9.8 e non la versione 2 beta, e del plugin DSP utilizzo la versione 1.9.0, perché la più recente (1.9.1 a oggi) per un piccolo bug non salva i preset.

Scaricati i tre file, l’installazione è abbastanza semplice: partite da Winamp, solito doppio clic, evitate la selva di optional offerti dall’installer, installate il plugin DSP, per ultimo installate il server.

Partiamo dalla configurazione del server, perché c’è da fare una piccola personalizzazione.

  1. Individuate la cartella Shoutcast nel vostro disco fisso ed apritela (in Windows 7, sarà qualcosa come c:Program Files (x86)Shoutcast.
  2. Individuate il file sc_serv.ini, e se possibile apritelo con Wordpad, non con Blocco note (provate a usare clic destro > Apri con invece che Apri). Funziona anche con Blocco note, ma il file è completamente non formattato, mentre con Worpad appare in ordine.
  3. Individuate la riga MaxUser=32, e cambiatela in MaxUser=5, o un valore più sensato di 32 a meno che non abbiate una connessione davvero efficace.
  4. Appena dopo, trovate Password=ChangeMe e sostituite ChangeMe con la vostra personale password. È essenziale per riuscire a collegare lo stream da Winamp al server, quindi annotatela.
  5. Verso la metà del file, trovate la sezione Server configuration e la riga AdminPassword. Anche qui, provvedete a inserire la vostra password.
  6. Salvate il file, la configurazione del server è terminata. Se volete avviatelo facendo doppio clic sull’icona sc_serv.exe (e per arrestare il server, non chiudete semplicemente la finestra ma fate clic sul pulsante Kill server).

finestra di dialogo del server SHOUTcast

Passiamo a Winamp.

Per Winamp preferisco usare una skin classica, giusto il player e la playlist ma ovviamente questa è una scelta del tutto personale (Options > Skins).

  1. Se all’apertura di Winamp comparisse un errore del tipo “nscrt.dll non trovato“, scaricate il file e collocatene una copia nella cartella Winamp e una copia nella cartella Winamp/Plugins. Non è proprio quel che si dice una procedura pulita, ma funziona.
  2. In Winamp, selezionate Options > Preferences, e nella sezione Plug-ins fate clic sulla voce DSP/Effects. Sulla destra, se tutto ha funzionato, sarà presente l’elemento Nullsoft SHOUTcast Source DSP v.1.9.0. Se non ci fosse, reinstallate il plugin.
  3. Fate clic sul pulsante Configure active plug-in in basso: si aprirà la finestra di dialogo Shoutcast Source, fondamentale per la nostra trasmissione su Internet.
  4. Nella scheda Output, lasciate Address a localhost, e Port a 8000. Digitate invece la password inserita al punto 4 della procedura di configurazione del server precedente nella casella di testo Password.
  5. Fate clic sul pulsante Yellowpages e date un nome alla vostra stazione: sarà il nome della vostra stazione radio.
  6. Fate clic sulla scheda Encoder in alto e impostate il tipo di stream. Se intendete usare la vostra radio su Second Life (sì, ora ci arriviamo) selezionate una codifica MP3 non troppo elevata. Personalmente ho ottenuto buoni risultati con 80kbps, 22.050kHz Stereo, ma fate esperimenti.
  7. Lasciate Input su Winamp, valore di default e siamo pronti.
  8. Tornate alla scheda Output e fate clic sul pulsante Connect. Fate clic su Play in Winamp, in cui avrete provveduto a caricare una canzone o a preparare una playlist e osservate la finestra del SHOUTcast server: se tutto ha funzionato, vedrete comparire dei messaggi. Se non ci sono errori (di solito la password…)., il vostro stream è in Internet.

Ok, ma come lo trovo e lo comunico ai miei amici, o lo metto in streaming nella mia parcel?

È necessario conoscere il proprio ip: il server è raggiungibile all’URL http://vostroip:8000.

  1. Se non conoscete il vostro ip (che cambia a ogni connessione, quindi l’indirizzo della radio cambierà di conseguenza), potete usare per rilevarlo un qualsiasi sito che offra questo servizio, come per esempio What Is My Ip.
  2. Dopo aver rilevato il vostro ip, aggiungete davanti al numero ip http:// e :8000 in fondo. Puntate il vostro browser all’URL ottenuto: vedrete la  pagina SHOUTcast D.N.A.S. Status del vostro personale server.

pagina di amministrazione dello stream Shoutcast

A questo punto il lavoro è fatto. Se volete aprire il vostro stream sul pc (o far ascoltare la vostra musica a qualche amico), un clic sul pulsante Listen vi fornisce l’URL del file .pls (playlist) corrispondente.

Se volete mandare in stream la vostra musica nella vostra sim o nella vostra parcel, o in un luogo in cui avete accesso alle proprietà audio del posto, selezionate World > About Land e nella scheda Audio inserite l’URL del vostro stream nella forma http://vostroip:8000. Fate clic sul pulsante Play del vostro client e voilà. Ricordate però che SL apre connessioni client/server per ciascun viewer (è uno streaming multicast), quindi non superate il numero di ascoltatori previsto nella configurazione del server. Se prevedete un rave, è necessario affittare banda su un server dedicato.

È tutto, buon divertimento.

tutto l'ambaradan