viernes, septiembre 29, 2006

Primer Demonio en PERL


Vamos a ver un ejemplo muy sencillo de como crear un daemon en perl. Antes que nada el código:

#!/usr/bin/perl -w

use strict;
use POSIX qw(setsid);
use Readonly;

Readonly my $DEMORA_ENTRE_CHEQUEOS => 30;
Readonly my $ARCHIVO_A_ESPERAR => "/tmp/noticias.txt";

daemonize();

while( 1 ) {

if ( -e $ARCHIVO_A_ESPERAR ){
# Se encuentra el archivo. procesarlo...
#...
#...
}

sleep( $DEMORA_ENTRE_CHEQUEOS );
}


sub daemonize {

open STDIN, '/dev/null' or die "No puedo leer /dev/null: $!";
open STDOUT, '>>/dev/null' or die "No puedo escribir /dev/null: $!";
open STDERR, '>>/dev/null' or die "No puedo escribir /dev/null: $!";
defined(my $pid = fork) or die "NO puedo hacer fork: $!";
exit if $pid;
setsid or die "NO se puede iniciar una sesion nueva: $!";
umask 0;
}

Aquí se puede observar el demonio corriendo. Ya se ha liberado de la consola y su Parent Process ID es 1 (init).

pablo@locobox:~/Desktop/demonios$ ps -ef | grep primer_demonio
pablo 15000 1 0 07:51 ? 00:00:00 /usr/bin/perl -w ./primer_demonio.pl


Bueno, en definitiva un ejemplo sencillo para demostrar lo sencillo que es crear un demonio en perl.
Si desean profundizar en el tema, les recomiendo la lectura de este artículo (en inglés)
.

martes, septiembre 26, 2006

Primeros Pasos con Perl

Para los que no lo conocen es un lenguaje de programación muy interesante y sencillo de aprender. A pesar de correr sobre un intérprete su desempeño es más que respetable, y la gran biblioteca de extensiones accesibles vía CPAN, lo transforman en una opción más que recomendable.


Hay cientos de tutoriales que muestran como dar los primeros pasos con el intérprete, y este artículo no pretende pasar a engrosar la lista.


En realidad mi intensión es publicar algunos artículos cortos pero útiles, presentando algunas tareas sencillas de realizar con Perl. Pero para ello, hay que asegurarse que los lectores comprenden las nociones básicas del lenguaje.


Si aun no conoces nada de Perl, te recomiendo los siguientes pasos:


my @pasos = (
'instalarlo',
'ejecutarlo',

'leer algún tutorial introductorio',

'jugar un buen rato',

'volver a este blog, por más ;-)'

);



Enlaces de Interés:
Artículo de Wikipedia
Tutorial de Perl en Español
CaFe.pm - Perl Mongers de Capital Federal

lunes, septiembre 25, 2006

EEUU y sus Guerras

Hace un par de días vi la película de Sam Mendes, Jarhead. Realmente interesante. A ver, no soy crítico de cine ni mucho menos, pero siento que me llegó. Personalmente no comulgo con las 'guerras preventivas' de EEUU y sus aliados.





La peli, muestra la vida de un soldado que integró las tropas que estuvieron en Arabia Saudita antes de comenzar lo que se conoció como Tormenta del Desierto (perdón por el link en inglés) y su posterior participación en la fase armada del conflicto bélico.


Claro está que todas las películas sobre conflictos armados, basadas en hechos reales o no, lo dejan a uno pensado....mucho... Quizá se deba a mi juventud, a mi inexperiencia en estas vicisitudes. Porque el único conflicto que involucró a mi país fue la guerra de las malvinas y en aquel entonces no era más que un bebé. Quizá también sea porque por mi edad, también, yo podría ser un soldado, al igual que ellos. Muchos de los cuales van a guerras, si siquiera saber por qué.


En definitiva, no dejaría de recomendar la película porque a pesar del trasfondo político de la guerra, no se la puede considerar muy politizada. Y eso, es bueno. Se saca del debate el aspecto político y se puede analizar el aspecto humano, el entrenamiento ( o es adiestramiento) que reciben los marines, para convertirse en máquinas. En seres insensibles, totalmente maleables por su amo (superior).



Aun así y a pesar del rigor extremo, los castigos inhumanos y los horribles vejámenes que deben sufrir los jóvenes luchan a veces entre ellos, y a veces contra sus superiores mismos para lograr lo que desean. Cada caso es distinto y cada soldado participa de la guerra por sus propios intereses. Por lo tanto a pesar de que la guerra es una sola, cada uno lucha su propia batalla y ésta es quizá más dura que la mismísima guerra.


Tio Sam SKA-P

Tío Sam, muñeco de homicidio
Tío Sam, jugamos a matar
Tío Sam, comienza el exterminio
Tío Sam, operación Irak

Suenan los pepinos en Bagdag
Inician la ofensiva militar
La sangre ha comenzado ya a brotar
Cuidado no te vaya a salpicar

Tío Sam, muñeco ultrasádico
Tío Sam, todo por su interés
Tío Sam, misiles diplomáticos
Tío Sam, te van a convencer

Y nos venden sus mentiras por televisión
Engañando al personal yendo de salvador
No hay acuerdo, procedamos a la destrucción
Mataremos sin piedad

Mil muertos más, qué más da, es mi guerra
Voy a lanzar mi arsenal a la tierra
Los muertos los ponen los demás, la miseria
Yo tengo licencia pa matar, a la mierda!!

Siempre en la vanguardia militar
Son los aliados de la OTAN
Máquinas perfectas de matar
Asesinan en el nombre de la paz

Y nos venden sus mentiras por televisión
Engañando al personal yendo de salvador
No hay acuerdo procedamos a la destrucción
Mataremos sin piedad

Mil muertos más, qué más da, es mi guerra
Voy a lanzar mi arsenal a la tierra
Los muertos los ponen los demás, la miseria
Yo tengo licencia pa matar, a la mierda!!
[X2]

ALIADOS ASESINOS, A LA MIERDA!! [X2]

Asesinos del Tratado Atlántico : os saludan los muertos de Irak... [X4]
Los muertos los pone el Pueblo...[X2]

Ska-P **** El olvidado


Bajo un puente de hormigon

El frio penetra en mi piel cada anochecer

Entre cajas de carton

Tu indiferencia hacia mi, es una humiliacion


La solucion no esta en la caridad

Puede aliviar pero nunca sanar

Cual es la solucion a mi desigualdad ?

Mientras exista miseria no habra dignidad


Mucha solidaridad

Pero si cruzo ante ti, me vas a ignorar

La moneda que me das

Puede lavar tu moral, pero es temporal


Dice la constitucion

Que tengo derecho a una vida mejor

Donde puedo acudir, para denunciar

Que a la hora de repartir, se olvidaron de mi

[x2]


Millones de personas viven en la mas absoluta miseria

Corre! empieza el Gran Hermano