August 29 2008

Los virus informaticos llegan al espacio exterior

Friday, August 29, 2008 23:51
Posted in category Uncategorized

He encontrado esta noticia, realmente curiosa en el diarioti.com.Yo la verdad, no sé como habrán llegado estos virus al espacio:



Un nuevo virus ha infectado las computadoras de la estación espacial internacional ISS. Según NASA, no es la primera vez que ocurre.

Diario Ti: Ya no es posible evitar los virus informáticos, ni siquiera en el espacio exterior. NASA ha confirmado que varias computadoras portátiles de la estación espacial internacional ISS han sido infectadas por un virus en julio. Según NASA, en la estación espacial no había sistemas críticos, por lo que la infección viral no es grave.

No es la primera vez que hemos tenido gusanos o virus. No sucede con frecuencia, pero no es la primera vez que ocurre", declaró la portavoz de NASA, Kelly Humphries a la publicación Wired.

NASA no desea revelar el nombre del virus, pero según diversas fuentes se trataría de W32.Gamina.AG, un gusano algo antiguo, que intenta robar informaciones de inicio de sesiones de juegos en línea.

Por el momento es incierta la forma en que el programa llegó al espacio. En la estación espacial no hay conexión directa a Internet, pero su tripulación puede enviar y recibir correo electrónico mediante una conexión digital especial, que en todo caso analiza todos los archivos en búsqueda de códigos malignos.

Por lo tanto, la infección podría haber quedado instalada en las computadoras mientras estas estaban en la tierra, o alternativamente el gusano puede haber sido subido a una de las máquinas mediante un dispositivo USB. 


Ir a la noticia

August 29 2008

Script Bash Control Procesos consumen 100%CPU

Friday, August 29, 2008 21:34
Posted in category Otros

Alguna veces, algunos procesos se quedan colgados, consumiendo gran parte de CPU.
Para darnos cuenta de esta situación, podemos utilizar el siguiente script. Éste comprobará
cada 60 segundos los procesos que están consumiendo el 100% de la CPU.

#!/bin/bash

while true
do
sleep 60
USAGE=`ps -eo pcpu,pid -o comm= | sort -k1 -n -r | head -1 | awk ‘{ print $1 } ‘`
USAGE=${USAGE%%.*}
PID=`ps -eo pcpu,pid -o comm= | sort -k1 -n -r | head -1 | awk ‘{print $2 }’`
PNAME=`ps -eo pcpu,pid -o comm= | sort -k1 -n -r | head -1 | awk ‘{print $3 }’`

if [ $USAGE -gt 99 ]
then
USAGE1=$USAGE
PID1=$PID
PNAME1=$PNAME
sleep 120
USAGE2=`ps -eo pcpu,pid -o comm= | sort -k1 -n -r | head -1 | awk ‘{ print $1 } ‘`
USAGE2=${USAGE2%%.*}
PID2=`ps -eo pcpu,pid -o comm= | sort -k1 -n -r | head -1 | awk ‘{print $2 }’`
PNAME2=`ps -eo pcpu,pid -o comm= | sort -k1 -n -r | head -1 | awk ‘{print $3 }’`
# Now we have variables with the old process information and with the
# new information
[ $USAGE2 -gt 99 ] && [ $PID1 = $PID2 ] && mail -s “CPU al 100% con el proceso $PNAME , PID= $PID1″ webmaster@dominio.com < .
fi
done

 

Este será el primero de una larga lista de scripts bash que voy a ir mostrando. Crearé nuevo apartado con estos scripts. Espero que os sea de utilidad.

August 28 2008

APIs GOOGLE MAPS

Thursday, August 28, 2008 19:28
Posted in category Otros

Este tutorial pretender explicar las API’s de Google para crear mapas en nuestros sitios web. Para ello crearemos una pequeña aplicación práctica en donde señalaremos los pueblos por los que pasa el camino Francés del Camino de Santiago.

Para comenzar a utilizar las API’s de google maps necesitaremos entrar en Google Maps Key y conseguir una clave para utlizar la API en nuestro sitio web.

En mi caso, la clave es la siguiente:

ABQIAAAAE6_YX3xR4O-y-aVOxUSY7RTSEXBORVwpjYChIyrk62hDXwRGGxRxdT0wnewet7RIspmgTEkaziTEuQ

