Jan 14 2012

Virtual Guru Meditation


by pandafunk

Ieri provavo una VM che non ne voleva sapere quando mi sono accorto che VirtualBox era andato in “Guru Meditation”…
Vi ricorda qualcosa?

Jan 14 2012

Nascondere "lost+found" in nautilus (gnome)


by pandafunk

Visto che la directory lost+found creata nei filesystem ext* è accessibile solamente a root e comunque possiamo trovarci dentro qualcosa di utile solamente quando capita di sistemare qualche danno al filesystem ho pensato di nasconderla… visto che praticamente utilizzo solamente Gnome mi basta nasconderla solamente in Nautilus.

Nautilus implementa un filtro di esclusione tramite il file .hidden, non ho provato però se riconosce anche pattern o espressioni regolari.

cd /media/nome_partizione/
echo “lost+found” >> .hidden

echo “nome_altro_file_da_nascondere” >> .hidden

via | askubuntu


Jan 14 2012

MuseScore, le Variazioni Goldberg e l’Open Source


by pandafunk

Ho appena appreso via twitter che l’International Music Score Library Project ha lanciato la raccolta fondi per il progetto OpenGoldberg Variations che si propone di realizzare una nuova partitura “Open Source” e la relativa incisione delle celebri Variazioni Goldberg di JS Bach. Sia la partitura che l’incisione saranno poi rilasciate nel pubblico dominio e l’applicazione usata per realizzare la partitura (e quindi necessaria per leggerla o modificarla) sarà proprio MuseScore!

Cioè: una figata! Nel mio piccolo, da musicista e informatico, faccio i miei migliori complimenti ai ragazzi che sviluppano MuseScore ed un in bocca al lupo a chi scriverà le nuove variazioni 😉

Chissà cosa ne direbbe Glenn Gould!


Jan 14 2012

Rilasciata la Toast Machine 0.2


by pandafunk

Visto che ultimamente la musica sta assorbendo quasi tutto il tempo libero che potrei dedicare a smanettare questo rilascio della Toast Machine è da considerarsi un evento! rotfl

Qualche mese fa stavo lavorando ad una interfaccina per configurare il wallpaper della toast machine e posizionare la finestra principale al centro o ai bordi dello schermo per fare spazio a loghi e/o scritte visualizzati direttamente nel wallpaper. Per qualche tempo mi ero bloccato con GLADE e non riuscivo a far allineare bene i widget… l’altro ieri smanettandoci casualmente sono riuscito a sbloccare la situazione e completare il codice relativo. Poco dopo l’ho ripulito, testato ed ho reputato che poteva essere tranquillamente rilasciato.

Vediamo di che si tratta!

Grazie a questa interfaccia (alla quale si accede dal tasto ‘Aspetto…‘ nel tool di configurazione) è possibile scegliere uno sfondo del desktop per la Toast Machine in modalità chiosco ed è possibile inoltre allineare la finestra principale ai bordi dello schermo, oltre che sceglierne la dimensione.
Quello che si può ottenere combinando queste tre nuove opzioni è qualcosa tipo questo:

NOTA: Al momento, in attesa di trovare un tool o del codice per adattare lo sfondo alla risoluzione effettiva senza ottenere obbrobri ridimensionati o schiacciati è altamente consigliabile preparare uno sfondo ad-hoc per la risoluzione della vostra Toast Machine!

Il tarball della versione 0.2 è scaricabile da launchpad: https://launchpad.net/toast-machine.
A breve aggiornerò anche la pagina ufficiale su questo blog con link diretti e changelog.


Jan 14 2012

Un filesystem universale standard?


by pandafunk

Mi chiedo perchè di fatto FAT debba essere il filesystem più compatibile per le memorie USB o SD… Mi urta un po’ dover formattare in FAT32 un hard disk da 500GB per tenerci  dati e backup che mi potrebbe capitare di dover aprire sia con OSX che con Windows, oltre che GNU/Linux!

Ho provato UDF come alternativa ma non è che sia poi così universal… 


Jan 14 2012

GTalk su Android ed il transport MSN


by pandafunk

Non si è capito ancora bene quale versione di Android disponga del nuovo client per Google Talk senza il bug che lo fa andare in crash quando nell’indirizzo di un contatto è presente il carattere %, utilizzato dai servizi jabber di transport MSN per sostituire la @ dell’indirizzo trasportato.

