Archivo

Archivo para Miércoles, 27 de octubre de 2004

XBOX2: ¿viene en Diciembre?

Miércoles, 27 de octubre de 2004

Hay rumores fuertes de que quizas Microsoft nos dé un regalito en Diciembre, liberando el XBOX2. Las especificaciones técnicas de la máquina son impresionantes, sin embargo (y espero que Microsoft tome nota) muchos usuarios como yo no vamos a cambiar de consola este ni el año que viene. Mi XBOX funciona muy bien, gracias, y espero poderle sacar aunque sea otro año más de vida (por ejemplo, no entiendo como la pedazo de consola no puede correr bien DOOM3, por eso la demora).

El articulo completo del rumor está aqui.

Sin categoría

Actualización de Mortal Kombat: Uno cada año, nuevos trucos

Miércoles, 27 de octubre de 2004

Midway Games ha prometido que de ahora en adelante va a sacar un Mortal Kombat cada año. El titulo que viene, está titulado “Mortal Kombat Shaolin Monks” y ya tiene un sitio web.

El articulo completo está aqui.

¿Es eso bueno o malo?. Solo el tiempo lo dirá, yo realmente espero que esto no diluya la franquicia y termine fastidiandonos a todos.

Sin categoría

La verdad sobre Halloween: ¿Es realmente adoración indirecta de Satanás?

Miércoles, 27 de octubre de 2004



(el de la foto no es Sabato, sino Anton Lavey :) )

‘El absoluto no existe’

Ernesto Sabato, “El tunel”.

Casi todos los años recibo un correo que dice como debo celebrar mis fiestas, y como Halloween es maligno. Antes de todo, dejeme decirle que soy Cristiano Catolico (no voy a entrar en detalles aquí en un Blog el cual sólo escribo por mi entretenimiento y el de mi familia) pero hay ciertas cosas que simplemente están fuera de lugar.

El siguiente correo (me llegó en forma de presentación en Power Point) y me gustaría compartirlo con ustedes, junto con algunas anotaciones personales :) :

Halloween era un festival que celebraban los Celtas, (una sociedad controlada por sacerdotes druidas que vivía en las regiones de Irlanda, Inglaterra y parte de Francia, 300 A.C.), señalando el principio del invierno (Cavendish).

Estas sociedades druidas adoraban y servían a Samhain, dios de la muerte. Cada año, el 31 de octubre, los druidas celebraban la víspera del año nuevo céltico en honor de su dios Samhain, brindándole sacrificios animales y humanos.

El origen de esta celebración está cargado de supersticiones, leyendas, paganismo, ocultismo,, brujería y todo tipo de actividades del mundo de las tinieblas.

No está mal, un poco de historia. Según que en este sitio web, explican que la palabra Halloween viene del dia de todos los santos y fué producto de una corrupción de esa celebración. Los Celtas creian en posesión demoníaca aparentemente, pero eso era todo. Por cierto, eso de que “Samhain” era un Dios Celta era pura paja, no hay evidencia de que eso sea verdad. Sigue la presesentación:

Los druidas se vestían esa noche con cueros y cabezas de animales. Disfrazados de fantasmas, espíritus y brujas; iban por todo el vecindario recogiendo ofrendas para el dios de la muerte y las tinieblas Samhain, para brindarle su honor y sacrificios Si los sacerdotes no quedaban conformes o a gusto con los obsequios, ellos le hacían el TRICK o truco a la familia de la casa, quemándole su terreno, llevándose a la doncella, matando su ganado o poniéndole enfermedades en la familia. Este es el origen de la frase “Trick or Treat”.

Al haber recogido y reunido todas las ofrendas, los sacerdotes druidas hacían grandes fogatas* ofreciendo en ellas sacrificios humanos o animales para adorar a su dios.

Ellos quemaban en hogueras a gente que estaba poseida por el demonio. En cuanto a “truco a la familia de la casa” eso es una tradición muchisimo más reciente en la historía de Halloween, traida por los Europeos.

The custom of Halloween was brought to America in the 1840′s by Irish immigrants fleeing their country’s potato famine. At that time, the favorite pranks in New England included tipping over outhouses and unhinging fence gates.

The custom of trick-or-treating is thought to have originated not with the Irish Celts, but with a ninth-century European custom called souling. On November 2, All Souls Day, early Christians would walk from village to village begging for “soul cakes,” made out of square pieces of bread with currants. The more soul cakes the beggars would receive, the more prayers they would promise to say on behalf of the dead relatives of the donors. At the time, it was believed that the dead remained in limbo for a time after death, and that prayer, even by strangers, could expedite a soul’s passage to heaven.

O sea que ya el correo enviado por nuestros “salvadores de almas” está manipulando la historía a su antojo. Pero sigamos leyendo…

Ese día los druidas llevaban consigo un nabo hueco por dentro y con una cara grabada en la parte frontal, que representaba a un espíritu diabólico.

El nabo estaba iluminado por una vela dentro de él, que era usado como linterna por los Druidas cuando iban de casa en casa por la noche. Cuando esta práctica llegó a América, los nabos no eran tan abundantes, pero si tuvieron un vegetal nativo que pronto lo sustituyó; (Adivinas ¿Cuál es?) “La calabaza”.

De nuevo, más mentiras (mojonis-mentalis-maximus). El origen de la caminata y la linterna tiene otro origen, mucho más reciente:

  • The Jack-o-lantern custom probably comes from Irish folklore. As the tale is told, a man named Jack, who was notorious as a drunkard and trickster, tricked Satan into climbing a tree. Jack then carved an image of a cross in the tree’s trunk, trapping the devil up the tree. Jack made a deal with the devil that, if he would never tempt him again, he would promise to let him down the tree.

!Sorpresa!. Nunca pensé que las calabazas fueran malevolas. De ahora en adelante sólo comeré carne, como la dieta de Atkins :) .

Actualmente estas “fiestas” se fueron incorporando poco a poco a nuestras festividades hasta convertirse en fiestas populares, teniendo su mayor auge en E.U. y otros países de América Latina, introduciendo de forma velada e inocente este día de ritos y costumbres derivadas del culto a Satanás..

!Uohhhh, un momento!. Halloween no es una fiesta Satánica, es sólo un día de fantasía en el cual la gente puede pretender ser quien no es sin fastidiar a nadie. Como lo dice el sitio web que estoy usando como referencia:

So, although some cults may have adopted Halloween as their favorite “holiday,” the day itself did not grow out of evil practices. It grew out of the rituals of Celts celebrating a new year, and out of Medieval prayer rituals of Europeans. And today, even many churches have Halloween parties or pumpkin carving events for the kids. After all, the day itself is only as evil as one cares to make it.

OK. Vamos a seguir viendo el correo original (si es bien largo. Paciencia, ya vamos a terminar).

Es un hecho comprobado que la noche del 31 de Octubre, en E.U., Francia, Irlanda, y en muchos otros países se realizan misas negras con sacrificios humanos y aún de bebés, todo tipo de cultos espiritistas y otras reuniones relacionadas con el mal. Es también un dato conocido que el 31 de octubre es la fecha más importante del calendario satanista.

Hoy la noche de Halloween es reconocida por todos los satánicos, ocultistas y seguidores del diablo como la noche del año nuevo para los brujos y brujas.

Anton Lavey, autor de la Biblia Satánica, ministro de la Iglesia de Satán dice que el 31 de Oct, es uno de los días más importantes para los satánicos.

¿Cual hecho comprobado?. Bueno, aqui ya comenzamos a ver como el correo original se vuelve dogmatico, estúpido y manipulador. Vamos a desarmar el parrafo anterior paso a paso:

  • ¿Donde coño están las estadísticas que prueba que todos los 31 de Octubre se hacen sacrificios humanos en esos paises?. En mi opinión relacionar esta fecha con este tipo de atrocidades es sólo otra leyenda urbana.
  • Si un culto decide adoptar ese día como fecha oficial, depinga, pero eso no tiene nada que ver con esta festividad. No entiendo como es tan fácil para esta gente ponerse a “unir los puntos” y ver cosas en donde no las hay.
  • Anton Lavey, con su inglesia de Satanás fué más un truco publicitario de los 60 que otra cosa. Que viva la histeria…

