#floss-stuff

Toast Machine

La Toast Machine è un distributore automatico di software libero in grado di masterizzare distribuzioni GNU/Linux su CD/DVD, copiare su supporti removibili USB/SD le immagini ISO, raccolte di sofware libero per altre piattaforme o materiale informativo.

L’idea è del LugCR e nasce per risolvere il problema dei supporti CD/DVD preparati in gran quantità in vista di eventi pubblici come i Linux Day ed avanzati perchè l’affluenza di pubblico è stata minore. Ma capita anche l’opposto, ovvero che si verifica una affluenza maggiore e non si hanno abbastanza CD da consegnare a chi li richiede perchè è interessato al software libero.

La Toast Machine permette di masterizzare, self service o con un assistente, solo quello che serve. Oltre a permettere di copiare software libero direttamente su chiavetta USB, gadget che ormai chiunque ha in tasca.

La Toast Machine è scritta in Python/gtk ed è rilasciata sotto i termini della licenza GPLv2.

Nel Novembre 2010 la rivista Linux PRO (N.97) ha pubblicato un articolo che racconta l’esperienza del LugCR nella realizzazione ed allestimento di una Toast Machine.

Nota (06/2012): Attualmente il progetto è in mantenimento e non verrà portato su python 3.

Screenshots

Installazione

Al momento la Toast Machine è testata solamente su Ubuntu GNU/Linux 10.04 ma dovrebbe funzionare senza grossi problemi su tutte le distribuzioni che sono in grado di risolvere le seguenti dipendenze: python-pam, python-gksu, brasero, udisks, python-gtk2, xloadimage, *gettext.

Per trasferire le immagini avviabili su chiavette USB o SD è necessario che l’utente a nome del quale giri la Toast Machine appartenga al giusto gruppo, in base alle distribuzione. Ad esempio su Ubuntu è il gruppo disk.

sudo usermod -a -G disk username

Per utilizzare la Toast machine in modalità chiosco con una sessione X dedicata è necessario non instarla in /usr/local in quanto GDM potrebbe non trovare il file xsession. E’ preferibile installarla con l’apposito script (in attesa di una pacchettizzazione ufficiale):

sudo python setup.py install --prefix=/usr

Download

Non esistono ancora pacchetti per le varie distro, è possibile solamente scaricare i sorgenti da launchpad:

Toast Machines in azione

Stand del LugCr alla festa del volontariato – Cremona
LugCR, autori dell’articolo su “Linux PRO”

aMiscela

aMiscela è un’app che serve a calcolare con una buona precisione quanto olio è necessario per fare la famosa «miscela». Il calcolo è molto semplice ma non tutti riescono a farlo a mente e magari mettono in moto con la paura di grippare perché si è aggiunto poco olio alla benzina o con la paura di ingolfare facile perché si è aggiunto troppo olio!

aMiscela è tral’altro una minchiata di pochissime righe di codice che ho scritto giusto per prendere confidenza con lo sviluppo su Android…

…però funziona :)

Screenshot

Licenza

Non c’è alcuna licenza. L’applicazione è rilasciata al pubblico dominio.

Download

amiscela-0.1.apk
(md5: 3a526196df13223784410edd8fbd1101)
 
 

Le web app con Epiphany: Facebook, ma mobile

Mi sono intrippato con le web app, penso che si era capito da qualche precedente articolo, e da questo.

