Informazioni su quadrispro

Sviluppatore software, ex-musicista, amante del buon cibo e maniaco dell'igiene. Da poco emigrato a Londra.

Noi, i buoni

Sì, é il 2010 e sono tornato dall’UDS e so di non aver raccontato nulla, in realtà non sono neanche sicuro di farlo attraverso le pagine di questo blog.

Anzi, un paio di foto ve le concedo:

Jane Silber, Mark Shuttleworth, Paolo Sammicheli e io

Io, Paolo, Simone e Milo

Sì, so anche di avere diversi discorsi in sospeso: li riprenderemo quando ne avrò voglia.

Ho poco tempo, molto da studiare e altro su cui lavorare, perciò sarò sintetico: hanno chiuso il Bar Sport e per questo voglio congratularmi con i ragazzi del Gruppo Forum (i buoni, appunto), i quali, secondo me, hanno preso la decisione giusta.

Avviso ai naviganti: modem ONDA MT503HSA

L’ho ritrovato (si era perso nel trasloco) ma al momento non ho

  • la reale necessità,
  • il tempo,
  • credito sulla SIM

per smanettare con modem in questione, quindi vi prego di asternervi dal contattarmi attraverso l’apposito form e darmi qualche giorno (settimana?) di tempo per mettere al posto giusto tutti i frammenti della mia vita 🙂

Detto ciò, passiamo alle altre news:

  • è stato inaugurato il ciclo di sviluppo di Ubuntu 10.04 «Lucid Lynx»,
  • ho ricevuto (e accettato) un invito per Google Wave da parte di Aldo Latino (al quale vanno i miei sentiti ringraziamenti),
  • a Ubuntu 9.10 «Karmic Koala» sta piuttosto antipatico il mio MSI Wind U90 (date uno sguardo alle Note di rilascio),
  • ho contratto l’influenza per la seconda volta in 10 giorni.

In risposta a ……..

(Siate gentili, aiutatemi a sostituire adeguatamente i puntini del titolo, a questo indirizzo trovate tutte le informazioni sul mio coraggioso interlocutore): Dario, credo che tu abbia esperienza in fatto di utenti anonimi, nevvè?

Caro GM,

sei davvero simpatico, mentre te mi chiami per cognome io non ho neanche la più pallida idea di chi tu sia, ma si sa, questa è una delle comodità offerte dall’anonimato.

Ma facciamo un po’ di chiarezza: nel campo Depends presente nel file debian/contol di un pacchetto sorgente sono elencati tutti i pacchetti necessari all’esecuzione del relativo pacchetto binario (a n pacchetti binari nel source package corrispondono dunque n campi Depends) (+ macro come ${shlibs:Depends}, ${misc:Depends}, etc che vengono lette e convertire in nomi di pacchetti a tempo di building); vale un discorso simile anche per i campi Suggests e Recommends, con la differenza che i pacchetti elencati nei campi Suggests non vengono installati di default.

Quando si installa un pacchetto $p con apt-get (o aptitude) vengono installati e configurati $p + $pacchetti_dai_quali_dipende_p.

Successivamente, se si disinstalla lo stesso pacchetto $p con l’opzione autoremove, vengono disinstallati $p + $pacchetti_dai_quali_dipende_p + $pacchetti_precedentemente_installati_come_dipendenze_ora_non_più_necessari$pacchetti_marcati_per_l_installazione_manuale.

Se si disinstallasse $p senza l’opzione autoremove, i $pacchetti_dai_quali_dipende_p rimarrebbero installati e marcati come $pacchetti_precedentemente_installati_come_dipendenze_ora_non_più_necessari.

Il concetto di pacchetti orfani in sé é una supercazzora (also known as bosif) e ora ti do la dimostrazione (su Jaunty) della validità delle mie affermazioni:

sudo apt-get install meld

meld si tira dietro diverse dipendenze (queste sono quelle che compaiono a me):

