Category: Open Source

Un Centro di Competenza Italiano per l’Open Source

E’ stato siglato tra il Ministero per la Pubblica Amministrazione e l’Innovazione e la società Engineering spa un Protocollo di intesa per la realizzazione di un Centro di Competenza sul software open source per la Pubblica Amministrazione.

Nel comunicato del governo è scritto “Le soluzioni open source possono favorire l’accesso ai servizi pubblici, la trasparenza, la semplificazione dei processi, nonché la cooperazione tra amministrazioni.”

Le attività saranno focalizzate all’inizio sui settori della scuola, dell’università, delle applicazioni per piccoli comuni e delle soluzioni per la e-Democracy.

Il progetto sarà portato avanti in collaborazione tra Ministero, Engineering e quattro università (Libera Università di Bolzano, Politecnico di Milano, Statale di Milano e Università del Sannio) e sarà raccordato con il progetto europeo Qualipso “Quality platform for open source software”.

Il Centro di Competenze, che ha da poco attivato anche il sito, e opererà come aggregatore di risorse in progetti di ricerca e innovazione, offrirà i seguenti servizi:

  1. Consulenza e supporto sulle tecniche e la gestione di soluzioni Open Source ;
  2. Servizi per la misurazione della qualità di prodotto e processo sottostante lo sviluppo di progetti Open Source
  3. Formazione sui temi più significativi legati all’Open Source con particolare enfasi ai processi di governance e gestione dei processi di misurazione della Qualità
  4. Sensibilizzazione e promozione nell’adozione delle soluzioni Open Source attraverso azioni di divulgazione presso scuole ed università per sensibilizzare la base dei futuri utenti circa l’’importanza dell’adozione dell’Open Source e sui vantaggi che questo offre.

Una libreria per R e il software diventa per tutti

In numerosi post SegnalazionIT ha analizzato il sempre più diffuso utilizzo del software open-source R nell’analisi dei dati e in diversi settori lavorativi.Dal mio modesto punto di vista trovo che la possibilità di acquisire un prodotto così innovativo a costo zero rappresenti, sopratutto per le imprese di piccole dimensioni, una grande opportunità. Non essendo una statistica o un’informartica ho sempre  pensato però che l’utilizzo di R fosse riservato ad una utenza esperta di linguaggi informatici o in grado di saper gestire formule matematiche complesse, ed effettivamente sono queste le competenze che potrebbero meglio sfruttare il software. In ogni caso, in occasione di un lavoro di analisi multivariata realizzato in EURES, ho avuto la possibilità di sperimentare un utilizzo di R meno impegnativo e di facile acquisizione.

Tutto questo grazie all’installazione della Library Rcmdr e dei suoi plugin (come FactoMineR per l’analisi multivariata) che consentono di creare una interfaccia e dei comandi molto intuitivi anche per la realizzazione di operazioni statistiche complesse. Gli output inoltre sono facilmente esportabili e modificabili ed è disponibile anche una versione in italiano.

All’interno di questo post mi limiterò a lasciare traccia dei passaggi che ho seguito per l’installazione della Library Rcmdr, sperando possano essere di supporto a tutti gli utenti non informatici o non statistici che utilizzano Windows (passaggi leggermente differenti potrebbero essere richiesti agli utenti che utilizzano altri sistemi operativi).

COME INSTALLARE LA LIBRARY Rcmdr (due possibilità):

1) Verificare se tra i “Pacchetti” (o Packages) già presenti nella versione di R installata sul proprio pc sia presente la Library Rcmdr, cliccando sul comando (Pacchetti o Packages appunto) e quindi su “Installa pacchetti”. A questo punto comparirà una lista di elementi e si dovrà cercare Rcmdr (che potrebbe essere presente anche nelle sue versioni di plugin come FactoMineR). Cliccando sulla voce cercata il download partirà in modo automatico.

2) Se i passaggi sopra menzionati non sono eseguibili attraverso i comandi di “R console” potete seguire gli step descritti in questo manuale, o digitando direttamente il testo install.packages(“Rcmdr”,dependencies=TRUE) e premendo invio. Le istruzioni che appariranno vi guideranno successivamente.

A questo punto se la Library non è stata avviata automaticamente potete farlo digitando library (Rcmdr) nella R console e potete divertirvi a scoprire le diverse elaborazioni statistiche offerte.

Concludo questo breve post (forse un po’ troppo elementare per i più esperti) con un ringraziamento speciale alla Prof.ssa Domenica Fioredistella Iezzi dell’Università di Roma Tor Vergata che mi ha guidato nella scoperta di R.

Un modo (facile) per inserire una mappa su un sito Web