Finché il bug non viene risolto conviene (se non avete proprio troppi contatti) migrare su un servizio di transport che permetta l’escape del carattere %. Ad esempio jabber.hot-chilli.net fa questo con un \40.


Jan 14 2012

Musescore: notazione musicale libera


by pandafunk

Da musicista è più di un dovere segnalare e ringraziare MuseScore, un ottimo software (ovviamente libero) di notazione musicale. L’ho scoperto cercando valide alternative a Finale e sinceramente nei primissimissimi minuti di utilizzo avevo l’impressione che fosse il solito programmino alla cui interfaccia minimale corrispondessero features minimali… invece nota dopo nota ho potuto scoprire quanto sia potente e semplice da usare, sia con la tastiera che con il mouse.

Inoltre c’è tanta documentazione disponibile, un forum di supporto ed se usate twitter potete pure seguire i tweet dei tips @musescore_tips, provenienti dall’omonimo sito MuseScoreTips.com

E’ sviluppato con le Qt, è pienemente multipiattaforma e per chi usa Ubuntu GNU/Linux sta già nei repository ufficiali.

Jan 14 2012

L’articolo "Facebook Tracks and Traces Everyone: Like This" di Arnold Roosendaal proposto al Next11


by pandafunk

Qualche settimana fa nel mio post «Facebook ci traccia tutti con il bottone “Mi piace” ?» avevo riassunto in italiano l’articolo «Facebook Tracks and Traces Everyone: Like This!» di Arnold Roosendaal, un ricercatore legale del Tilburg Institute for Law, Technology, and Society (TILT) alla Tilburg University impegnato nel campo della privacy ed identità digitale.

L’articolo spiega come Facebook stia raccogliendo dati personali ai limiti della legalità tramite il bottone “Mi piace” e “Facebook Connect”, stamattina ho saputo proprio dall’autore (con il quale ho scambiato un paio di email di suggerimenti ed opinioni) che il suo articolo è stato proposto come talk alla NEXTCONF che si terrà a Berlino il 17 e 18 Maggio 2011 ed è attualmente alle votazioni, pubbliche.

Per chi non lo sapesse la NEXTCONF è la conferenza di quegli 11 paesi candidati a diventare le future potenze economiche, ovvero Bangladesh, Egitto, Indonesia, Iran, Messico, Nigeria, Pakistan, Filippine, Sud Korea, Turchia e Vietnam (e vista la situazione italiana direi buono a sapersi, almeno sappiamo dove poter emigrare).

Vi consiglio di leggere l’articolo originale che è molto chiaro e dettagliato anche tecnicamente, se non siete tanto ferrati con l’inglese in alternativa c’è il mio che è molto fedele all’originale e meno tecnico… ovviamente se ritenete che l’argomento sia importante e vorreste che se ne parlasse maggiormente ed anche a alla NEXTCONF potete votarlo a questo indirizzo:

http://vote.nextconf.eu/details/facebook-tracks-and-traces-everyone-like-this

Ovviamente è anche possibile visionare le altre proposte di talk su vote.nextconf.eu ed eventualmente, votarle!


Jan 14 2012

Evolution, GPG e gli errori con gli hash SHA256


by pandafunk

Non riuscite a spiegarvi perché Sylpheed o Thunderbird riescono tranquillamente a firmare e cifrare email con la vostra chiave DSA 2048 ed Evolution non ne vuole sapere nemmeno a pagarlo mostrandovi sempre l’errore riportato di seguito?

Impossibile creare il messaggio.

Because "gpg: scrittura in `-'
gpg: la chiave DSA AB2CB45C richiede un hash di 256 bit
o più grande
gpg: signing failed: errore generale
", you may need to select different mail options.

Sappiate che stavolta non è colpa nostra, è un bug di qualche anno fa! Sembrerebbe che ci sia anche una patch pronta ma bloccata da altre questioni di compatibilità che, a quanto si legge nelle mailing list, dovrebbero essere risolte nella versione 2.32… ad oggi Ubuntu 10.10 maverick offre ancora Evolution 2.30.3.

