1. Terzo numero...
S.P.R.I.Te. in 10 mosse - Tommaso Dionigi Pag. 2
Un benvenuto alle matricole e non solo … - Alessandro Nicotra Pag. 5
Intervista doppia: Margara e Zavattaro - Monia Mosconi Pag. 7
Effective Java & XML - Luca Benini Pag. 15
Falso allunaggio sulle Twin Towers - Filippo Venturi Pag. 23
Il linguaggio AutoIt - Elvis Ciotti Pag. 27
Aforismi e citazioni Pag. 32
“La Sentinella” di Fredric Brown Pag. 34
Edizione autunnale di S.P.R.I.Te. Magazine. Ce l’abbiamo fatta!
Un nuovo anno è iniziato ed il primo pensiero non può che essere
dedicato ai più di 100 nuovi studenti che si sono iscritti al primo anno.
Benvenuti!
Per voi questo giornalino è una novità quindi è doverosa una piccola
introduzione. Il progetto dell’Associazione S.P.R.I.Te. che prende il
nome di “S.P.R.I.Te. Magazine” nasce dalla volontà di creare un canale
di comunicazione all’interno del Corso di Laurea in Scienze
dell’Informazione e non solo, dando la possibilità a chiunque lo
desideri, di esprimere la propria opinione sui più svariati temi e di
dare visibilità a progetti, idee, proposte di lavoro eccetera.
Chi può scrivere su “S.P.R.I.Te. Magazine”? Tutti. Studenti, docenti, simpatizzanti… Per
contattarci non dovete far altro che mandare una mail a sprite@sprite.csr.unibo.it
Non siate timidi… Fatevi avanti!
S T U D E N T I P O L O R O M A G N O L O
I N F O R M A T I C A E T E C N O L O G I E
S.P.R.I.TE.
MAGAZINE
NUMERO III
ANNO 2006
S.P.R.I.Te. Magazine
Sommario
2. S.P.R.I.Te.in 10 mosse
di Tommaso Dionigi <info@tommaso.dionigi.name>
Questo articolo ha lo scopo di presentare, senza descrizioni eccessivamente prolisse, le attività
che l’Associazione S.P.R.I.Te. ha in programma per il periodo ottobre 2006 – giugno 2007 e più
in generale ciò di cui si occupa durante l’anno.
Matricoleeee… questo è principalmente dedicato a voi!
Pagina 2
S.p.r.i.Te. Magazine
S.P.R.I.Te. Welcome!
Primi di ottobre. Benvenuto alle matricole, tesseramento
gratuito, presentazione delle nuove attività S.P.R.I.Te., vendita
e regalo di magliette, felpe e gadget vari, il tutto accompagnato
da un ricco buffet offerto gratuitamente dall’Associazione.
Che altro dire?! In fondo lo avete visto da poco…
Cineforum
Proiezioni gratuite presso il cine-teatro San Biagio a Cesena. Quest’anno
abbiamo deciso di realizzare l’iniziativa in collaborazione con
l’Associazione Studentesca SPAZI, aumentando di conseguenza il
numero di proiezioni a 10.
Tutti i lunedì. Inizio ore 21.
Per informazioni e calendario :
http://sprite.csr.unibo.it/cineforum06
Festa delle Matricole
In collaborazione con tutte le principali Associazioni
studentesche di Cesena. Il primo appuntamento festoso
dell’anno. Vidia Club, mai meno di 1000 studenti. Lo scopo?
Divertirsi insieme e devolvere l’intero utile della serata in
beneficenza. La festa è da poco passata… speriamo vi sia
piaciuta!
3. Pagina 3
NUMERO III
Security Day & Linux Day
Evento che riprende la ricorrenza nazionale della giornata dedicata al
sistema operativo Linux. Il Linux day è ormai tradizionalmente
preceduto dal Security day, giornata dedicata a talk sulla sicurezza
informatica. Due giorni di interventi di diversi livelli di difficoltà da parte
di esperti del settore. Possibilità di ritirare gratuitamente copie di
distribuzioni Linux. L’ultima giornata si conclude con l’installation party,
momento nel quale i meno esperti possono chiedere l’aiuto dello staff per
l’installazione di Linux sul proprio PC.
27 e 28 ottobre 2006 presso la sededel C.d.L. in Scienze
dell’Informazione
http://sprite.csr.unibo.it/blog/progetti/linux-day/linux-day2006
Martedì universitari
Un’occasione, con cadenza settimanale, per incontrarsi la sera, bere qualcosa e conoscere gli altri
studenti della Città. Troppo spesso ci si è lamentati perché Cesena non offre un “punto di
ritrovo” per gli studenti universitari… Questa è la nostra risposta. In collaborazione con le
principali Associazioni studentesche di Cesena. Prezzi agevolati per tutti gli studenti.
Stiamo lavorando alla nuova edizione del “Martedì universitario” … a breve avrete nostre notizie
in merito!
Festa di carnevale
Mese di Febbraio. Carnevale. Martedì grasso. Quale migliore occasione per fare una festa?! Vidia
Club. Ovviamente sempre a scopo benefico. Lo scorso anno questa festa ha visto più di 1400
presenze… Stiamo già pensando a come rendere “particolare” la nuova edizione di questa festa…
Presto ci saranno novità!
S.P.R.I.Te. Magazine
Giornale dell’Associazione. Spazio a pensieri liberi di chiunque sia interessato a
scrivervi. Uscita (circa) bimestrale. Lo state leggendo… non aggiungo altro.
4. Pagina 4
S.p.r.i.Te. Magazine
Convenzioni
Da un accordo stipulato con oltre 80 attività commerciali di Cesena nasce il “libretto delle
convezioni”. Prezzi agevolati semplicemente mostrando la tessera dell’Associazione. Sconti dal
10 al 30 per cento.
http://sprite.csr.unibo.it/blog/wp-content/files/File/2006_convenzioni.pdf
Raduno universitario.
Aprile. La prima festa universitaria organizzata dalle Associazioni studentesche di Cesena. Nel
2007 sarà alla sua VIII edizione…
Sala Alfa-Albatros
Uno dei progetti di cui siamo più orgogliosi. Questo è il secondo anno da
cui ci occupiamo della gestione della Sala Studio Multimediale Alfa-
Albatros (in via Chiaramonti 46 a Cesena).
Vi lavorano più di venti studenti universitari garantendo un orario di
apertura molto ampio (lun-ven 9-23, sab 9-16, dom 16-23).
Ogni anno nel mese di maggio si rinnovano le selezioni per il personale.
Sei hai bisogno di dispense, fotocopie, rilegature, informazioni, o vuoi collaborare con noi…
vienici a trovare o consulta il nostro sito:
http://sprite.csr.unibo.it
Associazione studentesca S.p.r.i.Te.
Via sacchi 3, presso la sede del C.d.L. in Scienze dell’Informazione.
5. Pagina 5
NUMERO III
La festa di benvenuto delle matricole
rappresenta una preziosa opportunità per
avvicinarsi alla vita da studenti, utile anche
per conoscere le principali caratteristiche del
divertimento universitario!
Anno Accademico 2006 -2007. Si comincia
una nuova stagione universitaria soprattutto
per le matricole… spaesate e di fronte ad una
“nuova vita”… Come affrontare un esame che
terrorizza? Quali sono i luoghi di culto dello
studio universitario? E quelli del
divertimento notturno…? A queste e ad altre
curiose ma altrettanto realistiche domande
hanno provato a dare una risposta le
Associazioni Studentesche Analysis,
A.ST.I.CE., MyS.T.A., Spazi e S.P.R.I.Te delle
facoltà del Polo Didattico-Scientifico di
Cesena – Università di Bologna nel corso
della festa di benvenuto alle matricole, che si
è svolta lunedì 17 ottobre dalle 22.30 presso i
locali del Vidia Club di San Vittore (Cesena).
È stata (per chi c’era…) un'occasione per
brindare all'inizio dell'attività didattica/
ricreativa ma anche per orientare i giovani
studenti al mondo delle serate universitarie
che seguiranno durante l’anno, al di fuori
delle noiose ore di lezioni.
Ad accogliere i nuovi iscritti era presente
tutto l’equipaggio delle associazioni che ha
brindato e augurato, alle matricole una felice
carriera universitaria, agli altri un Anno
Accademico pieno di soddisfazioni. E chi
meglio degli universitari "anziani", con un po'
d’esperienza sulle spalle, poteva accogliere i
nuovi iscritti…? Inoltre per matricole assieme
alla prevendita un drink in omaggio, in cambio
un bel timbro recante la dicitura “IO SONO
UNA MATRICOLA”, giusto per stabilire i
ruoli… e non tralasciare lo spirito goliardico…
Un approccio simpatico, ma al contempo
efficace!
Nel locale trasformato ad hoc per la serata, un
intreccio di luci e colori, poneva in risalto il bel
cartello con il logo delle festa, posto in alto
esattamente al centro della pista da ballo e
contornato di lucine rosse che creavano un
Un Benvenuto alle matricole e non solo …
17 ottobre – Festa delle Matricole 2006
di Alessandro Nicotra <alnik81@yahoo.it>
6. Pagina 6
S.p.r.i.Te. Magazine
gran bella atmosfera!
Anche il bar degli shortini (mini-cockatil
serviti in bicchierino), personalizzato per
l’occasione dalle sapienti mani dello staff della
festa, era ricco di novità: i nomi degli shortini
adattati con nomi tipici del mondo
accademico… Per usare un gioco di parole:
“Ogni matricola mostrando il proprio badge,
poteva sostenere un esame e rischiare di
prendere un 18 o un 30 lode, che registrerà
con lo statino”.
Nel corso della festa non è mancata la musica
live: i Perfect Mind, si sono esibiti, infatti, in
un concerto ricco anche di cover famose ed
hanno infuocato la sala aprendo la pista ai dj -
set che in seguito hanno esaltato la platea con
musica d’ottimi livelli.
La festa di benvenuto alle matricole è stata
organizzata dalle Associazioni in
collaborazione con la cooperativa Cyber 2000,
ed ha avuto come scopo principale la
socializzazione tra gli studenti, senza però
tralasciare la sensibilità sociale degli studenti.
L’intero utile, infatti, sarà devoluto in
beneficenza al Progetto dell'ospedale Bufalini
di Cesena: "Pediatria a misura di bambino".
Questa iniziativa è la conferma del grande
interesse delle Associazioni Studentesche di
Cesena nei confronti del sociale; da diversi
anni vengono, infatti, organizzate feste e
incontri a fine benefico e a favore di: borse di
studio, una scuola per bambini in Africa, LILA,
l'Aquilone di Iqbal, AVSI, Emergency, etc.
La Festa delle Matricole 2006 si spera abbia
raggiunto quindi il suo scopo: la creazione di
un primo momento (con circa 1200 presenze!)
d’incontro, di conoscenza, di socializzazione,
anche per significare che nello studio
l'impegno e la costanza necessari per
7. Pagina 7
NUMERO III
LUCIANO MARGARA
Nome e cognome? Luciano Margara
Titolo di studio? Dottorato in
Informatica
Materia d’insegnamento? Algoritmi
e Strutture Dati e Sicurezza.
Qual è il suo ambito di ricerca? Ho
fatto ricerca in diversi settori tra i quali:
sistemi dinamici complessi, teoria del caos,
complessità computazionale e, recentemente,
Bioinformatica.
Com’è arrivato fino a qui? Mi sono
Laureato a Pisa nel 1991, ho vinto un
concorso di ricercatore a Bologna nel 1995,
quello di associato a Bologna nel 2000, e
quello da ordinario qui a Cesena nel 2005.
Luogo preferito per le vacanze?
Mare.
Qual è il suo piatto preferito?
Melanzane alla parmigiana.
INTERVISTA DOPPIA
Luciano Margara - Gianluigi Zavattaro
A cura di Monia Mosconi <mosconim@csr.unibo.it>
Cosa fa nel tempo libero? Nel tempo
libero, che tipicamente non ce né mai molto,
faccio molto sport in particolare, beach volley,
taekwondo, calcio, basket.
Se vincesse un milione di euro?
Cosa farebbe? Con un milione di euro non ti
cambierebbe la vita, non puoi smettere di
lavorare… me la prenderei un po’ più comoda,
nel senso che starei un po’ più tranquillo con le
spese generali, forse cambiare casa….se fossero
100 miliardi potrei sbizzarrirmi un po’ di più..
Cosa ne pensa del Corso di Laureal?
L’università italiana in generale sta un po’
calando le braghe, abbassando il livello di
difficoltà intendo, e questo a lungo termine
sarà sicuramente una cosa negativa. Il nostro
Corso di Laurea, è un buon Corso di Laurea nel
panorama italiano con una qualità diciamo
medio/alta, non lo vedo peggiore di altri corsi
più blasonati. Stiamo cercando di migliorarlo
ancora e abbiamo fatto diverso lavoro in
questa direzione, per cui sono abbastanza
soddisfatto.
E degli studenti di oggi? Molto spesso
viene fatta loro una critica, ovvero quella di
essere demotivati e di qualità decrescente ogni
anno. Non so se questa analisi corrisponda alla
realtà, ma credo che se un peggioramento c’è
realmente stato ci si debba anche chiedere se
lo stesso peggioramento non sia presente
anche nel corpo insegnante, di ogni ordine e
grado…..
Che rapporto ha con i suoi studenti?
8. Pagina 8
S.p.r.i.Te. Magazine
Credo di aver un buon rapporto con i miei
studenti, credo che sia reciproco nel senso che
ho quasi sempre feedback positivo, per cui
direi che…secondo me il rapporto è molto
buono. Però bisogna chiederlo anche a loro.
Ma non chiedetelo a milanisti e juventini ….
Quali materie mancano nel nostro
Corso di Laurea? Nel nostro Corso di
Laurea, non credo che ci siano delle lacune
specifiche, l’informatica è una disciplina
molto giovane, per cui non è molto
standardizzata, quindi chiedere che materie
manchino è un po’ forviante, le materie di
base ci sono tutte, ovviamente la mancanza di
una disciplina piuttosto che di un altra
dipende dal fatto che non siamo tantissimi
docenti per cui dal punto di vista didattico è
una cosa limitata, però non noto delle grosse
mancanze…
Quali strutture mancano nel nostro
Corso di Laurea? Fra i Corsi di Laurea in
cui sono stato, diciamo che è uno dei più
dotati dal punto di vista delle strutture, non
credo che ci si possa lamentare, sia dal punto
di vista delle aule, sia dal punto di vista dei
laboratori…credo non ci sia niente da dire.
Se si dovesse immatricolare, quale
facoltà sceglierebbe? In Italia o
all’estero? se mi dovessi immatricolare
nuovamente, non so se rifarei informatica,
forse cercherei qualche Corso di Laurea, che
permetta di fare un lavoro più remunerativo,
anche a scapito del piacere personale, per cui,
potrei tentare di fare il notaio, l’avvocato,
anche se sono molto contento del lavoro che
faccio, per la questione estero o no…non so…
ho studiato e lavorato anche all’estero per cui
diciamo che se per estero intendiamo Hawaii
potrei anche immatricolarmi all’estero.. se per
estero intendiamo gli Stati Uniti, non penso
che vorrei crescere i miei figli là…è uno stile di
vita troppo competitivo, però il mio passato
all’estero lo ricordo molto volentieri.
Perché? l’immatricolazione è una cosa
che ti condiziona tutta l’esistenza, se uno fa
legge, può fare l’avvocato, se uno fa
informatica, può fare l’informatico.. secondo
me all’inizio, quando hai 18 anni non è molto
chiaro di ciò che puoi fare. Secondo me la
grande scelta è tra ciò che ti piace e ciò che ti
permette di far soldi. Beato chi può soddisfare
entrambe le esigenze. …io ho scelto quello che
mi piaceva, adesso probabilmente sceglierei
quella che mi fa fare i soldi!
Differenza fra le facoltà italiane e
quelle all’estero? mah la differenza
nell’ambito dell’informatica la vedo
sostanzialmente fra facoltà europee e facoltà
statunitensi, li c’è una differenza dal punto di
vista della qualità soprattutto nel valore che il
titolo ti dà, negli stati uniti, se ti laurei in una
buona facoltà trovi subito un buon lavoro,
nella facoltà italiane invece come nel resto
d’Europa, la situazione è abbastanza peggiore
rispetto agli Stati Uniti. In questo momento
l’informatica Italiana non è per nulla indietro
rispetto agli altri stati Europa, anzi ! è un po’
indietro rispetto gli Stati Uniti… quello si.
9. Pagina 9
NUMERO III
In che cosa dovrebbe migliorare il
nostro Corso di Laurea? è solo un anno
che sono qua, quindi è un giudizio un po’
affrettato, però secondo me non ha una cosa
in particolare su cui migliorare, il corpo
docente, lo vedo abbastanza impegnato e fa
il massimo che può fare, o almeno ciò è vero
per la stragrande maggioranza dei
componenti, per cui se si parla di
miglioramento forse un miglioramento
generalizzato, non vedo una cosa in
particolare che va cambiata. Ho
l’impressione che si presenti all’esterno in
modo non adeguato… avremmo bisogno di
una politica di marketing un po’ migliore per
poter riuscire a trovare gli studenti che
veramente vogliono fare informatica,
secondo me la gente non ha molto idea di
che cos’è l’informatica, la confonde con la
patente europea del computer, però su
questo fronte ci stiamo muovendo per cui
cerchiamo di fare un po’ più orientamento
per avere più studenti convinti e di qualità.
Cosa ne pensa della nuova
riforma universitaria che mira a
diminuire il numero di corsi
aumentando il numero di crediti e di
conseguenza aumentare la varietà dei
contenuti di essi? ma io credo che
qualunque governo si avvicendi al potere (sia
di destra che di sinistra) pensi di essere
l’esecutivo del secolo per cui si sente di dover
fare la riforma del secolo, per cui fa
l’ennesima riforma, che non crea altro che
difficoltà, per quanto mi riguarda si poteva
rimanere con l’ordinamento che avevamo 15
anni fa che non sarebbe cambiato nulla, le
persone sono sempre le stesse e questi continui
cambiamenti non fanno altro che mettere in
difficoltà sia noi che gli studenti che continuano
ad avere esami cambiati nel nome e nel
contenuto. E credo che questi continui
cambiamenti di tipo estetico e non sostanziale
(nomi dei corsi, numero di crediti, mutazioni)
che continuiamo a subire da anni, non siano
altro che un danno, per cui ogni riforma che
viene fuori secondo me, è una brutta riforma, e
tipicamente sono fatte da persone che non
sanno cosa sia l’università, per cui sono molto
critico verso le riforme, direi che è ora di
smettere con queste riforme, tenere lo statuto
che abbiamo, e cercare di organizzarlo e
portarlo in una fase non più transitoria ma
definitiva in modo tale che gli studenti sappiano
cosa vanno a fare, sappiano i contenuti. Poi il
singolo docente terrà aggiornato i contenuti,
abbiamo una crescita tumorale in cui ogni volta
si cambiano le regole e non si capisce più
niente, per cui sono contrario alle riforme.
Cosa ne pensa dell’associazione
S.p.r.i.Te.? Non ho elementi per dare un
giudizio, è da poco che sono qua e questa
intervista forse è il primo contatto diretto con
l’associazione che ho e mi riservo di dare un
giudizio successivamente.
E del giornalino? ne ho vista una sola
copia, ho letto gli articoli, penso che
potenzialmente potrebbe essere uno strumento
comunicativo con una funzione ragionevole, ma
anche qui non posso dare un giudizio
approfondito, mi dovrei basare solo su quel
numero, per cui mi astengo per il momento.
Si faccia una domanda nel nostro
Corso di Laurea, e si dia una risposta.
Come mai nel nostro corso di Laurea si
10. Pagina 10
S.p.r.i.Te. Magazine
Intervista doppia
GIANLUIGI ZAVATTARO
Nome e cognome? Gianluigi Zavattaro
Titolo di studio? Sono laureato in
Scienze dell’Informazione vecchio
ordinamento a Bologna, poi ho fatto il
dottorato in Informatica.
Materia d’insegnamento?
Informatica teorica, Linguaggi di
programmazione.
Qual è il suo ambito di ricerca?
Provengo dall’area dei linguaggi di
programmazione, in particolare mi occupo di
linguaggi per la programmazione di sistemi
concorrenti distribuiti. Studio i modelli di
coordinazione, un particolare approccio per
sviluppare applicazioni distribuite, e piu’ di
recente ho iniziato a studiare i nuovi linguaggi
per lo sviluppo di applicazioni basate su “web
services”.
Com’è arrivato fino a qui? (studi,
insegnamento….) mi sono laureato nel 1994,
ho fatto un dottorato fino al 2000 durante il
quale ho trascorso diversi mesi all’estero in
Olanda, presso un centro di ricerca che si
chiama CWI, dove ho approfondito alcuni
aspetti legati ai linguaggi di programmazione
concorrenti. Sono stato ricercatore dal 2000 al
2005, e dal 2005 sono professore associato
presso il corso di studi di Cesena; come
attivita’ didattica ho insegnato nel corso di
programmazione al primo anno di informatica
e ho tenuto anche corsi, al di fuori delle facoltà
scientifiche, di introduzione generale
all’informatica come ad esempio presso il corso
di scienze della comunicazione dove ho
insegnato l’”ABC” dell’informatica, oppure
presso il corso di scienze della formazione
primaria.
Luogo preferito per le vacanze? Sono
appassionato della montagna, dove mi piace
fare camminate e semplici arrampicate. Però,
per soddisfare anche esigenze famigliari,
bisogna sempre che organizzi anche un po’ di
villeggiatura al mare; in questo caso preferisco
evitare i momenti ed i luoghi particolarmente
affollati…quindi, al di fuori di agosto, va bene
anche il mare.
Qual è il suo piatto preferito?
Essendo di origini Bolognesi chiaramente amo
lasagne e tortellini... ma lo “stracotto al barolo”
di mia suocera occupa forse il primo posto
nella classifica dei miei piatti preferiti.
Cosa fa nel tempo libero? Uno degli
hobby che sono riuscito a mantenere è la
musica, suono il basso elettrico in un
gruppetto rock, quindi ogni tanto mi diletto in
questo…qualche seratina qua e la…ma niente
di eccessivamente impegnativo.
Se vincesse un milione di euro?
Cosa farebbe? Tante cose mi passano per la
11. Pagina 11
NUMERO III
testa….ma nulla di specifico…in una
trasmissione televisiva, recentemente, un
ricercatore universitario per convincere che
era la persona giusta per ricevere una grossa
quantita’ di denaro, diceva che avrebbe usato
tutti i soldi in ricerca scientifica. Forse
qualcuno di questi soldi li userei anche io,
ma non tutti; gli altri li userei eventualmente
per rendere più tranquilla l’esistenza in
famiglia, chiedere a mia moglie se vuole
lavorar meno, fare qualche viaggio in più per
rilassarsi tutti insieme.
Cosa ne pensa del Corso di
Laurea? Secondo me ha delle forti
potenzialità, in quanto è un po’ diverso dagli
altri corsi di informatica in giro per l’Italia:
ha una forte componente di docenti anche di
discipline non prettamente informatiche. Ci
sono docenti di matematica, che si occupano
di vari aspetti della matematica vicino
all’informatica (come ricerca operativa o
calcolo numerico), c’è un forte gruppo di
ingegneri informatici (che non sempre si ha
all’interno di un Corso di laurea presso la
facoltà di scienze), quindi essendo arrivato
da poco, da circa un anno e mezzo, qua a
Cesena, mi stimola molto questa peculiarità
del corso di laurea; mi piacerebbe riuscire a
far fruttare queste caratteristiche un po’
diverse.
E degli studenti di oggi? Arrivando
qua a Cesena ho iniziato a insegnare alla
laurea specialistica, invece da ricercatore ho
sempre insegnato al primo anno. Noto una
grande differenza tra le matricole che ho
incontrato nelle precedenti esperienze e gli
studenti della specialistica. Penso sia dovuto
al fatto che, nell’arco degli anni vengono in
qualche modo filtrati gli studenti: nella
specialistica ci sono solamente quelli più
motivati mentre al primo anno vedo un po’ di
disorientamento iniziale, gli studenti un po’ si
perdono, perché c’è forse una concezione
dell’informatica nelle superiori che è diversa dal
concetto di informatica come disciplina
scientifica; si pensa infatti all’informatica come
un insieme di strumenti e tecnologie (la rete
internet, i vari dispositivi elettronici con una
forte componente informatica) che questi
ragazzi vedono e pensano di studiare venendo
ad informatica; questo non è del tutto vero,
perché cerchiamo di insegnare i concetti
fondamentali, quello che ci sta dietro a questi
strumenti. Più o meno la mia valutazione è
questa: mi sto trovando molto bene con gli
studenti specialistici, mi trovavo bene anche
con le matricole, ma notavo queste difficoltà
che i ragazzi avevano.
Che rapporto ha con i suoi studenti?
Cerco di tenere un rapporto abbastanza di
dialogo, non solamente unidirezionale da
docente a studenti…e per questo cerco sempre
di diminuire quelle distanze che ci possono
essere storicamente tra professore e studente.
Spero di aver successo in questo mio tentativo.
Quali materie mancano nel nostro
Corso di Laurea? … si sta discutendo molto
nel consiglio di Corso di Laurea di come
migliorare la proposta formativa, sono stato
abbastanza attivo a partire da questa primavera
all’interno di questo gruppo di docenti, e stiamo
pensando a come migliorare le cose, e quindi ci
stiamo anche chiedendo quali corsi mancano
per cercare di introdurli… e la mia personale
visione è che sulla triennale si potrebbe cercare
di aggiungere qualcosa in più. In particolare,
12. Pagina 12
S.p.r.i.Te. Magazine
nel mio settore dei linguaggi di
programmazione, noto la carenza di un corso
sui paradigmi di programmazione, in
particolare object orientation. Già da diverso
tempo si dice che non c’è un corso
fondamentale triennale dove si insegnano
queste cose e, se tutto va bene, dal prossimo
anno verra’ introfotto come risultato di queste
discussioni che sono partite da questa
primavera. Per quanto riguarda gli aspetti
matematici, secondo me, corsi con una
maggiore componente di logica matematica
possono aiutare per capire meglio i linguaggi
di programmazione, ad esempio, anche
quando insegno nel corso di informatica
teorica vari concetti che richiedono alcuni tipi
di dimostrazioni diverse dalle dimostrazioni
classiche viste in analisi, noto che gli studenti
hanno alcune difficoltà in quanto appaiono
carenti le basi logiche. Una esperienza simile
l’ho avuta insegnando nel corso di linguaggi:
quando si parla di “type system” (cosa
importantissima per i linguaggi di
programmazione), conoscere un po’ più di
logica matematica aiuterebbe gli studenti.
Quali strutture mancano nel nostro
Corso di Laurea? Come strutture, mi
sembra che sia molto ricco il nostro Corso di
Laurea. Provengo da una realtà diversa;
quando ero ricercatore, ho insegnato al corso
di laurea a Bologna, dove ci sono molte meno
strutture, meno spazi soprattutto per gli
studenti. Qui a Cesena i laboratori sono molto
più ricchi, più attrezzati, ben seguiti, ci sono
più spazi per studiare: sale studio, per
incontrarsi. Le stesse associazioni che ci sono,
non sono presenti nel corso di laurea a
Bologna, quindi non mi viene in mente nulla
di specifico da indicare come carenze di
strutture.
Se si dovesse immatricolare, quale
facoltà sceglierebbe? In Italia o
all’estero? Immatricolarsi, fare il primo anno
di università subito all’estero sarebbe un po’
troppo eccessivo. Secondo me la triennale si
può fare in Italia trovando proposte molto
interessanti. Personalmente, quando mi sono
iscritto all’università ero interessato a facoltà
scientifiche ed ero indeciso su matematica,
fisica e scienze dell’informazione, ed ho optato
per scienze dell’informazione. Oggi come oggi
dovrei rivalutare bene le proposte attuali di
matematica e fisica, che non conosco
benissimo, per decidere. Per quanto riguarda
studi specialistici, potrebbe diventare
interessante iniziare a guardarsi anche al di
fuori dei confini italiani, o eventualmente per
un dottorato. Io ho fatto tutto in Italia, ed ho
fatto solo parte del dottorato anche all’estero.
Forse fare tutto il dottorato all’estero, potrebbe
diventare utile.
Perché? È legato all’esperienza
personale, i mesi vissuti all’estero sono stati
utili per incontrare modi di fare ricerca diversi
da quello che avevo visto con i docenti che mi
seguivano a Bologna, ambienti diversi, modi di
lavorare diversi, e sicuramente vedere come
funzionano queste cose all’estero è utile.
Differenza fra le facoltà italiane e
13. Pagina 13
NUMERO III
quelle all’estero? Didattica all’estero
sinceramente non l’ho mai seguita da vicino,
quindi non riesco a dare una valutazione
dettagliata. Una differenza che noto
guardando i colleghi docenti stranieri è che
questi solitamente hanno un minor carico
didattico. Ad esempio io tengo due corsi
fondamentali, mentre all’estero ne tengono
solitamente al massimo uno, piu’
eventualmente un corso complementare. Un
altro aspetto è poter aver più tempo e risorse
da investire sulla didattica, quindi
insegnando meno corsi, e mettere a
disposizione degli studenti più persone (i
cosiddetti tutor, o esercitatori), che di solito
all’estero sono più stabili rispetto ai tutor che
abbiamo qui in Italia, cioè rimangono gli
stessi per più anni, e che permettono al
docente di impostare il corso con del
materiale aggiuntivo, con esercitazioni fatte
con maggior attenzione. Inoltre all’estero i
docenti ed i tutor seguono classi di studenti
di numero inferiore rispetto alle nostre classi
di 100 studenti. Quando si hanno poche
decine di studenti, si riescono a seguire
meglio. Ecco, le differenze come docente che
noto sono queste: i miei colleghi all’estero,
hanno meno corsi, e più risorse per poter
seguire più attentamente gli studenti.
In che cosa dovrebbe migliorare il
nostro Corso di Laurea? La risposta a
questa domanda un po’ legata alla risposta
che ho dato prima. Finora, ho avuto più
tempo per ragionare sulla proposta
triennale, e ho detto quello che secondo me
può essere fatto: la preparazione nella mia
area dei linguaggi di programmazione,
bisognerebbe provare ad anticipare alla
triennale qualcosa che al momento insegno
nella specialistica, nel corso di linguaggi; penso
sia utile una maggior componente di
matematica spinta verso la logica (corso che
potrebbe essere tenuto da un docente di
matematica o anche da un informatico). Non
vedo altri problemi; al momento è secondo me
quello che manca.
Cosa ne pensa della nuova riforma
universitaria che mira a diminuire il
numero di corsi aumentando il numero
di crediti e di conseguenza aumentare la
varietà dei contenuti di essi? In realtà
questa proposta, secondo me, è rivolta a Corsi
di Laurea, come ho avuto occasione di
conoscere facendo supplenze per le facoltà
diverse dalle facoltà scientifiche, dove i corsi
sono al massimo da tre crediti. Le suddette
triennali arrivano ad avere una quantità di
prove d’esame esagerata, supera notevolmente i
30, quindi la riforma chiederà a questi corsi di
laurea di ripensare parecchio alla propria
struttura. Invece per le facoltà scientifiche, in
particolare informatica, la novita’ non dovrebbe
richiedere rivoluzioni; adesso il numero di
esame per la triennale supera 20, però non di
tanto, e sei crediti per un corso non è
considerato un numero di crediti sbagliato.
Forse, per la specialistica, qualcosa è da
rivedere, perché quasi tutti corsi sono da sei
crediti. Quindi bisognerà in qualche modo
provare a concentrarsi su corsi attualmente
separati in complementari diversi, e se questi
hanno un nucleo comune, provare ad
unificarli, oppure pensare ad una prova
comune d’esame. Questo esercizio di vedere se
ci sono sovrapposizione è inoltre un esercizio
molto utile che noi docenti stiamo già facendo
da questa primavera in poi, per vedere,
14. Pagina 14
S.p.r.i.Te. Magazine
appunto, se e’ necessario o utile accorpare
corsi .
Cosa ne pensa dell’associazione
S.p.r.i.Te.? Essendo da poco tempo qua a
Cesena, non ho avuto modo di interagire più
di tanto con l’associazione; da commenti che
ho sentito da parte di studenti e altre persone
con cui collaboro, tutor dei miei corsi, che
sono qui a Cesena da più tempo, le valutazioni
sono positive. L’associazione offre un servizio
utile agli studenti, un supporto soprattutto
alle matricole, che permette loro di iniziare a
capire la vita dello studente universitario più
velocemente. Vedere qualcuno con più
esperienza, li può aiutare. L’associazione
S.p.r.i.Te. fa parte anche delle cose in più che
noto qua a Cesena, rispetto ad altri corsi di
laurea dove ho avuto modo di lavorare in
precedenza.
E del giornalino? Hemm…quanti
numeri sono usciti prima? Due…questo è il
terzo…non ho avuto modo di leggerli, non
posso valutare, però ho sentito commenti,
sempre indiretti, sul fatto che sono stati messi
nero su bianco dei commenti, che erano
rimasti sempre un po’ nell’aria, da parte di
studenti nei confronti del corso di Laurea.
Questo può essere utile per confrontarsi più
approfonditamente, anche perché solo
recentemente sono entrati più numerosi nel
Consiglio di Laurea. Nel mio primo anno da
professore a Cesena, gli studenti erano meno
presenti nei consigli. So che il problema è
stato che i rappresentanti erano fuori sede, e
per un po’ di tempo si sono impegnati in altro;
naturalmente per noi docenti diventa difficile
interagire con gli studenti, perché il luogo
principe sono i consigli e ci dovrebbero essere
i rappresentanti. Se mancano questi non
riusciamo a confrontarsi. Il giornalino e
l’associazione sono una cosa in più e ben
venga.
Si faccia una domanda nel nostro
Corso di Laurea, e si dia una risposta.
Che ci chiediamo? Che cosa possiamo fare per
far capire un po meglio cos’è l’informatica nei
licei e negli istituti superiori? Quello che si può
provare a fare e che siamo partiti da
quest’anno a fare, è presentare una sorta di
seminario di concetti di informatica negli
istituti superiori invece che andare a fare
pubblicità che è una cosa nemmeno apprezzata
dai docenti delle superiori. Penso sia utile
andare a raccontare che dietro all’informatica
ci sono dei concetti, c’è un modo di ragionare,
che non emerge dagli strumenti e tecnologie
informatiche che si vedono in giro per il
mondo. Mi auspico che questo genere di lavoro
invogli anche gli studenti più legati alle
discipline concettuali, come matematica e
fisica, ad iscriversi anche ad informatica, cosa
che al momento sta venendo meno. Ci sono
sempre più iscritti negli ultimi anni a
matematica e fisica e altre discipline di questo
genere, mentre l’informatica è più o meno
stabile, o qualche anno è capitato di perdere
qualche studente, e spesso appunto mancano
tra gli iscritti quelli con il voto di diploma alto,
che rappresentano ragazzi più portati a
ragionare ad un superiore livello di astrazione.
Probabilmente può essere utile far capire a
questi ragazzi che anche ad informatica c’è
qualcosa di concettuale e di interessanti, e non
solo l’utilizzo di strumenti e tecnologie.
15. Pagina 15
NUMERO III
INTRO
“Come on, you apes! You wanta live forever?”
Robert A. Heinlein
Trascendendo dagli aspetti teorici alla base dello standard XML, possiamo tranquillamente
asserire che è una modalità per la specifica e lo spostamento temporale o spaziale di
informazioni strutturate. Uno degli usi, che a mio parere è direttamente sulla sottile linea di
confine che divide l’uso dall’abuso, è l’impiego di XML come un Flat File DB, come un sostituito,
spesso inferiore, dei più noti Flat File, come ad esempio il Berkely DB [1].
Supponiamo di voler memorizzare delle informazioni relative a cantanti, potremmo impiegare
un file XML simile a cantanti.xml.
Analogamente se volessimo memorizzare delle informazioni relative a uno scambio di messaggi
impiegheremo un file xml simile a messaggi.xml.
Come è evidente xml è in grado, per quello che vogliamo prendere in considerazione ora, di
effettuare lo store di informazioni, ma in generale questo è solo un dei reagenti necessari. E’
necessario disporre di un linguaggio di programmazione che offra le API necessarie per accedere
allo store. In questo periodo va molto di moda utilizzare Java per l’impiego della tecnologia XML
[2].
Effective Java & XML
di Luca Benini <lbenini@gmail.com>
1-http://www.sleepycat.com/
2-L’autore dopo aver lavorato con XML in Perl/C++/C e Java è convinto che Java presenti il peggior supporto possibile a XML, se
confrontato con quello offerto direttamente o indirettamente dagli 3 linguaggi (in ordine di adeguatezza a XML).
<cantanti>
<cantante>
<nome>Eros</nomecognome>Ramazzotti</cognome>
<sesso>M</sesso>
</cantante>
<cantante>
<nome>Carmen</nome>
<cognome>Consoli</cognome>
<sesso>F</sesso>
</cantante>
</cantanti>
cantanti.xml
16. Pagina 16
S.p.r.i.Te. Magazine
Dati i dati che vogliamo modellare, è abbastanza intuitivo iniziare impiegato due classi Java
similmente strutturate:
Ovviamente arricchiti con i rispettivi Getter e Setter. Avremmo quindi tutta una serie di metodi
(che tool come Eclipse possono generare automaticamente) nella forma String getXxxx() e
setXxxxx(String value).
Inseriamo tutto nel caldero in un package ad hoc (xmldata nel nostro caso)
public class Nota {
private String from;
private String to;
private String message;
Nota.java
<note>
<nota>
<from>Persona A</from>
<to>Persona B</to>
<message>Vieni stasera?</message>
</nota>
<nota>
<from>Persona B</from>
<to>Persona A</to>
<message>Si</message>
</nota>
</note>
Messaggi.xml
public class Cantante{
private String nome;
private String cognome;
private String sesso;
}
Cantante.java
17. Pagina 17
NUMERO III
Riflessione
“If you want in on the Discordian Society
then declare yourself what you wish
do what you like
and tell us about it
or if you prefer don't.”
La riflessione è un aspetto presente in un gran numero di linguaggi anche se tende a prendere
nomi diversi in contesti diversi. A grandi linee si può dire che il supporto alla riflessione
consente a un programma di ispezionarsi ed operare su se stesso[3], in realtà ciò vuol dire
veramente poco, e le definizioni derivanti dal mondo Object Oriented sono ancora più fuorvianti:
“… Secondo l'approccio classico di Maes e Ferber, un sistema riflessivo è strutturato in due o
più livelli, che costituiscono una torre riflessiva. Le entità (gli oggetti) del livello base
realizzano le funzionalità fondamentali del sistema. Questo livello è quello "tradizionale", che
riceve input dall'esterno (per esempio dall'utente), lo elabora, e produce output. Le azioni delle
entità situate nei livelli superiori (meta-oggetti), invece, non operano sui dati del sistema (p.es.
l'input dell'utente), bensì sugli oggetti dei livelli inferiori. Essi osservano la struttura o il
comportamento degli oggetti sottostanti e potenzialmente intervengono per modificarlo. Sulla
base di questa idea di fondo, Maes, Ferber e altri definirono un modello teorico per la
riflessione nei sistemi a oggetti che costituisce ancora oggi un punto di riferimento importante
in quest'area, benché implementazioni dell'idea di reflection come quella che si trova in Java
siano tipicamente più limitate e semplificate dal punto di vista semantico…”[4]
Un approccio più chiaro può essere trovato nei linguaggi di scripting, in particolare ci
concentremo sull’aspetto che impiegheremo in questo articolo: la possibilità di invocare metodi
(e quindi anche costruttori) utilizzando una stringa contente il loro nome.
Per chi è avvezzo ai linguaggi di scripting, andremo a utilizzare l’equivalente java della funzione
eval in Perl o del seguente blocco php:
<?php
function test() { print "Hello Worldn"; }
$a="test";
$a(); ?>
Test.php
3-http://nicchia.ingce.unibo.it/oop/web/21-riflessione.html
4-http://it.wikipedia.org/wiki/Riflessione_(informatica)
18. Pagina 18
S.p.r.i.Te. Magazine
Per ottenere un handle alla riflessione impiegheremo il metodo getClass() che ogni oggetto in
Java eredita da Object. Questo metodo restituisce un oggetto di tipo Class (ma guarda un po’)
che contiene le meta informazioni (informazioni sulle informazioni) riguardanti la classe.
Trascendendo la presentazione dettagliata di Class che può essere trovata nella documentazione
SUN ci concentriamo esclusivamente su
Method getMethod(String name,
Class[] parameterTypes)
Che fornendogli un nome e un array di oggetti Class per ogni parametro ci fornisce un oggetto
Method. Sempre dalla documentazione SUN veniamo a sapere che Method presenta un metodo
(e la mente vacilla…)
Object invoke(Object obj, Object[] args)
Che ci permette di invocare il metodo appena selezionato, considerando come oggetto di
riferimento obj e passandogli gli argomenti args.
Abbiamo visto come (bè più o meno, i dettagli vengono dopo…) invocare un metodo di un class
attraverso un oggetto Method a partire da un oggetto Class ottenuto con il metodo getClass() di
un oggetto.
Il problema di questo approccio (oltre alla difficoltà da affrontare per non cadere nel ridicolo) è
che è necessario avere un’oggetto su cui chiamare getClass(), in realtà Java permette di ottenere
un Class anche a partire dal nome (inteso come String) della classe, con il metodo statico
Class.forName(String CompleteClassName
Dove CompleteClassName oltre a essere case sensitive richiede l’esplicitazione completa del
package (es xmlutil.Cantante).
Riassumendo possiamo creare oggetti di classi avendone il nome solo a runtime, e su questi
oggetti possiamo chiamare metodi conoscendono solo a runtime il nome.
19. Pagina 19
NUMERO III
IL CODICE
“…Strong typing is for people with weak memories”
Real Programmer Definition
Riassumiamo un attimo quello che vogliamo fare…
A partire da un file xml contenente tanti “record” vogliamo ottenere una collezione (useremo
un’ArrayList) della classe corretta con i campi corretti. Tutto questo senza doverci preoccupare
del tipo memorizzato e senza scrivere tanto codice… Questo devo funzionare:
ArrayList cantanti = Utils.XMLLoader("cantanti.xml");
ArrayList note = Utils.XMLLoader("note.xml");
Dovremo quindi:
Caricare il documento xml a partire dal nome del file:
public static Document parseFile(String filename)
{
DocumentBuilderFactory dbf=
DocumentBuilderFactory.newInstance();
dbf.setIgnoringElementContentWhitespace(true);
DocumentBuilder db;
try {
db = dbf.newDocumentBuilder();
return db.parse(filename);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
Dato un documento XML ottenere il nome della classe memorizzata (il tag di apertura del
record)
private static String classNameFromXml(Document doc)
{
Element root = doc.getDocumentElement();
NodeList nl = root.getChildNodes();
20. Pagina 20
S.p.r.i.Te. Magazine
for(int i=0;i<nl.getLength();i++)
{
if(nl.item(i).getNodeType() !=Node.TEXT_NODE )
{
return asJavaClassName(nl.item(i).getNodeName());
}
}
return null;
}
E in fine costruire il nome del metodo (getXXX) da invocare
private static String asJavaSetter(String name)
{
String a = asJavaClassName(name);
return "set" + a;
}
Dove asJavaClassName porta la stringa allo stile CamelCase:
private static String asJavaClassName(String name)
{
name=name.toLowerCase();
String first = name.substring(0,1);
first=first.toUpperCase();
String second = name.substring(1);
return first + second;
}
A questo punto….
public static ArrayList XMLLoader(String filename)
{
ArrayList output = new ArrayList();
Class[] Sc = {String.class};
Class c;
String gname;
String[] arg = new String[1];
21. Pagina 21
NUMERO III
Document doc = parseFile(filename); // Carico il document
String ClassName=classNameFromXml(doc); // La classe su cui operare
String TagName=ClassName.toLowerCase(); // Quindi il tag da cercare
ClassName = "xmldata." +ClassName; // Ci vuole anche il package
try {
c = Class.forName(ClassName); // Prendo la Class della classe
Element root = doc.getDocumentElement();
NodeList nl = root.getElementsByTagName(TagName);
for(int i=0;i<nl.getLength();i++)
{
NodeList nl2 = nl.item(i).getChildNodes();
Object o = c.newInstance(); // Creo l’oggeto
for(int j=0;j<nl2.getLength();j++)
{
if(nl2.item(j).getNodeType() !=Node.TEXT_NODE )
{
// Il nome del setter dipende dal tag…
gname= asJavaSetter(nl2.item(j).getNodeName());
// Gli argomenti sono il valore del nodo
// …. Come array
arg[0]= nl2.item(j).getFirstChild().getNodeValue();
//Invochiamo…
c.getMethod(gname,Sc).invoke(o,arg);
}
}
// Aggiungiamo alla lista…
output.add(o);
}
return output;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
La maggior parte del codice è legata alla difficoltà di manipolare le stringhe in Java, e per fortuna
che ci siamo limitati ai setter… il brutto del CamelCase è che non è tanto facilmente ottenibile
(impossibile) con il codice…
22. Pagina 22
S.p.r.i.Te. Magazine
Conclusioni
"Sugar, spice and everything nice…”
The Powerpuff Girls
Una sola classe (che potete tranquillamente usare anche senza capire…), vi permette di
dimenticarvi completamente le problematiche legate all’uso di xml con Flat File: chiamate
XMLLoader e magicamente eccovi gli oggetti già allocati e già opportunamente impostati.
Generazione Automatica dei getter e setter in Eclipse
23. Pagina 23
NUMERO III
Arrivo, mi siedo al computer, penso. Scriverò
qualcosa di interessante, almeno spero, per
voi e per me. Farò una panoramica su uno dei
tanti argomenti che mi hanno interessato e
affascinato, negli ultimi anni, e trarrò, in
conclusione, gli insegnamenti che ho appreso
e che potrebbero far riflettere anche voi.
Non potendo scrivere un poema, sarò
stringato e chiaro, per quanto possibile.
Bene. Cominciamo.
Da diversi anni va diffondendosi un
fenomeno sociale che, se inizialmente
coinvolgeva sporadici ricercatori di quel
Santo Graal che rappresenta una ipotesi di
complotto suggestiva. Preferibilmente di
livello mondiale. Oggigiorno trova tanti
seguaci, grazie anche all’avidità dei media.
Purtroppo, dopo calcio e gossip, i media
hanno scovato un nuovo terreno fertile per
raccogliere soldi (nel caso di libri o riviste) e
audience (nel caso di trasmissioni tv), ossia
amplificare le farneticazioni di tanti
complottisti. Dico purtroppo perché questo
terreno è insidioso. Ma come ha avuto origine
questa nuova moda in Italia? Provo a fare una
ipotesi. La mia ipotesi.
Il fenomeno, inizialmente di nicchia, ha tratto
notevole spinta da quel successo mondiale
che rappresenta “Il codice da Vinci” di Dan
Brown. Sia chiaro, il romanzo l’ho letto e
apprezzato: al di là della scrittura fin troppo
semplice, è molto suggestivo, infarcito di
piccole lezioncine artisticostoriche, il tutto
ricoperto da falsi storici e ipotesi balorde a
profusione, necessari per realizzare la trama,
nonché il punto di forza, del romanzo.
Ricordo ancora con stupore la puntata di
Matrix in cui Mentana aveva per ospite un
insolito Sgarbi, in versione critico d’arte
preparato, anziché nella solita veste di playboy
consumato e polemico. In quella puntata
venivano analizzate e smontate le ipotesi
(quelle sopracitate, quelle balorde, si.) di
Brown.
Cos’è successo poi? Nei mesi successivi sono
sbucate nuove puntate di Matrix, Porta a
porta, RaiNews, ecc… per finire con Report
(che, aimhè, ha perso molta della mia
considerazione, trasmettendo un video sull’11
settembre, datato e impreciso, presentandolo
Falso allunaggio sulleTwinTowers
di Filippo Venturi <fil1980@virgilio.it>
24. Pagina 24
S.p.r.i.Te. Magazine
come il “terrore delle televisioni pubbliche”,
perché mai trasmesso prima), dedicate ad
altre ipotesi suggestive, come il falso
allunaggio nel 1969, gli attentati “approvati”
dagli Stati Uniti nel 2001, ecc…
Teniamo presente però che questo fenomeno,
proprio negli States, è largamente diffuso e
che sono tanti i ciarlatani, spesso anche autori
di libri, che hanno fatto i soldi sulla pelle delle
persone più influenzabili. Volendo, possiamo
dedicare un minuto di silenzio agli scrittori di
avvistamenti UFO, un tempo monopolisti del
settore, ormai scavalcati dai nuovi complotti
alla moda.
Le fondamenta di una ipotesi di complotto
sono spesso deboli.
Quando si pensa all’11 settembre 2001 è facile
trovare qualcuno ricordare con soddisfazione
Pearl Harbor (1941) e affermare, secondo
alcune teorie di allora, che anche Roosevelt
(Presidente USA) non avesse fatto nulla per
evitare l’attacco giapponese, per avere così un
motivo per entrare in guerra. Certo l’analogia
può sorprendere. La storia si ripete, no? Però
è fin troppo superficiale come approccio. In
fondo non siamo in un’aula di tribunale
americana. Il precedente (comunque da
verificare) non fa legge.
Qualche altra ipotesi, sempre relativa al WTC,
sostiene che il crollo delle torri sia stato
troppo verticale per non essere una
demolizione controllata. Forse che le torri
sarebbero dovute cadere come tronchi
d’albero?
Un’altra ipotesi si basa su una frase male
interpretata e mal tradotta di Larry Silverstein
(locatario del WTC), il quale avrebbe ordinato
ai pompieri, dopo aver saputo dagli stessi che
difficilmente sarebbero riusciti a spegnere
l’incendio nel WTC7, “pull it!”… cos’è
successo? Ognuno ha interpretato la frase a
piacere: i complottisti l’hanno intesa come
“demolitelo!” e gli altri come l’ordine di
ritirare gli uomini dall’edificio. Cerchiamo di
essere realisti: che senso ha ordinare la
demolizione controllata di un edificio ai
pompieri!? E soprattutto com’è possibile
prepararla nel giro di
un paio d’ore?
Quando l’operazione
richiede settimane,
se non mesi, di
studio.
Purtroppo lo spazio è
limitato e non posso
continuare con altri
esempi, spero
soltanto di aver reso
la superficialità di
tante ipotesi relative all’11/09, talvolta si
raggiunge il fatidico livello “mi ha detto mio
cuGGino…”.
Un’altra vicenda che ho seguito da vicino è il
falso allunaggio del 1969. Il sospetto, in questo
caso, è che l’uomo non abbia mai messo piede
sulla luna e che in realtà abbiano girato in
25. Pagina 25
NUMERO III
studio le immagini di Neil Armstrong e soci.
Su cosa si basano tali affermazioni? Su
anomalie da quattro soldi. Basti pensare che la
maggior parte si riferiscono alle manipolazioni
evidenti delle foto, ma… colpo di scena, le
manipolazioni sono ammesse senza problemi
dalla NASA, al fine di ottenere foto
esteticamente migliori, meno scure, più
equilibrate e dritte. L’ammissione non sarebbe
stata necessaria, dato che le foto originali,
bruttine e dilettantistiche (ricordiamo però
che gli astronauti avevano l’obiettivo sul petto,
perciò le inquadrature erano molto
approssimative), sono disponibili nel sito della
NASA.
Un altro cavallo di battaglia
è che in tante foto non si
vedono le stelle sullo
sfondo… che dire? Io non
sono un esperto di
fotografia, ma so comunque
che non era possibile
fotografare in modo ben
visibile sia le stelle che la
superficie lunare. Nel primo
caso si sarebbe sovraesposto il suolo lunare
(ossia sarebbe parso come una macchia
bianca) e nel secondo caso si sarebbe
rinunciato alle stelle (per evitare la
sovraesposizione si chiude il diaframma
dell’obiettivo in modo da far entrare poca luce,
al punto di rendere invisibili le stelle sullo
sfondo).
Per spazzare via ogni dubbio sarebbe
necessario verificare la presenza di rifiuti sulla
luna, lasciati nelle varie missioni, e per far ciò
avremmo bisogno di telescopi abbastanza
potenti (no, il telescopio Hubble non lo è, non
riesce nemmeno a "vedere" il modulo lunare,
ossia l'oggetto più grosso lasciato dall'uomo),
ma è già scritto che qualcuno scatterà in piedi
e dirà "no ragazzi, quegli oggetti sono stati
lasciati con dei robottini... muniti di stivali per
lasciare pure le impronte!".
Il problema è che chi vuole vedere un
complotto lo vedrà anche avendo sotto gli
occhi prove schiaccianti che lo
smentiscono.
Che altro dire, i due casi fin
qui citati sono forse i più
famosi, seguono a ruota gli
avvistamenti e i rapimenti
alieni, nonché gli alieni ospiti
dell’Area 51, le scie chimiche
(una volta ironizzai sul fatto
che avessero lo scopo di
risolvere il problema della
sovrappopolazione mondiale e
incredibilmente qualcuno avvalorò questa
teoria…).
Per concludere cito anche un complotto fresco
fresco, che in Italia però non ha ancora trovato
pubblicità (chissà che in occasione di un
anniversario…), ossia che dietro la fine di New
Orleans ci sia lo zampino di Bush e dei suoi
compagni di merenda.
26. Pagina 26
S.p.r.i.Te. Magazine
Un fatto curioso che ho notato è che, salvo
coloro che si specializzano in un argomento in
particolare, tutti i complottisti abbracciano
ogni teoria di complotto (Massimo Mazzucco
di luogocomune.net docet), senza mai
accettare alcun rapporto o spiegazione
ufficiale.
Non lo trovate strano?
A me vengono in mente tre possibili
spiegazioni: 1) il complottista è vittima di una
nuova forma di paranoia; 2) a certi individui
piace pensare di saperla più lunga di tante
altre persone; 3) dormo poco la notte e non
colgo cose evidenti agli altri.
Va anche detto che chi vive in modo passivo
questi argomenti ricorda più facilmente
qualche ipotesi clamorosa e a suo modo
affascinante, magari letta di sfuggita su
qualche rivista o quotidiano… e che ogni
eventuale risposta da fonti ufficiali, basata su
Io ovviamente non possiedo la verità assoluta,
continuerò ad ascoltare più di una campana,
cercherò di verificare le fonti delle notizie ed
eviterò di prendere troppo sul serio i blog dei
“tuttologi della domenica”, come Beppe Grillo
(ho visto alcuni suoi post su Tronchetti
Provera, e non solo, di una banalità
disarmante, dove lo sfottò passa per
informazione).
A questo punto, se fumassi e fossimo negli
anni ‘50, spegnerei la mia sigaretta, sfoggerei
uno sguardo severo e saluterei con un doppio
augurio. Così.
Buona notte, e buona fortuna.
27. Pagina 27
NUMERO III
AutoIt (versione 3.1.1 -
http://
www.autoitscript.com/
autoit3/) è un semplice e
potentissimo linguaggio di
script per automatizzare le operazioni
eseguite in windows. E’ gratuito e comprende
funzioni per gestire mouse e tastiera, creare
finestre con i controlli (bottoni, menu, spider,
caselle di testo, pulsanti radio e checkbox…),
manipolare files, processi, registro di sistema.
Comprende una vasta libreria di funzioni
matematiche, manipolazione di stringhe e
array. Supporta strutture di controllo (if-then
-else, While, For …), funzioni, costanti globali
e inclusione di librerie. E’ possibile compilare
lo script in un comodo file eseguibile di pochi
Kb che non necessita di nessun file o dll
esterna.
L’ultima versione di AutoIt comprende al suo
interno l’editor SciTe
(http://www.scintilla.org), anch’esso
gratuito, con vari plugin per AutoIt.
L’editor autocompleta i nomi delle funzioni e
variabili già inserite, presenta strumenti
Il linguaggio AutoIt
di Elvis Ciotti <info@elvisciotti.it>
grafici per creare interfaccie GUI, offre un
sistema di debug per il codice e altri tantissimi
utili tools.
Con l’ambiente descritto riusciamo a creare in
poco tempo programmi di vario tipo molto utili
e facilmente ridistribuibili, da semplici script di
gestione file a mini-gestionali.
In questo articolo costruiamo – attraverso un
breve tutorial - una semplice (per motivi di
spazio sul giornalino!) applicazione che si
interfaccia con una pagina php online e
permette di inserire e gestire news in un sito
web.
Prima di iniziare qualche nozione sulla sintassi
del linguaggio rispetto ai linguaggi che già
conosciamo:
Le variabili devono essere precedute dal
simbolo del dollaro ($), le righe di commento
precedute da punto e virgola, non serve punto e
virgola alla fine di ogni riga, le stringhe sono
delimitate da doppi apici, per concatenare due
stringhe usare l’operatore ‘&’.
1 - creazione interfaccia grafica.
Creiamo un file con estensione AU3 e apriamolo con SciTe. Dal menu Tools scegliamo GUI
Builder’e disegniamo più o meno il form che vedete nella prima figura nella pagina successiva.
Una volta fatto, clicchiamo su Exit per vedere inserito il codice nel nostro script.
28. Pagina 28
S.p.r.i.Te. Magazine
Il codice creato dal tool crea la finestra e i controlli disegnati attraverso le funzioni GuiCreate
(vedi manuale), assegnati eventualmente ad una variabile per essere poi gestiti successivamente.
Copio il codice qui sotto. Come vedete ho assegnato variabili solo a aree di testo (Edit) o bottoni
(Button) con nomi significativi in modo da poterli poi richiamare e gestire successivamente.
GuiCreate("Gestione news sito", 420, 301,-1, -1)
GuiCtrlCreateGroup("Inserisci news", 10, 20, 210, 190)
$testo_news = GuiCtrlCreateEdit("", 20, 40, 190, 90)
$data_news = GuiCtrlCreateDate("Date4", 20, 140, 190, 20)
$bott_inserisci = GuiCtrlCreateButton("Inserisci", 20, 170, 60, 30)
GuiCtrlCreateGroup("Cancella news", 10, 220, 210, 50)
$id_delete = GuiCtrlCreateInput("", 100, 240, 50, 20)
GuiCtrlCreateLabel("Inserisci id:", 25, 244, 65, 20)
$bott_cancella = GuiCtrlCreateButton("ok", 170, 240, 30, 20)
GuiCtrlCreateGroup("News inserite", 230, 20, 180, 250)
$text_elenco_news_inserite = GuiCtrlCreateEdit("", 240, 40, 160, 200)
$bott_ricarica = GuiCtrlCreateButton("Ricarica dal sito", 265, 244, 90, 20)
2 – come associare funzioni ai pulsanti
Avrete notato che dopo il codice sopra riportato viene inserito un ciclo While in cui viene
chiamata la funzione GuiGetMsg(), che restituisce l’identificativo del pulsante premuto. Qui
dentro è possibile associare le funzioni dei vari pulsanti attraverso il Select… Case sui vari
controlli.
Toolbar strumenti
29. Pagina 29
NUMERO III
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case Else
;;;
EndSelect
WEnd
Esempio:
Case $msg = $bott_inserisci
[… codice eseguito quando si clicca sul bottone ‘Inserisci’]
3 - Creazione pagina php.
La comunicazione fra il nostro script e php avviene di nascosto con il metodo GET.
In pratica per inserire la news chiamiamo pagina.php?insert=<valore dell’area di testo> e per
vedere le news inserite scarichiamo via http il contenuto di pagina.php (che restituisce l’elenco
delle news) e lo inseriamo nella area di testo a destra.
Per semplicità manteniamo l’elenco delle news su un file di testo, piuttosto che in un database.
<?
//pagina.php
$file_news = "news.txt";
if ($HTTP_GET_VARS[insert])
{
$f = fopen($file_news,"a"); //apro file news in append
fwrite($f, $HTTP_GET_VARS[insert]."<br><br>"); //scrivo news sul file
fclose($f);
}
else
// stampo il contenuto del file delle news
print stripslashes(implode("", file($file_news)));
?>
30. Pagina 30
S.p.r.i.Te. Magazine
4 - Funzioni associate al pulsante “inserisci”
L’azione da associare al pulsante ‘inserisci’ (cioè dopo Case $msg = $bott_inserisci) è la
seguente:
$news_inserita = StringStripWS (GUICtrlRead ( $testo_news), 7 )
$news_inserita = StringReplace ( $news_inserita, "&" , "&")
$news_inserita = StringReplace ( $news_inserita, "<" , "<")
$news_inserita = StringReplace ( $news_inserita, ">" , ">"$news_inserita =
StringReplace ( $news_inserita, "?" , "?")
$news_inserita = StringReplace ( $news_inserita, "€" , "€")
$news_inserita = StringReplace ( $news_inserita, "°" , "°")
$news_inserita = StringReplace ( $news_inserita, @CR , "<br>")
$news_inserita = $news_inserita & " - " & GUICtrlRead($data_news)
If $news_inserita <> "" Then
InetGet ("http://www.sito.it/pagina.php?insert=" & $news_inserita, "down.tmp", 1 )
MsgBox(0,"","inserimento ok", 2);
Else
MsgBox(0,"","Testo non inserito");
EndIf
Cioè prendiamo il testo dall’area di testo (funzione GUICtrlRead), ed elaboriamo la stringa
(doppi spazi, codifica per passare il testo nella URL per la pagina php), aggiungiamo la data letta
dal relativo controllo, poi chiamiamo via http (funzione InetGet) la pagina php passando nella
URL la stringa elaborata.
5- Funzione associata al pulsante ‘Ricarica dal sito’
Nel relativo Case (Case $msg = $bott_ricarica) dobbiamo semplicemente scaricare il file e
caricare il suo contenuto nell’area di testo a destra (funzione GUICtrlSetData ).
InetGet ("http://www.sito.it/pagina.php", "down.dat", 1 )
$file = FileOpen("down.dat", 0)
$news_from_sito=""
While 1
$news_from_sito = $news_from_sito & FileRead($file, 1)
If @error = -1 Then ExitLoop
31. Pagina 31
NUMERO III
Wend
$news_from_sito = StringReplace ( $news_from_sito, "<br>" , @CRLF)
GUICtrlSetData ($text_elenco_news_inserite, $news_from_sito )
6 - completamento e creazione eseguibile
Il meccanismo della cancellazione avviene in modo simile all’inserimento, cioè passando come
parametro l’identificativo della news da cancellare, poi la
pagina php si preoccuperà di cancellarla effettivamente.
Il programmino può essere poi ampliato per esempio
inserendo una password per l’utilizzo e per il passaggio di
parametri alla pagina php.
Cliccando col tasto destro sul file au3 e scegliendo
“Compile Script” viene generato in pochi Kb l’eseguibile
funzionante, forte, eh ?
Conclusioni
Le potenzialità e semplicità di AutoIt lo rende, in alcuni casi, più comodo di altri linguaggi e
relativi ambienti di sviluppo.
Consultate il sito di AutoIt, il suo forum e provate a utilizzarlo… sono sicuro che prima o poi vi
tornino utili le sue funzionalità. Date un’occhiata anche al sito dell’editor SciTe, supporta molti
linguaggi con relativi tools ed è un software veramente valido che sicuramente apprezzerete.
Se volete il codice completo del piccolo esempio fatto o maggiori informazioni non esitate a
contattarmi.
32. Pagina 32
S.p.r.i.Te. Magazine
Buon lavoro, programmatori !
INFORMATICA
Hardware: la parte di un computer che
puoi prendere a calci .[Jeff Pesis]
I computer sono incredibilmente veloci,
accurati e stupidi. Gli uomini sono
incredibilmente lenti, inaccurati e
intelligenti. Insieme sono una potenza che
supera l'immaginazione. [Albert Einstein]
I computer sono inutili, possono dare solo
risposte. [Pablo Ricasso]
Il computer non è una macchina
intelligente che aiuta le persone stupide, anzi
è una macchina stupida che funziona solo
nelle mani delle persone intelligenti.
[Umberto Eco]
Il testing non può mai rivelare l'assenza di
bug. [Edsger Wybe Dijkstra]
L'ingegnere quantistico Seth Lloyd è
convinto che l'universo sia un gigantesco
computer. Speriamo non faccia girare
Windows. (Quantum mechanic Seth Lloyd
says the universe is one giant, hackable
computer. Let's hope it's not running
Windows). [Kevin Kelly]
La disumanità del computer sta nel fatto
che, una volta programmato e messo in
funzione, si comporta in maniera
perfettamente onesta. [Isaac Asimov]
Aforismi e citazioni in libertà
tratte da wikiquote <http://it.wikiquote.org>
Mai fidarsi di un computer che non è
possibile gettare dalla finestra. [Steve
Wozniack]
Non ho paura dei computer, ma della loro
eventuale mancanza. [Isaac Asimov]
Pensare? Perché pensare! Abbiamo i
computer che lo fanno per noi. [Jean
Rostand]
Un computer ti fa fare più errori e più
velocemente di qualunque altra invenzione
dell'uomo - con l'eccezione forse delle armi da
fuoco e della tequila. [Mitch Ratcliffe]
Computer: cretino ad alta velocità in
dotazione, spesso, a cretini molto lenti.
[Stefano Benni]
Una delle principali cause della caduta
33. Pagina 33
NUMERO III
CITAZIONI VARIE
Ho smesso di fumare. Vivrò una settimana di
più e in quella settimana pioverà a dirotto.
[Woody Allen]
Il mio unico rimpianto è quello di non essere
un altro. [Woody Allen]
.Non tutto ciò che viene affrontato può
essere cambiato, ma niente può essere
cambiato finché non viene affrontato. [J. A.
Baldwin]
La banca ha fiducia in te, dicono gli slogan.
Ma poi ti chiedono i documenti per accettare
i tuoi soldi e ti prestano una biro legata a una
catenella... [Beppe grillo]
Non è che ho paura di morire. Solo che non
voglio esserci quando accadrà. [Woody
Allen]
Per anni ci hanno abituato che un politico se
aspettivo un po' diventava un pregiudicato,
ma mai il contrario, che prendi un
pregiudicato, aspetti un po' e diventa
politico...[Beppe Grillo]
La tecnologia non tiene lontano l'uomo dai
grandi problemi della natura, ma lo
costringe a studiarli più approfonditamente.
[A. de Saint-Exupéry ]
Occorre persuadere molta gente che anche lo
studio è un mestiere, e molto faticoso, con
un suo speciale tirocinio, oltre che
intellettuale, anche muscolare-nervoso: è un
processo di adattamento, è un abito
acquisito con lo sforzo, la noia e anche la
sofferenza. [Antonio Gramsci]
Il successo porta cattivi consigli. Induce
persone intelligenti a credere di non poter
sbagliare ed è una guida inaffidabile per il
futuro. [Bill Gates]
Il ragionamento matematico può essere
considerato piuttosto schematicamente come
l'esercizio di una combinazione di due
capacità, che possiamo chiamare intuizione e
ingegnosità. [A. Touring]
Non ho mai incontrato un uomo così
ignorante dal quale non abbia potuto
imparare qualcosa. [Galileo Galilei]
Se ho fatto qualche scoperta di valore, ciò è
dovuto più ad un'attenzione paziente che a
qualsiasi altro talento. [Isaac Newton]
I matematici sono come i francesi: se si parla
con loro, traducono nella loro lingua, e
diventa subito qualcosa di diverso. [J. W. Von
Goethe]
Quando ti trovi in un'altra cultura, sei
costretto a riesaminare la tua.[J. A. Baldwin]
34. Pagina 34
S.p.r.i.Te. Magazine
Era bagnato fradicio e coperto di fango e
aveva fame freddo ed era lontano 50mila
anni-luce da casa. Un sole straniero dava
una gelida luce azzurra e la gravità doppia
di quella cui era abituato, faceva d'ogni
movimento un'agonia di fatica. Ma dopo
decine di migliaia d'anni, quest'angolo di
guerra non era cambiato. Era comodo per
quelli dell'aviazione, con le loro astronavi
tirate a lucido e le loro superarmi; ma
quando si arriva al dunque, tocca ancora al
soldato di terra, alla fanteria, prendere la
posizione e tenerla, col sangue, palmo a
palmo. Come questo fottuto pianeta di una
stella mai sentita nominare finché non ce lo
avevano mandato. E adesso era suolo sacro
perché c'era arrivato anche il nemico.
Il nemico, l'unica altra razza intelligente
della galassia... crudeli schifosi, ripugnanti
mostri. Il primo contatto era avvenuto
vicino al centro della galassia, dopo la lenta
e difficile colonizzazione di qualche migliaio
di pianeti; ed era stata subito guerra; quelli
avevano cominciato a sparare senza
nemmeno tentare un accordo, una
soluzione pacifica. E adesso, pianeta per
pianeta, bisognava combattere, coi denti e
con le unghie.
Era bagnato fradicio e coperto di fango e
aveva fame, freddo e il giorno era livido e
spazzato da un vento violento che gli faceva
“La Sentinella”di Fredric Brown
male agli occhi. Ma i nemici tentavano di
infiltrarsi e ogni avamposto era vitale. Stava
all'erta, il fucile pronto.
Lontano 50mila anni-luce dalla patria, a
combattere su un mondo straniero e a
chiedersi se ce l'avrebbe mai fatta a riportare
a casa la pelle.
E allora vide uno di loro strisciare verso di lui.
Prese la mira e fece fuoco. Il nemico emise
quel verso strano, agghiacciante, che tutti loro
facevano, poi non si mosse più.
Il verso, la vista del cadavere lo fecero
rabbrividire. Molti, col passare del tempo,
s'erano abituati, non ci facevano più caso; ma
lui no.
Erano creature troppo schifose, con solo due
braccia e due gambe, quella pelle d'un bianco
nauseante e senza squame…
Fredric Brown
35. Pagina 35
NUMERO III
Postfazione al racconto
di Venturi Filippo
“La Sentinella” (Sentry, 1954) di Fredric
Brown (Usa, 1906-1972), è un racconto
brevissimo che non raggiunge le 1800 battute
(meno di una cartella), un formato narrativo
caro a Brown, che pur non ottenendo la
notorietà di Isaac Asimov, Ray Bradbury o
Philip K. Dick, è riuscito a lasciare una chiara
impronta nel campo letterario fantascientifico
(genere sottovalutato, per troppo tempo
ritenuto di serie B, ma in realtà il più prolifico
in quanto a spunti di riflessione).
Brown, sfruttando la sua buona capacità di
sintesi, riesce con poche pennellate a
rappresentare le sofferenze del protagonista, i
cui sentimenti di solitudine e sofferenza
raggiungono il lettore, creando una sorta di
empatia.
Al termine del racconto è facile raccogliere la
critica marcata dell’autore sulla guerra, tema
sempre attuale, purtroppo, e soprattutto
sull’incapacità delle persone di abbandonare il
proprio (unico) punto di vista.
Il momento in cui il lettore capisce la “presa in
giro” di Brown, prova un vago senso di
tradimento e la consapevolezza che… a volte il
nemico siamo noi.
36. Fine !
Piaciuto ?
Se hai commenti, suggerimenti, critiche sui contenuti del nostro giornalino, scrivici !!!
<sprite@sprite.csr.unibo.it>
Se hai articoli da inviare, opinioni da esprimere , inviaci o portaci in sede il tuo articolo, va bene
qualsiasi formato, valuteremo assieme sulla pubblicazione . Il tuo contributo è importante per
noi !
Hanno collaborato a questo numero:
Articoli:
Tommaso Dionigi
Alessandro Nicotra
Monia Mosconi
Luca Benini
Filippo Venturi
Elvis Ciotti
Interviste:
Prof. Luciano Margara
Prof. Gianluigi Zavattaro
Impaginazione e grafica: Elvis Ciotti, Tommaso Dionigi
Articolo introduttivo : Tommaso Dionigi
Foto in copertina: Filippo de Santis
Associazione
S.p.r.i.Te.
Via sacchi 3, Cesena(FC)
Tel. 0547 338842
http://sprite.csr.unibo.it
Ti ricordiamo che i rappresentanti degli studenti hanno messo a
disposizione un forum, dove trovi e puoi chiedere informazioni
riguardanti lo studio, il corso di laurea, studio all’estero, lavoro.. ecc.
http://rappresentanti.csr.unibo.it/forum/