Inserire mappe interattive all’interno di Blog e Siti Web è da un pò di tempo diventata una pratica piuttosto comune tra blogger e webmaster. Attraverso le API di Google Maps è possibile creare oramai applicazioni e Mash-Up molto sofisticati. Ci siamo già occupati in passato su questo blog di Google Maps e di applicazioni Mash-up per la visualizzazione dei dati ufficiali dell’ISTAT negli articoli “Una nuova Frontiera per la diffusione elettronica dei dati” e “Una nuova Frontiera per la diffusione elettronica dei dati 2.0” (che vi invito a leggere) in cui si evidenziava (con alcuni esempi eloquenti) come le tecnologie ma soprattutto l’evoluzione che si è avuta negli ultimi tempi di “idea” di Web possano essere utilizzate per creare un modo completamente nuovo di fare comunicazione istituzionale e diffusione di dati e informazioni.

Una raccolta di cosa è possibile al momento fare con le API di Google la potete trovare nella “Google Maps API Demo Gallery“, una raccolta di oltre 100 demo (provviste di relativo codice) sviluppate dallo staff di Google ma anche (e soprattutto) da sviluppatori indipendenti.

L’utilizzo delle API di Google, come anche quelle di Yahoo richiedono però una API Key, ossia un codice alfanumerico che identifica univocamente l’URL che andrà ad utilizzare la mappa. Le API Key esistono principalmente per limitare l’utilizzo della quantità di dati che è possibile trasferire, ma anche per consentire l’accesso a servizi avanzati nel caso questi servizi fossero stati acquistati.

Molto spesso, però, le necessità che si possono presentare a un blogger o a un webmaster sono molto più elementari. Ad esempio mostrare l’indirizzo di un locale, di una azienda, di un negozio su una mappa. In tal caso, Google offre una interessante possibilità. Interessante perchè nasce molto dopo il rilascio delle API, precisamente nell’Agosto 2007, ma soprattutto perchè consente con un semplice copia/incolla di inserire all’interno del proprio sito mappe come questa.



Visualizzazione ingrandita della mappa

Per ottenere il codice da inserire, basta andare su Google Maps e cliccare sul link “Link” a destra sulla mappa. Cliccando poi su “Customize and preview embedded map” si aprirà una finestra in cui possiamo decidere la grandezza della mappa, averne un preview e infine copiare l’”embedding code” da incollare nella nostra pagina Web.

Non solo Google però. Non potevo non approfittare di questa occasione per tornare a parlarvi di OpenStreetMap. Essermi occupato per anni di Open Source Software e aver fatto parte della Commissione Nazionale sul Software Open Source 2007 mi hanno “purtroppo” lasciato segni permanenti :-) . Avevo già parlato di questo progetto alcuni mesi fa nell’articolo “Il progetto OpenStreetMap” mentre vi ricordo che proprio ieri si è concluso a Bolzano il GFOSS Day 2009. La stessa operazione, pertanto, può essere fatta utilizzando mappe e dati geografici “liberi”. Ottenendo una mappa come questa.



Visualizza una mappa più ampia

In tal caso, per ottenere il codice si dovrà cliccare su “Esporta” nella parte superiore dello schermo del sito OpenStreetMap. Si aprirà una finestra in cui si potrà indicare il formato di esportazione (nel nostro caso “HTML incapsulabile“) Il codice da copiare e incollare comparirà già evidenziato nella parte bassa della finestra. Ovviamente sempre se la mappa della vostra città sia stata digitalizzata. In caso contrario potete farlo voi stessi, aderendo anche voi al progetto OpenStreetMap.

La rivoluzione del Data Warehouse open source

b1-events-datawarehouse.en

Milano, 18 novembre 2009

Segnaliamo un evento della Sun Microsystems in cui ci sarà anche un intervento su Talend:

Circa dieci anni fa i data warehouse hanno fatto il loro ingresso nel mercato enterprise. Da allora queste piattaforme hanno suscitato molto interesse grazie alla promessa di raccogliere e centralizzare le informazioni in un unico punto offrendo, ai manager di ogni livello, la possibilità di prendere decisioni basate sui fatti concreti e misurabili e non più su intuizioni e supposizioni.

Purtroppo questa promessa non si è ancora realizzata per la maggior parte delle aziende. Il motivo non dipende certo dalla debolezza dell’idea, che anzi ha fornito sofisticati modelli di analisi dei dati provenienti da più sorgenti. Più semplicemente, per molte imprese, i data warehouse sono ancora troppo costosi da acquistare, implementare e gestire. Un lusso consentito solo a chi dispone di ingenti risorse finanziare.