I seguenti pacchetti NUOVI (NEW) saranno installati:
libgda3-3 libgda3-bin libgda3-common libgdl-1-0 libgdl-1-common meld
python-gnome2-extras
0 aggiornati, 7 installati, 0 da rimuovere e 8 non aggiornati.
È necessario prendere 0B/1867kB di archivi.
Dopo quest'operazione, verranno occupati 11,7MB di spazio su disco.

Una volta installato, prova a dare:

sudo apt-get autoremove meld

Il risultato é il seguente:
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso
Lettura informazioni sullo stato... Fatto
I seguenti pacchetti erano stati automaticamente installati e non sono più richiesti:
python-gnome2-extras libgdl-1-common libgda3-common libgda3-bin libgda3-3
libgdl-1-0
I seguenti pacchetti saranno RIMOSSI:
libgda3-3 libgda3-bin libgda3-common libgdl-1-0 libgdl-1-common meld
python-gnome2-extras
0 aggiornati, 0 installati, 7 da rimuovere e 8 non aggiornati.
Dopo quest'operazione, verranno liberati 11,7MB di spazio su disco.

Come puoi vedere, le dipendenze sono correttamente calcolate. Ma cosa succede se dai un comando come il seguente?

sudo apt-get install meld && sudo apt-get install libgda3-bin

Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso
Lettura informazioni sullo stato... Fatto
I seguenti pacchetti verranno inoltre installati:
libgda3-3 libgda3-bin libgda3-common libgdl-1-0 libgdl-1-common
python-gnome2-extras
Pacchetti suggeriti:
libgda3-mysql libgda3-postgres libgda3-odbc libgda3-sqlite
python-gnome2-extras-doc python-gnome2-extras-dbg
I seguenti pacchetti NUOVI (NEW) saranno installati:
libgda3-3 libgda3-bin libgda3-common libgdl-1-0 libgdl-1-common meld
python-gnome2-extras
0 aggiornati, 7 installati, 0 da rimuovere e 8 non aggiornati.
È necessario prendere 0B/1867kB di archivi.
Dopo quest'operazione, verranno occupati 11,7MB di spazio su disco.
Continuare [S/n]?
Selezionato il pacchetto libgda3-common, che non lo era.
(Lettura del database ... 204085 file e directory attualmente installati.)
Spacchetto libgda3-common (da .../libgda3-common_3.0.2-5ubuntu1_all.deb) ...
Selezionato il pacchetto libgda3-3, che non lo era.
Spacchetto libgda3-3 (da .../libgda3-3_3.0.2-5ubuntu1_amd64.deb) ...
Selezionato il pacchetto libgda3-bin, che non lo era.
Spacchetto libgda3-bin (da .../libgda3-bin_3.0.2-5ubuntu1_amd64.deb) ...
Selezionato il pacchetto libgdl-1-common, che non lo era.
Spacchetto libgdl-1-common (da .../libgdl-1-common_2.26.0-0ubuntu1_all.deb) ...
Selezionato il pacchetto libgdl-1-0, che non lo era.
Spacchetto libgdl-1-0 (da .../libgdl-1-0_2.26.0-0ubuntu1_amd64.deb) ...
Selezionato il pacchetto meld, che non lo era.
Spacchetto meld (da .../meld_1.2-0ubuntu1_all.deb) ...
Selezionato il pacchetto python-gnome2-extras, che non lo era.
Spacchetto python-gnome2-extras (da .../python-gnome2-extras_2.19.1-0ubuntu14_amd64.deb) ...
Processing triggers for man-db ...
Processing triggers for menu ...
Configuro libgda3-common (3.0.2-5ubuntu1) ...
Configuro libgda3-3 (3.0.2-5ubuntu1) ...
Configuro libgda3-bin (3.0.2-5ubuntu1) ...
Configuro libgdl-1-common (2.26.0-0ubuntu1) ...
Configuro libgdl-1-0 (2.26.0-0ubuntu1) ...
Configuro meld (1.2-0ubuntu1) ...
Configuro python-gnome2-extras (2.19.1-0ubuntu14) ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
Processing triggers for menu ...
Processing triggers for python-support ...
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso
Lettura informazioni sullo stato... Fatto
libgda3-bin è già alla versione più recente.
libgda3-bin impostato per installazione manuale.
0 aggiornati, 0 installati, 0 da rimuovere e 8 non aggiornati.

