Ubuntu Dapper + XGL + Compiz + ATI X1600

compiz-1.png

Seguendo il semplice tutorial fornito da Pollycoke, ho provato a installare Xgl e Compiz su una Ubuntu Dapper messa in movimento da una scheda grafica ATI X1600, notando con mio sommo dispiacere che l’howto va leggermente modificato per venire incontro alle esigenze specifiche delle ATI. Ora, dato che da qui a due minuti mi scorderò come ho fatto a mettere in piedi il tutto, meglio scrivere questo tutorial modificato in modo da tenermi un bigino utile alla prossima formattazione.

Due o tre considerazioni preliminari:

  • Xgl (X Over OpenGL) è un’architettura X server, sviluppata da Novell, che si avvale delle OpenGL per gestire al meglio il rendering 3D accelerato offerto dalle più recenti schede video.
  • Compiz è un window manager sviluppato da Novell, che sfrutta le OpenGL e le estensioni composite per gestire al meglio le potenzialità grafiche messe a disposizione dal server Xgl.

Ok, here we go!

Prelevare i componenti

Il primo passo consiste nel rendere il più semplice possibile il lavoro, inserendo in

/etc/apt/sources.list

i seguenti repository:


deb http://www.beerorkid.com/compiz/ dapper main
deb http://xgl.compiz.info/ dapper main
deb-src http://xgl.compiz.info/ dapper main

Da qui verranno scaricati i pacchetti contenenti il server grafico, il window manager e le librerie e le utility che ci servireanno. Dato che non si tratta di pacchetti ufficiali, la loro firma non verrà accettata, a meno di scaricane la chiave e aggiungerla al keyring usato da apt:

sudo wget http://www.beerorkid.com/compiz/quinn.key.asc -O - | sudo apt-key add -

Ora, non rimane che installare i pacchetti necessari a dare un po’ di brio al desktop, iniziando con un aggiornamento della lista ottenuta dai depositi:


sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install xserver-xgl compiz-gnome libglitz-glx1 libgl1-mesa

Configurare GDM

Sarà GDM a occuparsi di lanciare Xgl quando sarà il momento di accedere al sistema, quindi è proprio questo componente che va configurato affinché possa prendersi carico del lavoro.

Se provenite da Kubuntu, vi converrà installare Gnome e quindi accertarsi che GDM sia il display manager predefinito:


sudo apt-get install gnome
sudo dpkg-reconfigure gdm

Installare i driver ATI accelerati

Per poter sfruttare l’accelerazione grafica in 3D delle schede ATI è necessario scaricare i driver proprietari direttamente dal sito del produttore e installarli sul proprio sistema.

Al momento è disponibile la versione 8.27.10, di cui consiglio l’utilizzo, avendo sperimentato diversi crash con la versione 8.25.

Scaricati i driver, non rimane che lanciare l’installer che li racchiude, facendo in modo che generi i pacchetti .deb utili a razionalizzare l’installazione:


sudo chmod +x ati-driver-installer-8.27.10-x86.run
sudo ./ati-driver-installer-8.27.10-x86.run --buildpkg Ubuntu/dapper
Creating directory fglrx-install
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.27.10......
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
Generating package: Ubuntu/dapper
/tmp/fglrx.E0RA9n /usr/src/ati/fglrx-install
Package /usr/src/ati/xorg-driver-fglrx_8.27.10-1_i386.deb has been successfully generated
Package /usr/src/ati/xorg-driver-fglrx-dev_8.27.10-1_i386.deb has been successfully generated
Package /usr/src/ati/fglrx-kernel-source_8.27.10-1_i386.deb has been successfully generated
Package /usr/src/ati/fglrx-control_8.27.10-1_i386.deb has been successfully generated
Package /usr/src/ati/fglrx-sources_8.27.10-1_i386.deb has been successfully generated
/usr/src/ati/fglrx-install
Removing temporary directory: fglrx-install

Ora vi trovate con una serie di pacchetti, pronti per l’installazione, fra questi, tra l’altro, anche i sorgenti dei moduli del kernel deputati all’accelerazione della scheda grafica.

Installiamo i driver:

sudo dpkg -i *.deb

I sorgenti del modulo fglrx, che si occupa dell'accelerazione 3D della scheda video, sono installati. Non rimane che compilarli ma, volendo semplificare il lavoro, meglio farsi aiutare da un'ottima utility, ovvero module assistant. Installiamola:

sudo apt-get install module-assistant

E ora, un attimo di attenzione. Se avete già utilizzato module-assistant per creare il modulo fglrx in una versione adatta a un driver xorg precedente, semplicemente installare i nuovi sorgenti e lanciare la compilazione non darà i risultati sperati: si rimarrà con il vecchio modulo fra le mani e un errore che viene mostrato solo nel log di Xorg e dal comando

fglrxinfo

che dirà, molto cripticamente, che si stanno utilizzando le libreria Mesa per l'accelerazione grafica non hardware.

E' necessario, in questo caso, ripulire la directory di compilazione del modulo del kernel. Ma ci sono moduli fglrx compilati sul sistema?


sudo module-assistant search fglrx

fglrx-kernel-source (source package not installed):
-- Binary package(s) for kernel(s):
+ (2.6.17.3): fglrx-kernel-2.6.17.3_8.27.10-1+10.00.Custom_i386.deb
Beh, direi proprio di si. Nel mio caso, si tratta del pacchetto fglrx nuovo, dato che ho lanciato il comando dopo la sua compilazione e la sua installazione. Nel caso voi abbiate compilato un vecchio modulo fgrlx, troverete indicato il numero di versione corrispondente.

E' tempo di fare un po' di pulizia, per evitare problemi di compilazione:

sudo module-assistant clean fglrx

E ora si può passare alla vera e propria compilazione, installazione del pacchetto e rigenerazione delle dipendenze:


sudo module-assistant prepare
sudo module-assistant update
sudo module-assistant build fglrx
sudo module-assistant install fglrx
sudo depmod -a

Con i moduli abbiamo finito, è tempo di mettere le mani sul file di configurazione di Xorg.

Il file di configurazione di Xorg

Dato che Xgl funziona sull'architettura di Xorg, andrà modificato quest'ultimo affinché fornisca l'accelerazione necessaria a sfruttare la ricchezza grafica offerta dal primo. Lasicamo, però, che sia l'utility aticonfig a eseguire le prime modifiche sul file si configurazione di Xorg

/etc/X11/xorg.conf

Semplicemente, basterà lanciare


sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv

Aprite il file di configurazione

/etc/X11/xorg.conf

e assicuratevi che le parti evidenziate siano presenti così come le vedete scritte. In caso contrario, copiate dall'esempio qui riportato, rispettando le sezioni di appartenenza:

# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg


#Section "InputDevice"
# Driver "wacom"
# Identifier "stylus"
# Option "Device" "/dev/wacom" # Change to
# # /dev/input/event
# # for USB
# Option "Type" "stylus"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection
#
#Section "InputDevice"
# Driver "wacom"
# Identifier "eraser"
# Option "Device" "/dev/wacom" # Change to
# # /dev/input/event
# # for USB
# Option "Type" "eraser"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection
#
#Section "InputDevice"
# Driver "wacom"
# Identifier "cursor"
# Option "Device" "/dev/wacom" # Change to
# /dev/input/event
# # for USB
# Option "Type" "cursor"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection

Se non avete tavolette grafiche o altre amenità del genere, assicuratevi che il blocco evidenziato qui sopra sia commentato. Ciò vi eviterà di osservare una gran quantità di errori nel file di log, relativi a queste periferiche non rilevate, sebbene erroneamente abilitate

Section "ServerLayout"


# InputDevice "stylus" "SendCoreEvents"
# InputDevice "cursor" "SendCoreEvents"
# InputDevice "eraser" "SendCoreEvents"

Per la stessa ragione, va commentato il blocco appena visto.

Identifier "Default Layout"
Screen "Default Screen" 0 0
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection

Section "Files"

# path to defoma fonts
FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "v4l"
Load "vbe"
EndSection

Da non dimenticare l'abilitazione dell'accelerazione grafica...

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "it"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection

Section "Monitor"
Identifier "Monitor Generico"
HorizSync 28.0 - 72.0
VertRefresh 43.0 - 60.0
Option "DPMS"
EndSection

Section "Device"
Identifier "ATI Technologies, Inc. ATI Default Card"
Driver "fglrx"
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "AGPMode" "4"
Option "AGPFastWrite" "True"
Option "EnablePageFlip" "True"

BusID "PCI:6:0:0"
EndSection

Le opzioni appena viste fanno un po' di tutto, dal caricamento del driver fglrx a qualche ottimizzazione per aumentare la velocità di calcolo.

Section "Screen"
Identifier "Default Screen"
Device "ATI Technologies, Inc. ATI Default Card"
Monitor "Monitor Generico"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1440x900"
EndSubSection
SubSection "Display"
Depth 4
Modes "1440x900"
EndSubSection
SubSection "Display"
Depth 8
Modes "1440x900"
EndSubSection
SubSection "Display"
Depth 15
Modes "1440x900"
EndSubSection
SubSection "Display"
Depth 16
Modes "1440x900"
EndSubSection
SubSection "Display"
Depth 24
Modes "1440x900"
EndSubSection
EndSection


Section "DRI"
Mode 0666
EndSection

compiz-3.png

Fatto questo, è tempo di modificare i file di configurazione di GDM.

GDM

Il primo file a essere leggermente cambiato è proprio

/etc/gdm/gdm.conf

In questo file, cercate nella sezione

[servers]

modificate la riga

0=Standard

in

1=Standard

E commentate tutto ciò che inizia per 0, fino in fondo. In pratica, dovrete avere il seguente blocco:


