Experimentalia

Appunti raminghi

Archive for the ‘quick fix’ Category

Se Evolution (mail) non ripristina il proprio backup

with 2 comments

Tema

Come hai passato il fine settimana appena trascorso?
(Hai fretta? Non ti va di leggere tutta la storia? Salta alle conclusioni!)

Svolgimento

Questo weekend il tempo era perfetto per andare al mare. Cosa poteva trattenermi dopo una settimana di passione? L’ultima cosa da fare prima di un meritato riposo era sostituire il disco ad un computer che cominciava a fare le bizze. Leggi il seguito di questo post »

Annunci

Written by Eineki

giugno 27, 2009 at 5:17 am

Pubblicato su linux, quick fix

Tempo di shopTing

leave a comment »

Sono finite le vacanze, iniziati i saldi: è tempo di shopting. Ovviamente non vi sto incitando a spendere i pochi soldi che vi sono rimasti in chincaglierie e cianfrusaglie1.

Voglio semplicemente spendere qualche riga su un utile comando che permette di personalizzare la shell: shopt

Leggi il seguito di questo post »

Written by Eineki

gennaio 24, 2009 at 4:53 am

Pubblicato su linux, quick fix

Cavare una copertina da un file pdf

leave a comment »

Se anche non si riesce a cavare sangue da una rapa, sicuramente è possibile creare un file immagine che rappresenti la copertina di un libro in pdf. Avendo cominciato a segnalare ebook da scaricare gratuitamente e legalmente ho dovuto imparare a creare, o estrarre delle immagini dai loro pdf per creare le copertine che accompagnano i post.

Ci sono diversi sistemi per risolvere il problema e ne vedremo alcuni, da quelli più alla portata di tutti ad altri, più comodi ma che necessitano di un terminale, che sono ugualmente alla portata di chiunque, sempre che chiunque ne sia a conoscenza o che lo scopra per errore. 🙂

Leggi il seguito di questo post »

Written by Eineki

ottobre 12, 2008 at 1:38 am

Pubblicato su bash, linux, quick fix

Tagged with , , , ,

Traduzione a linea di comando

with one comment

Questa mattina mi son svegliato, ed ho trovato un post stuzzicante che promette, e mantiene, di aggiungere alla linea di comando un semplice traduttore. Si tratta di uno script di una riga che si appoggia a http://www.wordreference.com per effettuare la traduzione.

Alla fine del post c’è la richiesta di spendere qualche minuto attorno a google ed al suo sistema di traduzioni per poter fare la stessa cosa.

una prima versione la trovate quì sotto, non si tratta più di un one line script perché ho l’ossessione di aggiungere parametri a tutto il codice che posso manipolare. Mi passerà.

Il codice non è elegantissimo ma più che qualche minuto non potevo assolutamente dedicargli.

#!/bin/bash
S='auto'
T='it'
if [ "$2" != "" ]; then
  S="$2"
fi
if [ "$3" != "" ]; the
  T="$3"
fi

lynx "http://translate.google.com/translate_t?sl=$S&tl=$T&text=$1" -dump | \
     grep "Suggest a better translation" -B2 | head --lines=1

I parametri sono semplicissimi da usare, ammesso di chiamare tran il file, basta invocarlo con la parola da tradurre come unico parametro. Google cercherà di individuare la lingua della parola e ne restituirà, se riesce, il corrispettivo in italiano.

In caso sia necessario allora si possono specificare anche il codice iso della parola da tradurre, ed il codice della lingua in cui tradurre, rispettivamente come secondo e terzo parametro.

Le migliorie possibili sono tante, ad esempio usare l’opzione -source invece che -dump in lynx in modo da essere sicuri di individuare la parola tradotta nell’html che google restituisce ma il tempo, per ora, è tiranno.

Written by Eineki

luglio 19, 2008 at 12:38 pm

Pubblicato su bash, linux, quick fix

Tagged with , , , ,

Quando Firefox esegue due volte lo stesso script

with 4 comments

Promemoria:

