sabato 30 maggio 2009

Corso IACS: Lezione 11 - (28/05/09)


L'undicesima lezione del Corso di Informatica Applicata alla Comunicazione Scritta è stata divisa in due parti: una parte di laboratorio con il prof. Astaneh e una parte con il dott. G. Pini che ha tenuto una conferenza sulle Google Apps.In laboratorio sono stati introdotti altri concetti relativi all'uso del Framework Ext Js. Per quanto riguarda il caricamento di pagine web esterne o locali si sono prese in considerazione le librerie ext-basex e miframe, scaricabili dal sito KadiTeam. Successivamente si è analizzato il concetto di MVC, ossia di model view controller, il modello di sviluppo di applicazioni che mira a separare le componenti di logica(M), presentazione(V) e controllo(C). MVC suddivide logicamente un'applicazione in tre parti:
  • Model = la rappresentazione logica specifica dei dati su cui opera un’applicazione. Cioè aggiunge significato ai semplici dati. Detto anche domain logic/layer o business logic/layer;

  • View = presenta il Model in una forma adatta all’interazione. Tipicamente una user interface;

  • Controller= risponde agli eventi, tipicamente generati dagliutenti. Invoca cambiamenti di stato del Model e indirizza la View.
Nel caso del Framework utilizzato il Model corrisponde al DataStore, il Controller all'Handler e il View al Render.
Occorre quindi approfondire questi aspetti e iniziare a vedere gli oggetti: Menu, Toolbar, Grid, Button, Combobox.


La conferenza sulle Google Apps è stata invece tenuta dal Dott. Gianferrari Pini della Praxis Calcolo, società d'Ingegneria dell'Informazione. Il prof. Degli Antoni lo ha descritto come un evangelista di Google ed ha precisato che lo scopo politico di tutto ciò è quello di costringere Google ad aprire un centro di ricerca in Italia.
Praxis Calcolo ha deciso di intraprendere una partnership con Google per poter utilizzare i suoi servizi ed esportarli sia al mondo consumer sia a quello business.
G. Pini ha descritto tutti i servizi che Google mette a disposizione e ha introdotto il concetto di Cloud Computing, che rivoluzionerà l'intero mondo informatico. Ha voluto sottolineare l'importanza di Google nel favorire una maggior produttività e sviluppo alle aziende, descrivendo le varie tecnologie utilizzate e facendo vedere anche con degli esempi pratici alcune demo online per la realizzazione di web application.
L'intera conferenza è stata ripresa tramite WebTv e la versione originale in PDF è disponibile QUI.

Marco Ruberto

domenica 24 maggio 2009

DNA Computing

Il DNA Computing è un modello di calcolo proposto nel 1994 dal matematico Leonard Adleman che prevede l'utilizzo di molecole di DNA, al posto del silicio, da parte dei computer.
Calcolare significa passare da dati iniziali a risultati finali che soddisfino certe condizioni risolutive, ma dati e risultati sono sempre esprimibili con "parole" in un qualche linguaggio di rappresentazione dell'universo in cui si opera. Le molecole di DNA si possono assimilare a parole doppie, costruite a partire da quattro simboli: A,T,C,G che sono le basi azotate. Quindi calcolare con il DNA significa sviluppare calcoli su parole di DNA, ovvero stringhe costruite sulle quattro lettere A,T,C,G.
I componenti di questo tipo di architettura sono quindi gli enzimi, che svolgono il ruolo di hardware, e il DNA, che costituisce il software.
Tutto questo è stato messo in pratica da un esperimento ideato nel 1994 dallo scienziato Adleman, che riuscì a risolvere un semplice algoritmo.
Qualora tale tecnologia si rivelasse corretta e usabile, si potranno avere computer dalla potenza di calcolo inimmaginabile e dai consumi minimi e questo consentirà di sviluppare forse tutti quei campi che oggi procedono molto lentamente, come l'intelligenza artificiale, le nanotecnologie molecolari autorigeneranti e i biochip impiantabili nel corpo umano.
Per concludere, il DNA Computing, dalla soluzione in provetta di problemi combinatori, agli algoritmi biomolecolari, alla analisi computazionale di protocolli biomolecolari e fenomeni genetici, fino agli automi DNA, apre scenari di grande interesse sia teorico che applicativo, mostrando possibilità sperimentali del tutto imprevedibili per l’informatica e nuovi strumenti informatici e matematici al servizio della biologia.

Marco Ruberto

sabato 23 maggio 2009

eBook: un nuovo modo per leggere


