domenica 1 aprile 2012

Repurposing

... et voilà! Il cervello di un vecchio tapis roulant (un microcontrollore della serie MC68) sostituito da un Arduino. Adesso quest'ultimo può sfruttare tutto quello che c'è in quella scheda: stabilizzatore di tensione, display LCD 16x2, controllo del contrasto per il display, sei pulsanti e un'altra parte di circuito che non ho ancora capito a cosa serva. Credo che potrà essere una parte importante del mio attuale progetto...


giovedì 1 marzo 2012

Toc toc

Toc toc, c'è ancora nessuno?
Scrivo su questo mio blog dopo quasi quattro anni di silenzio.
Vediamo se riesco a farne passare altri quattro.

sabato 28 giugno 2008

Cose da nerd (matrioska)


Ho catturato questa schermata per immortalare uno dei miei esperimenti fatti per riempire il tempo tolto alle cose che dovrei-fare-ma-non-ho-voglia: un collegamento VNC fra il mio PC fisso - che fa girare Ubuntu 8.04, quello con la barra blu nella screenshot - e il portatile, sul quale gira un altro Ubuntu 8.04 (quello verde) che a sua volta fa girare una macchina virtuale VMware con dentro Windows XP. Che sta facendo lavorare After Effects. Che lavora su ciò che dovrei-fare-ma-non-ho-voglia.

domenica 15 giugno 2008

Convertire un gruppo di slide in Jpeg

Avevo bisogno di convertire un po' di file PowerPoint (un centinaio) in sequenze di JPEG (una trentina di slide a file) da vedere su un lettore video portatile, ragion per cui mi rimbocco le maniche per trovare una soluzione il più possibile automatizzata. Su Linux, ovviamente.
Non ho molta fortuna nel trovare convertitori da PPT a JPEG, se non con i soliti tool per Windows di cui non mi sono mai fidato. Quindi mi toccherà arrivare alla soluzione da solo (il che, da bravo nerd, è una prospettiva che non mi dispiace affatto...)
Mi rendo conto di essermi dilungato anche troppo e vi risparmio anche la trafila per cercare i vari tool e metterli insieme nel modo giusto come pezzi Lego. La soluzione che vi presento va bene con queste condizioni:
  • il vostro lettore portatile non è in grado di leggere da sé file PowerPoint o PDF (in caso contrario questo articolo è perfettamente inutile!)
  • vi accontentate se qualche slide con caratteri molto piccoli non sarà leggibile
  • avete molti file di presentazioni sparsi su diverse cartelle;
  • avete la pazienza di togliere dai nomi dei file e delle cartelle tutti gli spazi, punti, punti interrogativi e altri simboli che potrebbero dar fastidio alla linea di comando, e sostituirli eventualmente con un innocuo underscore (_);
  • avete già fatto un backup della memoria su cui andrete a mettere le Jpeg.
L'intero procedimento si compone nei seguenti passi:
  1. conversione da .ppt (o .odp) a .pdf;
  2. conversione da .pdf a sequenze di .jpg;
  3. aggiunta degli zeri iniziali nei nomi delle singole immagini;
  4. copia sul medium di destinazione;
  5. eventuale riordino delle directory.

1- conversione da .ppt (o .odp) a .pdf

