Archive for March, 2006

Moh che bello!

Friday, March 24th, 2006

Ehilà! Post leggero oggi! Dopo un paio di giorni passati a sistemare il sistema (ah ah) dopo un errore del disco fisso (argh!), oggi posto un po’ di eye candy ( = roba bella da vedere ;) ). Ecco a voi il mio schermo attuale in Kubuntu Linux! Bello eh?

Free Image Hosting at www.ImageShack.us

Mai più Formattone Riparatore!

Tuesday, March 21st, 2006

Credevate che avrei continuato all’infinito a ciarlare della storia del software, eh? Non è così. Ma l’introduzione storica serviva per evitare di far fatica a capire ogni singola parola di quello che dico. Ma ora, entriamo in argomento.

Mi viene chiesto spesso perché preferisco Linux, nel complesso, rispetto a Windows: per argomentare la superiorità di Windows, mi dicono un sacco di cose vere o quasi vere (che ci girano i giochi, che è più facile da usare, che i suoi programmi danno meno bug, e che in fondo anche lui è gratuito, visto che ce l’hanno quasi tutti piratato). A questo punto, spesso io non so cosa rispondere: è più un istinto che mi fa preferire Linux che un vero e proprio motivo razionale.

Così mi sono detto: le opinioni non si argomentano per istinto – devo cercare dei motivi per la mia preferenza. Oggi ho scoperto uno di questi motivi, forse il più importante fino ad ora.

Dopo un po’ che lo si usa, specie se lo si usa per “esperimenti” di vario genere o in maniera disordinata, un sistema tende a diventare instabile, lento e, alla fine, inutilizzabile. Oggi mi è successo, in Linux, più o meno questo: il server sonoro si rifiutava di funzionare; il word-processor si rifiutava si bloccava; altri programmi andavano lenti. Insomma, uno sfacelo, probabilmente dovuto al carattere un po’ sperimentale della mia installazione di Linux (è a 64 bit anzichè a 32 bit… per le spiegazioni, rimando alla nota sotto). Rimastoci malissimo (anche per una figuraccia con amici venuti per un lavoro scolastico) già premeditavo vendetta mediante il famigerato Formattone Riparatore (altrimenti detto fare tabula rasa sul disco e ricominciare daccapo), quando poi mi sono detto: perchè prima non proviamo a cancellare i file di configurazione, invece che tutto il disco? E perchè non sostituire il programma di videoscrittura che non va con uno funzionante, altrettanto gratuito e libero?

Risultato: crisi brillantemente superata, con anche un certo miglioramento delle condizioni del mio PC rispetto a prima.

Ora mi chiederete: ma dove sta la superiorità rispetto a Windows? Semplice: in Windows i file di configurazione non esistono e quindi non si possono cancellare! C’è solo il famigerato registro di Windows, una specie di database complicatissimo che serve a configurare insieme TUTTI i programmi installati, degenerando spesso e volentieri in un caos indescrivibile.

Quindi, se vogliamo assegnare un punteggio, Linux 1 – Windows 0 . Ma la partita non è ancora finita…

Nota: 64 bit e 32 bit

Alcuni processori molto moderni (come il mio ;) ) permettono di utilizzare allo stesso tempo una quantità maggiore di memoria (64 anzichè 32 bit per ogni operazione, ovvero diversi miliardi di volte al secondo). Però il sistema operativo deve gestire i 64 bit e i programmi devono essere adatti. Purtroppo, benchè la maggior parte dei programmi Linux, al contrario di quelli Windows, sia già pronto per i 64 bit, alcuni programmi non funzionano bene e rendono un po’ più “pericoloso” l’uso del computer. È per questa ragione che il mio computer ha avuto qualche problema, insieme ad alcuni difetti nella configurazione dovuti ad un aggiornamento fatto male (sempre da me).

Free Software – 3° puntata

Monday, March 20th, 2006

Benché distrutto da un raffreddore fulminante, mi accingo a completare la serie di post introduttivi sul Free Software – assolutamente fondamentale per capire tutto ciò di cui parlerò dopo!

Prima, però, è necessario fare un pochino di glossario perchè questa è di sicuro la parte più complessa della nostra storia. Bisogna che abbiamo ben chiari tre concetti: quello di shell, quello di kernel e quello di compilatore.

Cominciamo dal compilatore, il concetto più complesso per i “profani” dell’informatica. Si tratta di un programma che trasforma un testo scritto in un certo linguaggio di programmazione in codice macchina eseguibile dal computer. In pratica, trasforma una serie di istruzioni in un linguaggio comprensibile dall’uomo del tipo “se questo è vero, fai quello” in una serie di zero e uno (0101000110111010110…) che il computer capisce ed esegue.

Il kernel (letteralmente “nocciolo”) è invece il programma fondamentale del sistema operativo: dà l’avvio a tutti gli altri programmi, li controlla, li chiude se necessario, spesso contiene il codice driver di base necessario per fare funzionare le periferiche come la tastiera o lo schermo.

Infine, la shell (letteralmente “conchiglia”) è il programma che riceve tramite tastiera comandi dall’utente, poi passa il controllo al programma richiamato, e quando il programma è finito riprende il controllo e stampa il risultato (output). La shell che è più facile vedere è quella detta “Prompt di MS-DOS” o “Prompt dei Comandi” in Windows (tecnicamente, la shell sarebbe l’intero ambiente mentre il prompt è la scritta che appare chiedendo di inserire un comando, ad esempio C:\>).

Torniamo a noi: eravamo arrivati alla fondazione del progetto GNU per creare un sistema operativo libero. In pochi anni, questo progetto cresce e crea una serie di programmi importantissimi e diffusissimi, tra cui una suite di compilatori per diversi linguaggi di programmazione (C,C++,Fortran…) di nome GCC (GNU Compiler Compilation), che funziona particolarmente bene su di una shell di nome bash (Bourne Again Shell), nota per essere una delle più potenti e complete. I programmi creati dal progetto GNU formano, nel ‘90 – ‘91, un sistema operativo completo e moderno – ma senza kernel. Infatti, i lavori di creazione del kernel procedono mooolto a rilento e ci si deve quindi accontentare di testare i programmi GNU su sistemi commerciali come il vero Unix.

Contemporaneamente, in quel di Helsinki (Finlandia), uno dei più importanti insegnanti universitari di Sistemi Operativi (tale professor Tanenbaum, cioè albero di Natale ;) ) crea, come esempio per i suoi studenti, un intero sistema operativo simile a Unix che chiama Minix. Uno degli studenti di Tanenbaum, un certo Linus Torvalds, crea per divertimento un kernel che replica Minix, in grado di far girare sia la shell bash che il compilatore GCC.

Nasce così il kernel Linux che, dopo le prime versioni senza licenza, viene pubblicato sotto licenza GNU/GPL e, nella sua crescita, si unisce sempre più stabilmente a GNU (di cui diventa il kernel semi-ufficiale). Stallman non è tanto contento (in effetti molti si riferiscono a Linux dimenticandosi del tutto di GNU), ma in generale comincia l’era più positiva per il Free Software.

In effetti l’unica seria minaccia al monopolio di Windows nel settore PC si viene a formare proprio negli stessi anni in cui Windows fagocita tutti gli altri ambienti PC, tra cui il suo “fratellino” OS/2 sviluppato da IBM (di cui prima o poi parlerò, perchè la sua è una gran bella storia). Naturalmente ci sono anche i Mac, ma non sono esattamente PC e sono troppo costosi, almeno negli anni ‘90, per fare una seria concorrenza a Microsoft.

Per completare la nostra breve (ma intensa) storia del Free Software, occorre ricordare che in questi stessi anni il movimento si spezza in due tronconi fondamentali: Free Software, il movimento idealistico che vuole tutto il software libero e non commerciale, e Open Source, che è molto simile nei fatti ma diverso nei principi (in quanto non richiede che il software non abbia fini commerciali, ma solo che il suo codice sia liberamente visibile e modificabile).

Free Software – 2° puntata

Sunday, March 19th, 2006

Puntata numero due, a brevissima distanza dalla numero uno, per continuare a parlare di Free Software.

L’altra volta ho descritto molto sinteticamente cos’è il Software Libero, oggi vorrei sottolineare un po’ da dove viene il Software Libero e qual è il suo scopo.