Fortunatamente il software open source sta rivoluzionando anche il data warehousing, offrendo alternative valide ai costosi prodotti proprietari. Alternative in grado di soddisfare anche le esigenze più complesse a costi contenuti. Database,  sistemi di ETL,  strumenti di reporting e analisi diventano finalmente accessibili alle imprese di ogni dimensione e capacità di spesa.

GFOSS Day 2009

Si terrà a Bolzano l’11 e il 12 Novembre 2009 la 2a Conferenza Italiana sul Software Geografico Libero, una occasione per aziende, professionisti, pubblica amministrazione per fare il punto sulla situazione in Italia nonchè per conoscere i tanti risvolti commerciali che il Software Geografico Libero sta avendo negli ultimi tempi.


Modalità di sponsoring: http://www.gfoss.it/drupal/sponsoring

Ajax: primi passi per iniziare

Ajax Primi passi per iniziare
View more documents from Andrea Stanco.
Quante volte in questi ultimi mesi abbiamo sentito parlare di AJAX? In effetti molti articoli che ho letto presuppongono una qualche conoscenza di AJAX stesso o comunque una buona conoscenza da parte dei lettori delle tecnologie alla sua base, ad esempio Javascript.

Ho avuto la sensazione che AJAX sia percepito dai neofiti come una cosa per soli programmatori esperti e quindi ho pensato di scrivere un articolo per cercare di aiutare coloro che si avvicinano a questo mondo per la prima volta permettendogli di scrivere le loro prime semplici applicazioni.
Sperando di riuscire nel mio intento vi auguro buona lettura.
Andrea Stanco

Microsoft Hyper-V ed il supporto di Linux

La tecnologia della virtualizzazione, complici i progressi tecnologici, la diminuzione dei costi hardware e la maturità dei prodotti commerciali, da qualche anno si è estesa dal mercato dei mainframe a quello dei server. Come sempre Microsoft interpreta un ruolo di primo piano e propone Microsoft Hyper-V Server 2008, con cui è possibile creare anche macchine virtuali Linux. Al momento il funzionamento dei Linux Integration Components è certificato per le seguenti distribuzioni:
  • SUSE Linux Enterprise Server 10 con Service Pack 2 x 86 Edition
  • SUSE Linux Enterprise Server 10 con Service Pack 2 x 64 Edition
  • SUSE Linux Enterprise Server 10 con Service Pack 1 x 86 Edition
  • SUSE Linux Enterprise Server 10 con Service Pack 1 x 64 Edition


Tuttavia il 16 febbraio scorso Taylor Brown, Hyper-V Integration Test Lead, ha dato notizia di un accordo tra Microsoft e Red Hat. Maggiori informazioni e dettagli possono essere ottenuti consultando:

Per scopi di sperimentazione ho installato RedHat Enterprise 5 senza incontrare alcuna difficoltà. A quanti volessero approfondire le modalità con cui gli Integration Components possono essere utilizzati per altre distribuzioni Linux suggerisco:

Il 20 luglio 2009 Microsoft ha annunciato che i Linux Integration Components per Hyper-V sono stati rilasciati sotto licenza GPL v2, e i driver sintetici (che abilitano la para-virtualizzazione) sono stati sottomessi alla Linux Kernel Community per l’inclusione nelle successive versioni del kernel di linux. Da ciò consegue consegue che tali driver saranno disponibili a chiunque esegua un’appropriata versione del kernel di linux. La speranza di Microsoft è che ogni distribuzione Linux (come CentOS, Ubuntu, e altre…) possa renderli disponibili ad ogni utente attraverso le loro nuove release.

Maggiori informazioni possono essere tratte dai seguenti link:

L’IT nelle ONG (prima parte)

Ovvero come i nerds o i geeks nel loro piccolo possono dare una mano al mondo.
Forse sembra un po’ esagerato come incipit. Quel che voglio dire è che il lavoro dietro ad un computer a volte può essere piu’ appagante di quel che possa sembrare.
Le ONG (Organizzazioni Non Governative) si presentano sotto varie forme. Piccole organizzazioni locali, ma anche più grandi con grossi budget.
In ogni caso il più grande sforzo è certo quello di tagliare al massimo i costi di amministrazione o di attività extra, cosicchè la maggior parte del budget possa essere usato per la missione principale della ONG stessa.
Inoltre, qualsiasi sia l’obiettivo della ONG, la raccolta, il processamento e la diffusione delle informazioni diventa importante per monitorare i progetti e ottenere finanziamenti.
Ed è in questo ambito che l’Information Technology e i vari strumenti informatici possono giocare un ruolo fondamentale
Già qualche autore del nostro blog (me compresa) ha partecipato a progetti IT per aiutare alcune attività di Emergency, una ONG italiana: la gestione delle riviste e degli articoli, e la gestione dei gruppi di volontari
L’automatizzazione di alcune operazioni di processamento dei dati, riduce il tempo da dedicare a queste, per cui anche un abbattimento dei costi.
Nell’ottica di riduzione delle spese le soluzioni basate su OSS sono da prediligere
Volevo quindi segnalare questo sito (in inglese) per quelli di voi che che lavorano o fanno volontariato in una ONG e possano necessitare di strumenti informatici per le loro attività: Open Source Software for Non-Governative Organisation