[servers]
# These are the standard servers. You can add as many you want here and they
# will always be started. Each line must start with a unique number and that
# will be the display number of that server. Usually just the 0 server is
# used.
1=Standard
#1=Standard
# Note the VTAllocation and FirstVT keys on Linux and FreeBSD. Don't add any
# vt arguments if VTAllocation is on, and set FirstVT to be the first
# vt available that your gettys don't grab (gettys are usually dumb and grab
# even a vt that has already been taken). Using 7 will work pretty much for
# all Linux distributions. VTAllocation is not currently implemented on
# anything but Linux and FreeBSD. Feel free to send patches. X servers will
# just not get any extra arguments then.
#
# If you want to run an X terminal you could add an X server such as this:
#0=Terminal -query serverhostname
# or for a chooser (optionally serverhostname could be localhost):
#0=Terminal -indirect serverhostname
#
# If you wish to run the XDMCP chooser on the local display use the following
# line
#0=Chooser

## Note:
# is your X server not listening to TCP requests? Perhaps you should look at
# the security/DisallowTCP setting!

# Definition of the standard X server.
[server-Standard]
name=Standard server
command=/usr/bin/X -br -audit 0
flexible=true
# Indicates that the X server should be started at a different process
# priority. Values can be any integer value accepted by the setpriority C
# library function (normally between -20 and 20) with 0 being the default. For
# highly interactive applications, -5 yields good responsiveness. The default
# value is 0 and the setpriority function is not called if the value is 0.

#priority=0

# To use this server type you should add -query host or -indirect host to the
# command line.
[server-Terminal]
name=Terminal server
# Add -terminate to make things behave more nicely
command=/usr/bin/X -br -audit 0 -terminate
# Make this not appear in the flexible servers (we need extra params anyway,
# and terminate would be bad for xdmcp choosing). You can make a terminal
# server flexible, but not with an indirect query. If you need flexible
# indirect query server, then you must get rid of the -terminate and the only
# way to kill the flexible server will then be by Ctrl-Alt-Backspace.
flexible=false
# Not local, we do not handle the logins for this X server.
handled=false

# To use this server type you should add -query host or -indirect host to the
# command line.
[server-Chooser]
name=Chooser server
command=/usr/bin/X -br -audit 0
# Make this not appear in the flexible servers for now, but if you wish to
# allow a chooser server then make this true. This is the only way to make a
# flexible chooser server that behaves nicely.
flexible=false
# Run the chooser instead of the greeter. When the user chooses a machine they
# will get this same server but run with "-terminate -query hostname".
chooser=true
A dire il vero, basterebbe anche solo la modifica da 0 a 1 nella prima riga per impedire che venga lanciato l'Xserver standard, ma meglio andarci con i piedi di piombo fino a quando non avrò sperimentato delle configurazioni ottimizzate.

Ora è il turno del file

/etc/gdm/gdm.conf-custom

Apritelo e inserite le seguenti istruzioni:


[servers]
1=Xgl

[server-Xgl]
name=Xgl server
#la prima riga va bene per schede ATI
#la seconda va bene per schede nVidia
command=/usr/bin/Xgl :1 -fullscreen -ac -accel glx:fbo -accel xv:fbo
#command=/usr/bin/Xgl -ac -accel glx:pbuffer -accel xv:fbo
flexible=true
Il contenuto di questo secondo file dovrebbe eseguire un override sulle impostazioni del primo. In effetti non è così o, almeno, non lo è sempre: senza aggiungere 1=Xgl anche in gdm.conf il gioco non funziona, nel mio caso.

Configurare Gnome

Non rimane che configurare Gnome affinché lanci cgwd, il window decorator e compiz. Pr fare ciò, basterà accedere al menu

Sistema -> Preferenze -> Sessioni

e quindi selezionare l'etichetta

Avvio Programmi

Qui aggiungete queste due stringhe, una alla volta:


cgwd --replace

compiz --replace gconf --sm-disable

Finito. Non rimane che riavviare il sistema e godersi i nuovi effetti grafici con finestre elastiche, ombreggiature diffuse e il famigerato cubo, che potrete ruotare tenendo premuti contemporaneamente

CTRL + ALT + Frecce

oppure, sempre tenendo premuti CTRL + ALT, provate a trascinare il desktop a destra e a sinistra, oppure date un'occhiata all'effetto Exposè, per passare da un'applicazione all'altra, abilitato tramite il tasto

F12

Ma anche ALT + TAB non è da meno...

compiz-2.png

Link:

Pollycoke Ubuntu Dapper + XGL + Compiz Guide
Ubuntu Dapper Installation Guide

SNAP, il nuovo protocollo più veloce dell’ADSL

Ecco il mio primo podcast, semiserio, ovviamente. Lo potete scaricare da qui, oppure ascoltare direttamente online con il riproduttore flash su questa pagina.

