Académique Documents
Professionnel Documents
Culture Documents
Il nuovo Googlefonino
GaLaXy NeXUs
Pro
iL cOmPUteR * Da 33 eURO!
Una Linux box piccola come una carta di credito Raspberry Pi porter GNU/Linux ovunque Perfetto da usare come media center
di progragine ammazion e
14 P
*IVA inclusa
Dimensioni
13 consigli per velocizzare il funzionamento del Pinguino Mai pi documenti dispersi grazie a Testdisk e Photorec
Pc Da cORsa
reali
i RecUPeRa FiLe
avviO aL micROscOPiO
Por te USB
HDMI
Connessione
ethernet
teLecONtROLLO
vita Da DJ
JOOmLa! 2.5
Scopri augeas che ti consente di configurare GNU/Linux senza usare il solito editor di testo
DIGITAL CAMERA
LEGGILO ANCHE SU
www.facebook.com/digitalcameraitaly
Editoriale
LINUX
PRO PRO
CONTATTI
Domande alla redazione: linuxpro@sprea.it Abbonamenti: abbonamenti@linuxpro.it Arretrati: arretrati@linuxpro.it Problemi con il DVD: aiutocd@sprea.it Sito Web: www.linuxpro.it Oppure inviate le vostre lettere a: Linux Pro, Sprea Editori S.p.A., Via Torino 51, 20063 Cernusco S/N Telefono: 02.92432.1
LINUX PRO 116
Sommario
Sommario
LINUX PRO 116
LINUX
PRO
Benvenuti nel centosedicesimo numero di Linux Pro, la vostra guida definitiva a Linux e al mondo Open Source
In primo piano
Piccolo ed economico
este piccola - queste sono le sue dimensioni realii al La tua scheda Avreste mai SD va di 10 pensatoqui poter usare un computer Alimentazione completo dalle mini USB a 5V V dimensioni di una fcarta come quella dei telefoninii onin di credito? Raspberry Pi proprio cos e costa poco pi di 30 euro. Ve ne sveliamo i segreti Sy System On Chip (SOC): (SO processore, RAM, scheda graca RAM Porte USB P Connessione Co Ethernet E Uscita video HDMI
08 UEFI
2
LINUX PRO 116
22 Bisogno di velocit...
Sommario
04 Newsdesk
Le novit del mondo Open Source
06 Mailserver
Linea diretta con la redazione
08 FAQ: UEFI
La nuova interfaccia per lavvio dei PC
56 Joomla!
Al via una nuova serie su questo potente CMS. Si parte con le novit della versione 2.5
IL DVD IN BREVE
LATO A DESKTOP Marlin Mixxx 1. 0.0 1 uShare 1. a 1 DISTRIBUZIONI Clonezilla 1.2. 2-10 1 Sabayon CoreCDX 8 GRAFICA DarkTable 0.9.3/1.0 rc2 Shutter 0.88 INTERNET Firefox 1 Thunderbird 1 1 1 RIVISTA Bodhi Linux 1.3.0 Bristol 0.60.9 Joomla! 2.5.2 Linux Mint 12 LXDE NobleApe Phlipple 0.8.2 Puppy Linux Lupu/Slacko Revelation 0.4. 2 1 TestDisk 6. 3 Tiny Core Linux 1 Summoning Wars 0.5.6 Tomahawk 0.3.0 WattOS R5 SISTEMA Htop 1.0. 1 UFFICIO LibreOffice 3.5. 1 Sunbird 0.9 Tomboy 1.8.3 LATO B DISTRIBUZIONI PC-BSD 9
Quando trovi questo bollo negli articoli, cerca il software nel DVD
Approfondimenti 12 Raspberry Pi
Un computer grande quanto una carta di credito e che costa solo 32 euro
60 LVM
I misteri del sistema di gestione delle partizioni di Fedora
64 Arduino
Collegate e fate comunicare due schede Arduino per fare del telecontrollo
22 Velocit
Ecco come far sprintare la tua Linux box
68 Musica
Bristol un completo studio synth in un unico programma!
72 Controllo di versione
Tenete traccia delle modifiche al codice sorgente dei vostri progetti
76 Grub 2
I rudimenti del bootloader di Linux
34 Galaxy Nexus
Il terzo smartphone a fregiarsi del marchio Nexus
82 Perl
Creare una Web App
86 Python
Realizzare tooltip personalizzati
40 Confronto
Faccia a faccia tra distro per PC vecchi
88 OpenCV
Eliminare i difetti delle immagini
PRO
dentro il
48 Da non perdere
Cinque applicazioni libere da provare!
94 Guida software
Guida al software presente nel DVD
40 Confronto
60 LVM
LINUX PRO 116
Newsdesk
Processori
Ogni mese tutte le novit dal mondo delle aziende e della comunit Open Source
e misurazioni e le previsioni stanno registrando una crescente richiesta di trafco dati portata dal cloud computing. Di conseguenze aumenta la richiesta di potenza di calcolo e si cerca una sempre maggiore riduzione dei consumi delle CPU. Per rispondere a queste esigenze Intel ha presentato la nuova famiglia di processori Intel Xeon E5-2600. Queste nuove CPU offrono prestazioni superiori, il miglior rapporto prestazioni/watt per datacenter, innovazione a livello di I/O e funzioni di sicurezza in hardware per favorire una maggiore scalabilit dellinfrastruttura IT. Oltre a essere il cuore pulsante di server e workstation, questi processori sono destinati alla nuova generazione di sistemi di storage e comunicazioni dei principali fornitori. La crescita del cloud computing e dei dispositivi connessi sta trasformando il modo in cui le aziende fruiscono di prodotti e servizi IT, ha commentato Diane Bryant, Vice President e General Manager del Datacenter and Connected Systems Group di Intel. Per trarre vantaggio da queste innovazioni, necessario soddisfare una domanda di efcienza senza precedenti, sicurezza e prestazioni elevate nellinfrastruttura dei data center. La famiglia di processori Intel Xeon E5-2600 progettata per affrontare queste sde, offrendo prestazioni bilanciate - senza
LINUX PRO 116
pari in sistemi di elaborazione, storage e rete - a fronte di una riduzione dei costi operativi.
Le innovazioni
Con il supporto di no a otto core per processore e no a 768 GB di memoria di sistema, la famiglia Intel Xeon E5-2600 offre prestazioni no all80% pi elevate rispetto al processore Intel Xeon 5600 series della generazione precedente. La nuova famiglia supporta inoltre Intel Advanced Vector Extension (Intel AVX), che offre
effettuate con SPECpower_ ssj*2008, rispetto ai processori della generazione precedente. Questi processori offrono il supporto per strumenti di monitoraggio e controllo del consumo energetico, come Intel Node Manager e Intel Data Center Manager, che forniscono alle console di gestione dei sistemi dati accurati e in tempo reale sullalimentazione e la temperatura. Abbiamo parlato della crescita del trafco di dati: ci porta non solo a migliorare la capacit di calcolo dei sistemi,
alla potenza di elaborazione ad elevate prestazioni, unitamente a Intel Integrated I/O e a caratteristiche di storage avanzate come il bridging PCIe non trasparente e il refresh asincrono della DRAM, la famiglia di processori Intel Xeon E5-2600 rappresenta la scelta ideale anche per le soluzioni di storage e comunicazioni.
Tutto al sicuro
Anche dal punto di vista della sicurezza ci sono diversi accorgimenti. Intel Advanced Encryption Standard New Instruction consente operazioni rapide di crittograa e decrittograa dei dati con unampia gamma di applicazioni e transazioni. La tecnologia Intel Trusted Execution, invece, rappresenta una base afdabile per ridurre lesposizione dellinfrastruttura ad attacchi nocivi. Queste caratteristiche, insieme alle principali applicazioni software, consentiranno ai responsabili IT di proteggere i data center da attacchi, in uninfrastruttura scalabile per rispondere ai requisiti dei clienti.
La crescita del cloud computing sta trasformando il modo in cui le aziende fruiscono dei servizi IT
prestazioni no a due volte superiori con le applicazioni che richiedono elaborazioni intensive come le analisi nanziarie, la creazione di contenuti multimediali e lHigh Performance Computing. Altre tecnologie integrate, come il Turbo Boost 2.0, lIntel Hyper-Threading e lIntel Virtualization forniscono funzionalit per lincremento dinamico delle prestazioni delle infrastrutture IT. Grazie a questi miglioramenti delle prestazioni, la famiglia di processori Intel Xeon E5-2600 ha registrato 1.510 nuovi record mondiali nellambito dellarchitettura x86 a due socket. Dal punto di vista energetico, la nuova famiglia di processori Intel migliora lefcienza energetica di oltre il 50%, secondo le misurazioni ma contemporaneamente anche a favorire laumento della larghezza di banda allinterno dei datacenter. Gli Xeon E5-2600 soddisfano questi requisiti attraverso le tecnologie Intel Integrated I/O (Intel IIO) e Intel Data Direct I/O (Intel DDIO). Questultima consente a controller e schede di rete Intel Ethernet di indirizzare il trafco di I/O direttamente alla cache del processore, riducendo i passaggi nella memoria di sistema e di conseguenza il consumo energetico e la latenza. La nuova famiglia inoltre la prima piattaforma server a integrare il controller di I/O che supporta PCI Express 3.0 direttamente nel microprocessore. Con questa integrazione la latenza risulta no al 30% inferiore rispetto alle precedenti generazioni. Grazie
Tutto ha un prezzo
La famiglia di processori Intel Xeon E5-2600 verr offerta in 17 versioni diverse, con prezzi che variano da 198 a 2.050 dollari in lotti da 1.000 unit. Saranno inoltre disponibili tre versioni del processore Intel Xeon E5-1600 a singolo socket per workstation, con prezzi compresi tra 284 e 1.080 dollari. Per ulteriori informazioni: www.intel.com/xeon.
Newsdesk
Smartphone
in breve
Manuale di Invoicex
Tempo fa abbiamo parlato di Invoicex, uno dei migliori software Open Source di fatturazione. Uno dei problemi di questo tipo di software la documentazione. Da qualche tempo disponibile in PDF un manuale davvero ben fatto. Lo trovate allURL www.studiorosapristina.it/index. php/manuali/invoicex.html e costa 7,50, IVA compresa e con aggiornamenti per un anno.
Errata corrige
Nel numero scorso, nellarticolo sulla programmazione Python, siamo incappati in un problema di impaginazione: le righe di codice pubblicate presentavano erroneamente tre simboli > a inizio riga. Ci scusiamo con i lettori e con lautore per lerrore: possibile scaricare il PDF dellarticolo corretto dallURL http://bit.ly/GIHpP9.
TC ha presentato la sua nuova serie di smartphone Android 4, chiamata HTC One. composta da tre modelli che si caratterizzano per le seguenti propriet: FOTOCAMERA ImageSense, una gamma di strumenti per la fotocamera e la creazione delle immagini, e la nuova versione del chip ImageChip rendono estremamente veloce la fotocamera, in grado di scattare in meno di 0,7 secondi. Il nuovo autofocus superveloce di 0,2 secondi permette di scattare foto in sequenza quasi allinnito. Il nuovo obbiettivo f/2.0 consente un miglioramento delle immagini catturate in condizioni di luce poco favorevoli. Funzione molto interessante la Video Pic, cio la capacit di registrare video e scattare foto in simultanea. AUDIO Lesperienza audio in HTC One potenziata dallintegrazione con Beats Audio By Dr. Dre, per ottenere un suono pi pieno e autentico mentre si ascolta la musica, si sta guardando un lmato su YouTube oppure giocando. Il software integrato HTC Sync Manager, che si installa automaticamente sul computer, consente di condividere con facilit le canzoni con il PC. Per chi ama ascoltare la musica in streaming, HTC One consente di personalizzare il nuovo Hub musicale con i servizi e le applicazioni preferite, come Soundhound, offrendoti un unico spazio per tutta la tua musica. HTC One consente di portare la propria musica anche in auto, grazie alla semplicit del servizio HTC Car Stereo Clip, che consente di collegarsi a pi di 50.000 stazioni radio online in tutto il mondo o di selezionare musica da qualunque servizio o applicazione sul telefono e ascoltarla attraverso gli altoparlanti dellauto. Qualche parola sui tre modelli: HTC One X presenta un corpo unibody di policarbonato, ha una CPU Tegra 3 di Nvidia a 1,5 GHz e uno schermo HD 720p da 4.7 pollici con vetro Corning Gorilla Glass. LHTC One S, con CPU Qualcomm Snapdragon S4 dual-core no a 1.5GHz e schermo da 4.3 pollici con vetro Gorilla Glass, lo smartphone HTC pi sottile di sempre, con i suoi 7,9mm. HTC One V, invece, ha un processore a 1 GHz e una fotocamera da 5 Megapixel (contro gli 8 degli altri due modelli).
Lultimo hacker
LULTIMO HACKER Autore: Giovanni Ziccardi Editore: Marsilio ISBN: 978-88-317-1127-2 Prezzo: 17,50 ( 9,99 in versione ebook)
iovanni Ziccardi, professore alla facolt di Giurisprudenza dellUniversit degli Studi di Milano, dopo averci fatto pensare con il libro Hacker, che abbiamo recensito qualche mese fa, ci fa passare qualche ora di relax con il suo nuovo romanzo, Lultimo hacker. Il protagonista del romanzo un avvocato, Alessandro Correnti, che ha fatto parte in passato del miglior gruppo di hacker in circolazione e che improvvisamente si ritrova catapultato in due questioni molto delicate, un caso di pornograa infantile e uno legato alla tratta di cuccioli derivanti dallest europa, che lo metteranno contro dei brutti cef. Se questo non bastasse, il mentore del protagonista viene ucciso proprio mentre in procinto di svelare un colossale progetto di controllo delle persone tramite webcam. Andando da nord a sud (e viceversa) il protagonista girer tutta lItalia sfruttando tecnologie innovative e linventiva caratteristica di tutti gli hacker per venire a capo della situazione. Ziccardi, prendendo ispirazione da fatti reali, riesce a costruire un romanzo che vi catturer dalla prima allultima pagina. O almeno, a noi successo cos: abbiamo divorato le oltre 350 pagine in pochissimi giorni e sotto sotto speriamo di poter leggere altre avventure dellavvocato hacker (o dovremmo dire hacker avvocato?).
Mailserver
I nostri esperti offrono ogni mese i loro consigli di programmazione e di amministrazione del sistema
Scriveteci!
Se avete dei dubbi di natura tecnica, o volete semplicemente commentare i contenuti della rivista e del DVD inviate una e-mail a redazione@linuxpro.it oppure spedite una lettera al seguente indirizzo: Linux Pro Sprea Editori S.p.A. Via Torino, 51 20063 Cernusco S/N (MI) Invitiamo inoltre tutti i lettori a partecipare al nostro forum che si trova allindirizzo Web www.linuxpro.it, oppure a collegarsi al nostro canale IRC #lxp ospitato dalla rete irc.freenode.net.
50 programmi 50
Carissimi redattori, ho molto apprezzato il vostro articolo 50 software per Linux. Di seguito la lista dei software per me irrinunciabili: GCC e GDB per lo sviluppo di software in C e Fortran make, awk, Bash e Python per la costruzioni di shell a completamento di procedure che fanno uso del software da me sviluppato xxdiff per la verica dei risultati oltre a Vim da voi citato trovo essenziale vim-x11 (noto anche come gvim), la suite completa di LaTeX, xdvi, dvips, latex2html per la costruzione della documentazione, a2ps per la stampa di testi xv, Ghostview e ImageMagic per visualizzazione e manipolazione graca convert per convertire le, ad esempio ps a pdf, ecc. Xpdf e Acroread per visualizzazione/stampa di le PDF OpenSSH per le connessioni remote Alpine come gestore di posta inne Firefox, gi nella vostra lista. Mentre, molto utili ma di uso pi occasionale dalla vostra lista GIMP, Selinux, VLC, LibreOfce. Spero che la mia risposta vi sia di qualche utilit. Maria Luisa
Ciao, la tua domanda casca a fagiolo: il Confronto di questo mese proprio dedicato alle distro da usare con PC di scarsa potenza. Come puoi vedere, la nostra preferita Puppy Linux e dovrebbe essere adatta anche al computer che vuoi usare, le cui caratteristiche hardware sono davvero minime. In alternativa possiamo suggerirti Damn Small Linux (www.damnsmalllinux. org) oppure ConnochaetOS (www.connochaetos.org/ wiki/). Ti indichiamo alcune alternative perch a noi capitato, usando PC con chipset VIA, di dover provare distro differenti prima di trovarne una che funzionasse al volo. In un caso lunica nostra salvezza si rivelata Lubuntu, un po pesante per il nostro PC dalle scarse prestazioni (ma dai consumi limitatissimi) ma che ha funzionato senza ulteriori interventi da parte nostra. Facci sapere come va.
Ciao Maria Luisa, quando i lettori ci dicono cosa pensano dei nostri articoli e condividono con noi le loro esperienze siamo sempre molto felici. anche per noi unoccasione di crescita. LXP
1,00
FAQ UEFI
UEFI
Cerchiamo di capire quale impatto avranno sullinstallazione di Linux le nuove interfacce per lavvio del sistema che le grandi aziende hanno inventato
intendi per Cosaautorizzati? programmi binari non Potrebbero essere sistemi operativi sconosciuti, che signica non afdabili, oppure sistemi operativi preesistenti modicati senza permesso dopo lultimo boot. il Secure Boot In che modosoftware di cui riconosce il pu darsi? Le piattaforme che implementano il Secure Boot contengono un insieme di chiavi crittograche che permettono al rmware UEFI di riconoscere i driver hardware e i sistemi operativi che hanno una rma digitale valida e quindi possono essere caricati ed eseguiti.
che semplicemente si riuteranno di far partire qualcosa di diverso da Windows 8. al Cosa si sta facendoRedriguardo? La Linux Foundation, Hat e Canonical hanno pubblicato due proposte per rendere UEFI e Secure Boot compatibile con Linux o con qualsiasi altro sistema operativo.
UEFI FAQ
con il portafoglio, non comprando n raccomandando computer che non offrano questa possibilit.
Esatto. A parte questo, la decisione di rendere aperto il Secure Boot, cio di vendere sistemi in modalit di setup con la possibilit di aggiungere le tue chiavi di validazione, nelle mani dei venditori di hardware. venditori di hardware Ma i bloccheranno in ogni caso non i loro sistemi, solo per far contenta Microsoft e ottenere prezzi migliori per Windows 8? I produttori di hardware e gli assemblatori venderanno sicuramente schede madri o computer assemblati con il Secure Boot abilitato per default, perch vogliono il logo Windows 8. Al momento in cui scriviamo per non sembra esserci alcuna richiesta da parte di Microsoft (nellipotesi che riuscissero a imporla, vedi sopra!) per rendere impossibile lavvio di altri sistemi operativi, e i margini di protto sullhardware per PC sono molto bassi oggigiorno. Perch infastidire gli utilizzatori di Linux o chi vuole installare vecchie versioni di Windows o riutilizzare qualche periferica pre-UEFI?
Di nuovo, non penso che lUEFI far una grande differenza. Le persone che non installeranno Linux perch dovrebbero pasticciare con lUEFI sono le stesse che non sono in grado di capire come abilitare lavvio da CD nel BIOS. La vera ragione per cui molte persone non usano Linux non ha niente a che fare con quanto sia complicata linstallazione.
Intendi dire qualcosa che i controlli Ma lUEFI renderebbe comunque difcilmente supererebbe il processo di installazione
a difesa dei consumatori e le regolamentazioni contro i monopoli? di Linux molto pi complicato, spaventando i principianti!
OVH EG
essere in grado di gestire completamente il vostro server tramite uninterfaccia semplice. Noi offriamo una vastissima gamma di sistemi operativi tra cui scegliere e che potrete installare in qualche click. Questa gamma di prodotti include sistemi operativi tradizionali come Debian, Ubuntu o pi specici come hadoop, esxi, cos come una vasta scelta di versioni di Windows Server. Per incrementare la potenza del vostro server, OVH offre la possibilit di geolocalizzare i vostri indirizzi IP aggiuntivi, la scheda Raid Hardware, il KVM dedicato lArchivio NAS dedicato, da 100 GB a 3.6 TB (100% di disponibilit, con garanzia di rimborso dal primo minuto di malfunzionamento), i firewall hardware e VLAN configurabili tra i vostri server. Non esitate a consultare il nostro sito per maggiori informazioni su questi servizi aggiuntivi. Dal 1999 OVH ha posato la sua propria rete di fibra ottica in Europa. un infrastruttura unica sul mercato. Queste caratteristiche sono mozzafiato: Una larghezza di banda di 1 Tbps (1000Gbps), una connessione su 31 punti di peering in 3 continenti e manutenzione operativa 24 ore su 24, 7 giorni su 7. I molti punti di connessione con i vari provider europei permettono ad OVH di trasferire istantaneamente il proprio traffico sulle reti dei suoi partner in caso di problemi tecnici o congestione del traffico. Questa politica di peering consente allHosting Provider di interconnettersi direttamente con lISP dei propri clienti. Risultato: Il tempo di accesso ai contenuti di OVH ottimizzato. OVH ha scelto di creare la propria rete in maniera totalmente ridondante. Sono state adottate moltissime misure di sicurezza per scongiurare ogni tipo di rischio. Questa qualit del servizio non danneggia per le performance. Il Tbps di banda passante garantisce appunto un trasferimento di dati ad altissima velocit. Il server OVH EG BestOf un ottimo equilibrio tra costi e prestazioni. Se avete bisogno di un server su cui alloggiare i vostri siti web, i database, i le server o qualsiasi altro tipo di applicazione, questo server sempre allaltezza della sda. In aggiunta, tutti i server dedicati OVH sono Cloud Ready, quindi dovrete soltanto installare lHypervisor di vostra scelta e iniziare a virtualizzare i vostri progetti immediatamente. Per maggiori informazioni, potete visitare il nostro sito www.ovh.it/DS, oppure contattatarci al numero 02 55600423
Server BestOF
La soluzione di server dedicato che combina flessibilit e controllo totale ad un prezzo competitivo.
Il server EG BestOF un preciso equilibrio tra costi e prestazioni. dotato di processori Intel allavanguardia, 1 Gigabit di connessione e dellhardware pi recente per gestire progetti che necessitano di elevata potenza, per poco meno di 110 euro. Il nostro team di produzione ha creato questo modello di server con la CPU Intel Xeon W3520, lHyper-Threading ed il sistema di raffreddamento liquido OVH per garantirne lafdabilit. Tutto questo implementato con 24GB di RAM DDR3, in grado di gestire anche le applicazioni pi pesanti. Per proteggere i dati, il sistema equipaggiato con 2 HARD DRIVE SATA da 2TB, congurati di default in RAID1 (completamente personalizzabili se vengono preferite le prestazioni piuttosto che la stabilit). Questo modello di server viene fornito con 1 Gbps Lossless, con un contratto di trafco mensile di 20TB, che pu essere incrementato in un click a soltanto 0,99 euro per TB. Il network lossless garantisce disponibilit di rete
attraverso 2 differenti uplinks. Se necessitate di pi essibilit, OVH offre anche altri server con 100Mbps oppure 10Gbps di connessione.
Con lo sguardo
verso il futuro
Se avete bisogno di una configurazione completamente personalizzabile per iniziare ad alloggiare i vostri siti web o di impostare progetti multipli che richiedono una elevata potenza, la scelta di un hardware adatto assicura i pi alti livelli di performance per il vostro server. Al fine di garantire che il vostro server dedicato sia in grado di realizzare i vostri progetti in maniera efficiente, importante scegliere la giusta combinazione tra i processori,
State cercando un hos ting provider che combini f lessibilit ed un controllo totale?
RAM e dispositivi di archiviazione di pi alta qualit a livello mondiale. Il vostro server sar quindi perfettamente adattato per i vostri progetti. Avendo scelto, a partire dalla sua creazione nel 1999, di controllare la propria catena di produzione di server, OVH garantisce ai propri clienti tempi di risposta senza confronti (server disponibili in unora) potendo cos offrire una vasta gamma di possibili configurazioni: Da un processore Intel Core 2 Duo 2x 2.33+ Ghz con 4 GB di RAM ad un 8 core Intel Bi Xeon E5606 2x4x2.13+ Ghz con 24GB di RAM ed una MegaRAID card da 6Gb/s. Con una posizione leader nel mercato europeo, OVH pu beneficiare di una partnership privilegiata con Intel e quindi offrire ai suoi clienti server equipaggiati con gli ultimi e pi potenti processori, non appena vengono immessi sul mercato.
Per maggiori informazioni, potete visitare il nostro sito www.ovh.it/DS, oppure contattarci al numero 02 55600423
OVH.IT
Domini E-mail Web hosting VPS Server dedicati Private Cloud Cloud SMS
Raspberry Pi Raspberry Pi
Raspberry Pi
un PC (ma non solo) A da 33 euro!*in*IVusa cl
Vi presentiamo il nuovissimo computer da taschino, leggete e stupitevi!
Ringraziamenti
Alcune delle foto sono prese dal sito Raspberry Pi, mentre la splendida immagine 3D di John confusis Morrison.
Lautore
Roberto Premoli
piccola - queste este s sono le sue dimensioni realii al La tua scheda SD va qui Alimentazione mini USB a 5V V come quella dei telefoninii fonin Uscita video HDMI
Sy System On Chip (SO processore, (SOC): RAM, scheda R graca Porte USB P Connessione Co Ethernet E
non deve essere andato per il verso giusto! Certo si dir ci sono pi risorse hardware e il software le sfrutta. Ma software pi pesante richiede a sua volta hardware pi potente e cos via in un circolo vizioso che serve principalmente a forzare nuovi acquisti hardware e software: anche i programmi e le distribuzioni GNU/Linux si sono ammalate di pesantezza (KDE, LibreOfce, Firefox, ecc.): a nostra parziale discolpa, va sottolineato che la vasta scelta di software GPL e laccesso ai sorgenti permette modiche e ottimizzazioni impossibili per il software a sorgente chiuso.
e guardiamo alle necessit aziendali, nel 2000 un computer buono era un Pentium II a 400 MHz, 128 MB di RAM e un disco rigido da 4 GB con Windows NT. Oggi, nel 2012, ci troviamo sulla scrivania in ufcio un dual core a 3 GHz, 2 GB di memoria, 750 GB di disco sso per eseguire programmi di posta elettronica, foglio di calcolo, videoscrittura, accesso a database... le stesse attivit da ufcio di 12 anni fa. E allora perch serve hardware pi potente? 64 MB di memoria erano sufcienti per Windows NT e gli applicativi che ci giravano sopra, Windows 7 vuole almeno 1 GB solo per s stesso: qualcosa, da qualche parte,
Gli utenti ormai non vogliono pi sapere nulla dei loro computer premono solo i pulsanti
sappiamo bene in che direzione guardare alla ricerca dei responsabili di questa situazione... Per noi seguaci del Software Libero non siamo scevri da colpe perch
Negli anni sessanta del ventesimo secolo, una osservazione empirica di Gordon Moore, passata alla storia come Legge di Moore (http://it.wikipedia.org/ wiki/Legge_di_Moore), sosteneva che il numero di transistor per millimetro
12
Raspberry Pi
quadrato sarebbe raddoppiato a cadenze temporali sse. Dato che le prestazioni di una CPU sono pi o meno collegate al numero di transistor che contiene, leggendo il graco da un altro punto di vista ne conseguiva che i prezzi dei microprocessori mantenendo costanti le prestazioni si sarebbero dimezzati nello stesso arco temporale. Una CPU Pentium II, molto costosa nel 2000, otto anni sarebbe calata a circa 50 centesimi di Euro: purtroppo, a tale data un P2 era considerato troppo debole per gestire il software pantagruelico che si era nel frattempo sostituito a quello snello e veloce del 2000. La costante rincorsa tra hardware e software che condannava gli utenti a periodici aggiornamenti era un meccanismo perfetto, ben oliato e apparentemente inarrestabile. Certo, non sta ancora nei vostri PC, ma in router, apparati di rete, lavatrici, autoradio, modem, palmari, tablet, telefoni cellulari multimediali, fotocopiatrici, dischi rigidi, centraline elettriche, stampanti e in uninnit di altre apparecchiature troverete solo e soltanto microprocessori ARM: il segreto la loro architettura semplice e scalabile, che si traduce in consumi ridottissimi e prezzi stracciati. Quindi alla domanda dov il mio PC economico? siamo perci nalmente in grado di rispondere Qui, e si chiama RaspberryPi. Il prezzo? 28 euro (+IVA)! Ovviamente il sistema operativo che ci gira sopra GNU/Linux.
Davide e Golia
Anche se alla ne del ventesimo secolo nulla sembrava potersi opporre alla tecnologia x86, nascevano intorno al 1982 nuovi concetti implementativi che davano il via a famiglie di processori, successivamente cresciute e maturate lontano dalle scrivanie degli utenti nali: una su tutte, ARM (http://it.wikipedia. org/wiki/Architettura_ARM), che larchitettura pi diffusa a livello planetario (75% del mercato mondiale embedded).
Lhardware
Eben Upton, il pap della Raspberry Pi, appartiene alla vecchia guardia, la generazione di ultra quarantenni che si fecero le ossa sugli home computer a 8 bit dei primi anni 80 del 20 secolo, imparando a pilotare tramite il bus di espansione i pi svariati apparati, il pi delle volte auto costruiti. Successivamente insegnante a Cambridge, Upton era stanco di vedere curriculum di studenti che riportavano come competenza la capacit di usare un elaboratore di testo, un foglio elettronico o di saper realizzare pagine Web, ma nessuno diceva di saper programmare, usare un oscilloscopio o quale fosse la parte giusta da cui impugnare un saldatore. Upton concluse che le nuove leve non avevano competenze perch, nito il periodo degli home computer, mancavano dei mezzi per svilupparle: un PC piccolo ed economico avrebbe potuto essere una buona base di studio per gli studenti desiderosi di pasticciare e imparare sul campo, come aveva fatto lui a suo tempo. Lasciato linsegnamento per lindustria, il nostro si diede da fare per mettere in pratica la sua intuizione: il risultato stata la fondazione RaspBerry, un ente no-prot che ha come scopo principale quello di avvicinare i giovani (ma in prospettiva, chiunque) alla programmazione e la diffusione dellInformatica e dellElettronica. Grazie a una dotazione hardware oculatamente selezionata, la scheda RaspberryPI (da ora in poi RP), prodotta dalla fondazione, un PC completo a bassissimo costo. Le dimensioni minime si ottengono grazie allutilizzazione di un SoC, System-on-Chip. Aprite il vostro portafogli ed estraete la carta di credito, la tessera Bancomat o il badge della palestra... fatto? Bene, avete in mano un oggetto con le stesse dimensioni della Raspberry Pi!
in meno di due centimetri quadrati. Nello specico, la CPU un ARM a 700 MHz modello ARM1176JZF S ARM1176JZF-S, la GPU una Broadcom Videocore IV a basso consumo energetico, in grado di riprodurre uidamente un video HD a 1080p e gestire graca 2D e 3D, mentre il DSP (Processore di Segnali Digitali) espressamente deputato a dare una mano durante la gestione di ussi multimediali. Non fatevi ingannare dalla dotazione hardware apparentemente povera: la scheda ha tutto il necessario per funzionare dignitosamente. Il BCM2835 prodotto da Broadcom, che ha rilasciato il documento BCM2835-ARM-Peripherals.pdf (scaricabile
La scheda despansione Gertboard trasforma Raspberry Pi in un Arduino con gli steroidi. Tutte le possibilit offerte dal GPIO, ma con la potenza di calcolo di un PC
Caratteristiche hardware
CPU ARM ARM1176JZF-S a 700 MHz GPU Broadcom Videocore IV (max 1920x1080) 256 MB di RAM porta di rete 10/100Mb/s (assente nel modello base) due porte USB (una nel modello base) uscita audio jack 3,5 mm uscita video composito (il connettore coassiale per connessioni al televisore) uscita video HDMI connettore per scheda di memoria SD (che contiene il rmware) 17 di linee di I/O, alcune preimpostate come SPI, I2C, RS232 un connettore DSI per collegare un display LCD un connettore CSI per webcam dimensioni: 8,6mm x 5,4mm 50 grammi di peso
Massima integrazione
La scheda ha solo due chip, dei quali il pi piccolo serve alla gestione della rete e delle porte USB. Ma dove sono CPU, RAM e tutti gli altri componenti necessari al funzionamento di un PC? Tutti nel chip pi grande, che in realt composto da due integrati sovrapposti: uno la RAM vera e propria, laltro contiene CPU, GPU, DSP e la logica di interconnessione tra le varie parti, il tutto condensato
13
Raspberry Pi
necessario alla riproduzione di lmati 1080p30 (1080p, 30 fotogrammi al secondo): occorre tenere conto di questo fatto quando deciderete lo scopo nale della scheda. La RP modello B ha 256 MB di RAM, per la cronaca; linea RS232 - il baudrate della UART (un dispositivo che converte ussi di bit da un formato parallelo a uno seriale asincrono o viceversa) funzione diretta del clock di sistema, quindi si pu andare oltre il lento valore standard di 115200 b/s; anche le connessioni I2C e SPI dipendono dal clock generale, possibile spingere la velocit al massimo ammesso dalle periferiche che si desidera interfacciare; inoltre, la SPI pu essere congurata in modalit bidirezionale, risparmiando cos un pin del GPIO (interfaccia per linput/output); disponibilit di PWM completamente congurabili; 4 timer a 32 bit, 1 timer a 64 bit; GPIO impostabili come linee di interrupt.
Perch ARM?
Il Dr. Robert Mullins, uno dei fondatori della Fondazione Raspberry, mostra una delle prime schede Raspberry Pi in versione beta. Questo dispositivo fa parte di quelli venduti su Ebay allo scopo di recuperare fondi per la fondazione
da http://bit.ly/GN1ZgV) nel quale viene spiegato un po in dettaglio come funziona e quali caratteristiche tecniche contraddistinguono questa scheggia di silicio che batte nel cuore della RP. Ci siamo passati le oltre 200 pagine di PDF e qui di seguito sono elencate le parti pi interessanti: memoria - la quantit minima di memoria dedicabile alla GPU di 32 MB, tuttavia tale quantit non sar sufciente per gestire il usso di dati
Chiariamo subito che le CPU ARM sono sviluppate con losoa RISC (usano cio un set ridotto di istruzioni, http://it.wikipedia.org/wiki/RISC), mentre gli x86 sono basati sulla losoa CISC (http://it.wikipedia.org/wiki/CISC). Sacrichiamo la correttezza formale a favore di una semplicazione espositiva e identichiamo con il nome dellarchitettura (o del principale produttore: Intel) quella che in realt una losoa progettuale. da notare che ARM Holdings, la societ che ha progettato le CPU ARM, non produce essa stessa i chip ma si limita a dare in licenza la possibilit di farlo a chiunque lo desideri, con levidente vantaggio del cliente di poter personalizzare il prodotto nale. Dagli esordi a oggi ci sono state delle continue evoluzioni: dalla prima versione ARMv1, alla recentissima ARMv8. A scapito dell11 contenuto nel nome, lARM1176JZF-S un ARMv6, che si distingue dai fratelli minori per la disponibilit del coprocessore matematico mentre dai maggiori v7 lo differenzia un inferiore numero di istruzioni in linguaggio macchina; inne il top di gamma v8 prevede il supporto per i 64 bit. Va detto che un confronto muscolare tra x86 e ARM non avrebbe storia: x86 ha, e avr ancora per un po, la palma delle prestazioni. Mentre x86 sacricava sullaltare delle potenza elaborativa tutto il resto, ARM otteneva la vittoria per quanto riguarda i consumi: infatti praticamente monopolista dei prodotti a batteria, come tablet e cellulari. Mantenendo sempre il focus sul binomio basso prezzo e minima richiesta energetica, negli anni recenti larchitettura ARM cresciuta sul fronte prestazioni, tanto che Asus ha cominciato nel 2009 a offrire qualche netbook con CPU ARM, anche se Intel aveva gi annusato il pericolo n dal 2008, quando aveva messo in commercio lAtom. Nonostante questo iniziale vantaggio, il peccato originale dellAtom (e di tutte le CPU x86) la sua architettura CISC, concettualmente inferiore allarchitettura RISC. Ci dimostrato dal fatto che i vari modelli di Atom contengono un numero di transistor che va dai 47 ai 123 milioni, mentre lARMv6, per fare pi o meno le stesse cose, ne ha bisogno meno di cinquecentomila! Intel pu
14
Raspberry Pi
ridurre, ottimizzandola, la geometria dei transistor o inventarsi velocissimi transistor tri-gate, ma non pu diminuirne il numero sotto una soglia minima, che comunque un paio di ordini di grandezza oltre il nostro piccoletto. In altre parole, questa architettura pi che trentennale sta raggiungendo i suoi limiti e i produttori possono solo ottimizzare il come fatto, non possono migliorare il cosa : la complessit degli x86 cresciuta esponenzialmente negli anni (pipeline, cache, branch prediction, aumento della velocit di clock, multicore, ecc.) proprio per compensarne le carenze architetturali, mentre gli spazi di crescita delle CPU ARM non sembrano ancora far intravedere dei limiti. Essendo intrinsecamente affamate di energia, le CPU x86 non possono facilmente scendere nel vastissimo mercato dei dispositivi a batteria (tablet e cellulari) mentre al contrario, quelle ARM possono salire nel dominio degli x86 (portatili, desktop e server) semplicemente aumentando le prestazioni. Se no ad oggi x86 ha garantito la retrocompatibilit dei software basati su Windows, salvaguardando i relativi investimenti degli utilizzatori nali, lattuale parco software GPL offre una gamma di programmi che copre la maggioranza delle necessit, aumentando agli occhi dei potenziali clienti lappetibilit della tecnologia ARM. Insomma, se fosse una onesta partita di calcio, la nostra previsione in schedina per ARM contro x86 sarebbe un uno sso. Con la sua piattaforma Tegra, Nvidia dimostra di credere nella tecnologia ARM e anche Microsoft si accorta del cambio di rotta del mercato, visto che sta realizzando (http://bit.ly/GM6OIv) una versione di Windows 8 compatibile ARM. Forse sarebbe il caso di cominciare a diversicare i vostri investimenti, dando ordine al vostro amministratore nanziario di spostare senza dare troppo nellocchio qualche centinaio di milioni di euro da azioni x86 ad azioni ARM.
Ecco quanto sono grandi (o dovremmo dire piccoli?) i chip a bordo della Raspberry Pi!
Unimmagine ravvicinata delle schede RP, tutte vendute su Ebay, che mostra chiaramente le caratteristiche principali. La cosa pi impressionante il piccolo SoC al cuore del dispositivo LINUX PRO 116
15
Raspberry Pi
Il software
venuto il momento di mettere le mani sulla scheda, per saggiarne le caratteristiche. Per sicurezza, ecco cosa vi pu servire (e cosa ci siamo procurati noi) per usare la Raspberry Pi: un convertitore/sdoppiatore PS/2-USB che permette di usare tastiera e mouse PS/2, lasciando cos libera una porta USB per altre attivit (ad esempio per collegare un disco USB o una scheda di rete wireless); in alternativa alla precedente opzione, un replicatore di porte USB che permette di usare qualunque tipo di periferica compatibile; un convertitore HDMI-DVI, per connettere un monitor LCD 1440x900; tastiera e mouse (PS/2 o USB); una scheda di memoria SD da 2 GB che funger da memoria di massa; cufe o casse audio (opzionali); lettore DVD esterno USB e/o disco esterno USB (opzionali). Osservando la scheda, viene naturale constatare che la maggior parte della supercie occupata da connettori: le porte USB e la presa Ethernet sembrano piccole su una scheda madre di PC,
La Raspberry Pi sta ispirando una nuova generazione di tutorial su Linux e sulla programmazione
Qualche idea
RaspberryPI una miniera di opportunit: accenniamo brevemente alcuni suoi possibili impieghi.
scheda di espansione in grado di fornire ulteriori linee USB, network e GPIO. Accatastandone un paio, si ottiene cos un panino di schede appetibile per gestire quattro dischi USB-RAID o grazie alle due schede di rete, un sistema di rewalling.
E
Tramite VPN, si possono controllare vari apparati: non sarebbe male poter accendere il riscaldamento della casa in montagna prima di partire, in modo da trovare una temperatura confortevole (e non i soliti quattro gradi centigradi) quando si arriva.
A
Sono possibili connessioni seriali punto-punto: il protocollo RS232 permette una distanza di una dozzina di metri, ma adottando il protocollo RS422 (http://it.wikipedia.org/ wiki/RS422), la distanza tra i due terminali pu superare tranquillamente il chilometro. Un paio di schede opportunamente congurate possono cos estendere un segnale TCP/IP via seriale, attivit necessaria nei casi in cui non sia richiesta unelevata velocit di connessione, in cui posare un cavo di rete troppo costoso e utilizzare una connessione senza li impossibile (ad esempio: tunnel con curve, edici storici con muri spessi, ecc.).
F
Videosorveglianza: installatela sul tetto con un paio di motori per pilotare rotazione e inclinazione di una webcam ed ecco che diventa possibile controllare tutto il giardino senza muoversi dalla scrivania.
B
Connettendo dei chip esterni potete fare un multiplex della linea RS232, trasformando cos la scheda in una multi-seriale, mentre se siete dei programmatori, potreste scrivere un software per trasformare lintero bus GPIO in otto linee seriali indipendenti.
G
Con uno o due dischi esterni connessi tramite USB, la scheda diventa un poco ingombrante leserver, client torrent, backup di rete, server FTP, ecc.
C
La Raspberry Pi presenta anche gli standard I2C e SPI. Sensori per rilevare temperatura, umidit, pressione atmosferica, raggi infrarossi, eccetera, ma anche memorie EEPROM, inclinometri, convertitori analogico/digitale o digitale/analogico, rilevatori di gas, orologi su chip: potete connettere e controllare praticamente qualunque tipo di strumento o sensore.
H
Inserita in un monitor LCD (o in un televisore), lo trasforma in un economico PC tutto in uno.
I
Inserita in una tastiera, diventa un computer portatile. Per quelli che si ricordano dei gloriosi ZX Spectrum o Commodore 64: con un buon emulatore, potreste far rivivere i giochi della vostra (lacrimuccia) giovinezza con lo stesso o quasi - look and feel degli anni 80! Come vedete, le idee sono tante e chiss che non ne realizzeremo qualcuna nei prossimi numeri di Linux Pro!
D
Le schede costano poco, perch non comprarne una seconda? Connettendole con una linea seriale ad alta velocit (il protocollo SPI sembra il pi adatto) si ottiene una potente ed economica
16
Raspberry Pi
ma sulla RP diventano giganti ingombranti. La scheda di memoria SD deborda per quasi la met della lunghezza e il suo connettore d una sensazione di delicatezza, suggerendo attenzione nelluso. Desta perplessit la scelta di tale formato, si sarebbe potuto privilegiare le ormai diffuse microSD (1,65cm2), grandi meno di un quarto delle SD e quindi perfette per una scheda dove anche pochi centimetri quadrati contano: lo spazio avanzato poteva tranquillamente essere occupato da qualche chip/connettore o usato per rendere disponibili ulteriori linee per il connettore GPIO. Indagando nel sito della scheda, si leggono le giusticazioni dei progettisti, che sottolineano ancora una volta che la scheda pensata principalmente a scopo educativo per giovani studenti per i quali una microSD pi facile da perdersi e presenta un connettore ancora pi delicato (e costoso) delle SD. Onestamente come scusa sembra un po debole, ma va riconosciuto che pi facile criticare che progettare.
Quale distro?
Il sistema operativo per la Raspberry Pi scaricabile sotto forma di immagine compressa da http://elinux. org/RPi_Community#Italy. Quando leggerete larticolo saranno disponibili anche Fedora, Arch Linux e forse addirittura Gentoo: ovviamente noi abbiamo scelto la migliore del mazzo cio Debian 6.0 per ARM. Dal successiva rispetto a quello di base, probabilmente nostro PC di servizio labbiamo scaricata, decompressa per sfruttare al meglio le potenzialit dellhardware. Per il e poi riversata sulla schedina SD (connessa tramite login occorre fornire la solita accoppiata utente/password un adattatore USB e vista come /dev/sdb) con i comandi che stranamente pi/suse per poi avviare la graca con unzip debian6-17-02-2012.zip startx cd debian6-17-02-2012 Eccoci ora di fronte al buon LXDE che sembra dd if=debian6-17-02-2012.img of=/dev/sdb la scelta migliore come ambiente desktop per questo Ricordiamo che la velocit di boot diretta funzione hardware non potentissimo. Apriamo una console, di quanti dati vanno letti dalla memoria SD e quanto diventiamo root con rapidamente questa possa fornirli. Lo standard prevede sudo su vari gradi prestazionali indicati come CLASSE 2, 4, 6 e aggiorniamo il sistema con o 10: il numero sta a indicare i MB/s scrivibili in modo apt-get clean continuativo sulla scheda, ma anche la velocit di lettura apt-get update risente della classe. Sono stati riportati problemi apt-get dist-upgrade con schede di classe 10, ma probabilmente si tratta Notiamo pochi programmi installati, per esempio c lo di una carenza a livello driver di Linux. Inserita la SD, scattante Midori invece del pesante Iceweasel, che connettiamo monitor, mouse e tastiera e diamo corrente comunque installiamo (con il solito apt-get install) alla scheda (via mini USB): la prima cosa strana che balza allocchio che il boot lo fa la GPU e non la CPU. Allaccensione, la GPU esegue un rmware che dopo le veriche hardware di rito, passa il controllo al bootloader: si noti che questultimo e il rmware risiedono sulla schedina SD che quindi deve essere sempre presente per gestire la partenza dellhardware. Il sistema operativo vero deve risiedere in una seconda partizione della scheda SD o su periferica connessa tramite USB. Pur essendo una Debian stabile, il kernel scelto una versione Le prime schede sono ancora prive di un case. E se ne creaste uno con il Lego?
17
Raspberry Pi
XBMC su Raspberry!
Scritto sotto licenza GPL, XBMC un software dedicato alla gestione di contenuti multimediali: in parole povere, trasforma qualsiasi PC in una specie di videoregistratore evoluto, permettendo la gestione di album fotograci, video, musica, tutto ci che di multimediale sta sui vostri dischi. stato testato con successo sulla versione beta della RP, quindi sulla versione nale funzioner ugualmente, se non meglio! AllURL http://bit.ly/GS6uob potete vedere una delle tante presentazioni disponibili su YouTube. Qualcuno ha pensato bene di dare vita al sito raspbmc.com per gestire sviluppo e aggiornamenti di una versione ottimizzata e dedicata alla nostra scheda, mentre presso http://openelec.tv troverete una valida alternativa che, tutto compreso, richiede meno di 200 MB di spazio: a voi la scelta!
nella congurazione di default 64 MB sono per la GPU e i restanti 192 MB sono dedicati alla CPU e quindi a Linux e programmi vari dato confermato sperimentalmente dal comando free. Le conclusioni sono ovvie: se volete orientare la scheda verso attivit multimediali pesanti, sostituite arm128_start.elf a start. elf (il comando cp arm128_start.elf start.elf), se la destinazione da desktop scegliete 192 o 224 mentre se userete la scheda come server senza monitor, allora meglio usare la modalit 224 per massimizzare la RAM a disposizione di sistema operativo e applicativi.
Sotto pressione
Per testare le capacit della GPU abbiamo deciso di ricorrere al lettore connesso tramite USB, grazie al quale abbiamo visto tutto il primo tempo di un lm ad alta denizione allo scopo di vericare eventuali surriscaldamenti o cali prestazionali durante la riproduzione: invece il lmato non ha mai presentato scatti o rallentamenti e alla prova dito il SoC era appena tiepido. Soddisfatti ma non convinti, abbiamo installato OpenArena e ci abbiamo giocato per una ora buona: anche in questo caso, il sistema si dimostrato allaltezza della situazione. Dalla documentazione osserviamo che il chip Broadcom dispone di una sola linea USB 2.0, connessa al chip LAN9512 il quale ha funzione di hub: sdoppia il segnale per servire le due porte USB e inoltre provvede a convertirlo per servire la linea Ethernet. Se ne deduce che i dati devono passare sullunica linea USB disponibile, che pu diventare quindi il collo di bottiglia durante I/O massivi. Come ultima prova, tramite un PC connesso via rete cablata a 100 Mb/s con la scheda, abbiamo visto un lm residente sul disco USB connesso alla scheda e anche in questo caso non ci sono stati scatti o rallentamenti: la Raspberry si dimostra usabile come distributore multimediale. In conclusione, la scheda ha dato prova di essere in grado di eseguire attivit informatiche normali come elaborazione testi, chat, posta elettronica, navigazione Internet ma anche attivit pi impegnative come la gestione di giochi 3D o la riproduzione di lmati ad alta denizione. Inoltre si difende bene anche quando la si dedica a un moderato uso sul fronte gestione le: il tutto per con costi, ingombri e consumi assolutamente vincenti rispetto a qualsiasi desktop, laptop, o altro sistema embedded gi esistente.
Come vi sembra un media center che costa poco pi di 30 euro? XBMC funziona sulla piccola Raspberry Pi!
insieme a gnash, dato che Flash non disponibile su architettura ARM. Aggiungiamo poi Pidgin e Xchat per gestire i contatti in Rete, mentre Abiword soddisfer qualunque velleit letteraria (per chi vuol strafare, si sappia che disponibile anche OpenOfce. org!). Abbiamo poi congurato la scheda di rete wireless connessa tramite USB: installato il rmware e i tool relativi, wicd ha funzionato al primo colpo. Il pomeriggio piacevolmente trascorso mentre usavamo contemporaneamente Pidgin, XChat, Midori e Abiword: abbiamo provato a navigare tramite entrambe le connessioni di rete (cablata e wireless) e non sono stati riscontrati problemi di sorta. Ovviamente non si possono pretendere le stesse prestazioni di un desktop moderno, per cui meglio non strafare con il numero di applicativi e/o pagine Web aperte contemporaneamente.
Software diversi
Naturalmente non possibile installare direttamente software x86 su un ARM, quindi andrebbe installato il programma Dosbox e bisognerebbe scaricare da Internet, per esempio, le versioni freeware dei giochi grandi classici per DOS. Se qualcuno invece vuole emulare in toto una macchina x86, potrebbe installare il noto emulatore Qemu: in tal caso, va ricordato che emulare unarchitettura diversa da quella del sistema ospite condanna a prestazioni non eccelse ma comunque accettabili per una prova mordi e fuggi: insomma, un sistema x86 che gira su ARM non cosa molto comune, provare per credere! I nostalgici del DOS potranno usare la sua reincarnazione libera, cio FreeDos (www.freedos.org). Chi vuole osare di pi pu installare una vecchia versione di Windows, anche se i pi avventurosi tra coloro che preferiscono software GPL si orienteranno su ReactOS il sempre pi noto clone di Windows reperibile presso www.reactos.org.
18
Raspberry Pi
Tutte le informazioni
Tutto quello che poteste chiedere sulla RP lo trovate sul suo sito, www.raspberrypi.org: forum di discussione, FAQ, lista di distribuzione per gli aggiornamenti, ecc. Il forum unautentica miniera di informazioni: con un po di pazienza, troverete di certo la risposta a tutte le vostre domande perch sicuramente qualcuno le ha poste prima di voi. Recentemente stato attivato anche http://elinux. org/RPi_Community dove potrete trovare, in una forma molto pi strutturata, praticamente di tutto: lista dei mirror, elenco delle periferiche supportate, trucchi condivisi, ecc. Altro sito da tenere tra i preferiti www.cnx-software.com, dategli una controllata che sar sicuramente di aiuto. Oltre ad avere un respiro internazionale, il progetto altres nato in terra dAlbione, per cui la lingua ufciale appunto lInglese per tutti e tre i siti citati: anche se in corso la traduzione in varie lingue (Giapponese, Rumeno, Spagnolo, ecc.) al momento ancora non esiste documentazione nella lingua di Dante Alighieri e questo potrebbe bloccare chi non parla british. Ci si augura di vedere presto delle traduzioni o magari addirittura la nascita di un sito dedicato al supporto della comunit tricolore e perch no, potreste essere proprio voi a dare il via a una sezione italiana per la Raspberry Pi. Tornando alla scheda, i progettisti si sono focalizzati sullhardware, cercando di rilasciare la versione nale entro novembre 2011, ma problemi tecnici e burocratici dellultimo momento hanno ritardato la messa in vendita al 29 febbraio 2012, per cui il pieno supporto alla parte prettamente elettronica stata parzialmente posticipato. Alcuni sperimentatori che lavorano sui prototipi stanno sviluppando librerie software per lutilizzo delle linee I2C, SPI e RS232, si spera che il frutto del loro lavoro sia disponibile per il download al momento della lettura di queste righe. Per i connettori LCD e CSI (il connettore per la webcam), i driver non sono ancora pronti e nonostante leventuale buona volont del lettore, la loro realizzazione a livello amatoriale tendenzialmente da escludersi in quanto necessario conoscere le primitive software della GPU: occorrer quindi attendere la realizzazione dei driver e la vendita del sensore direttamente da parte della Fondazione anche se i pi impazienti possono ricorrere a webcam USB.
Boot da rete?
Sappiamo che tra i nostri lettori c un gruppo, piccolo ma compatto, di convinti sostenitori del boot da rete. Per quelli che non conoscono questa caratteristica dei PC, spieghiamo in un modo grezzo, ma speriamo chiaro, che si tratta di una caratteristica del BIOS che permette di vedere la connessione di rete come se si trattasse di un disco remoto. In tal modo, al momento dellaccensione del PC possibile caricare il sistema operativo da un server, risparmiando cos sullhardware del client che non necessita di lettore CD, disco o altre memorie di massa locali, azzerando quindi le relative richieste energetiche. Purtroppo, nel caso della RP il BIOS non esiste, visto che il boot viene gestito dal blob binario della GPU.
Raspberry 2.0
I primi tentativi di Eben Upton risalgono al 2006, la Raspberry Pi arrivata dopo anni di studi, prove ed errori: abbastanza facile realizzare una scheda dalle dimensioni di una carta di credito oppure dalle prestazioni accettabili oppure a basso costo, ma la Fondazione riuscita a riunire tutte queste caratteristiche in un unico oggetto. Come tutti i prodotti 1.0, anche la RP sar soggetta a prove sul campo, critiche e proposte di modica da parte della comunit: molti potrebbero essere combattuti tra il desiderio di avere subito tra le mani questo gioiellino e la speranza di una versione migliorata tra qualche mese. Cosa ci piacerebbe nella Raspberry Pi versione 2? Sicuramente due porte Ethernet, quattro porte USB, un connettore VGA, 512MB/1GB di RAM, orologio interno... e gi che ci siamo, un unicorno alato con poteri magici :) (NDR: per una volta facciamo uneccezione e lasciamo lo smile). Il problema che siamo troppo abituati a cadere nellerrore del voglio di pi mentre invece dobbiamo reimparare il devo usare al meglio quello che ho. La Raspberry Pi sicuramente buona per un larghissimo uso nei pi disparati campi di impiego, una scheda camaleontica il cui potenziale aspetta solo di svilupparsi nelle mani di chi sapr usarla. Sono state accennate delle idee nel corso dellarticolo, ma lunico limite la fantasia e la voglia di sperimentare: ora tocca a voi. La speranza della Fondazione che le prime 10mila schede vadano in mano ad appassionati che realizzino progetti, tutorial e documentazione, preparando cos la strada per chi
Il sito rhombus-tech. net vi offre tutte le informazioni del caso sul SoC Allwinner A10
19
Raspberry Pi
entrer in possesso dei successivi lotti di produzione. Giovani studenti che non potevano accedere ad hardware pi costoso e chiuso sono ora in grado di procurarsi questo hardware economico e aperto per poter studiare, sperimentare e imparare. Cos com, la scheda a tutti gli effetti un sistema GNU/Linux pronto alluso: tutto il resto, cose si dice, verr col tempo, adeguatamente condito da passione e impegno. Tutto perfettibile e siamo condenti che con una revisione del circuito stampato si potrebbe migliorare qualcosa: gi si vocifera di una futura versione con un maggior numero di linee di I/O, buchi per le viti e, se ricevessero abbastanza richieste, i progettisti potrebbero prendere in considerazione una versione con alimentazione P.o.E. (Power on Ethernet): scrivete alla Fondazione e fate sentire la vostra opinione. LXP
20
Velocit
VELOCIT
Tutti i consigli per rendere i vostri computer pi veloci della luce
inux porta con s diversi beneci e ogni utente ne ha uno preferito. Per alcuni lassenza di virus. Per altri il sapere che nessun agente esterno sar in grado di controllare il modo in cui usate il PC; la libert del software pu sembrare una questione poco pratica ad alcuni, ma come hanno scoperto gli utenti Apple lo scorso anno, se vi ritrovate a essere obbligati a pagare laggiornamento del vostro sistema operativo per poter ascoltare la vostra musica (che avete pagato) sul vostro computer (che avete pagato), la libert del software diventa importante. Per, per chiunque abbia mai fatto doppio click su unicona in Windows e abbia dovuto attendere che il computer capisse cosa doveva fare, la velocit generale di GNU/Linux e la sua reattivit nel desktop sono il vantaggio vincente. E questo vale per tutti: che stiate usando un PC con processore a 8 core o un portatile di 10 anni fa, vi troverete molto meglio con Linux. Se poi volete ancor pi velocit, non vi resta che seguire i nostri consigli.
22
Velocit
1 Far sprintare il bootloader
Se avete un sistema dual boot avete familiarit con il menu davvio di Grub che appare allavvio del PC. Per forse non avete notato il conteggio alla rovescia che si trova sotto le voci del menu, che vi indica quanto tempo aspetta il sistema prima di attivare la voce di default per voi. Di default su Linux Mint, ad esempio, questo tempo di 10 secondi. Potete sempre premere Invio, certo, ma se siete lontani dalla macchina e volete che si avvii pi rapidamente, potete ridurre questo tempo, ad esempio portandolo a 3 secondi, che comunque un tempo sufciente a consentirvi di scegliere una diversa voce di menu. Per fare questo andate in /etc/default e aprite il le grub (come root). Cambiate il valore GRUB_TIMEOUT=10 a 3, poi digitate update-grub per rendere effettivo il cambiamento.
Gli indecisi potrebbero cambiare lattesa di default impostando un valore pi alto, che ne dite di 1.000?
2 Disabilitare servizi
Quando accendete il computer, passa parecchio tempo dal momento in cui il kernel si avvia a quando potete usare il desktop. Durante tutto questo tempo la distro carica freneticamente in background tutti i servizi che gli servono per funzionare correttamente. Per non vi servono tutti questi servizi. In molte distro i servizi si trovano in /etc/init.d e potete fermare quelli che non vi sono utili cliccando con il tasto destro su di essi (nel le manager avviato come root), andando in Propriet D Permessi e togliendo il segno di spunta dalla voce Esecuzione: Consentire lesecuzione... Cosa? Non sapete cosa vi serve e cosa no quindi non sapete cosa spegnere? Un metodo potrebbe essere quello di procedere per tentativi oppure, se usate SUSE o Mandriva, vi conviene aprire YaST o il Centro di Controllo di Mandriva, andare in Sistema D Servizi di sistema. Vedrete il lungo elenco di servizi disponibili. Evidenziatene uno e leggetene la descrizione, in questo modo potrete avere unidea se vi serve oppure no.
Non usiamo il supporto al protocollo IPv6, quindi possiamo disabilitare questo servizio
4 Velocizzare Nautilus
Nautilus, il le manager di GNOME, esegue una scansione rapida di tutti i le che incontra in una directory non appena vi entra, cos da mostrarvi le miniature di foto e video e le prime righe per i le di testo. Bene, abbiamo scritto scansione rapida ma in una cartella piena zeppa di le questo processo pu non essere proprio veloce. Per smettere di sprecare cicli macchina con questo compito utile ma non essenziale, andate in Modica D Preferenze D Anteprima in Nautilus e cambiate le opzioni da Sempre, o Solo le locali, a Mai. Dovreste notare che il le manager, ora, vi d una sensazione di maggior velocit.
5 Snellire il carico
Forse avete gi letto il Confronto di questo mese, oppure no perch nella vostra ricerca per lhigh-performance computing considerate inutili le distro per i PC con scarse risorse hardware. Stop. Ripensateci. La ragione per cui Puppy, VectorLinux e le altre sono buone per lhardware vecchio che esse non richiedono risorse enormi. Questo esattamente lattributo che le rende eccezionalmente veloci sullhardware moderno. Se avete un PC costruito nellultimo paio danni, con 2 GB di RAM o pi, potete spingerne le prestazioni con tutti gli altri trucchi di questo articolo, oppure ottenere un risultato simile installando semplicemente VectorLinux. Se vi piace sperimentare nuove distro, questo il passo che vi porta pi velocemente verso lottenimento di un computer super veloce.
23
Velocit
6 Usare un Window Manager pi veloce
Se non siete dellumore giusto per cambiare completamente distro, potete ottenere comunque grandi miglioramenti integrando alcune delle caratteristiche delle distro leggere nella vostra congurazione corrente. Il Window Manager, ad esempio, di solito si pu trasportare da un desktop a un altro, e se ne state usando uno potente ma pesante come KDE, questo pu darvi un signicativo incremento di velocit. Il compito del Window Manager di guardare quali nestre avete aperto e darvi un sufciente livello di controllo su di esso da poter lavorare in modo produttivo. Per un WM pu anche offrire pi funzioni di quelle che sfruttate realmente. Se fate click destro sulla barra del titolo di una nestra in KDE e contate le opzioni disponibili, capite cosa intendiamo. Ecco perch un WM dovrebbe essere sia veloce sia meno fonte di distrazioni. Forse il pi popolare Openbox, e di solito lo trovate gi pacchettizzato in tutte le distro maggiori e non. Dopo la sua installazione, indipendentemente dal desktop in uso, aprite un terminale e digitate openbox --replace. Questo comando generer un output, e alcune delle applicazioni in esecuzione potrebbero lamentarsi visto che state forzando il sistema a rimpiazzare il Window Manager corrente con quello nuovo. In pochi istanti dovreste vedere mutare lo stile dei
bordi delle nestre. Questo Openbox. Usando il menu contestuale che appare con il click destro del mouse sulla barra superiore potete ancora spostare le nestre su un altro desktop o forzarle a stare sopra le altre, ma niente di pi. In questo modo le vostre nestre saranno pi veloci!
8 Bloccare le pubblicit
Mentre navigate sul Web, spesso vi accorgete che i siti non si aprono immediatamente perch stanno aspettando larrivo dei banner pubblicitari da un server differente. Combinando ci con il numero sempre crescente di pubblicit e animazioni Flash e vi ritroverete con tanti buoni motivi per bloccarli. Sia Firefox che Chrome offrono unestensione chiamata AdBlock che usa un database per fermare i contenuti pubblicitari pi comuni. In Chrome, ad esempio, potete usare il suo Store per cercare e installare AdBlock Plus. Poi assicuratevi che sia abilitata dalla voce Estensioni del menu Strumenti. Cos non dovreste pi essere disturbati dalla pubblicit, ottenendo tempi di caricamento pi rapidi.
Se non volete giocare con la riga di comando, potete cambiare il motore di rendering di default di KDE dal tab Avanzate del pannello sugli effetti desktop
Evitate i lunghi tempi di caricamento e la tentazione di acquistare cose inutili con AdBlock Plus
9 Usare le scorciatoie
Sembrer ovvio, ma spostare la mano dalla tastiera al mouse richiede pi tempo che non fare le stesse operazioni tramite la tastiera. Molti pochi utenti usano il Copia e incolla dal menu Modica, ad esempio. Per questa ragione vale la pena imparare una manciata di scorciatoie per fare cose come passare tra le applicazioni o i desktop. Potete sfruttare questa idea senza adottare Emacs (famoso per le sue innite scorciatoie). Avviare un programma dal menu Esegui che appare premendo Alt+F2 vi evita di dovervi orizzontare allinterno del menu Applicazioni. Anche linterfaccia Esegui comando di KDE pu rivelarsi utilissima. Digitate shutdown per spegnere il vostro computer, oppure lock per bloccare lo schermo. Si possono fare semplici calcoli iniziando linput con un = e ci sono dozzine di altre funzioni basate su una struttura a plug-in. Potete usare il pulsante ? sulla destra per leggere lelenco di ci che disponibile e come usarlo. Per il tool denitivo per le scorciatoie Gnome Do, che una sorta di Esegui comando con gli steroidi. Tramite una serie di plug-in pu farvi accedere a ogni aspetto del desktop, da un normale comando SSH allaccesso ai siti Web pi visitati, il tutto tramite una scorciatoia.
24
Velocit
10 Applicare patch al kernel
Se cercate laggiornamento denitivo per aumentare le prestazioni del PC, e anche una sda probante, ci sono diverse patch che possono essere applicate al kernel. Se volete potete agire pezzo per pezzo, ma c un modo migliore. Una delle alternative pi popolari al kernel standard uno compilato da Con Koliva e che include un gran numero di patch legate alle performance. Questo set di patch del kernel chiamato -ck ed stato costruito per enfatizzare le prestazioni del desktop. Per installarlo dovete scaricare i sorgenti del kernel della versione a cui si applica la patch (usando il gestore di pacchetti), assieme a tutti gli strumenti per la compilazione del kernel. Poi scaricate la patch da http://users.on. net/~ckolivas/kernel/ e usate il comando patch (patch -p1 < patch-3.*-ck1) nella cartella con i sorgenti del kernel per applicare i cambiamenti. Ora compilate il kernel seguendo le istruzioni della vostra distro. Questultimo passo pi facile da dire che da fare, ma in Rete potete trovare numerose guide.
12 Overclockare il sistema
Per prima cosa, unavvertenza: loverclock, larte di spingere i componenti oltre i loro limiti ufciali di funzionamento, pu costare caro. Lhardware si pu rompere e si possono perdere i dati. Oggigiorno per molti componenti sono progettati per sopportare temperature e velocit di funzionamento maggiori rispetto a quelli di targa, lasciandovi spazio per la sperimentazione. Molte schede madri moderne, ad esempio, includono perno semplici tool per aumentare la velocit del sistema, senza dover conoscere altri dettagli. Il posto principale dove guardare per intervenire velocemente il BIOS. Si accede ad esso allavvio del PC, di solito premendo F2 o Canc. Nel menu del BIOS molto probabilmente troverete lopzione per incrementare la velocit della memoria, congurare automaticamente il sistema per ottenere le massime prestazioni sacricando la stabilit e aggiustare la velocit della CPU, di solito intervenendo su bus e moltiplicatori. Alcune di queste modiche potrebbero non funzionare, ma vi raccomandiamo di fare una modica alla volta e poi provare che effetto ha avuto sul sistema prima di passare a un altro cambiamento. Usate anche LM-sensors per tenere sotto controllo la macchina.
Quando fate loverclock a un dispositivo, dovete sempre guardarne la temperatura per evitare danneggiamenti
nel demone DHCP e impostare degli IP statici. Aggiungete noarp al le di congurazione /etc/dhcpd.conf e riavviate il sistema o il demone. LXP
25
Sysadmin
Dottor Brown
Dr Chris Brown
Il Dottore si occupa di formazione, scrittura di articoli e consulenze su Linux. Trova che il suo PhD in sica delle particelle non sia di alcun aiuto in questo tipo di lavoro.
Premiata Amministreria
Tecniche esoteriche per i sysadmin direttamente dai recessi pi impenetrabili della sala server
Addio, mondo!
La notizia della morte di Steve Jobs ha fatto il giro del mondo, ma con Dennis Ritchie che siamo davvero in debito
La settimana del 5 ottobre 2011 non stata una buona settimana. Steve Jobs morto in questa data e Dennis Ritchie tre giorni dopo. La fama di Jobs e il suo essere un personaggio di culto hanno dato luogo a un enorme numero di commemorazioni che lo descrivevano come un visionario, un pioniere e un genio (anche se la sua biogra a uf ciale svela aspetti decisamente pesanti della sua vita). La morte di Ritchie invece non ha ricevuto la stessa attenzione ed stato quasi sempre descritto come riservato e gentile (ma non da LXP che gli ha dedicato una pagina). Eppure come padre del linguaggio C e co-inventore di UNIX i suoi contributi sono molto pi importanti e leredit che ci ha lasciato di gran lunga pi diffusa. Ritchie descrisse il C come strano, pieno di difetti e un enorme successo, ed davvero impossibile sopravvalutarne la pervasivit. Forse il 99,9% del kernel di Linux scritto in C, oltre a una grandissima parte di altri progetti Open Source, per non parlare di unenorme quantit di software embedded. La sintassi e lo stile del C sono stati usati direttamente anche da linguaggi pi moderni come C++, C# e Java. E il suo lavoro con Ken Thompson sullarchitettura di UNIX ha avuto unenorme in uenza su Linux.
Abilit linguistiche
Ritchie e Brian Kernighan sono gli autori del famoso K&R, che stato tradotto in 35 lingue (dovete essere una novella JK Rowling per batterlo: Harry Potter stato tradotto in 70 lingue). Ho letto il K&R originale dallinizio alla ne, non proprio tutto dun ato ma quasi. Mi ha aperto gli occhi non solo su un nuovo linguaggio, ma anche su quella chiarezza nella scrittura di argomenti tecnici cui posso solo aspirare.
Rothenberg si sbagliava
Lipotesi di Rothenberg che i dati archiviati si trovino ofine su supporti removibili non del tutto accettabile ai nostri giorni, visto che tutte le informazioni che vale la pena di conservare sono mantenute online e facilmente copiabili. Ma il suo messaggio ancora mi preoccupa. Shakespeare aveva una visione ottimistica della longevit del suo sonetto Shall I compare thee to a summers day? (Devo paragonarti a un giorno destate?) che si conclude con So long as men can breathe, or eyes can see, So long lives this, and this gives life to thee. (Finch uomo potr respirare o occhio vedere, questo sonetto vivr e ti dar vita). Per quanto riguarda larchiviazione digitale sono pi propenso a seguire Clive James: Non sentirai mai da me che il tuo nome vivr nch il sole sar freddo. Non puoi aspettarti di essere ricordato; non credere che sia cos sciocco.
Dennis Ritchie, in piedi, e Ken Thompson a lavoro su un PDP-11 nel 1972. Alzi la mano chi si ricorda dei DECtape e delle console telescriventi
da Bill Clinton) nel 1999 e il Japan Prize for Information and Communication nel 2011. La morte di Jobs ha generato un numero enorme di commenti che la morte di Ritchie non raggiunger mai. Ma quelli tra noi (e non sono pochi) che sono consapevoli dei contributi di Ritchie provano un profondo senso di gratitudine nei suoi confronti. Se lo spirito di Jobs e quello di Ritchie dovessero ritrovarsi su unisola deserta forse Jobs riuscirebbe ad accendere il fuoco, ma sarebbe Ritchie a procurare la legna.
26
Sysadmin
In alternativa per identicare la partizione pu essere usata letichetta assegnata al lesystem al momento della creazione (mke2fs -L).
Il tipo del lesystem. Tra i tipi supportati ci sono ext2, ext3, ext4, reiserfs, iso9660, nfs e molti altri.
Lordine seguito da fsck per vericare i lesystem allavvio del sistema. Di solito 1 = partizione root, >1 = partizione diversa dalla root, 0 = nessun controllo (per esempio per i supporti removibili o il montaggio NFS).
$ mount /dev/sdc anzich con il comando $ mount /dev/sdc /media/cdrom Inoltre lopzione User indica che gli utenti diversi da root possono montare il dispositivo. Per default solo root pu eseguire operazioni di montaggio e smontaggio. In fstab potrete anche trovare righe che non corrispondono a lesystem sici ma a pseudo lesystem, che sono solo il frutto dellimmaginazione del kernel. Forniscono una vista in forma di lesystem sulle strutture dati del kernel. Esempi di questo genere sono il lesystem proc (di solito montato su /proc) e il lesystem sysfs (montato su /sys).
1 La sintassi di fstab piuttosto semplice, ma un errore in questo le pu impedire al sistema di avviarsi correttamente
Il punto di montaggio. Il nome del dispositivo. Dice al kernel di determinare automaticamente il tipo del lesystem. Non consigliabile eseguire il backup o la verica con fsck di un supporto removibile.
2 Una tipica riga di fstab per un supporto removibile come un CD o un DVD. Permette agli utenti diversi da root di montarlo LINUX PRO 116
27
Sysadmin
Augeas usa delle lenti per trasformare i tradizionali le di congurazione nella vista ad albero e viceversa
/les/etc/passwd/maria/home = /home/maria Usando Augeas vi occorre conoscere il nome del nodo appropriato allinterno dellalbero (quel nome contiene il percorso del sottostante le di congurazione) e sapere che Augeas chiama home lelemento che denisce la directory home, ma non dovete preoccuparvi di due punti, grep o cut. Andiamo un po oltre. Supponete di voler modicare la directory home di Maria in /export/ maria. un risultato abbastanza facile da ottenere modicando direttamente il le passwd, ma farlo da programma (usando uno script di shell) pi difcile: # sed /^maria:/s/\/home\/maria/\/export\/maria/ /etc/passwd >passwd-temp # mv passwd-temp /etc/passwd Anche in questo caso molto pi facile con augtool: # augtool -s set /les/etc/passwd/maria/home /export/maria Lopzione -s dice ad augtool di salvare la versione aggiornata dellalbero nel le di congurazione nativo. Quando esegue questa operazione augtool si preoccupa di lasciare tutto il resto esattamente comera. Ad esempio lordine degli elementi del le, e persino i commenti, sono conservati. Ecco un altro esempio leggermente pi complesso, rubato dal sito Web di Augeas. Vogliamo modicare /etc/grub.conf in modo che per default Grub faccia partire il secondo elemento del le e rimuovere completamente il terzo elemento. Con Augeas semplice: # augtool -s set /les/etc/grub.conf/default 1 # augtool -s rm /les/etc/grub.conf/title[3] La cosa davvero notevole di Augeas che tutti gli elementi della congurazione sono manipolati allo stesso modo, indipendentemente dai differenti formati nativi. A questo punto dobbiamo far notare che c un bug nella versione 0.9 di Augeas (quella presente nel repository di Fedora 15) che impedisce allopzione Autosave (-s) di funzionare. una bella seccatura, ma dovrebbe essere risolto presto. Si pu anche usare interattivamente augtool, lanciandolo senza argomenti. Lesempio precedente si presenterebbe cos:
28
Sysadmin
# augtool augtool> set /les/etc/grub.conf/default 1 augtool> rm /les/etc/grub.conf/title[3] augtool> save Saved 1 le(s) augtool> quit anche possibile visualizzare un intero sottoalbero specicando il suo nodo di livello massimo. Possiamo stampare tutti i campi della riga relativa a Maria in passwd: augtool print /les/etc/passwd/maria /les/etc/passwd/maria /les/etc/passwd/maria/password = x /les/etc/passwd/maria/uid = 501 /les/etc/passwd/maria/gid = 501 /les/etc/passwd/maria/name /les/etc/passwd/maria/home = /export/maria /les/etc/passwd/maria/shell = /bin/bash Spostandoci in su di un livello possiamo stampare lintero le passwd (in questo caso mostriamo solo il comando): # augtool print /les/etc/passwd e, come caso estremo, possiamo mostrare lintero albero: # augtool print /les Possiamo anche eseguire delle ricerche sullalbero usando dei caratteri jolly allinterno del percorso e opzionalmente una corrispondenza esatta sul valore del nodo. Nellesempio seguente cerchiamo lutente con identicativo 501: $ augtool match /les/etc/passwd/*/uid 501 /les/etc/passwd/maria/uid o, in forma pi succinta: # augtool match /les//uid 501 I caratteri jolly (chiamate pi propriamente path expression, espressioni di percorso) sono ispirate a XPATH, una potente notazione usata per specicare parti di un documento XML. Non cercher di darne una descrizione completa, ma mi accontenter di presentare un paio di esempi. Per prima cosa stampiamo lultimo blocco di istruzioni del le grub.conf: # augtool print /les/etc/grub.conf/title[last()] Un esempio leggermente pi interessante la ricerca dellindirizzo IP dellhost jupiter.example.com: # augtool match /les/etc/hosts/*/ipaddr[../alias = jupiter.example.com] /les/etc/hosts/4/ipaddr = 192.168.81.46 A essere onesti non ci sembra che questo comando costituisca una valida alternativa al metodo tradizionale: # grep jupiter.example.com /etc/hosts 192.168.81.46 jupiter jupiter.example.com Vediamo inne come aggiungere un nuovo nodo allalbero. In questo caso eseguiamo interattivamente augtool per aggiungere un nuovo server di nomi
La radice dellalbero Augeas Il percorso del le La seconda riga
allinterno di /etc/resolv.conf, assicurandoci che venga inserito per primo nella lista: augtool> ins nameserver before /les/etc/resolv.conf/nameserver[1] augtool> set /les/etc/resolv.conf/nameserver[1] 192.168.81.1 augtool> save La differenza tra i le di congurazione nativi e lalbero di Augeas in parte simile alla differenza che passa tra HTML e XML. Ad esempio, se visitate www.nationalrail.co.uk per cercare lorario di un treno lHTML che ottenete come risultato molto piacevole da guardare con un browser, ma molto difcile da analizzare da parte di un programma perch richiede unapprofondita conoscenza della struttura del documento. Al contrario le auto-esplicative risposte XML fornite dai servizi Web (denite formalmente usando WSDL o JSON) sono espressamente progettate per essere analizzate da un programma. Analogamente il nome di percorso di un elemento nellalbero Augeas auto-esplicativo, mentre i campi allinterno di un tipico le di congurazione in /etc non lo sono. Questo ci ricorda anche la gerarchia ad albero delle informazioni di congurazione del kernel che si trova allinterno del lesystem /proc/sys. Ad esempio, lelemento /proc/sys/net/ipv4/ip_forward controlla labilitazione del forwarding dei pacchetti IP. Il comando sysctl pi o meno simile ad augtool: , per esempio, possibile impostare il parametro ip_forward dalla riga di comando in questo modo: # sysctl -w net.ipv4.ip_forward=1 La trasformazione dai formati nativi dei le di congurazione alla vista ad albero non avviene per magia. eseguita usando le lenti (lenses), che sono denite dai le *.aug che si trovano nella directory /usr/share/augeas/lenses/dist (in Fedora questi le fanno parte del pacchetto augeas-lib). Ad esempio /usr/share/augeas/lenses/dist/sshd.aug denisce gli elementi presenti in /etc/ssh/sshd_cong. Questi le sono scritti in un sottoinsieme del linguaggio di programmazione funzionale ML. Lo sviluppo delle lenti non alla portata di tutti, dato che richiede la padronanza delle espressioni regolari e unapprofondita conoscenza degli elementi e della sintassi del le in questione. Una delle cose pi interessanti, per, che le lenti sono sufcienti non solo a controllare la conversione dai le di testo alla vista ad albero, ma anche a trattare la trasformazione inversa. Se siete interessati ad Augeas installatelo e iniziate a giocarci (leggete il box Lavorare in sicurezza per qualche suggerimento). disponibile per tutte le distro basate su Red Hat (RHEL, CentOS, Fedora) e per i derivati di Debian, tra cui Ubuntu. LXP
La posizione di un elemento allinterno dellalbero di Augeas dipende da quello che c nel le e dalla sua posizione allinterno del le
{ {
/files/etc/hosts/2/alias[2]
Il secondo alias del nome della macchina
Lavorare in sicurezza
Se volete provare a usare Augeas senza correre il rischio di danneggiare irreparabilmente la congurazione del vostro sistema potete creare una sandbox (una sorta di mini ambiente chroot) creando una directory temporanea, copiandovi dentro il contenuto di /etc e impostando la variabile di ambiente AUGEAS_ROOT, pi o meno cos: export AUGEAS_ROOT=/tmp/augeas-sandbox mkdir $AUGEAS_ROOT sudo cp -pr /etc $AUGEAS_ROOT sudo chown -R chris:chris $AUGEAS_ROOT Fate attenzione per quando aprite una nuova nestra di terminale: la sua shell non erediter la variabile AUGEAS_ROOT e vi ritroverete a lavora con i le reali in /etc.
earth.example.com mars.example.com
earth.local mars.local
29
Langolo di Android
ndroid nasce ormai quattro anni fa come sistema operativo Open Source basato sulla versione 2.6 del kernel Linux e sviluppato dal consorzio di produttori della Open Handset Alliance, di cui Google era il principale componente. Ebbe subito successo proprio in quanto non legato a un solo produttore come Apple con iPhone, Nokia per Symbian o tantomeno Microsoft con Windows Mobile. In tutti questi anni, per, il peso di Google aumentato notevolmente e oggi anche solo per accedere a un dispositivo Android occorre avere un account Google, mentre praticamente tutte le principali app sono realizzate a Mountain View. I tanti appassionati di Software Libero non si sono per rassegnati ad avere un padrone e hanno deciso di approttare della natura parzialmente libera del sistema operativo realizzando delle versioni di Android personalizzate che non contenessero alcun software proprietario. Grazie a comunit di appassionati programmatori di tutto il mondo loperazione ha avuto successo e oggi praticamente per tutti
i terminali Android esistono ROM modicate che in alcuni casi, come quello di CyanogenMod, non solo possono fare a meno delle app di Google ma risultano anche decisamente pi veloci. In realt per avere uno smartphone Google Free non basta disinstallare app come GMail o Google Maps, operazione tra laltro impossibile in quanto si tratta di software di sistema, ma occorre proprio reinstallare il sistema operativo e prima ancora sbloccare il bootloader in modo da avere i privilegi di root. A seconda del vostro dispositivo, lo sblocco pu essere pi o meno facile, in tutti i casi occorre per mettere in conto lannullamento della garanzia da parte del produttore, a meno che, ed possibile, non si ripristini la ROM originale. Per maggiori informazioni sullo sblocco dei dispositivi vi rimandiamo alla community di XDA Developers, www. xdadevelopers. com.
un sistema operativo totalmente libero da applicazioni Google che per al momento gira solo su un numero limitato di dispositivi come Nexus S, Nexus One e HTC Dream e oltretutto richiede linstallazione via terminale. Molto pi semplice rivolgersi a un gruppo di appassionati indipendenti che hanno messo in piedi CyanogenMod, www.cyanogenmod.com, rendendo disponibili delle ROM Vanilla (senza cio app di Google o comunque commerciali) per 56 dispositivi differenti. Il vantaggio delle ROM CianogenMod che possono essere facilmente installate dalla recovery dello smartphone, senza bisogno perci di passare dal terminale del PC. Oltretutto CyanogenMod gi compatibile per alcuni modelli pi recenti anche con Ice Cream Sandwich, lultima versione di Android. Noi lo abbiamo provato con un vecchio ma sempre valido Nexus One, il primo terminale Android sviluppato direttamente sotto il controllo di Google. Una volta installata la Cyanogen 7.1, che non altro che una versione libera da app Google di Gingerbread, ci siamo ritrovati con un sistema decisamente pi leggero e questo in un dispositivo che ha nella poca memoria disponibile per le app uno dei suoi limiti pi grandi, non niente male. Naturalmente non ci stato richiesto linserimento
dellaccount di Google ma tutte le principali app necessarie per la gestione di uno smartphone evoluto erano comunque presenti, a partire da quelle per la gestione dei contatti, browser, client mail, le manager e persino radio FM. Insieme a GMail, GTalk, GMaps manca naturalmente anche il Market e quindi per trovare altre app dovrete rivolgervi a un market alternativo come FDroid, consigliato direttamente dalla Free Software Foundation Europe.
Repository su misura
FDroid, http://f-droid.org, non altro che un repository di applicazioni con licenza GPL o Apache che viene continuamente aggiornato da una sempre crescente community di appassionati. Lapp FDroid non presente su CyanogenMod, dovrete perci scaricare dal sito il le fdroid.apk e quindi trasferirlo sullo smartphone per poi installarlo con il le manager. Attualmente ci sono quasi 200 app di ogni tipo in grado di coprire senza particolari problemi la maggior parte delle categorie presenti nel Market di Google. Potrete cos, per esempio,
30
Langolo di Android
installare Text Edit per leggere e modicare documenti Ofce, caricando contemporaneamente un dizionario italiano o di una delle tante lingue disponibili. Se vi piace leggere potrete installare FBReader, un lettore di ebook compatibile con gli standard epub e mobi che tra laltro presente anche nel Market di Google. Mancano invece i giochi 3D o le app social pi trendy del momento come FourSquare o Facebook, ma questo non dovrebbe rappresentare un grande problema per chi ama il Software Libero, anche perch poi ai social si accede benissimo dal browser. La cosa importante che il software veramente utile presente, il caso per esempio dei software di navigazione GPS che sfruttano le mappe libere da diritti OpenStreetMap che hanno ormai raggiunto un grado
di copertura anche in Italia paragonabile a quello di alcune soluzioni commerciali. Anche il problema della sincronizzazione della rubrica o del calendario superato con app come ACal che sfrutta server Cal/DAV, o come Kolab Android che si sincronizza con cartelle Kolab/IMAP.
rmware e driver per la gestione delle varie componenti hardware dello smartphone, a partire da sezione telefonica, Wi-Fi, bluetooth, GPS e in qualche caso anche dallo stesso microfono. Il problema che ogni produttore adotta una politica differente per quanto riguarda driver e rmware e teoricamente potrebbe tenere
Naturalmente restano buchi ancora dei buchi, con app anche importanti la cui controparte libera ancora non esiste, per questo una delle attivit della Free Software Foundation Europe quella di liberare le app, convincendo gli sviluppatori a fornire una versione free dei loro software per il market FDroid. In alternativa viene richiesto agli appassionati di contribuire al progetto realizzando direttamente delle app che potranno poi aggiungere direttamente alla repository di FDroid.
sotto controllo le nostre conversazioni e i nostri movimenti in Rete. Varie comunit di hacker e sviluppatori indipendenti stanno cercando di scrivere driver e rmware liberi da sostituire a quelli preesistenti, ma la strada decisamente lunga, anche perch i terminali hanno una vita media che diventa sempre pi breve e intervenire su di un dispositivo richiede molto tempo e lavoro. Al momento lunica soluzione disponibile per garantirsi la massima libert da eventuali spioni quella di controllare con la massima attenzione le app che inseriamo e provare a installare unapp specica per la cifratura dei le di sistema come APG, che sfrutta il sempre valido protocollo OpenPGP per la protezione dei dati. Inutile sottolineare che APG, come tutte le altre app che trovate nel market FDroid, sono completamente gratuite. LXP
Driver proprietari
Un sistema operativo complesso come Android non si ferma per alle app, ma comprende anche
LINUX PRO 116
31
alaxy Nexus stato senza dubbio uno degli smartphone pi attesi ma alla prova dei fatti, come capita spesso con tutto quello che viene desiderato a lungo, ha lasciato molti un po delusi. Eppure i numeri per sfondare li ha tutti, a partire dallo schermo Super Amoled da 4,65 con risoluzione da 1.280x720 pixel che, grazie alla scomparsa dei tasti sici, occupa integralmente la parte anteriore del terminale. E poi naturalmente un sistema operativo nuovo di zecca come Android 4.0 Ice Cream Sandwich che d il meglio di s proprio su schermi di grandi dimensioni come questo e che offre soluzioni innovative come lo Sblocco con un sorriso, Beam, cio il trasferimento dei le che avviene semplicemente avvicinando tra loro dispositivi compatibili, e il chip NFC che prima o poi dovrebbe trasformare lo smartphone in un borsellino elettronico.
La batteria ha una capacit superiore alla media, ma la buona autonomia del Galaxy Nexus dipende anche dallottimizzazione effettuata da Samsung
C sempre un per
E allora cosa c che non va? Si tratta di tanti piccoli particolari che presi singolarmente non costituiscono un gran problema, ma che insieme possono compromettere leffetto di stupore che tutti si aspettano da uno smartphone che a ben vedere costa lequivalente di mezzo stipendio. Il confronto viene naturale prima di tutto con il Galaxy S II della stessa Samsung, che non per niente stato votato da una giuria di esperti al World Mobile Congress come miglior smartphone del 2011. E infatti, nonostante la risoluzione sia inferiore, la qualit del display di Galaxy S II migliore in quanto stata utilizzata
la tecnologia Super Amoled Plus Full RGB, mentre il Galaxy Nexus usa la tecnologia Super Amoled Pentile, cio praticamente interpola i pixel per ottenere una maggiore risoluzione. Il tutto si traduce in una maggiore brillantezza per il modello pi vecchio soprattutto sotto la luce diretta del sole, anche se poi vedere un lm in HD col Galaxy Plus rimane comunque tutta unaltra cosa. Nonostante la presenza in entrambi i modelli del chip dual core, un altro limite del nuovo Nexus costituito dalla sezione graca meno efcace e la dimostrazione facile ottenerla con i classici benchmark che lo vedono soccombere rispetto alla maggior parte dei terminali pi nuovi. E poi ci sono altri particolari non da poco conto come la mancanza dellalloggiamento per le schede di memoria, che alla
lunga comporta il rischio di rimanere senza spazio per larchiviazione dei dati, considerando che la memoria effettiva a vostra disposizione di soli 14 GB. Manca anche la funzione di memoria di massa e se questo un problema relativo per chi ha un PC Windows e riesce perci a vedere ugualmente il contenuto del terminale dal PC, diventa un fastidio per gli utenti Linux. Inne la fotocamera, che pur essendo di buona qualit e in grado di riprendere video Full HD, ha un sensore da soli 5 Megapixel, decisamente sottodimensionato per un modello di fascia alta come il Galaxy Nexus. Pur prendendo nella dovuta considerazione tutti questi limiti, il Nexus Galaxy rimane un ottimo prodotto, la struttura arrotondata simile a quella del Nexus S ma con una plastica
pi resistente ci permette di evitare leffetto saponetta di altri modelli e anche il peso di 135 grammi inferiore a quello delliPhone che pure ha uno schermo da soli 3,5 pollici. La sezione hardware poi particolarmente completa e, oltre a tutti i sensori presenti anche su altri modelli, ha lesclusiva del barometro, che serve per velocizzare il x del GPS e in prospettiva anche per elaborare previsioni del tempo che non siano quelle prese dalla Rete. Inoltre la sezione antenne particolarmente ben costruita sia a livello Wi-Fi che 3G, non abbiamo mai avuto problemi con la linea anche dove modelli altrettanto costosi facevano fatica. Anche la sezione audio durante le telefonare ci ha soddisfatto, meno nellutilizzo come vivavoce visto che laltoparlante letteralmente incassato nella parte posteriore del terminale. Abbiamo inne particolarmente apprezzato lautonomia, notevolmente superiore a quella del Galaxy S II e del Nexus S, ma questo dipende a nostro parere anche un certo abbassamento delle impostazioni di clock studiato da Samsung che ha, giustamente, anteposto lautonomia alle prestazioni. LXP
Giudizio
Galaxy Nexus
Produttore: Samsung Web: www.samsung.it Prezzo: 599,00
Il voto di
Linux Pro
34
Recensioni
Tutte le novit in campo software e hardware testate e valutate ogni mese dai nostri laboratori
QUESTO MESE...
Test >> Corel AfterShot Pro
Fotoritocco e gestione delle foto, tutto in un unico tool dallinterfaccia pag. 36 particolare
Gentoo 12 DVD
Una distro complicata pu generare il miglior LiveDVD del pianeta? pag. 37 Scopritelo con noi
Braid
Un gioco di piattaforme e puzzle nel quale avrete il controllo dello spazio/tempo, anche se non sar sufficiente per vincere! pag. 38
Braid
In libreria
WordPress 3 Cookbook Android 3 Guida per lo sviluppatore Cloud Computing pag. 39
Confronto >>
Le migliori distro per i computer dalle scarse prestazioni pag. 40 Puppy Linux WattOS Linux Mint LXDE Bodhi Linux Tiny Core Linux
Puppy Linux
48 49 49 50 50
Phlipple
LINUX PRO 116
35
n passato cera Bibble ed era lunica soluzione stabile per laccesso alle foto in formato RAW delle macchine fotogra che. Da qualche tempo questo progetto stato acquisto da Corel e rinominato in AfterShot Pro. Ora disponibile per tutte le piattaforme (per Linux si trovano gli RPM e i DEB a 32 e 64 bit una volta installato necessario scegliere la lingua italiana nel menu di con gurazione se lo si vuole usare nella nostra lingua), costa meno di quanto non costasse Bibble e Corel ha promesso di continuare a supportare GNU/Linux.
Cosa c di nuovo
Cosmeticamente non ci sono molte differenze tra AfterShot Pro e Bibble. Anche se c stato un aggiornamento con lintroduzione di menu e cursori, il layout di base sempre lo stesso, con i suoi pregi e i suoi difetti. Tutto quello che vi serve si trova nel menu Modi ca in alto a sinistra, potete portare una foto RAW in qualunque altro formato senza lasciare il programma, anche se ora presente unopzione
per avviare un editor esterno se volete fare degli interventi con GIMP. Rimane il vecchio problema, riscontrato da diversi professioni, che il layout terribile per luso con un setup multi schermo. Una bella novit che AfterShot Pro importa le foto in un lampo, cosa che Bibble non faceva con la stessa ef cienza. Accoppiato ci con un disco SSD veloce, abbiamo importato (applicando i preset di default) circa 500 foto RAW Nikon in poco pi di due minuti. Ci sono stati dei miglioramenti anche nel sistema di gestione delle foto, i Cataloghi, che ora pi semplice e comprensibile. A dir la verit si persa la funzione di Bibble che consentiva di guardare delle cartelle importando automaticamente gli scatti, ma questa cosa non ha mai funzionato alla perfezione. Il cambiamento maggiore, per, riguarda il sistema di gestione dei colori, che stato completamente riscritto. Bibble usava una tecnologia con licenza Kodak per elaborare i le RAW e applicare gli effetti: il nuovo motore stato programmato internamente e questo
AfterShot Pro riesce a mantenere alti livelli nei dettagli anche con le foto pi difcili, ad esempio quelle molto scure
ha portato la ripro latura di fotocamere e lenti, oltre al cambiamento di un paio di tool. Rispetto a Bibble sparito il menu Looks per limportazione, ma non una gran perdita. Se non avete mai usato Bibble non ne sentirete la mancanza, godendo invece dei bene ci del nuovo sistema di elaborazione. Far ottenere agli scatti laspetto che volete semplice, e per le ombre e per altri dettagli trovate nuove opzioni non disponibili altrove. Anche il rumore (o disturbo) viene gestito al meglio con una
nuova funzione che offre grandi risultati. Vale la pena passare dal vecchio Bibble a Corel AfterShot Pro? Secondo noi s, forse solo gli utenti contenti dellultima versione di Bibble possono rimanere dove sono. Comunque AfterShot Pro davvero un tool eccellente, forse il migliore sotto Linux. Una critica rispetto a Bibble riguarda i plug-in: quelli del vecchio programma non funzionano in AfterShot Pro, ma Corel sta lavorando per aggiornare i pi famosi tra i plug-in di Bibble. LXP
Giudizio
Corel AfterShot Pro
Produttore: Corel Web: www.corel.com/aftershotpro Prezzo: 89,99
9.5 10 8 9
1 Importare i folder
La funzione Cataloghi non fondamentale, ma parecchio comoda: vi consente di trovare pi rapidamente gli scatti.
2 Al posto giusto
Indicate una cartella sul disco e selezionate un catalogo in cui importare le foto. AfterShot Pro non sposter i le sul disco.
3 Ricerche
Usando il menu Browser Metadati potete cercare in base alla data, alla lunghezza focale e ad altri dati EXIF.
C qualche problemino, ma AfterShot Pro una delle poche scelte serie sotto Linux per i fotografi.
Il voto di
Linux Pro
36
Gentoo 12 DVD
I Maya devono avere torno. Linux Pro dice che la fine del mondo deve essere rimandata perch tutti devono avere il tempo di provare il miglior LiveDVD di sempre
arlando di Gentoo qualcuno potrebbe spaventarsi: una distro che richiede la compilazione da zero di qualunque software, partendo dal kernel, in effetti, fa un po paura. Se quindi non intuite subito lo scopo di un LiveDVD offerto da tale distro, nessuno pu biasimarvi. Da una parte c una distro che vi consente di controllare tutto quello che succede nel sistema, dallaltra un LiveDVD pieno zeppo di applicazioni, Window Manager, ambienti desktop e molto altro. Eppure Gentoo 12 DVD non un disco Live come tutti gli altri.
pensato per mostrare tutta la potenza di GNU/Linux. Include tutti gli strumenti pi popolari di cui potreste aver bisogno, indipendentemente dal tipo di macchina dovete usare. Sia che si tratti di un ambiente desktop con dei fantastici effetti graci, o un desktop leggero che deve girare con soli 128 MB di RAM, il DVD ha tutto. Ad accompagnare il kernel 3.1.5 trovate GNOME 3.2.1, KDE 4.7.4, Xfce 4.8, Fluxbox 1.3.2 e altro ancora. Gentoo 12 si avvia di default con KDE, ma potete scegliere un altro ambiente. Diversamente da quanto capita con altre distro, che sembrano legarsi a un ambiente relegando gli altri desktop al ruolo di gli minori, Gentoo si trova a suo agio con tutti gli ambienti, e questo si riverbera positivamente sullutente. Il nome utente di default gentoo e, stranamente, non c password. Se durante luso vi dovesse poi servire lutente root, seguite quanto detto qui: http://bit.ly/GW9D9m.
Questo LiveDVD offre ottime prestazioni e una valanga di software, cosa volete di pi?
Utenti viziati
Lelenco delle applicazioni incluse troppo lungo per riportarlo qui. Vi basti sapere che il DVD include tutti i tool
In evidenza
Tool extra
Tra gli altri, Gentoo 12 DVD vi mette a disposizione un gran numero di tool di sistema e per la diagnostica.
La scelta buona
Una grande gamma di ambineti desktop e applicazioni. C praticamente di tutto e anche di pi. Provatela subito!
pi popolari di ogni categoria. Quindi potete scegliere tra VLC, Xine, MPlayer e Totem per riprodurre qualunque tipo di le multimediale, poi avete a disposizione praticamente qualunque editor di testo, da Vim, GVim, Emacs, Joe e Nano a Gedit e KWrite. Client e-mail? Scegliete tra KMail, Evolution, Thunderbird, Sylpheed e Claws Mail. E non preoccupatevi, ci sono anche i giochi. Lasciateci dire solo che che la sezione Giochi molto ben popolata, con categorie che coprono gli arcade, i puzzle e i giochi da tavolo. Troverete anche un assortimento di strumenti per il recovery system, il benchmarking e il backup. LISO include anche i driver per un gran numero di dispositivi, ma nel caso aveste una scheda Wi-Fi non supportata, potete installare i driver voi stessi. Fate riferimento a http://bit.ly/ wCC6nT per altre informazioni. Potete usare dd per scrivere lISO su una chiave USB. Se la chiave pi grande di 8 GB, c una guida che vi spiega come abilitare lo storage persistente cos da ritrovare il vostro lavoro al successivo reboot. Quando avviate da DVD, lultima voce del bootloader Extra Boot
Images. Da qui potete accedere a vari strumenti che vi consentono di usare il DVD come strumento di ripristino o per fare benchmark. Questi strumenti vi fanno usare il DVD anche per partizionare i dischi o per modicare/ resettare le password di Windows. C anche un software per eseguire diagnosi sugli hard disk e uno per cancellare in modo sicuro i dati dalle periferiche di memorizzazione. Insomma, un LiveDVD da avere sempre a portata di mano. LXP
Giudizio
Gentoo 12 DVD
Sviluppatore: la comunit di Gentoo Web: www.gentoo.org Prezzo: gratis
10 9 10 9
Il voto di
Linux Pro
9.5
37
Test Braid
Braid
Linux Pro cerca di non dire troppo su quello che potrebbe rivelarsi uno dei migliori giochi indipendenti mai giunti in redazione. Di certo non vi far annoiare
ecensire Braid ci fa sentire strani. Non sembra una pratica che ci possa portare da qualche parte. Braid un gioco che fa cose cos speciali che parlarne troppo rovinerebbe completamente quella che unesperienza di gioco toccante e superlativa. Quindi non guardate a questa pagina come a una recensione, ma piuttosto come a una serie di superlativi e come una forte raccomandazione: Braid brillante. Forse possiamo dire senza timori che si tratta di un gioco di piattaforme con puzzle cerebrali che si basa sulla capacit del personaggio principale di manipolare il tempo. Visto che ci sono delle schermate in questa pagina, possiamo anche rivelarvi che il mondo di Braid splendidamente colorato e meticolosamente costruito. un mondo tanto aggraziato quanto progressivo, che si arricchisce man mano che si presentano nuove abilit e nuovi ostacoli. La sontuosa graca funzionale ed disegnata in modo chiaro e intelligente come il resto del gioco: non avrete mai dubbi su ci che sta accadendo, n di come funzionano le cose. Questa familiarit non vuol dire che il gioco sia facile, comunque.
I In evidenza
Semplice problema
Un brutto tizio con la chiave che vi serve si trova in fondo a un buco da cui non potete saltare via. Come superare lostacolo?
Diventerete matti nel tentativo di risolvere i puzzle pi ottusi, come capitato a noi, ed richiesto un certo livello di abilit con i giochi di piattaforme, anche se immaginiamo che chiunque possa giocarci. Se potete La graca artistica di Braid ben si sposa con il personaggio e i variegati livelli come questo con il boss di ne livello non vi fanno mai annoiare attivate un joypad Braid Quando affronterete un boss ci stavamo sfregando le mani arriva dallXbox 360, e la sua o un puzzle, sar lingegnosit nellattesa che venisse rilasciato eredit fa s che sia meglio e linsieme di trucchi e singolarmente cos da potervene giocabile con i pollici piuttosto tecniche imparate in precedenza consigliare fortemente lacquisto. che con le dita spiaccicate sulla a farvi andare avanti. Ora fa parte dellUbuntu tastiera. Il fatto che il gioco Software Center, quindi non vi tenga per mano Mondi differenti non avete pi scuse: una delle ragioni per cui Il gioco diviso in diversi mondi, acquistatelo! Ora! Se riuscite procedere tra i livelli di Braid ognuno dei quali svela un altro a dimenticare la sua eredit delle cos soddisfacente, assieme elemento della splendida console e dovreste riuscirci a un altro motivo che non sceneggiatura e presenta e se non vi importa la sua vi sveliamo, sta a voi scoprirlo. un altro intelligente meccanismo relativamente corta durata Ci sono solo due cartelli in tutto per lo slittamento del tempo situazione mediata dal tempo il gioco: uno vi dice come con cui giocare. Il design che spenderete per decifrare scalare, un altro come saltare. dei livelli di Braid che, come i puzzle la cui arguzia migliora Occasionalmente vi verr avrete intuito, la parte critica di livello in livello un gioco che indicato il tasto da premere per di ogni gioco di piattaforme dovete assolutamente aggiungere interagire con un componente davvero eccellente. alla vostra collezione. LXP del livello o per pasticciare Non c un movimento sprecato, con il tempo se qualcosa va terribilmente storto. Ed cos. e siamo rimasti meravigliati dallefcienza, immediatezza e ingegnosit degli schemi. Tutto ha senso, tutto ha un suo Braid posto, e Braid stato ridotto Sviluppatore: Number One al contenuto pi critico, tagliando Web: www.braid-game.com Prezzo: $ 9,99 il superuo. I nemici non sono molto vari, ma non hanno Gameplay 10 bisogno di esserlo: Tim, Grafica 10 il personaggio principale, Longevit 9 non deve abbatterli, ma piuttosto Qualit/prezzo 10 conquistare il gioco. Quindi Anche se non amate ecco la questione: Braid platform o puzzle, il fascino , come gi detto, brillante. Semplice soluzione e la complessit di Braid Saltate nel buco. Uccidete il tizio. Veramente. E visto che faceva vi rapiranno di sicuro. Recuperate la chiave. Fate tornare parte del secondo Humble indietro il tempo al momento Indie Bundle (un insieme in cui non eravate dentro il buco. Linux Pro di giochi indipendenti)
Giudizio
Il voto di
9.5
38
In libreria Test
Cookbook
opo circa due anni dalla pubblicazione del libro precedente dedicato alla programmazione di Android, Massimo Carli e Apogeo ci offrono una versione aggiornata e rivista del volume, che ora copre la versione 3 (ancora molto diffuso nonostante il rilascio
della versione 4). Si parte dalle basi, spiegando le peculiarit della piattaforma Android e linstallazione dellambiente di programmazione per passare ai vari elementi: View, Activity, widget, menu e tutti gli altri componenti con cui si realizzano le applicazioni. Si parla sia di app per smartphone che quelle per tablet (c un capitolo dedicato a questo aspetto) e il numero di esempi di codice con cui sperimentare pi che buono. Tutto il codice ben commentato e supportato da schermate e schemi che chiariscono e illustrano i vari aspetti. Il lettore viene quindi accompagnato dai primi passi no alla creazione di unapp completa. Per capire e memorizzare a fondo tutti i consigli e le spiegazioni dellautore necessario provare direttamente quanto illustrato, scaricando magari gli esempi
di codice forniti online. Alla ne della lettura (sono ben 600 pagine), con un po di prove e avendo gi una base di conoscenze in fatto di programmazione e di Java, il lettore sar in possesso di tutti i mattoncini necessari alla creazione di app, anche per le versioni future di Android.
La soluzione ai problemi
Giudizio
Android 3 Guida per lo sviluppatore
Autori: Massimo Carli Editore: Apogeo ISBN: 978-88-503-3073-7 Pagine 600 Prezzo: 39,00
Copre tutti gli argomenti del caso, le spiegazioni sono chiare, il livello di difficolt medio.
Il voto di
Linux Pro
8.5
Cloud computing
Una guida alla nuvola per amministratori e manager
ordPress un gran strumento per la creazione di blog. Chi inizia a usarlo, dopo la mera installazione, pu incappare in alcuni problemi. Questo volume di Packt Publishing raccoglie le risposte a un centinaio di dubbi. Ogni ricetta in pratica una guida passo passo che guida il lettore al raggiungimento dellobiettivo. A dir la verit una parte delle istruzioni i primi passi si ripetono di ricetta in ricetta, risultando un po fastidiosi. In generale per, le spiegazioni sono dirette e precise, davvero molto utili. Si va dalla personalizzazione dei temi e dei post pubblicati, allinterfacciamento con i social network e con i circuiti pubblicitari/ di vendita. Lultimo capitolo, dedicato alla sicurezza, poteva essere pi esteso. Non certo un libro da leggersi dalla prima allultima pagina, ma perfetto come riferimento, anche per chi ha gi un po di pratica con WP.
on un ritmo sempre crescente le infrastrutture si stanno spostando dalla sala server locale alla nuvola. Questa trasformazione non per un gioco da ragazzi per amministratori e manager, che devono dotarsi dei giusti strumenti per capire se questa tecnologia compatibile con le proprie esigenze.
In questa ottica il libro di George Reese ci appare davvero ben fatto. Pur basandosi spesso su una cloud specica, quella di Amazon, le spiegazioni valgono in generale. Il libro molto discorsivo, non troverete lunghi le di congurazione, ma vengono coperti tutti i punti chiave, sempre in modo esaustivo. Allinizio lautore spiega il nuovo paradigma, confrontandolo con la vecchia architettura locale e indicando cosa necessario vericare e conoscere prima di fare il passaggio. Poi passa a spiegare come creare le Web App e le immagini delle macchine virtuali da usare nella cloud. I capitoli 5 e 6 sono dedicati, rispettivamente, alla sicurezza e al disaster recovery. Inne, si indica come scalare la propria infrastruttura nella nuvola in caso di bisogno. da chiarire che il libro non una guida per tecnici, forse pi orientata ai manager che
vogliono conoscere tutti gli aspetti della questione. pur vero, per, che anche chi si occupa degli aspetti tecnici pu trovare utili suggerimenti ma non guide passo passo e avere una panoramica sugli aspetti di gestione dal punto di vista strategico. Insomma, unottima lettura, anche per chi solo curioso.
Giudizio
Cloud computing
Autore: George Reese Editore: Tecniche Nuove ISBN: 978-88-481-2493-5 Pagine 224 Prezzo: 24,90
Strategia e opportunit della cloud spiegate per bene, con qualche consiglio pi pratico per i tecnici.
Giudizio
WordPress 3 Cookbook
Autore: Ric Shreves, Jean-Baptiste
Jung
Editore: Packt Publishing ISBN: 978-1-84951-460-6 Pagine 318 Prezzo: 16,14 (ebook)
Chiaro, offre suggerimenti anche ai pi esperti.
Il voto di
Linux Pro
8.5
Il voto di Il voto di
8
39
Test Confronto
MODALIT DEL TEST
Per ottenere lhardware pi adatto per questo confronto, invece di prendere roba in prestito dai ragazzi di Computer Magazine, abbiamo preso una torcia per scendere nelloscuro antro del nostro garage e abbiamo rovistato tra i vecchi scatoloni. Quello che abbiamo trovato un computer con un singolo processore Celeron a 1,7 GHz. Abbiamo trovato anche un disco IDE da 20 GB e due banchi di RAM DIMM PC133 da 256 MB. Abbiamo iniziato con 256 MB di RAM e abbiamo messo ulteriori banchi di memoria solo quando siamo stati seriamente irritati dalle prestazioni lente di una distribuzione (cosa che, in realt, accaduta solo due volte). Laltra macchina su cui abbiamo provato le distribuzioni era un portatile con Celeron a 1,3 GHz, che aveva un solo modulo RAM da 1 GB, perci non potevamo sostituirlo con una minore quantit di RAM. Entrambe le macchine erano connesse a Internet con un cavo Ethernet.
ome se il ritmo di sviluppo dellhardware non fosse abbastanza alto, i software pi nuovi, affamati di risorse, rendono lhardware obsoleto quasi non appena lo prendete
Recenti sviluppi dellinterfaccia graca, come Unity di Ubuntu, hanno relegato altro hardware in softta, ma ancora possibile usarlo
dallo scaffale. Perci probabile che anche voi abbiate un sacco di hardware che diventato superato solo recentemente, cos come periferiche che non sono pi supportate dalle ultime versioni del kernel. Inoltre, recenti
sviluppi dellinterfaccia graca, come Unity di Ubuntu, hanno relegato altro hardware in softta. Ma ancora possibile fare buon uso di quelle vecchie macchine. In realt non sorprendente che un gran numero di sviluppatori Open Source stiano lavorando per rendere nuovamente utilizzabile lhardware obsoleto. Ci sono alternative leggere per ogni tipo di software. Le applicazioni da ufcio, come AbiWord e Gnumeric, sono ancora sviluppate, nonostante ci siano software dalle funzionalit complete come LibreOfce. Grazie alle crescenti richieste hardware degli ambienti graci, come GNOME 3 e KDE, gli utenti con hardware pi vecchio stanno scegliendo opzioni che
sono pi leggere sulle risorse, come LXDE. In questo confronto, vedremo alcuni dei progetti che raccolgono queste applicazioni leggere e le inseriscono nelle distribuzioni che usano giudiziosamente le risorse hardware scarse.
LA NOSTRA SELEZIONE
Puppy Linux WattOS Mint LXDE Bodhi Linux Tiny Core Linux
40
Confronto Test
Pacchetti predefiniti
Sono pronti per essere usati subito?
roprio come le versioni pi recenti, anche queste distribuzioni specializzate sono fornite con un gruppo di programmi preinstallati. Ma diversamente dalle nuove distro, che inseriscono lultima versione stabile delle applicazioni pi popolari, quelle per il vecchio hardware devono essere davvero esigenti sul software incluso. Non ha senso incorporare un succhiarisorse come LibreOfce su una distro che deve sofare nuova vita sullhardware abbandonato. Tiny Core Linux incorpora solo un terminale, un elaboratore di testi e un lanciatore di applicazioni sul leggero gestore di nestre FLWM. Avrete un pannello di controllo per gestire i servizi di avvio e congurare il lanciatore, ma qualsiasi altra cosa la dovrete prelevare dal suo gestore di pacchetti, compreso linstallatore se volete installare Tiny Core su disco. Bodhi Linux basato sul bello e ottimo gestore di nestre Enlightenment, e prende in prestito parecchi componenti dallambiente LXDE, come
lelaboratore di testi Leafpad e il gestore di le PCMan. Per qualsiasi altra cosa, avviate il browser Web Midori incluso e andate al centro software online di Bodhi. Parlando di LXDE, sia WattOS che Linux Mint LXDE sono dotati di questa leggera interfaccia. Oltre alle normali utilit di LXDE, come Leafpad e PCMan, WattOS include il gestore di password KeePassX, lo strumento per le copie di sicurezza Remastersys, il visualizzatore di documenti Evince e lelaboratore di foto fotoxx. Ci sono anche il client FTP FileZilla, il browser Chromium, Syhpleed per la posta elettronica, il client per Torrent Transmission, lelaboratore di testi AbiWord, il foglio di calcolo Gnumeric e i riproduttori multimediali Audacious e VLC. Linux Mint LXDE la distro pi pesante del confronto e la sola che include lelaboratore di immagini GIMP in modo predenito. Per Internet, ha Firefox, Pidgin per la messaggistica istantanea, Thunderbird per la posta elettronica, Transmission per Torrent, Xchat per IRC e anche
il client per Dropbox. Si attiene alla scelta popolare di AbiWord e Gnumeric, e per trattare tutti i tipi di le multimediali include i riproduttori Exaile, Mplayer e VLC. Puppy Linux, nonostante le sue piccole dimensioni, pieno zeppo di software. Ha unapplicazione per ogni tipo di utente. Ci sono programmi per la graca, la produttivit e per riprodurre, modicare e creare le di contenuti multimediali. Troverete di tutto, dalle applicazioni di nicchia, come HomeBank per controllare le vostre nanze, a quelle leggere, come AbiWord e a quelle complete come Mplayer. Puppy incorpora una pletora di applicazioni speciali, per bloccare le pubblicit dai siti Web e per telefonare via Internet, un programma per prendere
i podcast, uno per scaricare in modo sicuro, un riproduttore audio, unapplicazione per masterizzare DVD e altro ancora. Questo davvero tanto per una distribuzione della sua dimensione.
Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux
Codec ed estensioni
Flash e altre gingilli per il multimedia
a un punto di vista puramente pratico, le distribuzioni che richiedono di equipaggiare i browser con estensioni per riprodurre il contenuto Flash, o di installare i codec per trattare i le multimediali in formato proprietario, non sono alla portata di tutti. Se siete un utente cos, non sarete contenti di Tiny Core Linux, che vi richiede di installare tutto dal suo gestore di pacchetti. Bodhi Linux leggermente meglio, sebbene il sul browser Midori non sia equipaggiato con lestensione per Flash, potete installarla senza tanti problemi tramite il centro applicazioni della distro. Puppy Linux ha un punto in pi. Sebbene il suo browser Seamonkey
non sia equipaggiato per riprodurre il contenuto Flash, non appena andate a un sito Web che richiede Flash, per esempio YouTube, Puppy si offre di installare lestensione per voi. Potete anche installare lestensione dal gestore di pacchetti della distribuzione. Inoltre, la distribuzione contiene parecchi riproduttori multimediali, come Mplayer, per riprodurre tutti i tipi di formati multimediali. Daltra parte, il browser Chromium in WattOS ha lestensione per Flash e la distribuzione include anche il nonno di tutti i riproduttori multimediali, VLC, per trattare molti le multimediali. Linux Mint
LXDE supera tutte le altre distribuzioni. Il suo browser Firefox ha una serie di estensioni per trattare contenuti Flash, Java, DivX, RealPlayer, QuickTime e altri formati. Per i contenuti multimediali locali, la distribuzione ha tanto VLC quanto Mplayer, in aggiunta a uninterfaccia graca di Ndiswrapper per installare i driver di Windows per le reti wireless.
Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux
Tiny Core Linux vi richiede di installare tutto dal suo gestore di pacchetti
41
Test Confronto
Prestazioni e usabilit
Possono funzionare davvero come le distribuzioni di tutti i giorni?
roverete molte distribuzioni con componenti che non mettono a dura prova il vostro hardware datato. Ma adattare tutti quei componenti insieme senza soluzione di continuit e trasformare quel vecchio rottame in un computer che potete usare per i vostri compiti informatici quotidiani richiede un notevole lavoro. In una normale distribuzione per computer da scrivania, il numero di applicazioni che comprende ha uninuenza diretta sulla sua usabilit. Ma una distribuzione
destinata a vecchio hardware pi della somma delle sue applicazioni. Questo spiegherebbe perch alcune delle distro in questo confronto sono stracolme di applicazioni, mentre altre hanno appena quanto basta per farvi iniziare. Invece, gli sviluppatori di queste distribuzioni ottimizzano ogni possibile aspetto del sistema base per massimizzare le prestazioni, un parametro importante per valutare lusabilit di una distribuzione che deve essere idealmente usata con hardware datato.
Puppy Linux
WaryPuppy vi offre due server X, Xorg e Xvesa, per coprire una vasta gamma di hardware graco. Noi abbiamo usato il server Xvesa, poich Xorg non riuscito a individuare lhardware graco sulle nostre macchine. Gli utenti alle prime armi potrebbero essere intimiditi dallinstallatore di Puppy. Non ha un partizionatore automatico e avvia Gparted per formattare il disco. Ma ogni passo dellinstallatore ben documentato allinterno dellinstallatore stesso. Le prestazioni dellavvio e dellinstallazione di Puppy sono seconde solo a quelle di Tiny Core Linux. Lavvio delle applicazioni rapido, anche per le applicazioni pi pesanti come Mplayer e VLC, che abbiamo installato tramite il gestore di pacchetti. Questa stata la sola applicazione a funzionare male e a bloccarsi mentre installavamo le applicazioni, ma ha funzionato normalmente dopo loperazione.
WattOS
La distribuzione usa un installatore di Ubuntu modicato, che affasciner gli utenti principianti. A causa della sua dimensione, ci voluto pi tempo di Puppy Linux per installarla sul disco. Una volta installata, WattOS ha funzionato come annunciato. I tempi di avvio e chiusura sono stati considerevolmente pi rapidi di una tipica installazione di Ubuntu su una macchina multicore con un sacco di RAM. Lavvio delle applicazioni non stato cos rapido come in Puppy Linux, ma nemmeno terribilmente lento. La riproduzione video, sia nel browser che in VLC, stata uida nch non siamo saltati avanti nel le, cosa che ha reso il video spezzettato. La distribuzione non stata in grado di ripristinarsi dopo essere stata in sospensione su entrambe le macchine delle prove. Aumentare la memoria sica della macchina ha migliorato le prestazioni e ha ulteriormente ridotto la riproduzione spezzettata, ma non ha potuto nulla per il ripristino dellinstallazione dalla sospensione.
La dimensione conta?
Leggero non deve per forza signicare povero di funzioni
uando si tratta di hardware vecchio, la dimensione della distribuzione un fattore importante da considerare, specialmente se avete spazio limitato sul disco fisso. Linux Mint LXDE, sebbene pi leggera di una normale distribuzione, ancora piuttosto pesante con i suoi 727 MB, a causa della sua vasta gamma di applicazioni. Per offre meno applicazioni di WattOS, che ha una ISO di poco pi di 550 MB. Sebbene Bodhi Linux sia pi leggero degli altri due, occupando solo un po
pi di 370 MB, offre solo un ambiente grafico molto semplice (ma bello). Tutte e tre le distro sono ritagliate da Ubuntu e usano un kernel alquanto pi recente delle due distribuzioni pi leggere del confronto. Ci sono anche parecchie varianti di Puppy Linux. WaryPuppy quella pi adatta allhardware vecchio ed di soli 130 MB, il che incredibile, considerando il numero di applicazioni pronte alluso che offre. Unaltra variante di Puppy, RacyPuppy, per hardware pi nuovo, di soli 111 MB perch priva dei driver per le periferiche pi vecchie
come i modem a linea commutata. Infine, c Tiny Core Linux dal nome appropriato (Tiny Core significa nucleo minuscolo) che di soli 12 MB! C anche una variante CorePlus, che di 48 MB e include driver aggiuntivi per schede wireless, uno strumento per rimasterizzare e supporto allinternazionalizzazione. Infine, c ledizione Core di 8 MB che solo il sistema base con uninterfaccia a riga di comando per permettere agli utenti pi esperti di costruire il loro sistema da zero.
Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux
42
Confronto Test
Linux Mint LXDE
Linux Mint LXDE stata lunica distribuzione che si riutata di avviarsi con 256 MB di RAM. Dopo aver messo ulteriori 256 MB di memoria, si avviata e installata, ma i suoi tempi di boot sono stati sempre pi lenti di WattOS. Nonostante i 512 MB, il sistema sembrava lento e lavvio delle applicazioni non era veloce. Linstallazione dei pacchetti dal gestore software personalizzato non ha provocato nessun errore e ha funzionato anche con i pacchetti pi pesanti. Quando stato lanciato, LibreOfce ha rallentato lintero sistema a passo di lumaca, per. Durante le nostre prove, il sistema non ha pi risposto quando abbiamo aperto un video di YouTube a schermo intero, e abbiamo dovuto riavviare forzatamente. A paragone con le altre distribuzioni basate su LXDE nel confronto, le prestazioni di Linux Mint LXDE sono state piuttosto deludenti.
Bodhi Linux
Laltra distribuzione che non si accontentata di soli 256 MB di memoria stata Bodhi Linux, che ha avuto prestazioni molto migliori con 512 MB di RAM. Diversamente da Linux Mint LXDE, per, Bodhi Linux ha fatto pieno uso della memoria aggiuntiva, e le sue prestazioni sono state vicine a quelle di Tiny Core e Puppy. Proprio come per Tiny Core, tuttavia, dovete impiegare del tempo con il gestore di pacchetti di Bodhi per preparare il vostro sistema. Ma la buona notizia che Bodhi ha reso il procedimento abbastanza semplice perch i nuovi utenti lo seguano con facilit. La sua essibilit che permette ai pacchetti di essere scaricati su di unaltra macchina , inoltre, un buon vantaggio. Un altro vantaggio di Bodhi il suo gestore di nestre Enlightenment che vi permette di abbellire il vostro vecchio hardware con qualche chicca graca senza gravarlo troppo.
Supporto
Siete bloccati? Dove andate per trovare aiuto?
uesto un fattore importante quando si sceglie una distribuzione, per qualsiasi tipo di uso. Nel caso di queste distro tanto pi importante, giacch alcune di esse sono progettate da zero e possono confondere anche un utente Linux di vecchia data. La distribuzione pi bizzarra del nostro confronto Puppy Linux, ma siamo lieti di riportare che ha unimpressionante struttura di supporto. La distribuzione ha due forum indipendenti e molto attivi ed enormi quantit di documentazione
su come iniziare. La distro include anche documentazione di guida su parecchi argomenti, come lavorare con i documenti di Microsoft Ofce, aggiungere codec, software e altro ancora. Dato il suo progetto innovativo, Tiny Core Linux non sarebbe unopzione valida per la maggior parte, se non fosse per la sua guida allinstallazione. C anche una sezione Domande frequenti, un vasto wiki e un forum attivo. Sfortunatamente, ma prevedibilmente, non fornita di alcuna documentazione. La distro con
la documentazione pi impressionante Bodhi Linux. Ha una guida rapida multilingue, destinata agli utenti alle prime armi, che anche inclusa dentro la distribuzione. Il suo wiki ha un elenco di compatibilit hardware a cui contribuiscono gli utenti, guide sulluso e la personalizzazione di Bodhi e una decina di video HOW-TO. Sia WattOS che Mint LXDE hanno linfrastruttura basilare di supporto. WattOS ha un forum e un canale IRC e Mint LXDE condivide le risorse di supporto con la sua distribuzione madre Linux Mint.
Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux
Bodhi Linux La guida nella distribuzione Bodhi buona per iniziare. LINUX PRO 116
43
Test Confronto
e distribuzioni con installazione minima, come Tiny Core e Bodhi, devono usare un sistema di gestione dei pacchetti esteso e impressionante, poich l che gli utenti saranno portati dopo averle installate. Tiny Core Linux ha la sua propria applicazione personalizzata AppBrowser che risolve le dipendenze. uno strumento carino, ma necessaria una rapida occhiata alla documentazione per decifrare le funzioni dei suoi pulsanti dallaspetto per soli informatici. Una volta afferrato, apprezzerete la sua essibilit. Potete installare applicazioni complesse e ambienti graci completi. La fonte primaria di Bodhi per aggiungere
il software il suo AppCenter basato sul Web. Per aiutarvi a setacciare tra centinaia di applicazioni, gli sviluppatori ne hanno raccolte parecchie in due pacchetti: uno con software completo e laltro con applicazioni leggere sulle risorse. Poi ci sono i pacchetti di software, come quello audio e quello educativo. Potete installare qualsiasi applicazione dallinterno di questi pacchetti o dagli archivi. C anche un negozio Bodhi, che vende applicazioni commerciali. La cosa migliore del sistema di gestione dei pacchetti di Bodhi che potete sia installare le applicazioni direttamente dallAppCenter sia scaricare i pacchetti su unaltra macchina e poi spostarli e installarli sullinstallazione di Bodhi.
Inne, poich basato su Ubuntu Linux, potete anche usare il gestore di pacchetti Synaptic incluso per scaricare le applicazioni dagli archivi di Ubuntu. Anche WattOS basato su Ubuntu e usa Synaptic come gestore predenito. precongurato con i suoi propri PPA, ma pu anche installare pacchetti dagli archivi di Ubuntu. I pacchetti degli archivi di WattOS sono supportati dalla distribuzione. Unaltra distribuzione basata su Ubuntu Linux Mint LXDE. In modo predenito, usa il popolare strumento gestore di software di Mint che, come il nuovo Ubuntu Software Center, permette agli utenti di dare una valutazione e recensire i pacchetti. La distribuzione dichiara orgogliosamente di avere pi di 33.000 pacchetti.
C anche Synaptic se avete bisogno di uninterfaccia familiare. I pacchetti per Puppy Linux sono chiamati pet e hanno lestensione .pet. Potete installarli usando lo strumento personalizzato Puppy Package Manager, congurabile per scaricare i pacchetti dagli altri archivi di Puppy.
Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux
ome qualunque distribuzione di nicchia, tutte queste sono progetti condotti da una sola persona e, perci, non hanno un piano sso di rilascio. Bodhi Linux, per, fa eccezione. Le versioni principali sono basate su ogni nuova versione
LTS di Ubuntu. Perci, ci saranno versioni principali ogni due anni con una versione di aggiornamento ogni tre mesi, e release occasionali per la correzione degli errori, non appena venga risolto un problema con la congurazione predenita. Secondo il suo
WaryPuppy curato direttamente dallo sviluppatore capo di Puppy Linux, Barry Kauler
piano di rilasci, ci saranno cinque versioni nel 2012, inclusa una principale, basata su Ubuntu 12.04, a luglio. Unaltra distribuzione con un ciclo di rilasci a lungo termine WaryPuppy. Gli aggiornamenti importanti per la distro sono rilasciati non appena pronti. Dal rilascio di Wary 5.0 il 29 dicembre 2010, ci sono state sette versioni nora, essendo lultima Wary 5.2.2. Sebbene non abbia un piano di rilasci sso, Tiny Core Linux ha sfornato versioni stabili scrupolosamente dal 2009. Anche WattOS non ha un piano di rilasci, ma coinvolge gli utenti nello sviluppo di nuove versioni, prima chiedendogli una lista dei desideri e poi pubblicando notizie regolarmente sul forum. Mint
LXDE necessita di rilasciare nuove versioni a un ritmo pi veloce. Dovrebbe essere basata sullultima versione di Mint, ma la differenza troppa (anche se pochi giorni prima di andare in stampa, ad articolo ormai scritto, uscita la versione 12).
Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux
44
Confronto Test
Distro per hardware vecchio
Il verdetto
A
seconda dellet del vostro computer, potete resuscitarlo con una qualsiasi delle distribuzioni di questo confronto. WattOS e Linux Mint LXDE sono buone scelte per macchine che sono vecchie circa mezzo decennio, macchine con un solo core e pi di 512 MB di RAM. Lavvio delle applicazioni non sar il pi veloce da queste parti, ma almeno avrete la soddisfazione di resuscitare il vecchio mulo. Non siamo pienamente sicuri che LibreOfce abbia un posto su una distribuzione dedicata al vecchio hardware, cosa che limita Linux Mint LXDE agli utenti che eseguono la distribuzione completa Linux Mint sulle loro macchine pi nuove e sono abituati ai suoi strumenti personalizzati. Se state cercando una distro dotata di LXDE, WattOS, con la sua ampia gamma di pacchetti supportati, unalternativa migliore. Ha prestazioni anche maggiori e richiede meno risorse di Mint LXDE. Anche Bodhi Linux una meravigliosa distribuzione. La sola distro in questo confronto a usare lambiente Enlightenment, una buona combinazione Vi ricordate delle nostre macchine di prova? Una di esse di orpelli graci e di una ora dotata di Puppy e laltra di Bodhi base stabile, con un sistema di gestione dei pacchetti predenita di Puppy impareggiabile ben progettato. Tiny Core Linux da qualsiasi altra distribuzione. A meno la distribuzione pi brillante di tutte che non vogliate un particolare programma, e, come Bodhi, vi d una base buona e stabile, ci vorr del tempo prima di lanciare ma dovete impiegare del tempo con i loro il suo sistema di gestione dei pacchetti. rispettivi sistemi di gestione dei pacchetti Inoltre, diversamente dalle altre soluzioni, per trasformarli in sistemi utilizzabili. Il che WaryPuppy usa un vecchio kernel ci lascia con Puppy Linux. La distribuzione e include driver aggiuntivi per supportare ancora la numero uno quando si tratta le periferiche datate. Se non avete di riportare in vita lhardware datato e usa nessuna periferica vecchia, allora potete uno dei pi leggeri gestori di nestre. Puppy usare lancor pi leggera RacyPuppy, potrebbe non essere carina da guardare, che usa il kernel pi recente. Per noi, ma trasformer un mulo lento in uno Puppy Linux ha la giusta combinazione stallone galoppante. Aggiungete a questo di prestazioni e usabilit, mentre il fatto che la raccolta di software gli altri compromettono luna per laltra.
Puppy Linux
WattOS
Web: www.puppylinux.org Licenza: GPL e altre La distribuzione installa-e-dimentica per tutti i tipi di hardware datato.
Web: www.planetwatt.com Licenza: GPL e altre Il sistema basato su LXDE pi leggero in circolazione
Web: www.tinycorelinux.com Licenza: GPL v2 La distribuzione pi piccola che potete personalizzare a piacimento.
Web: http://blog.linuxmint.com/?p=1802 Licenza: GPL e altre Porta la bont di Linux Mint sul vecchio hardware.
Bodhi Linux
A voi la parola
Provate una di queste distribuzioni sul vostro vecchio hardware e raccontateci la vostra esperienza scrivendo a redazione@linuxpro.it.
Web: www.bodhilinux.com Licenza: GPL e altre La distribuzione perfetta per una macchina diventata vecchia da poco.
Considerate anche....
Negli anni ci sono state un sacco di distribuzioni su misura per vecchio hardware che sono scomparse per varie ragioni. Due di quelle popolari dallo sviluppo sospeso sono Damn Small Linux basata su Knoppix e Slax basata su Slackware. Unaltra delle nostre favorite, SliTaz, ha avuto la sua ultima versione stabile a marzo 2010. Gli sviluppatori stanno lavorando allultima versione e dovreste tenerla docchio. C anche VectorLinux che disponibile in parecchie varianti. Non stato incluso nel confronto perch la sua Light Edition per hardware vecchio ha visto il suo ultimo rilascio ad aprile 2009. Anche Lubuntu, basato su LXDE, dedicato al vecchio hardware, ma ha un po arrancato sulle nostre macchine di prova. Date unocchiata anche a CrunchBang Linux, basato su Debian, che usa il leggero gestore di nestre Openbox. LXP
LINUX PRO 116
45
Player musicale
Tomahawk
VERSIONE 0.4.0 WEB www.tomahawk-player.org
La visualizzazione della classica include le copertine degli album, in modo che possiate vedere le belle facce dei vostri cantanti preferiti
uanti lettori di musica avete installato sul vostro computer? Una dozzina? Volete fare spazio per un altro lettore? Non sembrano esserci molte tipologie di software per il desktop (beh a parte i desktop stessi) con maggior astio tra i contendenti dei player musicali. Ok, non ci sono ancora state rivolte per le strade, ma ci siamo andati vicini qualche volta.
Quindi perch mai dovreste darvi la noia di installare un altro player nel vostro sistema?
promette di essere differente. Si fa una croce sul cuore con il mignolino e promette che vi piacer. Il valore aggiunto che porta con s sono i social media! S, noi tutti abbiamo visto tentativi pi o meno falliti, effettuati da vari progetti software, per saltare sul treno del vincitore (ricordate Flock? Ricordate Rockmelt? No? Bene) ma possibile, forse, che Tomahawk abbia qualche speranza. Laspetto sociale di un player musicale abbastanza chiaro. Tomahawk ovviamente vi permette di connettervi a Last.fm e, praticamente come ogni altro player, consente lo scrobbling. Quello che fa in pi provare a riportare la musica al player. Un sistema di Resolver cercher
Linterfaccia di Tomahawk
Resolver
Appena installato Tomahawk, andate direttamente in Settings e aggiungete i resolver per trovare nuova musica.
Visualizzazione classiche
Se non siete sicuri di cosa volete ascoltare, a parte guardare le playlist recenti dai vostri amici, e connettervi ai network condivisi e alle altre istanze di Tomahawk, potete sempre dare unocchiata alle classiche sempre aggiornate (suddivise per paese e rilevate da diverse fonti, come iTunes e Spotify). Lunico rischio che con tutta questa carne al fuoco vi dimentichiate di ascoltare la vostra musica preferita! Questa versione ancora a uno stadio abbastanza primitivo, ci sono diversi problemini con Fedora, ad esempio, anche se con Ubuntu sembra funzionare molto pi felicemente. Comunque non sorprendetevi troppo se dovesse crashare, ma non sorprendetevi neppure se dovesse piacervi.
Classiche
Cliccate su charts per vedere la musica pi popolare secondo diverse fonti.
Playlist
Create le vostre playlist o autogeneratele grazie a una variet di tool.
Testata Mostra la copertina e le Mostra la sorgente informazioni della traccia musicale in uso e permette in esecuzione oltre ovviamente ai vari controlli. di effettuare ricerche.
48
Revelation
VERSIONE 0.4.12 WEB http://revelation.olasagasti.info
e password sono funzionali solo se siete lunica persona a conoscerle. E sono efcaci solamente se le ricordate. Probabilmente avrete realizzato che una frase tipo linuxproelamiarivistapreferita facile da ricordare e a conti fatti, molto pi sicura di HgQ#13, ma avrete notato che alcuni siti e servizi, non molto intelligenti, richiedono la presenza di un numero, un simbolo e di altre cose difcili da ricordare (una famosa banca, ad esempio, richiede maiuscole, minuscole e numeri, ma limita il tutto a 12 caratteri!). Se siete stanchi di dover utilizzare le procedure per recuperare le password
ogni volta, giunto il momento di ricorrere a un password manager. Esistono molti contendenti per questo ruolo, che in sostanza sono, dopo tutto, un semplice database. Revelation non cerca di fare nulla di troppo astuto, organizza le cose in cartelle, ha diversi tipi di password per i diversi scopi e ovviamente cripta i le con i dati salvati. Non c una gestione di default e non si apre automaticamente quando fate login per evitare che i dati vengano accidentalmente letti da malintenzionati. Inoltre si blocca automaticamente se lo lasciate aperto per troppo tempo. Nelle preferenze potete denire un comando di default per ogni tipo di password,
Non datevi noia cercando di hackerare il nostro account della banca. Nemmeno noi riusciamo a cavar soldi fuori da l
che potrebbe essere semplice come aprire la pagina Web relativa, o utile come una connessione automatica tramite FTP. Alcuni esempi sono precaricati per facilitare la comprensione dellutilizzo, ma potete modicarli e trasformarli in modo pi creativo se desiderate. Lunica cosa che vorremmo mettere in discussione il generatore di password, che ritorna valori come Qnb4M28c, semplicemente follia.
A meno che non vogliate connettervi alla vostra banca. Allo stesso modo lutility per controllare le password non sembra molto soddisfatta delle nostre password tutte in minuscolo. Sarebbe molto divertente mettere alla prova il pessimo generatore di password in una gara di brute force! Comunque, Revelation ancora giovane, possibile che gli autori correggano i loro errori lungo la strada.
Simulazione
NobleApe
VERSIONE 0.693 WEB www.nobleape.com/sim
obleApe un tool di simulazione. Sicuri? Alcuni commenti degli utenti nella homepage potrebbero convincervi che una sorta di nirvana cognitivo dove i preziosi sogni e le speranze degli utenti possono trovare un sofce cuscino. In ogni caso, sicuramente molto lontano dallidea classica di software.
Scimmiottando qua e l
Lidea che la simulazione generi un terreno, con vette e depressioni, sistema climatico e via cos. In questo idillio compaiono delle scimmie virtuali che vagano e fanno i fatti loro. Le scimmie sono controllate dal loro istinto
basilare, ma possono avere anche un le che funga da cervello creato in un linguaggio speciale chiamato ape script. Eseguendo la versione GUI del software si hanno due viste. Da una parte c la panoramica del mondo con dei puntini rossi che indicano le scimmie. Laltra nestra, che per essere onesti sembra una massa di blob 3D, il mondo visto dagli occhi della scimmia, completato con una visualizzazione delle varie caratteristiche. Caricando un le ape script si potr alterare il comportamento degli strani abitanti di questo mondo. una sorta di linguaggio C semplicato, e ci sono parecchie discussioni che parlano di questo linguaggio nel sito Web del software, in ogni caso non
molto immediato capire quali cose si possono personalizzare. Questo software pu sembrare molto strano, ci nonostante, si rivela molto intrigante. Se solo la documentazione fosse stata un po pi di aiuto per comprendere meglio NobleApe. Esiste uno script per generare
immagini signicative da usare nel Web, ma nessun le di man o suggerimenti su come utilizzarlo. Compilare il software abbastanza semplice. Nella directory principale lanciate semplicemente linux.sh o lo script per Fedora/Ubuntu se volete creare il pacchetto.
LINUX PRO 116
49
Summoning Wars
VERSIONE 0.5.6 WEB http://sumwars.org/wiki/Main_Page
n buon RPG difcile da battere. E questo rende le cose pi difcili quando nello stesso campionato gioca Elder Scrolls V, ma Summoning Wars (attenzione a non confonderlo con il gioco di carte dal nome molto simile) ha tutti gli elementi per essere un grande gioco, ci sono delle quest da completare, mostri da uccidere e tesori da collezionare. possibile creare un personaggio scegliendo tra le quattro classi disponibili (ognuna con le proprie abilit e armi) e partire con una storia a volte brillante, a volte stupida e a volte semplicemente normale. I modelli sono tutti ottimi, le animazioni sono buone e anche la colonna sonora simil-Hogwarts abbastanza buona Beh, certo avrebbe potuto essere un pochino
pi variegata, e alcuni passaggi potrebbero proseguire per un tempo un po eccessivo, ma davvero non male. C da dire che comunque non unimpresa facile. Persino il livello Tutorial (che consigliamo di affrontare alla difcolt minore) quasi impossibile. Se il gioco in single player dovesse risultare troppo impegnativo, c sempre lopzione multiplayer gratuita. Probabilmente non vi terr incatenati alla tastiera per ore, ma potrebbe essere pi divertente di quanto immaginiate. Le ultime release hanno migliorato molto linterfaccia e migliorato un po le quest. Gli sviluppatori stanno
A volte ci sono davvero troppe cose da trasportare. Qualcuno pu cortesemente inventare un cavallo?
sempre cercando collaborazioni per ogni aspetto, quindi se avete un qualche talento che potrebbe rivelarsi utile, siamo sicuri che sareste i benvenuti nel team. Summoning Wars abbastanza facile da installare assumendo che abbiate tutte le dipendenze installate. Comunque uno dei requisiti limmensa libreria Ogre, sembrava un po contrariato dal fatto che noi avessimo installato lultima versione invece della 1.7. In ogni caso, niente di troppo esotico richiesto.
Puzzle game
Phlipple
VERSIONE 0.8.1 WEB http://phuzzboxmedia.com/games/phlipple
vete mai sognato di lavorare in un magazzino di scatole di cartone? Se s, questo il gioco che fa per voi. Lobiettivo di ognuno dei vari livelli di ridurre le forme tridimensionali a un rettangolo piatto, in pratica il contrario di quello che si fa quando si compra qualcosa allIkea. Certo, non sembra una grande sda per quelli di noi che sono abituati al riciclaggio del cartone ma, con lavanzare dei livelli, alcune delle strane forme costruite sono da un lato piacevoli da vedere e complesse ma dallaltro piuttosto difcili da decifrare. Fortunatamente comunque possibile ruotare la visuale. Suona ancora troppo semplice? Bene, abbiamo
gi menzionato il fatto che nessun pezzo pu essere lasciato indietro? Lintera struttura deve ripiegarsi in un unico pezzo, quindi dovrete cercare delle strategie per alcune delle forme tridimensionali proposte. Ah, probabilmente abbiamo dimenticato anche di menzionare le cerniere. Le cerniere sono segnate come linee rosse nellintersezione tra due quadrati e indicano dove il materiale pu essere piegato ma non strappato, quindi le linee normali possono essere strappate ma sulle cerniere possibile solo piegare. Se non si presta molta attenzione, facile rimanere bloccati contro un paio di cerniere senza via di uscita. Se si rimane bloccati o si abbandona un pezzo per la strada, bisogna ricominciare il livello dallinizio. Questo non un grosso problema nella prima dozzina di livelli, ma in
Ripiegare scatole? Sembra un lavoro per lo staff di Linux Pro. Oh chi ripiegher le nostre scatole ora?
quelli pi avanzati, soprattutto quando si supera con lastuzia, ma del tutto inconsapevolmente, una forma particolarmente ostica, potrebbe risultare molto pi difcile di quanto sembri ritornare a dove si commesso lerrore. La graca non molto fantasiosa e le musiche sono, francamente, un po noiose, ma uno di quei giochi di cui si sente lurgente bisogno di tornare a giocare per poterlo nire.
50
Tutorial
I nostri esperti offrono ogni mese i loro consigli di programmazione e di amministrazione del sistema
TUTORIAL
Primi passi
Tutto quello che dovete fare per recuperare file persi per sbaglio pag. 52
Joomla!
Al via una nuova serie su questo importante CMS. Nella prima puntata vi mostriamo le novit dellultima versione pag. 56
Arduino
Se una scheda Arduino non vi basta, vi facciamo vedere come metterne in comunicazione due pag. 64
Controllo di versione
Vi mostriamo come usare quotidianamente i sistemi di controllo delle versioni pag. 72
Musica
Tutti i segreti di Bristol, la migliore suite di sintetizzatori audio per Linux pag. 68
Grub 2
I rudimenti del bootloader
pag. 76
Perl
Passare da un semplice script a una Web App in Perl sfruttando Dancer, il framework ideale per espandere i programmi pag. 82
Python
Ritorniamo a usare le TreeView per costruire un semplice player audio che mostra dei suggerimenti pop-up con le informazioni sulle vostre canzoni pag. 86
OpenCV
Le vostre immagini presentano degli errori? Vi mostriamo come eliminarli grazie alle potenti funzioni della libreria OpenCV pag. 90
LINUX PRO 116
51
Primi passi
Guide pratiche per i nuovi utenti del Pinguino
PRO
dentro il + TestDisk 3 Rec 6.1 Photo
Unetbootin vi permette di fare live CD avviabili in Windows, cos anche se la vostra macchina rotta potete usare quella di un amico
52
Come potete immaginare, potete spostarvi tra queste usando i tasti freccia Sinistra e Destra. Ricordate che il tasto Invio funziona effettivamente su queste opzioni, non sullunit correntemente evidenziata, perci se vi spostate da Proceed, assicuratevi di ritornarvi prima di premere Invio. Questo schema di interfaccia ripetuto in altri posti nel programma, perci assicuratevi di tenere docchio il fondo della schermata per i tesori nascosti. In seguito vi viene chiesto di scegliere un tipo di partizione e circa il 90% delle volte dovrete selezionare la partizione [Intel] Intel/PC. Questa la base di tutte le unit compatibili con Windows, perci, se siete in dubbio, probabilmente lopzione che state cercando.
che potete eseguire su le e cartelle e si presenta ancora un altro nuovo paradigma di interfaccia. Non pi limitati soltanto ai tasti freccia, sono elencati vari tipi di scorciatoie da tastiera: digitare i due punti selezioner un le o una cartella, C copier tutti i le selezionati, mentre c copier il le corrente. Potreste essere sorpresi
TestDisk funziona come una procedura guidata, che vi porta attraverso una serie di passi
di trovare solo opzioni per la copia, piuttosto che qualcosa per recuperare effettivamente il le, ma questo completamente intenzionale da parte degli sviluppatori di TestDisk. Piuttosto che rischiare di sovrascrivere altri le cancellati, essi copiano sempre soltanto quelli cancellati dal disco su di un altro. Quando premete uno dei tasti di copia, dovrete selezionare una destinazione sulla quale copiare i le. In modo predenito, TestDisk vi porter alla vostra cartella home, da dove potete spostarvi con i tasti freccia come prima. Se volete mettere i le nella cartella home o in qualunque cartella sia mostrata in quel momento, evidenziate la voce il cui nome solo un singolo punto . e premete C. Questo tutto ci che dovete fare. I vostri
Recuperare i le
Sulla schermata successiva, selezionate lopzione Advanced (Invio funziona bene qui) e poi usate il tasto freccia Destra per selezionare Undelete. Vedrete quindi un elenco di tutti i le sullunit. I le cancellati saranno visualizzati in rosso e mostreranno informazioni come lora e la data dellultima modica e il nome del le in fondo alla riga. Se siete sopra una cartella, il tasto freccia Destra vi permetter di entrarci e dare uno sguardo a quello che c dentro e poi il tasto freccia Sinistra vi riporter indietro. Come potete vedere guardando in fondo alla schermata, ci sono varie opzioni
Tip
In TestDisk usate una virgola per aggiungere un le cancellato alla vostra selezione di le da recuperare. Il colore non cambier, ma sar stato selezionato.
Anche se TestDisk testuale, la sua interfaccia basata su procedure guidate rende il suo utilizzo un gioco da ragazzi
TestDisk fa uso di molti metodi di interazione diversi, perci assicuratevi di tenere docchio il fondo della schermata
53
le saranno ora al sicuro in qualunque cartella di destinazione abbiate selezionato, pronti per farne una copia di sicurezza o qualunque cosa vogliate.
Quando recuperate partizioni invece di le, dovrete selezionare lopzione Analyse invece di Advanced
Tutto quello che resta da fare tirare un sospiro di sollievo... e fare una copia di sicurezza dei vostri dati!
di selezionare Advanced, scegliete Analyse e poi Quick Search. TestDisk esaminer quindi il vostro disco, cercando tracce di vecchie partizioni che sono scomparse. Molto velocemente risponder e mostrer un elenco delle partizioni che riuscito a scoprire. Se non siete sicuri di aver trovato la partizione giusta, ci sono alcuni modi con cui potete controllare. Primo, alla ne della voce di ogni partizione nellelenco dovreste vedere
unetichetta. Se la riconoscete, o come qualcosa che avete esplicitamente impostato o come qualcosa che appare quando inserite la vostra chiavetta USB, allora probabilmente la partizione giusta. Laltra cosa che potete fare premere P per vedere un elenco di le che possono essere trovati su quella partizione. Se lo fate e vedete i vostri le, con le date e i nomi appropriati, allora avete sicuramente trovato la partizione giusta.
Dov andato?
Quando un le viene cancellato, anche se lo eliminate dal cestino, non veramente andato via. Quello che accade effettivamente che il sistema operativo lo contrassegna come cancellato e informa le altre applicazioni che lo spazio preso da questo le ora disponibile per altri usi. Finch unaltro software arriva e usa quello spazio, tuttavia, il le e i suoi contenuti sono ancora l. Questo signica che se casomai abbiate cancellato un le accidentalmente, la prima cosa che dovete fare smettere di usare il disco sul quale era archiviato. Se era su una chiavetta USB o su una scheda di memoria SD, per esempio, rimuovetela immediatamente; se era sul vostro disco sso, allora dovrete spegnere il computer e non toccarlo pi nch non siete pronti a fare il recupero del le. Questo minimizzer le possibilit che un altro programma sovrascriva i vecchi dati e aumenta le vostre possibilit di recuperare i dati. Cosa accade se non avete cancellato solo un singolo le, ma corrotto accidentalmente unintera partizione? Bene, i passi sono proprio gli stessi: non appena vi accorgete di quello che successo, smettete di usare lunit. In questa situazione, tuttavia, potreste anche scoprire che, poich i computer non sono affatto in grado di riconoscere i contenuti dellunit, potrebbero chiedervi di riformattarla. Badate di non accettare, perch pu solo complicare le cose.
54
Avviare PhotoRec
Specicare i tipi di le
Lanciate il comando photorec da un terminale e poi procedete come prima nch raggiungete la schermata di selezione della partizione.
Nella schermata di selezione della partizione, selezionate prima File Opt per specicare quali tipi di le state cercando, se non volete nire con 20.000 le tra cui cercare.
Cercare sullunit
Cominciare il recupero
Tornate alla schermata di selezione della partizione e poi selezionate Search. Sulla schermata che segue siate pi che approfonditi scegliendo di esaminare lintera unit.
Scegliete una destinazione per i le recuperati e premete C per iniziare il recupero. State attenti, pu trovare un sacco di le, perci meglio selezionare una sotto-cartella che non vi dispiace diventi disordinata.
Giratevi i pollici...
Rinominare i le
55
Successo! Ora controllate il vostro gestore di le e guardate se ha trovato i le giusti. Assicuratevi di rinominarli, comunque, poich PhotoRec non recupera i nomi dei le.
Joomla!
Progettazione siti Web con questo potente CMS
PRO
dentro il Joomla! 2.5
Lautore
Claudio Romeo Tiene corsi sulluso del software, soprattutto di quello libero. Ha scritto pi di trenta libri di argomento informatico. Il suo sito personale allURL www. claudioromeo.it
1 In alto, i pulsanti della versione inglese: quello relativo a Joomla segnala la presenza di un aggiornamento. In basso, quelli della versione italiana: tutto aggiornato
INTERMEDIO
hanno dotato la scheda Articoli di Gestione articoli di un ltro aggiuntivo: Seleziona livello massimo. Grazie a questo nuovo ltro potete impostare il livello delle sottocategorie prese in esame: ponendo 1, vengono elencati solo gli articoli propri della categoria indicata. Nella gestione di un articolo dal lato amministrativo non possono sfuggire due nuovi pannelli delle opzioni: Con gura schermata di modica e Immagini e link. Del primo parleremo tra poco, per dare invece la precedenza al secondo. Tra le caratteristiche dellarticolo ora possibile assegnare cinque nuovi elementi: unimmagine che appare solo nel testo introduttivo (se denito), unimmagine che appare allinizio dellarticolo completo e tre collegamenti ipertestuali, destinati ad apparire automaticamente in testa allarticolo. La Fig.2 mostra un esempio sufcientemente esplicativo di queste funzioni. appena il caso di sottolineare che la possibilit data dal pannello Immagini e link di assegnare comodamente allarticolo sia due immagini-copertina (una per il sommario del testo introduttivo e una per larticolo completo) sia un massimo di tre collegamenti ipertestuali fa s che ci si possa concentrare sui contenuti senza dover perdere tempo a lavorare sulla formattazione. Questa possibilit trova la sua massima applicazione nel caso che si usino modelli di articoli, con immagini e link predeniti per ogni categoria di articoli. Uno dei prossimi tutorial tratter proprio delluso dei modelli di articolo. Riguardo a Con gura schermata di modica, si tratta delle impostazioni che riprendono quelle poste in Gestione articoli: Articoli D Opzioni D Layout
56
Joomla! Tutorial
modica. Tuttavia le impostazioni del pannello vengono sempre scavalcate da quelle delle opzioni, perci sono di fatto inutili. Abbiamo postato questa incongruenza al forum di Joomla.it, che ha provveduto ad aprire una segnalazione di bug. Il bug stato confermato e speriamo sia corretto presto: magari quando leggerete questo articolo tutto sar gi a posto. Ci pare comunque opportuno evidenziare le funzioni delle prime quattro opzioni della scheda Layout modica: (che si ritrovano, anche se con un ordine leggermente diverso) nel pannello Congura schermata di modica: Mostra Opzioni pubblicazione: mostra o nasconde la voce Opzioni pubblicazione nella scheda Gestione articoli: Modica articolo; Mostra Opzioni visualizzazione: mostra o nasconde la voce Opzioni visualizzazione nella scheda Gestione articoli: Modica articolo; Immagini e Link lato pubblico: fa s che, quando lutente che accede al lato pubblico possiede lautorizzazione alla modica dellarticolo e fa click sulla relativa icona, siano disponibili anche i controlli per le voci Immagini e link; Immagini e Link amministrazione: mostra o nasconde la voce Immagini e link nella scheda Gestione articoli: Modica articolo. Unaltra innovazione importante la possibilit di usare i captcha per autenticare come persona (escludendo cos che si tratti di un bot) chi si registra al sito. I captcha sono quelle parole e quei numeri visualizzati spesso in forma distorta che lutente deve inserire prima di poter compiere unoperazione. Sono la croce degli utenti e il salvagente degli amministratori. Sono praticamente indispensabili per opporre una barriera contro lo spam, anche se una recente indagine ha evidenziato come ormai i bot pi moderni riescano a superare anche questa protezione; solo reCaptcha di Google (proprio quello gratuito che Joomla permette di usare) sembra resistere. Al momento, reCaptcha funziona solo per la registrazione degli utenti, ma, visto che il servizio disponibile, pu essere usato anche per altre estensioni che prevedono linvio di dati, se queste estensioni attiveranno tale funzione. Per usare i reCaptcha dovete innanzitutto registrarvi presso lapposito servizio di Google (www.google. com/recaptcha) e ottenere cos la chiave pubblica e la chiave privata. Notate che queste chiavi funzionano con un solo sito (ed eventuali sottodomini), perci se avete pi siti dovete chiedere pi chiavi o usare n dal principio una chiave globale. Ottenute le chiavi dovete inserirle nelle opzioni del plug-in Captcha - ReCaptcha, quindi in Congurazione Globale impostate Captcha predenito su Captcha - reCaptcha. La Fig.3 mostra il modulo di registrazione con il reCapthca attivo. Il captcha cos impostato vale come impostazione globale, ma potete usarne un altro (se lavete installato) specicandolo in Gestione utenti D Utenti D Opzioni D Componenti. La versione 2.5 ha portato novit anche alle funzioni di ricerca interna al sito. Va ricordato che Joomla consente di fare ricerche di tipo full text, cio direttamente nel contenuto degli articoli e non in un indice (con tutti i pro e i contro del caso). Con il nuovo componente
Smart search le possibilit di ricerca si espandono, dando la possibilit di effettuare le ricerche sul tema del termine indicato, grazie alla funzione Stemming. Lo stemming la riduzione della forma essa di una parola alla sua forma radice, detta tema. Il tema non corrisponde necessariamente alla radice morfologica della parola (cio al lemma), perci lo stemming unoperazione diversa dalla lemmatizzazione. Tutto questo discorso teorico si riduce in pratica
2 In alto, le impostazioni del nuovo pannello Immagini e link. Al centro, laspetto dellarticolo quando visualizzato solo il testo introduttivo. In basso, laspetto dellarticolo completo LINUX PRO 116
57
Tutorial Joomla!
di ricerca e assegnatelo a una posizione. Il modulo Motore di ricerca gracamente uguale al modulo di ricerca tradizionale. Per non confondere i visitatori, vi conviene perci eliminare questultimo e lasciare solo quello nuovo. Tornando al lato amministratore, ora pi semplice associare un nuovo menu a un modulo, anche se questultimo non esiste ancora. Quando si crea un nuovo menu, in Gestione menu D Menu compare 3 Oltre ai propri dati, lutente deve indicare le parole che compaiono nel reCaptcha per registrarsi al sito ora un link alla funzione di creazione di un nuovo modulo cui associare il nuovo menu. E, a proposito alla domandina magica Intendevi ? che appare di menu, potete ora associare una nota a ogni se la ricerca su un termine non ha dato risultati singola voce di menu, cos come a ogni utente. soddisfacenti: in questo modo avete la possibilit di espandere la ricerca su parole costruite sullo Altre novit stesso tema. La Fig.4 mostra un esempio. Per Riportate sopra sono le novit pi appariscenti, che impostazione predenita, Smart search non attivo. non sono necessariamente le pi incisive. Non Per attivarlo dovete compiere le operazioni seguenti. potendo analizzarle tutte, ci limitiamo qui a elencare 1 In Gestione Plugin abilitate Content Motore le altre, rimandandovi alla documentazione online di ricerca, Motore di ricerca Categorie, Motore per eventuali approfondimenti. di ricerca Contatti, Motore di ricerca Database Ora Joomla supporta non solo MySQL, Contenuti, Motore di ricerca Newsfeeds ma anch MS SQL. I driver per PostgreSQL, per e Motore di ricerca Link web; 2 Attivate lindicizzazione dei contenuti, facendo click Oracle, per SQLite e per DOP sono in fase di realizzazione. Inoltre in Gestione estensioni sul pulsante Indice in Componenti D Motore D Database presente il pulsante Correggi di ricerca D Contenuti indicizzati. Dopo per riparare un database che ha bisogno la prima indicizzazione, lindice viene aggiornato di essere aggiornato. automaticamente a ogni salvataggio del contenuto. Sito non in linea Al termine dellinstallazione 3 Create un nuovo modulo di tipo Modulo Motore
10
7 6 5
9
58
Joomla! Tutorial
ora il sito pu essere messo subito of ine. Inoltre possibile usare unimmagine nel messaggio di sito non in linea. Lingua Ora possibile modicare in modo semplice il testo predenito degli elementi di Joomla. Questo argomento sar trattato in modo approfondito in uno dei prossimi tutorial di Joomla; per ora diciamo che dire addio a estenuanti ricerche nei le di congurazione una goduria assoluta. Vi sono inoltre altre novit legate alla lingua: un nuovo plug-in di sistema che permette ai motori di ricerca 4 Abbiamo cercato tutoriali. In alto, il risultato con la ricerca classica. In basso il risultato con Smart search: viene proposto di effettuare di riconoscere il codice la ricerca con tutorial, che in effetti dar esito positivo lingua nei casi di non corrispondenza con la lingua Feed pi personalizzabili Smart Syndication crea usata da Joomla, meta tag alternativi per i siti dei feed nelle pagine dove viene attivato e mostrato multilinga e voci di menu con alias comuni il modulo; ora possibile scegliere se visualizzare in lingue diverse. Filtri La gestione dei ltri per consentire o proibire il testo o specicare quello personalizzato. Debug formattato Ora possibile avere alcuni contenuti stata migliorata e resa pi il debug formattato in modo pi leggibile, razionale. Ora si trova in Congurazione globale con luso dei colori. anzich tra le opzioni degli articoli. Caricamento automatico I le necessari NewsFeed Ora potete invertire lordine dei feed. vengono caricati automaticamente, senza distinzioni Utenti collegati Nella visualizzazione degli utenti collegati ora possibile restringere lelenco agli utenti tra piattaforma o CMS. Prima di terminare, ricordiamo che laggiornamento appartenenti allo stesso gruppo del visitatore. dalla versione 1.7.x alla 2.5.1 pu essere, Uso di Zip Se lhost lo consente, potete come di consueto, effettuata in pi modi. Prima usare ora il supporto Zip nativo durante di procedere, tuttavia consigliabile leggere i consigli linstallazione, riducendo cos il tempo che si trovano allURL http://bit.ly/zeVFth. LXP necessario a decomprimere i le.
pi o funzionino male o che le riniture che con tanta pazienza avete apportato al sito vengano vanicate e scombinate da uninezia (magari solo da una stringa modicata o non tradotta). Per evitare guracce, ansie e crisi di nervi, installate gli aggiornamenti dapprima su un sito di test. buona pratica usare un sottodominio come test.MIODOMINIO.IT per fare gli esperimenti. Condare nelle estensioni di terze parti Le estensioni sono come le ciliegie: una tira laltra. praticamente impossibile resistere alla tentazione di aggiungere funzioni e lustrini al proprio sito. Ma bisogna ricordare che realizzare unestensione per Joomla relativamente facile, scrivere un buon codice pi difcile, mantenerlo aggiornato contro tutti i possibili problemi di sicurezza (anche quelli futuri) davvero duro e richiede molta disponibilit. La buona volont dello sviluppatore non garanzia sufciente per afdargli la solidit del vostro sito: continuer a occuparsi dellestensione tra due anni? Nota dellesperienza: le estensioni che permettono commenti agli articoli sono le prime a compromettere il sito, se non altro perch sono un ricettacolo di spam. ReCaptcha obbligatorio! Trascurare laggiornamento allultima versione di Joomla Questo punto una generalizzazione del punto 6. Molto spesso, le nuove versioni non apportano solo nuove funzioni, ma anche correzioni e innalzamenti del livello di sicurezza.
Quando si scopre che il sito stato forzato, inondare di messaggi pieni di panico i forum di Joomla Il fesso non si attiene a una regola fondamentale: loggetto del post deve contenere informazioni succinte ma precise sullargomento. Un messaggio intitolato Mi hanno forzato il sito suscita pi pernacchie che comprensione. Se (oltre a farvi un esame di coscienza) intitolate il post Assegnazione non autorizzata di livelli daccesso (per esempio) aiutate la comunit ad aiutarvi. Inoltre dovete sempre indicare la versione di Joomla e di PHP usata, nonch le estensioni installate e la loro versione. Quando il sito forzato, limitarsi a correggere il le index. php e dare per scontato che tutto il resto sia a posto Comportamento tipico del fesso non pentito: evitare scrupoli giudicati paranoici come esaminare i log, modicare le password, ricostruire le directory partendo da backup integri e cose del genere. Fare nta di non sapere che ricomporre un le dolosamente modicato solo uno dei tanti passi che occorre compiere per ripristinare un sito forzato. Quando lattacco si ripete, gridare istericamente mi hanno forzato di nuovo il sito! e addossare tutta la colpa a Joomla. Su questo punto per non ce la sentiamo molto di scherzare: un sito forzato vissuto davvero come una violazione personale, alla stregua dei ladri in casa. Ma, proprio per questo, cercate di farvi furbi e, una volta sostituita la serratura forzata, non lasciate la nuova chiave sotto lo zerbino.
59
INTERMEDIO
Per Linux i dischi ssi sono pi che un grande blocco di memoria: sono Master Boot Record, partizioni, le e inode. Un sacco di roba...
60
CONTRAZIONE DINAMICA
ESPANSIONE DINAMICA
CONTRAZIONE STATICA
ESPANSIONE STATICA
Lui fa tutto
LVM rende tutto questo possibile, nel senso che non dovrete pi preoccuparvi di aver sottostimato gli spazi dedicati a una qualche partizione durante linstallazione del sistema. Usando questo strumento potrete allocare dinamicamente pi spazio alle partizioni preesistenti, espandere una data partizione su pi dischi sici, e ridistribuire lo spazio in memoria gi assegnato. In funzione delle caratteristiche offerte dal lesystem che avete scelto, tutto questo pu essere fatto anche mentre le partizioni interessate sono in uso. La ragione di queste sue capacit risiede nel fatto che LVM si comporta come un ulteriore livello software interposto tra il lesystem e il disco sico, mediando le loro interazioni. Questa mediazione resa possibile grazie alla suddivisione del disco sico in porzioni di dimensioni molto pi piccole delle ordinarie partizioni, chiamate estensioni siche, che pi facile spostare in giro per il disco e su cui pi facile eseguire anche altri tipi di operazione. Oltre a ci, questa struttura rende irrilevante la locazione sica reale delle estensioni siche - LVM suddivide tutti i dischi in estensioni della stessa dimensione e li riunisce creando una risorsa di memorizzazione di massa gigante - come un disco sso virtuale. Anche se molto di quello che LVM fa usa concetti noti, come il lesystem e i dischi sici, necessario introdurre la sua terminologia prima di poter proseguire. Volumi sici. Sono i dischi ssi e/o le partizioni che LVM suddivide in estensioni siche. Gruppi di volumi. Sono linsieme dei volumi sici: la grande raccolta di risorse di memoria costituita da tutte le estensioni siche. Volumi logici. Sono le partizioni logiche create da LVM sul disco virtuale, i gruppi di volume. Queste partizioni possono essere formattate con un dato lesystem, possono esser usate per memorizzare dati e possono essere montate sullalbero delle cartelle principale, esattamente come le partizioni normali. Ciascuna di queste strutture parte della gerarchia di LVM: i volumi sici occupano chiaramente la parte pi in basso di detta gerarchia, i gruppi di volumi occupano la parte intermedia e i volumi logici occupano la parte pi alta. Ognuna di queste parti necessaria al funzionamento di LVM, e ognuna di esse deve essere creata in un preciso ordine: i dischi sici o le partizioni devono essere registrate in LVM come volumi sici disponibili; necessario dire a LVM quali volumi sici volete assegnare a quale gruppi di volumi; inne necessario dire a LVM quali volumi logici desiderate includere allinterno di un dato gruppo di volumi e la percentuale di spazio di memoria che volete assegnare a ciascuno di essi.
La sola limitazione che incontrerete nel creare un nuovo schema di partizioni con LVM che ogni schema di questo tipo non pu contenere una partizione di boot, quindi dovrete creare /boot separatamente. Una volta fatto questo, il gruppo dei volumi e i suoi volumi logici saranno disponibili per essere montati o altrimenti ispezionati nella cartella /dev, come succede per ogni altro disco sico o partizione. Inoltre saranno facilmente identicabili in /dev grazie al loro nome, nella forma /dev/NomeGruppoVolumi/NomeVolumeLogico. Inne, per chiarire completamente la procedura, in uno specchietto descritta passo passo linstallazione di Fedora usando LVM. A questo punto sapete cosa LVM, conoscete la sua terminologia e siete riusciti a creare uno schema di partizioni basato su questo strumento con lo scomodo wizard di Fedora. La prossima cosa su cui ci concentreremo luso della linea di comando: partiremo mostrandovi come potete creare un nuovo sistema basato su LVM e come potrete modicarlo. Il primo passo da compiere registrare i nostri dispositivi hardware e le nostre partizioni come volumi sici disponibili, usando il comando pvcreate: pvcreate /dev/sda1 Con questo comando si registra la prima partizione sul primo disco sico come disponibile. Se desiderate registrare lintero secondo disco sico come disponibile, eseguite pvcreate /dev/sdb Notate che se anche LVM funziona correttamente con dischi interi e con partizioni, altri sistemi operativi potrebbero vedere la memoria che avete riservato come libera, per cui fate attenzione a non cancellare informazioni accidentalmente. Procediamo creando un gruppo di volumi a partire dai volumi sici che abbiamo registrato. Il comando da dare semplice: vgcreate NomeGruppoVolumi /dev/sda1 /dev/sdb NomeGruppoVolumi deve essere ovviamente un nome
Il gergo di LVM oscura un po la comprensione di come lavora questo strumento, ma in realt estremamente logico e descrittivo, come vi mostra questo diagramma, che potete trovare in lingua inglese alla pagina Web http://tldo.org/ HOWTO/LVM-HOWTO/ anatomy.html LINUX PRO 116
sda
sdb1
Volumi fisici
NomeGruppoVolumi
Gruppo di volumi
/home
/usr
Volumi logici
ext4
ext4
ext4
Filesystem
61
Partendo da un disco sico vuoto, premete in sequenza i tasti Crea D Partizione standard. Fissate il punto di montaggio a /boot e scegliete in quale disco sico desiderate memorizzare questa partizione: deve avere dimensione ssa ed essere di soli 100 MB. Per terminare loperazione premete OK.
Subito dopo registrate il rimanente spazio disponibile come volume sico. Per farlo, premete la sequenza di tasti Crea D Volume sico LVM, poi impostate il parametro Tipo di le system a physical volume (LVM). Scegliete inoltre lopzione Occupa no alle dimensioni massime consentite. Per terminare loperazione premete OK.
Per creare il gruppo di volumi e i volumi logici premete in sequenza i tasti Crea D Gruppo di volumi LVM. Dategli un nome riconoscibile e poi specicate i volumi sici da usare. La dimensione delle estensioni siche pu essere lasciata al valore di default. Per terminare loperazione premete OK: potete per passare direttamente al prossimo passo senza farlo.
Controllare i cambiamenti
Applicare i cambiamenti
Ora potete creare i volumi logici premendo il tasto Aggiungi nel riquadro Crea gruppo di volumi LVM. Specicate il punto di montaggio a /, /home o a qualsiasi altra cartella che desiderate lo contenga, scegliete il suo lesystem, chiamatelo con un nome semplice e descrittivo, e decidete la sua dimensione.
Prima di procedere al passo nale, controllate le modiche che avete deciso di fare. Controllate che dischi ssi e partizioni siano registrati come volumi sici, che abbiano tutti la dimensione corretta e che non abbiate inavvertitamente cancellato qualcosa che desiderate tenere.
Inne riceverete il solito avvertimento da parte del wizard, che vi avvisa di essere in procinto di creare un nuovo schema di memoria e che ogni vostro dato presente nelle partizioni cancellate o ridimensionate sar perso. Se siete sicuri di aver lavorato bene, premete il tasto Scrivere i cambiamenti su disco.
descrittivo per il gruppo di volumi che si cos creato, specicando quelli che sono i volumi sici che contribuiranno alla risorsa di memoria. Se non vi ricordate quali siano i volumi sici che avete creato, potete eseguire il comando pvscan e ottenere come risposta una lista dei dischi e delle partizioni disponibili. pvdisplay pu invece essere usato per avere una descrizione dettagliata degli attributi di un qualsiasi volume sico, quali possono essere la dimensione, la locazione sul disco, il nome, ecc. necessario creare i volumi logici a partire dal gruppo di volumi appena creato: per farlo digitiamo lvcreate -L10G -nNomeVolumeLogico NomeGruppoVolumi Lopzione -L specica la dimensione desiderata del nuovo volume logico, espressa rispettivamente in Kilobyte, Megabyte e Gigabyte se i sufssi sono K, M e G, lopzione -n ne specica il nome mentre lopzione nale specica da quale gruppo di volumi volete ricavarlo. Questi sono tutti i comandi che dovete conoscere direttamente legati a LVM e, come potete vedere, sono tutti molto semplici e diretti. Giunti a questo punto, necessario creare un lesystem su ogni volume logico e denire come montare ciascuno di essi. Creare
il lesystem unoperazione molto semplice se siete interessati a usare la famiglia ext, molto stabile e quindi diffusa. Dovrete installare il pacchetto e2fsprogs, che vi fornir il comando mke2fs. A questo punto potete decidere quale versione di ext creare (la 4 la pi grande e pi recente) e su quale volume logico crearla: mke2fs -t ext4 /dev/NomeGruppoVolumi/ NomeVolumeLogico Gli altri lesystem dispongono di strumenti analoghi, quindi nessuno di essi risulta molto difcile da creare. Google vi dir volentieri di quali strumenti avete bisogno per creare un dato lesystem, e le pagine del manuale vi aiuteranno con i dettagli sulle opzioni da scegliere. Dopo che avrete creato il lesystem sul volume logico, dovrete solo decidere come montarlo. Per eseguire il montaggio automaticamente ogni volta che eseguirete il boot del computer, aggiungete semplicemente il volume logico nei dispositivi elencati nel le /etc/fstab. La struttura di questo le costituita da un insieme di righe di testo, una per ciascun lesystem che si desidera montare: ciascuna di queste righe composta
62
Btrfs
Btrfs un nuovo lesystem per Linux, progettato per aiutare il sistema operativo nella gestione di grandi e grandissimi sistemi di memoria quali quelli in uso nei Centri Elaborazione Dati e in altri ambiti industriali. Sua peculiarit fornire un insieme di robusti strumenti di gestione e altre caratteristiche avanzate. Btrfs supporta anche il concetto dei sottovolumi, vale a dire cartelle di root interne separate (ed infatti questa sua caratteristica che rende possibile avere unimmagine dello stato del sistema per il backup). Mentre questo concetto pu sembrare simile a quello di volume logico, in realt se ne differenzia molto perch in questo caso non si tratta di blocchi di memoria ma di cartelle montabili allinterno dellalbero principale dei lesystem. A parte le differenze tecniche, i due concetti forniscono servizi molto simili. Btrfs riduce molto la necessit di usare LVM e, grazie al fatto che queste sue caratteristiche sono date congiuntamente a quelle di un lesystem standard senza la necessit di dover gestire partizioni o volumi logici, il lavoro per la sua amministrazione risulta grandemente ridotto. Inoltre il sistema pi sicuro grazie a caratteristiche come il controllo online del lesystem, i checksum e il mirroring, caratteristiche che ogni altro lesystem che voi potreste usare congiuntamente a LVM non ha. Tutte queste caratteristiche rendono Btrfs molto allettante.
fare i reboot del sistema usando un disco live della vostra distribuzione, o comunque un altro sistema di ripristino. A parte queste avvertenze, la procedura semplice, e ve la descriviamo per il solito sistema con lesystem ext4. Per prima cosa eseguite il comando resize2fs specicando la nuova dimensione del sistema, poi eseguite il comando lvreduce per ridurre la dimensione del volume logico. resize2fs /dev/NomeGruppoVolumi/NomeVolumeLogico 2G lvreduce -L2G /dev/NomeGruppoVolumi/ NomeVolumeLogico Il parametro 2G in tutti e due i comandi specica rispettivamente la nuova dimensione del lesystem e del volume logico. lultima cosa che c da dire: come potete vedere, anche una procedura come questa, che pu incutere timore a causa dei possibili effetti disastrosi, si riesce a portare a termine tutto sommato senza troppa fatica.
63
Arduino
La piattaforma hardware aperta per il physical computing
1a Collegare due o pi Arduino usando un bus I2C semplice, a volte non sono nemmeno necessari i resistori di pull-up
Cosa vi serve
Due Arduino (di qualsiasi tipo) Per i circuiti con trasmissione via radio avrete bisogno di due schede breakout con chip nRF24L01. Potete trovarle su molti negozio online di materiale elettronico oppure usate su eBay. La libreria RF24 che trovate sul DVD.
Ci sono molti motivi per usare pi di un Arduino nei vostri progetti: potreste avere una serie di sensori remoti oppure potreste avere la necessit di comandare da un Arduino un robot a sua volta controllato da un Arduino. Qualsiasi sia la ragione occorre che le due schede comunichino tra di loro, cosa che per fortuna non molto difcile da ottenere. Ci sono numerosi modi per spedire dei dati avanti e indietro; la scelta dipende solo dalla vostre esigenze, in particolare la distanza tra le due schede.
DIFFICILE
La prima istruzione inizializza come master il dispositivo su cui viene eseguita. Comincia poi una fase di trasmissione di dati a un dispositivo, il cui indirizzo viene specicato come argomento del metodo beginTransmission(). I dati vengono di solito spediti un byte per volta, ma anche possibile usare un puntatore e la lunghezza dei dati da trasmettere come argomenti del metodo write(). Alla ne conviene terminare educatamente la conversazione con una chiamata al metodo endTransmission(), che in realt avvia la trasmissione vera e propria, dato che i dati sono stati solo accodati in un buffer dal metodo write(). Per leggere dei dati da un dispositivo slave il master deve iniziare la conversazione e richiedere tutti i byte che desidera leggere: char buffer[8]; Wire.requestFrom(indirizzoSlave, 8); int nRicevuti=0; while(Wire.available()) { buffer[nRicevuti] = Wire.read(); nRicevuti++; } Il metodo Wire.available() restituisce il numero di byte ricevuti e disponibili nel buffer, che vengono poi recuperati usando il metodo Wire.read(). Per essere sicuri di ricevere tutti i byte trasmessi pu essere conveniente usare dei caratteri di inizio e ne messaggio. Presenteremo ora un esempio pi signicativo, una specie di ping tra due schede. Useremo lo stesso codice su entrambe le schede e ne congureremo una come master e laltra come slave via hardware: la presenza di una tensione di +5V su di un determinato piedino indicher che quella scheda il master. La scelta di usare un unico programma si riveler molto vantaggiosa in fase di test: molto pi semplice eseguire il debug di un solo sketch seguendo semplicemente percorsi diversi allinterno del codice per slave e master. Inoltre lo slave non ha bisogno di molte istruzioni, quindi un programma tutto
64
Arduino Tutorial
per lui non sarebbe probabilmente giusticato. Anche per quanto riguarda lhardware le esigenze sono minime, come potete vedere nella Fig.1a (se usate dei buoni cavi di lunghezza non eccessiva potete addirittura fare a meno dei resistori di pull-up). Lo schema della Fig.1b chiarisce meglio i collegamenti tra le due schede. Il bus, costituito dai due cavi che collegano i piedini analogici 4 e 5, pu essere ulteriormente esteso ad altri dispositivi. Esaminiamo ora il codice pezzo per pezzo (la versione completa si trova sul DVD come i2c_ping): #include <Wire.h> const int piedinoCong = 7; const int indirizzoSlave = 8; boolean dispositivoMaster; unsigned char buffer[8]; Questo preambolo esegue linclusione dellheader della libreria Wire, che ci servir in seguito, e denisce due costanti (il numero del piedino di congurazione e lindirizzo del dispositivo slave) e due variabili per i dati. La funzione setup invece determina se il dispositivo deve agire come master o slave in base al valore letto dal piedino di congurazione e imposta di conseguenza la comunicazione: void setup(void) { pinMode(piedinoCong, INPUT); dispositivoMaster = digitalRead(piedinoCong); Serial.begin(9600); Serial.print(Inizializzato come: ); if (dispositivoMaster) { Serial.println(master); Wire.begin(); } else { Serial.println(slave); Wire.begin(indirizzoSlave); Wire.onReceive(slaveRX); Wire.onRequest(slaveTX); } } Il codice piuttosto semplice. La cosa pi interessante succede nella parte relativa allo slave. Vengono chiamati due metodi per impostare due funzioni di callback: la prima sar eseguita quando la libreria Wire si accorger che il master sta spedendo dei dati, mentre la seconda verr eseguita quando il master richieder la spedizione di dati. Entrambe le funzioni saranno denite in seguito. Nel ciclo principale presente solo il codice relativo al dispositivo master pi qualche stampa di messaggi di stato sulla seriale per mostrare cosa sta succedendo. Il master spedisce allo slave un byte e poi gli chiede di rispedirglielo. Usando il timer presente sullArduino (a cui si accede con la chiamata a millis()) possiamo calcolare la durata del viaggio di andata e ritorno del byte: if (dispositivoMaster) { uint32_t inizio = millis(); bool timeout = false; Serial.print(Sto spedendo...); Wire.beginTransmission(indirizzoSlave); Wire.write(0xFF); Wire.endTransmission(); Abbiamo usato i metodi delloggetto Wire descritti sopra. Ora che i dati sono stati inviati possiamo chiedere che ce li rispediscano: Serial.println(In attesa di risposta...); delay(20); Wire.requestFrom(indirizzoSlave,1);
1b Lo schema elettrico del collegamento I2C chiarisce meglio le cose. possibile estenderlo ad altri dispositivi
delay(20); Serial.println(Richiesti i dati...); while (!Wire.available() && !timeout) { timeout = (millis() - inizio) > timeoutTrasmissione; } if (timeout) { Serial.println(Timeout nella ricezione della risposta.); } else { buffer[0]=Wire.read(); Serial.print(Ricevuta la risposta, tempo totale:); Serial.print(millis()-inizio); Serial.println( ms.); } delay(2000); } else { Serial.print(In attesa...); delay(1000); } } Abbiamo aggiunto un ciclo while per vericare che il master abbia ricevuto un carattere di risposta dal dispositivo slave entro lintervallo di tempo denito dalla costante timeoutTrasmissione. Questo ci permette di evitare di restare in attesa di una risposta che non arriver mai a causa di qualche problema di comunicazione tra i due dispositivi. Inne dobbiamo scrivere le funzioni che eseguono le operazioni di lettura e scrittura sul dispositivo slave. La prima viene chiamata con un parametro intero che contiene il numero di byte ricevuti dal dispositivo master; la seconda invece non ha nessun parametro: void slaveRX(int bytes){ buffer[0]=Wire.read(); Serial.print(Valore letto: ); Serial.println(buffer[0],HEX); } void slaveTX(){ Serial.println(Spedizione risposta...); Wire.write(buffer[0]); }
65
Tutorial Arduino
Tip
E i collegamenti con un solo lo? Esiste un certo numero di sensori che usano una singola connessione per trasmettere (vedere www.arduino.cc/ playground/Learning/ OneWire), ma non sono raccomandati per trasmettere una grande mole di dati tra due Arduino.
Ci sono un po di ritardi qua e l per consentire il trasferimento effettivo dei dati: in un bus perfetto non ce ne sarebbe bisogno. Come non ci sarebbe bisogno dei resistori di pull-up tra le due linee e la tensione di alimentazione a +5V, che invece spesso sono necessari, soprattutto quando i cavi superano una certa lunghezza. Eliminando i ritardi siamo riusciti a ottenere un tempo totale per il viaggio di andata e ritorno di circa 90 microsecondi. Non male! Se scegliete la strada del wireless avete a disposizione un certo numero di opzioni. La soluzione di fascia pi alta costituita dallo standard ZigBee, supportato dai chip e dai moduli XBee, che in grado di fornire tutte le funzionalit che potreste desiderare. La maggior parte delle soluzioni basate su XBee dispone di uninterfaccia seriale facile e molto ben supportata da Arduino, sia per quanto riguarda le librerie che per gli esempi. Il rovescio della medaglia di tutto questo il costo: circa 40 euro al pezzo, non invoglia certo a usarlo molto spesso nei nostri progetti. Allaltro estremo della gamma delle tecnologie senza li troviamo schede radio progettate sulla base del principio di rigenerazione (in passato noto come audodyne), che sono abbastanza economiche e facili da costruire o modicare. Sono piuttosto spartane: ad esempio necessario implementare il proprio protocollo di comunicazione. Inoltre possono interferire tra di loro, rendendo problematico luso di numerosi di questi dispositivi in unarea limitata. La via di mezzo costituita dalle schede che usano i chip nRF24XX, realizzati da Nordic Semiconductors. Queste piccole meraviglie lavorano nella banda dei 2,4 GHz e, pur non mettendo a disposizione un protocollo di rete, dispongono di funzionalit interessanti come la selezione del canale, la conferma della ricezione dei pacchetti, varie velocit di comunicazione (per spremere il segnale no alla massima distanza possibile) e costano circa la met di un XBee. Di solito sono venduti gi montati su una scheda breakout, cosa che risulta un po fastidiosa perch occorre fare qualche saldatura per poterla usare con una breadboard. I chip nRF24XX sono half duplex, possono cio inviare o ricevere i dati, ma non fare entrambe le cose contemporaneamente. Questo rende leggermente pi complessa la scrittura del software, ma un problema che si presenta anche con i sistemi di collegamento con li. In ogni caso poi i chip ATmega non permettono di implementare il multitasking a prelazione e quindi di sfruttare appieno i dispositivi full duplex. Ci sono un paio di librerie che permettono di usare questi chip da Arduino. Quella scritta da James Colitz Jr., RF24, la pi ricca di funzionalit, anche se pi difcile da usare. Supporta molte delle funzionalit dei chip senza essere troppo complicata. Per usare la libreria occorre includere alcuni le: #include <SPI.h> #include nRF24L01.h
Vantaggi Semplice, veloce, molti dispositivi possono condividere il bus. Funziona a distanze molto maggiori dellI2C, facile da usare con la libreria SPI. Semplice, funziona fino a una distanza ragionevole. Buoni risultati e velocit su cavi lunghi. Niente fili! Non costoso come pensate, di moda! Svantaggi
2 Non tutte le schede RF sono pensate per essere usate con una breadboard
#include RF24.h RF24 fa uso della libreria SPI, quindi va inclusa anchessa. Gli altri due le inclusi deniscono la classe principale RF24, che permette di congurare una radio RF sul bus SPI: RF24 radio(8,9); Questa istruzione crea un oggetto radio che usa i piedini 8 e 9 di Arduino per i segnali CE (Chip Enable) e CSN (Chip Select Not). Il CSN pu sembrare un po ridicolo, ma si tratta semplicemente di un Chip Select che funziona in modalit invertita: attivo quando basso, quindi il chip viene selezionato quando il piedino di Arduino in stato LOW. proprio il modo di funzionamento normale delle interfacce SPI, anche se spesso il corrispondente piedino viene indicato come CS o SS nei diagrammi. Gli altri piedini richiesti per la comunicazione SPI sono quelli usati di solito dalla libreria SPI di Arduino: 11, 12 e 13. I chip nRF24 hanno un certo numero di pipeline (o pipe o FIFO) interne per la ricezione e la trasmissione dei dati. Una di esse pu essere usata per ascoltare o trasmettere, mentre le rimanenti cinque sono disponibili per la ricezione. Ognuna di esse dotata di un indirizzo, potete pensarlo come qualcosa di simile allindirizzo MAC di una scheda di rete. un numero di 64 bit che va assegnato nella maniera pi casuale possibile per evitare collisioni. Quindi un dispositivo RF pu trasmettere su un indirizzo specico e ricevere su cinque indirizzi. Lunica limitazione consiste nel fatto che i primi quattro byte dellindirizzo devono essere identici per tutte le pipe in ricezione. Nel codice per specicare un numero di 64 bit dobbiamo usare un intero senza segno di 64 bit e aggiungere LL alla ne della costante esadecimale che lo inizializza: const uint64_t txpipe = 0x818181818101LL; const uint64_t rxpipe1 = 0xFFFFFFFF01LL; const uint64_t rxpipe2 = 0xFFFFFFFF02LL; Nella funzione setup() dobbiamo inizializzare la radio: radio.begin(); E anche aprire le pipe che intendiamo usare:
Portata (realistica) Una scrivania. La stanza accanto. Tutto il corridoio. Tutta la casa. Tutto il giardino e oltre.
Metodo Due fili (I2C) Tre fili (SPI) Porta Seriale (UART) RS485 Senza fili
Problemi allaumentare della lunghezza del bus. Pi lento di SPI su Arduino Un filo in pi, pi uno per ogni dispositivo slave. Lenta, pu interferire con il caricamento degli sketch, una sola connessione. Ha bisogno di hardware extra e di buoni cavi, blocca il bus seriale. Pi complicato da configurare, pu essere meno affidabile.
66
Arduino Tutorial
radio.openWritingPipe(txpipe); radio.openReadingPipe(1,rxpipe1); radio.openReadingPipe(2,rxpipe2); Il metodo openReadingPipe() accetta due argomenti: il primo il numero della pipe da usare, il secondo il suo indirizzo. La pipe di lettura 0 coincide con lunica pipe su cui possibile scrivere, quindi, a meno che abbiate davvero bisogno di sei pipe, conviene evitare di usarla. Ora abbiamo congurato gli indirizzi delle pipe, ma la radio non sta ancora eseguendo nessuna operazione. Abbiamo bisogno di un altro comando per metterla in ascolto: radio.startListening(); Quando la radio riceve dei dati viene riempito un buffer allinterno del chip. Per acquisire i dati nel nostro programma dobbiamo vericare periodicamente se sono presenti nel chip e leggerli in un buffer allocato allinterno del codice. Ovviamente un compito per il ciclo principale: uint32_t dati; if (radio.available()) { radio.read(&dati, sizeof(dati)); } radio.stopListening(); In questo frammento di codice abbiamo creato un intero di 32 bit per ricevere i dati (che sono spediti in pacchetti di 32 bit) e poi usato il metodo available() per vericare se sono arrivati dei dati che vanno letti. In caso positivo li acquisiamo con il metodo read(), che ha come primo argomento lindirizzo di memoria in cui copiare i dati e come secondo la lunghezza dei dati da leggere (specicata in numero di byte da 8 bit). Nel nostro caso avremmo potuto tranquillamente mettere 4, ma luso della macro sizeof() rende pi difcile commettere errori. Il metodo restituisce un valore booleano che indica se sono disponibili altri dati nel buffer del chip. possibile usare questo valore per creare un loop che legge tutti i dati disponibili. Quando abbiamo completato la lettura dei dati chiamiamo il metodo stopListening() che pone la radio in modalit dormiente. Dato che il chip consente solo comunicazioni half duplex, dobbiamo interrompere la ricezione per iniziare la trasmissione: uint8_t output = 128; bool ok = radio.write(&output, sizeof(output)); if (ok) { Serial.println(ok...); } else { Serial.println(tramissione fallita.); } Il metodo write() molto simile al metodo read() e si aspetta come argomenti lindirizzo dei dati da spedire e la loro lunghezza in byte, in questo caso 1. Anchesso restituisce un valore booleano che indica se la trasmissione andata a buon ne oppure no. In maniera del tutto trasparente per il nostro programma lunit nRF attender la ricezione dei pacchetti di acknowledgment (ACK) per vericare che i dati siano stati ricevuti. C anche una funzionalit di ritrasmissione automatica che riprover a spedire ogni pacchetto dopo una breve pausa. possibile congurare questa funzionalit usando il metodo setRetries(): radio.setRetries(15,15); il cui primo argomento indica il ritardo nella ritrasmissione, misurato in multipli di 250us no ad un massimo di 15 (250 + 15x250 = 4000us), mentre il secondo indica il numero di tentativi da fare, no a un massimo di 15. Se avete difcolt nella trasmissione o nella ricezione e avete gi vericato la correttezza dei collegamenti tra Arduino e nRF24,
3 La maggior parte delle schede RF24 dotata di una qualche forma di antenna a bordo della scheda. Questo non garantisce una portata ottimale: esistono perci schede dotate di connettori per antenne stile Wi-Fi
potrebbe trattarsi di un problema di interferenza. I chip hanno a disposizione 127 canali e alcuni dei valori pi bassi vanno in conitto con le frequenze usate dal Wi-Fi. Conviene quindi scegliere i canali pi alti congurando su entrambi i dispositivi quello da usare con la seguente istruzione: radio.setChannel(111); Abbiamo riscritto il programma di ping per lRF24 (lo trovate nel DVD) e abbiamo ottenuto delle ottime prestazioni: un tempo totale di andata e ritorno di circa 25s con un payload (la quantit di dati trasmessa) quattro volte maggiore di quello usato nel test dellI2C. Qualsiasi modo scegliate per collegare due o pi schede Arduino, ricordatevi che le connessioni non sono mai perfette. A volte i dati andranno persi, i pacchetti non arriveranno o i topi rosicchieranno i cavi. Dovrete tener conto di questi problemi per progettare il vostro codice in modo che non si blocchi. Cercate di scrivere il codice al meglio e ricordatevi che gli imprevisti succedono (quasi) sempre. LXP
Tip
Non sono sempre necessari due Arduino! Altri membri (pi a buon mercato) della famiglia Atmel possono fornire funzionalit analoghe e possono essere sufcienti per inviare attraverso una connessione seriale i dati raccolti da un sensore. Per programmarli occorre per addentrarsi nel mondo di avr-gcc e AVRdude.
Pacchetti ACK
I geni che hanno progettato il chip nRF2401 ci hanno permesso un uso particolare dei pacchetti di acknowledgment (ACK). Dato che la radio deve spedire un pacchetto per dire che i dati sono stati ricevuti (a meno che questa funzionalit non sia stata disabilitata dal programma), perch non metterci dentro qualcosa? Se i dati da spedire possono stare in un singolo pacchetto possibile usare gli ACK per spedirli al trasmittente, che li decodicher al solito modo. Questa tecnica pu essere comoda, per esempio, per leggere i dati di un sensore remoto. Invece di preoccuparci di spedire indietro dei dati ogni volta che ci viene richiesto, possiamo semplicemente scrivere il valore del sensore nel pacchetto ACK che viene rispedito. I dati saranno trasmessi automaticamente, evitandoci cos, tra laltro, di uscire dalla modalit di ricezione per spedirli. Basta questa istruzione: radio.writeAckPayload( 1, &dati, sizeof(dati)); Occorrer per ricordarsi di vuotare il buffer FIFO del chip leggendo i pacchetti ricevuti, altrimenti quando questo buffer si riempie non verr pi spedito alcun pacchetto di ACK.
67
Musica
Scatena sul tuo PC gli autentici suoni di 30 sintetizzatori
Potete sempre accedere ai parametri di Bristol grazie al pulsante presente nel display
DIFFICILE
Inne, dovrete premere Connect. La sequenza di operazioni descritta condurr il suono generato da Bristol verso luscita della vostra scheda audio. Purtroppo, dovrete ripetere questa sequenza a ogni nuovo avvio di Bristol. Appena avviato, Bristol visualizza un organo con struttura in legno, completo di pedali e di due tastiere per i vostri arti virtuali. Al di sopra delle tastiere sono dislocati i drawbar. Facendoli scorrere verso lalto o verso il basso si inuenzer il suono nelle regioni dei bassi (pedali), dei medi (tastiera centrale) e degli alti (tastiera superiore). Ciascun drawbar rappresenta una differente armonica del suono: i drawbar bianchi corrispondono alle armoniche pari; quelli neri, alle armoniche dispari. Inoltre, possibile aggiungere elementi percussivi tramite i pulsanti sulla destra. Il modello B3 comprende molti preset, che si possono selezionare direttamente dai tasti neri posti sulle tastiere o dalla vista Parameter, che pu essere abilitata dal secondo interruttore a sinistra, partendo dal fondo. Non c bisogno di fare click sui tasti virtuali per generare i suoni: la vostra tastiera QWERTY gi impostata come dispositivo di input predenito. Il modulo comprende anche tre effetti audio aggiuntivi: il Leslie e il Reverb, entrambi attivabili dai pulsanti posizionati in alto, alla sinistra del display, e il chorus, regolato dalla manopola posizionata alla destra dei due precedenti. Leffetto Leslie simula un altoparlante che ruota dentro un mobile: un effetto comune per questi vecchi organi, che aiuta a rafforzarne il suono. La velocit di rotazione si modica con linterruttore posto in basso a sinistra mentre la manopola del Chorus pu essere utilizzata per dare ancora pi corposit al suono.
68
Musica Tutorial
Minimoog (-mini)
Il pi famoso tra i sintetizzatori monofonici il Minimoog. Da quando stato distribuito, nel 1970, il suo design e la sua struttura hanno ispirato ogni sintetizzatore dimpostazione tradizionale che sia stato prodotto in seguito. Se imparate a creare e a sviluppare suoni con il Mini sarete in grado di farlo su ogni altro sintetizzatore, usando tecniche simili per generare analoghe sonorit. Nonostante non sia pi cos originale come allora, ancora oggi il Mini lavora il suono in maniera unica. Lemulazione Minimoog di Bristol ne una buona approssimazione; se da una parte non pu essere duttile come un vero e proprio sintetizzatore analogico, dallaltra comunque un ottimo strumento per imparare le basi della sintesi sonora. Il modulo si avvia implementando largomento -mini e si apre con uninterfaccia graca molto simile al pannello di controllo del sintetizzatore originale. Il Mini composto da tre oscillatori, posti allinizio della catena del segnale, che si occupano della generazione sonora. Il tipo di suono emesso dipende dalla forma donda prodotta da ciascun oscillatore. Sulla sinistra del banco degli oscillatori sono posizionate le tre manopole Waveform Type. Ognuna di esse pu essere impostata su una forma donda sinusoidale, quadra, a impulso, a dente di sega, triangolare o a doppio dente di sega; ogni forma donda rappresentata dalla rispettiva, piccola, icona. Per generare molti dei tipici suoni di sintesi sufciente la sola forma donda a dente di sega; pertanto, come punto di partenza suggeriamo di utilizzare proprio questa. Le manopole posizionate alla sinistra dei selettori delle forme donda agiscono sulla tonalit: prima modicano le ottave e poi, tramite la manopola centrale, aggiungono quel po di stonatura che viene impiegata per controllare lemissione del primo oscillatore. sintetizzatori chiama Resonance. Piuttosto che leggerne la descrizione, si comprende meglio leffetto ascoltandolo. Per modicare lampiezza e la frequenza del ltro nel dominio del tempo, cio da quando premete a quando rilasciate un tasto, avrete bisogno di usare le manopole Attack, Decay e Sustain. Sotto di esse, il gruppo di manopole riguarda lampiezza, cio il loudness, mentre il gruppo al di sopra riguarda il ltro. Nella sezione Filter, la manopola Contour determina quanto linsieme delle regolazioni inuenzi il ltro. Attack imposta la durata, in secondi, del tempo necessario per variare lintensit del suono da zero, silenzio, al valore denito dalla manopola Sustain. Il Decay, invece, il tempo che impiega il suono per tornare al livello zero. Per esempio, se volete una timbrica pop impostate Attack e Sustain a zero, quindi usate Delay per regolare lampiezza sonora. La Modulation lultima sezione del Mini la cui logica risulta applicabile a molti altri sintetizzatori. La modulazione consiste nella modica del valore di una fonte sonora per mezzo di unaltra fonte, in maniera simile a come abbiamo usato le regolazioni di ampiezza e di frequenza per modellare il suono nel tempo. Per modicare il ltro pu essere usata sia la tastiera sia il terzo oscillatore, in base allimpostazione del banco di interruttori posto sotto letichetta MOD. Ad ampiezza maggiore dei tasti premuti sulla tastiera, corrisponde maggiore frequenza di taglio; cos, anzich usarlo come componente udibile del suono, loscillatore 3 pu essere impiegato come oscillatore di bassa frequenza. Per farlo occorre: attivare il pulsante LFO posizionato sulla destra delletichetta Controllers, in modo da spostare la frequenza degli oscillatori dalla gamma audio alla gamma della bassa frequenza; disattivare linterruttore OSC 3 nel mixer; assicurarsi che la manopola MOD posizionata sulla sinistra sia completamente ruotata verso OSC; abilitare linterruttore MOD nel mixer. Cos facendo, sentirete delle variazioni di frequenza periodica agganciate alla frequenza stessa delloscillatore. Provate a cambiare la forma donda e le diverse regolazioni, no a trovare un suono soddisfacente. Tramite linterruttore di colore rosso, quello posizionato pi in alto nella sezione Controllers, potete anche modulare la frequenza degli oscillatori.
Il mixaggio
Proseguendo la catena sonora, il segnale passa dalla sezione degli oscillatori al mixer. Questultimo viene usato sia per il mixaggio nale, abilitando ciascuna sorgente e regolando il volume di ogni oscillatore, sia per lintroduzione del rumore articiale. Nei sintetizzatori classici il rumore una parte signicativa del suono e serve non solo per generare effetti speciali (come il vento) ma anche per aggiungere una certa granulosit a timbriche altrimenti ordinarie. Per capire di cosa stiamo parlando, provate ad accenderlo e alzate un po il relativo volume. Il rumore e le forme donda a dente di sega hanno un forte contenuto armonico, il che le rende sorgenti ideali per la fase successiva del motore di sintesi: il ltro. La funzione del ltro consiste nel rimuovere una parte del segnale audio, lasciando inalterato tutto il resto. Il modo in cui un ltro viene integrato lelemento che caratterizza maggiormente il sintetizzatore stesso. Per far transitare il segnale audio attraverso il ltro, assicuratevi di aver attivato il pulsante di colore rosso posizionato al centro nella sezione del mixer. Con la manopola Frequency potrete quindi cambiare la frequenza del ltro passa-basso del Mini. In quanto passa-basso, blocca le frequenza del segnale superiori a quella impostata. Le informazioni sonore presenti attorno alla frequenza di ltro possono venire enfatizzate dalla manopola Emphasis: una funzione che la maggior parte degli altri
Se confrontate questa immagine con quella del pannello frontale reale del Minimoog, troverete poche differenze
69
Tutorial Musica
Prophet 5 (-pro5)
Come avrete notato, introducendo le funzionalit base di Bristol, abbiamo anche denito le fondamenta della sintesi sonora. Ora possiamo permetterci di andare oltre: potete avviare quasi tutti gli altri sintetizzatori presenti nel pacchetto di Bristol, comprendendo immediatamente le loro potenzialit. Noi, per, facciamo un salto di alcuni anni dalla presentazione del Minimoog per conoscere un sintetizzatore analogico polifonico chiamato Prophet 5. Grazie allimpiego ibrido di un computer per la gestione delle connessioni e alla possibilit di suonare pi di una nota alla volta, il Prophet 5 suona in maniera completamente diversa dal Minimoog E questo, nonostante utilizzi lo stesso usso di segnale e abbia una struttura simile. Ecco perch il Prophet 5 risulta perfetto per riprodurre i movimenti darchi, lunghi e lenti, e persino i suoni pi sperimentali. dopo aver rilasciato un tasto. Amplicato, un valore elevato di Release suona in maniera simile al degradarsi di una campana tubolare.
Circuiti sequenziali
Anche se a prima vista pu non sembrare, il Pro 5 genera suoni in modo simile al Mini. Anzich tre oscillatori per voce, per, ne utilizza solo due e, come sempre, i relativi pulsanti vengono impiegati per selezionare le diverse forme donda (shape, nel gergo di Prophet). Tramite la manopola Pulse, inoltre, possibile regolare anche lampiezza dellonda quadra. Se avete modo di vedere londa in un oscilloscopio noterete la forma quadra modicarsi da un blocco stretto (o impulso) a un rettangolo allungato. Ma la pi grande differenza rispetto al Mini che il Prophet 5 pu generare contemporaneamente tutte le forme donda descritte; fatto, questo, che lo rende perfetto per creare suoni ricchi e molto pi complessi di quelli prodotti da un singolo oscillatore. Per il resto, lanalogia con il Mini completa. Le sezioni Mixer e Filter svolgono compiti equivalenti alle rispettive sezioni del Minimoog ed stato aggiunto uno specico LFO per modulare il ltro o le frequenze degli oscillatori, in relazione allattivazione dei pulsanti LFO in ciascuna sezione. Qui, le regolazioni lavorano su quattro fasi anzich tre, ricreando cos il classico inviluppo ADSR impiegato attualmente dalla stragrande maggioranza dei sintetizzatori. ADSR sta per Attack, Decay, Sustain, Release; il valore aggiuntivo Release rappresenta la velocit con la quale il segnale si afevolisce
Se il Commodore 64 fosse stato trasformato in un sintetizzatore, avrebbe avuto un aspetto simile a questo
70
Musica Tutorial
Arp 2600 (-arp)
arrivato il momento di scoprire il modulo pi complesso di Bristol: lArp 2600. Esso differente dagli altri per molte ragioni. A prima vista, la differenza pi evidente che manca la tastiera, come avveniva per il sintetizzatore originale che aveva bisogno di essere collegato a una tastiera esterna tramite cavi di controllo. In Bristol possibile usare la tastiera del computer risparmiandoci, cos, il fastidio di trovarne una virtuale. Ma non solo! LArp 2600 noto per essere un sintetizzatore semi-modulare. Ci signica che invece di fornire pronti i vari elementi di un sintetizzatore (oltre che averli pre-congurati come nel Minimoog) lascia lutente libero di riassegnarli in qualsiasi maniera desideri. La riassegnazione avviene tramite cavi che trasportano il segnale grezzo di tensione (virtuale) dalluscita di un elemento allingresso di un altro. Per esempio, se volete modicare la frequenza del ltro tramite uno LFO potete usare un cavo, collegando luscita dello LFO allingresso del ltro. NellArp 2600, per, diversamente da un sintetizzatore completamente modulare, non avete bisogno di collegare alcun cavo per ottenere un suono. Luscita dei tre oscillatori, infatti, passa attraverso il ltro (VCF) e linviluppo di ampiezza (ADSR) nello stesso modo in cui avviene nei sintetizzatori descritti in precedenza. Inoltre, proprio come succede nel Minimoog, potete regolare i cursori per modicare il suono. Provare le diverse regolazioni un ottimo metodo per comprendere alcune caratteristiche dellArp 2600 ma inizierete a divertirvi davvero quando personalizzerete i controlli usando i cavi di connessione. In Bristol, un alone rosso attorno ai connettori identica le uscite mentre i connettori degli ingressi hanno un alone verde. Per effettuare una connessione basta selezionare con un primo click luscita da utilizzare e con un secondo click lingresso al quale connettere il cavo. Sopra molti ingressi, poi, vi sono dei cursori che stabiliscono la quantit di effetto da applicare al segnale. Nel caso in cui lingresso non sia collegato, i cursori controllano il percorso di default del segnale.
LArp 2600 il modello pi complesso di Bristol
Percorsi di default
Prendiamo come esempio la sezione VCF: sopra gli ingressi audio sono posti dei cursori. Sprovvisti di un cavo di connessione, gli in ingressi sono usati per il modulatore ad anello,
per i tre oscillatori e per il generatore di rumore, cos come illustrano i piccoli simboli posti al di sotto degli ingressi stessi. Per aggiungere al ltro il suono delloscillatore 1 sufciente spostare il cursore posto sopra il relativo simbolo. Tutte le connessioni predenite sono illustrate alla stessa maniera e differiscono di poco. Per esempio, per modulare laltezza delloscillatore 2 con londa quadra prodotta dalloscillatore 1, bisogna spostare in avanti il terzo cursore. Se volete collegare lingresso a unaltra fonte, come pu essere linviluppo ADSR, usate un cavo di collegamento dalluscita dellADSR verso un ingresso delloscillatore, quindi spostate verso lalto il cursore associato. Rimanendo sulloscillatore 2, se invece dellonda quadra voleste collegare al ltro londa a dente di sega, tracciate un cavo dalluscita Sin verso lingresso VCO2 del ltro. Il Program 1 un buon punto di partenza per iniziare a sperimentare. Per caricare il Program 1 usate il tastierino numerico o i tasti cursore, nch sul display LCD comparir la scritta PRG:1. Quindi, premete il pulsante L per caricare il preset. LArp 2600 senza alcun cavo collegato produce il classico, vagamente inquietante, suono da sintetizzatore. Questa sonorit, di retroazione, generata dallauto-oscillazione del ltro: in altri termini, la risonanza assume il valore massimo. Nella spiegazione passo passo che segue viene mostrato come variare lentit della risonanza per mezzo del terzo oscillatore che, noterete, non ha il proprio ingresso miscelato nel ltro e quindi, inutilizzato. In pratica, si utilizza il VCO3 come un LFO, cos da modulare lingresso del ltro con unonda sinusoidale. LXP
Da OSC3 a LFO
Collegate il cavo
Utilizzate i controlli
Nella sezione VCO3 dovete impostare il cursore della frequenza audio sul valore LFO e poi fare click sulluscita SIN. Utilizzate il pitch control per regolare la velocit.
Fate click sul controllo VCO2 in ingresso sul ltro e alzate il relativo livello tramite lapposto cursore. Adesso luscita dellLFO risulta utilizzata per impostare la frequenza di taglio del ltro stesso.
Allingresso del mixer arrivano sia il segnale proveniente dal ltro che quello derivante dalluscita dellinviluppo della forma donda, amplicato. Per ottenere una sonorit laser pi pura, muovete il cursore sulla sinistra.
71
Controllo di versione
Lasciate al passato la perdita di lavoro vitale
Il controllo di versione non usato solo dai programmatori: anche Wikipedia lo usa in modo estensivo
Ci siete passati tutti: si sta lavorando a un progetto - che sia scrivere codice, un articolo o un saggio - e si decide di fare una modi ca radicale che non funziona come sperato. Purtroppo, la modi ca non facile da annullare, e si nisce per perdere unora di tempo prezioso solo per riportare il progetto al suo stato originale. I programmatori, essendo il geek uno degli esseri pi pigri del pianeta, hanno deciso che avrebbero potuto creare uno strumento che li avrebbe aiutati a evitare questa situazione. Questo strumento - o classe di strumenti - stato de nito sistema di controllo versione (VCS). Lidea che ogni volta che il progetto raggiunge un punto che abbia progressi signi cativi, o appena prima di fare un cambiamento radicale, indicate al VCS di registrare lo stato attuale del progetto. quindi possibile andare avanti, e modi care tranquillamente i le; se le cose non funzionano non un problema. Potrete sempre sfogliare lo storico del progetto, come registrato dal VCS, e ripristinare in un lampo i le comerano nello stato precedente.
e poi unirli di nuovo insieme, permettendo a molti collaboratori diversi di lavorare sullo stesso progetto, senza paura di modi che contrastanti. Questo tipo di tecnologia diventata fondamentale nel Software Libero e Open Source e ha contribuito al suo successo. Si trova anche al centro di progetti come Wikipedia, dove la capacit di monitorare e ripristinare le modi che fondamentale per trattare atti di vandalismo e permettere agli utenti di confrontarsi criticamente con fonti legittime. Per vederlo in azione, date unocchiata alla scheda Cronologia nella parte superiore di ogni pagina di Wikipedia, potrete vedere i dettagli di ci che ha fatto modi che e i momenti in cui alcune modi che sono state annullate. In questo tutorial conoscerete il sistema di controllo versione Git. Originariamente stato scritto da Linus Torvalds per rendere pi facile mantenere il kernel Linux, ma diventato una delle scelte pi popolari tra i VCS. Darete uno sguardo al suo utilizzo di base e ad alcuni ussi di lavoro di esempio, in modo da poter avere unidea di come usarlo nel mondo reale. La prima cosa che dovrete fare installare Git. Dal momento che uno strumento Open Source estremamente popolare, disponibile nei repository di default di quasi tutte le distribuzioni. In Ubuntu, vi baster un rapido apt-get install git-core, mentre in Fedora yum install git-core. Notate che in alcune distribuzioni il pacchetto sar semplicemente chiamato git.
72
Perl
<div id=content> <div id=header> <h1>BookWeb</h1> <h2>Heres your reading list</h2> </div> </div> </div>
Un po di buon Perl
Non si era detto che questo sarebbe stato un tutorial Perl? tempo di tornare al tema scrivendo un po di codice Perl. Si gi accennato che il le bin/app.pl quello che guida lesecuzione principale del programma, ma modicandolo vedrete che abbastanza semplice: #!/usr/bin/env perl use Dancer; use BookWeb; dance; In sostanza viene caricata la libreria Dancer e quella BookWeb, chiamando poi la funzione dance per avviare il tutto. Il punto in cui si concentra il lavoro vero per la libreria BookWeb, che risiede nel le lib/BookWeb.pm. Al momento quello che ci troverete package BookWeb; use Dancer :syntax; our $VERSION = 0.1; get / => sub { template index; }; true; Ancora una volta non c molto da vedere, ma n dora facile capire quale sar lo scheletro dellapplicazione. Infatti in un progetto Dancer vengono denite alcune rotte ed il software stesso che si occupa di individuare la corrispondenza tra la richiesta effettuata e le risorse denite, instradando il usso verso la prima corrispondenza trovata. Una rotta denita dalla combinazione di una tipologia di richiesta HTTP (GET, POST, ecc.) e un percorso (path). Al momento ne stata denita solo una che serve a gestire le richieste GET verso la home dellapplicazione (/). Qualsiasi richiesta che non trover nessuna corrispondenza verr trattata dal gestore resource not found (letteralmente risorsa non trovata) di default di Dancer, inviando un bel 404 al browser dellutente. Se al contrario viene trovata la voce corrispondente a quanto richiesto, il codice a esso associato verr eseguito. Nel caso in oggetto verr generata la pagina iniziale della Web App grazie alluso dei template. In effetti gran parte della potenza di Dancer sta proprio nelluso delle nuove istruzioni che offre alla vostra applicazione, proprio come i template. Questa parola chiave nasconde in realt molto pi lavoro di quanto sembri, dato che per ottenere il risultato deve cercare nel lesystem, leggere il contenuto del le trovato, interpretare ed espandere luso delle variabili e integrare il contenuto della pagina nel layout del template. Secondo alcuni detti delle migliori arti marziali e linguaggi di programmazione, bisogna sempre cercare di ottenere il massimo risultato con il minimo sforzo; proprio per questo se si vuole arrivare al risultato nale sfruttando al massimo le potenzialit di Dancer si dovr spremere i template il pi possibile. Nello specico sar bene iniziare chiamando listruzione template passando le liste dei letti, da leggere e in fase di lettura.
template index,{ reading => \@reading, read => \@read, to_read => \@to_read, }; In sostanza si aggiunto un nuovo parametro alla chiamata al template, nello specico un hash che contiene tutti i dettagli di cui si avr bisogno durante lesecuzione del template. Le chiavi dellhash (reading, read e to_read) sono tutti nomi che possono essere usati allinterno del template per richiamare le variabili corrispondenti, mentre i valori assegnati sono dei reference agli array interessati. Per essere pi precisi si dovuto operare in questo modo dato che in Perl si pu memorizzare allinterno di un hash solo un riferimento e non larray intero. Se volete approfondire il discorso potete consultare il manuale alla voce perlreftut per una spiegazione pi esaustiva.
Tip
Uno dei modi di dire della comunit Perl c sempre pi di un modo di farlo. Non stupitevi troppo se quindi troverete online dei tutorial completamente diversi da come vengono affrontati alcuni temi in questi tutorial.
83
Perl
Tip
Se state cercando critiche e consigli su come migliorare il vostro codice, ricordatevi di riferirvi a perlcritic, solitamente gi pacchettizzato e pronto alluso nel vostro package manager preferito.
(Book/Result/Author.pm e Book/Result/Book.pm). Dato che state modicando il le cong.yml dovreste approttarne per cambiare il motore di templating; Dancer viene infatti fornito di default con due engine di templating diversi e quello impostato di default troppo semplice per soddisfare i bisogni del progetto che si sta realizzando, quindi bisogner passare allutilizzo di Template Toolkit. Per operare questa scelta modicate il le cong.yml in modo che risulti come segue # template: simple template: template_toolkit engines: template_toolkit: encoding: utf8 start_tag: <% end_tag: %> Da notare il cambiamento delle opzioni start_tag ed end_tag per cambiare rispettivamente dal vecchio valore [% e %] ai nuovi <% e %>, cos da essere compatibile con il codice di default gi scritto in Template Toolkit. Ora che tutte le librerie sono al proprio posto il momento di scrivere il codice per accedere al DB. Cambiate il le Book.pm in modo da renderlo simile alle righe seguenti: get / => sub { my $books_rs = schema->resultset(Book); my @reading = $books_rs->search({ started => { !=, undef }, ended => undef, }); my (@read, @to_read); template index, { reading => \@reading, read => \@read, to_read => \@to_read, }; }; A parte usare la parola schema per accedere allomonimo costrutto, il resto del codice praticamente identico a quello usato nella scorsa puntata per accedere al DB. Viene creato un oggetto resultset e su questo si usa il metodo search per trovare la lista dei libri interessati; per esempio i libri in fase di lettura avranno la colonna started non nulla e quella ended invece nulla. Al momento verranno ignorate le altre due liste.
Il Template Toolkit
Durante il tutorial si usato il Template Toolkit per gestire la creazione dellHTML in maniera dinamica. Un motore di templating essenziale per la costruzione di qualsiasi applicazione Web di qualsivoglia complessit. Un buon motore di template vi aiuter a tenere separate le logiche di visualizzazione da quelle insite nella vostra specica applicazione. Template Toolkit viene generalmente accettato come il prodotto pi potente nel suo genere per Perl 2. Nonostante offra un linguaggio semplicato, grazie al sistema di plug-in disponibili su CPAN le possibilit sono praticamente innite. La versione 2 di TT ormai stata pubblicata da diversi anni (http://tt2.org) ma si sta avvicinando il rilascio della versione 3. Nel caso siate pi affezionati alla carta stampata potrete trovare anche un libro pubblicato da OReilly chiamato Template Toolkit.
<div id=content> <div id=header> <h1>BookWeb</h1> <h2>Heres your reading list</h2> </div> <h3>Reading</h3> <% IF reading.size %> <ul> <% FOREACH book IN reading %> <div class=book><p> <img src=<% book.image_url %> /> <a href=http://amazon.co.uk/dp/<% book.isbn %>> <% book.title %></a> <br />By <% book.author.name %></p> <p><% IF book.started %>Began reading: <% book.started.strftime(%d %b %Y) %>.<% END %> <% IF book.ended %>Finished reading: <% book.ended. strftime(%d %b %Y) %>.<% END %></p> </div> <% END %> </ul> <% ELSE %> <p>No books found.</p> <% END %> </div> </div> Le parti pi interessanti riguardano luso dei tag <% e %>. Potete notare infatti un costrutto IF/ELSE e un ciclo FOREACH, entrambi celebri strumenti di programmazione che funzioneranno esattamente come vi aspettereste. Allinterno dellhash passato come argomento cera una chiave denominata reading e proprio questa diventa la variabile di riferimento allinterno del ciclo del template. Essendo la variabile un array, si pu controllarne la dimensione vericando cos quanti elementi contiene. Se larray vuoto, la condizione dellif sar falsa (Perl considera falso il numero 0) eseguendo cos il blocco dellelse che mostra un messaggio indicante che non sono stati trovati libri. Se al contrario viene trovato almeno un libro comincer il ciclo FOR/EACH, memorizzando temporaneamente lelemento analizzato nella variabile book. In realt ognuno di questi oggetti corrisponde a una oggetto prelevato dalla classe DBIx::Class denita nella puntata precedente; questo in particolare signica che ogni oggetto avr un metodo per ogni colonna della tabella e che questi potranno essere usati per recuperarne il valore. Ad esempio, si potranno ricavare titolo, nome dellautore e anche il codice ISBN, utile a generare il link informativo verso gli archivi di Amazon. Da notare anche come la colonna started ritorni un oggetto Perl DateTime, da poter usare direttamente senza conversioni con il metodo strftime per ottenere una data ben formattata. Per migliorare laspetto puramente estetico della pagina potrete effettuare qualche piccola modica al le CSS public/css/style.css come segue: img { oat: left; margin: 0 5px 5px 0; clear: both; } .book, h3 { clear: both; } Tutto ci che rimane da fare ora scrivere il codice per gestire le altre due componenti dellhash, ovvero to_read e read. Siccome i bravi programmatori sono diligenti e quelli
84
Perl
Scegliere la rotta giusta con Dancer
Nellarticolo si afferma che Dancer basato sul concetto di rotte (routes), ma di cosa si tratta esattamente? Una rotta la combinazione di tre elementi: un metodo HTTP, un path e una sezione di codice. Molto semplicemente quando Dancer verica che il contenuto di una richiesta HTTP corrisponda gli elementi deniti (metodo e path), cerca il codice associato e lo esegue. Nellesempio questo era il codice dellunica rotta iniziale: get / => sub { ... }; In questo esempio il metodo HTTP get, il path / e il codice denito allinterno della subroutine. In sostanza quando Dancer vedr una richiesta HTTP(GET) fatta verso il path / (ovvero la home della Web App) verr eseguito il codice specicato. Tutte le componenti della rotta possono essere decisamente pi complesse; ad esempio si potrebbero matchare le richieste POST con la parola chiave post oppure quelle di qualsiasi tipo con any. anche possibile eventualmente accedere ai dati passati dalla richiesta come segue: get /hello/:name => sub { return Hello . params->{name}; };
Una volta che vi sarete impegnati un po nella lettura dei classici pi importanti la vostra libreria dovrebbe somigliare molto allimmagine
ottimi invece sono davvero pigri e furbi, il caso di modicare lievemente il le index.tt evitando cos di duplicare il codice copiando nuovamente (e inutilmente) quello che gi stato scritto, semplicando il risultato nale e la vostra vita. Infatti Template Toolkit offre il concetto di macro, pi o meno lo stesso concetto delle funzioni nei linguaggi di scripting: lobiettivo di rendere portabile e facilmente riutilizzabile un blocco di codice. Ad esempio si potrebbe denire una macro che mostra i dettagli del libro in esame tutte le volte senza dover ripetere il codice. Ecco come sarebbe indicativamente il risultato nale <% MACRO showbook(book) BLOCK %> <div class=book><p> <img src=<% book.image_url %> /> <a href=http://amazon.co.uk/dp/<% book.isbn %>> <% book.title %></a> <br />By <% book.author.name %></p> <p><% IF book.started %>Began reading: <% book.started.strftime(%d %b %Y) %>.<% END %> <% IF book.ended %>Finished reading: <% book.ended.strftime(%d %b %Y) %>.<% END %></p> <% END %>
<h3>To Read</h3> <% IF to_read.size %> <% FOREACH book IN to_read %> <% showbook(book) %> <% END %> <% ELSE %> <p>No books found.</p> <% END %>
Tip
Il progetto Dancer produce annualmente un calendario per lavvento con nuovi contenuti nascosti sotto le caselline al posto dei cioccolatini. Non perdetevelo, lo trovate allindirizzo http://advent. perldancer.org.
Macro su macro
A dirla tutta non che sia cambiato granch; lo stesso identico codice con i tag MACRO, BLOCK ed END messi nei punti giusti in modo da renderlo riutilizzabile. Una volta inserita la macro si potrebbe riscrivere la parte di visualizzazione dei dettagli sul libro come segue: <h3>Reading</h3> <% IF reading.size %> <% FOREACH book IN reading %> <% showbook(book) %> <% END %> <% ELSE %> <p>No books found.</p> <% END %> <h3>Read</h3> <% IF read.size %> <% FOREACH book IN read %> <% showbook(book) %> <% END %> <% ELSE %> <p>No books found.</p> <% END %>
85
Python
Suggerimenti ad hoc
Vi mostriamo come costruire un semplice player musicale e come aggiungere dei tooltip personalizzati allelenco dei le
Codice d
PRO
dentro il
esempio
Cosa ci serve
Il codice completo ben commentato su DVD. Oltre a Python 2.7+, vi servono i moduli seguenti: gtk (PyGTK per linterfaccia); Mutagen (per gestire i tag ID3); gst (pythongstreamer per la riproduzione). Inoltre vi servono i codec MP3 installati per GStreamer.
Nelle puntate precedenti vi abbiamo mostrato la potenza della libreria Cairo per la creazione di aree personalizzate di disegno allinterno delle vostre applicazioni e abbiamo fatto anche un fantastico giro allinterno del mondo della matematica. Dopo una breve pausa in questa puntata torniamo a personalizzare elementi del tookit GTK, in questo caso si tratta dei tooltip. Essi sono quelle piccole informazioni che appaiono nello schermo quando spostate il mouse su qualcosa. Sono spesso trascurati e molte persone pensano che non siano necessari quando le applicazioni sono ben progettate. Questo vero, visto che poco utile mostrare un suggerimento che dice Pulsante Stop per un pulsante che riporta gi la scritta STOP. Per ci sono casi in cui questi suggerimenti a comparsa possono fornire informazioni aggiuntive e utili su un oggetto. Per iniziare aprite un terminale e provate i comandi base: >>> import gtk >>> w=gtk.Window() >>> w.set_size_request(200,200) >>> i=gtk.Image() >>> i.set_from_stock(gtk.STOCK_DIALOG_INFO, gtk.ICON_SIZE_DIALOG) >>> w.add(i) >>> w.show_all() Questo brano di codice crea una nestra e un oggetto immagine. Visto che siamo troppo pigri per disegnare qualcosa, abbiamo fatto uso di unimmagine che fa parte del set di oggetti di GTK. Poi labbiamo semplicemente aggiunta come unico oggetto della nestra, per poi richiamare il metodo show_all() per mostrare la nestra sullo schermo. Ora aggiungiamo il tooltip: >>> i.set_tooltip_text(questa non una lampadina) Ora, se provate a spostare il cursore sopra licona che appare, vedrete il semplice suggerimento. Incredibile, vero? Beh, forse pi semplice di quanto pensavate. Per non nita qui, ci sono altre cose che potete fare. Il prossimo passo di applicare uno stile al testo. PyGTK supporta il sistema di markup Pango, che un modo
semplice per applicare stili al testo, simile allHTML. Come regola generale, cose semplici come grassetti e corsivi sono controllati da normali tag da inserire nel testo: <b> grassetto <i> grassetto corsivo </b> corsivo </i>. Altre cose, come i colori e i tipi di font, devono essere indicati come attributi di un oggetto span: <span foreground=red font=Monospace 14> pippiripettenusa</span>: >>> ptext=<span font=Sans 15 font_style=italic> Questa <b>non</b> una lampadina</span> >>> i.set_tooltip_markup(ptext) Molto pi accattivante, non vero? Ora potete aggiungere delle spiegazioni a qualunque widget nelle vostre applicazioni. Sappiamo cosa state pensando: se cos semplice, cosa vi diremo nelle prossime tre pagine? Non vi preoccupate, abbiamo dei piani per voi
Il nostro primo tooltip in azione. Il suggerimento vi ricorda che quella visualizzata non una lampadina
Ora abbiamo aggiunto un pizzico di stile Pango, quindi dovete essere doppiamente sicuri che non si tratta di una lampadina
86
Python
<enum GST_STATE_CHANGE_SUCCESS of type GstStateChangeReturn> Ok, per ora non un gran player musicale, ma con un po di fantasia potete intuirne le potenzialit. Il metodo element_factory crea un oggetto generico che pu riprodurre qualunque sorgente compatibile con GStreamer (funziona anche con i video, per la cronaca). Per farlo puntare a qualcosa, si crea una stringa con il riferimento al le (ovviamente dovete personalizzare la stringa che abbiamo usato noi nellesempio) e poi si richiama set_state() per avviare la riproduzione. Lultima chiamata nel codice precedente ferma la riproduzione per voi (potete usare anche gst.STATE_PAUSED per mettere in pausa la traccia). Questo tutto ci che vi serve per riprodurre della musica. Tutto quello che dobbiamo fare fornirvi unapplicazione che passi il percorso degli MP3 al riproduttore. Inoltre potrebbe essere daiuto riuscire a organizzare i le in qualche modo.
Mutagen
Fortunatamente il mondo della musica ha capito tempo fa che era una buona idea inserire alcune informazioni nei le audio, in modo simile a quanto capita con i dati EXIF integrati nelle immagini. Tristemente, per, limplementazione nel caso della musica non altrettanto perfezionata. Il metodo pi popolare prevede luso dei tag ID3 pezzi di dati inglobati nellheader di ogni le. Anche in questo caso, per, ci sono alcune variazioni tra le versioni e non c modo di garantire la presenza di un certo dato in tutti i le. In breve, un macello. Per cercare di dare un senso alla situazione, useremo la libreria Mutagen. Si tratta di un insieme robusto e utile di funzioni che offrono tutte le funzionalit del caso, e nel caso deciderete di estendere la nostra applicazione desempio, supporta anche formati come quelli usati per i le Ogg e FLAC. Ecco come funziona: >>> from mutagen.mp3 import MP3 >>> mdata=MP3(/home/ninjak/Musica/ 02_rollerblades.mp3) >>> mdata.keys() [TPOS, TDRC, TIT2, uAPIC:Cover (front), TRCK, TPE1, TALB, TCON, TCOM] >>> mdata[TIT2] TIT2(encoding=0, text=[uRollerblades]) >>> mdata[TIT2].text [uRollerblades] >>> mdata[TIT2].text[0] uRollerblades Abbiamo intenzione di usare solamente il subset mp3, quindi abbiamo importato solo la parte del modulo che ci interessava. Tutto quello che bisogna fare creare un oggetto MP3 partendo dal nome le. Loggetto memorizza le informazioni ID3 in un dizionario, quindi usando il metodo keys() si scoprono i tag presenti nel le. Se niente di tutto ci ha senso per voi, perch il tutto sembra essere stato progettato per confondere e frustrare gli utenti. Leggete il box qui in alto per qualche altro dettaglio sullo standard ID3, ma per ora vi diciamo che il nome della traccia TIT2, il nome dellalbum TALB mentre TPE1 contiene il nome dellartista. Ha senso, no? Nellesempio precedente, al termine del brano di codice, si ha una stringa che serve per muoversi nella gerarchia delloggetto. Il testo memorizzato in una lista, ma potete
Il sito id3.org vi pu illuminare sullo scopo dei differenti tag ID3, ma non vi dice nulla se qualcosa va storto nei vostri programmi in Python
ottenerla anche usando il metodo pprint(): >>> mdata[TCOM].pprint() UTCOM=Craigie Dodds Quindi tutto quello che dovete veramente fare caricare una lista di nomi di le e poi esaminare i le MP3 per raccogliere i loro dati. Si pu inserire il tutto in una TreeView.
Tip
Per evitare gli errori pi comuni potete far vericare il vostro codice Python da PyChecker, http://pychecker. sourceforge.net.
87
Python
Qui abbiamo creato gli oggetti ListStore e TreeView e poi abbiamo generato le colonne che verranno mostrate dal widget. Le celle vengono renderizzate da un diverso oggetto GTK, il CellRenderer. Se state usando solo del testo, potete crearne uno che pu essere usato per tutte le voci. Quando create la colonna, il parametro text= punta alla colonna dei dati che contiene il valore da mostrare. Una volta che avete aggiunto tutte le colonne, potete impostare i comportamenti della TreeView: self.treeview.columns_autosize() self.treeview.set_reorderable(True) self.treeview.connect(row-activated, self.tree_doubleclick) Autosize vuol dire che le dimensioni delle colonne si aggiustano da sole in modo da adattarsi ai dati che contengono. Impostando poi la propriet reorderable lutente pu trascinare le righe nella vista per riordinarle non una cosa molto importante per la nostra applicazione, ma si pu usare questa funzione come parte di un sistema di playlist, ad esempio. Lultima linea collega i segnali rilevanti dal widget al metodo che si user per avviare la riproduzione della musica. Pi avanti vi forniremo altri dettagli, ma ora necessario pensare al tooltip. Se si volesse usare del testo semplice si potrebbe memorizzare il suggerimento in una nuova colonna di dati attivandola in questo modo: self.treeview.set_tooltip_column(6) Questo sarebbe molto semplice e immediato, ma vi impedisce linclusione di immagini. Invece di fare cos vi mostriamo come impostare manualmente la propriet del tooltip a True e poi fornire un metodo callback per trattarla: self.treeview.props.has_tooltip = True self.treeview.connect(query-tooltip, self.custom_tooltip) Ora quando il mouse passa sulla tabella, questo segnale crea una chiamata al metodo custom_tooltip passandogli le speciche dellevento che ha causato il segnale. Si vogliono creare dei tooltip e lo si potrebbe fare con alcune delle informazioni gi recuperate dal le, ma sarebbe carino avere anche unimmagine come parte del tooltip. Da dove si pu recuperare questa immagine?
Anche se non vi serve un IDE per scrivere in Python, uno strumento simile pu essere utile per fare un po di debug in caso di strani comportamenti
Cos GTK?
GTK+, per indicare il nome completo, semplicemente un toolkit graco che denisce un intero set di elementi graci nestre, menu, pulsanti e cos via con i quali potete realizzare le vostre applicazioni. uno degli elementi fondamentali del desktop GNOME e viene usato pesantemente da moltissimi programmi reali. La cosa pi interessante, per, che facile usarlo anche con Python.
88
Python
accetta altezza e lunghezza e scala proporzionalmente limmagine). Poi si scrivono i dati nel loader, lo si chiude e gli si chiede il pixbuf. Poi potete usare i dati del pixbuf per impostare una normale gtk.Image(). loader= gdk.pixbuf_loader_new() loader.set_size(120, 120) try: loader.write(data) loader.close() except: print no image image.set_from_stock(gtk.STOCK_DIALOG_INFO, gtk.ICON_SIZE_DND) return image pb=loader.get_pixbuf() image.set_from_pixbuf(pb) return image La parte relativa al caricamento del le racchiusa in una clausola tryexcept. Questo perch, anche se sappiamo che i dati ci sono, non sappiamo se sono corrotti o in un formato leggibile, quindi piuttosto che mandare tutto il programma in crash se il caricamento fallisce, preferibile approntare unimmagine di default. Alla ne della funzione restituiamo un oggetto gtk.Image, di un tipo o dellaltro.
Ed ecco il tooltip
Avete visto come estrarre unimmagine da un le MP3 compatibile, ma come combinarla con le altre informazioni del suggerimento? Avete bisogno di creare dalle basi il tooltip. Iniziate con def custom_tooltip(self, widget, x, y, keyboard, tooltip): Questa linformazione che vi viene passata quando lapplicazione riceve un evento di tipo mostra un tooltip: widget - il widget che d inizio allevento, nel nostro caso loggetto TreeView; x,y - le coordinate x e y della posizione del mouse relative alla nestra genitrice del widget; keyboard - questo true se il suggerimento attivato dalla tastiera; tooltip - questo loggetto gtk.ToolTip da visualizzare. Non avete bisogno di generare il tooltip ne stato fatto uno per voi e passato come argomento. Tutto quello che dovete fare impostare questo tooltip usando le informazioni che avete. La prima cosa che dovete fare trovare in che punto della TreeView si trova il mouse. Abbiamo visto esempi di codice terribilmente complicati che calcolano la riga partendo dalle coordinate x e y, ma non necessario. Esiste una pratica scorciatoia nella forma di un metodo del widget originale, che prende i valori x, y e keyboard come input e restituisce, tra le altre cose, il numero di riga della posizione del mouse sulla TreeView: result=widget.get_tooltip_context(x, y, keyboard) if (result == None): return row=result[1][0] Ora che sapete la riga, potete generare i dati da inserire nel tooltip. Potete partire recuperando il nome del le e poi passandolo al metodo APIC: lename = self.liststore[row][5] image=self.image_from_APIC(lename) Il passo nale consiste nel creare un widget da impostare come tooltip. A questo scopo potete usare praticamente
qualunque classe di widget, ma di solito un container di qualche tipo riempito con diversi elementi la soluzione migliore: hbox = gtk.HBox() hbox.pack_start(image, False, False, 0) vbox=gtk.VBox() Qui avete creato un container Hbox inserendo limmagine da una parte e un VBox dallaltra. Su questo lato potete inserire delle label che rappresentano gli altri dati: label1=gtk.Label() Name=xml.sax.saxutils.escape(self.liststore[row][1]) label1.set_markup( <span font=Sans 15 color=red> <b><i>+Name+</i></b></span>) vbox.pack_start(label1, False, False, 0) e cos via. Noterete che si usato del markup per mostrare le label, il che vuol dire che potete giocare con vari font e stili per migliorare laspetto della visualizzazione. Lunica cosa a cui dovete fare attenzione che si vericano degli errori se nel testo da mostrare si usano caratteri non sicuri come & o <. Visto che molto probabile che caratteri di questo tipo niscano nei tag ID3, meglio fare la sanitizzazione del testo prima di mostrarlo. Il modulo xml.sax che viene rilasciato con Python contiene alcuni metodi che possono aiutarvi con questa operazione e noi li abbiamo usati nel codice desempio. Inne dovete impacchettare tutto nellaltro lato del container HBox e poi usare il metodo set_custom() per rendere visualizzabili questi elementi. anche vitale restituire True in questo metodo callback, altrimenti il tooltip non verr mostrato! hbox.pack_start(vbox, False, False, 0) hbox.show_all() tooltip.set_custom(hbox) return True Provate voi stessi: il codice completo, sul DVD allegato, abbastanza facile da comprendere ed pieno di commenti. Abbiamo congurato lapplicazione per mostrare una nestra di dialogo per richiedere la directory che contiene i le musicali, e una volta selezionata dovrebbe essere facile capire cosa succede. Fate doppio click per riprodurre un le, e assicuratevi di passarci sopra il cursore del mouse! LXP
Anche voi potete realizzare suggerimenti dallaspetto accattivante. Oppure, se vi annoiate, prendete semplicemente il nostro codice e usatelo con i vostri le
Tip
La documentazione di PyGTK buona (www.pygtk.org/ docs/pygtk) ma quella di GTK (http:// developer.gnome. org/gtk/stable) spesso ha esempi pi chiaricatori, quindi se vi bloccate controllate anche questultima.
89
OpenCV
PRO
dentro il Codice d esempio
Le puntate precedenti ci hanno consentito di apprendere i rudimenti della disciplina detta image processing: abbiamo imparato a manipolare le immagini in vari modi, sottoponendole a trasformazioni come la riessione, la rotazione, la conversione in bianco e nero e in toni di grigio. Si tratta di algoritmi che, oltre a costituire un ottimo esercizio per familiarizzare con le principali funzioni di OpenCV, rappresentano alcuni dei task pi diffusi dellimage processing, spesso impiegati nella fase di preparazione dellimmagine con lo scopo di esaltarne le caratteristiche salienti e renderne pi immediato lutilizzo. Come pi volte ricordato, infatti, la computer vision si avvale spesso di algoritmi di image processing per modellare opportunamente le immagini da elaborare, scartando le informazioni ritenute non interessanti, e rendendo in tal modo la computazione meno onerosa e/o pi accurata. Se da un lato gi conosciamo, perch trattato in precedenza, uno dei modi pi comuni per rendere meno onerosa la computazione (ovvero leliminazione delle informazioni sul colore, attraverso la conversione in bianco e nero o in grayscale), dallaltro non abbiamo ancora dimostrato come rendere il processo pi accurato: lacuna che colmeremo proprio in questa puntata, illustrando alcuni metodi per lattenuazione (e laddove possibile, leliminazione) del rumore.
o nel corso del trasferimento di questultima a un PC, o pi semplicemente un deterioramento del supporto di memoria su cui il le conservato, possono determinare la variazione di porzioni pi o meno signicative dellimmagine, no a impedirne la visualizzazione. Traducendo quanto appena enunciato in termini pi formali, possibile affermare che il rumore (inteso come fattore di degrado dellimmagine, che ne determina uno scostamento indesiderato dalloriginale) pu presentarsi in varie forme, tra le quali tratteremo in questa sede: il rumore di tipo impulsivo, o sale e pepe, che determina un forte scostamento, rispetto alloriginale, del valore di uno o pi pixel. Generalmente, tale tipo di rumore si presenta in una porzione ridotta dellimmagine, come accade, ad esempio, in alcune alterazioni dovute a errori di trasferimento del relativo le, oppure al deterioramento del supporto di memoria su cui questo risiede; il rumore di tipo additivo, caratterizzato dallaggiunta, al valore dei pixel, di un piccolo valore k variabile. Si tratta di un rumore generalmente distribuito sullintera immagine: un tipico esempio delle conseguenze che possono scaturire da un errore sistematico del dispositivo di acquisizione.
Rumore impulsivo
Prima di gettarci nello studio delle soluzioni offerte da OpenCV per leliminazione del rumore, necessario riprodurre due tipi di rumore oggetto della nostra indagine. In altre parole, dobbiamo scrivere due programmi in grado di inserire, nella nostra immagine di prova (Fig.1), rumore di tipo additivo e rumore di tipo impulsivo. Una volta raggiunto lo scopo, potremo dare in pasto le immagini affette da rumore alle apposite funzioni di OpenCV, vericandone le capacit. Compatibilmente con la denizione, laggiunta di rumore impulsivo a una data immagine richiede di: 1 aprire limmagine e crearne un duplicato da modicare; 2 scandire i pixel dellimmagine e, avvalendosi di un generatore di numeri pseudo casuali, modicare una porzione di questi, determinando un sensibile scostamento dal valore iniziale; 3 chiudere le due immagini, avendo cura di salvare quella affetta da rumore. Come al solito, il ricorso a OpenCV rende immediata limplementazione degli step numero 1 e 3. La stessa operazione descritta dal secondo step, sebbene pi complessa, pu essere risolta in modo semplice ed elegante, sfruttando il metodo daccesso ai pixel offerto dalla libreria: /* scansione dei pixel dellimmagine, introducendo, al massimo ogni range pixel, un pixel bianco che simula il rumore */ for(i=0;i<h;i++) { next=rand()%range; for(j=0;j<l;j++) { if(j==next) {
Rumore
La possibilit di dover trattare unimmagine affetta da rumore insita nella stessa procedura di acquisizione e gestione delle immagini: 1 un apposito dispositivo di acquisizione (una fotocamera o una telecamera nel caso in cui si lavori con il frame di un video) ritrae una scena, convertendola in formato digitale; 2 limmagine cos ottenuta viene immagazzinata in una memoria accessibile al dispositivo (generalmente la memoria interna dellapparecchio, o un supporto rimovibile come una scheda SD); 3 successivamente limmagine viene prelevata dal supporto ove risiede, per essere elaborata utilizzando un PC esterno, o conservata su unapposita memoria di massa. Ognuno di questi step esposto a errori di varia natura: un errore sistematico, in fase dacquisizione, da parte del dispositivo pu alterare il contenuto dellintera immagine; un errore accidentale nel processo di salvataggio 1 Eccoci, ancora una volta, alle prese con la nostra immagine di prova dellimmagine,
90
OpenCV
pixel.val[0]=pixel.val[1]=pixel.val[2]=255; next = j+1+rand()%range; } else pixel=cvGet2D(img,i,j); cvSet2D(new_img,i,j,pixel); } } Il ciclo annidato scandisce tutti i pixel dellimmagine, attribuendo un colore differente a quelli selezionati attraverso la funzione pseudocasuale rand(). Nel corso della scansione, che avviene per righe, la variabile next contiene lindice del prossimo pixel selezionato da rand(): a questo sar attribuito un colore differente rispetto alloriginale (nella fattispecie, il bianco), per poi procedere a rinnovare lindice rappresentato da next (al ne di consentire la selezione di altri pixel nellambito della medesima riga). Lintervallo massimo di pixel consecutivi non corrotti pari a (range - 1): loperazione (rand() % range), infatti, restituisce un valore compreso tra 0 e (range - 1). Come mostrato dal listato 1 (che trovate nel DVD assieme agli altri listati), il valore di range scelto dallutente, che lo passa da riga di comando unitamente al nome dellimmagine su cui operare. Per ottenere unimmagine corrotta da rumore impulsivo, dunque sufciente compilare il programma, con il comando g++ `pkg-cong opencv --cags --libs` -Wall listato1.c -o listato1 per poi mandarlo in esecuzione, con gli argomenti richiesti: ./listato1 lxp.png 10 Finalmente possiamo vedere premiati i nostri sforzi: la Fig.2 mostra la nostra immagine di prova corrotta da rumore impulsivo, iniettato attraverso il codice appena sviluppato. Limmagine cos ottenuta salvata, al termine del programma, nella directory corrente, con il nome di impulsivo.png.
2 Il primo programma di questa puntata ci consente di innestare rumore di tipo impulsivo allinterno dellimmagine di Fig.1: ecco il risultato!
./listato2 lxp.png 30 Il risultato del programma, mostrato dalla Fig.3, mostra leffetto dellapplicazione di rumore additivo alla nostra immagine di prova. Anche in questo caso, limmagine prodotta sar salvata in un apposito le, con il nome di additivo.png.
Il ltro di smooth
Il ltro di smooth costituisce il primo esempio di operatore locale trattato nel corso della serie. Come gi ribadito, gli operatori illustrati in precedenza sono tutti di tipo puntuale, in quanto ogni pixel dellimmagine trasformata dipende, in via esclusiva, dal valore del corrispondente pixel dellimmagine originale (Fig.4). Al contrario, negli operatori locali ogni pixel (i,j) dellimmagine trasformata risulta correlato, oltre al corrispondente pixel (i,j) dellimmagine originale, anche
3 Ecco il risultato del secondo programma illustrato in questo articolo: la nostra immagine di prova corrotta da rumore additivo
Rumore additivo
Laggiunta di rumore additivo in luogo di quello impulsivo non comporta modiche rilevanti al programma appena presentato: le uniche integrazioni, infatti, riguardano il ciclo di scansione dei pixel. Anzich modicare il valore dei soli elementi selezionati randomicamente, il ciclo di scansione deve aggiungere, al valore di ogni pixel dellimmagine originale, un valore variabile next stabilito di volta in volta dal generatore di numeri pseudocasuali: /* Ad ogni pixel dellimmagine originale aggiungiamo un piccolo valore next, variabile da 0 a (range-1)*/ for(i=0;i<h;i++) { for(j=0;j<l;j++) { next=rand()%range; pixel=cvGet2D(img,i,j); pixel.val[0]+=next; pixel.val[1]+=next; pixel.val[2]+=next; cvSet2D(new_img,i,j,pixel); } } Il codice completo del programma, illustrato dal listato 2, pu essere compilato con il comando g++ `pkg-cong opencv --cags --libs` -Wall listato2.c -o listato2 e quindi lanciato, passandogli come argomento il nome dellimmagine di prova e il valore limite della variabile next (ovvero il valore da dare a range, che determina lintervallo di variazione di ogni pixel, compreso tra 0 e [next - 1]):
4 In un operatore puntuale, ogni pixel dellimmagine trasformata dipende, in via esclusiva, dal valore del corrispondente pixel dellimmagine originale LINUX PRO 116
91
OpenCV
il metodo della media gaussiana produce nuovi livelli di colore non necessariamente presenti nellimmagine originale (risultanti proprio dal calcolo della media dei valori dei pixel di ogni intorno A) comportando, al contempo, un appiattimento dei livelli esistenti, con lattenuazione dei valori pi elevati (penalizzati, nel calcolo della media, dallapporto al ribasso della maggioranza dei pixel, di valore inferiore); il metodo della mediana, al contrario, non modica la gamma di colori dellimmagine originale, n determina lattenuazione di questi ultimi, che vengono semplicemente armonizzati e ridistribuiti allinterno dellimmagine, con leliminazione dei soli picchi difformi, verosimilmente imputabili al rumore. Ne deriva che leffetto di sfocatura, conseguenza naturale del metodo della media gaussiana (e particolarmente marcato allaumentare delle dimensioni della maschera), non risulta apprezzabile se si opta per il metodo della mediana. Per vericare quanto appena asserito, necessario introdurre la funzione cvSmooth(), offerta da OpenCV proprio per il calcolo del ltro. Il prototipo della funzione il seguente: void cvSmooth(const Arr *src, Arr *dst, int smooth_type, int size1, int size2); dove smooth_type indica il metodo scelto per il calcolo del valore sintetico S (CV_GAUSSIAN per la media gaussiana, CV_MEDIAN per la mediana), mentre size1xsize2 corrisponde alla dimensione della maschera da applicare (entrambi devono essere dispari, per consentire a ogni pixel P di posizionarsi al centro della maschera, e calcolare correttamente il relativo intorno). Finalmente possiamo dedicarci alla stesura del programma per lapplicazione del ltro, che necessita di ben tre argomenti da riga di comando: il nome dellimmagine su cui operare; il tipo di metodo da utilizzare (opzione -mg per la media gaussiana, opzione -md per la mediana); il nome con cui salvare limmagine prodotta. Una volta vericate le preferenze dellutente circa il metodo da utilizzare (tracciate tramite unapposita variabile di nome lter), il programma consiste semplicemente nellinvocazione di cvSmooth(): switch(lter) { case MEDIAN_CHOICE: cvSmooth( img, new_img, CV_MEDIAN, 5, 5 );
5 Negli operatori locali ogni pixel dellimmagine trasformata risulta correlato, oltre al corrispondente pixel dellimmagine originale, anche allinsieme di pixel che ne costituisce lintorno
allinsieme di pixel che ne costituisce lintorno (Fig.5). Tra gli operatori locali, i ltri di smooth si distinguono per la peculiarit di eliminare picchi e increspature: sono, in altri termini, dei ltri passa basso, e come tali possono essere impiegati procuamente nel processo di attenuazione e rimozione del rumore. Spesso, infatti, la brusca variazione del valore di un pixel, rispetto ai valori del relativo intorno, imputabile proprio al rumore. Eliminando, o quanto meno attenuando, i picchi costituiti da valori difformi rispetto a quelli circostanti, il ltro di smooth consente di trattare in maniera soddisfacente immagini affette da rumore additivo e impulsivo. Ma come opera, nel dettaglio, questo ltro? Denita una maschera che descrive le dimensioni dellintorno da considerare, il ltro: scandisce ogni pixel P dellimmagine, identicandone, sulla base della dimensione mxn della maschera, il relativo intorno A (possiamo individuare lintorno immaginando di sovrapporre ai pixel una matrice mxn, in modo che ogni elemento di tale matrice contenga un solo pixel, e che il centro coincida con P, come illustrato in Fig.6; esamina i pixel dellintorno A, sintetizzandone i valori in un indice S; sostituisce P con S contribuendo, di conseguenza, a uniformare (ovvero a rendere pi liscia, o smooth in inglese) i valori dei pixel dellarea. Esistono diversi metodi per calcolare il valore sintetico S: la stessa libreria OpenCV mette a disposizione alcune valide alternative basate su funzioni lineari e non. In questa sede, tuttavia, ci soffermeremo in particolare su due metodi: 1 il metodo della media gaussiana, in cui il valore di S pari alla media dei valori dei pixel dellintorno A, pesati secondo una funzione gaussiana (con il risultato di attribuire unimportanza maggiore ai pixel pi vicini a P, a scapito di quelli pi lontani); 2 il metodo della mediana, in cui S coincide con il valore mediano dei pixel dellintorno A, ottenuto ordinando in ordine crescente i valori dellintorno, e selezionando lelemento centrale (ovvero quello che bipartisce linsieme ordinato in due parti della medesima dimensione). I due metodi si distinguono notevolmente nelle modalit di calcolo del valore S da sostituire a ogni pixel P: non a caso, a partire da una medesima immagine, essi producono risultati che differiscono visibilmente. Sebbene infatti entrambi determinino una modica dellimmagine, contribuendo a uniformare il valore dei relativi pixel:
6 Lintorno del pixel P (evidenziato in verde), ottenuto applicando una maschera 3x3
7 Applicando il metodo della media gaussiana allimmagine di Fig.2, si ottiene questo (magro) risultato...
92
OpenCV
break; case GAUSSIAN_CHOICE: cvSmooth( img, new_img, CV_GAUSSIAN, 5, 5); break; default: printf(Errore: scegliere uno dei due metodi disponibili!\n); return ERRORE; } e nel salvataggio, con il nome richiesto dallutente, dellimmagine prodotta. Il listato 3 riporta nella sua interezza il codice, che pu essere compilato con: g++ `pkg-cong opencv --cags --libs` -Wall listato3.c -o listato3 ottenendo leseguibile listato3. Per confrontare la resa dei due metodi di fronte a immagini affette da rumore impulsivo e rumore additivo, occorre ancora qualche piccola fatica: recuperare il le impulsivo.png (Fig.2), ottenuto iniettando rumore impulsivo allinterno della nostra immagine di prova, tramite il programma di cui al listato1; recuperare il le additivo.png (Fig.3), prodotto dallesecuzione del programma illustrato dal listato2; vericare, tramite il programma listato3, il comportamento in presenza di rumore impulsivo del metodo: 1 della media gaussiana (Fig.7): ./listato3 impulsivo.png -mg impulsivo-gaussiana.png 2 della mediana (Fig.8): ./listato3 impulsivo.png -md impulsivo-mediana.png constatare il comportamento dei due metodi in presenza di rumore additivo: 1 metodo della media gaussiana (Fig.9): ./listato3 additivo.png -mg additivo-gaussiana.png 2 metodo della mediana (Fig.10): ./listato3 additivo.png -md additivo-mediana.png tutto pronto per il confronto: aprendo le immagini prodotte possiamo toccare con mano le differenze tra i due metodi. Rispetto al rumore impulsivo introdotto in Fig.2, lapplicazione del metodo della media gaussiana risulta quasi inutile: la Fig.7, a fronte di una certa sfocatura nei dettagli, non mostra infatti unattenuazione apprezzabile del rumore. interessante notare, in particolare, come lapplicazione del ltro non abbia inuito, se non in minima parte, sul manto del nostro amato pinguino, che continua a essere maculato, facendolo assomigliare pi a un leopardo che a un pennuto! Al contrario, il metodo della mediana risulta molto efcace: come mostrato dalla Fig.8, questo metodo consente leliminazione pressoch totale del rumore, restituendoci unimmagine molto vicina a quella di partenza (Fig.1): in questo caso, il manto del pinguino torna a essere del bel colore nero cui ci ha abituati! In presenza di rumore additivo, tuttavia, le cose si complicano: i le additivo-gaussiana.png (Fig.9) e additivo-mediana.png (Fig.10) mostrano due immagini molto simili tra loro. In entrambe evidente una certa attenuazione del rumore (Fig.3), per quanto i risultanti non siano paragonabili a quelli ottenuti in precedenza. In questo specico caso, anzi, il metodo della gaussiana (Fig.9) appare preferibile a quello della mediana, in quanto pur comportando una certa sfocatura sembra preservare un numero maggiore di dettagli (come laspetto della lisca di pesce accanto alla tastiera, o i blocchi che compongono il diagramma sul monitor, che in Fig.9 appaiono discernibili in tutti i tratti principali, al contrario di quanto avviene in Fig.10). Tirando le somme, il ltro di smoothing costituisce un utile strumento per il trattamento delle immagini affette da rumore: uno strumento non a caso disponibile in tutti i software di graca pi diffusi.
8 Il metodo della mediana, applicato allimmagine di Fig.2, consente di ottenere risultati invidiabili!
9 Il metodo della media gaussiana alle prese con rumore additivo (Fig.3)
10 In presenza di rumore additivo, il metodo della mediana non si dimostra efcace come nel caso precedente!
Imparare a utilizzare questo ltro in OpenCV costituisce un buon passo in avanti nella nostra battaglia al rumore, ma non ci basta: nella prossima puntata, scopriremo la funzione cvInpaint(), in grado di garantire, sotto certe condizioni, risultati inarrivabili persino da cvSmooth()! LXP
LINUX PRO 116
93
Guida
Software
Ogni mese Linux Pro vi offre i programmi e le distribuzioni pi recenti su DVD
Tool per DJ
PRO
dentro il
Ogni volta che troverete questo simbolo in un articolo, vorr dire che i file citati si trovano nel DVD allegato alla rivista.
Mixxx
a magia e lalta tecnologia sono praticamente indistinguibili. O meglio, come diceva il nostro docente di telecomunicazioni, la tecnologia la magia delluomo bianco. E questo vale anche per i programmatori di Mixxx che sono stati in grado di trasformare le loro doti magiche in eccellente codice. Perch siamo convinti che in Mixxx ci siano delle forze arcane allopera? Perch Mixxx
Anche se forse nessuno baller mai con la musica che state creando, la soddisfazione rimane
pu trasformare praticamente chiunque in un DJ. Caricate le vostre tracce e un insieme di strumenti per laggiustamento dei ritmi vi aiuter a sincronizzarle (il software mostra anche la loro forma donda per semplicarvi il lavoro). E se qualcosa va fuori sincronia, vi bastano un paio di interventi sui pulsanti per rimediare. Mixxx non fornisce solo un completo sistema per DJ, ma vi dona anche dei superpoteri che vi consentono di creare dellottima musica. Se poi avete dei componenti extra, come dellhardware MIDI, scoprirete che Mixxx li supporta, oppure pu imparare come funzionano tramite un wizard. Se non avete un piatto MIDI per fare dello scratching, facile simulare loperazione via software. Di solito il tallone dAchille dei programmi di questo tipo limpossibilit di lavorare in tempo reale. Un lieve ritardo di qualche millisecondo pu non venire avvertito quando si fa qualcosa a schermo, ma in genere un orecchio allenato molto bravo a individuare anche il pi piccolo errore. Gli sviluppatori di Mixxx hanno lavorato a lungo e duramente per rinire il loro software e farlo funzionare in real time (anche se Linux non un sistema operativo in tempo reale), sfruttando le CPU multi-core e laccelerazione hardware quando possibile. atti a questo scopo, in grado di leggere i vari formati RAW delle diverse fotocamere. Per ci vuole un tool pi che valido per trasformare questi RAW in qualcosa di pi delle semplici JPEG che otterreste dalla fotocamera stessa. Provando Darktable le prime volte, si ha un po di difcolt nel comprenderne linterfaccia, seppur sia piacevole da vedere. Di certo non come le normali applicazioni desktop. La grande area per la visualizzazione delle foto nel mezzo della schermata essenziale, mentre i due pannelli possono essere nascosti. La sezione Collect Images funziona come un pratico gestore di foto, che vi consente di visualizzare gli scatti usando vari ltri e metodi in base a data, tipo di fotocamera, tag, eccetera. sufciente un doppio click su una miniatura per aprirla in dimensioni maggiori e attivare i vari tool del programma. Avete, ad esempio, a disposizione un set di funzioni per agire sulle curve base delle foto; inoltre ci sono decine di plug-in per gli effetti. Darktable non pensato per interventi a livello di pixel, ma ha comunque un gran numero di opzioni di correzione, il suo scopo, come gi detto, quello di consentirvi di tirare fuori il massimo dai dati grezzi forniti dalla vostra macchina fotograca digitale. Le ultime versioni del programma hanno portato un aumento della velocit di funzionamento e diverse altre migliorie, tanto che vale la pena provarlo se non lo conoscete. Compilare Darktable dai sorgenti molto probabilmente non necessario, si trova nei repository di molte distro, in genere in versione aggiornata. Per ulteriori informazioni: www.darktable.org. LXP
Tool di fotograa
Darktable Q
Fate risaltare i dettagli degli scatti delle feste con lenorme collezione di plug-in di Darktable
ual stato uno dei primi strumenti per gestire le foto sotto Linux? Darktable! Anche se la longevit non sempre garanzia di qualit, questo progetto ha beneciato di una costante opera di miglioramento negli anni e si guadagnato un discreto seguito. Forse vi divertite gi cercando di tirar fuori il meglio dalla vostra fotocamera digitale reex: esiste un gran numero di software
94
Hacklab Catanzaro
Una biblioteca multimediale realizzata con strumenti Open Source
Questo mese (ma ripeteremo lesperimento in futuro) abbiamo deciso di spostare la mappa dei LUG italiani su DVD (in formato PDF, lato A del DVD, sezione Rivista) e lasciare un po di spazio a uninteressante esperienza di uso e diffusione del software Open Source da parte di un gruppo di utenti Linux, in particolare lHacking Laboratory CatanZaro. In particolare abbiamo utilizzato la recente versione 8, che offre tra laltro la possibilit di Thin Provisioning (allocazione di pi spazio di quello esistente sul sistema) e File Sharing (condivisione di cartelle ). LISO disponibile sul sito http://sourceforge.net/projects/ freenas/les/. Abbiamo installato il sistema sul disco pi piccolo, mentre gli altri due e la scheda di rete erano scollegati. Nel primo passo dinstallazione abbiamo scelto lopzione full che impianta FreeNAS sul disco e permette eventualmente di aggiornare il sistema con ulteriori package. Abbiamo completato poi linstallazione seguendo i passaggi suggeriti. Al riavvio della macchina abbiamo congurato linterfaccia di rete assegnando un IP statico appartenente alla classe degli indirizzi della intranet. Poich sul router attivo il DHCP, ne abbiamo cambiato le impostazioni riservando un indirizzo IP per il NAS. Dalla pagina Web di congurazione di FreeNAS abbiamo modicato la password di amministrazione e abbiamo aggiunto due utenze, ftp e writer. La prima stata denita per la gestione dello spazio condiviso, mentre la seconda per la manutenzione dellintero sistema. Abbiamo poi congurato lo spazio sugli hard disk in modo da garantire la persistenza dei dati anche in caso di rottura, perci abbiamo denito il volume di default come formato dai due dischi in RAID 1. Abbiamo impostato i permessi su di esso per gli account creati: a ftp sono stati assegnati quelli in lettura ed esecuzione per aprire le sottocartelle. Abbiamo poi impostato la condivisione del NFS (Network File System), in modo da rendere disponibili in rete le cartelle con i documenti multimediali. Inne abbiamo abilitato e congurato il servizio FTP sul volume creato. A questo punto linfrastruttura della biblioteca era pronta, perci abbiamo pensato ai contenuti; li abbiamo suddivisi in sezioni (studio, aggiornamento professionale, svago eccetera), in modo che lutente fosse agevolato nel trovare ci di cui avesse bisogno, secondo larea di interesse. Individuate le aree, abbiamo organizzato lo spazio FTP in cartelle in modo che ognuna contenga una sezione. Inne abbiamo inserito il link allFTP sulla pagina Web che appare a chi si connette alla nostra sottorete, cosicch chiunque possa accedervi con lutenza ftp senza inserire alcuna password. Domenico Procopio HLCZ - Hacking Laboratory CatanZaro (http://hacklab.cz/)
La parola allhacklab
Nel laboratorio era nata la necessit di rendere usufruibili documenti di carattere divulgativo nonch il software utilizzato nelle sperimentazioni. Cera bisogno, in poche parole, di una biblioteca multimediale che fosse disponibile allinterno del locale. Per realizzarla occorreva una grande quantit di memoria di massa accessibile da qualsiasi dispositivo elettronico dotato di una scheda di rete Ethernet o di unantenna Wi-Fi. Una soluzione al problema era un server NAS collegato al router wireless dellintranet del laboratorio. Tuttavia le risorse a nostra disposizione non ci consentivano di acquistarne uno professionale: abbiamo cos pensato di costruirlo. Abbiamo dotato un vecchio PC di tre hard disk (uno di 16 GB e due di 500 GB) e di una scheda di rete che abbiamo collegato con un cavo Ethernet al router. Abbiamo installato sulla macchina il sistema operativo FreeNAS (www.freenas.org), una nota soluzione Open Source che ingloba tutti i servizi forniti dai principali NAS in commercio: uninterfaccia Web per interagire con il sistema, i protocolli FTP e CIFS/SMB per scambiare contenuti tra diversi sistemi operativi, gli strumenti di sicurezza e di backup.
Sul sito dellHacking Laboratory CatanZaro potete scoprire tutte le altre iniziative di questi appassionati di Open Source
Scriveteci!
Avete realizzato un progetto particolare con GNU/Linux e il Free Software contribuendo alla sua diffusione? Scrivete a redazione@linuxpro.it e daremo voce al vostro impegno!
96
In edicola il 15 maggio
DART
Il nuovo linguaggio di programmazione proposto e sviluppato da Google laraldo di una nuova era
E inoltre:
OpenSSH
Avviare script automatici passando per un canale SSH pu essere complesso. I nostri esperti vi mostreranno come superare gli ostacoli con un pratico workaround
Zina
Vi dilettate nella composizione e nella registrazione di canzoni? Linux Pro vi mostra come condividere la musica sul vostro sito Web usando un media streamer totalmente libero
Primi passi
Tra i vantaggi di Internet c la possibilit di effettuare chiamate a costo zero o quasi. Il mese prossimo vi facciamo entrare nel mondo della telefonia SIP
LINUX
Mensile - 5,90 euro
PRO
Direttore Responsabile: Luca Sprea - direttore@linuxpro.it Direttore Editoriale: Stefano Spagnolo Redazione: redazione@linuxpro.it Mario Bosisio (coordinatore di redazione) Massimiliano Zagaglia (responsabile di redazione) Davide Pistritto (realizzazione DVD) Brunetta Pieraccini (segreteria) Digital media coordinator: Massimo Allievi Impaginazione: Sara Benecino Hanno collaborato: Adam Oxford, Andrew Gregory, Aurelio Bignoli, Chris Brown, Ciro Mattia Gonano, Claudio Romeo, Daniele Belletti, Daniele Tampieri, Emanuele Cal, Fabio Fracas, Francesca Beatrice Cice, Graham Morrison, Jim Hitch, Jonathan Roberts, Juliet Kemp, Marco Fioretti, Maria Vitiello, Matteo Chiarion, Maurizio Russo, Mayank Sharma, Mike Saunders, Nick Veitch, Roberto Premoli, Shashank Sharma Iconografia e fotografie: Marco Coppola Contenuti su licenza: Linux Format - Future P.ce - London (UK)
Pubblicit: Luigi De Re - pubblicit@linuxpro.it Tel. 339 4546500 Abbonamenti (disponibili solo in versione con DVD) Si sottoscrivono in 2 minuti con 2 click via Web. Trova lofferta speciale di questo mese allindirizzo www.abbonamenti.it/linuxpro oppure abbonamenti@ sprea.it; puoi anche abbonarti via fax 030 3198412, per telefono 199 111 999 dal luned al venerd dalle ore 8,30 alle ore 18,30. Costo massimo della chiamata da tutta Italia per telefoni fissi 0,12 + iva al minuto senza scatto alla risposta. Per cellulari costo in funzione delloperatore. Per chi volesse abbonarsi dallestero +39 041 5099049. Arretrati Si sottoscrivono online allindirizzo: www.linuxpro.it/arretrati Per informazioni: arretrati@linuxpro.it oppure fax al numero 02.70.05.37.67.2 Stampa: Arti Grafiche Boccia S.p.A. - Salerno Carta: Valpaco Paper Supply Chain Optimizer
Consiglio di amministrazione: Luca Sprea (Presidente), Stefano Spagnolo (Vice Presidente - amministratore delegato), Mario Sprea (consigliere) Collegio sindacale: Roberto Bosa (Presidente), Maria Luisa Capuzzoni, Ugo Besso Amministrazione: Anna Nese - amministrazione@sprea.it Foreign rights: Gabriella Re - international@sprea.it Marketing & pubblicit: Walter Longo marketing@sprea.it Distributore per lItalia e per lEstero: Press-Di Distribuzione Stampa e Multimedia S.r.l. - 20090 Segrate (MI) LINUX PRO Pubblicazione mensile registrata al Tribunale di Milano il 08.02.2003 con il n. 74 - Tariffa R.O.C. - Poste Italiane Spa - Sped. In Abb. Post. - D.L. 353/2003 (conv. In L. 27/02/2004 n. 46) art. 1, comma 1, DCB Milano Copyright Sprea Editori S.p.a La Sprea Editori titolare esclusiva della testata Linux Pro e di tutti i diritti di pubblicazione e diffusione in Italia. I contenuti sono adattati e tradotti su licenza della pubblicazione: Linux Format Future P.ce London (UK). Lutilizzo da parte di terzi di testi, fotografie e disegni, anche parziale, vietato. LEditore si dichiara pienamente disponibile a valutare - e se del caso regolare - le eventuali spettanze di terzi per la
pubblicazione di immagini di cui non sia stato eventualmente possibile reperire la fonte. Informativa e Consenso in materia di trattamento dei dati personali (Codice Privacy d.lgs. 196/03). Nel vigore del D.Lgs 196/03 il Titolare del trattamento dei dati personali, ex art. 28 D.Lgs. 196/03, Sprea Editori S.p.A. (di seguito anche Sprea), con sede in Cernusco sul Naviglio (MI), via Torino, 51. La stessa La informa che i Suoi dati, eventualmente da Lei trasmessi alla Sprea, verranno raccolti, trattati e conservati nel rispetto del decreto legislativo ora enunciato anche per attivit connesse allazienda. La avvisiamo, inoltre, che i Suoi dati potranno essere comunicati e/o trattati (sempre nel rispetto della legge), anche allestero, da societ e/o persone che prestano servizi in favore della Sprea. In ogni momento Lei potr chiedere la modifica, la correzione e/o la cancellazione dei Suoi dati ovvero esercitare tutti i diritti previsti dagli artt. 7 e ss. del D. Lgs. 196/03 mediante comunicazione scritta alla Sprea e/o direttamente al personale Incaricato preposto al trattamento dei dati. La lettura della presente informativa deve intendersi quale presa visione dellInformativa ex art. 13 D.Lgs. 196/03 e linvio dei Suoi dati personali alla Sprea varr quale consenso espresso al trattamento dei dati personali secondo quanto sopra specificato. Linvio di materiale (testi, fotografie, disegni, etc.) alla Sprea Editori S.p.A. deve intendersi quale espressa autorizzazione alla loro libera utilizzazione da parte di Sprea Editori S.p.A. per qualsiasi fine e a titolo gratuito, e comunque, a titolo di esempio, alla pubblicazione gratuita su qualsiasi supporto cartaceo e non, su qualsiasi pubblicazione (anche non della Sprea Editori S.p.A.), in qualsiasi canale di vendita e Paese del mondo. Il materiale inviato alla redazione non potr essere restituito.
VA
N
.NET, la rivista numero uno al mondo per chi ama larte del Web design e vuole farne il proprio mestiere, finalmente arrivata in Italia. Ogni mese i tutorial e gli approfondimenti per diventare dei veri esperti con le soluzioni pi innovative ideate dai maestri del Web.
ANCHE SU IPAD
CORRI IN EDICOLA