Gli eBooks, ossia electronic books, sono dei libri in formato digitale. Con questo termine si indica sia il dispositivo con cui il libro può essere letto, sia la conversione in digitale di un testo. Nel primo caso, il dispositivo è chiamato eBook Reading Device. Questo possiede delle caratteristiche tali da poter essere usato in maniera analoga a quella di un libro cartaceo, come per esempio l'essere dotato di una fonte autonoma di energia, garantire la giusta illuminazione per una facile lettura o avere dimensioni e peso simili a quelle di un libro stampato. Queste specifiche caratteristiche escludono quindi i normali computer, che sarebbero anch'essi in grado di permettere la lettura di un eBook; i dispositivi hardware usati principalmente per questo scopo sono invece i Tablet Pc, i palmari o tutti quei lettori dedicati che possiedono i requisiti.
Ovviamente per l'eBook non è necessario solo l'hardware, ma anche il software e quindi particolari componenti:
  • il documento elettronico di partenza;
  • l'eBook Format che è il formato per la conversione in digitale;
  • l'eBook Reader che è il programma in grado di interpretare il formato e permetterne la lettura.
L'eBook, a differenza di qualsiasi documento elettronico, non si limita a presentare la sostanza del documento cartaceo ma cerca anche di replicarne la forma, in modo da rendere la lettura il più possibile simile a quella che si avrebbe sfogliando le pagine di un libro. Per questo è necessario che il software sia in grado di emulare tutte queste azioni, come appunto lo scorrere le pagine o l'inserimento di un segnalibro. Oltre a queste funzioni, l'eBook ne aggiunge molte altre, come la possibilità di trasformare il testo in ipertesto, di inglobare elementi multimediali e di intergrare nello stesso dispositivo una quantità enorme di libri.
I tre principali formati di eBook sono:
  • testuali: sono quelli più utilizzati e possono riguardare sia quei formati appositamente ideati per gli eBook, come il PDF, sia quelli non appositamente ideati per gli eBook, come RTF o DOC;
  • immagini: sono i più semplici visto che permettono di associare ad ogni pagina di un libro l'immagine digitale corrispondente nei formati più utilizzati come JPG, BMP, ecc;
  • audio: sono conversioni in digitale di testi letti da una voce umana o computerizzata e comprendono formati come MP3, OGG, WAV, ecc.
Uno dei problemi principali consiste nella mancanza di una standardizzazione di tutti questi formati. Il mercato degli eBook è ancora relativamente giovane e infatti le aziende del settore, non trovando un accordo, si indirizzano verso formati proprietari, che limitano le scelte dell'utente finale, tenendolo legato a specifici hardware e software. La soluzione potrebbe consistere nel produrre dei software in grado di convertire e interpretare tutti questi formati, oppure, molto semplicemente, di imporre alle aziende la creazione di eBook in formati leggibili da qualsiasi dispositivo.
Concludendo si può dire che tali dispositivi saranno parte del nostro futuro, verranno condivisi da chiunque grazie a Internet e faciliteranno qualsiasi tipo di lettura e di istruzione, permettendo, si spera, di rompere le barriere dell'ignoranza e dell'analfabetismo.

Marco Ruberto

giovedì 21 maggio 2009

Corso IACS: Lezione 10 - (21/05/09)

