SPRITe magazine n.3

  • 313 views
Uploaded on

 

More in: Internet
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
313
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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, "&" , "&amp;") $news_inserita = StringReplace ( $news_inserita, "<" , "&lt;") $news_inserita = StringReplace ( $news_inserita, ">" , "&gt;"$news_inserita = StringReplace ( $news_inserita, "?" , "?") $news_inserita = StringReplace ( $news_inserita, "€" , "&euro;") $news_inserita = StringReplace ( $news_inserita, "°" , "&deg;") $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/