Estensioni: Firefox è meglio di Chrome

Che Mozilla Firefox fosse migliore, in tutto e per tutto, di Internet Explorer, è ormai un dato di fatto da anni.

Ma tra Firefox e Chrome, il giovane broswer di casa Google? La solfa non cambia and the winner is Firefox.

I motivi sono diversi: prima di tutto, la nuova versione 3.5. Poi, a differenza di Chrome, con Firefox è possibile personalizzare la propria navigazione aggiungendo i componenti aggiuntivi (chiamati anche estensioni, in inglese add-ons) al browser, ad esempio per risparmiare tempo, ottimizzare delle operazioni, per scaricare video o anche solo per divertimento. I componenti sono raggruppati per categorie e ora anche per raccolte, e cioè “gruppi di componenti aggiuntivi, aggregati per renderne più semplice la condivisione”.

L’Add-on Collector, poi, consente agli utenti di creare la propria collezione di estensioni e condividerla con i propri amici o con l’intera comunità, un po’ come si fa con le playlist di YouTube.

Per aggiungere un’estensione è molto semplice: è sufficiente andare sul sito degli add-ons di Mozilla, cercare il componente e installarlo direttamente sul proprio Firefox.

Insomma Firefox è il compagno ideale per vivere pienamente il Web 2.0.

Ecco un po’ di suggerimenti per mettere alla prova i componenti di Firefox:

iMacros

Se amate il browser Firefox, ma siete stanchi ed annoiati di ripetere sempre le stesse cose come visitare gli stessi siti tutti i giorni, riempire i form e ricordarvi le password, allora iMacros per Firefox è la soluzione per voi! iMacros è stato concepito per automatizzare le attività più ripetitive presenti sul web. Se esiste un’attività che dovete fare ripetitivamente, dovete solo registrarla su iMacros. La prossima volta che dovrete farla, la macro lo farà per voi, basterà cliccare su un tasto!

Xmarks

Se si utilizza Firefox su più computer potrebbe essere utile Foxmarks. Installare Foxmarks su ogni computer permetterà di mantenere i propri segnalibri e opzionalmente le proprie password sincronizzate automaticamente in maniera silenziosa, al sicuro da perdite di dati accidentali.

FoxTab

Effetti 3D e funzionalità davvero imperdibili. Provare per credere.


Video DownloadHelper

Per scaricare e convertire video su YouTube, Google Video, MySpace, iFilm ecc con un paio di clic.

AutoCopy

Consente di evidenziare del testo e automaticamente copiarlo sulla clipboard; in questo modo copia e incollare porzioni di testo diventa molto più semplice e rapido.

Adblock Plus

Volete eliminare annunci pubblicitari e banner dalla vostra navigazione (e renderla quindi più veloce)? Con Adblock Plus ve ne libererete subito.

DownloadThemAll!

Ottimo gestore e acceleratore di scaricamento incorporato in Firefox.


Attenzione però, alcuni di questi componenti non sono compatibili con la 3.5.

Buon divertimento (e soprattutto, buona estate)

Hadoop – Come elaborare grandi dataset

Supponiamo di avere un file ASCII contenente valori di parametri ambientali, ad esempio le temperature orarie giornaliere di una data zona relative ad un intero anno. Un tale file potrebbe essere prodotto da una centralina di rilevamento del tipo utilizzato in meteorologia. Supponiamo adesso di voler calcolare la temperatura media di ciascun mese oppure di ciascun giorno della settimana. Quali strumenti potremmo utilizzare? Potremmo importare il file in un foglio elettronico (OpenOffice Calc/Excel) e poi analizzare i dati con l’ausilio di una tabella pivot, oppure caricarlo in una tabella di un database relazionale come MySQL (Oracle) e produrre i risultati voluti eseguendo delle query SQL, oppure scrivere uno script AWK o un programma che faccia una scansione dell’intero file e calcoli i valori di cui abbiamo bisogno.