La penultima riga è quella di nostro interesse: apt-get, dopo aver installato meld + dipendenze, ti dice che il pacchetto libgda3-bin é già installato ed é stato impostato come manuale.

Ora, proviamo a digitare di nuovo sudo apt-get autoremove meld:

Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso
Lettura informazioni sullo stato... Fatto
I seguenti pacchetti erano stati automaticamente installati e non sono più richiesti:
python-gnome2-extras libgdl-1-common libgdl-1-0
I seguenti pacchetti saranno RIMOSSI:
libgdl-1-0 libgdl-1-common meld python-gnome2-extras
0 aggiornati, 0 installati, 4 da rimuovere e 8 non aggiornati.
Dopo quest'operazione, verranno liberati 5579kB di spazio su disco.
Continuare [S/n]?

È facile notare come libgda3-bin (e le relative dipendenze) non vengano più citati, perchè precedentemente marcati come installati manualmente.

Ora, come vedi, invece che rispondere alle tue battute scontate con altre che, sono sicuro, riscuoterebbero molto più successo (già, perchè devi sapere che, oltre che autorefenzialista sviluppatore pluridecorato, sono anche simpatico, intelligente e, beh, mettici anche sessualmente molto attivo), preferisco venirti incontro, illuminando quei lati a te oscuri del sistema che probabilmente usi.

Per concludere: l’unica cosa di cui davvero vado fiero, è quello di far parte di una Comunità meravigliosa formata da persone vere, corrette e competenti e che non hanno bisogno di celarsi dietro misteriosi acronimi.

Si chiama Comunità Italiana di Ubuntu: puoi passarci a trovare quando vuoi, la nostra porta è sempre aperta.

In risposta a Guido “Guiodic” Iodice

Questo articolo è la mia risposta al commento lasciato da Guido Guiodic Iodice sul suo blog:

Guido,

ogni volta che capita di trovarsi in una situazione del genere provo dispiacere.

L’effettiva utilità delle guide alle quali hai contribuito in passato è almeno pari a quella di tante altre presenti sul wiki italiano. Aiutare le persone in difficoltà, scrivere buone guide, tradurre stringhe dei programmi o della documentazione, {creare,mantenere} pacchetti, risolvere bug, sono modi diversi di contribuire allo sviluppo del sistema e della Comunità, Ubuntu significa proprio questo, nessun ruolo ha più dignità degli altri e da ciò deriva che nessuno ha il diritto di ricevere un trattamento speciale.

Non ho mai goduto nell’assistere ad atti di martirio (in tutta sincerità, sul forum non mi è mai capitato nulla di simile) né aspiro a diventare un martire, e in generale odio le scenate drammatiche ispirate a quel senso del tragico che fu elemento caratterizzante della tradizione magnogreca. Anche io ho scritto e revisionato numerose guide, entrai nella Comunità italiana come semplice contributor della Documentazione, dopo essere diventato Editore del wiki, quindi Amministratore (ruolo che ancora oggi ricopro) e infine traduttore decisi di dedicarmi allo sviluppo: ciononostante, puoi stare certo che se avessi infranto le regole del gioco, avrei pagato anche io, proprio come chiunque altro.

Per motivi spesso molto diversi, in alcuni casi per scelta e in altri per necessità, ho visto tante altre persone, prima di te, prendere altre strade, me ne sono sempre dispiaciuto ma la vita è questa, la Comunità Italiana di Ubuntu, come quella internazionale, sopravvivono alle perdite: voglio ripeterlo, sono dispiaciuto ma non vedo neanche un solo motivo per farne una tragedia. Perciò, ti auguro tutta la fortuna di cui potrai avere bisogno.

See you 😉