Nella decima lezione del corso di Informatica applicata alla Comunicazione Scritta, oltre al solito lavoro da svolgere in laboratorio, il prof. Degli Antoni ha presentato Andrea Nastasi, uno studente che ha illustrato e descritto alcuni tool tecnologici per la didattica in-line.
Il primo tool è stato il tablet-pc: è un computer portatile, con capacità superiori, che si può ripiegare come se fosse una tavoletta e che, grazie alla presenza di un sensore digitalizzato, permette di scrivere a mano sullo schermo attraverso una speciale penna stilo o tramite le dita.
Il tablet-pc illustrato includeva inoltre una tastiera tradizionale e per questo viene chiamato ibrido, a differenza dei tablet-pc puri che sono composti solo da un monitor LCD.
Sono stati mostrati due software che permettono di sfruttare al massimo le funzioni dei tablet-pc:
  • Corel Grafigo: è un programma che permette di scrivere su un foglio virtuale qualsiasi cosa con la funzione di riconoscimento automatico delle forme e del testo. Basta infatti disegnare ad esempio un quadrato e il programma lo riconoscerà come forma geometrica perfetta. Per quanto riguarda il testo si può scegliere se utilizzare la tastiera virtuale, o il riconoscimento automatico; quest'ultimo è davvero molto potente, visto che è in grado di riconoscere anche la propria calligrafia se viene allenato a questo scopo. Ci sono numerose altre funzioni, come la selezione, la gestione dei grafici o il grab, che permette di ritagliare qualsiasi parte del desktop e di gestirla.
  • InkSeine: è un'applicazione sviluppata da Microsoft Research che permette di gestire i dati. Esso e' infatti un software di scrittura manuale per tablet PC che permette di prendere appunti, disegnare, ed accedere alle principali funzioni impugnando una penna. Rappresenta una rivoluzione per quanto riguarda la scrittura manuale; il suo nome è composto da "ink", inchiostro, e "seine", andare a pesca con la rete, ma si pronuncia come "insane", pazzo. L'intero software è stato progettato affinché tutte le funzioni siano accessibili direttamente interagendo con la penna sul display. Ad esempio, è presente una funzione di ricerca integrata che permette di cerchiare la parola o la frase da cercare senza dover fare ricorso ad una tastiera, sia pure virtuale. Un menù a comparsa permette di scegliere se si preferisce effettuare la ricerca sul Web, sui file locali o all'interno delle proprie e-mail. I risultati potranno essere trascinati sul documento dove verranno visualizzati come icone, pronti ad essere aperti in caso di necessità. Gli screenshot di una pagina Web o di un documento Office potranno essere inseriti come link, risolvendo anche il problema di come importare i collegamenti negli appunti. Una serie di tasti posizionati sul fondo dell'interfaccia permette di sfogliare le pagine degli appunti.

Il secondo tool presentato è stato Tablo: è uno strumento tecnologico composto da una penna e da un ricevitore in grado di percepire i movimenti dello stilo e tradurli in scrittura. Qualsiasi movimento eseguito dalla penna sullo schermo viene percepito dal sensore, che simula l’interfaccia touch screen. Esso è compatibile con tutti i programmi di Microsoft, Corel e Adobe.
Rappresenta quindi una valida alternativa all’acquisto di un nuovo Tablet PC anche perché è molto contenuto nelle dimensioni e molto elegante e discreto.


Tutti questi strumenti androidi, nati da idee sviluppate da Steve Jobs, sono in grado di cambiare radicalmente la società, e più nello specifico, anche il modo di fare lezione, ecco perchè sono definiti tool per la didattica in-line.
Degli Antoni ha inoltre sottolineato che la gestione dei dati, che è lo scopo principale dei programmi illustrati, è organizzata ad oggetti. Questo tipo di struttura è stata inventata dall'aereonautica americana che aveva la necessità di gestire l'enorme numero di disegni che descrivevano le varie parti di cui sono composti gli aerei. Ecco quindi come si è arrivati all'Object-Oriented, che permette di associare a ciascun documento gli strumenti che lo usano. Da qui questo paradigma è stato utilizzato anche dai linguaggi di programmazione permettendo di raggruppare in un'unica entità sia le strutture dati che le procedure che operano su di esse, creando per l'appunto un oggetto dotato di proprietà e metodi.
Si è poi parlato di Green-Computing, ossia l'informatica verde, che cerca di muoversi verso il risparmio energetico, portandosi con sè anche il mercato del lavoro. Così come c'è bisogno di una didattica innovativa, anche le aziende sentono la necessità di un cambiamento e quindi di ridurre i consumi. Solo negli USA il 30% dei consumi deriva dai computer. Le soluzioni potrebbero essere molte: sviluppare il concetto di Cloud-Computing oppure cercare di progettare delle interfacce immediate, cioè delle interfacce per software, che permettono all'utente di raggiungere il proprio obbiettivo nel minor tempo possibile e quindi risparmiare tempo e energia.
Degli Antoni ha spiegato poi una nuova forma di comunicazione da lui adottata: RapId, un tipo di comunicazione rapida e di facile comprensione, per via della sua forma indentata. Analizzando il termine si distinguono infatti due concetti: Rap, come il genere musicale e Id, come identificatore.
Attraverso questa forma di comuniczione si dovrà realizzare il progetto finale per l'esame, ossia la sua presentazione in forma sintetica e leggibile. Per quanto riguarda l'esame bisogna infatti realizzare un progetto, aver capito il senso del corso, aver fatto tutti gli esercizi e aver compreso gli appunti del prof. Il progetto dovrà avere un particolare stile e possedere una presentazione chiara che sarà indipendente dal progetto stesso e sarà presente nel blog, nel sito e su carta.
Ricapitolando gli esercizi da svolgere sono:
  • rileggere gli appunti del prof. Degli Antoni;
  • realizzare una rassegna sui libri elettronici;
  • comprendere il concetto di DNA-computing;
  • rileggere le proposte per la Free Wiki University, inviarle al prof.
