Archive for January, 2007

 

Aumentando el rendimiento en Net::SSH::Perl

Jan 30, 2007 in Notas rápidas

Trasteando con Debian y Net::SSH::Perl se observa que el rendimiento a la hora de conectarse a las máquina en bajísimo, muy muy lento.

Vamos a buscar la solución…

Primero analizamos el script de Perl con una librería de Profiler, en este caso, usamos esta que está en pruebas DProfLB

ejecutamos:

perl -d:DProfLB test_ssh.pl

# dprofpp
Total Elapsed Time = 31.78279 Seconds
User+System Time = 30.61279 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c  Name
62.8   19.25 19.317   3779   0.0051 0.0051  Math::BigInt::Calc::_div_use_div
35.2   10.79 10.861   3721   0.0029 0.0029  Math::BigInt::Calc::_mul_use_div
0.43   0.133  0.133  10678   0.0000 0.0000  Math::BigInt::Calc::__strip_zeros
0.19   0.058 19.366   3688   0.0000 0.0053  Math::BigInt::Calc::_mod
0.13   0.040  0.040   7973   0.0000 0.0000  Math::Pari::DESTROY
0.11   0.033  0.078     10   0.0033 0.0078  Net::SSH::Perl::Util::SSH2MP::mp2bin
0.10   0.030  0.030      7   0.0043 0.0042  Exporter::export
0.08   0.026  0.040     89   0.0003 0.0004  :(eval
0.07   0.020  0.047      1   0.0198 0.0471  :/usr/share/perl5/Crypt/DH.pm:6
0.07   0.020  0.083     11   0.0018 0.0075  :/usr/local/share/perl/5.8.8/Net/SSH/Perl/SSH2.pm:6
0.06   0.019  0.016     70   0.0003 0.0002  Net::SSH::Perl::Buffer::new
0.06   0.018  0.021      5   0.0036 0.0043  Math::BigInt::Calc::_as_bin
0.05   0.016  0.016   1395   0.0000 0.0000  Math::Pari::_gmul
0.05   0.016  0.016   1399   0.0000 0.0000  Math::Pari::_gadd
0.05   0.014  0.048     15   0.0009 0.0032  Net::SSH::Perl::Util::SSH2MP::bin2mp

Aquí tenemos el cuello de botella:

  62.8   19.25 19.317   3779   0.0051 0.0051  Math::BigInt::Calc::_div_use_div
35.2   10.79 10.861   3721   0.0029 0.0029  Math::BigInt::Calc::_mul_use_div

Vamos a ver qué paquete tenemos de matematicas

 # dpkg -l | grep math | awk ' {print $2}  '
libmath-gmp-perl

y ahora a ver que librerías salen en el repositorio

 # apt-cache search math bigint perl
libmath-bigint-gmp-perl - GMP library for Math::BigInt routines
libmath-gmp-perl - high speed arbitrary size integer math for perl
perl-modules - Core Perl modules

Este suena bien libmath-bigint-gmp-perl - GMP library for Math::BigInt routines

lo instalamos :

 apt-get install  libmath-bigint-gmp-perl 

y ahora lo probamos

 # dprofpp
Total Elapsed Time = 1.406720 Seconds
User+System Time = 0.336720 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c  Name
11.8   0.040  0.040   7978   0.0000 0.0000  Math::Pari::DESTROY
8.91   0.030  0.038      1   0.0298 0.0376  :/usr/share/perl5/Crypt/DH.pm:6
8.61   0.029  0.038     75   0.0004 0.0005  Net::SSH::Perl::Util::import
5.64   0.019  0.019     82   0.0002 0.0002  Exporter::import
5.35   0.018  0.061     80   0.0002 0.0008  :(eval
5.05   0.017  0.017   1282   0.0000 0.0000  Math::Pari::_gdiv
4.75   0.016  0.016   1397   0.0000 0.0000  Math::Pari::_gmul
3.86   0.013  0.058     10   0.0013 0.0058  Net::SSH::Perl::Util::SSH2MP::mp2bin
2.97   0.010  0.010      1   0.0100 0.0100  :/usr/share/perl/5.8/File/Spec/Unix.pm:3
2.97   0.010  0.010      1   0.0100 0.0100  :/usr/local/share/perl/5.8.8/Net/SSH/Perl/Packet.pm:20
2.97   0.010  0.010      1   0.0100 0.0100  :/usr/local/share/perl/5.8.8/Net/SSH/Perl/Packet.pm:5
2.97   0.010  0.010      2   0.0050 0.0050  Crypt::Blowfish::new
2.97   0.010  0.010      1   0.0100 0.0099  :/usr/share/perl5/Digest/HMAC_MD5.pm:6
2.97   0.010  0.010      4   0.0025 0.0025  Math::BigInt::GMP::_modpow
2.97   0.010  0.010      1   0.0099 0.0098  :/usr/local/share/perl/5.8.8/Net/SSH/Perl/ChannelMgr.pm:6

Ahora se ha dado la vuelta a la tortilla :D y tenemos unos tiempos aceptables

Can’t bind socket to port 1023

Jan 29, 2007 in Notas rápidas

Error:

 Net::SSH: Can't bind socket to port 1023: La dirección ya se está usando at test_ssh.pl line 32 

Solución:

Agregar priveleged => 0

 my $ssh = Net::SSH::Perl->new( $hostname,  privileged => 0 ); 

Buscando puntos débiles

Jan 29, 2007 in Notas rápidas

Para buscar dónde falla mi script, o donde está gastando más recursos uso el modulo de Devel::Profile

Instalar:

 perl -MCPAN -e ' install Devel::Profile ' 

Usar así :

 perl -d:Profile test.pl 

búsquedas y reemplazo

Jan 29, 2007 in Notas rápidas, shell scripting

Estoy escribiendo un documento en el que te detallo como instalar una aplicación con librerías de perl en Debian. Me interesa obtener de mi fichero tmp todos los nombres de librerias que tienen el formato libxxxx-perl y quiero obtener los nombres de paquetes. He usado este comando:

grep "lib.*perl" tmp  | sed 's/.*\(lib.*[^ ]perl\).*/\1/'

Dynamic MMap ran out of room

Jan 26, 2007 in Debian

Error en Debian etch ejecutando apt-get o apt-cache

E: Dynamic MMap ran out of room
E: Ocurrió un error mientras se procesaba kernel-image-2.6.18.2
(NewVersion1)
E: Problem with MergeList /var/lib/dpkg/status
E: No se pudieron analizar o abrir las listas de paquetes o el archivo
de estado.

editar /etc/apt/apt.conf
agregar :

APT::Cache-Limit 25165824;

Borrar modulos de Perl instalados con CPAN

Jan 23, 2007 in perl

http://www.cpan.org/misc/cpan-faq.html#How_delete_Perl_modules

#!/usr/local/bin/perl -w

use ExtUtils::Packlist;
use ExtUtils::Installed;

$ARGV[0] or die “Usage: $0 Module::Name\n”;

my $mod = $ARGV[0];

my $inst = ExtUtils::Installed->new();

foreach my $item (sort($inst->files($mod))) {
print “removing $item\n”;
unlink $item;
}

my $packfile = $inst->packlist($mod)->packlist_file();
print “removing $packfile\n”;
unlink $packfile;

Obteniendo la estructura de una base de datos mysql

Jan 22, 2007 in Cosas de la vida

Cómo obtener el ’schema’ de una base de datos de mysql.

mysqldump -u root -p -d base_de_datos > mysql-schema.sql

Este comando genera un volcado de la base de datos, pero sin datos
lo que nos deja la estructura o schema.

-u : usuario
-p : password, si no está especificada la pide en consola
-d : no volcar datos
base_datos: nombre de la base de datos a volcar.

no digas friki, di colgao

Jan 19, 2007 in Notas rápidas

¿ te suena friki ? claro que sí, ahora a todo se le llama friki, que si mira que friki del futbol ( el futbol no es friki ), que si que pasa tu tio friki … mallll estamos desprestigiando el uso de esta palabra.

Desde aquí hago un llamamiento a usar la palabra colgao, no useis más la palabra friki.

¡¡¡ Por todas las gafas negras de pasta rotas en los recreos de las escuelas !!!

PARAD ESTA LOCURA

Downgrade a C3

Jan 18, 2007 in Notas rápidas

Ahora algunos conductores ahora me dan largas, debe ser por que conducto mi recien extrenado C3 ( negro y brillante por ahora ) y como va limpio se piensan que soy una chica. La verdad que de conducir un León a un C3, va una diferencia bastante grande, pero por ahora estoy bastante contento con mi nuevo coche… diesel :D.

El coche:

C3 Collection HDI 70cv 14400 Negro + Pack Collection ( llantas, control de velocidad, pintura metalizada )

Primeras Impresiones:

Se cala :D, el embrage muy alto, y el freno muy duro y frenada más bien larga. Aceleración en primera y segunda con mucho reprís, tercera , cuarta y quinta aceleración moderada hasta las 3000 revoluciones que comienza a dar un empujón muy wapo. El cambio de la caja de segunda a tercera no es cómodo, no entra bien ( comentar en el taller ).

En cuanto a maniobras, la dirección es blandísima y no cuesta ningún trabajo hacer los giros ni maniobras. Los badenes se pasan bastante bien, aúnque si vas más rápido de lo normal saltas :D.

La visibilidad dentro del coche es muy buena, la luna delantera y trasera son amplias, el retrovisor central bien y los laterales aunque un poco pequeños no están mal, además de ser regulables desde el interior.

Los asientos delanteros son confortables, no así como la parte trasera que es la parte más floja de todo el vehículo. El asiento de atrás son dos partes lisas apenas sin forma con lo que no debe ser muy confortable, ni tampoco es muy amplio. La calefacción comienza a notarse en muy pocos minutos, incluso quizás demasiado calor a 22.5º. El maletero es bastante grande y guarda una rueda de recambio de igual tamaño que las demás, por cierto la puerta del maletero se abre de forma muy cómoda.

Como puntos negativos comentar que cualquier golpe suena chapa, parece que el aislamiento es muy fino. Los acabados un poco sueltos, con holgura y de plástico de baja calidad. Tanto los respejos del parasol como la guantera, carecen de luz. El embrague se engancha con la moqueta. Los pedales están muy encajonados y se hace un tanto incómodo. El cambio de segunda a tercera no entra correctamente. La calidad de audio deja mucho que desear.

En conclusión un coche que es muy agradable en cuanto a conducción, muy buena repuesta en cuanto velocidad en un margen de 0 a 120 km/h tanto por carretera como por ciudad. Estéticamente es discreto, poco agresivo, pero no es para nada feo. Cómodo para conducir y tacto del volante muy suave, no así de la caja de cambios. No válido para usuarios exquisitos que buscan un acabado perfecto, ni gran potencia.

convertir a utf8 con el vi

Jan 10, 2007 in Notas rápidas

vi -c ":wq! ++enc=utf8" fichero