[audio:https://www.zarrelli.org/blog/wp-content/uploads/2006/05/2006-05-01-podcast.mp3]

Attenzione: sono 20 minuti per 11 Megabyte.

Di seguito, trovate la traccia utilizzata durante il podcast.

All’inizio fu l’esperimento di Bergen (1999), nel quale venne definito il protocollo “IP over Avian Carriers”, del quale trovate i dettagli nella relativa RFC 2549. A seguito di questa nuova specifica venne introdotta anche una rete B2P (Back to Pidgeons), grazie alla quale, nel 2004, è stato possibile spedire tre piccioni viaggiatori su una distanza di 100 Km., con un payload di 1,3 Gigabit, contenuti in 3 flash card. Esperimento interessante, che ha delineato delle prestazioni indiscutibilmente superiori alla classica ADSL.

Il nuovo protocollo Wi-Fly TCP per le connessioni wireless via piccioni, ha però alcuni limiti:

  1. I piccioni non possono volare attraverso le finestre;
  2. I piccioni non volano nell’oscurità, da cui si deduce che, a seconda della latitudine e del periodo dell’anno, la larghezza di banda si riduce del 50% e oltre su base giornaliera;
  3. Infine, il mezzo di trasporto rilascia deiezioni, il che ne costituisce un correlato strutturale sfavorevole.

Come aggirare i problemi di latenza, larghezza di banda e ingombro strutturale di questo nuovo protocollo? Nel 2005, durante il KinnerNet 2005, internet camp tenuto in Israele, un gruppo di studiosi, fra i quali vanno ricordati Yossi Vardi (ex chairman di ICQ), Shimon Schocken (computer scientist) and Ami Ben Bassat (divulgatore scientifico), hanno definito un nuovo protocollo chiamato SNAP (SNAil-based data transfer Protocol) un protocollo sempre basato su infrastrutture biologiche, che però fa affidamento su un nuovo tipo di vettore, la lumaca (in inglese snail) e un antico sistema di trasporto, la ruota.

Il protocollo SNAP

La definizione del protocollo SNAP si basa su alcuni presupposti architetturali:

  • Il sistema si basa su un backend costituito da un cocchio, in stile Ben-Hur, con un giogo in legno di balsa, molto leggero, completato da due dischi DVD utilizzati come ruote, ognuno della capacità di 4,7 Gigabyte;
  • Il frontend, cui il backend è connesso tramite dei finimenti, è costituito da una lumaca gigante africana (Achatina fulica), rinomata per essere la lumaca più veloce in tutto il pianeta;
  • Pacchetti di trasporto dati: I dati vengono trasportati in 2 pacchetti paralleli da 4,7 Gigabyte ognuno.

NOTA: La lumaca gigante utilizzata per il frontend appartiene alla famiglia dei GastroPodi. L’acronimo G-pod è da tenere in considerazione per future applicazioni dedicate al traferimento di musica, mentre G-mail può essere indicato per il trasferimento di email tramite il protocollo SMTP (Snail Mobile Transfer Protocol).

snap.jpg

Risultati

I calcoli dedotti dagli esperimenti compiuti sull’architettura indicata hanno evidenziato che, nonostante la relativa lentezza del mezzo biologico, il sistema SNAP è riuscito a trasferire i dati più velocemente rispetto a ogni altra tecnologia convenzionale a oggi esistente. La seguente tabella renderà evidente il confronto:

Tecnologia Kbps
V.34 modem 28.8
ISDN 128
ADSL 1.500
Piccioni 2.270
SNAP 37.000

Problematiche inerenti il mezzo di trasporto

Motivazionale

A sfavore di questo nuovo protocollo è da porre in risalto la componente motivazionale del mezzo biologico, il quale non è coinvolto scientificamente o professionalmente nell’avanzamento delle tecniche di comunicazione dei dati.

Allo scopo, è stato necessario individuare un metodo di costrizione che consentisse di mettere in movimento il mezzo biologico. Tale strumento è stato individuato, a seguito di un’accurata consultazione delle letteratura scientifica, nell’incentivazione motivazionale dello strumento tramite l’utilizzo di una fresca frasca di Sativa Lactuca, nota anche come lattuga iceberg, d’ora in avanti indicato come LGS (Lettuce base Guidance Sub-system).

Routing

Visto che i dati debbono essere veicolati fra due precisi punti, una sorgente e una destinazione, si è dovuto individuare un mezzo per regolamentare il movimento del mezzo biologico all’inerno di una traiettoria predefinita. Questo risultato è stato raggiunto posizionando LGS al centro del campo sensorio del mezzo biologico, giusto di fronte ai suoi peduncoli, traendola gentilmente lungo il percorso più breve fra la sorgente e la destinazione. Questo particolare compito è stato svolto da Yossi Hod, un membro del gruppo di ricerca, il quale è anche un pilota commerciale dotato di una significativa esperienza di navigazione.

NOTA: Per ora è stato implementato un sistema di routing di tipo PULL ma vi è la possibilità di adottare un router PUSH based, ponendo dietro al mezzo biologico una mistura di aglio e burro fuso: ciò assicurerebbe alla lumaca la giusta spinta motivazionale in avanti. Aglio e burro fuso possono, in alternativa, essere montati sul cocchio stesso.

Denial of service

In alcune zone nel mondo, soprattutto in Francia, le abitudini gastronomiche locale possono dare luogo al rischio di inibire le comunicazioni tramite una tecnica di denial of service (DOS). In particolare, i francesi dovranno scegliere se vogliono avere dei dati ex-cargo, oppure delle escargot.

D’altra parte, una caratteristica peculiare del protocollo SNAP consiste nell’essere assolutamente immune a rischi di denial of server in quelle zone del mondo dalle tradizioni alimentari kosher.

Vantaggi correlati al nuovo protocollo SNAP

Il nuovo protocollo SNAP consente di risolvere elegantemente alcuni problemi inerenti il protocollo Wi-Fly TCP.

Massimizzazione del mezzo

SNAP consente di ottimizzare il rapporto fra la quantità dei dati trasferiti e la massa del mezzo di trasferimento, in maniera maggiore di quanto raggiunto con il protocollo Wi-Fly TCP. Gli sviluppatori hanno seguito il principio di Efemeralizzazione di Buckminster Fuller, facendo di più con meno, tenendo conto che per trasferire tutti i dati sono stati necessari 1 lumaca vapore di potenza.

Latenza

Come riscontrato per l’utilizzo dei piccioni, anche in questo caso la latenza del mezzo è maggiore rispetto quella raggiunta dalle tecnologie più convenzionali. Ciò nonostante, sebbene ci voglia più tempo affinché il primo pacchetto raggiunga la destinazione, su distanze di poche centinaia di chilometri la latenza di un piccione è minore rispetto a quella assicurata da una spedizione di Netflix, Fedex o dalle Poste.

Funzionamento in ore notturne

A differenza di quanto accade per i piccioni, che non volano di notte, le lumache sono attive anche al buio, ottimizzando quindi il transfer rate rispetto al Wi-Fly TCP.

Rilascio di deiezioni

A differenza dei piccioni, le lumache non rilasciano deiezioni sulla testa di chi si trovi sul suo percorso.

Fonte.

Appendice A: Il modello matematico

Dati

b = dimensione dei dati, in bit

s = durata del trasferimento dei dati, in secondi

Tenendo presente questa notazione, il livello di prestazione raggiunto dal sistema può essere espresso con la seguente uguaglianza:

bps = b/s bit per secondo

Dato che ogni DVD contiene 4,7 Gigabyte di dati, è possibile indicare:

b = 4.700.000.000 * 8 bit * 2 dischi = 75.200.000.000

Il sistema basato su protocollo SNAP ha impiegato 34 minuti e 10 secondi per completare il trasferimento dei dati e quindi:

s = 34 * 60 + 10 = 2.030 secondi

Dati alla mano, quindi, è possibile formalizzare la prestazione del sistema utilizzando l’uguaglianza definita in precedenza:

bps = 75.200.000.000 / 2.050 = 36.682.926

NOTA: E’ importante osservare che tutte le misurazioni sono state effettuate da un osservatore a terra. Se venissero prese direttamente su una lumaca in movimento, i tempi risulterebbero ridotti, in accordo con la teoria della relatività di Einstein.

NOTA: La distanza percorsa dal mezzo biologico durante le misurazioni prese nel corso dell’esperimento è di 52 centimetri, il che porta a un interessante transfer rate di 37 Megabit/secondo.

Appendice B: SNAP II

E’ già allo studio una seconda versione del protocollo SNAP, che consenta di ridefinire il punto debole dell’architettura, rappresentato da LGS. In particolare, il sistema LGS richiede ancora l’intervento di un operatore umano, il che risulta ingombrante e dispendioso.

Nella nuova versione del protocollo, LGS verrà ridefinito in modo da funzionare autonomamente, ponendo un’elegante soluzione ai problemi motivazionali riscontrati in SNAP.

Da notare che SNAP II non ha ancora evidenziato una soluzione agli scarsi livello di servizio riscontrati in Francia, paese ad alto rischio di denial of service.

Appendice C: Le leggi della lumaca

IBM: Il mondo avrà bisogno di sole cinque lumache;
DEC: Nessuno vorrà una lumaca a casa propria;
Microsoft: La nuova lumaca Longhorned (dal lungo peduncolo) è in arrivo;
BillG: Una lumaca a 649 Kbps. sarà più che sufficiente per chiunque;
SUN: La lumaca è la rete.

Appendice D: Musiche utilizzate nel podcast

Le musiche utilizzate nel podcast non sono sottoposti a vincoli SIAE:

Remember the Name (Mystro 1965 Mix).
The Free Software Song.

Bootcamp: da OS X a Windows per il “superior hardware”

Dopo aver lasciato sbizzarrire gli hacker in complicate conversioni, per portare OS X su PC, Apple ha rilasciato ieri Bootcamp, un “invertitore di flusso” per il mercato hardware, più che software. Cosa significa “invertitore di flusso”? Ci torneremo in seguito. Per ora limitiamoci a capire a cosa serve Bootcamp: semplicemente, si tratta di un’utility grafica che semplifica il lavoro di ripartizionamento del disco di un Mac Intel, automatizzando nel contempo la creazione di un cd di driver tramite il quale diventa possibile installare Windows XP sulle nuova macchine Apple, senza troppi problemi. Basta armarsi di un cd di installazione originale di Windows XP, un cd vergine sul quale masterizzare i driver, lanciare Bootcamp e alla fine riavviare il computer: l’utente si ritroverà con un sistema dual boot OS X/Windows XP, praticamente il sogno di molti che ancora non vogliono acquistare un Mac per paura di abbandonare un sistema operativo ben conosciuto e familiare come quello di Microsoft. Da notare che Bootcamp è disponibile per ora in forma di beta gratuita liberamente disponibile, ma sarà integrato nella prossima release di OS X, denominata Leopard e questo lascia pensare a qualcosa più di una semplice helper utility, buttata lì quasi casualmente.

Ma tutto questo, giova veramente e solamente all’utente?
Proviamo a compiere due riflessioni senza rete.

E’ interessante richiamare alla mente la strategia di posizionamento di Apple nella catena di valore che definisce la redditività di un prodotto di largo consumo come iPod: dalla creazione, alla distribuzione, alla fornitura di contenuti digitali, tenuta alla briglia dal DRM applicato ai prodotti iTunes, quasi tutta la filiera è saldamente nelle mani di Apple. Indubbiamente ciò è un bene per l’utente finale: Apple ricava a ogni passaggio un piccolo guadagno e il prezzo di ogni singolo stadio si attesta su valori tutto sommato bassi. E’ l’azione sinergica dovuta al possesso dei vari anelli della catena del valore a consentire che ogni step sia poco oneroso, garantendo nel contempo un buon guadagno complessivo del prodotto iPod, visto come unione fra prodotto materiale e contenuti multimediali offerti dallo stesso player, la casa di Cupertino.

A ben vedere, si tratta della stessa strategia perseguita nel tempo da Apple anche con i prodotti Mac: chiusura verso l’esterno, hardware proprietario, sistema operativo proprietario. Ma questa non ha avuto la stessa fortuna incontrata da un prodotto tutto sommato a basso costo e dall’acquisto compulsivo quale è l’iPod. E basta ritornare al 1997 per sentire Michael Dell suggerire la sua soluzione alla crisi profonda nella quale Apple versava in quegli anni: chiudere l’azienda e restituire i soldi agli azionisti.

Si era al culmine di una parabola discendente, di un meccanismo di produzione di valore negativo, fallito, rimasto confinato in una nicchia di utenti per lo più “creativi”, certo non di massa, tant’è che solo nel 2000 Jobs riesce a recuperare una situazione finanziaria critica e a ridare fiato all’azienda con l’introduzione dell’iPod, ma siamo nel 2001.

Di massa era sicuramente Windows, un sistema tutto sommato sul limine opposto a quello di Apple: un sistema operativo per nulla integrato con la soluzione hardware pilotata, aperto alle incursioni di produttori di ogni dove.

Il risultato? Computer meno costosi, sistema operativo estremamente diffuso, apertura di Microsoft sul fronte delle applicazioni. Non c’è da nascondersi che il fatto di produrre un sistema operativo avvantaggi chi sia intenzionato a scrivere delle applicazioni per questo sistema e Office è la maggior fonte di rendita per Microsoft: è ovunque, utilizzato da chiunque, per qualunque scopo. Ovviamente generalizziamo, ma è una generalizzazione che rende l’idea.

Se Office è la principale fonte di guadagno di Microsoft, più di Windows stesso, nelle sue varie forme, quale è il peso della strategicità dello scrivere o possedere il sistema operativo sul quale questo risiede?

Non sfugge certo il tentativo di Microsoft di spostate parte del business su Live, la piattaforma che centralizzerà gli applicativi e i dati da essi prodotti sui server remoti gestiti da Microsoft stessa. Progetto inseguito da molto tempo, ma che solo l’avvento del broadband diffuso ha consentito di rendere un’idea praticabile, spostando la produttività dal computer periferico, fondamentalmente incontrollabile, a una sorgente di erogazione di servizi remota, centralizzata, maggiormente controllabile.

Il sistema operativo si sta lentamente “virtualizzando”, diventando accessorio rispetto alle applicazioni, ai programmi, che siano dedicati alla produttività d’ufficio, alla gestione delle email, ai giochi ormai molto diffusi online.

E veniamo all’hardware. I Core Duo di Intel non sono una prerogativa esclusiva di Mac e gradatamente, senza troppo clamore, nelle fasce più alte di prodotto, soprattutto per i notebook, stanno arrivando i nuovi processori Intel, associati ai chip di Trusted Computing.

Ma cosa frena gli utenti dal prendere OS X funzionante su processore INTEL e portarlo sulle piattaforme PC dotate dello stesso tipo di CPU? Nulla, in effetti già qualcosa è stato fatto aggirando la protezione dei chip TC presenti, finora sfruttati al minimo delle loro potenzialità.

Prendendo la palla al balzo, però, Apple inverte i termini del gioco: perché portare OS X su PC, quando è Windows che può essere fatto scivolare senza problemi dentro un Mac Intel?

Lo scambio dei fattori, a ben vedere, è molto più redditizio. Non è il portare un sistema software “sconosciuto” su una piattaforma hardware familiare ad ampliare la base di mercato, ma è proprio il contrario, cioè portare un sistema operativo familiare su una piattaforma hardware sconosciuta.

A ben vedere, portare OS X su PC non ha né molto senso nè grandi vantaggi: la piattaforma Mac ha sempre goduto di buone prestazioni e affidabilità proprio per la forte compenetrazione fra sistema operativo e hardware, entrambi in mano ad Apple e quindi ben conosciuti e ben sfruttati. Muovere qualche passo nel mondo dei PC costringe a inerpicarsi in quella babele di periferiche, schede e processori che hanno reso si molto diffuso Windows ma ne ha anche limitato le prestazioni e inficiato la stabilità.

OS X, in fin dei conti, non ne avrebbe molto da guadagnare soprattutto se si tiene conto degli sforzi compiuti da Apple per accreditare i propri computer come oggetti di qualità, facili da utilizzare e costruiti con materiali di buona fattura.

Ha maggior senso l’operazione inversa: portare gli utenti Windows dalle piattaforme hardware PC a Mac.

Perché? Sostanzialmente per eliminare un gap sostanziale che ostacola la diffusione di OS X, ovvero la diffidenza di quegli utenti che sono nati in Windows e cresciuti con le sue applicazioni. Chi si butterebbe a corpo libero in un sistema operativo sconosciuto, con il timore di non ritrovarvi le applicazioni di sempre?

Lungi dal pensare all’utente avanzato, Apple ha a che fare con il cliente che utilizza il computer prima ancora di comprenderlo, che lo accende e vi ritrova quelle applicazioni che è solito utilizzare. Questi possono essere portati a OS X essenzialmente con due operazioni sinergiche:

  1. Con la riaffermazione dell’immagine di prodotto. Mac è semplice, Mac è user friendly, Mac funziona e non ha schermate blu, rosse o verdi. Mac è, dopo il successo di iPod, ancora più trendy, definisce uno stile di vita, un’immagine di sé, veicolata dal prodotto, vincente. Determina una identità di appartenenza a un gruppo connotato da forti attributi positivi e di integrazione sociale;
  2. Rassicurazione dell’utente. In OS X si possono ritrovare le applicazioni che vengono utilizzate in Windows. E se non vi sono, ora diventa possibili tenere Windows su Mac, accanto a OS X, e utilizzare uno o l’altro, forse il meglio di uno e dell’altro.

La transizione, quindi, può non solo completarsi, ma, aspetto più interessante, può iniziare.

L’utente è blandito e rassicurato, viene traghettato in una immagine positiva e nel contempo non è costretto ad abbandonare il mondo di riferimento, un po’ come un bambino che muova i primi passi attaccato alla gonna della madre.

Cosa ci guadagnerebbe Apple? Sicuramente inizierebbe a traghettare nel proprio mondo tutti quegli utenti curiosi, interessanti, ma poco disposti ad abbandonare un sistema operativo, o meglio una serie di applicazioni, utilizzate quotidianamente, a casa come in ufficio.

Altrettanto sicuramente, porterebbe questi utenti a conoscere OS X, visto che Windows XP si installerà solo come secondo sistema operativo, lasciando presente e attivo il sistema nativo Apple.

Infine, porterebbe i clienti a scoprire la qualità dell’hardware Apple, definito nelle parole di Philip Schiller, senior vice president del Worldwide Product Marketing di Apple “superior hardware”, che quindi sarà “more appealing to Windows users considering making the switch”.

Ma a discapito di chi andrà questa transizione? Di Microsoft? Difficile a dirsi. Certo è che se si vogliono cogliere segnali di nervosismo, questi andrebbero, per ironia, attribuiti a Dell, che ha appena acquisito Alienware, azienda specializzata nella produzione di computer che, non a caso, costituisce in parte un omologo di Apple nel mondo dei PC: crea hardware di qualità e computer dall’aspetto molto curato.

Microsoft, dal canto suo, può tutto sommato rimanere a guardare: il proprio sistema operativo inizia un viaggio su piattaforme del tutto nuove, mentre proprio lì dove finora arrivava con difficoltà, nel mondo Apple, ora può entrare a pieno titolo, con le proprie applicazioni in modalità nativa. Se, poi, dovesse perdersi il sistema operativo lato consumer, non è su quello che si crea business, ma su Office, che già ora sta guardando a nuovi orizzonti, lasciandosi dietro i vecchi PC “disconnessi”.

E così Apple arriverebbe a coronare un vecchio sogno, ovvero arrivare a controllare la catena di produzione del valore associata ai computer, strategia riuscita con iPod, assolutamente fallita con i Mac, non tanto per una questione di controllo, quanto per una resa produttiva inficiata dai numeri finora troppo bassi.

Di sfuggita, potremmo accennare a un nuovo problema: con l’avvicendamento di nuovo hardware pare ridursi la fetta di computer privi dei nuovi chip dedicati al Trusted Computing. DRM e TC, due facce della stessa medaglia, paiono essere i leitmotiv dell’industria dei prossimi anni, impegnata a gestire, salvaguardare e ottimizzare la gestione dei contenuti sulle piattaforme end user, decidendo chi può fare cosa, dove e quando.

Cosa fare se il mercato pare imprimere una decisiva svolta in questa direzione? Ci ritroveremo, come per i monitor LCD, senza più la possibilità di scegliere computer non TC? Già, perché basta andare in un qualsiasi centro commerciale per accorgersi che è il mercato dei computer a formare la domanda e non viceversa: provate a cercare un vecchio monitor a tubo catodico. Semplicemente, non se ne fanno più.

E quando non si faranno più computer privi di TC e DRM? Dovremo iniziare a pensare in termini di Hardware Libero? Difficile. Se nel mondo del software la creatività è affiancata da un ridotto costo materiale, nella sfera dell’hardware il discorso cambia radicalmente. Una scheda madre va ingegnerizzata, realizzata in prototipi, provata per poi essere messa in produzione su una linea di gestione appositamente attrezzata. E tutto questo richiede investimenti non comparabili con quelli richiesti per lo sviluppo di un progetto unicamente software.

C’è chi riduce la questione dei DRM a una semplice questione di interoperabilità, tesi interessante ma fuorviante, e chi tenta di far passare il Trusted Computing come strumento essenziale per combattere virus, troiani e malware in generale.

Ma chi ha da guadagnarci in tutto questo?

L’utente, tutto sommato, ben poco. Su gnuvox trovate una serie di link utili a risorse per approfondire i problemi legati ai DRM.

Il mercato ha tutto da guadagnarci, rafforzando il controllo sui “contenuti”, nuova parola d’ordine per il futuro prossimo venturo.

E quando non avremo più scelta? Dove vorrete andare, domani?

GNUvox: la voce del software libero

gnuvox-header.jpg

Ecco GNUvox, il punto di riferimento per il software libero nel panorama dell’informazione. Free Software Foundation Europe aveva bisogno di comunicare le molteplici tematiche tecniche, operative e socio/politiche che la impegnano. E siamo qui, pronti a farlo.

L’attività di GNUvox ruoterà intorno al sito/blog gnuvox.info pubblicato con CommunicaGroup dell’editore Ajroldi. La linea editoriale è basata sull’individuazione di alcuni settori cruciali che verranno coperti dalla redazione e dai vari collaboratori attraverso una serie di spazi/categorie specifici: dall’attualità alle rassegne stampa/web, dalle interviste ai dossier, dalle recensioni alle traduzioni.

Ci rivolgeremo ad un pubblico ampio e variegato perché GNUvox vuole essere uno spazio che si allarga per spiegare al meglio l’importanza del software libero per tutti noi, come ribadisce il nostro slogan: “Software libero, società libera”. La sfida sarà trovare un nuovo linguaggio per allargare la comunità del software libero, senza abbandonare la precisione che da sempre caratterizza le FSF. Ma siamo fiduciosi perché abbiamo una squadra di persone esperte, che contiamo di affiancare con i contributi di chiunque vorrà coinvolgersi.

Abbiamo di fronte dei mesi vivaci: già il 30 Marzo e poi a fine Aprile ci saranno le audizioni di FSFE per il processo dell’antitrust europeo; a Giugno verrà presentata la seconda bozza di GPLv3. Ci saranno incontri, eventi e conferenze da raccontare. Ci auguriamo di sentire la forte anche la vostra voce: inviateci commenti, segnalazioni e, perché no?, anche i vostri pezzi per entrare a far parte della squadra di GNUvox

GPLv3 Update, #5

What is “TiVo-ization”?

TiVo-ization” means building systems on top of free software that restrict users’s freedoms to modify that software itself. Without the ability to upgrade, the freedom to make modifications is useless. And that’s one of the freedoms the GPL was always intended to protect.

Cosa è la “TiVo-izzazione”?

“TiVo-izzazione” significa costruire al di sopra del software libero dei sistemi che restringano la libertà degli utenti di modificare quello stesso software. Senza la capacità di aggiornare, la libertà di apportare modifiche è inutile. Ed questa una delle libertà che da sempre la GPL ha inteso proteggere.