Per quanto riguarda la parte di laboratorio tenuta dal prof. Astaneh sono state studiate altre funzioni più specifiche del Framework Ext Js. Bisognava creare all'interno del viewport un menù ad albero e implementare la funzione di creazione di tab associata al click su ogni elemento del menù.

Marco Ruberto

giovedì 14 maggio 2009

Corso IACS: Lezione 9 - (14/05/09)

La nona lezione del corso di Informatica applicata alla Comunicazione Scritta si è svolta interamente in laboratorio e quindi sotto la guida del prof. Astaneh.
Il primo esercizio da svolgere consisteva nel creare, in Javascript, un oggetto che rappresentasse il Browser contenente altri quattro oggetti che identificassero le quattro regioni in cui era divisa la pagina (header,left,main,footer). Prima di svolgere tale compito è stata anche ri-esaminata la sintassi di javascript per la creazione di oggetti.
Successivamente si sono analizzati i concetti di "Panel" e di "Framework". I panels sono oggetti che vanno a riempire lo schermo, sono quindi dei container che hanno una posizione fissa. Il Framework che utilizzeremo sarà Ext Js, il quale è utile per realizzare GUI complesse per web application, creare pagine con layout avanzati, agganciare funzionalità AJAX di aggiornamento per le nostre interfacce, creare moduli wizard o textarea, agganciare le nostre web application a ulteriori strumenti e molto altro.



Sul sito ufficiale di Ext è possibile scaricare tutte le librerie necessarie ed inoltre è possibile imparare ad usare questo framework, grazie a dei tutorial, a degli esempi e alla documentazione.
I requisiti consigliati sono quelli relativi alla conoscenza di HTML, Javascript e DOM.
Iniziamo ad osservare come si presenta il template di inizio:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css">
<script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext/ext-all-debug.js"></script>
<title id="page-title">Title</title>
<script type="text/javascript">
Ext.BLANK_IMAGE_URL = 'ext/resources/images/default/s.gif';
Ext.onReady(function() {
// Scrivere qui il codice
});
</script>
</head>
<body></body>
</html>

Come si può vedere, il codice html contiene lo stretto necessario e il body è addirittura vuoto. Nello head sono presenti gli script per l'importazione delle librerie, disposte secondo un certo ordine, visto che quest'ultimo è da ritenere molto importante quando si scrive in javascript. La funzione principale è Ext.onReady, che viene chiamata automaticamente non appena il dom finisce di essere caricato, garantendo che tutti gli elementi della pagina che si referenziano, saranno disponibili al momento dell'esecuzione dello script.
Con il seguente codice:

Ext.onReady(function() {
var myDiv = Ext.get('myDiv');
});

si riesce invece ad avere il controllo di un elemento presente all'interno della pagina, in questo caso un div con id="myDiv".
Attraverso quest'altro codice:

Ext.get(document.body).update('<div id="test"></div>');
new Ext.Panel({
renderTo: 'test',
width: '200px',
title: 'My Title',
html: 'My HTML content',
collapsible: true
});

si riesce invece a creare un pannello come questo:

Per creare un elemento si possono usare tre tipi di modelli:
  • statico: creo un elemento (es. div) all'interno del body e lo manipolo richiamandolo attraverso il suo id;
  • dinamico per aggiornamento: Ext.get(document.body).update('<div id="test"></div>'); In questo modo si crea un div semplicemente aggiornando (update) il body;
  • dinamico con viewport: si crea un viewport, i cui items saranno gli elementi da creare.
L'esercizio da svolgere è appunto quello di costruire il nostro viewport, che sarà il nostro contenitore principale. Esso infatti renderizza il body.


Il viewport creato ha cinque regioni: North, West, Center, East, South. Queste dovranno contenere le informazioni che stiamo creando, come ad esempio il Blog, il sito internet, ecc.
Ext js permette di creare infinite configurazioni e layout, quindi si dovrà perfezionare il viewport in base alle nostre necessità. Nelle lezioni successive verranno approfonditi ulteriori aspetti di questo framework.

Marco Ruberto

lunedì 11 maggio 2009

DHTML e DOM