Dopo Twitter e Google Tasks andava affrontato il problema di Facebook, piattaforma che non amo troppo ne frequento tanto ma che ormai moltissima gente usa come canale di comunicazione principale. Anche i miei amici, e le mie amiche. Infatti lo uso praticamente solo come messaggistica tramite l’app Facebook Messenger su Android e poi al limite do un’occhiata o posto qualche cagata direttamente dal sito mobile col browser dello smartphone.
Infatti è stato proprio guardando la barra degli indirizzi del browser mobile che mi è venuta l’idea di provare come sarebbe venuta una web app della versione mobile di un sito…
…per le mie esigenze asociali la web app fatta col sito mobile (http://m.facebook.com) basta ed avanza!
~keep it simple

Le web app con Epiphany: Google Tasks

Approfitto del raro evento in cui la mia TODO list è vuota per fare uno screenshot della webapp epiphany per Google Tasks!

Se non ne avete mai fatte ho spiegato in un precedente articolo come creare webapp con epiphany e modificarne l’icona.

Per quanto riguarda GTasks l’url da utilizzare è questo:

ed un’icona senza troppe pretese e già presente nel sistema può tranquillamente essere stock_task.png (stock delle GTK).

Come mi sono fatto andare bene Shotwell

So che c’è tanta gente che non va molto d’accordo con i programmi per la gestione personale delle fotografie tipo Shotwell, digiKam, F-Spot, gThumb, fotoxx, etc, etc. Lo dico perchè sono stato uno di questi e lurkando in giro ho letto tante lamentele di gente che avrebbe preferito un programma semplice che permettesse semplicemente di organizzare le proprie foto in album directorycentrici piuttosto che in eventi che raggruppano foto importate nel filesystem con una struttura interna di directory e sottodirectory basata sulla data dei metadati EXIF che non tutte le foto purtroppo hanno. Con un po’ di amarezza ho scoperto che un programma bello e semplice come Shotwell che tenga le foto organizzate sul filesystem in una maniera più directorycentrica… non esiste. Dunque mi sono interrogato sul perchè e sono arrivato alla personale conclusione che forse non esiste perchè se tutti volessero tenere le foto organizzate in album in cartelle basterebbe un file manager in grado di fare una anteprima visibile, e quello -si- esiste e si chiama nautilus, anche se non ha funzioni specifiche.

E’ innegabile che applicazioni del genere sono comode ed utili e pure fatte bene, quindi ho cercato di capire meglio come funzionavano e fino a che punto fossero customizzabili senza esagerare coi tweak per trovare una soluzione che mi stesse bene ed alla fine la mia scelta è ricaduta definitivamente su Shotwell perchè IMHO è il più semplice ed ha alcune funzionalità e impostazioni davvero interessanti. Senza nulla togliere alle altre applicazioni che sono anche potenti, ma meno semplici e con interfacce IMHO poco ergonomiche.

Prima di tutto: Shotwell non modifica le fotografie importate, come iPhoto mantiene le originali nella cartella di importazione e quelle modificate nel suo database, compresi i metadati, a meno che non si voglia scriverli fisicamente nelle foto, ed è in grado di tenere monitorata la cartella della propria libreria per aggiunere automaticamente anche le foto copiate manualmente e non importate da un dispositivo. Questa IMHO è una cosa molto utile perchè di fatto lo rende anche una specie di frontend in grado di mostrare foto già esistenti sul filesystem e di aggiungere i metadati per poterle arricchire lasciandole comunque dentro le cartelle-album con una struttura personale.

Lo screenshot esemplifica la mia soluzione: ho impostato Shotwell per gestire e tenere monitorata la cartella ~/Immagini/Fotografie piuttosto che la default ~/Immagini (questo per evitare che venissero automaticamente aggiunti alla libreria altri file che tengo nella cartella Immagini, tipo gli sfondi) ed ho impostato una struttura personalizzata delle sottodirectory della libreria di Shotwell prependendo la cartella [Importate] al modello. In questa maniera posso tenere separate le foto importate con Shotwell dalle altre foto già esistenti, senza escludere il poter spostare manualmente le foto in un secondo momento per organizzarle sul filesystem in una maniera più coerente ma comqune sempre all’interno della libreria di Shotwell.

Inoltre, per facilitare il backup, è anche possibile spostare la directory di configurazione ~/.shotwell/ dentro la stessa cartella delle libreria e poi rimpiazzarla con un link simbolico in quanto le cartelle nascoste non vengono monitorate anche se dentro la posizione della libreria!

#iTunes su #VirtualBox e libreria su cartella condivisa su #Ubuntu

Prima di essere uno smanettone sono un musicista, e prima di essere un musicista sono un musicofilo maniaco dei tag. Un mp3 non varca la directory Musica della mia $HOME se non è scrupolosamente taggato. Non arrivo a livelli davvero paranoici ma il minimo, oltre all’autore e l’album, deve essere l’anno ed il genere, e possibilmente la copertina ad una risoluzione di minimo 500px.

Da più di dieci anni utilizzo easytag per correggere ed uniformare i vari tag, visto che permette anche di rinominare i file in base ai tag non ho mai avuto la necessità di particolari applicazioni tipo rhythmbox o banshee nonostante reputi siano delle buone app anche per tenere organizzati gli mp3 sul filesystem. 

Però ho un iPod classic ed uso iTunes. Ho la vitale necessità di avere un dispositivo da quale possa valutare i brani, classificarli con le “stelline” in modo da poter avere delle playlist automatiche che mi riportino i brani che devo ancora ascoltare, quelli che devo studiare, quelli che so suonare, i pezzi bellissimi, i capolavori, quelli che ho skippato tot volte ed avrebbero diritto all’appello/revisione e quelli che ho skippato abbastanza volte e forse non mi interessano e verrano cancellati. Tutto questo deve essere sincronizzato tra il mio computer ed il mio lettore mp3, questo vuol dire che se contrassegno dall’iPod un brano mentre sono in macchina dovrei ritrovarmelo contrassegnato anche sul mio PC e viceversa. Itunes, credo, sia l’unica app che permette al momento di fare questo.

Bene, la mia soluzione è stata installare iTunes dentro VirtualBox, configurare ~/Musica come cartella condivisa, tenere premuto alt all’avvio di iTunes e collocare la libreria di iTunes dentro la cartella condivisa.

Poi ho creato in ~/Musica un link simbolico chiamato Discoteca che punta alla sottocartella della libreria di iTunes dove effettivamente gli album stanno ben organizzati sul filesystem e configurato rhythmbox per utilizzare quel link come root della propria libreria, però in sola lettura, ovvero disattivando eventuali opzioni che alterino i metadati già scritti.

Con le guest additions installate è poi possibile con il tasto host+l integrare il desktop della macchina virtuale che rende il tutto esteticamente discreto.

Tirando le somme: se si dispone di un computer mediamente potente che riesce a fare girare VirtualBox senza impallarsi a swappare… è possibile utilizzare e favorire Linux senza dual boot. Anzi, se non si tratta di applicazioni che richiedono molte risorse, è sicuramente più stabile, sicuro e performante utilizzare una installazione di Windows virtualizzata, della quale si può anche fare una istantanea a mo’ di backup da ripristinare al volo quando Windows si pianterà… perchè si pianterà comunque prima o poi, non crediate di potervi sfuggire :) :P Se poi disattivate tutti quei servizi che sembrano essere fatti apposta per far piantare il sistema otterrete anche un sistema virtualizzato molto veloce.