Sostanzialmente il problema è che Evolution forza GPG ad usare l’algoritmo di hashing SHA1 anche se la chiave utilizzata ne richiede un altro, tra l’altro il parametro che viene passato a GPG (--digest-algo=SHA1) è hard coded: praticamente l’unica soluzione in attesa della di quella ufficiale è utilizzare un piccolo wrapper a gpg che strippi quel parametro all’ignaro -e permettetemi non così evoluto- Evolution.

Il wrapper indicato nel bug report che ho appena linkato funziona… ma è un tantino invasivo perché bisogna rinominare /usr/bin/gpg in /usr/bin/gpg.real e salvare il wrapper come /bin/gpg. Non che sia nulla di tremendamente pericoloso, nel peggiore dei casi un aggiornamento di GPG lo sovrascriverebbe lasciando un gpg.real orfano e riportando l’errore in Evolution.

Io ne propongo una versione leggermente modificata e meno invasiva che va messa in /usr/local/bin, perché nella maggiorparte degli ambienti i percorsi di ricerca ($PATH) /local/ hanno la precedenza, quindi se salviamo il nostro wrapper in /usr/local/bin/gpg verrà trovato ed usato prima di /usr/bin/gpg.

Il codice è questo:

#!/bin/bash

if ls -l /proc/$PPID/exe | fgrep -e /usr/bin/evolution >/dev/null; then
declare -a newopt
for opt in "$@"; do
if [ "$opt" != "--digest-algo=SHA1" ]; then
newopt[${#newopt[@]}]="$opt"
fi
done
exec /usr/bin/gpg "${newopt[@]}"
else
exec /usr/bin/gpg "$@"
fi

Copiamolo,

sudo gedit /usr/local/bin/gpg

incolliamolo, salviamo e chiudiamo gedit e diamo un

sudo chmod +x /usr/local/bin/gpg.

Quando il bug sarà risolto (speriamo presto) potremo tranquillamente cancellare /usr/local/bin/gpg.


Jan 14 2012

Sieve, il linguaggio per filtrare le email


by pandafunk

Sieve è un linguaggio che serve solamente a programmare dei filtri per le email: ha una grammatica molto semplice, pochi comandi, qualche estensione, non ha variabili e cicli, è compilato, è davvero molto sicuro proprio perché il suo ristrettissimo campo d’azione lascia ben pochi spazi alla scrittura di codice malizioso ed il suo migliore amico è deliver, l’LDA di Dovecot (ma va d’accordo anche con altri LDA).

Per chi non lo sapesse l’LDA (Local Delivery Agent) è l’ultimo processo per il quale passa una email, ovvero il processo che si occupa di memorizzarla sul filesystem dentro la giusta casella e nel corretto formato (mbox, maildir, etc, etc). Se l’LDA dispone di funzionalità di filtraggio potrà anche, in base a delle regole globali o per-utente, memorizzarla in una particolare cartella, scartarla o modificarla.

Dovecot, ad esempio, dispone di un plugin Sieve per programmare il suo LDA deliver al filtraggio delle email senza la necessità di dover aggiungere un ulteriore hop installando e configurando software tipo procmail o maildropfilter (le cui regole hanno una sintassi ben più ostica di Sieve!).

Per abilitarlo basta semplicemente aggiungere il plugin alla sezione lda di dovecot.conf:

protocol lda {
mail_plugins = sieve
}

Dovecot andrà a cercare l’esistenza del file .dovecot.sieve nella posizione in cui memorizzerà l’email, ovverlo la mail_location preconfigurata.

Vediamo un semplicissimo script sieve che sposta nella cartella CronDaemon tutte le email originate da Cron:

require "fileinto";

if header :matches "Subject" "Cron <root@*" {
fileinto "CronDeamon";
} else {
keep;
}

Ovviamente è anche possibile impostare script globali che vengono eseguiti solo quando manca lo script utente oppure script che vengono eseguiti prima o dopo lo script utente! Io ad esempio ho impostato uno script globale eseguito prima di quello dell’utente per spostare le email contrassegnate da spamassassin come spam nell’apposita cartella. L’ho messo in /var/mail/sieve.before ed indicato nella sezione plugin di dovecot.conf:

plugin {
sieve_before = /var/mail/sieve.before
}

e contiene

require "fileinto";

if header :contains "X-Spam-Flag" "YES" {
fileinto "Spam";
}

Come potete vedere è molto semplice e non bisogna essere dei guru delle espressioni regolari per smistare la posta!

Ecco qui qualche risorsa più approfondita e dettagliata: