mercoledì 30 maggio 2012

Cosa sono le reti neurali artificiali

Tra una scossa di terremoto e l’altra, condizione non certo ottimale per lavorare, vediamo di passare a un argomento più leggero: le reti neurali artificiali.
Le reti neurali artificiali, più spesso abbreviate in “reti neurali”, sono un comune strumento utilizzato nel campo della programmazione di intelligenze artificiali, per affrontare e possibilmente risolvere determinate categorie di problemi, che sarebbero molto più complessi o impossibili da risolvere adeguatamente attraverso strategie tradizionali. Come gli algoritmi genetici, le reti neurali appartengono anche a quella branca dell’intelligenza artificiale che ricorre a meccanismi importati dal mondo della natura, cercando di simularli in forma digitale: se gli algoritmi genetici e la programmazione genetica in generale si appoggiano alle teorie darwiniane dell’evoluzione e della sopravvivenza del più adatto, le reti neurali cercano invece di emulare il funzionamento di quella cosa che si trova dentro il nostro cranio e che ogni tanto ci ricordiamo di utilizzare. In altri termini, una rete neurale artificiale emula il funzionamento di quella rete neurale biologica che siamo soliti chiamare cervello.
L’obiettivo di fondo sarebbe quello di realizzare un computer che sappia pensare e, per poterlo raggiungere, si è tentato di utilizzare l’unico modello a disposizione, ossia il cervello umano. Vista la complessità eccessiva di un cervello normale, il passaggio seguente è stato quello di semplificare al massimo il modello biologico, per ottenere qualcosa di sufficientemente primitivo da poter essere implementato con facilità e in tempi ragionevoli: così è nato Renzo Bossi. Scherzi a parte, una rete neurale artificiale si propone come rappresentazione semplificata della rete che collega i neuroni del nostro cervello e determina il nostro funzionamento. Vediamo come.
I neuroni sono le cellule che compongono la base di un cervello. Ogni neurone è circondato da un reticolo di dendriti, attraverso cui riceve impulsi dagli altri neuroni a cui è collegato: quando la somma degli impulsi ricevuti supera una determinata soglia, il neurone si “accende” e invia un impulso lungo il suo assone. L’assone è una specie di coda del neurone, alla cui estremità sono collegati i dendriti di altri neuroni, attraverso le sinapsi: un impulso trasmesso lungo l’assone si trasferisce così a migliaia di altri dendriti, che a loro volta lo trasmetteranno ai rispettivi neuroni e così via. I punti importanti da ricordare, per passare alle reti neurali artificiali, sono questi:
-i neuroni hanno porte di ingresso, da cui ricevono impulsi;
-i neuroni hanno una soglia di attivazione;
-i neuroni hanno una porta di uscita, da cui trasmettono impulsi;
-i neuroni trasmettono impulsi sono quando hanno superato la propria soglia di attivazione.
Per ulteriori dettagli, rivolgetevi al vostro neurologo di fiducia.
Una rete neurale artificiale cerca di simulare tutto questo all’interno di un computer o, più precisamente, all’interno di un programma: il suo scopo è di processare i dati che inseriamo nella rete, filtrandoli attraverso una serie di neuroni, per arrivare a produrre un certo risultato. I cosiddetti neuroni, in questo caso, non sono ovviamente cellule ma nodi di una rete. Ogni nodo/neurone è collegato a un certo numero di nodi/neuroni, sia in entrata che in uscita. Dai collegamenti in entrata il nostro neurone riceverà un certo impulso, che corrisponde a un valore numerico: quando la somma dei valori numerici ricevuti è superiore a un determinato numero, che corrisponde alla soglia di attivazione di quel neurone, il neurone si “accende” e invia un impulso attraverso tutte le sue porte di uscita. Anche questo impulso, ovviamente, è numerico e sarà trasmesso a tutti gli altri neuroni connessi alle sue porte di uscita. Otteniamo così una struttura di questo tipo:
I cerchi rappresentano i neuroni e le frecce rappresentano i collegamenti tra i neuroni, il numero all'interno di un cerchio rappresenta la soglia di attivazione di quel neurone e il numero accanto a una freccia rappresenta il valore di input di quella freccia. Se un neurone con una soglia 3 riceve un input 2 e un input 0, il neurone non si accenderà, perché la somma degli input è inferiore alla soglia (2 + 0 è inferiore a 3). Se invece riceve un input 2 e un input 2, il neurone si accenderà (2 + 2 è superiore a 3) e invierà a propria volta un input a tutti i neuroni a cui sono collegate le sue porte di uscita. Unica eccezione a questo schema sono i due livello di ingresso e di uscita, ossia le estremità della rete neurale. Il livello di ingresso, infatti, riceve i dati che noi forniamo alla rete, anziché un impulso, e sulla base di questi dati determinerà il tipo di impulso da inviare ai neuroni del livello successivo. Il livello di uscita, invece, riceverà normalmente gli input dai neuroni del livello precedente, ma sulla base di questi ci fornirà il risultato dell’analisi dei dati, invece di inviare input a un successivo livello di neuroni.
L’aspetto più interessante delle reti neurali è che il loro funzionamento interno non è stabilito da noi, ma è costruito autonomamente (o quasi) durante una fase di addestramento della rete stessa. Al momento della creazione, infatti, la soglia di ogni neurone e il valore di output trasmesso agli altri neuroni è assegnato a caso; in seguito, attraverso l’analisi di un quantitativo più o meno grande di dati che noi abbiamo preparato come allenamento, la rete regolerà e bilancerà la propria struttura interna, per calibrarla sulla base del compito che noi le richiediamo di svolgere. La fase di allenamento può essere parecchio lunga e dispendiosa, in termini di calcolo, perché la rete dovrà imparare a processare e catalogare montagne di dati, fino a che non avrà raggiunto una soglia di errore sufficientemente bassa (proprio come succede per gli algoritmi genetici, insomma), ma è anche la fase più affascinante del lavoro, perché è qui che la rete impara a estrarre le regole dalla massa dei dati che le sono sottoposti.
Alla fine del processo, se tutto si è svolto correttamente, la rete neurale saprà dare risultati anche sorprendenti, quando messa alla prova con dati reali e non solo coi modelli di allenamento. Una cosa, però, nessuna rete neurale sa dare, al momento: una spiegazione del proprio funzionamento. Per sua natura, una rete neurale funziona come un black box: può fornire risposte molto precise a certi problemi e può anche effettuare previsioni su come potrebbe evolversi una situazione (reti neurali sono spesso utilizzate proprio per prevedere l’andamento dei mercati finanziari), ma non sa dire perché e come ha ottenuto un certo risultato. Funziona, ma non chiedetele spiegazioni su come sia arrivata a quella risposta: una rete neurale sa vedere qualcosa, perché è stata allenata a vederlo, ma non sa spiegare quali tappe abbia seguito per trovare la risposta. Anche per questo motivo, una rete neurale non è la soluzione migliore per qualsiasi problema, ma solo per alcuni problemi. Vediamo quali.
Possiamo indicare quattro categorie di problemi, per cui una rete neurale è indicata ed è tipicamente utilizzata. Classificare dati in vari gruppi è un tipico problema da rete neurale: in questo caso, la rete riceverà come input i dati da catalogare e la sua risposta sarà la categoria in cui inserire il dato in questione. Un filtro antispam potrebbe utilizzare una rete neurale per dividere le e-mail in arrivo e separare lo spam dalle e-mail “buone”, imparando anche a riconoscere lo spam in base al contenuto dei messaggi.
Riconoscere modelli e schemi all’interno di una grande massa di dati è un altro problema tipico per una rete neurale. Riconoscere una foto o il contenuto di una foto, per esempio, è un compito parecchio complicato per un computer, in condizioni normali, ma una rete neurale può imparare a distinguere, per esempio, la struttura di una fotografia e cercare altre foto simili (con esiti più o meno felici): è l’idea su cui si basa la ricerca per immagini, ossia localizzare i motivi generali nel contenuto di una foto e cercarli in altre foto. Non che i risultati finora ottenuti siano entusiasmanti, ma questo è un altro discorso.
Effettuare predizioni sulla base dell’andamento dei dati in suo possesso è un altro lavoro per una rete neurale. Se i dati forniti seguono un ordine cronologico, e la rete è in grado di individuare tendenze di massima nel loro cambiamento, sarà anche in grado di tentare previsioni su come potrebbe proseguire la sequenza di dati. Come è ovvio, l’accuratezza delle previsioni dipende da parecchi elementi, non ultima la quantità e qualità dei dati che le forniamo: predire l’andamento dei mercati finanziari è alla portata di una rete neurale, se i suoi sviluppatori possono fornirle montagne di dati precisi, ma la psicostoriografia appartiene ancora alla fantascienza, perché nessuno dispone di tutti i dati necessari a descrivere con precisione l’andamento dell’intera umanità.
Infine, le reti neurali possono essere utilizzare per ottimizzare un risultato già ottenuto con altri mezzi o per trovare soluzioni a problemi complessi, che non si potrebbero risolvere in tempi decenti con altri metodi. L’esempio più tradizionale è quello di trovare percorsi ottimali all’interno di uno spazio di ricerca, da intendersi nel senso più ampio possibile: si va dal semplice trovare la strada più breve su una mappa, alla progettazione di transistor.
Alla fine, resta sempre aperta la questione se una rete neurale sia da considerarsi intelligente o meno, questione che coinvolge tutto il campo della cosiddetta “intelligenza artificiale”, ma il dibattito in merito non finirebbe mai. Una rete neurale può fornire autonomamente risposte non prevedibili e non deterministiche, imparando e migliorandosi col suo stesso funzionamento, e questo è sufficiente per poterla considerare “intelligente”, almeno nel senso in cui il termine è usato in questo campo. Da un certo punto di vista, è più di quanto sappiano fare molte persone...

venerdì 25 maggio 2012

Google Transparency Report e lo stato della Rete nel mondo


Tra i tanti servizi più o meno utili offerti da Google, che non starò a elencare perché in buona parte li conoscerete già, ce ne sono alcuni di grande interesse ma di scarsa visibilità, almeno al grande pubblico. Il che è un peccato, dato che offrono una occasione molto istruttiva per gettare uno sguardo sul “dietro le quinte” della Rete e sul modo in cui persone e istituzioni interagiscono con e attraverso la Rete stessa. Oggi parlerò di uno di questi servizi: il Transparency Report.
Come il nome stesso ci indica, il Transparency Report di Google è un tentativo, più o meno riuscito a seconda del proprio punto di vista e delle proprie convinzioni, che Google fa per tenere aggiornati i suoi utenti sul modo in cui l’azienda interagisce con persone e istituzioni, per gestire i dati e le informazioni sparse nel mare magnum della Rete. In forma più semplice, il Transparency Report è uno strumento che il signor Google utilizza per dirci: «Ragazzi, negli ultimi tre mesi ho ricevuto tot richieste di rimozione da parte di queste aziende, questi governi e queste istituzioni; sempre nello stesso periodo, ho ricevuto anche tot richieste di fornire informazioni sui miei utenti, da parte di queste aziende, questi governi e queste istituzioni. Questa è la lista completa, a voi trarne le conclusioni che preferite.» Bello o brutto che sia, è sicuramente un servizio molto interessante, almeno a mio parere, e forse sarebbe utile pubblicizzarlo un poco di più.
Come si può vedere già dalla Home, il Transparency Report è diviso in quattro parti: Traffic, Removal Requests, User Data Requests, Map. Ognuna di queste parti contiene dati e grafici, che possono essere passati in rassegna per periodi di tempo e che probabilmente faranno la gioia di molti appassionati di statistiche e numeri. Chi invece non è appassionato di numeri e statistiche, può comunque osservare la distribuzione geografica e cronologica di blocchi e richieste, ripescando anche alcune curiosità, come il video di YouTube per cui nel 2010 la polizia italiana ha chiesto e ottenuto la rimozione, in quanto “ostile al governo in carica”. Ma guardiamo più in dettaglio il contenuto di questi Report.
La sezione Traffic contiene un grafico sull’accessibilità dei vari servizi offerti da Google, suddivisi per tipo di servizio (anzi, per prodotto, come li definisce Google stesso), giorno e nazione. Per conoscere ad esempio l’andamento del traffico su YouTube in Italia, basta selezionare “Italia” come paese, “YouTube” come servizio e poi scorrere il grafico per osservare il giorno e l’orario che ci interessano. In basso, è disponibile anche una lista dei vari blocchi, parziali o totali, subiti da alcuni prodotti di Google nei vari paesi del mondo, con la data in cui il blocco si è verificato. Come si può notare subito, e come era facile prevedere, il 2011 è stato un anno ricco di blocchi nei paesi arabi.
La sezione Removal Requests, come è facile intuire, contiene tutte le richieste di rimozione di contenuti ricevute da Google, relativamente a materiali che violerebbero il copyright di qualcuno o qualcosa, ma anche relative a materiali che infrangono leggi di qualche stato. Le richieste di rimozione sono infatti divise in due grandi blocchi: rimozione per cause legate ai copyright e rimozione per cause legate al governo. Nel blocco “Copyright” sono catalogate tutte le richieste inoltrate da detentori del copyright e da gruppi che coordinano i detentori di copyright. È una sezione molto interessante da studiare, perché ci informa su quali siano le aziende più attive nelle richieste di rimozione, ma anche quali siano le “vittime” preferite, ossia i siti che più spesso ricevono richieste di rimuovere materiali. Non è certo una sorpresa scoprire che ai primi posti si trovano adesso FilesTube, 4shared e i vari aggregatori di torrent. Le richieste di rimozione governativa, invece, si riferiscono ovviamente alle richieste avanzate da un qualche governo, per rimuovere elementi considerati contrari a una qualche legge: la censura vera e propria, insomma. Anche qui ci si può divertire a studiare i paesi più attivi, le percentuali di rimozione e tutto il resto. A titolo informativo, non sono inclusi i dati sui materiali rimossi in proprio da Google, che sono quasi tutti relativi alla pornografia infantile (o almeno così dichiara Google).
La sezione User Data Requests contiene tutti i dati relativi alle richieste di informazioni personali che Google ha ricevuto da agenzie governative e collegati a casi criminali. Per adesso. In futuro potrebbe includere anche altre categorie di richieste, almeno a detta di Google. In pratica, se Google riceve dall’Italia una richiesta di informazioni sul signori Pincopallino, perché è sospettato di essere un pedofilo, questa richiesta sarà inserita tra i dati presenti in questa sezione. Se un paese non è presente in una determinata fascia di tempo, significa che in quel periodo ha effettuato meno di 30 richieste a Google. I dati sono riportati come semplice elenco dei vari paesi, ma è anche possibile scaricare il pacchetto completo dei dati, per poterli consultare o utilizzare come si preferisce.
La sezione Map, infine, ci offre tutti i dati precedenti inseriti in una comoda mappa: ogni stato può essere cliccato e ci apparirà una finestra popup con le informazioni relative all'attività di quello stato, come si può vedere  nell'immagine sottostante.

Oltre a informare e fornire i dati sulle attività dei governi e delle aziende, Google ne approfitta anche per informarci sull'esistenza di servizi che, almeno in parte, permettono di aggirare un blocco completo di internet, eventualità sempre possibile in alcuni paesi. Per chi già non lo sapesse, infatti, esiste un servizio per diffondere messaggi anche in assenza di una connessione internet nella propria area geografica ed è il servizio speak2tweet, tramite cui si può telefonare a un numero e lasciare un messaggio vocale, che sarà immediatamente diffuso su Twitter, indicando la zona di provenienza del messaggio. Sempre chiamando gli stessi numeri, è anche possibile ascoltare i messaggi inviati da altri. Chi ha una connessione internet attiva, invece, li può seguire direttamente su Twitter
Se mai doveste averne bisogno, i numeri a cui telefonare sono i seguenti:
+16504194196
+390662207294
+442033184514

lunedì 21 maggio 2012

Exif: ciò che un’immagine ci racconta

Dopo un fine settimana all’insegna di terremoti e altro, torniamo a parlare di argomenti più tranquilli, sperando che la casa non ricominci a ballare. L’argomento di oggi è qualcosa che i fotografi e fotoamatori conosceranno probabilmente bene, ossia gli Exif.
Exif è una sigla per Exchangeable Image File Format, cioè un formato standard per inserire in una foto svariati tipi di tag, informazioni su come e quando la foto è stata scattata. Per intenderci, sono informazioni simili a quelle che possiamo trovare all’interno di un documento di testo prodotto da Word o Writer e che ci segnalano il titolo, l’autore, l’ultima modifica, il numero di caratteri e così via, oppure i metadati che includiamo in un Epub. Exif non è quindi un formato di file, ma una serie di regole che specifica come devono essere inserite le informazioni supplementari all’interno di una immagine, solitamente in formato JPG (o anche TIF).
Di norma, possiamo trovare queste informazioni all’interno di qualsiasi fotografia prodotta con una fotocamera digitale, oppure con uno smartphone e apparecchi simili. Sempre di norma, non ci dobbiamo preoccupare di inserire questi dati, perché è lo strumento stesso che noi utilizziamo ad aggiungerli per noi; dovremo semmai preoccuparci di cosa è stato aggiunto se e quando decideremo di condividere la foto, ma questo è un discorso che faremo dopo. In una foto, i dati Exif includono di solito la data e l’ora in cui la foto è stata scattata, il tipo di fotocamera utilizzato, la dimensione della foto in pixel, l’utilizzo o meno del flash, il tipo di esposizione, il tipo di lente, la risoluzione, eccetera eccetera. In pratica, una montagna di dati su come è stata scattata la foto, inclusa una piccola versione (thumbnail) della foto stessa, utile per le anteprime. In alcuni casi, soprattutto se avete utilizzato uno smartphone per scattare la foto, tra i dati potrebbe esserci anche il luogo in cui la foto è stata scattata: lo standard Exif supporta anche i tag di localizzazione e, se il vostro strumento possiede un GPS o un servizio analogo per determinare il posto in cui vi trovate, è molto probabile che anche questa informazione finirà dentro le vostre foto.
Per vedere i dati Exif di una fotografia, esistono diversi programmi, a seconda di dove e come intendete vedere questi dati. Una prima risorsa è il sistema operativo del computer, che nelle proprietà di un file ci permette di vere un’anteprima con alcuni dei tag inclusi in una foto. Su un sistema operativo Windows, ad esempio, è sufficiente cliccare col tasto destro sul file di una foto e selezionare “Proprietà” dal menu contestuale, proprio come succede anche nelle distribuzioni Linux con Gnome come desktop: sempre “tasto destro” e “Proprietà”. Per visualizzare tutti i tag, però, è necessario ricorrere a programmi specifici, oppure a risorse online: un esempio di programma per la visualizzazione completa dei dati Exif è Opanda IExif (gratuito), mentre un sito che offre lo stesso servizio è Jeffrey’s Exif Viewer, che potete vedere qui sotto:

Se preferite, esistono anche diverse estensioni per Firefox o Google Chrome, che permettono di visualizzare i dati Exif delle immagini che troverete durante la navigazione. Anche i siti di condivisione specializzati in immagini, come Flickr e Picasa, permettono di solito di visualizzare i dati delle foto che avete caricato.
Tutte queste informazioni inserite in ogni foto possono rivelarsi sia utili che dannose, come succede per ogni altra cosa. Per chiunque sia interessato alla fotografia, sia come semplice osservatore che come fotografo dilettante, studiare i dati Exif di una foto può essere istruttivo: permettono di capire come è stata scattata una foto, quali impostazioni il fotografo ha selezionato, di quali strumenti ha avuto bisogno per ottenere un dato risultato, e così via. In un certo senso, permettono di sbirciare un fotografo da sopra la spalla, mentre sta scattando la sua foto. E fin qui, niente di male: sono un utile strumento educativo.
Da un altro punto di vista, però, condividere una fotografia con tutti i suoi dati Exif può essere rischioso. Data e orario non costituiscono un grande problema, così come non lo costituiscono il tipo di fotocamera utilizzato o altre informazioni tecniche, a meno che non siate fanatici della privacy; le informazioni sul luogo in cui avete scattato una foto, invece, possono essere già più rischiose da condividere con tutto il mondo, se la foto in questione non include già segni riconoscibili del luogo in cui è stata scattata (tipo un monumento che chiunque potrebbe riconoscere, oppure il cartello col nome della città). Soprattutto, i dati Exif includono una miniatura della foto: se voi modificate la foto originale, per nascondere una faccia o qualche altro elemento, la miniatura non sarà modificata e continuerà a mostrare la foto originale, il che probabilmente non corrisponde alle vostre intenzioni.
Per risolvere questo problema, alcuni siti si preoccupano di rimuovere i dati Exif dalle foto che voi caricate: succede ad esempio con Facebook (di solito) e più in generale con tutti quei siti che non mostrano l’immagine originale, ma una sua versione ridimensionata e modificata. Non è comunque saggio affidarsi all’intervento del sito, se vogliamo rimuovere dati compromettenti da una foto: ci sono diversi programmi per modificare e rimuovere manualmente i dati Exif, come EXIFeditor o Opanda PowerExif (che è a pagamento), ma in molti casi è sufficiente modificare una immagine utilizzando un qualsiasi programma di grafica, per provocare (volontariamente o meno) la perdita dei tag Exif, se al momento del salvataggio le impostazioni non sono selezionate correttamente.
In ogni caso, prima di condividere una fotografia è sempre opportuno verificare cosa si stia per condividere e rimuovere i dati che preferiamo tenere per noi.

