Professional Documents
Culture Documents
���������������
����������������������
����������� ��������������������� �������
���������������������������������������������������������������������������������������������������
������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������� ��������������������������������������������
����������������������������������������������������������������������������������������� ����������� �������
��������������������������������������������������
���������������������������������������������������������������������������������������
�� ������� ������ ������������ ���� ��������� ����� ����������� ��� ������ ���
����������������������������������������������������������������������
����������������������������������������������������������������������������
��������������������������������������������������������������������������
��������������������������������������������������
������������������������������������������������������������������������������
�����������������������������������������������������������������������������
�������������������������������������������������������������������������������
�����������������������
������������������������������������������������������������������������������ ������������������������������������������������������������
��������������������������������������������������������������������������������������������������������������������������������� �������������������������������������������������������������
����������������������������������������������������������������
���� ��� ������� ���������� �������������� ����� ����������� ���������� ���� ��� ������ ����������� ���� ��������� ���������� ������ ���� �������� �� ��������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������
���������������������������������������������������������������������
��������������������������������������������������������������������������������������������������� ��������������������������������������������������������������
����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������
�������� ������� ������� ������������ ���������� ���� ���� ����� ����������� �������
������ ���� �������� ��� ���� �� ������ ��������� ����� �� ���������� ����������� ���� ��� ��������� ��� ���������� ��� ������������ ���� �����
������� ������������������������������� �� ����� ����������������������� ����������������������������������������������������
����������
www.infomedia.it EDITORIALE
sostenibilità
NATALE FINO
(NFINO@INFOMEDIA.IT)
COLLABORATORI
DAVID N. WELTON
ANDREW MIN Dal prossimo mese di Dicembre parte la nostra campagna contro lo spreco della carta
FA B I O R A M A C C I A N I e la deforestazione selvaggia delle foreste primarie. Abbiamo deciso di dare impulso
a questa iniziativa prendendo atto della realtà diffusa in cui la carta è considerata
una risorsa illimitata, a buon mercato e tuttora utilizzata per qualsiasi tipo di
pubblicazione (compresi miliardi di volantini “usa e getta”, come quelli che lastricano
le zone fieristiche all’ora di chiusura).
GRUPPO EDITORIALE INFOMEDIA SRL Dati alla mano, ogni anno in Italia vengono sprecati solo … 50 miliardi di fogli di carta!
V I A V A L D E R A P. 1 1 6 Ossia 2.000.000 di alberi. Dal 1995 al 2020 la produzione internazionale della cellulosa
5 6 0 3 8 PO N S A C C O ( P I ) I T A L I A
TE L 0 5 8 7 7 3 6 4 6 0 F A X e della carta per l’editoria sarà cresciuta del 77%, e circa il 75% del legname importato
0587732232 da Russia e Indonesia, e quindi della carta utilizzata per la stampa, proviene da alberi
E-MAIL RED_LOGIN@INFOMEDIA.IT abbattuti illegalmente nelle foreste primarie. Tutti gli anelli che compongono la catena
S I T O W E B W W W. I N F O M E D I A . I T editoriale sono, a vario titolo, responsabili del consumo della carta ed ognuno, con un
po’ di buona volontà, può (e prima o poi dovrà) correggere le storture di un processo
DIREZIONE editoriale disattento alla sostenibilità.
NATALE FINO (NFINO@INFOMEDIA.IT) Un esempio è la quantità esorbitante di carta utilizzata per gli atti dei parlamenti
TE C H N I C A L B O O K (nazionali ed europeo), magari per minute e testi di validità più che effimera; ulteriore
L I S A VA N N I esempio è il numero di copie tirate dai quotidiani, dai settimanali e dai periodici
(BOOK@INFOMEDIA.IT) che è di gran lunga superiore (per via dei contributi statali) alle copie effettivamente
MARKETING & ADVERTISING vendute: in sintesi, si sa già in partenza che gran parte di quelle copie è destinata al
SEGRETERIA: 0587736441 macero. Punto.
M A R KE T I N G @ I N F O M E D I A . I T
Questo scenario distorto, era tarato per una società in cui l’informazione veniva
AMMINISTRAZIONE veicolata quasi esclusivamente su carta, ma oggigiorno non è più così: tra televisione,
SARA MATTEI radio, Internet, telefoni cellulari e dispositivi vari, il cartaceo non è più “il principale
(AMMINISTRAZIONE@INFOMEDIA.IT)
supporto” di veicolazione. Invece attraversando i capannoni industriali capolinea
SEGRETERIA della distribuzione editoriale, si nota che sono stracolmi di torri di rifiuti editoriali
ENRICA NASSI cartacei. Migliaia di tonnellate di prodotti destinati al macero ogni anno.
(INFO@INFOMEDIA.IT)
Il progetto Infomedia Green è ambizioso e innovativo, per realizzarlo abbiamo necessità
GRAFICA della collaborazione e della buona volontà di tutti i nostri lettori: perché ognuno, dalla
PA O L O F R A N C O sua scrivania, può iniziare a far molto per una migliore sostenibilità.
(GRAFICA@GRUPPOINFOMEDIA.IT) Per mettere in atto questo progetto promuoveremo degli incentivi per promuovere un
consumo più critico, prendendo atto dell’inevitabile sorpasso del digitale sul cartaceo:
STAMPA la qualità dei nostri contenuti resta immutata, ed è comunque possibile stampare i
T I P O L I T O G R A F I A PE T R U Z Z I
CITTÀ DI CASTELLO (PG) PDF degli articoli che più interessano. Non prevediamo l’eliminazione totale della
stampa su carta, ma opteremo per una soluzione “on demand”: l’utente che non
UFFICIO ABBONAMENTI vuol rinunciare alla sua copia cartacea completa potrà comunque acquistarla in ogni
TE L 0 5 8 7 7 3 6 4 6 0 momento, limitando al massimo lo spreco di carta. È una questione di sensibilità e
FA X 0 5 8 7 7 3 2 2 3 2
ABBONAMENTI@INFOMEDIA.IT
anche di comodità, visto che già oggi trascorriamo più tempo a leggere informazioni
W W W. I N F O M E D I A . I T tecniche dal video e sempre meno su carta.
Natale Fino
3
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
SOMMARIO LOGIN n.65 - Luglio/Agosto/Settembre/
Ottobre 2007
Speciale
Hecl
un linguaggio di scripting per cellulari
Cos’è Hecl e perché lo sto scrivendo
di David N. Welton 8
Come funziona Hecl
di David N. Welton 10
Creare una semplice applicazione con Hecl
di David N. Welton 19
Solutions
Dal driver al window manager: u InVetrina 49
installare Compiz Fusion
di Andrew Min 26 Per contattare la Redazione di Login
Direzione e amministrazione
Via Valdera P. 116 - Ponsacco (PI)
Cos’è Hecl
e perché lo sto scrivendo
SPECIALE
Ü di David N. Welton
Vi siete mai chiesti quanto sia piacevole crea- accadute due cose: avevo acquistato una cel-
re un proprio linguaggio di programmazio- lulare su cui girava J2ME e avevo deciso che
ne? Questi articoli trattano della progettazio- probabilmente era il momento di apprendere
ne e, soprattutto, dell’implementazione del qualcosa di Java. Si è trattato di una combi-
linguaggio di programmazione Hecl. Spiega- nazione fortuita, poiché non sono molto por-
no, in dettaglio, come si procede per estrarre tato ad apprendere qualcosa senza un proget-
del testo da un file e far sì che il computer to su cui operare come incentivo e il cellulare
esegua le istruzioni contenute. Poichè Hecl mi ha fornito lo spunto che mi serviva. Java
non è un linguaggio ricercato e complicato, non ha un grande fascino per me: ha alcuni
ma è piuttosto un linguaggio compatto, sem- aspetti interessanti, ma gran parte delle mie
plice e modesto, dovrebbe essere abbastanza necessità di programmazione vengono sod-
facile seguirne l’analisi. Se state scrivendo la disfatte o dai linguaggi dinamici come Tcl
vostra tesi di laurea in Informatica, probabil- o Ruby, o dal linguaggio C per cose veloci e
mente non troverete questo materiale inte- a basso livello. Tuttavia, J2ME è uno spazio
ressante, perché presumibilmente ne sapete molto interessante in cui muoversi, poiché
più di me sull’argomento. Ma per tutti gli al- è già in circolazione su milioni di telefoni
tri spero di fornire un rapido sguardo su ciò e molti dei device che lo supportano non
che comporta la creazione di un linguaggio possono eseguire nient’altro. La piattaforma
di programmazione. Symbian offre qualcosa in più: si può porta-
re su di essa l’ordinario codice C, ma quando
Come ho detto prima, Hecl è un linguaggio ho acquisto il mio telefono ciò era riservato
compatto e semplice. Ed è così per un moti- ancora a modelli relativamente costosi. Sarà
vo: prima di tutto perché volevo fosse pronto il tempo a sancire quale piattaforma sarà vin-
in tempi brevi ma, soprattutto, perché volevo cente, ma nel frattempo mi piaceva l’idea di
qualcosa che potesse funzionare entro i vin- scrivere qualcosa che funzionasse su milioni
coli di spazio del mio cellulare J2ME. Inol- di dispositivi. E benché esistano altri lin-
tre, nonostante sia un semplice progetto (o guaggi di scripting per Java, ce ne sono solo
forse a causa di ciò), Hecl è abbastanza fles- alcuni altri che possono girare sulla piattafor-
sibile e estensibile, il che significa che può ma J2ME, poiché ciò impone parecchi limiti
evolversi verso nicchie molto diverse. Natu- su ciò che si può fare con Java. Ad esempio,
ralmente, ciò lo rende un buon soggetto per la API per la reflection, pesantemente utiliz-
degli articoli piuttosto che la sua trattazione zata da linguaggi come Groovy, non esiste.
attraverso un libro, necessario invece per de-
scrivere linguaggi più complicati. Con un obiettivo in mente e le dita intorpi-
Ho iniziato a lavorare su Hecl quando sono dite per aver iniziato a scrivere il codice, l’ul-
8
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
speciale Hecl
tima fermata è stata considerare il disegno complessi- ta in Java, si tratta di Jacl, ma è fin troppo mastodon-
vo del linguaggio. In realtà, non è stato così difficile. tica per la scarsa memoria del mio telefono.
Mi piace molto il linguaggio di programmazione Tcl,
particolarmente la sintassi, che deriva più dal Lisp L’articolo successivo si occupa dei dettagli tecnici del
di quanto molti si rendano conto o credano. Tcl è, a linguaggio Hecl. Per chi fosse interessato ad esami-
prima vista, un linguaggio abbastanza semplice, ca- nare esattamente come il codice descritto si adatta al
ratteristica che gli permette di essere incredibilmen- resto del sistema, ne è possibile effettuare un’analisi
te flessibile. È possibile scrivere un sistema a oggetti online all’indirizzo [1], in particolare delle classi di
(classi, ereditarietà e via dicendo) in Tcl stesso e an- base, che si trovano all’indirizzo [2].
che aggiungere nuove strutture di controllo (come
“if ” e “while”) scritte in Tcl! È anche un linguaggio Riferimenti
facile da apprendere, una prerogativa a cui attribui-
sco un alto valore perché significa che il linguaggio è [1] http://cvs.sourceforge.net/viewcvs.py/hecl/hecl/
accessibile a molti, anche a chi non è un ottimo pro- [2] http://cvs.sourceforge.net/viewcvs.py/hecl/hecl/
grammatore o non ha una laurea in informatica. Tcl core/org/hecl/
non è perfetto, ma siccome non sto cercando di scri-
Note Biografiche
vere un clone di Tcl in Java, mi sento anche libero di
ricalcare ciò che mi attira, di migliorare ciò che non David N. Welton vive e lavora a Padova come consulente spe-
gradisco e di essere creativo se necessario. Di nuovo, cializzato in tecnologie open source (Linux, Apache, Tcl,
la decisione di abbandonare la compatibilità con Tcl Python, Ruby, C, ecc.) e fornisce servizi di programmazione,
formazione e consulenza strategica. È membro attivo della co-
è stata, in parte, guidata dalla necessità di mantenere
munità Tcl, ha fatto parte del progetto Debian sin dal 1997,
le cose compatte e in parte per massimizzare il valore ed è stato Vice Presidente (o capobanda?) di Apache Tcl con
ludico del progetto: è più avvincente lavorare senza l’Apache Software Foundation fin dal 2001.
limiti prestabiliti. Esiste già una versione di Tcl scrit-
9
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
speciale Hecl
Ü di David N. Welton
Il parser
Come fa il computer a riconoscere e ad agire prende i caratteri backslash (“\”), gli a capo
su alcuni scarabocchi contenuti in un file? e qualsiasi altro carattere.
La prima cosa che Hecl deve fare è leggere
il contenuto del file e convertirlo in piccoli • I doppi apici “” raggruppano tutto ciò che
blocchi a cui possa attribuire un significato. contengono in una parola, ma consentono
Questa parte di Hecl è il parser, definito nel la sostituzione, in modo che si possa scrive-
file Parse.java. Come ho detto nell’articolo re:
precedente, Hecl è un linguaggio semplice.
Pertanto per poter discutere in modo più puts “La variabile a è uguale a $a”
agevole cosa accade, diamo un’occhiata a un
po’ di codice Hecl: • Le parentesi quadre “[…]” valutano il co-
mando contenuto e ne restituiscono il valo-
set txt [getprop $tf text] re. Pertanto laddove in un linguaggio come
if { ne $txt “” } { il C, si scrive:
# un commento
stringitem label “Hai scritto:” text foo = bar()
$txt
puts “hello” ; puts “world” ; in Hecl, si scriverebbe:
}
set foo [bar]
Il parser di Hecl riconosce solo alcuni carat-
teri come caratteri speciali: “” [] {} $ # ; e il • Il simbolo dollaro “$” restituisce un rife-
carattere “newline”. Il parser legge ciascuna rimento al valore contenuto nella variabile
riga di testo e la suddivide in blocchi in base denominata.
a semplici regole:
• Il carattere backslash “\” quota il carattere
• I comandi e i relativi argomenti sono deli- successivo. Ad esempio “foo\[bar” conterrà
mitati da spazi. un simbolo letterale parentesi quadra aper-
ta invece di cercare di valutare bar come
• Un comando termina con un a capo (newli- comando, cosa che invece causerebbe una
ne) o con un punto e virgola “;”. parentesi quadra non quotata.
• Le parentesi graffe “{…}” raggruppano al- • # è il carattere per la scrittura dei com-
l’interno gli argomenti, che vengono passa- menti. Tutto ciò che segue # su una riga
ti al comando “così come sono”. Ciò com- viene ignorato.
10
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
speciale Hecl
Per gestire questo caso utilizziamo la classe Group- Come si può vedere, questo codice esamina il valore
Thing. Come implica il nome, rappresenta un gruppo interno di una Thing e nel caso non sia già un Int-
di altre thing, come è mostrato in Figura 1. Thing, lo trasforma in una stringa e cerca di eseguire
GroupThing valuta i propri componenti quando Hecl il parsing di un intero. Naturalmente, il procedimen-
ha necessità di conoscere cosa contiene il GroupThing to potrebbe fallire, perché se si cerca di ottenere un
stesso. intero da una stringa “abc” … non può funzionare!
Le classi Thing vengono implementate in Java in Ecco perché entrambi i metodi sono in grado di gene-
questo modo: una classe Thing contiene un tipo Real- rare una HeclException, di cui parleremo a breve.
Thing che rappresenta il valore effettivo
StringThing (puts)
SubstThing (i)
a è 0
in foo, a è 10
a è 0
In termini di flus-
so del programma,
si può vedere nella
Figura 3 che, allo
step 1, è in azione
la tavola di ricer-
ca delle variabili
globali. Quando
la valutazione del
programma en-
tra nella proce-
dura foo, la tavola
di ricerca globale
viene sostituita da
una nuova tavola
della procedura in
esecuzione. Allo
step 3, quando la
procedura termi-
na, la tavola hash
che è stata creata
nell’interprete per
Nel caso di PutsCmd, tutto ciò che fa è stampare la contenere le sue variabili viene impostata a null ed
rappresentazione stringa del primo argomento. è lasciata al garbage collector di Java perché rilasci la
È così che funzionano tutti i comandi Hecl, anche if e memoria occupata. Lo stack stesso viene implemen-
while, che accettano codice come argomenti, lo valu- tato dalla comoda classe java.util.Stack.
tano e agiscono di conseguenza. Le routine di ricerca delle variabili basata sulle tavole
Questa semplice strategia non è veloce, ma è molto, hash sono contenute nella classe Interp (unitamente
molto flessibile. Si può sostituire il codice al volo, ri- alla tavola hash di ricerca dei comandi).
nominare i comandi e fare ogni sorta di altri interes-
santi trucchi. Inoltre, è facile implementare questo
sistema nel limitato ambiente J2ME. Interprete
14
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
speciale Hecl
zione è vera, il ciclo viene eseguito ed ogni volta il co- new org.hecl.fp.HeclFloat().loadModule(interp);
dice viene valutato. Tuttavia, stiamo attenti a rilevare new org.hecl.load.HeclLoad().loadModule(interp);
anche le due speciali eccezioni e agiamo su queste. Vector argv = new Vector();
break fa sì che il ciclo termini, mentre continue fa sì
che il ciclo venga cortocircuitato e salti nuovamente for (i = 0; i < args.length; i++) {
alla valutazione della condizione. Se, tuttavia, la He- argv.addElement(new Thing(args[i]));
clException non è di uno di questi tipi speciali, l’erro- }
re viene nuovamente generato e si propaga verso l’al- interp.setVar(“argv”, ListThing.create(argv));
to nello stack delle chiamate. if (args.length > 0) {
HeclFile.sourceFile(interp, args[0]);
} else {
Hecl.commandLine(interp);
}
16
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
speciale Hecl
solo
12,90
Eu ro
t r u c c h i e c o n s i g li
Scopri regole, e r net
u n i c a r e v i a I n t
per com
www.shopinfomedia.com
speciale Hecl
Ü di David N. Welton
Al giorno d’oggi quasi tutti hanno un telefo- l’ambiente J2ME (ora noto come Java Micro
no cellulare; i dispositivi mobili continuano Edition o Java ME).
a diventare più veloci, più intelligenti e più Quando ho creato Hecl, l’ho fatto con diversi
capaci, ma esistono ancora relativamente po- obiettivi in mente:
che applicazioni. Il linguaggio di program-
mazione Hecl facilita la scrittura di applica- 1. Rendere ancora più facile e più veloce per i
zioni per il proprio device: con poche righe programmatori esperti creare applicazioni
di codice, si possono creare applicazioni da per cellulari.
portare con sé, ovunque.
2. Rendere possibile ai programmatori neofi-
Facili applicazioni per cellulari con Hecl ti di creare applicazioni per cellulari senza
l’onere di dover interagire con Java.
Mi sono appassionato ai computer quando
i miei genitori mi comprarono un Commo- Hecl ha anche altri vantaggi: sviluppare ap-
dore 64, un computer abbastanza bello per plicazioni è più veloce, poiché non è necessa-
l’epoca. Grazie alla legge di Moore e all’in- ria una ricompilazione dopo ciascuna modi-
cessante tasso di sviluppo, il cellulare medio fica. Nelle mani di un bravo programmatore
è ora più potente di quella macchina di una è anche possibile fare cose interessanti con
ventina di anni fa. Mentre è comprensibile Hecl grazie alla sua natura di linguaggio in-
che molti vogliano solo effettuare telefonate, terpretato. Si può avviare un’applicazione sul
si pensi a tutti i programmi che attendono di proprio telefono e scaricare ulteriori parti di
essere scritti proprio in vista del fatto di ave- codice dal Web.
re quasi sempre con sé un cellulare. Credo Lo scopo di questo tutorial è di aiutarvi a
che stia solo iniziando a scalfire la superficie creare applicazioni per cellulari, pertanto
di ciò che sarà possibile fare, specialmente iniziamo subito. Prima sono necessarie al-
man mano che i telefoni continuano a diven- cune cose:
tare più veloci e ad avere delle migliori con-
nessioni a Internet. • Java di Sun. Java sta puntando verso il sof-
Ho iniziato a interessarmi alla scrittura di tware free. Se utilizzate Ubuntu, come me,
applicazioni per cellulari diversi anni fa, si può ottenere Java con apt:
dopo un giorno piovoso in Italia sulle Do-
lomiti, vicino Cortina d’Ampezzo: il mio apt-get install sun-java5-jdk
vecchio telefono finì in un pozza di fango
e smise di funzionare, inducendomi ad ac- se si sono aggiunti i repository “multiverse”
quistare un nuovo telefono con funzionalità al proprio file /etc/apt/sources.list:
J2ME (Java). La scrittura di applicazioni in
Java andava bene, ma ho riflettuto che sareb- deb http://us.archive.ubuntu.com/ubuntu/
be stato un esperimento interessante provare feisty multiverse
e creare un linguaggio di scripting che sfrutta
19
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
speciale Hecl
midp20/script.hcl
$form setcurrent
$form addcommand $cmd
Il WTK di Sun richiede un’installazione: si può ef- Hecl è in effetti fornito in diverse versioni, con
fettuare, ad esempio, nella directory /opt, in modo comandi GUI leggermente differenti: MIDP1.0
che non si mescoli con il resto del proprio sistema. (telefoni più vecchi), che ha meno comandi e non
Il processo di installazione è molto semplice: basta fa un granché, e MIDP2.0, per telefoni più recenti,
rispondere “sì” a poche domande ed è fatta. Hecl non che ha molte più funzionalità. Questo tutorial uti-
richiedere installazione: tutto ciò che è necessario è lizza i comandi MIDP2.0, poiché è quella su cui si
già pronto nella distribuzione. basano i telefoni attuali. I concetti descritti sono
Per verificare se tutto è ok, si può provare a lanciare molto simili per i comandi MIDP1.0, ma i coman-
l’emulatore con l’applicazione d’esempio: di sono leggermente differenti.
20
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
speciale Hecl
di importante). -timeout forever indica al messaggio FIGURA 2 Screenshot di “Hello World” in Hecl
di rimenare sullo schermo finché l’utente non lo
chiude.
Ecco tutto ciò che richiede: questo comando pren- Su Linux, per il mio telefono Nokia, utilizzo il pro-
de il file esistente Hecl.jar, sostituisce lo script Hecl gramma gammu per trasferire i programmi sul telefo-
interno con quello che abbiamo appena creato in no, in questo modo:
hello.hcl e crea il file risultante Hello.jar nella propria
directory home (referenziata come ~/ nel comando gammu nothing --nokiaaddfile Application Hecl
precedente).
Ora, si può eseguire il codice nell’emulatore per vede- Un ulteriore metodo che può funzionare meglio con
re l’applicazione (Figura 2). device differenti è utilizzare il browser del telefono
stesso per scaricare e installare l’applicazione, ponen-
In evidenza, dall’alto, il titolo del form (-title), l’ele- do i file .jar e .jad su un server Web pubblico e acce-
mento stringitem e, nell’angolo in basso a destra, il co- dendo al file .jad.
mando con l’etichetta “Hello”. Si tenga presente, però, che questo procedimento
Se si preme il pulsante “Hello”, viene eseguito il co- probabilmente avrà un costo di connessione!
dice in HelloEvents e appare un “alert” sullo schermo
che resta lì finché non si preme il pulsante “Done”. Passi successivi:
l’applicazione “lista della spesa”
Installazione del codice sul telefono Fin qui tutto bene. A questo punto, creerò una pic-
cola applicazione con cui poter interagire per fare
Benché la creazione di un’applicazione sia molto fa- qualcosa di utile. Si tratta di una versione semplifi-
cile, sfortunatamente, installarla su un telefono non cata di un’applicazione “lista della spesa” (Figura 3)
lo è; non c’è molto che Hecl possa fare per facilitare disponibile all’indirizzo [3]. L’operatività di questa
questo processo, che è differente per ciascun telefono. applicazione è semplice: digitare una lista della spesa
21
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
speciale Hecl
-type numeric
22
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
speciale Hecl
LISTATO 1
# Processa gli eventi associati alla # Processa gli eventi associati al form
schermata dell’elenco della spesa. principale.
proc ShopListEvents {exitcmd backcmd cmd proc ShopFormEvents {backcmd exitcmd
shoplist} { pinfield
if { eq $cmd $exitcmd } { fetchcmd cmd shopform} {
midlet.exit if { eq $cmd $exitcmd } {
} elseif { eq $cmd $backcmd } { midlet.exit
global shopform } elseif { eq $fetchcmd $cmd } {
$shopform setcurrent MakeList $exitcmd $backcmd \
} [$pinfield cget -text]
} }
}
# Crea una nuova schermata dell’elenco
della spesa e la carica. # L’azione parte qui ...
proc MakeList {exitcmd backcmd pin} {
set url “http://shoplist.dedasys.com/ # Crea un generico comando “back”.
list/fetch/${pin}” set backcmd [lcdui.command \
# Fetch the data, and retrieve -label Back \
the data field from the results hash. -longlabel Back -type back -priority
set data [hget [http.geturl $url] data] 1]
if { eq $data “PIN NOT FOUND” } { # Crea un comando exit.
[lcdui.alert -type warning \ set exitcmd [lcdui.command \
-title “Pin Not Found” \ -label Exit \
-timeout forever\ -longlabel Exit -type exit -priority
-text “The PIN $pin was not found on 2]
shoplist.dedasys.com”] setcurrent
return # Crea il form.
} set shopform [lcdui.form -title “Shopping
set shoplist [lcdui.list -title List”]
“Shopping List” \ set pinfield [lcdui.textfield \
-type multiple] -label “shoplist.dedasys.com PIN:” \
foreach e [split $data \n] { -type numeric]
$shoplist append $e set fetchcmd [lcdui.command -label
} “Fetch” \
$shoplist addcommand $exitcmd -longlabel “Fetch Shopping List” \
$shoplist addcommand $backcmd -type screen -priority 1]
$shoplist setcurrent
$shoplist configure -commandaction \ $shopform append $pinfield
[list ShopListEvents $exitcmd $backcmd] $shopform addcommand $exitcmd
} $shopform addcommand $fetchcmd
$shopform setcurrent
A questo punto, si inserisce il numero PIN e si preme specificando “multiple” come tipo. Poiché la lista
il pulsante “Fetch”. Questo comando esegue il codice della spesa viene inviata “via cavo” (si fa per dire...)
di MakeList. La prima cosa che fa è tentare di caricare come elenco di righe, tutto ciò che devo fare per ag-
i dati dal sito shoplist, utilizzando il comando giungerla al display è suddividerla per righe con il
comando split e poi iterare su questo elenco con fo-
http.geturl reach. Il risultato è simile a quello visualizzato nella
Figura 5.
Poiché questo comando restituisce una tabella hash, Ed ecco pronta una lista della spesa via rete in meno di
per poter risalire ai dati restituiti, utilizzo il comando 100 righe di codice. Naturalmente, c’è spazio per pos-
hget per accedere all’elemento “data”. Se il PIN non è sibili miglioramenti. Ad esempio, la versione di pro-
disponibile sul server, viene restituito un messaggio duzione di questa applicazione, RecordStore (in Hecl, i
d’errore e all’utente viene restituita la prima scher- comandi rms.* rendono disponibile questa funzionali-
mata. Altrimenti, viene creato un elenco di checkbox tà) viene utilizzata per salvare la lista e il relativo stato
con tra successive invocazioni del programma, in modo
che si possa lasciare l’applicazione, eseguirla nuova-
lcdui.list mente e trovare la lista come la si è lasciata. Anche il
supporto per liste multiple può essere pratico.
23
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
speciale Hecl
24
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
solutions
Dal driver al
window manager:
installare Compiz Fusion
Ü di Andrew MIn
Il mondo 3D è diventato molto più luminoso ancor peggio, praticamente tutti i tutorial
con la nascita di Compiz Fusion, un poten- disponibili sono per Ubuntu e non funzione-
te window manager composito per i sistemi ranno per Kubuntu o per Xubuntu. Perciò,
operativi GNU/Linux. In origine esisteva un questa guida è stata creato come una sorta di
unico progetto, Compiz, che si è biforcato guida complessiva per tutti gli utenti delle
in Compiz e nella diramazione non stabile principali distribuzioni Ubuntu e delle prin-
e non ufficiale di Compiz nota come Beryl. cipali schede video.
Ora i due progetti sono stati riuniti in un
sorprendente window manager composito. Attenzione: gran parte, se non tutto, questo soft-
In sintesi, aggiunge effetti al proprio desktop ware (compreso Compiz Fusion stesso) è in ver-
come finestre “oscillanti” (le finestre oscilla- sione alfa. Dovrebbe comunque funzionare, ma
no effettivamente quando vegono spostate), c’è la possibilità che non funzioni. Perciò, non
un nuovo manager di desktop virtuali attra- andrà utilizzato su macchine di produzione.
verso un cubo e molto altro ancora. Come Siete avvisati.
prova di quanto sia “cool”, basta fare una ri-
cerca su Google Video o YouTube di “compiz
fusion”. Schede video ATI
Sfortunatamente, Compiz Fusion ha una
documentazione scarsa o quasi nulla. Quel
poco che c’è è concepito per veri esperti che Il driver
è previsto conoscano cosa rappresentano co- La prima cosa da fare è ottenere il driver della
mandi oscuri e non intuitivi come “git”. E scheda video. Sono disponibili due moderni
non viene neanche spiegato come installa- driver ATI per gli utenti Ubuntu: il software
re un manager composito o un driver per free non ufficiale driver Radeon e il driver
la scheda video (entrambi necessari perché ufficiale ATI (e proprietario) fglrx. fglrx è di-
Compiz Fusion funzioni opportunamente). sponibile per utenti Radeon 9000+ e utenti
Ancor peggio, molta della documentazione della serie X (ad es. Radeon X3000), tuttavia
disponibile funzionerà solo per un tipo di può funzionare anche con altre schede ATI.
scheda video (i tutorial NVIDIA non fun- Sfortunatamente, Radeon è estremamente
zioneranno con schede ATI e viceversa). E, lento nell’eseguire Compiz Fusion (abba-
26
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
solutions
FIGURA 1 Restricted manager per ATI noti che dbus è necessario per il login GNO-
ME):
#!/bin/sh
Xgl :1 -fullscreen -ac -accel xv:pbuffer -accel
glx:pbuffer &
DISPLAY=:1
dbus-launch --exit-with-session gnome-session
#!/bin/sh
Xgl :1 -fullscreen -ac -accel xv:pbuffer
- accel glx:pbuffer &
DISPLAY=:1
exec startkde
X server
La recente versione di X.Org comprende AIGLX,
che fornisce le funzionalità di rendering GLX ri-
chieste da Compiz Fusion. Sfortunatamente, AI-
GLX richiede l’utilizzo del driver Radeon, che è
troppo lento per l’esecuzione con Compiz Fusion.
Perciò, dobbiamo utilizzare un nuovo X server il
cui nome è Xgl.
Per prima cosa, installiamo il pacchetto xserver-xgl
nel repository universe. Poi creiamo un file di te-
sto (come utente root) nella posizione
/usr/bin/startxgl.sh
27
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
solutions
X server
Gli utenti NVIDIA
sono molto più fortu-
nati degli utenti ATI:
per il proprio X server
possono scegliere tra
Xgl e AIGLX. La cosa
gradevole di AIGLX
è che è implementato
in X.Org 7.1, pertanto
si può abilitarlo senza
dover installare nulla.
Inoltre, non si deve
creare una session se-
parata per effettuare il
login. La sola cosa ne-
cessaria da fare è mo-
dificare alcuni file di
configurazione. Infine,
AIGLX non richiede
una sessione separata,
a differenza di Xgl.
Xgl è meno stabile e
Name=Xgl richiede il pacchetto xgl-server (e per gli utenti GNO-
Comment=Start an Xgl Session ME, l’installazione del pacchetto DBUS), ma richie-
Exec=/usr/bin/startxgl.sh de una minore configurazione.
Icon=
Type=Application AIGLX
Per utilizzare AIGLX, aprire in un editor di testo il
Salvare ed effettuare il logout della sessione. Quan- file:
do appare il login manager, scegliere Xgl come tipo
di sessione. Ed è tutto! A questo punto gli utenti di /etc/X11/xorg.conf
schede ATI possono passare al paragrafo “Compiz
Fusion”. Assicurarsi che nella sezione «Module» si abbia
quanto segue:
Load “dri”
Schede video NVIDIA
Load “dbe”
Load “glx”
Il driver
Come accade per gli utenti ATI, sono disponibili di- e che nella sezione “Device” si abbia:
verse opzioni anche per i possessori di schede NVI-
DIA. Il driver più diffuso è il software free nv. Ma Option “XAANoOffscreenPixmaps”
come accade per gli utenti ATI, le migliori presta-
zioni per Compiz Fusion sembra si ottengano con Può essere necessario aggiungere quanto segue alla
il driver proprietario di NVIDIA (opportunamente sezione “Device”:
chiamato nvidia).
Per prima cosa, aggiornare il proprio sistema. Quin- Option “AddARGBGLXVisuals” “True”
di, accertarsi che siano installati i pacchetti linux-re-
stricted-modules-generic e restricted-manager. Selezio- Infine, accertarsi che sia abilitato quanto segue (pro-
nare System/Administration/Restricted Drivers Manager babilmente alla fine del file):
(in Kubuntu Settings/Restricted Drivers Manager), o
eseguire restricted-manager come root (da terminale Section “DRI”
eseguire sudo restricted-manager). Dopo aver fornito la Mode 0666
password, abilitare l’opzione NVIDIA. A questo pun- EndSection
28
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
solutions
#!/bin/sh
Xgl :1 -fullscreen -ac -accel
xv:fbo -accel glx:pbuffer &
DISPLAY=:1
exec xfce4-session
/usr/share/xsessions/
xgl.desktop.
[Desktop Entry]
Section “Extensions” Encoding=UTF-8
Option “Composite” “Enable” Name=Xgl
EndSection Comment=Start an Xgl Session
Exec=/usr/bin/startxgl.sh
Con ciò AIGLX è così configurato. Icon=
Type=Application
Xgl
Non ve la sentite di modificare tutte quelle opzioni Salvare ed effettuare il logout della sessione. Dal lo-
di configurazione? Preferite un approccio più sangui- gin manager, scegliere Xgl come tipo di sessione.
gno? Xgl è la risposta per voi. Per prima cosa, instal- È tutto! E ora passiamo a Compiz Fusion.
late il pacchetto xserver-xgl nel repository universe.
Quindi, create un file di testo (come root)
nella posizione
FIGURA 5 Massimizzazione di KPat
/usr/bin/startxgl.sh
#!/bin/sh
Xgl :1 -fullscreen -ac -accel xv:fbo -accel
glx:pbuffer &
DISPLAY=:1
dbus-launch --exit-with-session gnome-
session
#!/bin/sh
Xgl :1 -fullscreen -ac -accel xv:fbo -accel
29
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
solutions
• compiz
• compiz-gnome
• compizconfig-settings-manager
• compiz-fusion-plugins-extra
• compiz-fusion-plugins-unofficial
• libcompizconfig-backend-gconf
• compiz
Compiz Fusion • compiz-kde
• compizconfig-settings-manager
• compiz-fusion-plugins-extra
Prerequisiti di installazione • compiz-fusion-plugins-unofficial
Per prima cosa, accertatevi che siano disinstallati i • libcompizconfig-backend-kconfig
pacchetti
Assicuratevi di trovarvi in una sessione Xgl (o che
• compiz-core sia abilitato AIGLX). Ora è il momento della verità!
• desktop-effects Eseguire il comando:
deb http://download.tuxfamily.org/3v1deb
feisty eyecandy
deb-src http://download.tuxfamily.org/
3v1deb feisty eyecandy
deb http://download.tuxfamily.org/3v1deb
feisty eyecandy-amd64
deb-src http://download.tuxfamily.org/
3v1deb feisty eyecandy-amd64
30
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
solutions
Settings Manager (gli utenti Kubuntu lo troveranno in [2] Howto per schede Nvidia - https://help.ubuntu.com/
Settings/CompizConfig Settings Manager). community/BinaryDriverHowto/Nvidia
[3] Avvio automatico dei programmi - http://gentoo-
Per far sì che Compiz Fusion sia eseguito automatica- wiki.com/HOWTO_Autostart_Programs
mente al login, aggiungere ai comandi di startup del
sistema:
Risorse
compiz --replace
• Homepage di Compiz Fusion -
(il Wiki di Gentoo ha un ottimo articolo su come fare http://www.opencompositing.org/
ciò [3]). • Vecchia homepage di Compiz - http://compiz.org/
Vi piacciono le decorazioni Emerald delle finestre • Blog di Compiz Fusion -
fornite con Beryl? Gli utenti Compiz Fusion possono http://smspillaz.wordpress.com/
utilizzarle! Assicuratevi che sia installato il pacchetto • Forum su Compiz Fusion -
emerald-themes (installerà anche Beryl, pertanto non http://forum.compiz-fusion.org/
sorprendetevi se è un pacchetto pesante). Poi esegui- • Articolo nel Wiki di Ubuntu su Compiz Fusion -
te: https://help.ubuntu.com/community/
CompositeManager/CompizFusion
compiz --replace -c emerald &
Versione italiana pubblicata su licenza di The Open Mind
invece di Company
compiz --replace
Note Biografiche
Andrew Min è un giornalista, amante di Linux Kubuntu,
Riferimenti che collabora con diverse riviste online come Free Software
Magazine, Full Circle Magazine e Mashable.com
[1] Howto per schede ATI - https://help.ubuntu.com/
community/BinaryDriverHowto/ATI
31
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
cutting edge
Ü di Fabio Ramacciani
33
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
cutting edge
FIGURA 1 Telecomando del digitale pretendendo che l’interazione con la TV sia “istan-
terrestre taneamente” coinvolgente (vedi il fenomeno dello
zapping).
Lo spettatore televisivo si caratterizza anche per una
limitata soglia d’attenzione che contraddistingue la
sua interazione con il mezzo. Molti elementi entra-
no in gioco nel favorire tale dinamica: la variabile
distanza dallo schermo e la possibilità di modificare
la posizione del corpo (seduto o disteso o in piedi),
la difficoltà di lettura a video, l’essere facilmente sot-
toposti a distrazioni causate da varie fonti esterne e
spesso dalla naturale curiosità dell’individuo verso
altri programmi televisivi o verso la contemporaneità
offerta dall’intero palinsesto. Tutto questo limita no-
tevolmente l’impegno e la concentrazione che un cit-
tadino spettatore dedicherà, ad esempio, ad un testo
su TV, anche se di notevole importanza per esso.
Di conseguenza il medium televisivo può essere di
primaria importanza per erogare servizi a distanza
che potranno essere a disposizione di ogni cittadi-
no in modalità “alway on”, a patto però che i servizi
offerti ed i relativi testi siano progettati ed orientati
con la massima chiarezza, immediatezza ed essenzia-
lità della comunicazione visiva e testuale.
34
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
cutting edge
Le applicazioni interattive
cilità, rapidità e soddisfazione i contenuti per lui in- • Accesso. In uno scenario d’uso tipico del televi-
teressanti e nell’operatività, soprattutto dei servizi in- sore in un’ottica analogica, l’utente assiste ad un
terattivi; non prova nessun senso di frustrazione, ma tradizionale programma televisivo con un atteg-
riesce ad avere pieno controllo del servizio interatti- giamento prevalentemente passivo. La presenza
vo. Il vero “attore” dell’applicazione è quindi l’utente di un’applicazione interattiva deve perciò essere
che deve essere al centro della progettazione: le scelte segnalata e le modalità di accesso devono essere
devono essere effettuate sempre allo scopo di creare veloci semplici e chiare.
un ambiente a lui familiare, iniziando con il rende-
re trasparente ed invisibile la tecnologia, perché egli • Struttura. Condizione necessaria alla facilità d’uso
possa focalizzare sull’obiettivo e non sul mezzo, pos- di una applicazione è che la sua struttura sia chia-
sa acquisire velocemente un certo grado di esperienza ra ed intuitiva per gli utenti. Per farlo è opportuno
d’uso e non senta mai il bisogno di accedere all’area separare i contenuti dai comandi, assegnare alle
“Aiuto” per l’esplorazione e l’utilizzo dei servizi. varie componenti sempre le stesse aree, esempio
Mettere l’utente al centro della progettazione vuol possono essere il logo ed il flusso video.
dire calarsi nelle sue esigenze e nelle sue difficol-
tà, cercare di capire come è più logico organizzare • Navigazione. La possibilità di interagire con l’ap-
i contenuti in un ambiente virtuale, comprendere e plicazione in modo semplice ed intuitivo dipen-
analizzare i suoi modelli, la sua personale interpreta- de dalla modalità con cui sono organizzate e dalla
zione del funzionamento del sistema da confrontare modalità con cui queste possono essere seleziona-
e paragonare con l’effettivo modello del sistema, cioè te.
come esso funziona realmente. Vuol dire analizzare
e valutare le reali esperienze d’uso, le caratteristiche • Orientamento. L’interfaccia di un’applicazione è
dei target individuati con confronti continui e diret- di tipo nascosto, nel senso che l’utente non è in
ti in reali contesti d’uso, con interazioni periodiche grado di vedere immediatamente l’effetto delle
tramite test d’usabilità o tecniche d’indagine (inter- sue azioni. Per sapere che l’interazione è andata a
vista, questionari, focus group) che possono servire buon fine, l’utente ha bisogno che l’applicazione
per capire quali sono i bisogni degli utenti e quali le restituisca un feedback appena il processo si con-
competenze informatiche o la conoscenza del sistema clude. Il feedback è importante soprattutto con
di ogni specifica categoria di utenza. l’utente che impara come meglio interagire con
l’applicazione.
35
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
cutting edge
36
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
cutting edge
37
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
cutting edge
38
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
cutting edge
39
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
cutting edge
di e-commerce. All’interno di questo ambito esi- cazione interattiva che include elementi predefiniti
stono due modelli di riferimento: uno a circuito in posizioni predefinite. Sono state individuate di-
chiuso e protetto, denominato “walled garden” in verse tipologie di programmi e quindi tipi di “TV
cui tutte le transazioni e gli altri servizi interattivi Format”.
passano attraverso il broadcaster; il secondo aper-
to, con l’accesso anche a Internet direttamente dal • Film. Il format denominato “film” é fortemente le-
decoder televisivo. Anche l’invio di videomessag- gato a questo genere, la visione è accompagnata da
gi, pratica inaugurata con il debutto dei terminali un’applicazione interattiva che offre informazioni
di telefonia mobile di terza generazione, rappre- sul film in onda. Lo standard permette l’inseri-
senta una forma di interattività evoluta. In genere mento di tre aree che devono essere: Trama, Regia
le applicazioni ad interattività evoluta permetto- e Cast. L’utente con il telecomando può muoversi
no l’accesso a servizi dedicati di tipo t-commerce all’interno di questo spazio e navigare l’intera ap-
(commercio elettronico tramite tv digitale, servizi plicazione.
informativi e transattivi che permettono all’utente
si consultare orari dei treni, acquistare biglietti ae- • Fiction. Questo layer è di tipo invasivo perché ri-
rei o altri prodotti), t-government (servizi di pub- duce il flusso video a 3⁄4 e le aree navigabili pre-
blica utilità, applicazioni interattive per la pubbli- senti all’interno non aumentano rispetto al format
ca amministrazione, la trasposizione nel digitale film .Le motivazioni che hanno spinto alla defini-
terrestre dei servizi di e-government), t-learning zione di questo standard sono dovute principal-
(formazione a distanza, con trasmissione di con- mente all’importanza delle fiction ed alla loro du-
tenuti formativi e di aggiornamento professionale rata. E’ probabile, infatti, che l’applicazione verrà
con possibilità di interagire con docenti, scarica- utilizzata dal telespettatore per ogni puntata della
re materiali di formazione, ottenere certificati di serie, per questo motivo è prestata particolare at-
partecipazione al corso prescelto), t-gaming (gio- tenzione al layout grafico che deve risultare grade-
chi i cui contenuti abbiano un nesso con program- vole ed accessibile nello stesso momento.
mi o personaggi del canale con finalità di fideliz-
zare l’utente) • Telefilm. Per i telefilm vengono rispettati gli stessi
principi delle fiction poiché i prodotti sono affini
• Interattività bi-direzionale. Ha a che vedere con i e la tipologia di pubblico è la stessa.
servizi caratterizzati da un’interattività simmetri-
ca, vale a dire un’uguale trasporto di dati sulla rete • Varietà e reality. Questi TV Format sono dedica-
di comunicazione in entrambe le direzioni sor- ti alle trasmissioni televisive a forte impatto con
gente-utente. I servizi ad alta interattività permet- il pubblico. L’applicazione interattiva è presen-
tono una forte gestione dei contenuti da parte dei te esclusivamente insieme alla trasmissione e le
singoli utenti e presuppongono una frammenta- componenti con cui è realizzata sono state studia-
zione definitiva delle “audience”. Fanno parte di te per intrattenere e divertire il pubblico con mo-
questa categoria la videocomunicazione e il video menti di gioco condivisi con la diretta televisiva.
on demand attualmente fruibili unicamente sulle Oltre alla possibilità di poter votare lo spettatore
reti di tipo IP o sulle reti via cavo più avanzate. può interagire con il pubblico che sta seguendo il
programma tramite un forum interattivo.
Se la prima opzione verso cui sembrano tendere i
principali broadcaster pubblici e privati conserva • Eventi. Questo tipo di format è caratterizzato da
il linguaggio della TV tradizionale introducendo i una forte personalizzazione in base all’evento che
contenuti interattivi come semplici “aggiunte”, ap- si intende promuovere. A causa dei forti adatta-
pendici ed estensioni che lasciano intatte le dina- menti realizzati ad hoc per ogni applicazione inte-
miche produttive e le normali modalità di fruizione, rattiva non esiste un format delineato.
l’ultima invece impone di pensare l’interattività già
al momento della progettazione e della produzione • Pubblicità. La pubblicità digitale si differenzia in
accettando il rischio che la nuova iTV si trasformi base alla notorietà della marca e allo spot interatti-
nel superamento della televisione tradizionale in un vo che consente una comunicazione bidirezionale
“prodotto” dai confini imprecisi e indefiniti la cui di- tra spettatore ed inserzionista. Il Direct Response
namica appare continuamente “in progress”. TV ovvero la pubblicità come stimolo all’azione
e’ la teoria secondo cui le applicazioni di interac-
tive advertising aumentano la brand awareness e
I TV Format in RAI l’advertising awareness, creando una propensione
all’acquisto più forte di quella generata dai clas-
All’interno della RAI si è deciso di standardizzare le sici spot televisivi. Gli inserzionisti pubblicitari
applicazioni interattive; il motivo principale è dovu- hanno l’opportunità di usare le loro campagne te-
to alla volontà di fidelizzare l’utenza televisiva. E’ levisive in modo più dinamico e coinvolgente ri-
apparso quindi logico fornire layer diversi in base al spetto a prima in quanto sarà possibile permettere
programma ed al tipo di applicazione da realizzare. agli utenti di richiedere una brochure, ricevere un
Un layer o piu’ correttamente, un format è un’appli- campione di prodotto omaggio ed avere un’espe-
40
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
cutting edge
41
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
solutions
Ü di Andrew Min
Questo articolo raccoglie alcuni trucchi e la suite KOffice e molto altro. Il che la ren-
suggerimenti su: de perfetta per mostrare la potenza di GNU/
Linux ai propri amici senza interferire nelle
1. Come creare uno stick GNU/Linux live impostazioni dei loro sistemi.
con SLAX (Andrew Min)
2. Come utilizzare terminali “stile Quake”
su GNU/Linux (Andrew Min) Inserire SLAX su un drive USB
3. Come catturare screenshot video con
Scrot (Gary Richmond) Benché SLAX possa non essere utilizzato
4. Come effettuare il backup del Master come ordinario sistema operativo, è possibi-
Boot Record (MBR) (Gary Richmond) le ospitarlo in un dispositivo esterno, come
un drive USB, e portarsi dietro un sistema
GNU/Linux “live”. Ci sono tre vantaggi nel-
1. Come creare uno stick USB GNU/ l’utilizzare un drive USB rispetto a un più
Linux live con SLAX tradizionale CD: è più veloce, permette di
aggiungere al volo file e programmi, e (di so-
Uno più grossi ostacoli all’adozione di GNU/ lito) ha più capacità di memorizzazione. Ci
Linux è il fatto che molti non lo hanno mai sono diversi modi per fare ciò, ma il modo
provato. E qui entra in gioco SLAX. Cos’è più semplice è utilizzare lo script
SLAX? Vi chiederete. SLAX è una distribu-
zione GNU/Linux basata su KDE concepita make_disk
per essere eseguita come sistema operativo
GNU/Linux “live”. In altri termini, cancel- Per prima cosa, si deve formattare il drive
lerà automaticamente ogni sua traccia dal utilizzando un programma come QtParted
computer su cui è in esecuzione una volta o GParted (utilizzare FAT32 su Windows e
che si spegne la macchina. E l’aspetto più ext2 su GNU/Linux). Bisogna poi scaricare
notevole è che contiene tonnellate di sof- l’immagine ISO standard di SLAX da [1] ed
tware utili, compreso KDE, NTFS-3G, tool estrarla con un programma come ISO Ma-
wireless, CUPS, giochi, strumenti di grafica, ster. Se state utilizzando un sistema GNU/
applicazioni multimediali, tool di sviluppo, Linux, utilizzando il comando cd, andate
43
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
solutions
nella directory in cui avete estratto l’immagine ISO dei moduli SLAX [4]. Da qui si possono scaricare
e eseguite programmi come OpenOffice.org, giochi, il browser
Firefox e anche ambienti desktop come Xfce o Gno-
./make_disk.sh /dev/sda1 me. Effettuato il download di un programma, biso-
gna copiarlo nella cartella modules dello stick USB. Al
sostituendo /dev/sda1 con il nome del proprio drive successivo avvio di SLAX, cercate il programma nel
(potete individuare il nome eseguendo fdisk -l come K Menu. Se avete necessità di creare un vostro pro-
utente root). Se state utilizzando Windows, eseguite gramma, utilizzate un tool come rpm2mo o deb2mo per
convertire un pacchetto esistente nel formato SLAX.
make_disk.bat E:
SLAX è un ottimo sistema operativo. E abbia-
sostituendo E: con il nome del drive. Ora eseguite il mo appena accennato a ciò che è in grado di fare!
reboot del computer e modificate dal Setup del BIOS Si può creare un proprio SLAX (si veda http:
l’ordine di boot della macchina (consultate il manua- //myslax.bonsonno.org/), creare dei propri moduli
le del vostro computer o leggete [2]) per far sì che il (http://www.slax.org/doc_modules.php) e anche in-
drive USB (o il disco removibile) sia il primo della stallare SLAX su disco rigido (http://tinyurl.com/
lista di boot (con la versione alfa di SLAX 6 bisogna 2weeks). E soprattutto, ora avete un sistema GNU/
utilizzare il metodo descritto in [3]) Linux da mostrare ai vostri amici.
44
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
solutions
FIGURA 2 Kuake
emulatore di terminale come Konsole o gnome-ter- do, non era né molto tempo fa (a meno che Gennaio
minal, attendere alcuni secondi che si carichi, e poi 2003 non sia realmente “remoto”) né così tanto lonta-
dover premere Alt-Tab per passare a questa finestra. no. Allora, non tanto tempo in un IDE non così lon-
Non sarebbe più semplice avere una finestra termina- tano, è nato Kuake. Martin Galpin ebbe la brillante
le che si nasconde e si mostra automaticamente con idea di creare un front-end stile Quake per Konsole.
clic di un pulsante? Andrò a descrivere tre differente L’idea era di poter premere un “hotkey” (all’epoca,
emulatori di terminale che fanno proprio questo. Ctrl-K) e una finestra Konsole sarebbe apparsa scivo-
lando dall’alto dello schermo. Si può ridimensionar-
Quake è un gioco “sparatutto” molto diffuso creato la, riallinearla e fare molte altre cose. Quando appar-
dalla id Software. Nel gioco vi è un terminal accessi- ve, Kuake ebbe un grosso successo (sfortunatamente,
bile premendo il tasto “~”. Questa finestra terminale lo sviluppo sembra essersi interrotto dopo il rilascio
viene utilizzata per modificare le impostazioni e le di una versione 0.3 “unstable” nel Marzo 2004).
variabili, per mostrare i log e per immettere comandi Anche se Kuake non è stato aggiornato di recente,
e trucchi (per ulteriori informazioni si legga l’articolo si può comunque installarlo. Il sito offre un archivio
Wikipedia [5]). Quake non è il solo programma che tar.gz dei sorgenti ed un pacchetto Debian è disponi-
ha questa funzionalità: Doom, Half-Life, Dark En- bile con il comando
gine, Lithtech e diversi altri giochi e engine di gioco
utilizzano simili console. deb ftp://ftp.berlios.de/pub/kazit/debs
45
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
solutions
tilda -C
tilda -h
è anche disponi-
bile una funziona-
lità a schede: i ta-
sti di accesso sono
Ctrl+Shift+T
(nuova scheda),
46
Login Internet Expert n.65 Luglio/Agosto/Settembre/Ottobre 2007
IN VETRINA
Understanding Digital Television: IPTV and Internet Video: Mobile TV, DVB-H, DMB
An Introduction to DVB Systems with Expanding the Reach of Television 3G Systems and Rich Media
Satellite & Cable TV Distribution Broadcasting Applications
di L. Lundstrom di W. Simpson e H. Greenfield di A. Kumar
Focal Press Focal press Focal Press
316 pp - euro 48,95 240 pp - euro 45,00 508 pp - euro 65,00
ISBN 9780240809069 ISBN 9780240809540 ISBN 9780240809465
LOGIN 65
OFFERTE ABBONAMENTI
Estate 2007
2 web a scelta compreso archivio € 60.00 � CAP _____________ Città ___________________________________ Prov. ______
• I prezzi degli abbonamenti Web sono conprensivi dell’ IVA al 20% MODALITA’ DI PAGAMENTO
� Allego fotocopia del Bonifico Bancario effettuato sul C/C 000000014804
• I prezzi degli abbonamenti per l’estero sono maggiorati di spese di spedizione. CAB 25200 ABI 01030 Cin “A” - Monte dei Paschi di Siena - Agenzia di Perignano
� Allego fotocopia della ricevuta del versamento sul C/C Postale N.14291561 intestato
• Gli abbonamenti decorrono dal primo numero raggiungibile.
a: “Gruppo Editoriale Infomedia S.r.l. - Ponsacco”
Per attivazioni retroattive contattaci al numero 0587/736460 o invia una e-mail
all’indirizzo: abbonamenti@gruppoinfomedia.it � Allego assegno bancario intestato a: “Gruppo Editoriale Infomedia S.r.l.” NON TRASFERIBILE
� Contrassegno (+ € 11.00 contributo spese postali)
Garanzia di riservatezza - Gruppo Editoriale Infomedia garantisce la massima riservatezza dei dati da lei forniti e la possibilità di richiederne gratuitamente la rettifica
o la cancellazione scrivendo a: Responsabile Dati - Gruppo Editoriale Infomedia Srl - Via Valdera P. 116 - 56038 Ponsacco (PI). Le informazioni custodite nel nostro
archivio elettronico verranno trattate in conformità alla legge 196/03 sulla tutela dati personali.
L’IVA sul prezzo dell’abbonamento cartaceo è assolta dall’Editore e non sussiste l’obbligo di emissione della fattura, ai sensi del D.M. 9 aprile 1993, art.1, comma 5;
pertanto, ai fini contabili, farà fede la sola ricevuta di pagamento; perciò la fattura verrà emessa solo se esplicitamente richiesta al momento dell’ordine.
Lei può dedurre il costo dell’abbonamento dal reddito d’impresa e dai redditi derivanti dall’esercizio di arti e professioni (artt. 54 e 56 del TUIR)