November 2009 Archives

So you want to write some web application for this controversial but universally-used social network. The good part of it is that you can use any language you want for this task, as Facebook applications reside on a server of your choice and you just need to configure the application on FB site to map to your URL.

The most commonly used languages to extend Facebook are FBML (a markup language you enter directly in the web page you create) and PHP. We use our favourite, that is to say Perl.

This short blog post shows how to create something which is very basic. I hope, however, that this post will become just part 1 of a series of posts where we can grow more complex applications.

Essì, abbiamo anche stampato le tessere dell'Associazione di Promozione Sociale Perl.It, correte quindi ad associarvi!

Yes, we also printed the cards of the Perl.It Association. So, join us.

Sabato 28 Novembre 2009 si terrà a Udine l' Open Source Day, giornata dedicata a chi si avvicina al mondo dell'open source. Lo spirito è simile a quello del Linux Day, solo che... non si parla solo di Linux. ;-)

Sarà anche l'occasione, nel percorso avanzato, per parlare un po' di Perl. L'intervento non avrà comunque taglio particolarmente tecnico, ma sarà "introduttivo con la giusta dose di filosofia" (spero, visto che lo sto ancora preparando...). In definitiva, spero sarà una cosa piacevole per il pubblico. :-)

Accorrete dunque in massa all'Open Source Day! Oltre al mio intervento, ce ne sono altri alquanto interessanti. Il programma completo è disponibile qui.

È da un po' di tempo che mi riprometto di scrivere qualche riga in italiano a proposito di ack. Benché sia disponibile in molte distribuzioni Linux, questo software non è ancora così largamente conosciuto dagli utenti.

Si tratta di un sostituto, alquanto migliorato, del noto comando grep disponibile in pratica su ogni Unix esistente. I vantaggi consistono in una serie di feature aggiuntive, e in una configurazione di default che fa quasi sempre "ciò che si desidera" (con grep, infatti, è spesso scontato dovergli passare una serie di flag per farlo comportare come ci si aspetta).

Ispirandomi alla lista indicata sul sito ufficiale, ecco un po' di ragioni per utilizzare ack:

  • Colora i risultati delle ricerche, rendendoli chiari e leggibili.
  • Di default, ricerca in maniera ricorsiva.
  • Ignora (di default) le directory .svn, .git, CVS e tutte quelle dei più conosciuti software di VCS: personalmente, non mi sono mai imbattuto nella necessità di ricercare in quelle directory, e dubito ciò accadrà mai. Questa impostazione, chiaramente, causa un notevole aumento della velocità di esecuzione nel checkout di un VCS.
  • Ignora in automatico file all'interno dei quali è difficile che si desideri ricercare (binari, file di backup tipo pippo~ e #pippo#, core dump, ... È chiaramente possibile forzare la ricerca in tutti i file tramite lo switch -a.
  • Permette, in maniera semplice, di indicare il tipo di file da cercare. Ad esempio --perl cerca in file con estensione .pl, .pm e .pod e in quelli senza estensione aventi una shebang riconducibile a Perl (insomma in tutto ciò che si sospetta sia perlish); è possibile anche escludere un determinato linguaggio (ad es. --nopython). Per fare ciò utilizzando grep c'è un po' da scrivere... ;-)
  • Permette di utilizzare le regular expression di Perl, più complete del subset GNU utilizzato da grep.
  • Possibilità di trovare facilmente tutti i file di un determinato tipo. Ad esempio, ack -f -html cerca in maniera ricorsiva tutti i file HTML (_.htm_, .html, ...) e ne visualizza la lista.
  • Molti switch sono uguali a quelli di grep, quindi l'utilizzo ack dovrebbe risultare intuitivo si dall'inizio.
  • È in Perl, senza parti compilate, quindi gira perfettamente ovunque (anche su Windows, sì!).

Per installarlo, scaricatelo dal sito ufficiale o, se usate Linux, cercatelo tra i pacchetti della vostra distribuzione. Ad esempio su Gentoo esiste l'ebuild ack, mentre su Ubuntu/Debian è presente il pacchetto ack-grep.