Il DHTML (Dynamic HTML) è un insieme di tecnologie che lavorano insieme per generare un'interfaccia interattiva: esso utilizza normali elementi HTML per creare una pagina Web che si basa sui fogli di stile per la formattazione degli elementi e sullo scripting per modificare dinamicamente il contenuto HTML, lo stile o la posizione, senza dover caricare nuovamente la pagina dal server.
Per funzionare, DHTML richiede che i browser Web supportino le seguenti tecnologie:
  • HTML
  • CSS
  • Scripting (Javascript)
DHTML si basa sul DOM (Document Object Model), per identificare, creare e manipolare, attraverso degli script, gli elementi in una pagina Web, e sulla gestione degli eventi per tenere traccia delle azioni del browser Web e dell'utente.
Il DOM è il modello a oggetti del documento, cioè un modello che descrive come i diversi oggetti di una pagina sono collegati tra loro. Dalla definizione presa su HTML.it, il DOM è un'API (Interfaccia per la programmazione di applicazioni), indipendente dalla piattaforma (quindi anche dal tipo di browser), che descrive la struttura di un documento HTML (e XML), con il quale i costruttori di pagine Web possono accedere e manipolare tutti gli elementi della pagina stessa.
Attraverso il DOM, una pagina Web assume una struttura gerarchica costituita da nodi, i quali possono avere attributi e proprietà.
Per esempio:

<html>
<head>
<title>Titolo Pagina</title>
<head>
<body>
<p>Testo del paragrafo</p>
</body>
</html>



In una pagina Web il "document" è l'elemento più importante, perchè contiene tutti gli altri elementi del DOM; esso non rappresenta un particolare tag html, ma bensì tutto il codice presente nella pagina ed è quindi il root, la radice, dell'albero gerarchico.
Essendo il "document" un oggetto, si può dire che possiede dei metodi:
  • quelli che si occupano di recuperare gli elementi nella pagina;
  • quelli che permettono di creare nuovi elementi.
Nel primo caso si hanno i seguenti metodi:
  • getElementById(id_name) = permette di recuperare un elemento mediante il nome del suo identificativo;
  • getElementByTagName(tag_name) = permette di recuperare l'insieme degli elementi caratterizzati dallo stesso tag e ritorna un array contenente tutti gli elementi del tag considerato, nell'ordine in cui compaiono nel codice.
Nel secondo caso si hanno i seguenti metodi:
  • createElement(tag_name) = permette di creare un qualsiasi tipo di elemento;
  • createTextNode(text) = permette di creare un nodo di testo, che non può contenere altri nodi, né avere attributi.
Marco Ruberto

domenica 10 maggio 2009

L'animazione dei cartoon diventa sempre più realistica

Probabilmente, la più grande innovazione nel mondo dei cartoni animati avvenuta dopo la morte di Disney è quella che ha catalizzato l’incontro tra fogli di carta e personal computer, tra pixel e matite.
Negli anni ‘80, infatti, la Disney strinse un accordo con la Pixar, azienda che produceva cortometraggi di qualità al computer.
Pur correndo alcuni rischi, nel 1995, la Walt Disney & Pixar presentò il primo lungometraggio di animazione interamente realizzato al computer: “Toy Story”, i cui protagonisti erano un cowboy di pezza e un astronauta, entrambi giocattolo. La creazione di questi personaggi ebbe un significato ben preciso, in quanto l’animazione al computer puntava al realismo assoluto, ma aveva, ed ha tutt’ora, il suo più grande limite nel creare un essere umano credibile, sia nell’aspetto che nei movimenti. Per questo motivo la computer grafica cercò di concentrarsi su oggetti in movimento e creature fantastiche. Quando la Pixar iniziò a lavorare al progetto di “Toy Story” lo fece più come una sfida che come investimento. Gli animatori crearono superfici di plastica lucente, composte tutte di linee e forme regolari. Il procedimento iniziale era quello di un normale film d’animazione bidimensionale, così, i disegnatori, armati di carta e penna, disegnavano i primi bozzetti. Una volta definito il personaggio su carta, esso veniva riprodotto in un modellino di plastilina, passaggio estremamente importante, se non fondamentale, per poi ricrearlo al computer. Una volta creati i disegni e le sculture dei personaggi, essi vennero trasportati dal mondo reale a quello dei computer, e diedero inizio al lavoro dell’Animation department.

