domingo, 17 de marzo de 2013

Text::Fuzzy

Acá hay un mini ejemplo de cómo usar Text::Fuzzy:
#!/usr/bin/env perl
use v5.16;
use warnings;
use Text::Fuzzy;

my $tf = Text::Fuzzy->new("latitude");
say "Levenshtein edit distance is ", $tf->distance("altitude");
$tf->transpositions_ok(1);
say "Damerau-Levenshtein edit distance is ", $tf->distance("altitude");

martes, 9 de octubre de 2012

Tutorial de PDL::Graphics::Gnuplot

Me encontré con un video de youtube donde explican cómo usar PDL::Graphics::Gnuplot. Interesante!! 15 minutos.

domingo, 23 de septiembre de 2012

Creciendo con Mojolicious

Una vez que nuestro proyecto con Mojolicious va creciendo, esto de tenerlo en un solo archivo se vuelve incómodo. Para separar los templates del código, ejecutamos:
./myapp inflate
Esto creará un directorio "templates" y pondrá los templates en el lugar indicado. A partir de ahí se pueden seguir agregando templates y haciéndo referencia a ellos como siempre:
$self->render('login');

viernes, 10 de agosto de 2012

Como instalar perl+mojolicious sin root

Quiero empezar un proyecto nuevo, y quiero que el proyecto viva completamente en un directorio. Asi, cuando quiera ponerlo en producción, puedo copiar todo el directorio y listo. Vamos a ver si podemos hacer eso ( o terminaré con algo tipo PAR o FatApp ) pero el primer paso es instalar un nuevo perl y un nuevo Mojolicious en mi $HOME. NOTA: Todos estos pasos se van a hacer como usuario, NO como root. Primero instalaremos perlbrew:
curl -kL http://install.perlbrew.pl | bash
Luego editarmos el archivo .bashrc y agregamos lo siguiente:
source ~/perl5/perlbrew/etc/bashrc
Salimos de la sesión y volvemos a entrar, o ejecutamos "bash" para que se apliquen los cambios. Instamos la última versión de perl
perlbrew install perl-5.16.0
La ponemos como default
perlbrew switch perl-5.16.0
Opcionalmente podemos instalar cpanm, que es una versión menos verborrágica de cpan. Si no lo instalamos, cambiar cpanm por cpan en todo este tutorial
cpan App::cpanminus
Y ahora, instalar Mojolicious
cpanm Mojolicious

miércoles, 25 de julio de 2012

use FindBin;

Hola Encontré este módulo útil que viene con perl (osea, no hay que bajarlo aparte, ya está instalado) llamado FindBin. Sirve para saber dónde está instalado el script que estamos ejecutando. Por ejemplo, si queremos distribuir un programa que tiene un /bin con el script y un /lib con los modulos que usa ese script, podríamos poner en el script:
use lib '../lib'
Pero eso funciona solo si ejecutamos el script desde el /bin.
cd /opt/donde_instalamos_el_programa/bin
./programa.pl
Si queremos que el programa se pueda ejecutar desde cualquier lado (como cualquier programa) se usa FindBin:
use FindBin;
use lib "$FindBin::Bin/../lib";
Espero que les sea útil!

miércoles, 18 de julio de 2012

Consistent Ring Hashing

Acá hay un artículo donde se entiende qué es "Consistent Hashing" o "Consistent Ring Hashing". Básicamente es una forma de saber en qué servidor puede estar un objeto de cache, mejor que hacer Numero de servidor % cantidad de servidores.