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à.
Musica in streaming su Second Life, Shoutcast, radio libere

” 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.
- Individuate la cartella Shoutcast nel vostro disco fisso ed apritela (in Windows 7, sarà qualcosa come c:\Program Files (x86)\Shoutcast.
- 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.
- 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.
- 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.
- Verso la metà del file, trovate la sezione Server configuration e la riga AdminPassword. Anche qui, provvedete a inserire la vostra password.
- 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).
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).
- 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.
- 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.
- 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.
- 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.
- Fate clic sul pulsante Yellowpages e date un nome alla vostra stazione: sarà il nome della vostra stazione radio.
- 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.
- Lasciate Input su Winamp, valore di default e siamo pronti.
- 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.
- 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.
- 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.
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.
Musica, arte e mondi virtuali
In Second Life si è appena concluso l’opening concert dei Chouchou. Un successo strepitoso, come da aspettative. Trenta secondi dopo (30 secondi…) l’apertura della sim a ogni tentativo di tp “sim full, retry later”. Mentre le altre sim chiudono, Chouchou triplica e ora sono tre sim.
Vendono “dischi” a palate, in tutti i formati.
Perché?
Me lo sono chiesto, è così stridente il confronto con altre manifestazioni che si auto-definiscono “artistiche” dove, se va bene, ti rompi le palle.
Alla fin fine, è facile da capire. La voce di Juliet Heberle è così bella e dolce che ammazza la gente, ti ruba il cuore. Arabesque Choche secondo me è Ryuichi Sakamoto travestito da avatar, ne sono sicuro. Le musiche sono bellissime, la grafica e le sim curatissime.
Perché loro hanno successo e altri no? Semplice, perché loro hanno l’arte e hanno il cuore.
E la gente lo capisce, istintivamente. È una qualità dell’arte, e se non c’è emozione, se non si è capaci di donare se stessi, non si è artisti ed è giusto che il successo non giunga.
Chi se ne frega delle pippe mentali dell’artista alle prese con strampalate composizioni di particelle o ignobili “composizioni astratte”? O degli ancora più pezzenti “galleristi” del tutto improvvisati che infestano Second Life?
Non ci sono discussioni. Quando c’è, la qualità paga alla grande, dona gioia al pubblico e si attua quello scambio magico che è l’arte. Grazie Juliet, grazie Arabesque.
Il resto, sono pippe.
Risultati delle ricerche, Google, la Cronologia Web e la ricerca personalizzata
“Wow! Sono in prima pagina di Google”, mi annuncia soddisfatto un amico. “Ah, complimenti”, dico io. Controllo. “No, guarda che sei in sesta pagina come prima”. “Ma come? No no, sono in prima pagina”.
Già successo, vero? A un certo punto il proprio sito si mette a scalare tutte le classifiche e giunge in primo piano, se non al primo posto fra i primi nei risultati delle ricerche Google. Dopo un certo entusiasmo, si capisce che c’è qualcosa che non funziona e alternativamente si dà la colpa a Google che non “indicizza bene”, ai browser, al transito di Plutone.
Una cosa da sapere è che se utilizzate un servizio Google, per esempio Gmail, nel vostro profilo è presente una impostazione che influisce sui risultati delle ricerche: Cronologia web. Ricerca personalizzata invece funziona sempre, è in un cookie di durata 180 giorni.
Entrambe queste opzioni salvano le vostre ricerche, ed influenzano le pagine dei risultati mettendo in primo piano le vostre ricerche più frequenti. Cronologia Web è attiva se fate il login a Google, Ricerca personalizzata è sempre attiva ed è è l’elenco delle ricerche precedenti su Google memorizzate dal browser.
Quindi prima di dichiarare sono in prima pagina, disattivate l’opzione nel vostro profilo Google e ripetete la ricerca, aggiungendo in coda all’URL che Google mostra dopo aver fatto una ricerca il parametro &pws=0. Premere invio per aggiornare la pagina e voilà, i veri risultati. Forse, speriamo.
Francamente, non capisco a cosa possa servire una cosa del genere: i miei risultati di ricerca anche con le stesse parole chiave non saranno mai uguali a quelli di un’altra persona. Google dice che è per “Con la personalizzazione dei risultati ci auguriamo di offrirti le informazioni più utili e pertinenti possibili su Internet”. Io ci metterei un bel boh pure qui.
epub. Alla ricerca di un workflow
Sembra che a detta di tutti fare un epub sia una cosa semplicissima, la classica cosa da “premi il tasto e via, fatto”. Certo, qualcosa succede, ma vi ricordate i siti fatti con Frontpage? È la stessa situazione.
C’è sempre confusione fra HTML e XHTML, tanto da portare una persona di solito accorta come Zeldman ad affermare “che ci vuole, prepara i tuoi file in HTML valido (dimenticando che lui stesso afferma che il 99% dei siti web a oggi non è valido… se non sono capaci di produrre codice valido gli sviluppatori figurati gli aspiranti editori elettronici), zippa tutto e converti in pacchetto con bookglutton“.
Peccato che anche bookglutton contribuisca alla confusione, perchè la procedura guidata chiede di:
- Upload an HTML book produced from our specifications (see below).
Uno va a leggere le specifiche e scopre che “Before you upload your ZIP you MUST format your content as XHTML 1.1″. Bah.
Comunque, stabilito che a me interessa usare il formato epub, ho provato un po’ del software disponibile, non molto a dire la verità.
Sigil di per sé è un onesto editor, ma così limitato… non fa nemmeno le tabelle. Comunque, meglio che niente. Vediamo Calibre. Ok, nemmeno questo mi sembra un granché, promette bene una utility a linea di comando chiamata “epub-fix”, ma l’interpretazione del codice di Calibre è alquanto “personalizzata”. Non mi piace.
Stanza? Mi sembra di essere tornato ai tempi di mio nonno, e funziona decentemente solo su Iphone/Ipad, la versione desktop è una specie di tritatutto. Se volete ridurre il vostro epub a solo testo, l’ideale.
Insomma, a fronte di tutti questi annunci mirabolanti sul futuro e la tecnologia, non ci sono strumenti realmente efficaci e in grado di produrre senza grosso danno e perdita di tempo file epub validabili senza dover ricorrere a interventi anche pesanti sul codice.
E-cub e Jutoh sembrano fatti da persone che sanno di cosa stanno parlando, bravi. Sanno cos’è l’accessibilità e gli editor permettono di creare versioni audio dei libri in mp3 con LAME. Jutoh non è gratuito ma vale i soldini che costa. Dagli stessi autori di Writer’s Cafè, un altro bel software.
La verità è che produrre un epub di qualità non è per niente facile, e le uniche soluzioni realmente funzionanti sono commerciali, per esempio Adobe Indesign. Ma questa è la parte più semplice della questione, perché se il file di partenza non è fatto con tutti i crismi, utilizzando estensivamente gli stili di paragrafo, inserendo le immagini inline e con il flusso del testo ben consolidato e concatenato, col cacchio che ti viene un epub. Vengono dei file sparpagliati su cui devi mettere pesantemente le mani con la speranza di non dimenticare una doppia virgoletta, perché siamo in XML e i parser non correggono nulla. E devi sperare che non ci siano modifiche da fare dopo che hai validato il file, perché metterci le mani significa o ricominciare da capo o saper usare XML e lavorare nel codice.
Per piccole modifiche, a mio parere una possibile soluzione viene ancora da Adobe, PDFXML Inspector, un tool che appartiene al progetto MARS. È leggero e non si inchioda ogni tre minuti, diciamo che dura almeno 5.
Alla fin fine, l’unica via che mi sembra realmente praticabile per ora è creare i documenti sorgenti in Indesign seguendo alla lettera tutti i consigli di Adobe, produrre l’epub, rinominare il file cambiando l’estensione in .zip, scompattare il file preservando la struttura delle directory, creare un nuovo sito in Dreamweaver e lavorare sul codice con DW. È come voler rifare un vecchio sito fatto in Frontpage per renderlo standard, mettetevi il cuore in pace. Poi per vedere l’epub dovete creare un nuovo zip di tutti i contenuti, rinominarlo .epub e guardarlo in un viewer. E nel caso ricominciare da capo.
E bisogna conoscere bene XHTML 1.1 e CSS, ricordando che le specifiche di epub sono un po’ differenti. E incrociare le dita.
E non accenno nemmeno all’accessibilità, perché tutti gli epub sparpagliati nel mondo sono in XHTML 1.1, mentre lo schema compatibile con Daisy è DTBook, e nemmeno questo è supportato decentemente… mah. Non sappiamo usare gli stili di paragrafo in Word dopo trent’anni, mi sembra eccessivo parlare di schemi XML. E lasciamo perdere le numerose e inverosimili incompatibilità fra i vari editor/viewer… bah. Mah, anche. E ho visto anche una versione latinizzata del formato: epubis. Mah.


