Q

Non si prosegua l'azione secondo un piano.

Mes: març, 2009

Tallant i enganxant pdfs des de la línia de comandes

Accade a volte… que has d’agafar una pàgina o dues d’un pdf i fer-ne un de nou, o enganxar-les amb dues altres pàgines d’un pdf. La cosa es pot arribar a fer pesada, creieu-me, si tens uns quants arxius. Així que se t’acut: anem a fer un petit script per anar rapidets i acabar aviat la feina. Busques una mica i trobes que hi ha una PDF Concatenation and Extraction Tool escrita en perl molt útil. Llavors fas un petit script que la cridi i l’utilitzi per agafar la primera i l’última pàgina de tots els pdfs d’un directori i les enganxi una darrera l’altra, utilitzant el meravellós mòdul PDF::API2:

#! /usr/bin/perl
 
use PDF::API2;
 
$suf = "-firstlast";
 
@fs = `ls -1`;
$num = $#fs+1;
$i = 1;
$in = "";
 
print "Processing $num files:\n";
 
foreach $f (@fs) {
    chop ($f);
    print "[$i/$num] $f "; ++$i;
    $pdf = PDF::API2->open($f);
    $lastp = $pdf->pages;
    $out = $f;
    $out =~ s/\.pdf//;
    $out .= $suf . ".pdf";
    system ("pdfcat",
        "--input", "$f",
        "--pages", "1,$lastp",
        "--output", "$out");
    print "---> $out\n";
    $in .= " --input " . $out;
}
 
print "Concatenating all to `all-firstlast.pdf'\n";
 
`pdfcat $in --output all-firstlast.pdf`;
 
print "Done\n";

En fi, és molt útil. Però al final no l’he pogut fer servir pel que necessitava, així que espero que almenys a algú li estalviï una mica més de temps que a mi.

Nom d’arxius amb espais en el latex2html

LaTeX2HTML és un convertor que processa arxius .tex de LaTeX i genera pàgines web HTML. Està molt bé, però té un bug: quan es processa un arxiu amb espais en el nom o en la ruta té problemes i retorna un error:

texexpand V2002-2-1 (Revision 1.11)
texexpand: Error: More than one input file specified.
texexpand  failed: No such file or directory

He preparat un petit script en perl que rudimentàriament soluciona el problema fent un link des d’un directori temporal que no tingui espais en el nom, corrent el latex2html en aquell directori i movent els resultats cap al directori inicial. Espero que sigui útil.

Per utilitzar-lo n’hi ha prou amb guardar-lo en un directori des d’on es pugui exectuar. Jo, per exemple, el tinc al directori bin del meu home, ~/bin, i al ~/.bashrc hi tinc afegida la línia

export PATH=${PATH}:${HOME}/bin

Ho tinc en aquest ordre perquè en general sempre és més recomenable buscar els executables als directoris per defecte, com /bin, /usr/bin, etc. Llavors definint un alias

if [ -x $HOME/bin/latex2html ]; then
    alias latex2html="$HOME/bin/latex2html"
fi

n’hi ha prou per a que cada vegada que cridem el latex2html des de la consola ens executi el nostre petit script.

Screen ràpid

GNU screen és un petit programa que m’ha resultat molt útil aquesta última setmana. Ni tan sols sabia que existia, però necessitava fer córrer uns càlculs en un ordinador a través de ssh, desconnectar-me, tancar la consola i que els càlculs seguissin. Això és el que permet GNU Screen, un terminal multiplexer: pots córrer tantes aplicacions de consola com vulguis en una sola terminal, i inclús tancar-la, i els teus programes continuaran corrent. Encara que tanquis la teva sessió.

Hi ha un tutorial sobre screen molt útil, però per començar a utilitzar-lo ràpid ràpid simplement obre una consola i escriu

$ screen

Surt un missatge de benvinguda, amb el copyright, la llicència, etc. Entra espai o retorn i ja està, pots fer córrer un programa qualsevol. Si vols fer-ne córrer un altre a la mateixa terminal, apreta C-a c (és a dir, Ctrl+a i c), i crees una nova finestra. Pots fer córrer un altre programa, si vols. Així pots anar creant finestres noves, i moure’t entre elles apretant C-a C-a. Si vols sortir de la sessió (però que els programes segueixin funcionant), entra C-a d o simplement tanca la finestra. Quan ho vulguis recuperar, obre de nou una terminal i entra

$ screen -r

Té moltes més cosetes, però amb això ja en tens prou per fer córrer uns quants programes a través de ssh sense patir per quan te n’has d’anar.

Error al compilar alguns paquets des de MacPorts 1.6

A l’instal·lar alguns paquets (com el gimp) per Mac OS X (10.5.6) des de MacPorts 1.6 la compilació falla perquè la variable $CC està buida. El bug està descrit a http://trac.macports.org/ticket/13930, però una solució ràpida és editar el macports.conf, que probablement estarà a /opt/local/etc/macports/macports.conf. Afegint

extra_env   CC

servirà. Sembla que el bug ja estarà arreglat per la versió 1.7 de MacPorts.

Last.fm i Spotify

Ha sortit un nou programa per escoltar música a través d’internet: Spotify. Me l’he instal·lat i l’he estat provant aquest últims dos dies. Sembla que ha de ser el principal competidor de Last.fm, però de moment per mi encara es queda força enrere.

Spotify permet escoltar les cançons que vulguis, tantes vegades com vulguis. És més o menys com tenir un iTunes, perquè és clavaet clavaet, però en lloc de tenir la música al teu ordinador la busques i l’escoltes directament online. La cerca pot ser per artista, per cançó, per disc, per any, per estil…, només a canvi d’escoltar de tant en tant una veu sossa que et diu que t’ho passaràs més bé si pagues 10 euros al mes. Què em falla? La diversitat de música que hi ha no està malament, però si busques alguna cosa una mica especial ja no la trobes. I molt important, la classificació dels estils es queda massa general. Trobo a faltar les recomanacions de Last.fm, les etiquetes que defineix la gent i l’enorme varietat de grups i estils. De totes maneres, sempre es poden combinar per buscar aquella cançó que Last.fm només et deixa escoltar a mitges, i a més Spotify permet scrobblejar a Last.fm les cançons que vas escoltant. I això sí: soluciona el problema de quan et ve gent a casa i comença a trastejar amb els teus discos o el teu ordinador buscant música que li agradi per posar.

Resumint, de moment crec que em quedo amb la meva música (i la que em passin els meus amics), escoltada des de l’ordinador i scrobblejada cap a Last.fm, que em seguirà recomenant grups i concerts. I amb ganes de provar el nou Songbird de Mozilla. A veure si tinc temps.

Follow

Get every new post delivered to your Inbox.

Join 158 other followers