Bueno, sigamos leyendo:

Doreen Irving, quien fue la más grande de las brujas en el oeste europeo, concubina del alto ministro de Satán en esa misma área, se convirtió al cristianismo, y decía que si los padres tuvieran alguna idea de lo que realmente es Halloween, ni siquiera mencionarían esa palabra frente a sus hijos.

En los Estados Unidos y otros países del mundo es el día en que más niños desaparecen, también se han reportado numerosos crímenes de personas sin escrúpulos que esconden solapadamente afiladas cuchillas dentro de las frutas, también regalan caramelos envenenados y hasta agujas usadas para drogas.

Más leyendas urbanas, sin estadísticas que sustenten ninguno de los argumentos. Si, yo también he escuchado que si te duermes en Halloween amaneces en una bañera llena de hielo, sin los riñones…(pensandolo bien esa era OTRA leyenda urbana, pero como cuento de Halloween esta buena).

Por cierto, ¿no le encanta la forma en como estaba redactado el parrafo anterior? :)

Cuando hayan entrado ustedes en el país que el Señor su Dios les va a dar, no imiten las horribles costumbres de esas naciones, . Que nadie de ustedes ofrezca en sacrificio a su hijo haciéndolo pasar por el fuego, ni practique la adivinación, ni pretenda predecir el futuro, ni se dedique a la hechicería, ni a los encantamientos, ni consulte a los adivinos y a los que invocan a los espíritus porque al Señor le repugnan los que hacen estas cosas.”

-Deuteronomio 18: 9-12a

Si tú pones tu casa para la fiesta de Halloween, ¿a quién estas realmente invitando a entrar en ella ?

Así sea involuntariamente.

Si tu participas de esta fiesta disfrazándote ¿A quién estas realmente le estas celebrando?

Así sea involuntariamente.

Jejeje, que enfasis en convertir algo totalmente inocente en algo “maligno”. Si aún no se ha dado cuenta, lo único maligno de esta fecha es la explotación comercial tan brutal detrás de ella, pero nada más.

“El que no está a mi favor está en contra mía; y el que conmigo no recoge desparrama”

- San Mateo 12:30

¿ Tienes las agallas y convicción para no dejarte llevar por lo que digan tus amigos, el comercio, y demás…y participar en una fiesta que no es agradable a Dios?

Si es así DILE SÍ A CRISTO

Y pasa esto a otras personas para que conozcan la verdad

Creo que Cristo no tiene ningún problema con que yo me disfrace ese día y salga a celebrar con mis amigos y mi familia. En cuanto a la verdad, todo se reduce a un asunto de en que cree usted y como manifiesta su fé.

Ya para terminar, es curioso como la gente se deja llevar tan fácilmente por lo que dicen los demás, sin ni siquiera revizar los hechos. Aqui les dejo con una copia casi exacta del correo que recibí en Español pero en Ingles.

java

Opinión de Libro: Learning Perl Objects References & Modules

Miércoles, 27 de octubre de 2004



Ya teniendo varios años programando en Perl, pudiera decirse que el lenguaje no tenía nada nuevo que aportar (que arrogante, ¿nó?) pero después de leer el libro “Learning Perl Objects References & Modules“, aprendí que no podía estar más equivocado. El libro es una referencia sólida, con buenos ejemplos acerca de como trabajar con aspectos complicados pero indispensables del lenguaje como:

  • Uso de referencias y su uso estructura de datos complicadas
  • Uso de referencias para el manejo de funciones, funciones de ‘callback’.
  • Uso de referencias anónimos (clave para otros tópicos avanzados, como objectos).
  • Módulos y objetos: es el tratamiento más limpio que he leido hasta la fecha de como hacerlo bien en Perl. Por ejemplo, si bien el autor se pasa un poco de la raya diciendo que Perl ofrece más libertad que otros lenguajes menos flexibles como Java o C++ en la declaración de constructores este se molesta en explicar de manera detallada su punto de vista. Para cualquiera que haya hecho objetos con Perl estas explicaciones son simplemente invaluables.
  • Como serializar estructuras compkejas como los módulos standares Data::Dumper y Storable.
  • Unit testing con Test::More