Tutto un pomeriggio perso dietro ad un problema che, al giorno d’oggi, non dovrebbe neanche porsi:

No, non sto criticando Firefox, sto criticando me stesso che mi atteggio ad essere uno pseudoprogrammatore. Analisi dei flussi, pattern, programmazione agile (magari) e poi mi perdo in un bicchier d’acqua.

Mi è capitato che un banale script:

<script type="text/javascript" >
//<!--
var stats = "toolbar=no, location=no, directories=no, "
    stats +="status=yes, menubar=no, scrollbars=no, top=0, "
    stats +="resizable=no, width=1100, height=678, left=0";
window.open("indexFraming.php", "", stats);
window.opener=self;
self.close();
//-->
</script>

Venisse eseguito due volte da Firefox ed una volta sola da Internet Explorer 6. Non ho testato altri browser per mancanza di tempo e voglia. Chi volesse integrare con commenti è, al solito, benvenuto.

Racchiudere il codice all’interno di una funzione, anche anonima, ed eseguirlo al termine del caricamento della pagina, risolve il problema.

<script type="text/javascript" >
//<!--
window.onload=function () {
   var stats =  "toolbar=no, location=no, directories=no, "
       stats += "status=yes, menubar=no, scrollbars=no, top=0, "
       stats += "resizable=no, width=1100, height=678, left=0";
window.open("indexFraming.php", "", stats);
window.opener=self;
self.close();
}
//-->
</script>

E questo è tutto.

Written by Eineki

luglio 14, 2008 at 18:07 pm

Bash: redirigere i file descriptor / 2

leave a comment »

Ci siamo lasciati con l’amaro in bocca, vi avevo promesso giocolerie impreviste, si magari avrò anche esagerato, e vi ho lasciato dopo aver appena introdotto gli operatori di redirezione in bash.

Sono qui per rimediare e ci mettiamo subito a lavoro. La volta scorsa abbiamo parlato dei tre file descriptor predefiniti ma avevo anche accennato alla possibilità di avere anche altri file descriptor aperti. Per aprirne uno non bisogna far altro che reindirizzarlo dove meglio ci aggrada.

Per esempio provate a digitare il comando

echo “ciao 12” >&12

Che genererà un messaggio di errore e poi provate a digitare un comando simile ma funzionante (anche se apparentemente inutile)

echo “Il comando di prima non funzionava, questo si” 12>&1 >&12; echo “anche questo non funziona” >&12

Non è inutile perché ci fa capire due cose: che i reindirizzamenti procedono da sinistra a destra e che i file descriptor non standard vengono chiusi al termine dell’esecuzione di un comando/script.

Per inciso, è possibile chiudere esplicitamente un file descriptor utilizzando la sintassi n>&- dove n è il file descriptor da chiudere.

Possiamo anche rendere permanente una redirezione, o l’apertura di un file descriptor utilizzando exec. Questo comando non fa altro che lanciare una shell che sostituisce quella attuale e, nel fare ciò è possibile aprire dei file descriptor o reindirizzarne altri.

Per provare quest’ultima affermazione proviamo a farci uno scherzo. Apriamo due terminali e lanciamo il comando tty che non fa altro che stampare a video lo pseudofile cui è connesso il terminale. Da X troverete che il risultato sarà qualcosa di simile a  /dev/pts/0 ed a /dev/pts/1 per l’altra finestra.

A questo punto in nella prima delle due invochiamo il comando exec >/dev/pts/X dove X deve essere l’id del terminale della seconda finestra e voilà, l’output della vostra prima console andrà a finire tutto nella seconda (ad eccezione dello standard error che non viene influenzato). Per tornare alla normalità bisognerà semplicemente ridare il comando facendo puntare la redirezione alla console legittima.

Vi lascio con un’ultimo trucco:

command 3>&1 1>&2 2>&3

che non fa altro che scambiare tra di loro i file descriptor di standard output e standard error, nel caso servisse.

E questo è tutto, per ora

Written by Eineki

luglio 10, 2008 at 1:53 am