Per questo dipartimento vi erano due possibili “soluzioni di trasporto” dei personaggi dal reale al virtuale, il primo tra questi consisteva nello scansionare la scultura con una penna ottica, ottenendo un disegno tridimensionale della stessa, il secondo era un programma di computer sculpting, che permetteva di creare il modello del personaggio direttamente al computer. Si otteneva così una prima versione digitale del personaggio, immobile. Uno degli step più complicati per gli animatori fu poi la creazione delle articolazioni. Si trattava di stabilire i movimenti dei singoli personaggi animati, ma anche degli oggetti inanimati, che venivano trattati come delle marionette.
A differenza dell’animazione tradizionale, la quale in genere relegava l’espressione dei sentimenti alla sola zona facciale, la computer animation cercò di rendere con tutto il corpo l’espressione dello stato d’animo dei personaggi. Il viso, in particolare, si rivelò la parte più difficile da animare in quanto constava di un unico muscolo privo di “punti di appiglio”, a differenza delle articolazioni. Il passo successivo fu la lavorazione dei personaggi in base ai dialoghi. Vennero opportunamente preparati degli storyboard per ogni singola inquadratura, e vennero ascoltate più volte le voci registrate. Lo stile dell’animazione dipendeva da ogni singolo animatore, alcuni di essi lavoravano ad esempio attraverso studi di animazione in stop-motion, attraverso lo studio dei pupazzi, che consentiva loro un notevole vantaggio in termini di analogia, avendo a disposizione degli strumenti fisici da digitalizzare.
Ad ogni modo, “Toy Story” ebbe un successo così enorme da riuscire a dar vita ad un vero e proprio filone di realizzazioni cinematografiche in 3D, e sicuramente la percezione rispetto all’animazione digitale non rispecchia più quella dedicata, nel passato, all’animazione tradizionale.
Ecco quindi come si è arrivati a creare una nuova era dell'animazione.
Ma grazie allo sviluppo delle tecnologie e alle nuove idee di progettisti designer si riusciranno a creare sempre più ambienti diversi e innovativi.
Basta vedere come stanno prendendo piede i cinema che permettono una visione tridimensionale di un film, attraverso determinate attrezzature che producono una visione stereoscopica delle immagini. Si potrebbero aggiungere, a questo, anche effetti che coinvolgono altri sensi, come l'olfatto e il tatto. Anche l'audio ha subito un miglioramento in questo settore. Un'altra novità potrebbe consistere nel permettere all'utente di identificarsi con un personaggio presente nel cartone animato e osservare lo svolgersi della storia dal suo punto di vista, oppure creare nuove forme di interazione tra gli spettatori e il film. Si può dire che lo sviluppo di tutte queste tecniche cinematografiche ha reso la finzione sempre più realistica, ma è anche vero che, forse, non sarà mai possibile fare combaciare quest'ultima con la realtà e, proprio per quanto riguarda i cartoni animati, questo non è altro che un aspetto positivo, perchè permette ad un bambino di non confondere i due mondi e di sviluppare la propria immaginazione.

Marco Ruberto

Fonti: http://www.sindromedistendhal.com/Cinema/storia_cartoni_animazione.htm

Il problema dei parcheggi

