Fabrizio Vettore

Dic 212010
 

..in anticipo di un anno sui maya, internet come la conosciamo  potrebbe collassare a causa dell’annunciata fine degli indirizzi IP disponibili.

Come si può vedere in vari countdown (p. es http://ipv6.he.net/statistics/) mancherebbero meno di due mesi al nefasto evento.

Sarà vero?

In realtà lavoro con internet da 15 anni e già ai tempi annunciavano la fine dello spazio di indirizzamento entro i successivi 5 anni.

Lo stesso contatore di HE circa 2 anni fa ne annunciava l’esaurimento entro 300 giorni….

Questo fa pensare che il tempo mancante  sia una specie di funzione asintotica!

Scherzi a parte, gli indirizzi stanno effettivamente finendo anche se probabilmente ci vorranno più di 2 mesi.

Cosa cambia?

Inizialmente nulla.

Tutti i provider ne hanno una scorta più che abbondante, ma diventerà più difficile per nuovi operatori farsi assegnare delle sottoreti nuove.

E col mondo IPV6?

Il nuovo standard dovrebbe garantire uno spazio di indirizzamento talmente vasto da poter fornire un indirizzo IP ad ogni atomo presente nell’universo  e quindi risolvere definitivamente il problema.

Peccato che ancora quasi nessuno lo usi.

Non più tardi di un anno fa ho litigato nientepopodimeno che con la nostra registration authority perchè il check automatico del nameserver necessario alla registrazione di un dominio nel TLD .IT falliva a causa del fatto che uno dei miei DNS era configurato anche per gestire domini V6.

I provider che offrono connettivita IPV6 nativa sono ancora pochissimi.

Molti dei prodotti software più diffusi non supportano appieno gli indirizzi “lunghi” (si anche Thunderbird ha problemi, anche se con i nomi funziona…).

Quelli che come me vogliono iniziare a sperimentare la “nuova” tecnologia sono obbligati ad usare un tunnelbroker o altre diavolerie simili.

Insomma, sembra che il nuovo standard si stia avviando molto lentamente.

Forse gli annunci mediatici che seguiranno l’esaurimento del mondo V4 daranno la scossa necessaria per avviare (con calma…non c’è una reale fretta!) la transizione?

Io ho fatto un bel po’ di sperimentazione ed effettivamente il V6 funziona ed offre notevoli vantaggi.

Per chi non lo avesse già fatto e volesse approfondire e mettere alla prova le sue conoscenze tecniche sull’argomento, consiglio la certificazione IPV6 online di Hurricane Electric ( http://ipv6.he.net/certification/).

Copre vari step dal più semplice (strumenti come ping6) al più complicato (configurazione DNS glue per domini V6) in maniera ordinata e completa.

Se riuscitrete ad ottenere la certificazione di livello “sage” sarete sicuramente in grado di configurare i vostri spazi di nomi e le vostre reti  per gestire anche IPV6.

Per il momento non serve quasi a nulla, ma prima o poi…..

Dic 112008
 

Ecco una semplice implementazione di un fileserver da inserire in un dominio AD attivo. 

Effettivamente l’amministrazione di SAMBA è un argomento estremamente complesso.
La complessità cresce se invece di un semplice server per workgroup si ha la necessità di inserire il server in un dominio AD.
Purtoppo la documentazione disponibile in rete è molto frammentata.
Analizzando un buon numero di esempi e sperimentando varie soluzioni ho creato questa configurazione. Nei commenti iniziali sono inserite un certo numero di istruzioni aggiuntive utili per l’amministrazione.
La distro di riferimento è CENTOS, ma dovrebbe funzionare anche su altre.

#   FILESERVER SAMBA membro del dominio XXXXX.LOC
#
#
# Distro CENTOS 5.2 pacchetti di default  e samba*
# Gli share sono in base agli utenti del dominio (non locali)
#
# Azioni preliminari:
#
#
# Aggiungere la macchina al dominio:
# net join -U Administrator
# (l’utente deve essere amministratore di dominio)
#
# verificare /etc/nsswitch.conf:
#       passwd:     files winbind
#       shadow:     files winbind
#       group:      files winbind
#
# verificare i gruppi e gli utenti:
# wbinfo -u
# wbinfo -g
#
# l’utente ed il gruppo dovrebbero essere separati dal dominio dal segno +
# grazie ai settaggi sottostanti (meglio evitare lo standard “backslash” che
# viene interpretato come escape)
#
# server01 è il controller di dominio (W2003 server)
#

[global]
workgroup = XXXXX
realm = XXXXX
server string = Fabrizio Vettore (linux)
security = ADS
password server = server01
passdb backend = tdbsam
acl compatibility = winnt
server signing = auto
printcap name = /etc/printcap
preferred master = No
domain master = No
ldap ssl = no
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /bin/bash
winbind separator = +
winbind enum users = Yes
winbind enum groups = Yes
winbind offline logon = Yes
cups options = raw

[share per dominio XXXXX]
comment = accesso consentito agli utenti di dominio
path = /var/share
;       valid users = XXXXX+fvettore
;       write list = XXXXX+fvettore
valid users = “@XXXXX+domain users”
;       write list = “@XXXXX+domain users”
read only = No
browseable = Yes
case sensitive = No

[share per ufficio INF]
comment = accesso riservato a sistemi informativi
path = /var/share1
;       valid users = XXXXX+fvettore
;       write list = XXXXX+fvettore
valid users = “@XXXXX+uff inf”
;       write list = “@XXXXX+uff inf”
read only = No
browseable = Yes
case sensitive = No

Ott 012008
 

Come implementare un sistema di sintesi vocale per dare una voce al vostro sito. 

In un progetto che ho affrontato di recente, mi si richiedeva di creare un personaggio animato parlante in lingua italiana.
Questo portava ovviamente a dover risolvere una serie di problematiche:

  1. trovare un sistema di sintesi vocale in Italiano.
  2. trovare un metodo per “servire” i file audio sintetizzati, possibilmente utilizzando una quantità di banda molto limitata.
  3. Integrare i sottosistemi.

1) La sintesi vocale

Partendo da una piattaforma LINUX la scelta di sistemi TTS (true time speech) è abbastanza ampia.
Purtroppo tale scelta si riduce notevolmente ricercando TTS che supportino in maniera decente la lingua italiana.
Dopo alcune ricerche sono approdato su un progetto italiano del CNR il cui scopo era fornire voci italiane al popolare “festival”.
Il sito è il seguente : http://www2.pd.istc.cnr.it/TTS/It-FESTIVAL.htm
Purtroppo tale progetto non sembra più mantenuto, ma dopo numerose vicissitudini (la piattaforma di riferimento originale era windows) sono riuscito ad installare quanto proposto e dare una voce italiana a festival.
La qualità non e la stessa dei prodotti commerciali (cfr loquendo), ma è più che sufficiente a rendere intelligibile il testo sintetizzato.
Purtroppo il modulo MBROLA non è free, ma può essere utilizzato per usi non commerciali.

2) La parte WEB

Come si possono servire i file audio in una pagina HTML in maniera più “cross browser” possibile ed utilizzando poca banda?
Dopo vari deludenti tentativi atti a conglobare l’oggetto audio nel codice html, mi sono imbattuto nel progetto open source SoundManager.
Tale progetto fornisce un’iterfaccia Javascript che consente di eseguire file audio attraverso un piccolo file Flash.
La libreria fornita è molto completa e permette di utilizzare metodi asincroni. In tal modo è persino possibile creare eventi legati temporalmente all’esecuzione del file audio.
Questo mi è stato utile per creare l’animazione del viso del personaggio sincronizzata con le parole pronunciate.
SoundManager è compatibile con il formato mp3 e questo permette il raggiungimento dell’ultimo requisito richiesto cioè la riduzione della banda utilizzata.

3) L’integrazione

Sorge ora il problema di come integrare i due sottosistemi.
Per cominciare Festival fornisce un singolo file audio in formato .wav per ogni singola frase pronunciata.
Assumendo che le frasi da dire vengano inserite in un form web e passate con metodo POST, con un semplice script è possibile raccogliere il testo e passarlo a Festival per la sintesi.
Il risultato è una serie di file .wav numerati con numerazione crescente.
Pensando ad un ambiente “trafficato” con più utenti collegati al servizio ho deciso di creare dinamicamente delle cartelle nel cui nome era presente l’identificativo della sessione per evitare che un personaggio andasse a pronunciare le frasi postate da un altro utente.
A questo punto è necessario convertire tutti i file in mp3.
In LINUX questo risultato può essere ottenuto con varie utiliti tra cui LAME.
Dopo la conversione non resta che passare il tutto alla pagina HTML ed al SoundManager.

Riassumendo i passaggi sono i seguenti:
________     ________     ________     _________________
|Form Web|–>|Festival|–>|Lame mp3|–>|SoundManager Web |
———-   ———-   ———    ——————

Per vedere (ed ascoltare) il sistema funzionante potete provare l’esempio nell’apposita sezione.

Nella realtà il progetto comprendeva anche l’interfacciametno con un sistema di intelligenza artificiale per far si che il personaggio virtuale desse risposte “intelligenti”, ma questa è un’altra storia e… con ogni probabilità un altro articolo!