Vamos a hacer un mapa que nos muestre todos los pueblos por donde se desarrolla el camino francés. Para ello necesitamos las coordenadas de los pueblos. Os las podéis descargar aquí.

En primer lugar es necesario crearse un mapa; es tan fácil como esto:

 <div id="map" style="width: 500px; height: 300px"</div>

Para inicializar ese mapa, debemos implementar las funciones load y OnUnload del objeto body y añadir un script javascript de google. En el script debemos añadir nuestra clave.

  <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAE6_YX3xR4O-y-aVOxUSY7RTSEXBORVwpjYChIyrk62hDXwRGGxRxdT0wnewet7RIspmgTEkaziTEuQ"
      type="text/javascript></script>
 
 
<body onload="load()" onunload="GUnload();">
 
<script type="text/javascript">
var map 	 = null;
var geocoder     = null;
geocoder          = new GClientGeocoder();
	  function load() {
 
 
   	    if (GBrowserIsCompatible()) {
		/*Creamos el mapa*/
		map  = new GMap2(document.getElementById("map"));
		/*A&ntilde;adimos un control*/
                map.addControl(new GSmallMapControl());
		/*A&ntilde;adimos un control*/
                map.addControl(new GMapTypeControl());
      		/*Centramos el mapa en un punto*/
                map.setCenter(new GLatLng(36.03133177633187, -5.80078125), 5);
	   }//fin navegador compatible
	}//fin load
 
	function GUnload(){
	}
</script>

Todo punto que queramos representar en el mapa, consta de 2 magnitudes, longitud y latitud terrestre. En las API’s de Google Maps un punto se representa con el siguiente código

/*Creamos un punto*/
var point = new GLatLng(40.44871878033367, -3.800346851348879);
/*Lo a&ntilde;adimos al mapa, A un mapa se le a&ntilde;ade un marcador*/
map.addOverlay(crearMarcador(point, "Pozuelo"));

La función crearMarcador, es de cosecha propia, y nos va a permitir limpiar un poco más el código:

function crearMarcador(point, descripcion,icon) {
  	var marker = new GMarker(point,icon);
    GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(descripcion);  });
  return marker;
}

Visto esto, tenemos ya en mente lo que tenemos que hacer para poder marcar todos los pueblos del camino fránces. Tenemos que hacer una consulta a base de datos para recuperar todas las coordenadas de los pueblos, para posteriormente generar tantos marcadores como pueblos haya:

<?php
	**Query BBDD***
 
while($row = mysql_fetch_array($resulset)){
	$longitud     = $row["longitud"];
	$latitud      = $row["latitud"];
	$nombrePueblo = $row["nombrePueblo"];
echo &lt;&lt;&lt;MARCA
	var point = new GLatLng("$longitud","$latitud");
	var marker = crearMarcador(point, "$nombrePueblo",icono)
	map.addOverlay (marker);
MARCA;
}
 
?>

El resultado lo podeis ver aquí.

August 27 2008

Huevo de Pascua en Firefox 3

Wednesday, August 27, 2008 20:23
Posted in category Uncategorized

La nueva release de Firefox cuenta con un nuevo huevo de pascua. Como campaña publicitaria para la puesta en marcha de Firefox 3, la fundación Mozilla ha estado utilizando a los Robots, y de ahí este huevo de pascua. Vease este ejemplo:

Beta 5 Firefox

Este huevo de pascua (o Easter Egg) se puede visualizar introduciendo la url about:robots en el navedor, lo que nos mostrará la siguiente pantalla:



about-robots-firefox3.png

