Pagine importanti

venerdì 26 marzo 2010

Call-Centre e tecniche di marketing schifose

Una volta mi stupivo della faccia tosta di certi call-centre.
Una volta. Ora non mi stupisco più di nulla.
Ora di cena. Mi siedo a tavola, mia madre ritarderà e mi ha detto di cominciare a mangiare tranquillamente, e così faccio. E infatti mia madre arriva quando ormai sono prossimo a concludere la cena. Mentre si siede e parliamo del più e del meno mi dice "mi ha chiamato l'ENEL, hanno detto che devono mandarmi delle informazioni per iscritto..."
La inchiodo immediatamente, con un urlo beduino: "NOOOOOOOOOOOO!!!!!"
MM: "Ma stai calmo! Mi hanno detto che era solo per delle informazioni, e tanto manco sapeva chi ero: ho dovuto dirgli io nome e cognome"
Io: "Ma come puoi essere così ottusa? Un operatore sconosciuto di cui hai preso una telefonata sa il tuo nome e cognome, il tuo indirizzo ed è riuscito ad estorcerti un 'sì' al telefono! Abbiamo avuto il nostro bel da fare per uscire da una porcata di contratto con ENEL Energia [firmato fuori dai locali commerciali e di cui venne ignorato il recesso inviato IL GIORNO LAVORATIVO SUCCESSIVO per fax, telegramma e raccomandata A/R, ndG] e nonostante ti abbia detto letteralmente milioni di volte che chiunque telefoni per qualunque motivo, devi SEMPRE e SOLO rispondere 'non mi interessa e non mi dovete contattare più!'; eppure riesci lo stesso a farti estorcere dati e un sì al telefono."
MM: "Ma mi ha detto che è solo per informazioni, non sono mica scema! Gli ho anche chiesto se era ENEL Energia e mi ha detto di no."
Io: "Primo. Non ti permettere mai più di fare quello che hai appena fatto. Non ti permettere mai più: fra tuo figlio che ti dice una cosa e uno sconosciuto che ti chiama al telefono e te ne dice un'altra, tu puoi e devi credere solo a tuo figlio, e non solo perché non si chiede all'oste se il suo vino è buono. Secondo, sul mercato libero dell'energia ci sono più di una decina di operatori."
MM: "Ma lui mi ha detto che era l'ENEL..."
Io: "Quale? ENEL Servizio Elettrico, ENEL Energia, ENEL Distribuzione o ENEL Casa? Quale ENEL? Lo capisci o no che chiunque chiami non devi dargli spazio di parlare ma rispondere solo 'non mi interessa e non mi dovete contattare più', lo capisci che a loro serve poter registrare un 'sì' al telefono?"
MM: "Ma io gli ho dato il si SOLO PER LE INFORMAZIONI!"
Io: "Certo. [PAUSA]: 'Signora le posso mandare un depliant?' [REGISTRA] 'Sì, certamente!', e patatrac!"
MM: "Ma come?"
Io: "Come? Te lo dico io come! Ma anni di unione consumatori, un anno di giri per colpa di ENEL Energia, anni che guardiamo 'mi manda raitre', non hai imparato nulla? Ma ti rendi conto che quando facevi l'assistente sociale e andavi a trovare le famiglie dicevi loro di non aprire il portone agli sconosciuti, e adesso FAI TU COSTANTEMENTE QUESTO ERRORE?"
Mi sono preso l'ennesima collera.
Stamattina con mia madre andiamo al posto di polizia postale e facciamo una querela contro il call-centre che ha chiamato [come dite? Il numero è anonimo? Non sono io quello che deve andare a guardare il tabulato telefonico (-: ], ma poi mi chiedo seriamente che cosa fare per fermare questo stillicidio di bastardi che approfittando della buona fede di mia madre riescono a farle firmare di tutto e/o confermare di tutto?
Un giorno vi racconterò anche di un contratto di carta di credito attivato all'aeroporto, per ora stacco perché a distanza di una intera nottata passata male, devo cominciare ad occuparmi di questa situazione.
Sembra comunque che i call-centre prediligano i pensionati per rompere le scatole. Qualche anno fa mi arriva un'e-mail "gentile sig.ra, da questo mese non riceverà più la bolletta telefonica poiché risparmia sulla spedizione [che è anche illegale andare a richiedere (dovrei decidermi di fare ricorso con l'ADUC e farmeli rimborsare)] e poi antani della supercazzora prematurata con bla bla bla". Chiamo il 187 immediatamente.
Io: "Non so chi vi abbia autorizzato a farlo, ma adesso voi tornate sui vostri passi senza 'se' né 'ma', continuando l'invio cartaceo della fattura. Vediamo se una pensionata di una certa età ogni due mesi si mette davanti al computer a controllare le fatture."

mercoledì 24 marzo 2010

Un connettore scrauso in un buon portatile

Si tratta di un PC Portatile. Un semplicissimo laptop che ha un problema al connettore di alimentazione: in pratica balla, e l'alimentatore fa falso contatto e non è in grado di tenere per bene la batteria sotto carica.
Il cliente mi chiede se è possibile riparare il connettore, ma metto le mani avanti: "Generalmente solo per smontare il portatile vanno via almeno un paio d'ore, e dopo bisogna vedere se il connettore è riparabile o se è troppo demolito e non si può fare nulla."
Porto il portatile dall'amico MC, e cominciamo a smontarlo. Ci mettiamo UN'ORA, impegnati contemporaneamente io, MC e GP.
Ci mettiamo UN'ORA perché il maledetto connettore è fra la piastra madre e il coperchio posteriore, e per rimuoverli e raggiungerlo ci tocca smontare *TUTTO* il portatile. Una cinquantina di viti, espansioni ed espansioncine, casse, connettori, ventole... L'intero portatile tirato a telaio per mettere un po' di colla a caldo dietro il connettore di alimentazione e versargli della colla simil-vinilica tutto intorno. E poi un'altra ora per richiuderlo. Piano e con delicatezza... Poi mi raccomando col cliente di tenere tantissima delicatezza soprattutto dentro le prime 24 ore, il tempo che si asciughi la colla.
Un'altra sfida vinta, ma comincio a credere che raramente accetterò ancora di smantellare un maledetto portatile per via del maledetto connettore di alimentazione; il portatile è un componente informatico relativamente delicato, e mi pare evidente che ci voglia un bel po' di delicatezza quando lo si maneggia.
Un consiglio spassionato: se dovesse succedere anche a voi di trovarvi la richiesta di riparare il connettore di alimentazione di un portatile, fate una bella cosa: un bel preventivo all'assistenza tecnica della casa madre. Almeno il connettore coinvolto verrà sostituito trovando la stessa solidità del primo giorno.

martedì 23 marzo 2010

Lunedì mattina...

Fino a circa due anni fa fuori dal palazzo c'erano due cassonetti dei rifiuti. Due anni fa, appunto, qualcosa andò storto: uno dei due cassonetti venne danneggiato e, dopo un tentativo di riparazione "sul posto", l'impresa rimosse il cassonetto.
Voi direte: "beh, semplice: lo hanno rimosso per sostituirlo con uno nuovo".
No.
Lo hanno rimosso tout-court. Da due anni c'è un solo cassonetto per gestire metà palazzo (30 condomini) e l'altro palazzo ove fa sede anche il bar, oltre al mio ufficio.
Questo cosa comporta? Facile: comporta che il cassonetto viene rigorosamente riempito fino all'orlo. E quando non c'è più spazio, si comincia a mettere la spazzatura anche accanto.
Da due anni, con una cinquantina di famiglie da gestire.
Ora, questo dovrebbe essere un incentivo a svolgere due compiti ben precisi. I rifiuti solidi urbani dovrebbero diventare una risorsa polifunzionale. Tale risorsa può funzionare solo con un piano di riciclo implacabile, che vada a recuperare legno, carta, metalli, materie plastiche, organico umido (il compost è un fertilizzante ad "impatto zero" con molti punti a favore rispetto ai concimi chimici), vetro, e via discorrendo.
Ma non basta: bisogna ridurre il packaging all'essenziale, prima di riciclare il vetro sarebbe utile tornare all'uso del cosiddetto "vuoto a rendere" (bottiglie di vetro per alimenti hanno il pregio di poter essere ficcate in autoclave a sterilizzarsi).
C'è troppa plastica in giro, e l'unica fortuna è che parliamo soprattutto di PET, anziché di PVC: per questo comunque torno a ribadire il parere che dobbiamo cercare di riciclare tutto il riciclabile, e inviare al disseccamento ed incenerimento di tutto quello che non è riciclabile, per produrre energia elettrica e vapore per teleriscaldamento o altri usi.
Il punto è che ci sono molte cose che devono essere fatte per il funzionamento ambientale, sul merito della produzione di minor quantità di rifiuti, sul merito del risparmio energetico, sul merito della riduzione del packaging e del riutilizzo delle risorse.
E, soprattutto, lo smaltimento dei rifiuti andrebbe gestito in maniera un tantinello più efficace di come avviene soprattutto nella regione Sicilia, dove mentre noi dobbiamo fare l'abitudine a vedere scene di cassonetti sgarrupati e traboccanti, ci sono anche città e paesi dove i rifiuti invadono le strade perché non ci sono più posti dove andarli a stoccare.
E io sono uno di quelli che ritiene che le discariche dovrebbero essere utilizzate solo per miscelare inerti e rifiuti speciali, non per seppellire la nostra spazzatura generica...

lunedì 22 marzo 2010

TeleTu: Segnalato sito malevolo

Sono da un cliente. Sto navigando su un sito e vado per clickare sulla pecetta "Blocca" di AdBlockPlus su un banner di TeleTu, ma il mouse mi "scapola" e clicko abbastanza in basso da chiedere invece l'apertura del sito http://www.teletu.it/, e invece di trovarmi davanti al sito col porcellino giallo...

Mi si piazza davanti la schermatona nera e rossa di "Segnalato sito malevolo", e mi trovo a guardare la schermata e l'indirizzo in preda alla confusione: ma com'è possibile? Sarà un sito falso?
No. Si tratta proprio del sito di TeleTu, e d'altronde clickando su "ignora questo avviso" l'antivirus mi segnala che è stata bloccata una "Minaccia Liberty exploit kit (type 714)":
Anche ignorando questa situazione, comunque l'antivirus blocca ugualmente il sito:
Vorrei capire perché... Contattare teletu via web appare impossibile (gli unici contatti ammessi sono per i clienti e per segnalare un guasto alla propria linea telefonica e/o adsl), dal sorgente della pagina penso che possa essere qualcosa in jscript, ma con firefox che blocca il sito il sorgente pagina è praticamente impossibile da guardare... Mah, voglio vedere gli sviluppi di oggi.
Di per sé la minaccia è reale: aprire il sito http://www.teletu.it/ stamattina significa, senza adeguata protezione, beccarsi un bel exploit/rootkit, per cui vi consiglio di portare la massima attenzione. Il webmaster di TeleTu in qualche modo interverrà entro breve tempo.
AGGIORNAMENTO delle 9:00
Ovviamente anche tele2 è coinvolto, e Google se si cerca "tele2" oppure "teletu" fornisce l'avviso che il sito potrebbe arrecare danni al computer. Sono entrambe (tele2 è in trasformazione in teletu) società del gruppo Vodafone, che già ha il suo bel da fare con la storia degli smartphone HTC infetti. In compenso i siti del gruppo vodafone (http://www.vodafone.it/ e http://www.190.it/ al momento non sembrano infetti...); dal sorgente del documento non riesco a determinare dove sia l'errore: è probabile che sia stato compromesso del codice jscript a livello server (comunque la compromissione è a livello del server, non degli utenti).
Resta per ora l'avviso: PER IL MOMENTO PORTATE LA MASSIMA ATTENZIONE NEL VISITARE I SITI DI TELETU E TELE2, POTRESTE SUBIRE UN'INFEZIONE VIRALE. Aspettiamo gli sviluppi nel corso della giornata.
AGGIORNAMENTO delle 12:30
Il sito wepawet segnala il codice html sorgente come pulito. In effetti a controllare bene sembra che non ci siano più strane funzioni criptate. In pratica sembra che l'infezione sia stata corretta, anche se ancora non ho potuto controllare con buona precisione, dato che Firefox e Google continuano a segnalare il sito come inaffidabile, e ci vorrà almeno un altro giorno perché venga tolto dalla blacklist...
ULTIMO AGGIORNAMENTO 23 marzo 2010 ore 5:50
Il sito si apre normalmente, sia google che stopbadware e via discorrendo lo hanno rimosso dalla blacklist, e cercando su google "teletu" oppure "tele2" non appare più l'avviso che il sito potrebbe arrecare danni. Tutto a posto, insomma. (-:

Perché se non lo leggevano su internet...

Bergamo.
Un ragazzino di 14 anni è morto, dopo aver costruito una bomba artigianale ed essere stato investito dallo scoppio.
Sì, un ragazzino di 14 anni è morto. Uno resta surgelato davanti a queste notizie. Subito saltano all'occhio alcune domande: "Era un tifoso violento? Era un anarchico dedito a questo genere di attività? Era forse figlio di qualche fuochino e cercava di imitare il padre?"
No.
Era un quattordicenne medio, con un cervello *sotto* la media, che con gli amici ha pensato bene di mescolare la polvere di diversi petardi per prepararsi un unico cioccolatino. Come fanno tantissimi a capodanno. Già.
E la colpa di questa morte assurda? Avevano dei petardi, è colpa di chi glieli ha venduti? Ahhhhhhhh, l'hanno visto su internet, ovviamente è colpa di internet!

OVVIAMENTE UN PAR DE BA%%E (di fieno)!

Ricominciamo.
Abbiamo un ragazzino di 14 anni, abbiamo dei petardi, abbiamo degli amici, abbiamo "l'esperimento" di fare la killer-application pirica. Che cosa vedo?
Vedo una persona che a 14 anni non ha una idea ben precisa di cosa sia un esplosivo. Vedo dei genitori che non hanno un'idea ben precisa neanche loro. Vedo (come ho già detto in passato) il bisogno di rivalutare determinate cose. E fra queste non c'è internet, non prima di aver dato una bella sistemata al mondo.
Per esempio cominciando a scrivere sulle confezioni dei petardi declassificati frasi come colle sigarette: "CONTIENE ESPLOSIVI CHE POSSONO UCCIDERE O FERIRE GRAVEMENTE". Poi vediamo se ci sono ancora scene "mammina, me li compri i petardini?"
Poi continuiamo, perché si fa in modo che niente, neppure di declassificato, possa essere venduto o usato da minorenni, e facciamo in modo di insegnare ai genitori che finché un figlio non ha compiuto i 18 anni pure per usare le caps nella scacciacani dovrà essere sotto la supervisione di un adulto.

E cominciamo a entrare nell'ordine di idee che a me dispiace molto per la morte di questo ragazzino (mi pare di aver capito che il suo nome forse sia Francesco, ma molti giornali ovviamente immettono solo delle sigle, per cui mi adeguo), ma che l'unica persona che ha colpa per questa morte è quel ragazzino stesso. Non internet, non i petardi. Forse gli amici, ma non i genitori né dio solo sa che altro.
Solo lui è quello che ha preso i denari, procurato la bottiglia, procurato i petardi, procurato la benzina e via discorrendo. Solo lui ha avuto questa folle idea, ed è responsabile e causa del suo male. Indubbiamente non era una persona matura e in grado di usare il discernimento nel fare un'azione del genere, ma temo che questo non sia sufficiente per dire che si è fatto plagiare da un video su internet.
Apriamo gli occhi: se non fosse stato internet, sarebbe stato qualche musicista pop moderno, o qualche altro modello. Se volete dei modelli, ricordate che domani mattina un pedofilo potrebbe benissimo confessare di averlo fatto perché stuprato più volte dal sacerdote della sua parrocchia, e di averlo preso come modello.
Capite come sta funzionando il mondo? Bisogna prendere le cose con la dovuta quantità di pinze. Piangere merenda perché su internet ci sono filmati di pazzi che fanno cose del genere mi pare giusto, ma solo se lo scopo è quello di prendere questi pazzi e sbatterli in galera, non perché si vogliono togliere questi filmati dato che "occhio che non vede, cuore che non duole".

domenica 21 marzo 2010

Festival, ma non per cantare