L’unico limite di questo sistema è il ripristino/aggiornamento dell’iPod, perchè quando l’iPod si riavvia avviene la disconnessione USB e nemmeno con i filtri USB di VirtualBox la riconnessione avviene in tempo per completare l’operazione. E’ sempre possibile comunque aggiornare l’iPod da un altro sistema nativo e poi ri-sincronizzarlo da iTunes su VirtualBox senza alcun problema. Se si sta attenti a disconnetterlo bene, con un po’ di fortuna non vi capiterà mai.

Ultima cosa: per permettere a VirtualBox di accedere al sottosistema USB (e quindi all’iPod) è necesario aggiungere il proprio utente al gruppo vboxusers

$ sudo usermod -a -G vboxusers `whoami`

Le web app con Epiphany: Twitter

Una delle cose interessanti degli ultimi aggiornamenti di Epiphany è la possibilità di creare web app, ma fatte bene stavolta, non come gli altri browser! :)

Cosa sono le web app?

Avete presente le finestre pop-up? Il concetto è quello: quando si crea o si usa una web app non si fa altro che utilizzare il browser in una modalità dove vengono nascosti i pulsanti, la barra dei menu, la barra degli indirizzi, le tab e la barra di stato. Una finestra nuda e cruda con dentro il sito, se il sito è fatto bene non avrà bisogno dei controlli del browser per essere utilizzato e si guadagna uno po’ di spazio per la visualizzazione assolutamente non trascurabile!