mercoledì 16 maggio 2012

Tails, un sistema operativo a base Tor


Dopo aver parlato di vari strumenti per garantirsi forme più o meno forti di anonimato in Rete, come Tor, Freenet e I2P, concluderò il discorso presentando quello che si potrebbe definire il “set del perfetto paranoico”: parlerò di Tails, The Amnesic Incognito Live System.
Tails è un sistema operativo Live, che può essere installato su un DVD, una chiave USB o altri tipi di supporti esterni tramite cui si possa avviare un computer: appartiene insomma alla stessa famiglia di Puppy Linux, per intenderci, ossia è un sistema operativo che funziona da supporto esterno, senza sfiorare il disco fisso del computer su cui è avviato. Più in particolare, Tails nasce dalla fusione di due precedenti progetti, Incognito LiveCD e Amnesia, e al momento si presenta come una derivazione della versione Live di Debian Squeeze, sviluppata per includere numerosi programmi di anonimato e crittografia, così da rendere il più possibile sicure e private le comunicazioni e in generale l’utilizzo di questo sistema operativo. La versione di Tails disponibile al momento è la 0.11, che deriva dalla versione 6.0.4 di Debian ed è praticamente identica alla versione di Debian con Gnome come desktop: sono stati rimossi alcuni dei programmi in dotazione e altri ne sono stati aggiunti, per adattarsi al diverso sistema di utilizzo. Niente giochi, insomma, ma tanta crittografia.
Se alla base di Tails c’è Debian, perché io l’ho definito nel titolo un sistema operativo a base Tor? Perché Tor è utilizzato più o meno ovunque nel sistema operativo, per garantire l’anonimato. Ogni applicazione inclusa in Tails è già configurata per collegarsi alla Rete solo attraverso Tor, a cominciare dal browser, che in questo caso è Iceweasel, proprio come abbiamo già visto per Debian. Tra le applicazioni di Tails, inoltre, è inclusa anche l’interfaccia grafica Vidalia, per utilizzare al meglio Tor: la trovate nella sezione “Internet” del menu “Applicazioni” e si aprirà come piccola icona nel lato sinistro della barra in alto, col solito aspetto di una cipolla. Filtrando tutto attraverso Tor, la navigazione con Tails è più lenta del normale, ma questo è il prezzo da pagare per l’anonimato garantito da Tor.
Tor è certo il principale, ma non l’unico strumento messo a disposizione da Tails. Per chi preferisce, è già incluso nel sistema operativo anche I2P, di cui ho già parlato, accessibile con un click sempre dalla sezione “Internet” del menu “Applicazioni”. Il browser di serie è Iceweasel, come detto, già equipaggiato con alcune estensioni utili per migliorare la sicurezza del browser ed evitare spiacevoli “buchi” nella protezione: Adblock Plus per occuparsi delle pubblicità, CookieMonster per la gestione dei cookies distribuiti dai siti, FireGPG per integrare e facilitare l’utilizzo del sistema di crittografia GnuPG, HTTPS-Everywhere per assicurarsi la navigazione crittografata attraverso la rete https, invece del consueto http, NoScript per bloccare il JavaScript e i rischi che porta con sé, e altro ancora. In pratica, è già tutto configurato per farvi navigare nel modo più sicuro e anonimo possibile sulla rete Tor.
Come gestore delle comunicazioni email, è disponibile il programma Claws Mail, che naturalmente è già fornito di un supporto per la crittografia con GnuPG, in modo da renderne l’utilizzo il più semplice possibile; per il resto è un comune programma per la posta e non avrete problemi a orientarvi. Le funzioni di chat sono supportate da Pidgin, che assomiglia più o meno al classico Messenger e che permette anche comunicazioni sui canali IRC, mentre è disponibile anche un feed aggregator, Liferea, e altre applicazioni che possono sempre tornare utili.
La crittografia è accessibile un po’ ovunque nel sistema operativo. L’abbiamo già vista integrata negli strumenti di navigazione, ma può anche essere utilizzata per crittografare determinate porzioni di un disco, oppure per proteggere singoli files. Lo strumento di base a cui ricorre Tails è GnuPG, la versione GNU di OpenPGP, che a propria volta è la versione opensource di PGP (Pretty Good Privacy), un programma di crittografia noto e utilizzato già da una ventina di anni e forse il più diffuso al mondo. È un sistema di crittografia a doppia chiave, pubblica e privata, e su Tails lo potete utilizzare sia per le vostre email, sia per i documenti.
Se invece preferite crittografare una porzione del disco fisso, oppure di un supporto rimovibile, c’è un programma anche per questo ed è LUKS, a cui potete accedere dal menu “Applicazioni” e che consentono sia di creare, sia di utilizzare i dischi criptati. In aggiunta, è tuttora disponibile anche il programma TrueCrypt, sempre per crittografare documenti, anche se il suo utilizzo è sconsigliato ed è destinato a sparire in futuro, perché considerato non abbastanza “aperto” per gli standard degli sviluppatori. Al momento è mantenuto solo per rendere accessibili i files che potrebbero essere già stati crittografati con TrueCrypt, ma per il futuro è consigliabile ricorrere a uno strumento diverso, giusto per sicurezza: ne troverete in abbondanza su Tails.
Florence è una tastiera virtuale, su schermo, che può essere utilizzata se temete che sul vostro computer (o sul computer che state usando) sia stato installato un keylogger, ossia uno di quei simpatici programmino che registrano ogni tasto che premete: sui computer pubblici (internet point) di paesi particolarmente rigidi potrebbero essere installati, per esempio. Altro programma da non dimenticare, se si vuole produrre un documento privo di informazioni su di noi, è MAT, che si occupa di rimuovere i metadati dai documenti. La maggior parte dei files, infatti, contiene molte più informazioni su noi di quante vorremmo farne sapere, ed è il caso delle foto, per esempio, o dei documenti prodotto con una suite da ufficio (Office, OpenOffice, LibreOffice): se vogliamo diffondere un documento anonimo, è saggio togliere il nostro nome che potrebbe essere stato aggiunto tra le proprietà del file. Inutile specificare che è poi disponibile anche Nautilus, per la cancellazione sicura di files, riscrivendo più volte la porzione di disco fisso su cui si trovavano: più o meno come fa Eraser, di cui ho già parlato tempo addietro.
Oltre a tutti i programmi per crittografia, anonimato e sicurezza, Tails dispone anche dei normali programmi da sistema operativo, perché Tails è a tutti gli effetti un sistema operativo completo. Non ci sono giochini, d’accordo, e questo potrebbe rattristare molte persone, ma quasi tutti gli altri programmi di serie con Debian sono rimasti anche con Tails: OpenOffice, Audacity, GIMP, Scribus, Brasero, eccetera. Di fatto, Tails è una versione di Debian Live che è stata ripulita dal superfluo, per sostituirlo con gli strumenti di sicurezza e anonimato: tutto ciò che è già stato detto su Debian vale anche per Tails.
Per installarlo su una chiave USB si può utilizzare tranquillamente UNetBootin, a patto di aver già scaricato il file ISO. La chiave prodotta in questo modo non sarà modificabile, cioè non si potranno salvare altri programmi mentre vi è installato Tails, ma questo può essere sia un bene che un male, a seconda dei punti di vista: non potrete salvare documenti nello spazio libero, ma non sarà neppure possibile modificare o alterare la vostra copia di Tails. Una chiave USB modificabile la si può creare con l’apposito programma, che troverete all'interno di Tails, se proprio volete farlo.
Quando chiudere Tails e vi preparate a rimuovere la chiave USB su cui è installato, Tails provvederà a eseguire una pulizia della memoria del computer ospite, per cancellare ogni traccia del vostro utilizzo; questo rende la chiusura di Tails più lenta rispetto a Debian Live, ma il tempo perso è ripagato con una maggiore sicurezza, perché non si potranno recuperar informazioni sul vostro utilizzo del computer una volta che ve ne sarete andati.