Karmic, alcune novità – parte III

Proseguiamo con la panoramica del lavoro svolto per Ubuntu 9.10 «Karmic Koala», ormai pronta (o quasi) per essere installata sui nostri desktop.

Come ti converto facile con Arista Transcoder

Facilissimo da usare, con Arista si può transcodificare qualsiasi file multimediali nei più diffusi formati per dispositivi portatili e non.

Finestra principale

È sufficiente selezionare un file, il dispositivo di destinazione e il gioco è fatto. Per utilizzare l’applicazione, installare il pacchetto arista.

Estrarre le tracce dai CD con X Convert File Audio

Completo e facile da usare: tutto quello che serve a un buon estrattore di tracce audio. Supporta numerosissimi formati, da OGG a MP3, passando per MPC, Flac, Monkeys Audio e molti altri.

Per provarlo, installate il pacchetto xcfa.

Correggere e modificare i propri MP3 con MP3 Diags

A prima vista, MP3 Diags potrebbe sembra un editor di tag ID3 come tanti, in realtà è provvisto di funzionalità particolari che lo rendono unico nel suo genere: riconosce e ripara più di 50 tipologie diverse di errori, consente di aggiungere e modificare un’infinità di informazioni sul file (dal numero di traccia alla cover del CD) e fornisce una utilissima funzione per rinominare gruppi di file in base ai tag presenti in essi.

Per installarlo basta installare il pacchetto mp3diags; se si desidera sfogliare la documentazione in formato HTML, è sufficiente installare mp3diags-doc.

Per chi ama la shell: divxenc, h264enc, xvidenc

Semplici, veloci e forniti di una pratica interfaccia a riga di comando: sto parlando dei tool più rapidi per la transcodifica di filmati nei formati DivX, XviD e H.264, rispettivamente divxenc, xvidenc e h264enc.

Non hanno bisogno di particolari spiegazioni, l’interaccia è minimale e il loro utilizzo è banale, per installarli basta installare gli omonimi pacchetti (divxenc, xvidenc, h264enc). Ecco una schermata d’esempio:

Slideshow facili, con Imagination e Videoporama

Procediamo con ordine: Imagination è un’applicazione sviluppata con le GTK+ e fra gli autori è presente un italiano (per l’esattezza: il project leader), Giuseppe Torelli, con il quale ho il piacere di collaborare costantemente per il mantenimento dell’applicazione negli archivi di Ubuntu (a dire la verità, il pacchetto su Debian è stato adottato da Andrew Starr-Bochicchio, al quale provvedo a inoltrare tutte le richieste da parte di upstream).

Il programma è molto leggero e ha poche dipendenze, inoltre fornisce una cinquantina di effetti per le transizioni da un’immagine all’altra. Per installarlo è sufficiente installare imagination. Per voi, una schermata:

Molto simile a Imagination é Videoporama, altra ottima applicazione, scritta in Python, che utilizza le librerie Qt4 per l’interfaccia grafica.

Le caratteristiche sono quasi le stesse, il mio consiglio è di provarle entrambe. Per installare il programma basta installare il pacchetto videoporama.

Gestire le immagini ISO con Furius ISO Mount

Voltiamo pagina e passiamo a un’applicazione che poco ha a che fare con argomenti multimediali ma che sono sicuro risulterà utile a quegli utenti che da sempre cercano uno strumento in grado di gestire tutti i formati delle immagini CD: Furius ISO Mount.

L’applicazione sfrutta il module FUSE per fornire all’utente una gestione pressoché completa di una vasta gamma di formati (.iso, .img, .bin, .mdf e .ng); Furius ISO Mount consente di montare e smontare automagicamente i file immagine (i mount point vengono creati direttamente all’interno della propria Home, anche la cancellazione delle cartelle inutilizzate avviene in modo del tutto automatico), mantenendo in memoria una cronologia delle operazioni svolte, lasciando all’utente la scelta fra le varie strade percorribili: si può scegliere di navigare nel filesystem dell’immagine come se fosse un vero CD, oppure controllare l’MD5 del file ed eventualmente masterizzarlo su un supporto fisico.

