»
S
I
D
E
B
A
R
«
Facciamo ordine
mar 24th, 2009 by Fradeve

Negli ultimi due mesi mi sono dedicato ad una maniacale opera di sistemazione della mia vita. Troppe cose in sospeso, troppe idee in giro e troppi progetti non conclusi. L’obiettivo, da adesso a settembre, sarà quello di chiudere un pò di parentesi. Ovviamente tutto questo passa anche (e soprattutto) per il mondo della cultura libera, e per i progetti liberi che seguo ed a cui partecipo attivamente: Ubuntu-it, OpenMoko, i progetti della Wikimedia Foundation ed OpenStreetMap.

In questi 90 giorni, la necessità di ordine si è tradotta in:

  • acquisto dall’IKEA di Bari delle meravigliose scatole Samla, che riescono a contenere (impilate l’una sull’altra in un angolo della stanza) tanta di quella cavetteria elettronica che prima vagava allegramente da uno scatolo ad un cassetto, da una scrivania al pavimento.
  • riordinamento della libreria (a cui presto seguirà la pulizia libro per libro; chiamatelo debugging se volete);
  • riordinamento delle foto nel mio account Flickr, e caricamento di video che erano a fare la muffa sull’hard disk da secoli; molti video devono ancora essere caricati;
  • restyling della mia Ubuntu su Poe (il mio Dell Inspiron 640m che uso come “fisso” in camera); ho sostituito l’inutile Emerald con il decoratore di GNOME;
  • riordinamento della collezione dei brani musicali (14.500) con Amarok, download delle copertine e divisione scientifica in cartelle;
  • switching da quella pesante schifezza di Basket alla sublime eleganza e funzionalità di TomBoy per tenere nota delle idee;
  • backup delle impostazioni dei programmi principali in Dropbox (ne ho già parlato per TomBoy);
  • alleggerimento della mia memoria (cerebrale) con l’utilizzo di PasswordHasher, per peter usare una sola meta-password per tutti i servizi a cui sono iscritto (grazie a Sdonk, c’è voluta una notte intera per cambiare le passw a tutti i servizi a cui sono iscritto);

Resta ancora da fare:

  1. dedicare molto più tempo alla mia ragazza :D
  2. dare inderogabilmente un esame al mese all’università (e fin qui ci sto riuscendo :D )
  3. passare tutti gli appunti e le dispense scritte in LaTeX di quest’anno di università su Wikiversity
  4. digitalizzare tutte le foto di famiglia (diverse centinaia) e caricarle su Flickr (proposito per l’estate)
  5. finire il mio albero genealogico indietro a 6 generazioni con Gramps (eccezionale, provatelo!)
  6. backup della Home e degli HD esterni (appena avrò acquistato un HD da 1tera)
  7. rigorosa gestione della mia collaborazione con i progetti che seguo, con l’impostazione di una roadmap mensile da rispettare (troppo Python da scrivere, troppe voci da tradurre su it.wiki per poterle tenere a mente)
  8. finire di mappare Terlizzi su OpenStreetMap
  9. finire di scrivere le voci per Terlizzi su it.wiki
  10. testare BackTrack 3 su una vecchia penna USB
  11. postare sul blog tali e tanti di quei post (quasi pronti) da far venire mal di testa al lettore

Come vedete le idee sono tantissime, il tempo poco. Prossimamente pubblicherò una roadmap dettagliata sulle mie attività nei progetti liberi, con cadenza settimanale :)

Dropbox: più spazio e un wiki
feb 28th, 2009 by Fradeve
Unboxing my new HP, NYC, 5/17/08 - 5 of 34

Il servizio di file sharing di Dropbox (anche se detto così, lo so, è riduttivo) continua a stupire: invitando degli amici ad usarla, nel momento in cui questi installeranno il client sul proprio PC, verranno automaticamente “donati” all’utente che ha inviato l’invito 250 Mb di spazio aggiuntivo (per sempre); si potranno comunque ottenere al massimo 6 Gb aggiuntivi.

Inoltre, ho notato che ultimamente è stato anche attivato un Wiki, da cui attingere preziosissimi consigli per noi utenti GNU/Linux, come installare il client Dropbox su un sistema col pinguino senza interfaccia grafica (da terminale – in Python), oppure come sincronizzare in Dropbox file presenti anche in altre cartelle del sistema. Ma le soprese non finiscono qui… sul Wiki ci sono spunti veramente interessanti, consiglio una lettura anche veloce!

TomBoy + DropBox + GnomeDO, il trio irresistibile
feb 24th, 2009 by Fradeve

Dopo aver usato per quasi un anno e mezzo Basket¹, e dopo essere passato (un anno e mezzo fa) a GNOME da KDE, oggi mi sono finalmente redento all’irresistibile fascino di TomBoy, l’arcinoto programma per prendere note ed appunti sull’ambiente desktop GNOME.

Dando per scontato che lo conosciate tutti, non sto qui a tessere le lodi del software giallo ed appiccicoso. Invece, proprio oggi ho ripensato allo storico detto:

Il mondo è diviso in due categorie di persone: chi ha perso i dati, e chi li perderà.

Per carità, il mio laptop (nonchè PC principale) gode di ottima salute anche dopo aver attraversato 3 upgrade di Ubuntu. Però, sapete com’è… non si sa mai. E poi in università mi porto dietro l’Asus 901, e mi piacerebbe avere le mie note TomBoy aggiornate con quelle prese “a casa”. E allora? Allora, TomBoy offre tre tipi di servizi di sincronizzazione delle note: uno con sshfs (con FUSE), l’altro con un server WebDAL, ed infine uno con una cartella locale.