Il movimento del Software Libero è, quasi totalmente, figlio della cultura hacker degli anni ‘70 e ‘80. Ora, dimenticate tutto quello che vi hanno detto sugli hacker perchè la probabilità che sia falso è altissima.

L’hacker in senso stretto è semplicemente un appassionato di sicurezza informatica, ovvero della materia che studia come proteggere un computer da furti di dati, virus e faccende simili. L’hacker è di solito tanto appassionato di questa materia da cercare in tutti i modi che conosce “buchi” nei sistemi difensivi dei computer propri e altrui; se trova un “buco” (che in gergo tecnico si dice vulnerabilità) si inserisce nei computer degli altri, ne esamina il codice con l’unico scopo di studiarlo e, se è particolarmente buono, lo migliora. Per inciso, quelli che si introducono in sistemi altrui per rubare o per distruggere, non sono hacker. Di solito vengono chiamati cracker, ma hanno anche tutta una serie di nomignoli e distinzioni interne che vi risparmio.

Torniamo ai nostri hacker. L’abitudine di modificare software altrui li porta verso l’idea di sviluppare software che sia disponibile a tutti per essere modificato: così viene fondata la Free Software Foundation. Alla fine degli anni ‘80 ad uno degli hacker più importanti della FSF viene un’idea: creare una variante gratuita e libera del sistema allora più diffuso nei computer aziendale: Unix.

Quell’hacker si chiama Richard Stallman ed è un po’ il prototipo di ogni hacker: vestito male, un po’ barbone, e sicuramente un personaggio bizzarro nonchè un grande idealista. Il progetto che fonda si chiama GNU, che sta per GNU is Not Unix, che tenterà di sviluppare un intero sistema operativo libero completamente compatibile con Unix.

Per il terzo e ultimo post introduttivo sul Free Software, dovrete aspettare domani…

Free Software – 1° puntata

Saturday, March 18th, 2006

Ebbene, ho deciso di aprire un blog. Cioè, in realtà di usare uno spazio aperto quasi un anno fa e mai sfruttato fino ad ora. Di che parla il mio blog? Principalmente, della mia passione: l’informatica. Possibilmente usando il meno possibile quel gergo che rende così difficile far capire ad altri di cosa si sta parlando. Magari anche di altre cose, se ne avrò il tempo e la passione (spero di sì).

Sono appassionato di informatica più o meno in tutte le sue applicazioni (programmazione, sistemi operativi, sicurezza, web design, grafica, videogiochi ecc.) più o meno da sempre; ho “usato” la prima volta un computer all’età di 5 anni cercando di fare dei disegnini in un programma di disegno DOS. Oggi sono un appassionato e moderatamente esperto utilizzatore sia del “canonico” sistema operativo Windows, sia dell’”alternativo” GNU/Linux.

Ma ora basta parlare di me. Parliamo di un argomento ben più importante, che sarà uno degli oggetti principali del mio blog: la filosofia del Free Software.

Cos’è il Free Software? La nostra conoscenza della lingua inglese, insieme alla considerazione che il software di solito si paga, ci porta automaticamente a tradurre Software Gratuito, invece di Software Libero. Si tratta di un grosso errore: moltissime case commerciali, acerrime nemiche del Free Software (Microsoft, tanto per fare un esempio ;) ), distribuiscono prodotti gratuiti. Sono Free Software, invece, i programmi che non hanno nessuno scopo commerciale e sono sottoposti a licenze particolari (la più famosa si chiama GNU/GPL e ne parlerò un’altra volta).

Il Software Libero può essere liberamente distribuito e modificato: si può anche venderlo, ma si deve sempre fare in modo che il suo codice sia pubblicamente modificabile anche da chi non lo ha comprato. Questo concetto può essere esteso a un sacco di altre cose; ad esempio, se non sbaglio di grosso, questo e gli altri blog di splinder sono scritti sotto licenza Creative Commons, che è più o meno la GNU/GPL dei documenti, libri ecc.

Per spiegazioni più approfondite, vi rimando ai prossimi post, nonchè al sito della Free Software Foundation e del progetto GNU.