Trovare parcheggio è sempre stato un problema comune a tutti, che fa perdere tempo e pazienza. I cittadini delle grandi metropoli sono sempre più stressati proprio a causa di non riuscire a trovare un posto libero, magari anche dopo essersi fatti ore di traffico. Negli ultimi anni il numero di automobili è aumentato, ma lo spazio disponibile per queste è invece rimasto più o meno lo stesso, se non addirittura diminuito, per via delle continue costruzioni di fabbricati ed inoltre l'inquinamento, sia urbano che atmosferico, è aumentato. La tecnologia è comunque in continuo sviluppo per quanto riguarda il settore automobilistico: per esempio, si stanno scoprendo nuove fonti di energia, che favorirebbero un minor impatto ambientale. Esistono già automobili in grado di funzionare grazie alla luce solare o a gas biologici, ma nonostante questo i mezzi di trasporto avrebbero lo stesso un ingombro, a meno che non si inventassero delle macchine in grado di sgonfiarsi come dei palloncini.
Una possibile soluzione al problema dei posteggi potrebbe essere quella di riuscire ad integrare nel sistema satellitare dei navigatori un software, ad alta precisione, in grado di rilevare i parcheggi liberi. In questi anni i navigatori hanno raggiunto livelli di affidabilità davvero notevoli, ma comunque risulterebbe insufficiente il livello di precisione e velocità di aggiornamento delle mappe per poter realizzare il progetto ipotizzato prima. Forse questo inconveniente verrà risolto nei prossimi anni, mesi o settimane, visto il velocissimo sviluppo della tecnologia. Tuttora è già possibile visualizzare sulla mappa i cosiddetti POI (Point Of Interest), ossia qualsiasi tipo di struttura, come anche i parcheggi; quindi già ora si potrebbe per esempio visualizzare affianco all'icona che segnala un posteggio, anche il numero di posti liberi presenti al suo interno. Per far questo, ciascun parcheggio dovrebbe essere in grado di collegarsi ai satelliti e di trasmettere informazioni relative alle zone di sosta libere. In futuro forse si riuscirà a rendere tutto questo molto più preciso, permettendo di avere una visione più completa e addirittura tridimensionale dell'interno di un parcheggio. Le aziende che producono navigatori satellitari potrebbero, a tal proposito, utilizzare le mappe fornite da Google e quindi avere la possibilità di fornire ai propri clienti delle visioni realistiche, anche grazie al nuovo sistema Stree View, delle strade e moltissimi altri servizi. Ovviamente per questo occorrerebbe una connessione ad internet, ma questo non costituisce un problema, visto che tale servizio viene già offerto dalle compagnie telefoniche e dalla rete Wi-Fi.
Senza però fantasticare troppo, si riuscirebbero a trovare numerose altre soluzioni al problema dei parcheggi: si potrebbero, ad esempio, ottimizzare gli spazi già esistenti, favorendo i posteggi a lisca di pesce, piuttosto che quelli in file orizzontali; oppure si potrebbero costruire dei tunnel sotterranei, simili a quelli delle metropolitane, al di sotto delle città.
Concludendo si potrebbe anche dire che, se i servizi di trasporto venissero aumentati e migliorati, soprattutto nelle grandi città, molte persone li utilizzerebbero molto più spesso, riducendo il loro stress, l'ingombro di spazio urbano e favorendo anche una riduzione dell'inquinamento atmosferico.

Marco Ruberto

giovedì 7 maggio 2009

Corso IACS: Lezione 8 - (07/05/09)

Nell'ottava lezione di Informatica Applicata alla Comunicazione Scritta, il prof. Degli Antoni ha, inizialmente, ripetuto alcuni compiti della lezione precedente: guardare il sito KadiTeam, cercare un'azienda per cui costruire un sito, leggere il materiale inviato dai dirigenti a ciascun gruppo.
Così come nei dottorati di ricerca, in cui si studiano cose che nessuno ancora conosce, anche noi con la nostra community stiamo procedendo in questo modo, cercando di annullare le differenze tra docenti e studenti, visto che, per le materie di cui si ha interesse, le conoscenze sono le stesse per tutti; si è precisato, inoltre, che lo scopo di questo corso è l'acquisizione dell'autonomia.
Dopo questa breve premessa, Degli Antoni ha iniziato la vera lezione assegnandole una prospettiva cronologica, per descrivere l'evoluzione tecnologica nel tempo. Prima, infatti, i computer erano rarissimi, enormi, fragili e avevano una potenza minima; ricevere una mail, era una cosa mostruosa e impensabile. L'informatica, quando è arrivata, si è adagiata su i sistemi che già esistevano, si è sovrapposta alle attività umane: se prima si aveva una visione solo in bianco e nero, ora con l'avvento dell'informatica si ha una visione a colori. I sistemi sono quelli delle fabbriche, delle associazioni, delle famiglie, ecc, questi esistono da tempo, ma nel tempo subiscono dei cambiamenti. Ad esempio Henry Ford aveva definito il processo della catena di montaggio agli inizi del '900 per le fabbriche di automobili, ma nel 1968, a seguito di varie proteste da parte di operai e studenti, tale processo venne ridefinito come isola di montaggio, in cui si poteva lavorare insieme per produrre un prodotto finito, come un'auto, eliminando la sensazione di alienazione per gli operai.
Ora si sta vivendo nell'epoca dell'applicazione automatica, che prevede la sostituzione dell'uomo con delle macchine, per qualsiasi attività e che ha, tra le sue operazioni, il "design for automation", cioè la progettazione di strutture automatiche che andranno a produrre determinati prodotti. Questo fa pensare che non è più sufficiente essere dei sempici programmatori informatici, ma bisogna avere ulteriori capacità, come quelle di progettisti, sviluppatori e designer.
Il problema fondamentale dell'informatizzazione è quello di capire come definire il "controllo dei processi".
L'informatica è il rapporto tra le infrastrutture e l'uomo ed, insieme all'elettronica, ha il compito di controllare i processi. Occorre saper definire e controllare con precisione i vari processi e saper definire anche delle interfacce per l'uomo, che è presente nel processo di automazione.

Si sono analizzate poi le leggi di Moore.
  1. Le prestazioni dei processori, e il numero di transistor ad esso relativo, raddoppiano ogni 18 mesi.
  2. Il costo delle apparecchiature per fabbricare semiconduttori raddoppia ogni quattro anni


Con la prima legge Moore sosteneva che ogni 18 mesi, le prestazioni degli elaboratori raddoppiavano: la complessità e la velocità aumentano e il costo diminuisce. Oggi esistono circuiti potentissimi, che funzionano in nanosecondi e hanno delle dimensioni estremamente microscopiche; basti pensare alle chiavette usb che hanno raggiunto dimensioni di memorizzazione enormi, che permetterebbero di avere l'intera letteratura nella propria tasca. Si sta procedendo quindi verso l'integrazione e la miniaturizzazione dei circuiti e all'aumento delle loro prestazioni, ma si va incontro ad un grosso problema, ossia la crescita esponenziale del costo degli impianti. Questi sono infatti molto costosi e per realizzarli sono necessari parecchi anni, inoltre giocano un ruolo molto importante per l'economia del paese che li ospita: se un impianto fallisce, fallisce anche il paese. C'è molta competizione e se non si hanno le giuste capacità di adattamento e aggiornamento verso le nuove tecnologie, si rischia di uscire dal mercato.
I nuovi paradigmi sono:
  • disappearing computer: i computer evolveranno progressivamente in qualcosa di assai meno identificabile rispetto ad oggi, e il concetto stesso di computer si farà più vago e sfumato. I calcolatori finiranno per essere così piccoli da essere ovunque, così pervasivi da accompagnarci in ogni passo della nostra vita, così discreti da lavorare dietro le quinte;
  • everywhere computer: display flessibili, sistemi microelettromeccanici in formato francobollo, dei chip capaci di archiviare terabyte di dati e dei computer in grado di funzionare attraverso sistemi di alimentazione autonomi e indipendenti dalla linea elettrica o dalle batterie saranno ovunque.
Gli esercizi assegnati sono:
  • trovare una possibile soluzione al problema dei posteggi;
  • possibili sviluppi attorno ai prodotti di Walt-Disney e Pixel.
La lezione del prof. Astaneh riguardava, invece, l'interazione tra html e javascript.
Bisogna prima di tutto definire il contenitore, il quale deve avere solo 4 regioni che saranno popolate successivamente mediante degli appositi generatori di contenuti.


Il contenitore sarà, in html, il body, mentre le quattro regioni saranno identificate mediante dei tag div. Per avere la certezza che tutto quello che contiene una regione sarà quello che verrà visualizzato a schermo, è necessario settare i margini a zero.
Ecco il codice html:

<html>
<head>
</head>
<body>
<div id="preload"> </div>
<div id="box">

<div id="header"></div>
<div id="left"></div>
<div id="main" ></div>
<div id="footer"></script></div>
</div>
</body>
</html>

Come si può notare è presente, oltre al div box che contiene tutte le 4 regioni, anche un div preload, che definiremo in seguito e che servirà a caricare tutti i contenuti prima di visualizzare la pagina. Se è visibile il div preload, allora il div box sarà nascosto e, viceversa, se è visibile il box, sarà nascosto il preload. Abbiamo questa struttura ad albero:

Per poter raggiungere un determinato div si dovrebbe scorrere lungo tutta la struttura ad albero fino a raggiungerlo, ma questo ormai non è più conveniente, perchè è stato introdotto l'attributo "id", che è univoco, da assegnare ad un tag html. In questo modo sarà possibile lavorare su quel tag usando ad esempio i css o javascript.
Quando il browser carica la pagina, prende il controllo dell'oggetto "document", il quale ha diversi attributi e metodi. Si parla appunto di DOM, Document Object Model, ossia modello a oggetti del documento.
Per avere il controllo dinamico ad esempio dell'elemento head, si dovrebbe scrivere così:

var h=document.getElementById("header");
h.innerHTML=".....................";

In questo modo si assegna alla variabile oggetto h il puntatore che indirizza al div header e attraverso l'attributo innerHTML si può popolare il suo contenuto; si è quindi creato un generatore di informazioni.
Si vedrà in seguito come inserire dei pannelli, attraverso l'importazione di alcune librerie.

Marco Ruberto