Rilasciata la Toast Machine 0.2

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.


Musescore: notazione musicale libera

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.

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

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!


Sieve, il linguaggio per filtrare le email

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:


Facebook ci traccia tutti con il bottone “Mi piace” ?

Sembrerebbe che tramite il bottone ‘Mi piace’ Facebook ci stia tracciando tutti a prescindere che ci clicchiamo o meno ed a prescindere che siamo iscritti o meno.

E’ quanto sostiene Arnold Roosendaal della Tillburg University nel suo interessantissimo articolo “Facebook Tracks and Traces Everyone: Like This!“. Ve lo riassumo un po’ cercando di non essere troppo tecnico.

C’entrano i cookies. Per chi non lo sapesse i cookies sono delle informazioni che i siti che visitiamo possono memorizzare nel nostro browser per “ricordarsi” ad esempio il nostro nome utente ed evitarci di inserirlo manualmente ogni volta che facciamo il login.

Un sito può accedere solamente ai cookies che esso stesso ha memorizzato precedentemente e quindi provenienti dallo stesso dominio; non può vedere quelli degli altri siti. Non è possibile quindi che un sito riesca a scoprire quali altri siti siano stati visitati accedendo a cookies terzi. Facebook si è escogitata un sistemino per riuscirci, senza il nostro consenso, tramite il tasto “Mi piace” che ormai è diventato un must-have per tutti i blog e per tantissimi altri siti.

Il tasto “Mi piace” è direttamente collegato ai server di Facebook, questo significa che quando visualizziamo una pagina che ne contiene uno contemporaneamente contattiamo anche i server di Facebook per ottenere altre informazioni, ad esempio il numero di persone che hanno già gradito la pagina e cliccato su “Mi piace”. Alla richiesta che arriva ai server di Facebook arriva l’indirizzo della pagina che contiene il tasto “Mi piace” oltre che al nostro identificativo memorizzato nei cookies.

A prescindere che siamo registati o meno, Facebook sa che abbiamo visualizzato il suo tasto “Mi piace” da quella precisa pagina. Se siamo utenti registrati su Facebook il nostro browser ha già un cookie con il nostro identificativo univoco e Facebook può subito archiviare che abbiamo visualizzato quel sito; se non siamo registrati su Facebook poco male: viene memorizzato ed utilizzato un cookie con un identificativo temporaneo con validità 2 anni.

Esatto: 2 anni, una scadenza lunghissima che di fatto rende l’identificativo memorizzato nel cookie davvero poco temporaneo.

Prima o poi,  volenti o nolenti, visitando una pagina con il tasto “Mi piace” il nostro browser memorizzerà comunque un cookie di Facebook tramite il quale potremmo essere tracciati. Se ci iscriviamo a Facebook finalmente potranno collegare il nostro profilo a tutte le informazioni raccolte tramite quel cookie e sostituire un identificativo univoco a quello temporaneo. Se decidiamo di non iscriverci a Facebook potranno continuare a raccogliere informazioni riguardo nostri comportamenti sul web, e con un cookie che vale due anni e rinnovabile praticamente ad ogni sito visitato contenente un altro tasto “Mi piace” è possibile raccogliere così tanti dati che potrebbero bastare a risalire ad una identità senza nemmeno il bisogno di iscriversi a Facebook.

Assurdo? Mica tanto considerato che i tasti simili di Twitter o Google Buzz non hanno questo comportamento.

Facebook raccoglie costantemente dati su tutto e tutti: se sono suoi utenti bene, dopotutto hanno accettato i termini di servizio; se non sono suoi utenti fa niente, anche se non hanno accettato alcun termine di servizio se non quello di utilizzare internet.

Inutile aggiungere che cancellarsi da Facebook non servirebbe a granchè (a parte liberarsi dallo spam sociale, come lo chiamo io), anche se il nostro profilo venisse definitivamente cancellato (crediamoci) ed i dati precedentemente raccolti venissero scollegati da una precisa identità (crediamoci) ciò non toglie che tutti i dati raccolti in futuro possano essere facilmente incrociabili a quelli raccolti prima.

Non so a quanto possa servire… ma io sul mio proxy ho bloccato l’accesso a facebook.com e fbcdn.net.

Buona fortuna.


Facebook: Riflessioni e dritta su come scaricare le proprie informazioni personali prima dell’addio

Forse non tutti sanno che è possibile scaricare da Facebook un file zip contenente tutte le nostre informazioni personali e la storia della nostra bacheca sin dal primo giorno di iscrizione. Ne ero venuto a conoscenza qualche mese fa ascoltando un podcast del Disinformatico sulla cancellazione e la sospensione degli account Facebook e l’ho provato oggi, data nella quale ho inoltrato la richiesta di cancellazione del mio account dal Social Network. Ma prima di darvi una dritta su come farlo voglio fare delle riflessioni, se non vi va di leggerle scendete fino alle immagini.

In effetti il poter scaricare la cronologia della tua esperienza su facebook corredata da tutte le tue informazioni personali che hai condiviso nel tempo può essere una cosa davvero utile, anche a renderti conto che sotto certi aspetti potrebbe assomigliare tranquillamente ad un dossier, anche se l’hai redatto tu stesso a quattro mani e con gli amici.

Ma principalmente scaricare l’archivio di tutte le proprie informazioni personali serve come ricordo prima di smontare le tende. Io personalmente mi ero iscritto a Facebook circa due anni fa per pura curiosità e non rinnego che per un certo periodo l’ho trovato molto utile e finanche divertente, ad esempio ho notato come gli inviti agli eventi via Facebook siano la maniera più semplice e veloce per togliersi il fastidio di dover dire ad un amico/a che di partecipare a quell’evento non te ne frega proprio niente, basta cliccare su “Non parteciperò” o su “Forse parteciperò”… o meglio ancora su “Parteciperò” e poi non ti presenti, che fangata!

Ultimamente mi sono ritrovato semplicemente a spammare sulla mia stessa bacheca, attribuire spesso un “Mi piace” ad elementi che di per se non mi piacevano tanto quanto –forse– lo spirito di chi li postava, a filtrare gli aggiornamenti patetici di gente che conoscevo di vista quel tanto quanto bastava al non potergli aver negato l’amicizia prima, anche a collegare anche il mio account Twitter per far propagare il più possibile le cazzate, a continuare ad usarne la messaggistica nonostante fosse evidentemente censurata. Ed ora che apprendo la notizia che Facebook diventerà anche un provider di servizi di posta elettronica dubito fortemente che possa essere totalmente priva di quei sistemi di filtraggio e censura. E la cosa non mi piace affatto, ecco pechè tirando un po’ le somme di questi due anni di esperienza su Facebook ho deciso di cancellare il mio account prima che sarebbe stato troppo tardi perchè non avrei più potuto farne a meno visto che su Facebook non ci stanno solo i rompipalle, ci stanno anche gli amici veri con cui ti fa piacere essere taggato in una foto ed è proprio per queste relazioni sociali genuine che in una qualche maniera hai anche consolidato su Facebook che poi ti viene difficile cancellarti… tuttosommato credo che non sia la fine del mondo starne fuori, e le intimidazioni sulla pagina di disattivazione tipo “A tizio mancherai…” non mi hanno impressionato più di tanto, anche perchè probabilmente tizio si accorgerà che non sto più su Facebook probabilmente tra qualche anno.

Bene con queste considerazioni non voglio assolutamente invogliare nessuno a cancellarsi, ognuno deve fare la sua scelta in autonomia. Se ritiene che Facebook sia una buona cosa deve essere libero di usarlo. Detto in altre parole sono cazzi suoi. Io l’ho usato, valutato e deciso che non mi interessava più.

Veniamo al dunque. Tutto questo appassionato preambolo digressivo serviva solamente a dirvi che nella versione localizzata in italiano non troverete il link per scaricare tutte le vostre informazioni personali su Facebook. Non chiedetemi perchè ma andateci di fantasia: se è vero quello che ho scritto, ovvero che questa funzionalità serva praticamente solamente ai cancellandi per tenersi un ricordo, non mi meraviglia affatto che la funziona sia poco visibile o addirittura presente solo nel sito in inglese per mettere i bastoni tra le ruote ed invogliare i cancellandi a rimanere!

Potebbe anche darsi che con altri browser viene visualizzata anche in italiano, io ho provato solamente con Firefox/Ubuntu ma sinceramente sono test che non mi interessano più di tanto.

E’ necessario infatti impostare prima la lingua in Inglese: Impostazioni –> Lingua –> Traduci Facebook

per poi riuscire ad accedere alla funzione Settings –> Download Your Information

ed a questa pagina

Dopo un simpatico quiz che vi farà taggare degli amici per assicurarvi della vostra identità verrà accettata la vostra richiesta e dopo qualche ora verrete avvisati con una mail della disponibilità dell’archivio zip da scaricare con tutte le vostre informazioni personali condivise su Facebook.

I video restano hostati su facebook e le foto non di nostra proprietà in cui siamo stati taggati dagli amici non sono incluse.


Script per lo spindown automatico dei dischi esterni USB

Prima di tutto -per chi non lo sapesse- lo spindown è lo spegnimento del motore di un hard disk. Alcuni hard disk esterni hanno la possibilità di essere impostati indipendentemente dal sistema operativo per effettuare lo spindown come risparmio energetico dopo un tot tempo di inattività, ma la maggior parte degli hard disk (esterni ed interni) no: girano all’infinito anche se non sono utilizzati.

Oltre ad un fattore energetico (un hard disk è un dispositivo meccanico e tra quelli che consumano più energia in un sistema) c’è un fattore acustico dato dal rumore prodotto dal motore (che può essere più o meno fastidioso, anche più o meno conciliante la notte se ti ci abitui) e c’è un fattore termico: girando il disco si surriscalda ed anche se deve riscaldarsi proprio parecchio per danneggiarsi non mi piace affatto l’idea di avere un hard disk termosifone, soprattutto in estate.

Per i dischi che non vengono gestiti dal sottosistema SCSI di Linux si può impostare il valore di timeout per lo spindown con il buon vecchio hdparm:

hdparm -S valore-in-multipli-di-5-secondi /dev/hdX

Per i dischi che invece vengono gestiti dal sottosistema SCSI la questione è un po’ più complicatuccia perchè hdparm non funziona e sdparm non sempre ci azzecca. E’ comunque possibile forzare lo spindown con un comando e la soluzione più compatibile è fare uno script periodico che metta in spindown il disco se non è stata rilevata un’attività recente.

Uno dei migliori che ho trovato sta qui: http://www.linuxquestions.org/questions/linux-hardware-18/howto-spin-down-external-usb-firewire-hard-drives-on-idle-593192/.

Per i più pigri l’ho messo in questo file: idle-drive.sh.gz. Necessita di sdparm e gawk quindi:

sudo apt-get install sdparm gawk

Prende come argomento l’uuid del disco che si vuole monitorare, io l’ho installato in /usr/local/bin/idle-drive.sh e lo richiamo ogni 5 minuti tramite cron:

echo '*/5 * * * * root /usr/local/bin/idle-drive.sh uuid=1703f12f-e133-356f-aee2-ecb75cca15b2' > /etc/cron.d/idle-drive