Gracias a emezeta he podido saber que existen algunas curiosidades acerca de esta singular característica del nuevo Firefox 3:

  • En la versión oficial (en inglés), la página tiene el tag title HTML siguiente: Gort! Klaatu Barada Nikto!, que es una clara referencia a la frase de la película The day the Earth stood still y su robot Gort.
  • La frase ¡Venimos a visitaros en son de paz y con buena voluntad! viene del inglés We have come to visit you in peace and with goodwill y también hace referencia a la misma película.
  • La frase Un robot no debe dañar a un ser humano o, por su inacción, dejar que un ser humano sufra daño es la primera de las leyes de la robótica, de Isaac Asimov. La película Yo, robot también utiliza estas leyes.
  • ¡Al favicon (icono que aparece junto a la dirección de la página) le brillan intermitentemente los ojos!
  • La frase Los robots han visto cosas que vosotros no creeríais es una referencia a la película Blade Runner, cuando el robot replicante Roy Batty dice Yo he visto cosas que vosotros no creeríais. Atacar naves en llamas más allá de Orión….
  • La frase Los robots son sus amigos de plástico con quien les gustará estar proviene de la novela La guía del autoestopista galáctico, de Douglas Adams, de la compañía ficticia Sirius Cybernetics Corporation.
  • La frase Los robots tienen brillantes culos metálicos que no deben ser chupados (¡traductores! ¡es besados!) hace referencia a la famosa frase de Bender (Futurama) donde dice «Besa mi brillante culo metálico».
  • La última parte que afirma …Y tienen un plan hace referencia a la famosa serie de ciencia ficción, Battlestar Galactica.
  • Al pulsar el botón Reintentar, su texto cambia por el de Por favor, no pulse este botón otra vez, que al volver a pulsar, desaparece. Este último mensaje es de nuevo una referencia a una de las conversaciones entre Ford Prefect y Arthur Dent, en La guía del autoestopista galáctico.

Otra de las curiosidades, que nos comenta emezeta es que dependiendo del idioma que tengamos establecido en el Firefox, nos mostrará las referencias del idioma (que la mayoría son diferentes unas de otras).

August 26 2008

Como detectar el navegador y el SO y mostrarlo con PHP

Tuesday, August 26, 2008 20:33

El seguimiento de los visitantes de nuestros sitios webs es un paso muy importante si nos tomamos en serio el análisis de su tráfico y la forma de optimizar nuestras páginas para obtener más visitantes.

Hay muchas razones por las cuales es necesario crear un pequeño script que nos posiblite realizar un seguimiento de nuestros visitantes.

En este tutorial voy a crear una pequeña clase en PHP que nos ayudará a reconocer el navegador y el sistema operativo del agente web (navegador normalmente) que usa un usuario (o robot web) para visitar nuestra página.


La clase se llamará AgenteWeb y su uso será el siguiente:

 require "src/utiles/AgenteWeb.php";
 $agenteWeb = new AgenteWeb();
 $agenteWeb->setAgente($_SERVER['HTTP_USER_AGENT']);
 $agenteWeb->parseaAgente();
 $so                 = $agenteWeb->getSO();
 $navegador      = $agenteWeb->getNavegador();
 $imagenNavegador= $agenteWeb->getImagenSrcNavegador();
 $imagenSO       = $agenteWeb->getImagenSrcSO();
<?php
error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
class AgenteWeb{ 
 
  private $SO        = "";  //Sistema Operativo
  private $navegador = "";  //Navegador
  private $agente    = "";  //Agente

Tendrá un método que reconocerá el sistema operativo y otro al navegador a través del parámetro agente.

public  function reconocedorSistemaOperativo($Agente){
	if      (ereg("Windows NT 5.1",  $Agente)) $sistemaOperativo = "Windows XP";
	elseif  (ereg("Windows NT 5.0",  $Agente)) $sistemaOperativo = "Windows 2000";
	elseif  (ereg("Win98     ",      $Agente)) $sistemaOperativo = "Windows 98";
	elseif  (ereg("Win",             $Agente)) $sistemaOperativo = "Windows ??";
	elseif  ( (ereg("Mac",           $Agente)) ||
		  (ereg("PPC", $Agente))) $sistemaOperativo = "Macintosh";
	elseif  (ereg("Debian",          $Agente)) $sistemaOperativo = "Debian";
	elseif  (ereg("Linux",           $Agente)) $sistemaOperativo = "Linux";
	elseif  (ereg("FreeBSD",         $Agente)) $sistemaOperativo = "FreeBSD";
	elseif  (ereg("SunOS",           $Agente)) $sistemaOperativo = "SunOS";
	elseif  (ereg("IRIX",            $Agente)) $sistemaOperativo = "IRIX";
	elseif  (ereg("BeOS",            $Agente)) $sistemaOperativo = "BeOS";
	elseif  (ereg("OS/2",            $Agente)) $sistemaOperativo = "OS/2";
	elseif  (ereg("AIX",             $Agente)) $sistemaOperativo = "AIX";
	else   $sistemaOperativo = "Desconocido"; 
 
	return $sistemaOperativo;
} 
 
public  function reconocedorNavegador($agente){
//primero tenemos k conocer si se trata de opera!!!
//ya que el identificador de este navegador a veces se puede trucar...(OPERA CAN BE spoofed as MSIE 6)
	if    (eregi("Opera( )*(/){0,1}([0-9]+)(\.([0-9])+)*",            $agente,$browser)); // son validos Opera/7.54 Opera/8 Opera/7.23 Opera 6.2
	elseif(eregi("Netscape([0-9]*)( )*(/){0,1}([0-9]+)(\.([0-9])+)*", $agente,$browser)); //son validos Netscape/7.02  Netscape6/6.2.1
	elseif(eregi("MSIE ([0-9]+)(\.([0-9])+)*",                        $agente,$browser)); //son validos MSIE 6.0 MSIE 5.0  MSIE 5.5
	elseif(eregi("Lynx",                                              $agente,$browser));
	elseif(eregi("WebTV",                                             $agente,$browser));
	elseif(eregi("Galeon/([0-9]+)(\.([0-9])+)*",                      $agente,$browser)); //Galeon/2.2.2
	elseif(eregi("Konqueror/([0-9]+)(\.([0-9])+)*",                   $agente,$browser)); //konqueror/2.2.2 konqueror/3.1
	elseif(eregi("Firefox( )*(/){0,1}([0-9]+)(\.([0-9])+)*",          $agente,$browser)); //Firefox/0.9 Firefox/0.10.1
    elseif(eregi("Iceweasel( )*(/){0,1}([0-9]+)(\.([0-9])+)*",        $agente,$browser)); //IceWeasel/0.9 Firefox/0.10.1
	elseif(eregi("Firebird( )*(/){0,1}([0-9]+)(\.([0-9])+)*",         $agente,$browser)); //Firebird/0.7 Firebird/0.10.1
	elseif(eregi("Safari",                                            $agente,$browser)); //Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/125.4 (KHTML, like Gecko) Safari/125.9
	elseif ((eregi("Gecko",  $agente))
      	||(eregi("X11",    $agente))
      	||(eregi("Mozilla",$agente))
      	||(eregi("U",      $agente)))                               $nombre[0] = "Mozilla";
	elseif(eregi("WAP",                                               $agente,$browser));
	else $nombre[0]="Otro";
 
      eregi("([a-z]+)",                         $browser[0],$nombre); //conseguimos el nombre
      eregi("([0-9]+)(\.([0-9])+)*",            $browser[0],$version); //conseguimos la version
   $navegador="${nombre[0]} ${version[0]}"; //separamos el nombre y la version por un espacio
 
return $navegador;
}
public function reconocerRobot($agente){
	if     (ereg("Google",  $agente)) $robot = "Google"; //Googlebot/2.1 (+http://www.google.com/bot.html)
	elseif (ereg("Yahoo",   $agente)) $robot = "Yahoo"; //Mozilla/5.0 (compatible; Yahoo! Slurp; http://www.webmasterworld.com/red.cgi?f=21&amp;d=8530&amp;url=http://help.yahoo.com/help/us/ysearch/slurp)
	elseif (ereg("msnbot",  $agente)) $robot = "MSN"; //msnbot/0.11 (+http://search.msn.com/msnbot.htm)
	elseif (ereg("Scooter", $agente)) $robot = "Bot"; // ?
	elseif (ereg("Spider",  $agente)) $robot = "Bot"; // ?
	elseif (ereg("Infoseek",$agente)) $robot = "Bot"; // ?
	elseif (ereg("Slurp",   $agente)) $robot = "Bot"; // ?
	elseif (ereg("bot",     $agente)) $robot = "Bot"; // ?
	else  $robot="Otro";
 
return $robot;
}

Y los setters and getters correspondientes:

    public function getSO(){
         return   $this->SO;
    }
    public function getNavegador(){
         return   $this->navegador;
    }
    public function getAgente(){
         return   $this->agente;
    }
    public function setAgente($agente){
            $this->agente=$agente;
    }
    public function setSO($SO){
            $this->SO=$SO;
    }
    public function setNavegador($navegador){
            $this->navegador=$navegador;
    }

Llamada que realiza el proceso princial de reconocer el navegador y el sistema operativo

 public function parseaAgente(){
 
		$this->SO          = $this->reconocedorSistemaOperativo ($this->agente);
		$this->navegador= $this->reconocedorNavegador($this->agente);
}

Obtiene la imagen correspondiente al navegador reconocido

  public function getImagenSrcNavegador(){
 
  	 $img="question.gif";
  	 eregi("([a-z]+)",  $this->navegador,$nombre); //conseguimos el nombre
 	 switch ($nombre[0]) {
          case "Netscape"  :$img='netscape.gif';  break;
          case "Galeon"    :$img='galeon.gif';    break;
          case "Firefox"   :$img='firefox.gif';   break;
          case "Firebird"  :$img='firebird.gif';  break;
          case "Iceweasel" :$img='iceweasel.gif'; break;
          case "Mozilla"   :$img='mozilla.gif';   break;
          case "MSIE"      :$img='explorer.gif';  break;
          case "Konqueror" :$img='konqueror.gif'; break;
          case "Opera"     :$img='opera.gif';     break;
          case "Lynx"      :$img='lynx.gif';      break;
          case "Bot"       :$img='altavista.gif'; break;
          case "WAP"       :$img='pdaphone.gif';  break;
          case "Otro"      :$img='question.gif';  break;
	}
	return $img;
 
}

Obtiene la imagen correspondiente al sistema operativo reconocido

  public function getImagenSrcSO(){
	 $img ="question.gif";
 
    switch ($this->SO ) {
          case "Windows ??"   :$img='windows.gif';      break;
   		  case "Windows XP"   :$img='windowsXP.gif';    break;
      	  case "Windows 2000" :$img='windows2000.gif';  break;
          case "Windows 98"   :$img='windows98.gif';    break;
          case "Macintosh"    :$img='mac.gif';      break;
          case "Linux"        :$img='linux.gif';    break;
          case "Debian"       :$img='debian.jpg';   break;
          case "FreeBSD"      :$img='bsd.gif';      break;
          case "SunOS"        :$img='sun.gif';      break;
          case "IRIX"         :$img='irix.gif';     break;
          case "BeOS"         :$img='be.gif';       break;
          case "OS/2"         :$img='os2.gif';      break;
          case "AIX"          :$img='aix.gif';      break;
          case "Desconocido"  :$img='question.gif'; break;
    }
    return  $img;
}

Fin de la clase

public function __destruct(){
}
}
?>

He dejado en la sección de descargas las imagenes de los navegadores y de los sistemas operativos.
Espero que os sirva de ayuda esta pequeña clase.
Descárgate el código entero

August 26 2008

Chiste Friki

Tuesday, August 26, 2008 11:08
Posted in category Uncategorized

Un ingeniero de Microsoft, uno de Apple y un desarrollador de Linux se encuentran en el baño.

El de Microsoft acaba primero, y a la hora de lavarse las manos lo hace a conciencia, con mucho jabón y agua, y para secarse usa un montón de toallitas de papel, y dice:
— Los de Microsoft, lo que hacemos lo hacemos bien.

El ingeniero de Apple, también se lava a conciencia, pero utiliza muy poca agua y muy poco jabón, y para secarse utiliza una esquinita de una toallita de papel. Cuando acaba dice:

—Los de Apple, además de hacerlo bien, lo optimizamos al máximo.

El programador de Linux, sin lavarse, mira a los otros dos y dice:

—Los de Linux no nos meamos en las manos…

August 25 2008

Tux promocionando vaqueros en Turquia

Monday, August 25, 2008 19:17
Posted in category Humor Geek, Linux

Tengo un amigo que ha pasado una semana de vacaciones en Estambul (Turquía). Allí de repente vio una figura.. y pensó en mi. Hoy me ha mandado una foto, nada más llegar de Estambul, dedicada para mi.

 

 

tux jeans kids

¡Que fuerte! Tux promocionando vaqueros! En esta tienda cerca del Grand Bazaar de Estambul, han usado a nuestro pingüino para la promoción de vaqueros infantiles.

 

Gracias damupi por la foto!

August 23 2008

Un video del Camino de Santiago

Saturday, August 23, 2008 11:48
Posted in category Uncategorized

Uno de los videos del camino que mas me han gustado.



Blog de la autora del Video

August 22 2008

Sobre la web

Friday, August 22, 2008 17:33
Posted in category Uncategorized

Poco a poco…. la web va teniendo más y más cosillas…

Podeis comentarme , que os gustaria que tuviera, que no os gusta, que mejorariais…

 

Thanks!!

February 11 2008

Próposito del 2008

Monday, February 11, 2008 19:07
Posted in category Uncategorized

Mejorar esta web!!!

 …. algún día :p


Página 63 de 64« Inicio...6061626364