Hay otros tópicos que son menos centrales pero pudieran serle útiles como:

  • Hacer una distribución de un módulo con h2xs (hay diferencias más que sutiles entre el código generado entre Perl 5.6.q y 5.8.0)
  • Como publicar un módulo en CPAN.

Sin embargo el libro no es perfecto; El autor se enfoca muchas veces en sintaxis arcanas que sólo un programador en Perl podría usar (sin considerar que mucha gente está acosumbrada a trabajar con otros lenguajes como C, Java, Python, etc) y que esos cambios son molestos. Otros trucos como su “Schwartzian transform” me parecen que son demasiado engorrosos como para ser utilizados más de una vez (preparese para defender ese tipo de programación si la utiliza en su código). Finalmente, nunca me gustó la “Isla de Gilligan” (lea el libro y entenderá porqué :) ).

Pese a sus fallas, el libro en mi opinión es uno de los tratados del tema más completos que he leido hasta ahora y si usted programa en Perl, debería ser una referencia obligada en su biblioteca.

Para darle algo que pensar, aqui le dejo el código de un programa en Perl (CGI) que escribí hace poco (por hobby) el cual utilizando ‘SNMP get table’ obtiene valores de ejecución de un servidor que está corriendo un agente Net-SNMP. Sólo probé el código en Apache + Linux Fedora Core 2, así que no sé que tan lejos pueda llegar utilizandolo en otro lado:

#!/usr/bin/perl
use strict;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use Net::SNMP;
my $cgi  = new CGI;
my %test_oid = (
	"disk space" 	=> ".1.3.6.1.4.1.2021.9",
	"load" 		=> ".1.3.6.1.4.1.2021.10",
	"mailq" 	=> ".1.3.6.1.4.1.2021.53",
	"free"		=> ".1.3.6.1.4.1.2021.54"
);
print 	$cgi->header();
my $url = $cgi->url();
my @oids = keys %test_oid;
my %config;
my @machines;
my $conf_file = $cgi->path_translated() . "instantCheck.conf";
read_config_file(\%config, \@machines, $conf_file);
print	$cgi->start_html("Verify the status of a machine on real time: " . $cgi->script_name());
if (! defined $cgi->param("printresults")) {
	print 	$cgi->p("Please select the machine you want to inspect and choose a type of report to display:"),
		$cgi->start_form(-action => $url, -method => "POST"),
		$cgi->scrolling_list(
			-name		=> "machines",
			-value		=> \@machines,
			-multiple	=> "1"
		),
		$cgi->br(),
		$cgi->checkbox_group(
			-name 		=> "oids",
			-value 		=> \@oids,
			-default 	=> ["disk space"]
			),
		$cgi->br(),
		$cgi->hidden(-name => "printresults", -value => "1"),
		$cgi->submit(),
		$cgi->reset(),
		$cgi->end_form();
} elsif ( (defined $cgi->param("machines")) && (defined $cgi->param("oids")) ) {
	print "
\n";
	foreach my $machine ($cgi->param("machines")) {
		print 	$cgi->h1("Results for: $machine");
		my $session;
		my $error;
		($session, $error) = Net::SNMP->session(
					-hostname 	=> $machine,
					-version 	=> $config{"snmp.version"},
					-timeout	=> $config{"snmp.timeout"},
					-community 	=> $config{"snmp.community"});
		if ($error) {
			warn "[ERROR]: There was an error: $error";
		} else {
			foreach my $oid ($cgi->param("oids")) {
				if (! defined $test_oid{$oid}) {
					warn "Unknown OID";
					next;
				}
				print $cgi->b("$oid: \n");
				my $result = $session->get_table(
					-baseoid => $test_oid{$oid}
					);
					if ($session->error()) {
						my $error = $session->error();
						warn "[ERROR]: There was an error: $error";
						next;
					}
					pretty_print($oid, $result, $cgi);
					%$result = ();
			}
			print 	$cgi->br();
		}
		if (defined $session) {
			$session->close();
		}
	}
	print "

\n";

print $cgi->a({-href => $url}, "Click here to check other machines.");

} else {

print $cgi->h1("Please provide a machine and a test to perform and try again!"),

$cgi->a({-href => $url}, "Click here to check other machines.");

}

print $cgi->end_html();

# *******************************************

# ************* SCRIPT ROUTINES *************

# *******************************************

# Read the script configuration file

sub read_config_file {

my $hash_ref = $_[0];

my $machines = $_[1];

my $file_name = $_[2];

open(FILE, $file_name) || die "'$file_name', $!";

while () {

chomp($_);

if ($_ =~ /^#/) {

next;

}

my ($key, $value) = split ('=', $_);

if ($key !~ /machines/) {

$hash_ref->{$key}=$value;

} else {

@{$machines} = split(',', $value);

}

}

close(FILE);

}

sub pretty_print {

my $oid = $_[0];

my $result = $_[1];

my $cgi = $_[2];

if ($oid eq "load") {

printf "%10s %10s %10s\n", $result->{$test_oid{"$oid"} . ".1.2.1"}, $result->{$test_oid{"$oid"} . ".1.2.2"}, $result->{$test_oid{"$oid"} . ".1.2.3"};

printf "%10f %10f %10f\n", $result->{$test_oid{"$oid"} . ".1.3.1"}, $result->{$test_oid{"$oid"} . ".1.3.2"}, $result->{$test_oid{"$oid"} . ".1.3.3"};

} elsif ($oid eq "disk space") {

my $disks = scalar(keys %{$result})/12; # We receive 12 parameters with each reading...

printf "%20s %20s %20s %20s %20s\n", "Disk name", "Total space", "Available space", "Used space", "Percentaje used";

for (my $idx=1; $idx <= $disks; $idx++) { my $used=$result->{$test_oid{"$oid"} . ".1.8." . $idx};

my $free=$result->{$test_oid{"$oid"} . ".1.7." . $idx};

my $total=$result->{$test_oid{"$oid"} . ".1.6." . $idx};

printf "%20s %20s %20s %20s %20f\n", $result->{$test_oid{"$oid"} . ".1.3." . $idx}, $total, $free, $used, (($free/$used)*1.0);

}

printf "\n";

} else { # There is no filter for this OID. Display it "as is"

# Create and index for the data. We require than the output to come in an ordered way

my %index;

foreach my $key (keys %{$result}) {

my $fixedkey = $key;

$fixedkey =~ s/\.//g;

$index{$fixedkey}=$key;

}

foreach my $key (sort {$a <=> $b} keys %index) {

print ("$result->{$index{$key}}\n");

}

}

}

__END__

=head1 NAME

instantCheck.cgi - A script to get immediate stats of a given machine without loging in.

=head1 DESCRIPTION

Simply copy this script to your web server cgi-bin directory and change it permissions to 755.

Then create a configuration file like the following one:

# SNMP community string for version 1, 2c. It is assumed to be common for all the involved machines

snmp.community=test

# Version used to ask the agent. It is assumed to be common for all the involved machines

snmp.version=2

# SNMP operation timeout

snmp.timeout=60

# List of machines to poll

machines=localhost,localhost.localdomain

If you need to parse a given output, check for the 'pretty_print' routine. One way to get it right is to use snmpwalk on Linux

if available:

snmpwalk -v 1 -c XXXX -On servername .1.3.6.1.4.1.2021.9

=head1 REQUIREMENTS

This script requires the following Perl modules:

=over 4

=item CGI >= 2.38

=item CGI::Carp >= 2.38

=item Net::SNMP >= 5.0.1

=cut

The CGI was also tested only on Perl 5.8.0 so it is probably that will not work on older versions of Perl.

=head1 LICENCE

This code is covered under the GNU GPL License.

=head1 AUTHOR

José Vicente Núñez Zuleta (josevnz@users.sourceforge.net). RHCE, SCJD, SCWCD.

=cut

Sin categoría