Chi mi segue anche sulle "Pagine Oscure" avrà notato che, da qualche giorno, in capo ad ogni articolo è comparsa la voce "Ascolta", basata sul servizio di sintesi vocale messo a disposizione dal sito ReadSpeaker.
Ora, senza nulla voler togliere a una società commerciale che offre un servizio di sintesi vocale di certo migliore di quello che potremmo fare in piccolo e con software open source... ma io ho una risposta a questo servizio.
Prima parentesi: festival è il nome di un programma di sintesi vocale molto in voga nell'ambito Linux.
E io in questi giorni mi sono chiesto "ma non si potrebbe molto semplicemente implementare un motore basato su festival per avere la sintesi vocale sul proprio sito web?".
La risposta è molto semplice: "Sì, è possibilissimo!".
Ragioniamo. Ragioniamo secondo uno schema a blocchi.
Io ho un sito web, per esempio un blog, oppure il sito del ponte radio Pappagallo Mannaro. Quello che ho, in pratica è una pagina (o una serie di pagine, ma nello specifico voglio analizzare una singola pagina alla volta) che contiene una serie di cose: qualche elemento grafico di presentazione, un'intestazione, un fondo pagina e un contenuto di base (per esempio, nel caso di un Blog, un singolo articolo).
Per esempio se ho una singola pagina di cui voglio che una parte venga letta a voce alta, mi serve che un server si preoccupi di prendere quella pagina, tagliare le parti che non servono, dare il resto in pasto a festival e fornirmi in output il flusso multimediale che contiene la lettura in TTS.
Per tradurlo in una specie di diagramma:
  1. Prendere il documento HTML che mi interessa leggere;
  2. Identificare la parte di testo che voglio sia elaborata, e tagliare le parti non necessarie;
  3. Identificare la lingua del documento, o applicare la lingua di default (normalmente l'italiano);
  4. Dare in pasto il testo a Festival;
  5. Anziché lasciare che l'output di Festival vada alla scheda sonora del server, lo salvo da qualche parte e ce l'ho a disposizione;
Ora, naturalmente l'avvento di Flash ha permesso di inserire facilmente contenuti multimediali nelle pagine web (pensate solo a Youtube, per esempio!), e se quello che io voglio aggiungere è un bel fondo musicale, esistono decine di player multimediali per pagine web basati sulla tecnologia Flash. Tutto sta a capire che anziché un sottofondo musicale, io a una pagina voglio aggiungere materialmente la voce che ne legge il testo. Ma il risultato è lo stesso! Mi basta un semplice brano mp3 che contiene il testo del sito e voilà! Il gioco è fatto.

Che significa? Che devo creare decine di brani mp3 con tutte le registrazioni delle pagine del mio sito? Che devo rifare un sacco di lavoro ogni volta che cambio una virgola sul sito? Nooo!

La potenza di un server web sta nella sua capacità di gestire automazione (scripting) e flussi di dati (stream). Ecco che cosa mi serve!

Quello che presento è un progetto, realizzato al volo usando Festival (e in particolare lo script "text2wave", lame mp3 encoder (ma i puristi dello GNU possono usare qualunque altro encoder in grado di convertire dal wave PCM a mp3), qualche sacra riga di perl e, naturalmente, un buon mp3 player in flash, come l'eccellente MP3 Player di neolao, che permette di essere personalizzato all'estremo.
Siamo pronti? Cominciamo!
Anzitutto devo dire che non sono un gran programmatore in perl, anche se riesco a cavarmela abbastanza bene con questi script da due righe; comunque bando alle ciance e mettiamoci d'impegno.

Per prima cosa devo identificare in ogni pagina qual è la parte di testo che mi interessa leggere. Per esempio posso fare in modo di intervenire sul codice sorgente della pagina: dove comincia la parte che deve essere letta, ad esempio, pongo un commento in HTML del tipo <!-- INIZIO_TTS -->, e al termine di quella parte, pongo un commento del tipo <!-- FINE_TTS -->; pulito, nella pagina non si vede nulla, è tutto nel sorgente, esempio:
file: /pagina/da/leggere.html (prima versione)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it">
<head>
 <meta http-equiv="content-type"
  content="application/xhtml+xml; charset=utf-8" />
 <meta name="author" content="Grizzly aka Mirko Tuccitto" />
 <meta name="Description" content="Un esempio di text-to-speech" />
 <title>Esempio di text-to-speech via Festival</title>
</head>
<body>
 <div id="intestazione">
  <h1 id="titolo">Titolo della pagina</h1>
  <h2 id="sottotitolo">Questa parte non sar&agrave; letta</h2>
 </div>
 <hr class="separatoreNV" />

 <div id="contenuto">
  <p>Questo &egrave; un insieme di paragrafi che dovranno essere letti dal
   software di sintesi vocale.</p>
  <p>La vispa Teresa avea tra l'erbetta appena afferrato la pia
   farfalletta.</p>
  <p>La veloce volpe argentata con un balzo scavalc&ograve; l'astuto
   cane di spalle.</p>
  <p>Qualche Budda mangia spesso verza fritta,</p>
  <p>Questa &egrave; l'ultima frase che sar&agrave; letta dal sistema di
   sintesi vocale, perch&eacute; dopo questo DIV c'&egrave; il commento
   di fine tts.</p>
 </div>

 <div id="fondo pagina">
  <p>Fesserie in fondo al documento, non saranno lette</p>
 </div>
</body>
</html>
A questo punto comincio con il ragionamento: devo inserire da qualche parte l'oggetto "lettore mp3", e dargli in pasto, anziché un semplice brano mp3, un programma CGI che mi lanci uno stream di Festival. Metto dei parametri standard per creare un piccolo lettore con i pulsanti Play, Stop e controllo volume.
file: /pagina/da/leggere.html (seconda versione, aggiunte in grassetto)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it">
<head>
 <meta http-equiv="content-type"
  content="application/xhtml+xml; charset=utf-8" />
 <meta name="author" content="Grizzly aka Mirko Tuccitto" />
 <meta name="Description" content="Un esempio di text-to-speech" />
 <title>Esempio di text-to-speech via Festival</title>
</head>
<body>
 <div id="intestazione">
  <h1 id="titolo">Titolo della pagina</h1>
  <h2 id="sottotitolo">Questa parte non sar&agrave; letta</h2>
 </div>
 <hr class="separatoreNV" />
 <div id="letturaTTS">
  <object type="application/x-shockwave-flash" data="http://flash-mp3-player.net/medias/player_mp3_maxi.swf" width="75" height="25">
    <param name="movie" value="http://flash-mp3-player.net/medias/player_mp3_maxi.swf" />
    <param name="bgcolor" value="#ffffff" />
    <param name="FlashVars"
     value="mp3=http%3A//miosito.ext/cgi-bin/nph-mp3read.pl&amp;width=75&amp;height=25&amp;showstop=1&amp;showvolume=1&amp;buttonwidth=24&amp;volumewidth=28&amp;volumeheight=14" />
  </object>
 </div>
 <!-- INIZIO_TTS -->
 <div id="contenuto">
  <p>Questo &egrave; un insieme di paragrafi che dovranno essere letti dal
   software di sintesi vocale.</p>
  <p>La vispa Teresa avea tra l'erbetta appena afferrato la pia
   farfalletta.</p>
  <p>La veloce volpe argentata con un balzo scavalc&ograve; l'astuto
   cane di spalle.</p>
  <p>Qualche Budda mangia spesso verza fritta,</p>
  <p>Questa &egrave; l'ultima frase che sar&agrave; letta dal sistema di
   sintesi vocale, perch&eacute; dopo questo DIV c'&egrave; il commento
   di fine tts.</p>
 </div>
 <!-- FINE_TTS -->

 <div id="fondo pagina">
  <p>Fesserie in fondo al documento, non saranno lette</p>
 </div>
</body>
</html>
Vi prego peraltro di notare la parte scritta in rosso: http://miosito.ext/cgi-bin/nph-mp3read.pl è il nome del file CGI che si occupa di leggere il contenuto del sito (si può utilizzare in maniera tale che si colleghi alla pagina "referer" come testo di origine) e fornirne il resoconto in formato mp3 direttamente al lettore. Vi prego inoltre di notare che, dato che l'operazione può impiegare qualche istante di troppo, ho appositamente chiamato il programma che fa questa operazione con la sigla iniziale "nph-", che per Apache significa "manda subito lo stream senza aspettare che si concluda il contenuto".
A questo punto non resta altro che analizzare il file nph-mp3read.pl, che deve essere presente sul server web del quale non solo potete operare sulla cartella cgi-bin, ma anche deve disporre del permesso, per l'utente che esegue il server web, di lanciare Festival e lame. Il codice è sporco, lo ammetto, ma ci vuole poco per ripulirlo e sistemarlo un po':
File: nph-mp3read.pl (nella cgi-bin di un server che dispone di Festival; permessi: 750 o 755);
#!/usr/bin/perl -w
##################
# Esempio di conversione da documento html a stream mp3 della
#  sintesi vocale.
# Copyright (C) 2010 by Grizzly - Please refer to GNU/GPL

# Escamotage necessario
print "content-type: audio/mpeg3\r\n\r\n";


use LWP::UserAgent;
use HTML::FormatText;
use HTML::TreeBuilder;

# Eventualmente letta dal referer http
my $url = 'http://miosito.ext/pagina/da/leggere.html';
# Eventualmente confrontato con una whitelist di referer

# Crea un browser virtuale e lo usa per caricare il documento in
#  una variabile
my $ua = LWP::UserAgent->new();
my $doc = $ua->get($url);
$documento = $doc->content;
die "Impossibile aprire il file: $!" unless defined $documento;

# Toglie dal documento le righe vuote
$documento =~ s/\n//g;
$documento =~ s/\r//g;

# Prende solo quello che serve
$documento =~ s/^.*<!-- INIZIO_TTS -->//g;
$documento =~ s/<!-- FINE_TTS -->.*$//g;

# Costruisce un albero HTML per il parser di testo
$albero = HTML::TreeBuilder->new->parse($documento);
$formatter = HTML::FormatText->new(leftmargin => 0, rightmargin => 72);

# Formatta l'albero HTML del contenuto da leggere in testo semplice
$testo = $formatter->format($albero);

# Il doppio stream in entrata e uscita da un errore in stderr, ma
#  funziona. Tuttavia si potrebbe utilizzare qualche soluzione migliore

# Apre uno stream su cui scrivere il testo, per poi trasformarlo
#  in wav e quindi MP3
open MP3CONT, "| text2wave | lame -V2 - - |";

# Da il risultante MP3 in output
print MP3CONT $testo;
while (<MP3CONT>) {
  print;
}

# Finito. Senza bisogno di scrivere files sull'hard disk! (-:
Sono tantissime le modifiche che si possono pensare in questa situazione: ad esempio lo script può essere chiamato con un token quale parametro. In esecuzione aggiunge al nome del file del referrer una password segreta e ne calcola la firma MD5, se corrisponde al token lo stream richiesto è valido, altrimenti è qualcuno che cerca di sfruttare il nostro server.
E ancora: crea un token in base alla risorsa che deve tradurre, e cerca in una cartella di servizio se esiste un file .mp3 con il nome ${token_calcolato}.mp3 che dovrebbe contenere il text-to-speech generato in passato.
Se c'e', e il file mp3 ha una data di creazione superiore a quella di modifica del documento (ammesso che documento, script e files mp3 siano sullo stesso server) allora da direttamente il file mp3 senza fare altro, altrimenti prima di tutto salva lo stream come ${token_md5}.mp3 e poi lo da in stream (un passaggio molto cervellotico, ma che consiste nel creare una "cache" dei documenti in sintesi vocale senza dover far frullare il server ogni volta che qualcuno clicka su "leggimi 'stu documento a voce alta").
Il sistema si presta a una lunghissima serie di modifiche, per esempio con determinati parametri allo script si può chiedere la lingua o la voce da utilizzare. Inoltre con un po' di lavoro certosino si può istruire il parser html=>txt per pronunciare dopo ogni link la sua destinazione, per segnalare la presenza di link con un suono qualsiasi, o alla follia fargli interpretare per una pagina che dovrebbe leggere, se esiste il foglio di stile per il media @aural e cercare di ottenere la lettura il più possibile conforme a quel foglio di stile.
Le possibilità sono infinite, e questo è semplicemente il risultato di un paio d'ore di sperimentazione sul mio server aziendale in una domenica pomeriggio d'inizio primavera (-:

martedì 16 marzo 2010

Le tante eta'...

Il 31 ottobre 1994 cominciava un progetto. Il progetto era un BBS in tecnologia Fidonet, un progetto chiamato Undefined Illusion BBS ["undefined illusion" e' un bel modo di rigirare il concetto di qualcosa di impalpabile come il cyberspazio: la locuzione e' presa in prestito dalla canzone "Something about you" composta nel 1985 dai "Level 42" (inizio del secondo movimento: "drawn into the stream of undefined illusion/those diamonds dreams, they can't disguise the truth"), anche se in realta' l'idea mi venne in sogno la notte del mio 18mo compleanno].
Questo progetto ando' avanti come BBS, come banca dati, per un po' di tempo. Poi, nel 1999, visto che le cose si muovevano bene anche per fare un "salto di qualita'", decisi di portare a far diventare la tecnologia anche il mio lavoro, e quella che fu Undefined Illusion BBS, come la Fenice, mori' e risorse dalle sue stesse ceneri come azienda (ora cominciate a capire perche' nel logo della mia azienda c'e' quel numero "2" ?). Per tirare le somme, il 4 aprile 2000 comincio' (con la registrazione della mia partita IVA, sotto l'egida "72200 Fornitura di software e consulenza in materia di informatica") l'avventura della mia azienda.
Ora si avvicendano due date imporanti. La prima e' il 4 aprile 2010, che oltre ad essere il primo "giro di boa" della mia azienda e' anche (virtualmente) il giorno del pagamento dell'ultima rata del mutuo per lo studio. A dieci anni dall'inizio del progetto che adesso rappresenta il mio lavoro, si conclude anche un'epoca. L'informatica sta cambiando, Linux non e' piu' un sistema operativo relegato ad alcuni ambienti "per addetti ai lavori", ma sta diventando una valida alternativa ai sistemi operativi proprietari. Microsoft Windows si e' evoluto, cosi' come si e' evoluta l'informatica fino a giungere a punti impensabili dieci anni fa. Tutto si evolve: il cinema ormai fa pieno affidamento sull'informatica. Internet e' diventato il nostro punto di contatto con la realta', persino i Blog stanno cambiando. Anche io sto cambiando, e anche questo Blog vorrei che cambiasse, nel tempo. Mi avvicino sempre di piu' al traguardo degli ottocento articoli pubblicati, mi avvicino al sesto anno di racconti di viaggio [e di viaggi! (-: ], e vedo come il rapporto con la tecnologia e le persone sta evolvendosi, anche se alcune cose le vedo sempre uguali nel tempo.
Dieci anni sono tanti, soprattutto telematicamente parlando. Nel 1995 comprai il mio primo telefonino cellulare (un Bosch Cartel-MX), poi l'anno dopo il mio primo GSM, e divenni da subito cliente di Omnitel Pronto Italia perche' gia' allora sostenevo "odeo telecom et dona ferentes". Il mio 8700 International non ha niente da invidiare all'attuale Nokia E90, se parliamo di dimensioni, peso e solidita' complessiva, sebbene con l'8700 potessi solo telefonare o inviare SMS (ah, lo sapete che nel 1997, facendo l'abbonamento OPI, fui il primo omnitel siracusano in grado di mandare messaggini? All'epoca le "Libero ricaricabile" pubblicizzate da Jerry Scotti che cercava di riempire una improbabile schedona sim con una pompa di benzina verde non erano abilitate al servizio. Cambiano le cose... ah, anche fra i primi col numero riservato totale al cellulare, sono stato), con l'e90 sono praticamente in grado di svolgere funzioni a dir poco impensabili: posso pubblicare articoli su questo blog, tenermi in contatto via rete mobile e skype, connettermi alla mia VPN aziendale, girare filmati praticamente in qualsiasi angolo della strada, registrare le telefonate vocali, inviare e-mail, lavorare su documenti aziendali... Tredici anni fa, quel caldo 24 aprile 1997, mentre compilavo la documentazione per la stipula del contratto di abbonamento in Ortigia, un po' me l'immaginavo che la telefonia mobile sarebbe diventata un'estensione utile (no, non necessaria, non spariamole grosse, per favore!) della nostra vita.
Il tempo passa, la tecnologia si evolve, e mi chiedo sinceramente quali sorprese ci prospetteranno questi prossimi dieci anni. Ma anche se me lo chiedo, so comunque di essere pronto ad affrontare le prossime sfide! (-:

domenica 14 marzo 2010

Il ponte radio ha un sito...

Dopo qualche tempo di lavoro duro, e nonostante ancora un po' di lavoro sia rimasto da fare, annuncio a tutti gli abitanti nel circondario di Siracusa e in possesso di una radio PMR446, che finalmente il ponte radio "Pappagallo Mannaro" ha un sito interamente dedicato:
Sul sito ci sono informazioni sul ponte radio, notizie su come raggiungerlo, come utilizzarlo, a cosa serve e via discorrendo.
Inutile che dica come, dopo tanto tempo, faccia piacere riscoprire il piacere dell'uso delle radio, dato che e' un bel pezzo che ho ripreso con questo ambiente. (-:

mercoledì 10 marzo 2010

Mi devo decidere

Questa impaginazione del sito web mi costo' un pochino di lavoro.
Bene, ora devo decidermi a sistemarla e aggiornarla, per passare dal modello al nuovo template messo a disposizione da Blogger, che mi permette una serie di funzioni aggiuntive molto interessanti (fra cui la possibilita' di avere dieci pagine statiche...).

Mi serve una mano di aiuto... qualcuno a disposizione? (-:

La malattia di RF e' contaggiosa

Il mio collega RF, ossia quello con una collezione di telefoni cellulari di cui parlai un po' di tempo fa, sembra che mi stia contagiando con la sua maledizione della distesa di cellulari (ora viaggia sulla decina o quasi: ho perso il conto dei suoi numeri che ho in rubrica, credo sette o otto, e non li ho tutti)...
... sapete perche' dico questo? Perche allo stato attuale io vado in giro con:
  • Nokia E61, con la scheda Family Abbonamento di Vodafone;
  • Nokia 6680, con la scheda del numero di lavoro (il 393-170-2385 che e' pubblicato anche qui sul Blog;
  • Nokia 1208, con la scheda reperibile di servizio per la protezione civile;
Oltre a questi, fra novembre 2009 e oggi mi sono trovato anche fra le mani:
  • Modem USB Huawei e172, associato a una scheda WIND/AMobile con la Easy Internet, per navigare quando mi serve a 0,50€/ora (sessioni da 0,125€/15min);
  • LG U-8330 (di centesima mano e preso a una decina di euro), e usato per installare una uSIM "Tre Power 10" con la quale io, RF e altri colleghi ci sentiamo con 30 minuti e 30 sms gratis al giorno;
Ma dato che girare con solo quattro cellulari era troppo poco, ecco che interviene la malattia di RF che, come si dice a Siracusa, "ie' malatia c'ammisca": mi sono preso uno scIPhone i68 dual sim e, la settimana scorsa, spinto dall'idea di avere sottomano una TIMx2, una nuova sim TIM che dopo qualche esperimento sullo scIPhone... ha subito trovato posto nel mio ultimo acquisto.
Infatti la settimana scorsa ho trovato, dopo anni di ricerca matta & disperata, un favoloso Nokia E90 Communicator, con doppio display, tastiera qwerty, bluetooth, infrarosso, wi-fi e tante belle cosine interessanti.
Rispetto ai due miei precedenti, questo ha ereditato dall'E61 alcune funzioni, quali wi-fi, irda [e cominciano a essere rari i telefoni che dispongono della porta infrarossi (ah, c'e' qualcosa nella porta infrarossi quando si trasferisce qualcosa "da nokia a nokia", perche' ho fatto dei trasferimenti di suonerie o immagini via infrarosso dall'e61 a una velocita' paragonabile se non addirittura superiore al bluetooth in molti casi!)], tastiera, ampio display e chassis in metallo. Ma e' anche un telefono che si apre a libro (doppia modalita' operativa: telefono classico o micro-notebook) e ha la funzione vivavoce proprio attivata dall'apertura del flip.
Di negativo c'e' il peso (che fra scocca in metallo e batteria corposa si fa sentire palesemente in tasca), di positivo che ha il gps integrato e, devo dirlo con piacere, un'ottima foto/videocamera (il filmato della gru e della tenda l'ho fatto proprio con lui).
Gia' passata la configurazione dell'email per il blog, gia' passati i profili wi-fi e di telefonia-IP che uso in ufficio e dai clienti, gia' installato Opera Mini, Acrobat Reader... che posso dire? Che continuo a rimanere affezionato agli smartphone ampiamente lontani dal modello simil-iPhone, fatti piu' per essere plasticosi gingilli tecnologici con tanto marketing intorno, piuttosto che strumenti effettivamente funzionali nell'uso semi-professionale.
(No, piantatela con l'e-mail sull'iPhone: il push ce l'avevo sul Blackberry una decina d'anni fa, altro che innovazione!)

Groviglio elettorale

In nessuno stato civile chi non rispetta le regole si arroga di cambiarle per poi piangere merenda dicendo che e' colpa dell'opposizione.
In nessuno stato civile una persona inetta e quantomai imbranata che presenta documenti in ritardo viene lasciata al proprio posto dopo aver fatto cotanta distesa di danni.

In nessuno stato civile. Evidentemente l'Italia NON E' uno stato civile.

lunedì 8 marzo 2010

La festa della... pioggia?

Le rane fanno festa quando piove, e lo stagno si rinvigorisce.
Lo sanno bene i Fiaba, che ci hanno narrato di questa festa segreta nello stagno notturno battuto dal prodotto di Giove Pluvio.
La pioggia. In una regione dove il problema piu' annoso (e dannoso) e' quello della siccita' dovrebbe essere qualcosa di benvenuto e benvoluto. Dovrebbe, perche' invece il risultato e' ben diverso: alluvioni e danni da vento e acqua in una terra troppo riarsa si fanno vedere spesso, e non e' un caso se attualmente nell'area del messinese, gia' flagellata dalle frane, la terra non abbia smesso di scivolare a valle.

E ora voglio parlare di come l'acqua possa diventare motivo di onta e disonore anche per chi invece dovrebbe rappresentare una luce di speranza per le popolazioni colpite da catastrofici eventi. Un po' sono ironico, ci voglio ridere su, perche' coinvolti sono dei volontari, come me. Con una differenza: io nel volontariato non ci ho messo solo le braccia, ci ho messo anche il cervello; eppure succede anche questo.

Giovedi' 4 marzo. Un collega (AL) mi chiede se gli posso prestare le mie due ricetrasmittenti fissate sul ponte radio (le abbiamo usate in qualche altra occasione con ottimi risultati) perche' fra sabato 6 e domenica 7 marzo e' prevista un'esercitazione di protezione civile presso il Ponte Umbertino e una tratta dell'area di Ortigia.
Metto le radio sotto carica e gli lascio un appuntamento nel pomeriggio per venirle a prendere, e quando AL passa in ufficio, mentre gli do le radio parliamo cinque minuti di questa esercitazione. "Solite cose, attivita' notturna, dimostrazioni pubbliche, montaggio tende..."
Interessante. No, seriamente: una vetrina per far vedere alla gente che la protezione civile non e' una cosa astratta che si materializza dal nulla quando c'e' un'emergenza. Mi puo' fare solo piacere. Ma. C'e' un "ma"...
E' prevista pioggia tutta la giornata di sabato, domenica e lunedi'. Anzi, come si dice nell'ambiente, "c'e' profumo di allerta meteo". E AL infatti mi sintetizza: "Dobbiamo prestargli una decina di tende. Non ci sono problemi, ma se dovesse piovere poi l'associazione coinvolta mi procura mille volontari armati di asciugacapelli, dato che NON HO IDEA di dove appendere dieci tende" (e mica sono canadesi: parliamo di tende ministeriali mediamente quattro metri per sei).
Passa il sabato, e io sono impegnato col lavoro. Passa anche la domenica, e nel tardo pomeriggio mi sento via facebook con AL.
Io: "Allora, com'e' finita? Avete saltato l'esercitazione per il maltempo?"
AL: "Ehm... no. Hanno fatto il campo. Dovevano essere smontate le tende ma a causa del maltempo sono ancora la..."
Io: "... (trenta secondi di silenzio) Sono ancora la? Fuori c'e' una tempesta tropicale di acqua e vento! Ma come???"
AL: "Lo so... l'associazione ha organizzato dei turni di sorveglianza nelle 24 ore, finche' non si riesce a smontare tutto l'ambaradan"
In serata mi sento con la squadra di guardia, lascio il mio numero di cellulare reperibile e, visto che la situazione meteo SEMBREREBBE calmarsi (anche se nei dintorni di mezzanotte c'e' stata l'ennesima burrascata di acqua e vento) mi tranquillizzo anche io.
E arriviamo a domenica mattina. Ore 5:45 circa.
Esco dalla doccia ed entro in camera da letto, ma giusto il tempo di chiudere la porta e il telefonino di servizio mi comincia a suonare. "Yuhu... chissa' perche' me l'aspettavo... MA PORC! CA$! MALED! CHRISTALL! PORCA DI QUELLA PUPAZZA! PRONTOOOO?"
Coll: "Ehm, Grizzly e' meglio se scendi che qua e' succes..."
Io: "Si, si... tranquillo. Mi vesto e faccio strada, ci vediamo fra un po'... C'e' qualcun altro o siamo soli?"
Co: "Ehm... no, siamo soli, almeno fino alle sette quando viene l'altra squadra a darci il cambio..."
Io: "Ok, avvicino, GUARDO, e poi me ne vado, che da soli possiamo solo cantare sotto la pioggia, a dopo!"
Scendo, arrivo verso le 6:40, la situazione e' semplice. Di dieci tende, otto hanno incassato qualche problema a causa del vento e dell'acqua e sono fradice, ma ancora al loro posto. Una si e' mollata e scagliata contro le panchine accanto al ponte, ed e' mezza abbattuta a terra. Un'altra, invece, si e' mollata del tutto ed e' precipitata in acqua: riusciamo solo a intravedere alcuni paletti e una parte del telo esterno fra i flutti limacciosi.
Aspettiamo che arrivi la squadra a dare il cambio, e prima di accommiatarci invito a smontare al volo quello che resta della tenda sulle panchine.
Io: "Perche' cosi', con la porta aperta, sta facendo da vela e insacca il vento. Se si alza di nuovo e finisce in acqua, e' un problema ma come si dice piangiamo con un occhio. Ma se DIO NON VOGLIA la botta di vento la solleva e la sbatte al centro di Corso Umberto (a SOLI DUE METRI alla sua destra)... non fatemelo manco pensare!"
La smontiamo e la abbattiamo in terra, poi saluto e annuncio che vado a lavorare.
Nel corso della mattinata arrivano da varie fonti varie notizie sullo smontaggio del campo, AL mi chiede di scendere verso le 14-14:30 perche' dovrebbero venire a smontare il resto del campo e recuperare la tenda a mollo. E infatti intorno alle 14:40 arriva un camion-Gru dell'associazione che riesce a estrapolare la tenda, parecchio danneggiata, dai flutti.
Nel frattempo altri volontari si prodigano a smontare il resto delle tende, poi verso le 15:30 di nuovo annuncio a tutti che stacco per andare da un paio di clienti. Il resto in serata, quando avvicino alla sede e seguo il de-briefing, e poi tornando a casa mi sento con il collega MR e discutiamo cinque minuti di questa storia.

Che bella serata ragazzi... E nel frattempo ho saputo che diverse altre squadre sono state chiamate per emergenza... speriamo che smetta di piovere...

[AGGIORNAMENTO: Filmato con i momenti salienti dell'estrazione della tenda dall'acqua]






martedì 2 marzo 2010

Il mondo continua a peggiorare

In questi giorni i fatti di cronaca mi hanno lasciato non solo l'amaro in bocca, ma anche il bisogno di prendere una pausa e fare un respiro profondo.
Il mondo lentamente sta dimenticando Haiti, sebbene solo lentamente nei dintorni di Port-Au-Prince le cose stiano migliorando.
Ma d'altronde il mondo non ha dimenticato un sisma e le sue migliaia di vittime perche' voleva seguire il campionato di calcio... un'altra scossa tellurica, molto pesante (si parla di oltre l'ottavo punto di magnitudo Richter), nonche' sottomarina e quindi anche fautrice di uno tsunami particolarmente dannoso che si e' abbattuto sulle coste occidentali degli USA ed e' arrivato a lambire persino le Hawaii.
Il mondo va a rotoli. Mentre da una parte stiamo li' a guardare cosa succede intorno a noi, non e' che in casa nostra ce la passiamo meglio: liste elettorali presentate con palese ritardo e ritardatari che si riempiono la bocca per dire che e' un complotto e pretendere la difesa a spada tratta della democrazia ("democrazia", "democrazia"... questa parola non mi e' nuova. Mi pare che Adriano Celentano qualche anno fa diede uno sguardo al dizionario d'italiano per scoprire che significa "potere nelle mani del popolo"... peccato che il popolo italiano le maniche non se le sa tirare mai su...); ma... cosi', tanto per curiosita', il rispetto delle regole non dovrebbe essere il fondamento di una cultura democratica? O di nuovo e per sempre siamo tutti bravi con cu$o degli altri?

Concludo con una considerazione. Nel 2009 Benedetto XVI ha fatto un viaggio pastorale a L'Aquila, visitando alcuni dei luoghi simbolo del terremoto [fra cui le macerie della "casa dello studente" (e tralasciamo il fatto che in quell'occasione non fu consentito a una studentessa di culto protestante di poter porre domande al pontefice, sebbene proprio lo stesso pontefice esprima sempre piu' spesso solidarieta' ai morti indifferentemente dal credo religioso, in un lodevole gesto di grande commiserazione e rispetto, ma che chissa' perche' va sempre a sbattere contro gesti di ipocrisia spicciola)]; ora il sei marzo di quest'anno la protezione civile ha ottenuto un'udienza speciale in San Pietro a Roma, a cui sono stati invitati moltissimi volontari da tutta Italia.
Interessante, anzicheno', come direbbe il dylandoghiano Lord Wells.
Mi era stata prospettata questa ipotesi, e da una persona che per prima mi disse "questo non lo sento come 'il mio Papa', ma...", eppure la mia risposta e' stata semplice: "Ti ringrazio per aver pensato a me. Ma vedi, io sono coerente nelle mie posizioni, ed io questo bisogno di fare buon viso a cattivo gioco, e dipingermi una faccia di bravo cristiano che non ho, non me la sento proprio. Io ho delle posizioni ben precise e rigorose nei confronti del cattolicesimo attuale, e le mie posizioni non cambiano. Pertanto, anche se hai pensato a me, sono io per primo a dirti /lascia che il mio posto venga preso da qualcun altro, da qualcuno che sia cristiano e ben felice di questo viaggio, o da qualcuno che sia piu' disposto ad assumere questa faccia innanzi a quello che viene definito un Pontefice difficile. Questo non e' per me./"
La mia posizione e' limpida: non ritengo Joseph Ratzinger una persona dotata di carisma, e lo ritengo a buona ragione l'autore degli ultimi discorsi (a tratti deliranti, uno fra tutti: "l'omosessualita' e' paragonabile alla Shoah") negli ultimi due-tre anni intrisi di Wojtyla, intrisi da malattia e dichiarazioni un po' troppo deliranti per un uomo che oltre ad essere leader religioso e' stato anche un giovane polacco che frequentava ebrei durante la seconda guerra mondiale.
E pertanto non ho nessun insegnamento da ricevere, nessuna lezione che meriti di essere ascoltata da chi negli ultimi anni ha fatto tesoro delle parole "predicare bene e razzolare male" che tanta ipocrisia celata da falso rispetto si portano dietro.
Il mondo forse un giorno cambiera', ma cambiera' quando i figli, e i figli dei nostri figli, avranno ben in mente il concetto di rispetto reciproco e di moralita' non come vacuo contenuto idealista di qualche movimento religioso piu' o meno folkloristico.