Questa fase consiste in alcuni sottopassi da effettuare:
  1. Seguite questo tutorial per convertire un singolo file in PDF.
  2. Aprite OpenOffice con un nuovo documento o uno esistente qualsiasi, purché ci sia almeno una finestra aperta.
  3. Aprite il monitor di sistema per tenere d'occhio l'impegno della vostra CPU.
  4. Aprite il terminale, posizionatevi sulla directory del vostro materiale e scrivete il seguente comando:
    find -name '*.ppt' -print -exec ooffice -invisible "macro:///Standard.MyConversions.SaveAsPDF("$PWD/'{}'")" \;
    e lasciate che il computer sudi le prime sette camicie per voi :)
  5. Anche se il prompt dei comandi sarà tornato, aspettate che la CPU sia tornata a riposo prima di andare oltre (a quanto pare l'esecuzione delle script è asincrona).
A questo punto, tutti i vostri file di presentazioni sono stati convertiti in altrettanti file PDF. Al nostro scopo sono solo materiale intermedio, ma possono comunque tornare utili in altre occasioni.

2- conversione da .pdf a sequenze di .jpg

Sempre dal terminale:
find -name '*.pdf' -print -exec sh -c 'convert -resize 320x240 $1 `echo $1 | cut -d. -f-2`.jpg' '{}' '{}' \;
Al "320x240" sostituite la risoluzione del vostro lettore di video/foto per una migliore resa visiva. E qui lo vedrete lavorare ancora un po'.
Se per caso, durante il processo di conversione, leggete degli errori di lettura file è probabilmente dovuto a qualche carattere di spazio che vi siete lasciati scappare. Leggendo attentamente quei messaggi dovreste poter capire dove.
A questo punto vedrete che la directory del materiale si è popolata di molti file, molti di tipo .jpg. Il grosso è già stato fatto.

3- aggiunta degli zeri iniziali nei nomi delle immagini

Questo passo è necessario perché convert numera i file risultanti senza includere uno zero iniziale. Quindi, a meno che le presentazioni non siano composte da meno di 10 slide, l'ordine di lettura nel vostro dispositivo sarà una cosa del tipo: 1, 10, 11, 12..., 2, 3, 4, 5, 6, 7, 8, 9, il che renderebbe la lettura parecchio scomoda.
Ecco il comando per aggiustare le cose:
find -exec rename 's/-([0-9]).jpg/-0$1.jpg/' '{}' \;
Questo è quanto basta se avete meno di 100 slide, in caso contrario scrivete anche questo comando, simile al primo:
find -exec rename 's/-([0-9][0-9]).jpg/-0$1.jpg/' '{}' \;

4- copia sul medium di destinazione

La cartella col materiale può essere così copiata sul vostro lettore, ma restano ancora i file .ppt e .pdf che consumano solo spazio. Per liberarsene, posizionatevi col terminale lì dove avete fatto la copia e date il seguente comando. Attenzione: assicuratevi di essere nella directory di destinazione prima di confermarlo, visto che l'operazione è irreversibile!
find -name '*.ppt' -or -name '*.pdf' -print -delete

5- Riordino delle directory

In una memoria di massa i file non sono quasi mai ordinati secondo uno specifico ordine e vengono memorizzati praticamente alla rinfusa; ci pensa poi il file manager a ordinarceli di volta in volta secondo le nostre preferenze.
Purtroppo non tutti i lettori audio/video hanno un file manager evoluto come quello di un PC e si limitano ad elencare i file così come li trovano nella memoria, alla faccia degli sforzi del punto sopra per ottenere un ordine alfabetico adeguato.
Per vedere se anche questo è il vostro caso, sfogliate l'albero delle directory fatto finora col vostro lettore. Se i file sono tutto fuorché ordinati alfabeticamente, dovreste procedere come segue.
Esiste un'utility, di nome fatsort, che risolve proprio questo problema: ordina i file direttamente nella memoria di massa in modo che i file manager "stupidi" non diano noie. Si tratta di un programma che opera "a basso livello", quindi in questi casi la cautela non è mai troppa e vi consiglio di fare un backup di tutti i dati, sia della memoria del lettore che del computer che state usando.
  1. Innanzitutto installate fatsort:
    sudo apt-get install fatsort
  2. Determinate qual'è il dispositivo "fisico" relativo alla memoria del lettore:
    mount | grep media
    Dovreste trovare un elenco relativo ai vostri dispositivi removibili collegati in questo momento coi rispettivi nomi. Individuate quello di vostro interesse e riportate il primo percorso della riga, del tipo /dev/DISPOSITIVO.
  3. Effettuate l'"unmount" della memoria dove si trova il materiale: potete farlo con l'opzione "Smonta" nel vostro file manager oppure da linea di comando:
    umount /dev/DISPOSITIVO
    , dove DISPOSITIVO è la stringa individuata poc'anzi.
  4. Effettuate un controllo del filesystem affinché non ci siano errori:
    sudo fsck.vfat -a /dev/DISPOSITIVO
  5. Adesso potete eseguire fatsort:
    fatsort /dev/DISPOSITIVO
A questo punto dovreste avere tutte le vostre sequenze di immagini ben ordinate e leggibili dal vostro media player portatile in qualunque momento!

sabato 10 novembre 2007

Acer 5720 e Ubuntu

Da alcuni giorni sono diventato anch'io un felice possessore di un Acer 5720. Dilaniato Vista dopo un giorno e mezzo (dopotutto non andava male, ma sentivo che i processori soffrivano anche solo muovendo una finestra), sto adesso affrontando a testa alta i vari problemi nel far girare bene Ubuntu 7.10.

Sono stato motivato a scrivere questo articolo dalla lettura di quest'altro. Mi piacerebbe fare il trackback, ma come si fa? E' mica automatico facendo un link?

Ho avuto anch'io il suono non funzionante ho risolto tramite queste istruzioni, in pratica installando ALSA 1.0.15 dai sorgenti.
Ecco alcuni problemi minori dell'audio:
  • Suono spesso distorto (effetto clipping, come se il volume fosse troppo alto). Pare sia un problema di ALSA, ma dato che uso (al momento) Rhythmbox posso usare il suo effetto "crossfade" che bypassa il problema. Pare che il bug sia stato risolto nella versione che ho scaricato, ma chissà perché io ce l'ho ancora. Indagherò.
  • La rotella del volume funziona ma l'escursione del volume è troppo stretta. In altre parole: da zero a "metà campo" il suono è inaudibile o quasi; da metà campo in poi aumenta sensibilmente fino al massimo, e ho difficoltà a regolare precisamente il volume. Avevo letto di un bug a riguardo ma non lo trovo più.
Ma il problema più grosso resta sempre lo standby possibile solo una volta (vedi post precedente)... per giunta, smanettando fra script e installazione pacchetti, mi ha mandato a quel paese anche l'ibernazione! Ma non retrocedo neanche di un millimetro. Più tempo passo a risolvere questi problemi più prendo confidenza con il motore che gira sotto le mie dita.

giovedì 8 novembre 2007

Un'altra prova

Sono giorni duri, questi. L'insormontabile problema del secondo standby sta corrodendo i miei già cagionevoli ritmi di sonno-veglia. Sto scrivendo questo post aspettando che il kernel finisca di ricompilarsi, poi si va a nanna.

Riuscirò mai a riempire questo blog di cose interessanti?...

giovedì 14 giugno 2007

Test

questa è una prova x un servizio che esiste (quasi) solo nella mia mente.