sabato 12 maggio 2012

I2P e la comunicazione anonima in Rete

Dopo aver parlato di Tor e di Freenet, rimaniamo ancora nel sottobosco della Rete con un nuovo strumento per le comunicazioni anonime e la creazione di ecosistemi a parte, inaccessibili con la navigazione normale: oggi è il turno di I2P.
Come abbiamo visto, Tor è un programma per navigare anonimi nella rete tradizionale e per creare siti anonimi all’interno della rete Tor; Freenet, invece, è principalmente uno strumento per creare un database diviso tra tutti i computer che lo utilizzano, in cui poter caricare e da cui poter scaricare files criptati in modo anonimo. Entrambi rispondono a esigenze particolari e possiedono punti di forza e debolezze: Tor è orientato soprattutto alla navigazione, mentre Freenet è orientato alla condivisione di materiale. In questo quadro, I2P assume una posizione “mista”, in quanto si occupa di trasferire messaggi da un punto all’altro della rete costituita da tutti i nodi I2P, in forma anonima e criptata. Messaggi è da intendersi nel senso più ampio possibile: dalle email ai files in puro stile eMule. Se volete visitare anonimamente siti nella Rete normale, Tor è il più indicato; per la condivisione di files all’interno di una rete chiusa, Freenet è il più indicato; per fare un po’ di tutto all’interno di una rete chiusa, infine, I2P è il programma che vi può servire.
Premessa generale: I2P non è ancora in formato definitivo e il suo sviluppo e tuttora in corso. A detta dei suoi sviluppatori, però, ha già raggiunto uno stadio di stabilità sufficiente, da poter essere utilizzato “sul campo”. In altri termini, usatelo pure, ma non vi consiglierei di affidargli ancora la vostra vita. I2P ha buone premesse, ma il suo rodaggio non è ancora concluso, se preferite metterla in questi termini.
Il nome I2P è una sigla per Invisible Internet Project e già il nome dovrebbe fornirvi buone indicazioni su quale sia il suo scopo: costruire una rete sotterranea, invisibile e anonima, a cui si può accedere solo attraverso l’uso di I2P. Non un progetto molto originale, verrebbe da dire, dato che ne abbiamo già viste altre, e in effetti non voleva neppure essere originale: l’obiettivo è invece costruire una rete utilizzando un sistema diverso da quelle già esistenti e, a detta degli sviluppatori, più sicura e resistente.
La rete anonima creata da I2P è formata da vari nodi, che sono i computer su cui I2P è in funzione. Chiunque utilizzi I2P è automaticamente un nodo della rete: a differenza di quanto avviene nella rete Tor, non esiste la possibilità di utilizzarlo solo come client, ossia come ospite che sfrutta la rete, senza offrire in cambio qualcosa. Sotto questo aspetto, l’approccio è lo stesso utilizzato da Freenet. Il compito di I2P è di costruire e mantenere la rete formata dai vari nodi, gestendo il passaggio delle comunicazioni; su questa infrastruttura è possibile utilizzare diversi strumenti sviluppati su misura, a seconda delle proprie necessità: navigazione con qualsiasi browser, chat, condivisione di files con programmi quali iMule (versione di eMule per I2P), invio di email, creazione e mantenimento di blog e siti, eccetera. Il tutto in un ambiente anonimo e criptato, al di sotto della rete normale.
Ogni nodo della rete I2P è definito router e si collega ad altri router attraverso tunnel di comunicazione, che esistono in due forme ben distinte: i tunnel di uscita e i tunnel di entrata. Come è facile da intuire, i tunnel di uscita sono utilizzati per spedire messaggi dal nostro router verso un altro router, mentre i tunnel di entrata sono utilizzati per ricevere messaggi da altri router. Per spedire un messaggio a un altro componente della rete, il nostro router I2P crea un tunnel di uscita, mentre il destinatario del messaggio aprirà un corrispondente tunnel di entrata. I messaggi che viaggiano lungo questi tunnel sono crittografati a vari livelli: un primo livello di crittografia, accessibile ai router attraverso cui il messaggio passa, contiene le informazioni relative al router verso cui deve essere inoltrato, ma niente di più, mentre il contenuto del messaggio inviato è crittografato dall’invio alla ricezione, senza che passaggi intermedi lo possano toccare.
Per quanto riguarda la visibilità della rete costruita da I2P, un osservatore esterno potrà vedere che state utilizzando I2P per le vostre comunicazioni, ma non vedrà quali strumenti state utilizzando all’interno di I2P, né con quali router state comunicando. Un particolare che differenzia I2P da Tor, ad esempio, è proprio il modo in cui gestiscono i contatti col “mondo esterno: Tor dispone di nodi di uscita, cioè di punti in cui la rete interna si collega alla Rete sterna (il normale internet), e questi nodi sono parte integrante della rete Tor; I2P, invece, dispone sì di nodi di uscita dalla sua rete, ma li usa come accessori e di solito hanno vita breve. I contatti tra la rete I2P e il mondo esterno sono dunque rari e sporadici, mentre il grosso delle comunicazioni avviene all’interno, riducendo così i fattori di rischio ed esposizione dovuti a un eventuale controllo dei nodi di uscita. Riduce anche le possibilità di collegarsi a siti normali usando I2P, ma questa è l’altra faccia della medaglia.
Come Tor ha i suoi siti .onion, anche I2P ha siti realizzati all’interno della sua rete e accessibili soltanto da essa: sono gli eepsites, o siti eep (dalla pronuncia di I2P). non c’è molta differenza rispetto ai cugini onion, soprattutto nella brevità intrinseca della loro vita: i siti nelle reti anonime vanno e vengono di continuo. Una differenza, invece, si trova nella loro fruizione: a differenza della rete Tor, I2P permette di utilizzare facilmente (o quasi) motori di ricerca interno, per trovare i siti creati dentro la rete I2P.
Come Tor e Freenet, infine, anche I2P può essere usato per distribuire contenuti discutibili. Anzi, diciamo pure che è usato con una certa frequenza anche per questo: in misura minore rispetto ai fratelli più famosi e diffusi, ma naturalmente ogni strumento può essere utilizzato sia bene, sia male. La filosofia di I2P, in ogni caso, è di permettere ogni tipo di comunicazione, a dispetto di qualsiasi tipo di censura: offre la possibilità di parlare liberamente, sta poi ai singoli parlanti decidere cosa dire e come usare questa libertà. In ogni caso, rispetto a Freenet non utilizza i computer per immagazzinare materiali e sotto questo aspetto funziona piuttosto come Tor: di conseguenza, non dovete preoccuparvi che nel vostro disco fisso siano stipati in forma crittografata e anonima video pedopornografici o i piani di un attentato terroristico, se è questo a spaventarvi.
Ultima cosa. I2P è sviluppato in Java e questo lo rende comodamente multipiattaforma: potete dunque installarlo e utilizzarlo con qualsiasi sistema operativo, purché abbiate una Java Virtual Machine. Come già si era detto per Freenet, del resto.

