viernes, 18 de diciembre de 2009

Contador antes del fin del mundo.... perl Tk

#!/usr/local/bin/perl -w
#####################################
# Contador para el fin del mundo
#
#######################


use Date::Calc qw(Delta_DHMS);
use Time::localtime;
use strict;
use Tk;

my @W_End = (2012, 12, 21, 00, 00, 01); # 21 Dec 2012, 0:00:01

my $str = "...";

my $mw = new MainWindow;
$mw->title("Fin del mundo");
$mw->Label(-text => "Faltan para el fin del mundo")->pack;

my $entry = $mw->Entry(
-textvariable => \$str,
-width => 17,
-font => "{Comic Sans MS} 12",
-relief => 'raised',
-highlightthickness => 0,
-state => 'disable',
)->pack();


$mw->Button(-text => 'Quit',
-justify => 'center',
-command => sub{exit} )->pack;

$mw->repeat(1000 => \&downcounter);


MainLoop;

sub downcounter {
# Calculando fecha actual
my @Today = (localtime->year()+ 1900, localtime->mon()+ 1, localtime->mday(), localtime->hour(), localtime->min(), localtime->sec());
my @diff = Delta_DHMS(@Today, @W_End);
if ( $diff[1] <10 ){
$diff[1]="0$diff[1]";
}
if ( $diff[2] <10 ){
$diff[2]="0$diff[2]";
}
if ( $diff[3] <10 ){
$diff[3]="0$diff[3]";
}
$str = "$diff[0] dias, $diff[1]:$diff[2]:$diff[3] ";
}

martes, 8 de diciembre de 2009

Link sobre perl....

Estaba vagando por la red y vi este link que considero esta interesante:

http://perlenespanol.com/articulos/archivo/000112.html

lunes, 7 de diciembre de 2009

Contador antes del fin del mundo....

Dado que segun se acabara el mundo el 21 de diciembre del 2012, hay que saber cuanto tiempo nos sobra; para eso este contador en perl.

Nota: No es el mejor, pero funciona. Ademas esta el detalle de que en realidad no se cual es la hora exacta de dicho fin, por lo que el programa supone que sera en el segundo 1 del ese dia.

:D
============================================


#!/usr/bin/perl
#####################################
# Contador para el fin del mundo
#
#######################


use Date::Calc qw(Delta_DHMS);
use POSIX qw(strftime);

@W_End = (2012, 12, 21, 00, 00, 01); # 21 Dec 2012, 0:00:01
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime;
@Today = ( 1900+$year, 1+$mon, $mday, $hour, $min, $sec);
@diff = Delta_DHMS(@Today, @W_End);
print " $diff[0] days, $diff[1]:$diff[2]:$diff[3] \n";


Aqui esta otra version y creo es mejor:
#!/usr/bin/perl
#####################################
# Contador para el fin del mundo
#
# cortesia de Salvador Ortiz.
#######################
#


use Date::Calc qw(Delta_DHMS Today_and_Now);

printf "Faltan %d dias, %2d:%2d:%2d para el fin del mundo\n",Delta_DHMS(Today_and_Now, 2012, 12, 21, 00, 00, 01);

martes, 10 de noviembre de 2009

Bomba fork....

Referencia:

bomba fork



Comando shell:

:(){ :|:& };:



Solucion en Linux:

Agregar en el archivo /etc/security/limits.conf la linea;

* hard nproc 1024

Asi se limita a 1024 el numero de procesos que pueden correr simultaneamente.

jueves, 5 de noviembre de 2009

Sony Vaio VPC W110XL con Linux??

Compre hace poco una netbook Sony Vaio VPC-W110XL. Probe Ubuntu en 9.04 y no reconocio a la primera las interfaces de red. Ahora estoy probando Fedora 11 y parece funcionar de manera general bastante bien.

Alguien le ha puesto Debian 5? .... Debian sera su siguiente SO :P

jueves, 2 de julio de 2009

cssh

En algunas ocasiones me es necesario tener sesiones simultaneas en maquinas distintas y ejecutar comando similares en todas las maquinas. Muchas veces me fue muy util crear un script con expect y ejecutarlo de manera que realmente no fuera interectiva mi sesion remota en los nodos.

Sin embargo, otras ocasiones tengo que hacer dichas sesiones interactivas y ademas deben ser de manera simultanea, la solucion: cssh

Mi archivo de configuracion: /etc/clusters


2 localhost localhost
3 localhost localhost localhost
4 localhost localhost localhost localhost
5 localhost localhost localhost localhost localhost
6 localhost localhost localhost localhost localhost localhost
7 localhost localhost localhost localhost localhost localhost localhost
8 localhost localhost localhost localhost localhost localhost localhost localhost
10 localhost localhost localhost localhost localhost localhost localhost localhost localhost localhost

PD: En debian el nombre del paquete es : clusterssh

miércoles, 1 de julio de 2009

Comandos...

Visitando la wikipedia vi una lista interesante los 60 comandos de usuario de la sección 1 de la Primera Edición de UNIX:

ar as b bas bcd boot cat chdir check chmod chown cmp cp date db dbppt dc df dsw dtf du ed find for form hup lbppt ld ln ls mail mesg mkdir mkfs mount mv nm od pr rew rkd rkf rkl rm rmdir roff sdate sh stat strip su sum tap tm tty type un wc who write

cuantos realmente se usar???