Ora, provate a guardarmi in volto: non sono tipo che mette su un servizio sshfs o un server WebDAL solo per sincronizzarsi le note sui pc. Invece, sono un affezionato utente DropBox. Ciò significa che ho creato nella mia dropbox una cartella di nome “tomboy” e ho ordinato ad entrambi i TomBoy (quello sul Dell di casa e sull’Asus nello zaino) di usarla come cartella di sincronizzazione locale delle note. Risultato: note sincronizzate tra i due pc, via internet, senza il minimo sforzo!

Infine, un paio di cose: il plugin “Tomboy” di GnomeDO integra una funzione veloce per creare/modificare/cercare note all’interno di TomBoy senza staccare le mani dalla tastiera, consiglio vivamente l’attivazione. Inoltre, TomBoy è estensibile con un plugin che trovo molto utile, reminder. Questo plugin ha lo scopo di far saltare in primo piano la nota in un giorno stabilito dall’utente, in maniera tale che l’utente se ne ricordi.

Per installarlo, scaricare questo file ed inserirlo nella cartella dei plugin di TomBoy, con il seguente comando da terminale (che necessita di password di amministratore):

sudo mv tomboy-reminder.dll /usr/lib/tomboy/addins/

Detto ciò… Buon lavoro!!

¹ Il solito programma per KDE, troppo carico di opzioni spesso inutili, grosso, troppo complicato, poco maneggevole.

Neo FreeRunner con SHR: finalmente un telefono utilizzabile!
feb 23rd, 2009 by Fradeve

Come molti di voi sapranno, nel luglio 2008 un’intraprendente società taiwanese ha rilasciato la prima versione “mass market” del Neo FreeRunner, il primo telefono/palmare completamente open source della Storia. Sono passati molti mesi dal rilascio, e tutto il mondo si è precipitato a creare la propria versione del sistema operativo per il palmare, partendo da zero o “portando” qualcosa che già esiste (è quest’ultimo il caso di Debian e Gentoo).
Comunque, la FIC paga un consistente numero di sviluppatori per lavorare ad una versione “ufficiale” del sistema operativo, chiamato OpenMoko, e che in linea teorica vorrebbe diventare IL sistema operativo per dispositivi palmari, compatibile con quanti più modelli possibili. Non si può creare un sistema operativo universale per palmari in 1 anno, ma almeno sul Neo FreeRunner le cose sembrano andare per il meglio. Dopo qualche delusione dovuta all’ultima versione di OpenMoko (datata a Dicembre 2008), e dopo aver cercato di riparare ai continui freeze installando il kernel compilato da Trevino, ho deciso di spostarmi definitivamente sulla versione più aggiornata del sistema, SHR (Stable Hibrid Release), che pur essendo disponibile in versione “unstable”, offre un stabilità e un look veramente accattivanti.

Cos’è SHR?
Quando si è pensato ad un sistema operativo per palmari, si è avuta la necessità di creare un framework basato su Dbus al quale tutti gli sviluppatori potessero fare riferimento per creare le proprie applicazioni. Questo framework per palmari non esisteva, e ci sta pensando un impiegato della FIC, Mickey Lauer. Come per il desktop, si è scelto di rispettare le specifiche di Freedesktop.org, creando Freesmartphone.org, al fine di ottenere una base Dbus comune per tutte le distribuzioni GNU/Linux per palmari.
Quindi, SHR è una versione di OpenMoko che ha come base FSO (Free the SmartPhone), che dovrebbe rappresentare lo stack del futuro, come Freedestkop.org lo è adesso per tutte le distribuzioni desktop GNU/Linux (compresa Ubuntu). Per questo, il nome SHR: “rilascio ibrido stabile“.
Insomma, alla FIC si sta costruendo il futuro di GNU/Linux sui palmari.

Quale versione installare?
SHR è disponibile sia in versione “stable” che “unstable”: quella stable – non ancora disponibile – sarà un freeze delle caratteristiche alla data prescelta. La unstable attualmente disponibile è in costante lavorazione, ma è sufficientemente stabile da poter essere usata come telefono quotidiano, più di OpenMoko 2008.12. È inoltre disponibile la versione “lite” del filesystem di root, più leggera e veloce da scaricare sul pc e flashare sul Neo.