martedì 8 maggio 2012

La condivisione anonima di dati con Freenet


Dopo diversi articoli sulla navigazione anonima con Tor, tornerò oggi a parlare di anonimato in Rete, ma in una prospettiva differente: non la navigazione tra siti (in chiaro o nascosti), ma la diretta condivisione di dati. Parlerò quindi di Freenet.
Freenet è un sistema per pubblicare e condividere dati in Rete ed è costituito da due parti: il database vero e proprio, suddiviso tra tutti i computer connessi alla sua rete, e gli strumenti per navigare il database e comunicare coi vari computer connessi. Se state pensando a una rete P2P, simile a quelle che si possono ottenere con eMule o i torrent, allora pensate bene: Freenet funziona più o meno così, ma con alcune differenze.
Come è spiegato nella sua documentazione, Freenet può essere immaginato come un enorme magazzino, distribuito su tutti i computer che appartengono alla sua rete. Quando noi inseriamo un file in questo magazzino, ne riceviamo in cambio una chiave (simile ai link che ci sono restituiti da siti di condivisione, quali MediaFire e il defunto Megaupload), mentre il file è collocato in uno o più computer presenti in rete. Ognuno di questi computer è detto “nodo”, perché costituisce un nodo della grande maglia formata da Freenet. Per recuperare il file, dovremo consegnare a Freenet la chiave e in cambio riceveremo il file corrispondente, scaricandolo dai vari nodi su cui è stato immagazzinato “a tranci”. E fin qui, cambia poco rispetto a una qualsiasi rete P2P.
Per entrare a fare parte di questa rete, dobbiamo installare Freenet sul nostro computer e diventare così un nodo della rete. Con l’installazione, cederemo una frazione del nostro disco fisso a Freenet, che la utilizzerà per immagazzinare i files condivisi da noi e da altri membri della rete, in una cartella “store” creata sul nostro computer; di conseguenza, anche una parte della nostra banda di connessione sarà utilizzata da Freenet, per mantenere la propria rete e gestire gli scambi di files. Il che, di nuovo, è identico a quanto accade con Emule e altri programmi di condivisione: scarichiamo files dai computer altrui e altri utenti scaricano files dal nostro computer. È l’essenza del peer-to-peer, dopotutto.
Una prima differenza di Freenet, rispetto ad altre reti di condivisione, è che noi non abbiamo alcun controllo sui files immagazzinati nel nostro computer. Non sappiamo neppure cosa sia stato immagazzinato sul nostro computer. Tutti i files inseriti in Freenet, infatti, sono prima di tutto frammentati in pezzi più piccoli, per agevolare lo scambio, e poi crittografati: soltanto l’utente con la chiave corrispondente sa quale file stia scaricando, mentre tutto il resto della Rete non ne saprà nulla. Ogni nodo, quindi, conterrà soltanto un cumulo più o meno grande di frammenti anonimi di files, crittografati e indistinguibili: in questo modo, nessuno può sapere quali files si trovino nel proprio computer e nessuno può formalmente essere ritenuto responsabile di ciò che è condiviso attraverso il suo nodo (almeno davanti al tribunale della propria coscienza).
Proprio perché nessuno sa dove si trovi esattamente un determinato file e in quante copie sia presente, non ci sono facili sistemi per rimuovere un file: ciò lo rende resistente alle censure ed è proprio uno degli obiettivi perseguiti dal creatore di Freenet. I files sono conservati in base alla loro popolarità, ossia alla frequenza con cui sono cercati e scaricati: un file popolare continuerà a rimanere attivo e disponibile in molte copie, mentre un file che non interessa più a nessuno, pian piano, diventerà sempre più raro fino a scomparire per “selezione naturale” dalla rete. Se si vuole eliminare un file, dunque, l’unico sistema è sperare che a nessuno interessi più.
Un’altra strategia utilizzata da Freenet per resistere alle censure è quella di essere strutturato come rete decentralizzata e composta da innumerevoli sottoreti più piccole. Ogni nodo conosce soltanto una ristretta cerchia di nodi a esso adiacenti e soltanto con loro si può collegare; questi nodi, a loro volta, conoscono soltanto una ristretta cerchia di altri nodi e si possono collegare soltanto con loro; e così via, fino a coprire l’intera rete. È superfluo specificare che ogni nodo è anonimo. Tutti i nodi, inoltre, hanno lo stesso valore: non esiste distinzione tra client e server, cioè fra un nodo che funge da deposito (server) e un altro che si collega per attingere (client), come avviene in altre reti. Tutti i nodi sono sia server che client; un nodo molto potente, ossia un nodo che cede molta banda di connessione e un grande spazio di deposito sul proprio disco fisso, può talvolta assumere un ruolo da server, ma ciò è dato solo dal maggiore contributo che riesce a dare alla rete.
La struttura composita della rete Freenet ne rende possibile due diversi utilizzi: come Darknet e come Opennet. Il Darknet è una sottorete composta soltanto da nodi in cui avete fiducia e che conoscete, creata manualmente da un utente, mentre l’Opennet è una sottorete composta da nodi qualsiasi e sconosciuti. In pratica, collegandoti in modalità darknet, tu puoi selezionare i tuoi vicini e collegarti solo a utenti che conosci e in cui hai fiducia, ottenendo il massimo livello di sicurezza; collegandoti in modalità opennet, invece, i tuoi vicini sono scelti “a caso”.
All’interno di Freenet, proprio come all'interno della rete Tor, è possibile anche creare veri e propri siti, denominati “freesites”, che funzionano come interfaccia per i dati accumulati nella rete. Per accedervi, può bastare anche un normale browser, purché si sia connessi a Freenet, e un freesite può contenere grossomodo tutto ciò che può trovarsi in un semplice sito web. Il tutto, ovviamente, senza l’uso di un server, come invece avviene per i siti normali. Sotto questo aspetto, un freesite funziona in modo simile a un sito creato con Osiris, in quanto esiste appoggiandosi alla rete P2P e non a una struttura centrale, come invece lo è un server tradizionale.
Ricapitolando, Freenet è una rete per la condivisione peer-to-peer decentralizzata e anonima, formata riunendo una porzione del disco fisso e della banda di connessione di tutti i computer che ne fanno parte. I suoi contenuti sono distribuiti in più copie tra i vari computer, crittografati e anonimi, e possono essere recuperati e scaricati attraverso una apposita chiave, che contraddistingue ogni file. Chiunque può caricare e condividere tutto ciò che gli pare, senza controlli e senza censure: a decidere la sopravvivenza dei contenuti è una sorta di “selezione darwiniana”, che fa sopravvivere e proliferare i contenuti più popolari e lascia pian piano cadere i contenuti che non interessano più.
Libertà di parola e anonimato sono alla base della filosofia di Freenet e dei suoi sviluppatori. Ogni utente ha il diritto di caricare e condividere tutto ciò che vuole, bello o brutto che sia, piacevole o spiacevole che sia, e lo può fare anonimamente. Se state pensando che può essere un ottimo strumento per pedofili, satanisti, terroristi, criminali e qualsiasi altro tipo di babau sociale, avete ragione: può essere utilizzato comodamente anche per diffondere materiali più o meno illegali, immorali e così via. Dopotutto, la libertà di parola è anche libertà di dire che a noi non piacciono, che offendono la nostra morale o che violano la legge: se poniamo limiti a ciò che si può e non si può dire, ricadiamo nella censura, perché ogni limite può essere stiracchiato fino a includere ogni cosa scomoda per noi. O almeno, questa è la filosofia di Freenet: se non la condividere, forse non è lo strumento che fa per voi. Siete avvisati.
Chiudendo con dettagli più tecnici e pratici, Freenet è sviluppato in Java, il che lo rende multipiattaforma: qualunque sia il vostro sistema operativo, finché avete installata una Java Virtual Machine, Freenet potrà funzionare. Nelle versioni precedenti era supportata soltanto la Java Virtual Machine fornita dalla versione ufficiale di Java, ossia la versione Sun Microsystem e poi Oracle, mentre dagli ultimi aggiornamenti è stata introdotta la possibilità di usarlo anche con l'OpenJDK, se preferite. In ogni caso, per usare Freenet dovete aver installato una qualche versione di Java.
Le prime volte che userete Freenet, sarà veloce come un regionale di Trenitalia quando nevica. Col passare dei giorni, poi, diventerà sempre più veloce, man mano che la sua rete personale si forme e il vostro disco fisso entra a far parte dell’ecosistema di Freenet, fino a raggiungere una velocità decente. Resterà sempre più lento di una connessione normale, ma questo vale per qualsiasi sistema analogo, da Tor ai VPN, data la loro natura “indiretta”.
In aggiunta al set di strumenti forniti al momento dell’installazione di Freenet, esistono poi svariati altri “optional” che possono essere aggiunti, per potenziarne o migliorarne l’utilizzo. Il set di base si occupa di connettersi alla rete e fungere da proxy, gestendo il traffico in entrata e in uscita, mentre altri componenti, installabili a parte (se si vuole), aggiungono funzionalità di chat, message board, creazione e gestione di freesites, eccetera. 

