Volendo aggiungere un secondo estrusore alla RAMPS, bisogna sacrificare il mosfet di uscita della ventola per il nuovo heater.
Ci viene in aiuto l’estrema modularità della RAMPS (l’adoro…) con la possibilità di aggiungere moduli di estensione.
Ho optato per il FAN-extender che vedete nell’immagine.
Di documentazione non ce n’è molta, ma lo schema è piuttosto semplice.
La schedina è basta su un doppio power MOSFET a canale N (IRF8313).
Collegandolo al connettore SERVOS della ramps, prende il segnale in PWM dalle porte 6 e 11.
È necessario fornire anche la tensione di 12V che, come potete vedere dalla foto sopra, ho preso dal connettore AUX.
Basta una piccola modifica in Marlin nel pins_RAMPS.h .
Nella sezione EEB (configurazione dual extruder) inserire le definizioni per FAN_PIN e FAN1_PIN riferite alle porte di cui sopraContinue reading »
Nell’articolo precedente abbiamo visto il modo d organizzare i filesystem delle VM come volumi LVM.
Ora vedremo come questo renda possibile effettuare backup a caldo delle VM in esecuzione.
Per effettuare un backup sarà sufficiente:
effettuare uno snapshot del volume
convertire lo snapshot in un immagine compressa
rimuovere lo snapshot
Ecco un semplicissimo script nel quale a dire il vero non sono implementati controlli sui parametri passati, ma che ha l’indubbio vantaggio di funzionare perfettamente:Continue reading »
Nel nostro paese l’archiviazione elettronica dei documenti è poco praticata.
Quando si cerca di introdurre un sistema documentale spesso ci si scontra, a tutti i livelli, con resistenze di vario genere.
Nella mia esperienza, una volta risolti i problemi a livello di direzione (essenzialmente legati ai costi ed ai benefici non immediati :-)) si arriva alla fase più critica: convincere gli operatori dell’utilità della soluzione proposta.
Tentare di imporre certe scelte è quasi sempre deleterio, meglio convincere. Ma sono necessari argomenti veramente validi!
La barriera principale è solitamente legata al lavoro extra necessario per l’acquisizione ottica del documento e la corretta catalogazione nel documentale. In mancanza di benefici Continue reading »
Nelle installazioni server lo evito come la peste perché, a fronte di qualche indubbio vantaggio, vi è il rischio concreto di dover profondere un impegno aggiuntivo nel recupero dei dati nelle situazioni di disaster-recovery.
Per questo motivo solitamente opto per una normalissima partizione EXT4 con il mountpoint di root :-).
Ma addentrandomi nel mondo di KVM-qemu come già visto nel mio precedente articolo, mi sono reso conto della grande utilità di gestire le immagini delle macchine virtuali come volumi logici.
Problemino….la relazione di trust tra questa workstation e il dominio primario non è riuscita!!!!
A molti sarà capitato di vedere questo messaggio tentando di accedere al PC con un account di dominio.
In questa situazione il metodo più veloce per risolvere il problema è rifare il join del computer.
Non è neppure necessario cancellare dalle active directory il PC prima di rifare il join con lo stesso nome.
L’unico problema è che per questa operazione è necessario PRIMA effettuare il login nel computer con un account con privilegi di amministratore.
Non potendo accedere al dominio è necessario utilizzare un account locale.
Se vi ricordate la password di un account locale con privilegi elevati il problema si risolve in pochi minuti, ma nelle realtà in cui si usano solo ed esclusivamente account di dominio spesso questa informazione viene persa 10 minuti dopo la configurazione iniziale del sistema.
A questo punto potete seguire due strade:
1)Reinstallazione del sistema
2)Recupero della password di un account di amministratore locale con strumenti “alternativi”
La mia preferenza ovviamente va alla seconda opzione.
Ci sono vari strumenti utilizzabili. Escluderei i “password cracker” (come l’ottimo ophcrack) che, soprattutto se i vostri sistemisti hanno una certa fantasia, sono del tutto inefficaci.
In fondo a noi non serve recuperare la password, ma è sufficiente in un modo o nell’altro, riuscire ad accedere al PC. Quindi un reset dell’account è più che sufficiente.
Si tratta di un sistema linux minimale avviabile da USB o da CD che consta solo in una serie di script a menù orientati alla risoluzione di queste problematiche.
All’avvio è sufficiente indicare la partizione di sistema e il percorso del file di registro.
Io ho testato le funzioni per il blanking della password e la riattivazione di un utente disattivato (l’account “Administrator” spesso è bloccato).
Entrambe le operazioni sono state eseguite velocemente consentendomi, dopo il riavvio, l’accesso al sistema ed il nuovo join nelle active directory.
Una riflessione finale sulla sicurezza è d’obbligo.
Se ce ne fosse bisogno quanto spiegato sopra è un’ulteriore riprova del fatto che la sicurezza del PC è sempre efficace nella misura in cui i malintenzionati non dispongano fisicamente di un accesso alla macchina.
Questo a meno che non si utilizzi un filesystem crittato nel qual caso le cose diventano un po’ più complicate sia per un malintenzionato che per un utente onesto che ha dimenticato la password 🙂
Come riportato da numerose fonti la RAI starebbe inviando bollettini alle aziende sollecitando pagamenti di importi dai 200 ai 6000 euro dovuti come canone televisivo annuale.
Sembrerebbe infatti che da un’interpretazione di un Regio decreto del 1938 le aziende (ma anche i liberi professionisti ed i lavoratori autonomi) sarebbero tenute al pagamento del canone qualora in possesso di apparecchiature in grado di trasmettere o ricevere contenuti radiotelevisivi.
In tali apparecchiature sono compresi ipad, PC e videofonini in genere in quanto, anche se destinate ad uso diverso, sono effettivamente in grado di trasmettere e ricevere contenuti multimediali.
Le associazioni di categoria invitano a non pagare il bollettino fino a quando la situazione non sarà chiarita.
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
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:
trovare un sistema di sintesi vocale in Italiano.
trovare un metodo per “servire” i file audio sintetizzati, possibilmente utilizzando una quantità di banda molto limitata.
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!
Visto che qualche burocrate mi obbliga a farlo, ti avverto che questo sito raccoglie dati statistici sulla navigazione mediante cookie installati da questo sito e da terze parti autorizzate rispettando la privacy dei tuoi dati personali e secondo le norme previste dalla legge. Cliccando sul seguente pulsante, continuando a navigare su questo sito, cliccando sui link al suo interno o semplicemente sfogliando la pagina verso il basso, accetti il servizio e gli stessi cookie.
OK! riempimi pure di cookie!