Perchè SHR (Pro)?

  • Perchè il suo stack basato su FSO è il futuro di GNU/Linux su dispositivi mobile;
  • Per la manegevolezza di una versione di Illume personalizzata per la distribuzione e molto finger-friendly;
  • Per il power management: la batteria in standby arriva a durare anche 60 ore, contro le 24 – 30 ore di OpenMoko di Dicembre.
  • Perchè è aggiornata costantemente, al contrario di OpenMoko 2008.12;
  • Perchè non utilizza Qtopia, che appesantisce il sistema a fronte di una suite PIM comunque incompleta e non perfettamente aderente alle esigenze di OpenMoko;
  • Per l’eliminazione dell’eco quando è attivo il viva voce;
  • Per un manager delle impostazioni in Python completamente personalizzabile ed espandibile, e che comunque comprende tutto ciò di cui c’è bisogno per controllare il palmare (al contrario del “Settings” di OpenMoko).
  • Perchè supporta i messaggi speciali dell’operatore (per esempio il numero *123*15# della Wind per visualizzare i minuti residui di una certa promozione);
  • Perchè finalmente funziona il led BLU/ROSSO sotto il tasto Power;
  • Perchè la gestione di GSM, GPS, Bluetooth e Wifi è completamente centralizzata e attivabile su richiesta dei vari programmi (questo sistema lo spiegheremo meglio in seguito).

Perchè evitarla? (Contro)

  • Per il bug del Gtk+-fastscaling (facilmente risolvibile con un –force-depends, come vedremo di seguito)
  • Per qualche minore problema di instabilità (mi è capitato un paio di volte in 1 settimana che la vibrazione continui anche dopo aver risposto ad una telefonata, costringendomi al riavvio del cell).

Installazione
Personalmente ho installato shr-lite-image-om-gta02.jffs2 e uImage-2.6.28-[...].bin, ovvero le ultime versioni del filesystem di root e del kernel (suggeritemi nella mailing list ufficiale). Ricordo al gentile lettore che le immagini possono essere comodamente flashate nel Neo usando NeoTool.
La prima cosa da fare dopo il primo boot è riavviare il Neo, perchè al primo boot il GSM non funziona. Fatto ciò, potremo constatare al successivo riavvio che di default funziona il collegamento ad internet via USB e funziona anche SSH.

Sistemare il tasto Power
Di default, alla pressione del tasto Power, appare prima un menù che comprende le opzioni per lo standby, lo spegnimento e la chiusura della sessione (proprio come un pc!), poi il Neo và in standby. La spiacevole quanto inutile apparizione del menù può essere evitata dando i seguenti comandi:

  1. xrandr -o 1
  2. fare click sulla chiave inglese presente nell’angolo in alto a sinistra della barra superiore
  3. fare click su “input” e poi su “key binding”
  4. cancellare la voce: “Execute” e applicare le modifiche con il tasto “Apply”

Risolvere il problema del pacchetto gtk+-fastscaling
In SHR (ed FSO se ricordo bene) il pacchetto gtk+-fastscaling è stato rinominato semplicemente in gtk+, ma molti programmi non lo sanno, per questo hanno come dipendenza il fastscaling che in realtà è già installato nel sistema come “gtk+”. Quando si vanno ad installare pacchetti del genere, può capitare di ricevere un errore e si interromperà l’installazione. Per ovviare a questo problema, sarà sufficiente ridare il comando di installazione, inserendo la dicitura –force-depends tra opkg e install. Ad esempio, per installare Navit:


opkg --force-depends install navit

Inserire un tasto per lo spegnimento
Dopo aver eliminato il menù che appare alla pressione del tasto Power, non ci sarà più modo di spegnere il Neo senza un terminale. Possiamo ovviare a questo problema creando uno shortcut sul desktop. Basterà inserire il seguente file, che chiameremo shutdown.desktop nella cartella /usr/share/applications/


[Desktop Entry]
Encoding=UTF-8
Version=0.7
Name=Shutdown
Type=Applicat=UTF-8
Version=0.7
Name=Shutdown
Type=Application
Comment=Show System Processes
Terminal=true
Exec=shutdown now
Path=
Icon=/usr/share/icons/openmoko-standard/128x128/apps/openmoko-system-default.png
Categories=ConsoleOnly;System;Application;
GenericName=Process Viewer
Categories=Office;
Exec=shutdown now

Una nota su GPS, Bluetooth, GMS e Wifi
Il nuovo framework FSO su cui si basa SHR ha il grande vantaggio di tenere spenti tutti questi servizi all’avvio del sistema. Inoltre, esso si pone come “gestore” di questi servizi tra le applicazioni ed il kernel; in altre parole, noi non avremo bisogno di “attivare” il GPS prima di aprire TangoGPS o Navit: sarà sufficiente aprire uno di questi programmi, e poi ci penserà il sistema operativo ad attivare il GPS. Nella stessa maniera, quando chiuderemo tutti i programmi che utilizzano il GPS, il ricevitore verrà spento. Il Wifi ed il Bluetooth devono essere accesi e spenti “manualmente” dall’apposito menù Settings. Anche il GSM come il GPS viene acceso solo su richiesta dal sistema operativo, ed in particolare questa richiesta avviene nel momento stesso dell’accensione del Neo, quindi a noi sembra che venga acceso di default. Se vogliamo risparmiare sulla batteria e non ci serve il GSM, possiamo disattivarlo dal menù Settings. Molto comodo, non trovate? Niente di tutto questo esiste su OpenMoko 2008.12.

TangoGPS e Yaouh!
Yaouh è un’applicazione scritta da un italiano, Carlo Minucci, che scansiona tutte le mappe presenti in TangoGPS e le aggiorna scaricando da OpenStreetMap solo le parti che sono state aggiornate dopo l’ultimo rendering settimanale (che avviene ogni giovedì solitamente). Purtroppo, a partire dall’ultima versione di TangoGPS, la 0.9.5, i repository delle mappe del programma vengono scritti all’interno del codice stesso del programma, e non sono più reperibili da Yaouh!, che non riesce quindi a scaricare alcun aggiornamento.
Per ovviare a questo inconveniente, almeno per le mappe “standard” di OpenStreetMap (quelle di Mapnik, per capirci), è sufficiente sostituire nel file ~/.gconf/apps/tangogps/%gconf.xml questa riga:


<entry name="repo_name" mtime="1234965934" type="string"> <stringvalue>OSM</stringvalue>  </entry>


con questa


<entry name="repo_name" mtime="1234965934" type="string"> <stringvalue>OSM|http://tile.openstreetmap.org/%d/%d/%d.png|/home/root/Maps/OSM|0</stringvalue>  </entry>

rispettando gli spazi e la sintassi del resto del file. Attenzione però: il file in quesione viene sovrascritto da TangoGPS ad ogni chiusura del programma, quindi dopo aver modificato il file aprite Yaouh! e aggiornate le mappe senza aprire/chiudere TangoGPS, altrimenti avrete perso tempo…

Navit
La versione più aggiornata di Navit installabile sul Neo è quella SVN, e può essere installata dando i seguenti comandi:


echo src navit http://download.navit-project.org/navit/openmoko/svn >/etc/opkg/navit-feed.conf
opkg update
opkg install navit
Scarichiamo la cartografia italiana di OpenStreetMap aggiornata settimanalmente
fornita da CloudMade, da qui, e dopo averlo estratto dall'archivio, spostiamo il
file nella cartella ~/.navit
Quindi, bisognerà sistemare il file di configurazione, con il seguente comando:

cp /usr/share/navit/navit.xml ~/.navit/navit.xml

Adesso inseriamo nel file una nuova dicitura "mapset", più o meno nei pressi
del rigo 148:


<mapset enabled="yes">
               <map type="binfile" enabled="yes" data="/home/root/.navit/italy.navit.bin" />
</mapset>

Fatto ciò, possiamo ancora fare in modo che Navit visualizzi i tasti "+" e "-"
per lo zoom, per ingrandire e diminuire lo zoom della mappa durante la navigazione,
portando da "enables=no" a "enables=yes" le voci ai righi 53 e 54:


<osd enabled="yes" type="button" x="-96" y="-96" command="zoom_in()" src="zoom_in.xpm"/>
<osd enabled="yes" type="button" x="0" y="-96" command="zoom_out()" src="zoom_out.xpm"/>

Tutte le indicazioni per il tweak dell'interfaccia grafica di Navit sono qui.
Per usare Navit è molto utile ruotare lo schermo in orizzontale; è possibile ottenere una comoda applicazione con tanto di
icona nel menù per farlo, installando questo pacchetto.

Qualche screenshot

UGS
feb 20th, 2009 by Fradeve

UGS è uno script in Python realizzato per automatizzare l’inserimento delle nuove voci all’interno del Portale Giochi del Wiki
di Ubuntu-it. In particolare, lo script si occupa di facilitare la
compilazione della tabella informativa relativa ad ogni gioco, oltre a
svolgere altre varie funzioni. Lo script è rilasciato sotto licenza GPL v3.

Utilità

Lo script permette di evitare errori comuni durante la scrittura delle pagine di wiki nel Portale Giochi:

  • permette anche ai meno esperti della formattazione wiki di poter completare la tabella descrittiva senza difficoltà;

  • permette anche ai meno esperti di ottenere facilmente il codice da inserire nelle pagine di lista (Giochi/Azione, RpgMmorpg, ecc.);

  • evita che si possa creare una nuova pagina con un NomeWiki errato (controllo NomeWiki sia sul nome del gioco che su quello dell’utente);

  • evita che si dimentichi di inserire la licenza;

  • evita che vengano caricate immagini con lo stesso nome, o con nomi non significativi;

  • evita che si dimentichi la Category in fondo alla pagina;

Download e Avvio

  1. La versione più aggiornata dello script è attualmente scaricabile da qui

  2. Al termine del download,

    estrarre il pacchetto; è possibile anche farlo da terminale, con il comando

    cd
    unzip ugs-*.zip
  3. Eliminare l’archivio, ormai inutile, con il comando

    rm ugs-*.zip
  4. Entrare nella cartella dello script ed eseguirlo, con i comandi

    cd ugs
    python ugs.py

Rilasci e versioni

0.8.8

  • aggiunto supporto per tutti i browser (Firefox, Konqueror, Lynx, Netscape); dovrebbe supportare anche Internet Explorer;

  • supportato
    l’inserimento di “qualsiasi” nei campi Processore, RAM e Scheda video
    (automaticamente convertito in minuscolo nel caso si scriva
    “Qualsiasi”);

  • aggiunta la pulizia dei file dalla cartella ugs/risultati, ed eliminati eventuali messaggi d’errore legati all’assenza del file opzionale lista.txt;

  • è stato pulito un bel pò il codice, e create le funzioni “def” per snellire il processo del NomeWiki e della pulizia dei file.

0.8

  • aggiunto controllo su quantità di RAM (MiB, GiB);

  • aggiunto controllo sulla grandezza del download (KiB, MiB);

  • aggiunto controllo sull’indirizzo del sito (supporto per “http://“, “www” e “ftp://“);

  • migliorata leggibilità e pulizia dello script; ordinate sequenze delle azioni.

0.7

  • aggiunta funzione di creazione della voce per i menù di sezione;

  • ottimizzato e ridotto il comando di avvio;

  • inserita funzione che controlla automaticamente la maiuscola all’inizio della descrizione della voce di lista;

  • sistemate cartelle dello script ed eliminati file inutili;

  • eliminata opzione non funzionante “modifica dati”;

0.6

  • trasformazione di qualsiasi nome del gioco inserito dall’utente in un NomeWiki;

  • inserimento veloce di Categoria, N° Giocatori, Download, Sito Ufficiale, Requisiti Minimi;

  • selezione assistita della Licenza;

  • rinomina automaticamente l’immagine del gioco con il nome del gioco stesso;

  • inserimento della CategoryGiochi solo se la guida è completa;

  • apertura diretta (in modalità edit)
    della pagina Prove dell’utente (se la guida è incompleta) o
    direttamente della pagina del gioco (se la guida è completa); se il NomeUtente digitato alla richiesta non è corretto (per esempio, se scrivo Francesco de virgilio al posto di FrancescoDeVirgilio), viene automaticamente corretto dallo script.

Note

  • Il risultato dell’esecuzione dello script è visbile nei file risultato.txt e lista.txt, generati temporaneamente all’interno della cartella usg/risultati, ma copiati nella propria Home.

  • La cartella ugs/non_modificare contiene file essenziali per ottenere risultati corretti, quindi non vanno modificati nè rinominati.

  • Lo script attualmente supporta tutti i browser per GNU/Linux e dovrebbe funzionare anche su Windows con Internet Explorer.

  • Per il corretto funzionamento dello script, non bisogna rimuovere nessuno dei file dalla cartella ugs.

  • Alcune opzioni presenti nello script permettono di entrare nel Wiki di Ubuntu-it direttamente in modalità edit, per cui, prima di utilizzarlo, è consigliabile essere iscritti al Wiki.

Ottenere immagini planetarie di OpenStreetMap con Marble
feb 19th, 2009 by Fradeve

Ogni blog ha il suo post “tecnico”, oggi è il mio turno… in questa guida vedremo come catturare immagini ad alta risoluzione del nostro pianeta, su cui è stata applicata come texture la cartografia di OpenStreetMap. La guida non è farina nel mio sacco, ma è stata allegramente tradotta dal sito ufficiale del progetto. Le immagini possono essere utili per presentazioni, talk, diapositive ecc. Dico questo perchè la risoluzione del file è a discrezione dell’utente, anche molto alta, ma la qualità dell’immagine non è generalmente buona per la stampa. Purtroppo non ho ancora avuto tempo di testare la guida.

  • Diventare root
su
  • Presumendo di aver già installato Marble (peraltro già presente nei repository di Ubuntu 8.10), modificare il file /usr/share/kde4/apps/marble/data/maps/earth/openstreetmap/openstreetmap.dgml cambiando la riga
<downloadUrl protocol="http" host="a.tile.openstreetmap.org" path="/" />

in

<downloadUrl protocol="http" host="a.tah.openstreetmap.org" path="/Tiles/tile/" />

ed eliminando tutte le altre due righe “downloadUrl”.

  • Installare i pacchetti necessari a simulare un desktop gigante:
apt-get install xvfb x11xvnc xvnc4viewer imagemagick netpbm

mkdir /tmp/marblefb
  • Nel comando che segue, selezioniamo la risoluzione che ci interessa ottenere:
Xvfb -ac&amp;amp;nbsp;:1 -fbdir /tmp/marblefb -screen 0 4096x4096x24

x11vnc -scale .5 -display&amp;amp;nbsp;:1
  • Apriamo una finestra vuota e visualizziamo Marble, sostituendo nel secondo comando qualasiasi risoluzione abbiamo scelto di adottare:
vncviewer localhost&amp;amp;nbsp;:0

DISPLAY=:1 marble -geometry 4096x4096+0+0
  • Adesso giostrate con Marble fino a quando la figura ottenuta non vi piacerà, quindi date il comando per estrapolare l’immagine, che verrà salvata in /tmp/marble.png:
<code>xwdtopnm < /tmp/marblefb/Xvfb_screen0 | pnmtopng > /tmp/marble.png</code>

Se ne avete voglia, inviatemi pure i vostri screens planetari!

Installare pymedia su Ubuntu 8.10 Intrepid Ibex
dic 11th, 2008 by Fradeve

Recentemente, ho avuto necessità di utilizzare la libreria PyMedia, per renderizzare alcune tracce raccolte durante il primo Archaeologic Mapping Party di OpenStreetMap in Italia (e nel mondo) a Pompei. PyMedia è una libreria che permette a Python di manipolare file multimediali (audio/video/immagini). Il problema è che pymedia non esiste nei repository di Ubuntu 8.10 Intrepid Ibex, e l’unico pacchetto .deb disponibile in rete è adatto a Python 2.4 e ad una vecchia versione di Ubuntu. Per questo, ho compilato e pacchettizzato con checkinstall pymedia per Ubuntu 8.10 Intrepid Ibex. Il pacchetto potete scaricarlo da qui, oppure potete compilarvelo come segue.

Passo 1. Ottenere pymedia


wget http://internap.dl.sourceforge.net/sourceforge/pymedia/pymedia-1.3.7.3.tar.gz
tar xzvf pymedia-1.3.7.3.tar.gz
cd pymedia-*

Passo 2: Installare le dipendenze


sudo apt-get install python-dev libogg-dev libvorbis-dev liblame-dev libfaad-dev libasound2-dev python-pygame

Passo 3. Installare GCC 3.4 (pymedia non si compilerà con GCC 4.0)


sudo apt-get install gcc-3.4 g++-3.4
export CC=gcc-3.4

Passo 4. Fare alcune modifiche al codice C prima di compilare

In <audio/acodec/acodec.c> alla linea 31 inserire quanto segue:


#define HAVE_LRINTF

In maniera tale da ottenere:


#include <libavcodec/avcodec.h>
#define HAVE_LRINTF
#include "libavcodec/dsputil.h"
#include "version.h"

Passo 5. Costruire e compilare pymedia


sudo python setup.py build

Passo 6. Essere bravi utenti Ubuntu e installare pymedia con checkinstall


sudo apt-get install checkinstall
sudo checkinstall python setup.py install

Nota: Se si vuole essere dei cattivi utenti Ubuntu, è possibile installare pymedia senza creare il .deb, sostituendo il comando precendente con “sudo python setup.py install”.

Passo 7. Controlliamo se funziona: in un terminare digitare “python” e poi “import pymedia”; se non otteniamo errori, siamo a cavallo :D


python
>>> import pymedia

Installare Flickrfs su Ubuntu 8.10 Intrepid Ibex
dic 9th, 2008 by Fradeve

Forse tra di voi ci sono moltissimi utenti Flickr. Bisogna ammettere che da quando molti di noi sono diventati dipendenti dai vari servizi online (da Imageshack a Flickr, da Google a OpenStreetMap, da Launchpad a LastFM) questi fornitori di servizi hanno compreso come possa essere utile, al fine di integrare il maggior numero possibile di sistemi operativi con il proprio prodotto, realizzare delle API utilizzabili indipendentemente dal proprio sistema operativo.

È ciò che è successo pressappoco per Flickr: sulla base delle API rilasciate dal vincente progetto di Yahoo, sono stati realizzati qualcosa come 37 software per gestire le proprie foto su Flickr.com. Molti di questi sono compatibili con GNU/Linux, alcuni scritti in C, altri in Java, altri in Python, altri in perl. Esistono validissimi software in Gtk, altri in Qt o in Tcl/Tk, ma esistono anche alcuni tool da linea di comando. Altri strumenti  sono stati integrati nei più noti gestori di fotografie per GNU/Linux (F-Spot, Digikam). Ed infine, qualcuno ha pensato di realizzare l’integrazione con Nautilus, partendo da un menù di servizio per caricare le foto selezionate direttamente su Flickr, e finendo con l’integrazione di un filesystem basato su FUSE con le API di Flickr e con Nautilus.
Ed è proprio di quest’ultimo che vorrei parlarvi in questo post. Il software si chiama Flickrfs, è disponibile nei repository di Ubuntu Intrepid e consente di sfogliare il contenuto del proprio account Flickr come se fosse una cartella in Nautilus, quasi un FTP. Vediamo come installarlo.

Prima di tutto, faccio notare che non sono ancora riuscito a far caricare dei video a FlickrFS, ma solo fotografie. Se non avete un account PRO, è esattamente ciò che fa per voi ;)

Passo 1. Installiamo il pacchetto “flickrfs” da Synaptic o da linea di comando:

sudo apt-get install flickrfs

Passo 2. Assicuriamoci che FUSE sia incluso tra i moduli del kernel (e ciò dovrebbe essere vero di default nel 99% dei casi):

lsmod | grep -i fuse

Se tutto è ok, dovrebbe essere visualizzata una linea del genere:

fuse        52892 3

Passo 3. Creiamo una cartella (dove più ci piace) in cui verranno “ospitate” le nostre cartelle di Flickr; io l’ho montata in /media, come qualsiasi altra penna USB o hard disk esterno:

sudo mkdir /media/flickrfs

Passo 4. Ordiniamo a Flickrfs di “montarsi” all’interno della cartella appena creata:

sudo flickrfs /media/flickrfs

Appena il programma avrà terminato di aggiornare i nostri set, potremo aprire Nautilus con privilegi di amministratore e accedere alla nostra cartella:

sudo nautilus /media/flickrfs

Ed ecco le nostre cartelle. Potremo importare/esportare foto come se fossimo in una nostra normalissima cartella di sistema, con il drag&drop, con il copia/incolla, ecc ecc.

È utile comunque crearsi uno collegamento sul desktop o aggiungere l’indirizzo nei preferiti per aprire direttamente la cartella flickrfs.

Network Manager + Ubuntu 8.10 + Asus 901
nov 12th, 2008 by Fradeve

Uno dei problemi più interessanti in cui mi sono imbattuto dopo l’installazione di Ubuntu 8.10 “Intrepid Ibex” su Asus 901 è stato sicuramente quello relativo a Network Manager.
In realtà, ho sempre usato Wicd, perchè è più veloce nel connettere, più intuitivo da gestire, perchè è sviluppato in Python ed è più leggero di Network Manager, senza parlare del fatto che si installa tranquillamente con un unico pacchetto valido per tutte le architetture, mentre NM è strutturato in 2 pacchetti più un paio di dipendenze.

Unico problema: Wicd non è in grado di gestire la connessione alla rete wireless degli studenti all’Università di Bari, motivo per cui sono stato costretto a tornare a Network Manager, che nelle ultime due versioni di Ubuntu devo ammettere è decisamente migliorato.

Ma, sopresa: all’avvio di Ubuntu 8.10 sul mio Asus 901, l’applet di Network Manager non si avvia in automatico, anzi a dir la verità non si avvia proprio, restituendomi un simpatico errore da terminale a proposito di una connessione mancante.

Girando un pò per la rete, scopro che il bug è già stato segnalato e che è  in attesa d’essere risolto. Nel frattempo, sono state elaborate due soluzioni artigianali, che dovrebbero funzionare distintamente l’una dall’altra, ma che in realtà ho applicato contemporaneamente. Se avete lo stesso mio problema, provateci.

La prima cosa da fare, è installare sul proprio sistema i pacchetti aggiornati da SVN di NetworkManager, disponibili nel seguente repository su Launchpad, aggiungetelo al vostro source.list:

deb http://ppa.launchpad.net/network-manager/ubuntu intrepid main

Dopo aver dato un bel
sudo apt-get update
sudo apt-get upgrade

avrete aggiornato i pacchetti.
Adesso, dobbiamo commentare le seguenti righe (ammesso che le abbiate) nel file /etc/network/interfaces:

sudo nano /etc/network/interfaces

#auto eth0
#iface eth0 inet manual

Salvate e chiudete il file. Ora, dopo un bel riavvio del sistema, provate a dare

sudo killall NetworkManager
sudo killall nm-applet
NetworkManager
nm-applet

Quindi, dovreste assistere al magico avvio dell’applet di NetworkManager nella vostra traybar, e connettervi senza troppi problemi.

Debian + Xfce4 su NeoFreerunner
set 23rd, 2008 by Fradeve

Dopo l’arrivo del Neo FreeRunner, non ho resistito alla tentazione di installarci, in ordine, Qtopia, OpenMoko 2008.08-update e poi Debian. Tra le tre distro, solo la prima e l’ultima sono state in grado di farmi ricevere/effettuare telefonate (uso una vecchia SIM Omnitel). Gli sms vengono gestiti perfettamente da tutte le distribuzioni. Tuttavia, nell’ottica di avere un cellulare/palmare con cui poter fare qualsiasi cosa, rimangono in ballo solo Qtopia e Debian. Su Qtopia le uniche librerie di sviluppo supportate sono le Qt, e considerato che mi diverto con il PyGtk, anche Qtopia viene scartata.

In questa guida vedremo come installare Debian con Xfce4 sul Neo. In generale, il primo impatto è stato veramente molto positivo. Il processore da 400 MHz del Neo ha la potenza di calcolo necessaria per ospitare il desktop enviroment, che risponde molto velocemente alle richieste dell’utente. Debian + Xfce4 per l’avvio impiega 1 minuto e 40 secondi, contro gli almeno 3 minuti e 30 secondi di OpenMoko. Piccolo neo: i caratteri del desktop sono un pò piccoli, ma con un pò di pazienza tutto si può ingrandire.

Veniamo al dunque: occorre prima di tutto partire da un’installazione di un “qualsiasi” sistema operativo GNU/Linux nella memoria flash del Neo (che è di 256 Mb). La distribuzione OpenMoko 2007.02 che trovate di default all’acquisto và benissimo, anche se io sono partito dalla OpenMoko 2008.08. Durante l’installazione Debian si auto scaricherà completamente dalla rete, quindi c’è la necessità di connettere il Neo ad internet. Consiglio vivamente di farlo via USB, quindi occorre avere accesso al palmare via SSH. Per farlo, è sufficiente seguire le istruzioni presenti nel Wiki italiano.

Appena finito, potremo testare la connessione con un semplice


ping www.google.it

Debian verrà installato nella microSD (quella da 512 Mb in dotazione con il Neo, al termine dell’installazione, avrà disponibili solo 30 Mb circa, quindi è consigliato dotarsi di microSD di dimensioni pari o superiori ad 1 Gb). Si presume che la scheda sia inserita nel Neo; se non lo fosse, spegnetelo, inserite la scheda e riaccendetelo entrando in OpenMoko.

Fate il login via ssh nell’OpenMoko, solitamente


ssh root@192.168.0.202

Dovreste essere posizionati nella home del sistema operativo. Adesso, scarichiamo lo script che ci permetterà di installare debian, con il comando da ssh:


wget http://pkg-fso.alioth.debian.org/freerunner/install.sh

Rendiamo eseguibile lo script con


chmod +x install.sh

A questo punto non ci resta che eseguire lo script per installare Debian. Lo script scaricherà direttamente sulla microSD tutti i pacchetti necessari all’installazione di Debian, quindi qualsiasi dato sulla scheda verrà cancellato, è bene che lo sappiate. Tuttavia, Qtopia o OpenMoko (il secondo si basa comunque sul primo) potrebbero avere ancora accesso alla scheda, quindi “uccidiamo” il processo di Qtopia, con


killall qpe

Quindi finalmente eseguiamo lo script


SD_PART1_FS=vfat ./install.sh all

Specificando questa opzione, lo script creerà automaticamente la partizione Vfat per l’avvio, che altrimenti avremmo dovuto creare manualmente. Durante l’esecuzione dello script potremmo ricevere errori che fanno riferimento al fatto che la partizione /dev/mmcblk0p1 contiene un filesystem montato. In questo caso, possiamo smontarlo con


umount /media/mmcblk0p1

Oppure possiamo controllare qual’è il PID dei processi che usano quella partizione con il comando


fuser -m /media/mmcblk0p1

e quindi ucciderli tutti con il comando


fuser -m /media/mmcblk0p1 | grep killall

Attenzione: questi comandi non sempre funzionano, ma possono sicuramente tornare utili.

Adesso, andiamo a prenderci un bel cappuccino, un cornetto, ed una fetta di torta. Forse sarebbe meglio anche fare una passeggiata per digerire, perchè l’installazione dura più di un’ora.

Al termine, dovremmo trovare nel terminale un messaggio del tipo “Done. Reboot and enjoy!” Non ci resta che spegnere il Neo con il comando


shutdown now

Attenzione: ora che abbiamo un Neo in dua boot, per poter avviare uno dei due sistemi, dovremo per forza accenderlo accedendo alla NOR; per farlo, tenere premuto il pulsante AUX, quindi premere contemporaneamente POWER e dopo che AUX ha emesso un lampeggìo, lasciare POWER. Da questo menù, sarà possibile selezionare l’opzione boot per avviare OpenMoko o Qtopia e l’opzione Boot from SD (FAT+ext2) per avviare Debian. Scorrere il menù con il tasto AUX e selezionare la seconda voce con POWER.

Debian non ci metterà molto ad avviarsi (meno di OpenMoko 2008.08). Rimarremo delusi, forse ci aspettiamo un bel desktop con lo swirl, in realtà troveremo solo l’essenziale interfaccia grafica di Zhone, il programma di base per le telefonate, che purtroppo fa solo quello. Dobbiamo installare Xfce4. Per farlo quindi è necessario usare il potere della Supermucca di APT :)