Ho fatto l’esempio delle finestre pop-up proprio perchè i primi prototipi di lanciatori di web-app non erano altro che un URL con incorporato del codice javascript che diceva al browser di nascondere i controlli… diciamo che non siamo proprio ai livelli dell’aver inventato l’acqua calda, ma quasi… perchè problema è proprio quello: si tratta semplicemente di una finestra del browser, quindi un processo con lo stesso nome del browser che viene trattato dai task manager o dalle dock per quello che è: una finestra del browser.

Se il browser in modalità web app non si presenta al sistema operativo come una applicazione a se stante è probabile che dopo aver creato il lanciatore .desktop con la sua bella icona cliccandoci si attiverà l’icona di Firefox o di Chromium sulla dock e resterà da pensare solo a “beh se è così allora non serve ad un cactus “.

Epiphany, vi scrivo dalla versione 3.4.0.1 su Ubuntu 12.04, non ha questo problema ed a mio modesto parere è la migliore implementazione di web app su Unity e GNOME.

Come creare una web app?

Creare una web-app con Epiphany è molto semplice. Basta aprire Epiphany, navigare sul sito che si vuole far diventare una applicazione a se stante e dal menu delle impostazioni selezionare “Salva come applicazione web…”. Verrà creato un lanciatore in ~/.local/share/applications subito disponibile con il nome che gli avete dato.

La prima volta in assoluto che si avvia una nuova web-applicazione bisogna ridimensionare la finestra a nostro piacimento, per far scomparire eventuali scrollbar orizzontali e renderla più omogenea. Finito, l’ultima dimensione della finestra verrà memorizzata per la successiva apertura.

Twitter a mio avviso si presta benissimo a diventare una web app, personalmente ho disinstallato gwibber e non apro più twitter su una tab del browser, ormai è… un’app :)

L’unica feature che ancora manca è la personalizzazione dell’icona direttamente in fase di creazione del lanciatore… l’icona viene generata automaticamente da Epiphany in base al contenuto della pagina web e non è sempre facilmente riconoscibile… ma è sempre possibile spostarsi in ~/.local/share/applications, editare il file .desktop della web app e modificare a mano il nome dell’icona.

Nel caso di Twitter possiamo riciclare l’icona ‘twitter’ che viene distribuita con gwibber o molto probabilmente presente in altri pacchetti di icone diffusi tramite PPA, tipo Faenza.

L’effetto finale è questo, con le scorciatoie da tastiera di Twitter personalmente lo trovo molto comodo e veloce.

 

Montare le partizioni all’avvio (login) di GNOME2

Facendo una ricerca veloce ho visto gente complicarsi la vita per montare una partizione all’avvio: la maggiorparte ha optato per editare fstab, qualcuno ha usato pysdm, qualcun altro suggerisce semplicemente di cliccarci su da Nautilus… io ho optato per udisks inserito in Applicazioni d’avvio direttamente nelle preferenze di GNOME2.

Sistema > Preferenze > Applicazioni d’avvio

udisks –mount /dev/sdXY

Non ho scelto di modificare fstab a mano perchè ritengo che in una distro moderna gli interventi manuali su file di configurazione di sistema dovrebbero essere SEMPRE evitati quando possibile. Tra l’altro agendo su fstab la partizione verrebbe montata prima di GNOME e senza utilizzare GVFS… questo vuol dire che GNOME, Nautilus o il file chooser delle GTK non mostrerebbero la partizione nelle “Risorse” e sarebbe necessario spostarsi manualmente sino al mount point.

Non ho scelto pysdm perchè quando mi ha chiesto la password di root l’ho killato e disinstallato al volo con un bel apt-get autoremove –purge.

Non ho scelto di cliccarci da Nautilus perchè è proprio quello che volevo evitare, ad esempio tengo la libreria di Banshee sull’altra partizione e regolarmente mi accorgo che non è montata quando clicco su un brano da ascoltare. Che ovviamente non parte.

Keep it simple ;)