martedì 3 settembre 2013

etags su progetti grandi

Solitamente uso etags unito ad Emacs per sfogliare il codice sorgente di progetti anche di grosse dimensioni. Tuttavia indicizzando la code base di FreeBSD mi sono trovato degli strani errori di riferimento: di fatto Emacs saltava nel punto sbagliato portandomi da un tag all'altro apparentemente senza senso.
Ho poi scoperto, grazie all'aiuto sulla mailing list Emacs, che sbagliavo l'invocazione della generazione dei tag:

cd /usr/src && find . -name '*.[ch]' -print0 | xargs -0 etags

questo comando sfrutta la capacità di xargs di lanciare piu' job in parallelo, e quindi ci si trovava ad avere dei processi etags concorrenti fra loro che sovrascrivevano le modifiche in modo conflittuale.
Siccome etags consente di leggere direttamente da standard input i file da indicizzare, il seguente comando risulta piu' lungo ma accurato nei risultati:

cd /usr/src && find . -name '*.[ch]' | etags -

lunedì 2 settembre 2013

Una frase molto importante




Questo filmato tratto da La Storia Infinita contiene una frase che mi ha sempre colpito molto e che ritengo sia ogni giorno piu' valida:

è molto piu' facile dominare chi non crede in niente

Non importa in cosa si creda, se nella pace, nella religione, nei sentimenti o perfino nel Free Software, l'importante è crederci seriamente e continuare a sperare.