Logghiamoci via SSH. Probabilmente avremo problemi perchè il Neo, pur avendo mantenuto il proprio indirizzo 192.168.0.202, ha cambiato sistema operativo. Sul terminale uscirà un messaggio d’errore che potremo facilmente aggirare editando il file ~/.ssh./known_hosts e cancellando tutto ciò che contiene:


nano ~/.ssh./known_hosts

Quindi, riproviamo:


ssh root@192.168.0.202

siamo in Debian! Installiamo un pò di pacchetti utili:


apt-get install xfce4 nano

Al termine, sarà meglio editare il file /etc/fstab per evitare il filsystem check che rallenta di molto l’avvio di Debian:


nano /etc/fstab

e trasformiamolo da così


rootfs  /               ext2    defaults,errors=remount-ro,noatime      0 1
/dev/mmcblk0p1  /boot   vfat    defaults,noatime                        0 2
/dev/mtdblock6  /mnt/flash      jffs2   defaults,noatime,noauto         0 2
proc    /proc           proc    defaults                                0 0
tmpfs   /tmp            tmpfs   defaults,noatime                        0 0
tmpfs   /var/lock       tmpfs   defaults,noatime                        0 0
tmpfs   /var/run        tmpfs   defaults,noatime                        0 0
tmpfs   /var/tmp        tmpfs   defaults,noatime                        0 0