Per installare il programma, è sufficiente installare il pacchetto furiusisomount.

Ubuntu Developer Summit

Stamattina apro la posta, seleziono la prima delle mail non lette e…

Hi,

Congratulations! This e-mail confirms that Canonical would like to
offer you sponsorship in the form of accommodation and travel to the
Ubuntu Developers Summit in Dallas for the Ubuntu 10.04 Lucid Lynx
release – http://wiki.ubuntu.com/UDS

È difficile descrivere le sensazioni che ho provato, so solo che finalmente parteciperò all’Ubuntu Developer Summit, che si terrà dal 16 al 20 novembre a Dallas, in Texas (USA), tutto a spese del main sponsor di Ubuntu, Canonical Ltd.

Nautilus Pastebin Extension, come “incollare” file in giro per la rete con un clic di mouse

Sono un utente affezionato di numerosi servizi pastebin e un paio di giorni fa, ormai stufo di seguire l’iter “apri file -> seleziona tutto il testo -> copia -> apri/demassimizza il browser -> clicca sulla voce dei preferiti relativa al nopaste -> incolla testo -> clicca su Send/Paste/altro -> attendi il caricamento -> copia il link”, decisi di cercare la giusta soluzione per il mio problema.

L’ho sviluppata in pochissimo tempo, si chiama Nautilus Pastebin: come avrete intuito dal nome, si tratta di un’estensione per il gestore file di GNOME.

Come funziona?

Semplice: basta selezionare un file con il tasto destro del mouse, fare clic su «Pastebin» e, se la connessione a Internet è attiva, dopo pochi secondi vedrete comparire una notifica simile a quella in figura:

Mi pare già di sentire le prime proteste:

Ahò! Ma ‘sta bolla nun se pò cliccà!

Vero! Ma la bolla è lì solo per notificare all’utente l’avvenuta operazione (insomma, per fare bella figura…), per toccare con mano i risultati ottenuti basta aprire un browser e incollare il contenuto degli appunti nella barra degli indirizzi (grazie per l’idea, Muflone!).

L’applicazione adatta automagicamente il MIME type dell’oggetto selezionato alla configurazione dei parametri specificata nella sezione del file di configurazione relativa al servizio pastebin scelto; è doveroso spendere qualche parola per il file .conf fornito con il pacchetto: per impostare un pastebin diverso da quello di default basta creare un nuovo file di configurazione nautilus-pastebin.conf in ~/.config/nautilus-pastebin/, contenente le configurazioni dell’utente, e incollare al suo interno ciò che segue:

[generals]
pastebin = $SEZIONE_DEL_FILE_DI_CONFIGURAZIONE_GLOBALE

In caso di problemi di configurazione o connettività mancante, apparirà un messaggio simile al seguente:

Dove la trovo? Come la installo?

Questa è la pagina del progetto dove troverete tutti i link necessari.

Per installare l’estensione si può procedere con uno dei seguenti metodi:

  1. Utilizzare lo script setup.py presente nel tarball.
  2. Copiare a mano i seguenti file:
    1. scripts/nautilus-pastebin.py in /usr/lib/nautilus/extensions-2.0/python/
    2. data/nautilus-pastebin.conf in /etc/ oppure in ~/.config/nautilus-pastebin/
    3. data/nautilus-pastebin.png in /usr/share/pixmaps/

Per vedere la nuova estensione sarà necessario riavviare nautilus:

killall nautilus

Alcuni dei pastebin preconfigurati non funzionano a dovere e servirà del tempo per perfezionare e ampliare il supporto (non tutti i MIME type vengono riconosciuti e la sintassi spesso non risulta correttamente evidenziata, analizzare le form di tutte delle configurazioni è un lavoro lungo e noioso).

Chiunque voglia partecipare allo sviluppo dell’estensione con patch, configurazioni, traduzioni o idee è il benvenuto!

Link