Ma se le centraline di rilevamento fossero migliaia, ad esempio quelle di un intera nazione o se si trattasse di analizzare file ASCII enormi come i log di decine di web server o di creare indici di ricerca analizzando milioni di pagine web, quale sarebbe la reale praticabilità delle soluzioni prima esaminate? Viviamo nell’era dei dati digitali e ne produciamo di nuovi ogni giorno con un ritmo vertiginoso: una stima di IDC prevede che i dati registrati elettronicamente raggiungeranno nel 2011 la dimensione di 1.8 zettabyte. Intuiamo tutti che una buona strategia di analisi consista nel suddividere il lotto di input in più parti ed esaminarli in parallelo su diversi elaboratori: dividi e conquista!

Tuttavia anche con un approccio a forza bruta rimangono aperte alcune questioni molto importanti: coordinare il lavoro, raggruppare i risultati intermedi, rilanciare le elaborazioni fallite per errore applicativo o per guasto hardware, bilanciare e sfruttare in modo ottimale le risorse disponibili, il tutto utilizzando una soluzione che sia anche scalabile. In questo post vi parlerò di Hadoop, di Map/Reduce (un framework software per processare in parallelo dataset enormi) e di HDFS (un file system distribuito progettato per gestire file grandi centinaia di GB o di TB).

Il paradigma di programmazione è alquanto singolare. In sintesi mediante l’operazione di map si creano delle coppie chiave/valore che poi verranno ordinate e fuse insieme mediante un tipico meccanismo di sort/merge. E’ possibile personalizzare le funzioni sopra citate scrivendo il codice necessario a seconda della struttura del dato di input.
Lo storage è reso disponibile da un cluster comprendente anche migliaia di nodi di macchine comuni, non costosissimi elaboratori ma pur sempre macchine destinate al mercato professionale: ad esempio processore quad-core Intel Xeon, 8 GB ECC RAM e storage FC/SATA. Hadoop è stato creato da Doug Cutting, il creatore di Apache Lucene, e fonda le sue origini in Apache Nutch, un motore di ricerca web open source. Spigolando qua e là ho trovato una nota di colore: pare che Doug abbia chiarito che il nome Hadoop non è un acronimo ma il nome dato da suo figlio ad un elefantino giallo.
Ho passato qualche giorno a leggere l’ottimo libro di Tom White, uno dei membri del progetto, ed impegnato un week end per installare Hadoop e fare qualche test di funzionamento. Ovviamente confinare un “mostro” come Hadoop all’interno di un blog è davvero impossibile, tuttavia i link di cui è disseminato questo post dovrebbero essere sufficienti a mettere sulla buona strada i lettori più curiosi. Per padroneggiare lo strumento c’è davvero molto da studiare sia dal punto di vista sistemistico che applicativo (Hadoop è scritto in Java ma è possibile sviluppare anche in Ruby, Python, C++). Le figure che ho riportato sono tratte dalla mia installazione e si riferiscono alla interfacce web con cui è distribuito Hadoop: Task Tracker (porta 50060), HDFS name node (porta 50070), MapReduce Job Tracker (porta 50030).

Prima di parlarvi dei risultati ottenuti vorrei segnalarvi due tutorial di Michael Noll; contengono indicazioni preziose su come costruire un single-node cluster e multi-node cluster con sistema operativo Ubuntu. Io ho utilizzato Fedora 11 e, dopo qualche peripezia, sono riuscito ad avere un sistema funzionate ed a condurre qualche test su un PC con 1GB di RAM che ho chiamato (e qui tradisco la mia passione per la fantascienza) BorgCube. Mi è sembrato un nome adatto: un cubo Borg (il cluster), la collettività (il framework), i droni (i nodi).

Dopo aver verificato il corretto funzionamento di Hadoop (a proposito c’è qualche differenza di configurazione tra la versione 18 e la 20), ho scaricato un file ASCII dal progetto Gutenberg e, dopo aver ricompilato l’applicazione di esempio WordCount.java e generato il file JAR l’ho mandata in esecuzione ottenendo i risultati riportati nella figura seguente.

Le prove effettuate non potevano avere altra pretesa se non quella di verificare a grandi linee il funzionamento di Hadoop ma credo che questo progetto possa rivelarsi molto interessante per studenti e ricercatori universitari e per tutti coloro interessati a macinare grandi volumi di dati (ed a spendere anche qualche euro per le macchine).

Nella lista di quanti utilizzano Hadoop si sono nomi del calibro di AOL, Facebook, Google, IBM, Yahoo (solo per citarne alcuni). Un ultima nota da segnalare: Yahoo ha ordinato 1 terabyte di dati in 209 secondi con un cluster di 910 nodi.