a così:


ootfs  /               ext2    defaults,errors=remount-ro,noatime      0 0
/dev/mmcblk0p1  /boot   vfat    defaults,noatime                        0 0
/dev/mtdblock6  /mnt/flash      jffs2   defaults,noatime,noauto         0 0
proc    /proc           proc    defaults                                0 0
tmpfs   /tmp            tmpfs   defaults,noatime                        0 0
tmpfs   /var/lock       tmpfs   defaults,noatime                        0 0
tmpfs   /var/run        tmpfs   defaults,noatime                        0 0
tmpfs   /var/tmp        tmpfs   defaults,noatime                        0 0

Adesso, dobbiamo fare in modo che Debian all’avvio non carichi Zhone, ma Xfce come desktop enviroment predefinito.


nano /etc/init.d/zhone-session

e modifichiamo la riga 17 da così:


PROG_FSO=/usr/bin/zhone-session

a così


PROG_FSO=/usr/bin/startxfce4

Adesso possiamo riavviare e goderci il nostro Xfce :D Per liberare un pò di spazio nella partizione root di Debian possiamo dare un bel


apt-get clean

apt-get autoclean

Di default, c’è un piccolo inconveniente: non esiste il click con il tasto destro. Per ovviare a questo fastidiosa carenza, i passaggi seguenti ci permetteranno di installare un pacchetto che farà percepire ad X una pressione prolungata del touchscreen come un click destro, correggendo una sfasatura della posizione del puntatore che si verifica a causa di un bug del pacchetto.


wget http://www.ohli.de/download/xserver-xorg-input-tslib_0.0.4-5+fso2_armel.deb

wget http://pkg-fso.alioth.debian.org/freerunner/pointercal

dpkg -i xserver-xorg-input-tslib_0.0.4-5+fso2_armel.deb

mv pointercal /etc/pointercal

shutdown now

Al riavvio, tutto sarà sistemato. Per facilitarci la vita nelle prossime connessioni via ssh, possiamo modificare il file /etc/hosts ed inserire l’IP del nostro pc collegato al Neo via USB:


nano /etc/hosts

192.168.0.200 pc

In questo modo potremo inviare file dal Debian al pc semplicemente scrivendo scp file.est nomeutente@pc:~. E adesso, la parte più importante: telefonare. Potremo avviare Zhone da

Menù -> Office -> Zhone

Appena avviato, il software riconoscerà automaticamente la nostra SIM, ci chiederà il PIN e ci permetterà di effettuare/ricevere chiamate, sms, oltre che di sfogliare la rubrica. Personalmente, mi sono premurato di mantenere su Xfce solo 2 desktop, uno solo per Zhone e l’altro per tutti gli altri programmi in esecuzione (Iceweasel, Liferea, XMMS). In questo modo è facile switchare dal desktop “pc” a quello “telefono” senza troppi problemi.

Buon divertimento!

»  Substance: WordPress   »  Style: Ahren Ahimsa