giovedì 3 maggio 2012

Uno sguardo a Debian Live

Ho già parlato in un precedente articolo di Puppy Linux, un sistema operativo “tascabile” basato sul kernel Linux con la particolarità di poter funzionare benissimo da CD o da chiave USB, senza sfiorare il disco fisso del computer ospite. Di per sé, poter essere installato e lanciato da un supporto esterno, come appunto un CD, un DVD o una chiave USB, non è una peculiarità di Puppy Linux soltanto, perché praticamente tutti i sistemi operativo a base Linux hanno almeno una versione Live: a distinguerlo è il fatto che Puppy Linux nasce per essere usato esclusivamente in versione Live, non per essere installato su un disco fisso (anche se si può installare, volendo), mentre una immagine Live “normale” è utilizzata molto più spesso per interventi di emergenza su un computer bloccato, oppure per provare un sistema operativo, prima di procedere con la sua installazione.
Oggi parlerò appunto di una immagine Live “normale”, ossia della versione Live di Debian.

Debian è uno dei più noti e usati sistemi operativi a base Linux, nonché “padre” virtuale di Ubuntu. A distinguerlo da altre distribuzioni Linux sono la sua dedizione alla causa dell’Open Source, la struttura “a pacchetti” (ogni programma costituisce un pacchetto indipendente) e una fissazione quasi maniacale per la correttezza e la precisione di ogni singolo pacchetto, oltre a quella del sistema operativo nel suo complesso. Per quest’ultimo motivo, Debian è anche noto e talvolta criticato per la lentezza con cui rilascia le sue nuove versioni, rispetto ad altre distribuzioni come Ubuntu o Fedora (cosa che però io non considero certo un male, anzi). Possiede poi anche una politica e una struttura filosofica molto particolari, ma per queste vi rimando al sito ufficiale: è accessibile in lingua italiana e, sebbene non sia scritto in un bell’italiano, non avrete problemi a  capirlo.
La versione Live di Debian contiene tutti i pacchetti fondamentali del sistema operativo ed è utile per provarlo, senza sfiorare il disco fisso del nostro computer; se poi Debian ci piace, possiamo utilizzare la versione Live per installarlo successivamente sul nostro computer, in una partizione del disco fisso. Diamo dunque una occhiata al contenuto di Debian Live, nella versione 6.0.4.
Il primo problema è decidere quale versione scaricare, fra le tante che abbiamo a disposizione. La prima scelta è tra la versione i386 e la versione amd64 e dipende dalla struttura del nostro computer: se è a 64-bit, dovremo scegliere la versione amd64, mentre in tutti gli altri casi sceglieremo la i386. Se non avete idea di come sia il vostro computer, scaricate la i386: essendo la struttura più diffusa, le probabilità di aver scelto quella giusta saranno maggiori.
Dopo aver deciso la struttura del computer, bisogna decidere quale struttura preferiamo per il sistema operativo. Le scelte sono quattro: Gnome, Kde, Lxde e Xfce, più due versioni “per veri duri”, la rescue e la standard, che hanno solo la linea di comando e nessuna interfaccia grafica (non ve le consiglio). Se non sapete cosa scegliere, potete cercare qualche immagine per ognuna delle versioni e decidere in base a quella che vi piace di più. Per il resto della spiegazione, io ho scelto la Gnome, che si presenta così:
Dopo aver scaricato il file ISO, si può facilmente creare una versione Live montando il file su una chiave USB utilizzando UNetbootin. Potete anche scaricare direttamente il file ISO con UNetbootin, se volete. Alla fine, in ogni caso, avrete la vostra versione Live di Debian, pronta a essere utilizzata per avviare il computer e scoprire qualcosa di più su questo sistema operativo.
L’avvio potrebbe essere preoccupante, per chi è abituato a Windows, soprattutto perché vi metterà di fronte a una lunga lista di opzioni. Se non sapete cosa fare, avviatelo scegliendo l’opzione “Live”, che dovrebbe essere la terza.
A fine caricamento, il desktop che vedrete non dovrebbe apparire troppo alieno, per un utente Windows: l’equivalente della barra delle applicazioni si trova in alto, anziché in basso, ma per il resto vedrete menu e icone che sono abbastanza familiari. In particolare, l’icona “Debian Installer” serve a installare sul disco fisso il sistema operativo; se non avete intenzione di installarlo, basta ignorare l’icona e non ci saranno problemi.
In alto a sinistra vediamo le voci di tre menu, “Applications”, “Places”, “System”, e due icone: la prima icona, a forma di mondo, serve per avviare il browser (cioè il programma con cui navigare in internet), mentre la seconda serve ad avviare il programma di posta, nel caso non lo abbiate capito dalla forma. Debian Live ha due browser preinstallati, ossia Epiphany e Iceweasel (tanto per abbondare), e il loro utilizzo dovrebbe essere abbastanza familiare a chiunque abbia lavorato con Firefox: Iceweasel, in particolare, è praticamente una versione di Firefox priva di marchio. Il programma di posta, invece, in questa versione è Evolution Mail.
Dal menu “Applications” è possibile accedere a tutti i programmi installati in Debian Live e corrisponde più o meno alla voce “Tutti i programmi” nel menu Start di un sistema operativo Windows. Anche i programmi contenuti sono grossomodo gli stessi che si possono trovare di serie su tutti i sistemi operativi. Tra gli “Accessories” troviamo infatti una calcolatrice, un semplice editor di testo (pensate al Blocco Note, per intenderci), la funzione di ricerca per i files, la finestra della linea di comando, più alcuni extra come un programmino per realizzare screenshots, ossia “foto” del nostro schermo. La sezione “Games” contiene invece una collezione discretamente ampia di semplici giochi per passare il tempo, dai classici come il campo minato o il solitario, che ogni utente Windows conoscerà fin troppo bene, a giochi più originali, come sudoku, schacchi, Otello, Forza Quattro e altri. Ce ne sono per tutti i gusti ed è curioso notare come li abbiano inseriti tra gli elementi di base di un sistema operativo.
Il programma di grafica in dotazione è ovviamente GIMP, nella versione 2.6.10, che è una sorta di versione libera di Photoshop: non è molto intuitivo da usare (ma neppure Photoshop lo è), però è abbastanza potente per soddisfare quasi tutte le necessità di un utente comune. Dispone anche di Inkscape, un programma per la grafica vettoriale, se mai ne avrete bisogno. La suite di programmi da ufficio, abbastanza curiosamente, è OpenOffice, anziché LibreOffice, ed è installata la sua versione 3.2.1: include tutti i programmi che si possono trovare anche in Microsoft Office, dall’elaborazione di testi, alla creazione di tabelle, presentazioni multimediali e così via. La sezione “Sound & Video”, come è facile da intuire, contiene i programmi per la gestione di file multimediali: dispone di un lettore audio che supporta benissimo il formato mp3 (formato che invece può dare qualche problema su sistemi come Fedora) e di un programma molto basilare per video, che permette di aprire vari tipi di formati, dallo mp4 al flv, al wmv. Più o meno tutti quelli con cui avrete a che fare normalmente, insomma. “Universal Access”, infine, contiene programmi di assistenza per facilitare l’utilizzo del computer ai disabili, dalla tastiera su schermo alla lente di ingrandimento .
Tra gli altri programmi preinstallati, non manca il supporto per i PDF, fornito non dal classico Acrobat Reader, ma da Document Viewer: non cambia nulla ai fini pratici della lettura di un file PDF, perché potrete farci più o meno le stesse cose, ma cambia l’aspetto del programma al cui interno si apriranno i PDF. Inoltre, per gli amanti del P2P, tra le applicazioni per internet è anche disponibile un client per BitTorrent, così non ci sarà bisogno di installarne uno. Svariati altri programmi li potrete scoprire voi stessi, ma in linea di massima possiamo dire che, come dotazioni di serie, si presenta più ricco rispetto a un normale sistema operativo Windows.
Il menu “Places” fornisce un elenco delle cartelle disponibili, dei dischi che avete montato e in generale può essere visto come un equivalente di Explorer, nei sistemi Windows. Il menu “System”, infine, contiene tutte quelle funzioni che altrove sono raggruppare nel Pannello di Controllo, e anche qualcosa in più: è infatti da “System” che dovrete passare, per spegnere o riavviare il computer.
Come potrete vedere, Debian è un sistema operativo normale e non vi richiederà troppo tempo o fatica per adattarvi alle differenze rispetto a un sistema Windows. La versione Live è utile appunto per sperimentarlo e scoprirlo, ma anche per verificare eventuali problemi di compatibilità tra il vostro computer e Debian: sempre meglio provarlo prima, piuttosto che scoprirlo quando ormai lo hai installato. Se poi si decide di installarlo, può essere fatto direttamente dalla versione Live, usando “Debian Installer”; se invece non si vogliono correre rischi, lo si pul conservare su chiave USB e utilizzarlo quando serve, che è poi il principale vantaggio offerto da una versione Live.
Per qualsiasi problema, infine, Debian può contare su una comunità di utenti italiani a cui rivolgersi, per chiedere aiuto o consigli su come risolvere qualche “incomprensione” tra Debian e le componenti del vostro computer. In particolare, segnalo i siti DebianItalia e Debianizzati, dove troverete gente ben più competente di me in fatto di Debian, a cui sottoporre i vostri quesiti.