Paz, tranquilidad, quietud, calma, relajación, naturaleza, mar...


... y risas, noche y día:


Paz, tranquilidad, quietud, calma, relajación, naturaleza, mar...


... y risas, noche y día:


Como habreis podido observar, en el menú de la derecha, encima del calendario, os muestro el PageRank de mi weblog... ¡sin necesidad de tener la ToolBar de Google!
¿Y qué significa eso? Pues que utilizo un código PHP, junto con SSI para calcularlo y mostrároslo.
¿Quereis ver el código?
define('GMAG', 0xE6359A60);
//unsigned shift right
function zeroFill($a, $b){
$z = hexdec(80000000);
if ($z & $a){
$a = ($a>>1);
$a &= (~$z);
$a |= 0x40000000;
$a = ($a>>($b-1));
}else{
$a = ($a>>$b);
}
return $a;
}
function mix($a,$b,$c){
$a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
$b -= $c; $b -= $a; $b ^= ($a<<8);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
$b -= $c; $b -= $a; $b ^= ($a<<16);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,3));
$b -= $c; $b -= $a; $b ^= ($a<<10);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,15));
return array($a,$b,$c);
}
function GCH($url, $length=null, $init=GMAG){
if(is_null($length)){
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12){
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16)
+($url[$k+3]<<24));
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16)
+($url[$k+7]<<24));
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)
+($url[$k+11]<<24));
$mix = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}
$c += $length;
switch($len){ // all the case statements fall through
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
// the first byte of c is reserved for the length
case 8 : $b+=($url[$k+7]<<24);
case 7 : $b+=($url[$k+6]<<16);
case 6 : $b+=($url[$k+5]<<8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<<24);
case 3 : $a+=($url[$k+2]<<16);
case 2 : $a+=($url[$k+1]<<8);
case 1 : $a+=($url[$k+0]);
// case 0: nothing left to add
}
$mix = mix($a,$b,$c);
// report the result
return $mix[2];
}
//converts a string into an array of integers (the numeric
//value of the char)
function strord($string){
for($i=0;$i
$result[$i] = ord($string{$i});
}
return $result;
}
function getPR($_url){
$url = 'info:'.$_url;
$ch = GCH(strord($url));
$url='info:'.urlencode($_url);
$pr = file("http://www.google.com/search?client=
navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&
features=Rank&q=$url");
$pr_str = implode("", $pr);
return substr($pr_str,strrpos($pr_str, ":")+1);
}
echo "Mi PR es: ".getPR("http://www.albertlg.com/blog/")."";
?>
Os propongo un ránking de ese tipo de armas, totalmente ampliable y modificable en orden:
¿Alguien se anima?
Se admiten todo tipo de matices. ;)
Las
diferentes naciones del mundo no deberían medirse en las olimpiadas
SÓLO por sus medallas conseguidas. Ese ránking dispone de una
importancia actualmente que no va, a mi entender, con el espíritu olímpico.
Forma parte de él pero no es su totalidad.
Hay otros muchos valores importantísimos, como la deportividad, el compañerismo (en el caso de los deportes de equipo), la humildad, la superación, la competitividad, el conocimiento de las propias limitaciones, la adaptación a las circunstancias... que no disponen de tanta publicidad en los medios.
Evidentemente, eso no resta importancia a la eficacia y los resultados, que en este caso no son otra cosa que las deseadas medallas. Aunque hay triunfos que no consiguen premio. ;)
Porque es lo único que se me ocurre ahora mismo, tras encontrarme con esta web: Iraq Body Count, a parte de publicar este post para sacudir (de nuevo) vuestras conciencias...
¿Qué justifica una guerra? ¿Quién "gana" una guerra?
Si hay palabras que una vez dichas no puedes volverlas atrás, ¡imaginaos que ocurre con la bombas!
La imagen de la guerra: "Gracias por tu democracia. Gracias por tu libertad. No tengo con qué pagarte pero seguro encontrarás con qué cobrar".
Siempre he defendido el perdón. Perdonar y no olvidar.
Algunos copos inofensivos trabajando juntos pueden desatar una avalancha de destrucción.

He traducido la "checklist" original de A Web Standards Checklist, en MaxDesign.
Antes de empezar, aclaremos conceptos:
La lista de comprobaciones: