Archivos Abril 2009

El Bruto

Me ha entusiasmado el juego de El Bruto. Un juego online muy simple que no requiere registro, permite usar contraseña, pero no pide ningún dato personal. Ni si quiera cuenta de correo. Muy bien hecho.

El juego es tan simple como elegir un nombre que aún no esté en uso, seleccionar una figura y un color. Opcionalmente podemos asignar una contraseña. A partir de ahí podemos comenzar a luchar con otros personajes. El combate es automático. Según el resultado se nos asignará dos puntos (victoria) o un punto (derrota). Al acumular puntos aumentamos de nivel y vamos ganando habilidades y objetos que emplear en otras luchas. El número de combates está limitado al día, así que tampoco hay que tener mucho cuidado de engancharse.

Pertenece a Motion Twin, una empresa líder en la creación de páginas web de juegos en Francia. Tienen otros juegos en español: Kadokado, DinoRPG, Alphabounce, Myminicity, Hammerfest, Naturalquimia, Dinoparc y Miconejo. Desarrollados en haXe (lenguaje de programación open source y multiplataforma).

Si te apetece echar una pelea conmigo, soy SuoSVaiS.

Me gustó mucho una "historia" que cuenta Jorge Wagensberg en Si la naturaleza es la respuesta, ¿Cuál era la pregunta? y que introducía así:

Hay una historia de frontera que me gusta contar. Ya no sé dónde la oí por primera vez, ni siquiera sé si sucedió tal como la cuento, incluso es posible que la haya modificado a mi conveniencia o que la haya inventado con el mayor descaro ... Durante un tiempo quise documentarla, recuperar los detalles con nombres y fechas. Pero da lo mismo, su fuerza como metáfora no pierde ni un gramo por el detalle insignificante de que nunca haya ocurrido en la realidad.

Dos jóvenes amigos toman una copa en la barra de un bar. Suelen hacerla cuando pueden coincidir, porque uno es médico, urólogo, y el otro militar, piloto de caza. Se admiran mutuamente por las historias de su vida profesional que se intercambian en esos momentos de paz. Esa noche, el piloto describe con entusiasmo cómo, pocas horas antes, ha roto dos veces la barrera del sonido con su aparato. Pero no centra la historia en la proeza misma sino en una curiosidad científica: se ha maravillado al ver cómo la onda sonora rompía los cristales de hielo. La copa del médico se ha detenido a medio camino entre el posavasos y sus labios. "¿Puedes repetirme eso?" "Tú sabes cómo romper cristales a distancia y a través de un medio fluido sin que éste se vea afectado?" Tal es, en efecto, el problema cotidiano del médico: abrir a sus pacientes para hurgarles en el riñón en busca de mortificantes piedras demasiado grandes para ser eliminadas sin ayuda. Una idea voló sobre la frontera. Hoy raramente se acaba en un quirófano por una piedra en el riñón, hoy se rompen las piedras con sonido, de una manera limpia, indolora y sin postoperatorio. La idea voló sobre la frontera, sí, pero sólo la idea: ¡a nadie se le ocurrió atar un paciente al morro de un caza supersónico!

No es descabellado pasar de la aeronáutica a la medicina. Ni al revés. Y lo mismo se puede decir quizá respecto de diferentes formas de conocimiento. Así se gestó la frase:

La naturaleza no tiene culpa alguna de los planes de estudio previstos en las escuelas y universidades.

En realidad es un libro de aforismos. Esto puede servir como mal ejemplo de lo que podemos encontrar en él. La última frase, y la reflexión a la que te invita al leer todo la historia, sí son buenos ejemplos.

Comienzan a aparecer tutoriales y clases en PHP para manejar cómodamente el API de Analytics.

También los hay ya para otros lenguajes:

Puestos a tener en nuestro blog un Acerca de o Sobre el autor, muy recomendable, podemos aprovechar los microformatos agregando sentido semántico a la web. Para esto tenemos hCard, la versión semántica de las tarjetas de presentación de toda la vida. Además de ofrecer información sobre alguien puede adornar y permitir la interacción con navegadores y herramientas que detectan este tipo de estándar.

El siguiente código es un ejemplo que la gente de Opera ha creado para una breve introducción a lo que es este estándar:


<div class="vcard">
  <span class="fn n">Jack Tripper</span>
  <div class="org">Jack's Bistro</div>
  <div class="adr">
    <div class="street-address">834 Ocean Vista Ave.</div>
    <span class="locality">Santa Monica</span>,
    <span class="region">CA</span>,
    <span class="postal-code">90405</span>
  </div>
</div>

Podemos consultar la referencia hCard en Microformats.com o usar la herramienta hCard Creator para crear fácilmente el nuestro.

Podemos validar un hCard indicando la url donde está o copiando directamente el código en hCard Validator.

[Via anieto 2k]

Tenía pendiente crear un bloque de entradas más vistas (o visitadas) y aprovechando la apertura del API de Google Analytics y lo divertido de la documentación he creado un breve programita en PHP para acceder a esos datos.

Basta con definir GA_LOGIN y GA_PASS con nuestros datos de acceso a Analytics e indicar en GA_IDS el id del perfil a consultar. El último dato también se puede obtener con el API, como explican en el ejemplo de datos de cuenta, pero he preferido indicarlo directamente para simplificar. Para obtener este número basta con entrar en Analytics, editar el perfil que deseemos y copiar el Número de identificación del perfil que nos indica.

Este ejemplo obtiene las 10 páginas con más visitas de la última semana ordenados de forma decreciente por visitas.

<?php
  define
('GA_LOGIN',  'LOGIN');       # cambiar
  
define('GA_PASS',   'PASSWORD');    # cambiar
  
define('GA_IDS',    'ID');          # cambiar
  
define('GA_APP',    'www.mabarroso.com-ga-1.0');

  
# Login
    
$loginURL 'https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email='.GA_LOGIN.'&Passwd='.GA_PASS.'&source='.GA_APP.'&service=analytics';
    
$loginData file_get_contents($loginURL);
    list(,
$Auth) = split('Auth='$loginData);

    if (!
$Auth) {
      exit(
'no logged in');
    }

  
# Fijamos user agent y Auth en la cabecera de las peticiones
    
ini_set('user_agent'GA_APP."\r\nAuthorization: GoogleLogin auth=$Auth");

  
# Rango de fechas
    
$dateEnd date('Y-m-d'time()-86400);  // ayer
    
$dateBegin   date('Y-m-d'time()-604800); // la semana pasada

  # Consulta
    
$data file_get_contents('https://www.google.com/analytics/feeds/data?ids=ga:'.GA_IDS.'&dimensions=ga:pagePath&metrics=ga:pageviews&sort=-ga:pageviews&start-index=1&max-results=10&start-date='.$dateBegin.'&end-date='.$dateEnd);
    
$data str_replace(array('dxp:dimension','dxp:metric'), array('dxpdimension','dxpmetric'), $data);
    
$xml simplexml_load_string($data);

  
# Datos
    
$i 0;
    foreach (
$xml->entry as $entry) {
      echo ++
$i.' '.$entry->dxpdimension['value'].' : '$entry->dxpmetric['value'] .'<br/>';
    }
?>

He tenido problemas al recuperar los valores dxp:dimensión y dxp:metric con SimpleXML. No es una solución elegante pero, para salvar el obstáculo, reemplazo esas cadenas de texto por otras que no dan problemas (les quito los dos puntos).

lo más visto

Actualizado 24/4/2009 8:45. He usado el código anterior como base para actualizar a diario el nuevo bloque Lo más visto en la barra de la derecha, según los datos de Google Analytics.

Con una tarea programada para ejecutarse una vez al día: se recuperan los datos, se construye el código HTML y se guarda en archivo. La consulta a Google no se hace en cada petición. Es innecesario. Por el momento son las entradas más vistas durante la última semana, como en el código de ejemplo. Con el paso del tiempo comprobaré si conviene acortar o alargar el periodo.

Ahora se me ocurre que también sería interesante hacer otro bloque que fuera La entrada más vista ayer. Valdría el mismo código, cambiando la fecha inicial por $dateBegin = date('Y-m-d', time()-172800); (fecha actual menos el número de segundos de dos días). Por optimizar, también se puede cambiar en la url de la consulta max-results=1 y así obtener un único resultado en vez de 10.

Curioseando la documentación del API de Google Analytics me ha sorprendido las múltiples referencias a Orgullo y prejuicio. No deja de ser simpático que el usuario Elizabeth Bennett use su cuenta de correo liz@gmail.com para identificarse. Es divertido que los perfiles a los que tiene acceso sean Darcy's Blog (el blog del orgulloso amigo del señor Bingley), Jane's Blog (el blog de su hermana), el Austen's Most-Adored Website y el The Jane Austen Bookstore. Es una lástima que mi preferido, el adoradamente odiable señor Collins, no tenga su propio blog para hablar de su benefactora Lady Catherine de Bourgh y de la magnífica Rosings Park. Por suerte Lydia tampoco parece tener blog. Preferirá bailar.

Me avergüenza reconocer que he tenido un primer impulso machista al pensar "esto lo ha escrito una mujer". En mi defensa sólo puedo decir que me encanta esta novela, que he visto la serie de la BBC en varias ocasiones (más de 4, que recuerde) y que enseguida reprimí ese impulso por dos razones: porque la documentación es buena (independientemente de quién la haya escrito) y, segundo, porque no hay que olvidar que esta novela es una de las obras más conocidas de la literatura inglesa.

Me estoy divirtiendo un montón. No he podido resistirme a postearlo. Estoy deseando seguir con la documentación para ver si siguen apareciendo más personajes. Después de todo una de mis frases preferidas es del señor Darcy. De paso, aprender a manejar el API.

wdl

Con el apoyo de la Organización de las Naciones Unidas para la Educación, la Ciencia y la Cultura, la Biblioteca Digital Mundial (the World Digital Library, WDL) pone en Internet gratis y multilingüe, importantes materiales fundamentales de culturas de todo el mundo. Tesoros culturales como manuscritos, mapas, libros poco comunes, partituras musicales, grabaciones, películas, grabados, fotografías y dibujos arquitectónicos. Se puede acceder seleccionando lugar, tiempo, tema, tipo e isntitución.

Nos permite acceder, por ejemplo, al Diario del viaje de Magallanes (manuscrito de alrededor de 1525), Procesión en Sevilla y escenas de corridas de toros (de 1898) y Libro del itinerario seguido durante el viaje a las Indias Orientales, desde el 18 de octubre de 1746, hasta el 20 de junio de 1749. Son los que más me han llamado la atención. Documentos a los que seguramente nunca habría tenido acceso. Se puede ver el texto japonés considerado el primer libro jamás impreso y códices precolombinos de México (patrimonios de la humanidad). Por el momento priman la calidad a la cantidad, pero irán añadiendo contenido.

Hasta ahora sólo me había preocupado de mantener unas "buenas costumbres" relacionadas con SEO como construir URL amigables, mantener un mínimo las etiquetas meta en el HTML y aplicar el nofollow en algunos enlaces. Ocasionalmente hacía algo especial, como crear y mejorar sitemaps y repasar el robots.txt. Usaba servicios como Google Webmaster Tools y Google Analytics sin prestarles demasiada atención y como curiosidad más técnica que práctica. Para el blog, nunca se me ocurrió hacer nada de SEM.

El pasado mes de marzo recibimos un curso-presentación (por webanalytics.es) de Google Analytics en el trabajo que me abrió los ojos ante todo lo que no aprovechaba de esta herramienta. Ha sido muy gratificante hacer varias cosas en el trabajo, pero enseguida aparecen ideas osadas que no se pueden probar en cualquier parte. Llevo mucho tiempo usando mi blog como lugar de pruebas. He aprovechado para aplicarle muchas de las cosas que vimos en aquella presentación y para hacer esas pruebas atrevidas con las que no te la puedes jugar en el sitio web que te da de comer.

Si la naturaleza es la respuesta, ¿Cuál era la pregunta?
  • Título: Si la naturaleza es la respuesta, ¿Cuál era la pregunta?
  • Autor: Jorge Wagensberg
  • Editorial: Tusquets Editores
  • ISBN: 84-8310-847-X
  • Colección Metatemas, 128 páginas.

Si la naturaleza es la respuesta, ¿Cuál era la pregunta? y otros quinientos pensamientos sobre la incertidumbre es una colección de aforismos, principalmente preguntas, que sintetizan las aportaciones Jorge Wagensberg en clases, seminarios y conversaciones. Él mismo las ha ido recogiendo y ha llegado a decir Hoy casi desconfío de las ideas que no pueden formularse en una sola frase. Es el resultado de treinta años dedicados a preguntarse y explicarse la realidad.

El libro no procura enseñar nada, simplemente invita a pensar, reflexionar. No es un libro para leer de la primera a la última página. Basta con tomarlo en un momento, leer dos o tres frases y dejarlo hasta otra ocasión. Madurar la idea, darle vueltas.

El libro está dividido en cuatro partes: la Realidad, la Vida, el Conocimiento y la Civilización. Son quinientos pensamientos sobre la incertidumbre que tratan del azar y del tiempo, del arte y de la ciencia como formas complementarias de conocimiento, o de la convivencia y la transmisión de saber como pilares de una comunidad civilizada.

3D Logic

Mi pasatiempo este fin de semana ha sido 3D Logic . Un juego flash tipo puzle que recuerda mucho al cubo de Rubik .

El juego consiste en unir los pares de casillas iniciales del mismo color creando caminos hasta ella, cambiando el color de los cuadros grises. Sólo cuentan las conexiones horizontales y verticales. Las diagonales no sirven. Hay que manejarse en sólo tres caras del cubo. El tamaño del cubo, y la dificultad para resolverlo, va aumentando según el nivel.

Los primeros niveles son realmente fáciles. Ayuda a comprender el objetivo del juego, lo que está permitido y la forma en la que rotar el cubo. Las reglas y manejo tan simple hace que la única dificultad sea la del propio puzle, haciendo que te enganches rápidamente. Permite interrumpir la partida y continuarla más tarde. Un juego con el que uno se pica fácilmente y no puede parar de jugar. Al menos hasta que se agota la paciencia y se abandona.

El juego 3D Logic

Llevo varios días probando a medir el tráfico que llega al blog desde redes sociales como Facebook y Twitter mediante Google Analytics. La intención es poder comprobar de forma rápida información básica como las visitas recibida desde las redes, desde cada red, cuánto tiempo han permanecido en el blog y si han vuelto a visitarlo. Con esta medición puedo comprobar de qué forma afecta al blog mi comportamiento en estas redes sociales.

Después de decidir los valores para las etiquetas necesité generar la url para cada red y reducir su tamaño con servicios de redirección, como TinyURL y similares. Por suerte, veo en el blog de webanalytics.es que hay disponible un plugin para Firefox que facilita esta tarea. Proporciona un sencillo formulario desde el que indicar los valores deseados y nos construye la URL final ya abreviada. Basta con insertar después la URL corta en el lugar que nos interese.

Es el más me ha impresionado de los que recuerdo haber visto. Con una gran dosis de paciencia un japonés de 25 años se ha entretenido, no solo en sacar muchísimas fotos, si no en ir distribuyéndolas por su habitación creando una animación impactante y muy original.

El vídeo es una genialidad. Sería interesante saber cuánto tiempo que invirtió en realizarlo. Si fue totalmente planificado, es un genio. Si fue improvisado, es un genio. Si fue de otra forma, me sigue pareciendo genial.

[Visto en Kirai]

Llegó con adelanto (filtrado) el nuevo tráiler de Harry Potter y el misterio del Príncipe para sorpresa de todos. Aún quedaban unas horas cuando E online publicó el tráiler final (por error, supongo) con nuevas y sorprendentes imágenes de la película de Harry Potter.

Podemos ver a Ginny mucho menos tímida, a Ron y Hermione arrebatados y, lo que estaba deseando, a Draco comportándose como un verdadero villano y a Snape en acción sentenciando "it´s over". Adoro a Snape. Mortífagos atacando el puente repleto de muggles.

El equipo de Blog Hogwarts ya está trabajando en los subtítulos.

[Visto en Blog Hogwarts]

Actualizado 17/4/2009 0:15: El vídeo vuelve a verse.

Actualizado 17/4/2009 0:39: También disponible en YouTube

Actualizado 17/4/2009 0:49: Vuelven a quitar el vídeo, incluso en YouTube. Visible en The leaky cauldron

Actualizado 17/4/2009 8:45: Ya subtitulado en YouTube por Blog Hogwarts. Gracias al comentarista en español.

Actualizado 17/4/2009 22:00: Doblado en español en El Mundo. Me ha fastidiado que la frase de Snape la hayan traducido por Es el fin en vez de Está hecho. Es una frase muy importante para su personaje, sobre todo para la siguiente entrega.

Black Hat

Esta semana comienza la Black Hat 2009 en su edición europea en Amsterdam. Este año SecurityByDefault cubrirá el evento acreditados como prensa y han preparado una cuenta en Twitter en la que procurarán ir actualizando todo lo que nos vaya aconteciendo en el evento. La acreditación les permitirá, entre otras cosas, realizar entrevistas a los los ponentes.

Puedes ver más sobre lo que se presentará este año en este resumen de Black Hat Europe 2009 de SecurityByDefault y en la propia web de Black Hat.

Por otro lado, se ha confirmado oficialmente que la Black Hat Europe 2010 será en Barcelona.

[Visto en SecurityByDefault]

formulario de comentarios

Al hacer un comentario en un blog es muy útil elegir recibir notificaciones por correo cuando alguien deje otro. De esta forma podemos despreocuparnos y seguir al tanto de lo que se comenta sobre el tema y las opiniones de los demás.

En otros sistemas de gestión de contenidos (por ejemplo WordPress) esta funcionalidad está disponible y basta con activarla. Para Movable Type he decidido instalar el plugin MT-Notifier. Desde ahora, al hacer un comentario en cualquier entrada, está disponible la opción de suscribirse por correo a los nuevos comentarios que se hagan.

El plugin es fácil de instalar y añadir la nueva opción al formulario de los comentarios es muy simple. Basta con insertar el código recomendado en la documentación en la plantilla de comentarios. Me he entretenido en tocar el código para permitir que los correos enviados sean en formato HTML en vez de texto plano y que soporte UTF8. Esto lo hace más bonito, aunque no es necesario. Vicio de programador el andar tocando aquí y allí. Por otro lado me he divertido también modificando las plantillas para adaptarlas a mi antojo. Lo que sí hay que hacer es traducir los textos. Es posible que haya un archivo para español, pero puestos a tocar, no me entretuve en buscarlo.

A principios de este mes Google asignó nuevo PageRank y comencé a notar que las cosas iban mal. Para este blog, sin temática definida, la principal fuente de tráfico son los buscadores, en especial Google. Día a día las visitas a mi blog fueron decreciendo drásticamente. Justo cuando, jugando a SEO, comenzaba con intercambio de enlaces. Las visitas comenzaban a alcanzar niveles dramáticos. Después de comprobar varias veces que, técnicamente, el blog funcionaba bien y que era accesible desde diferentes proveedores, e incluso países, me desmoralicé. Al coincidir que este mes mi blog tiene menor Authority en Technorati y que en Alianzo había caído estrepitosamente mi posición (En la clasificación regional de Madrid había pasado del 800 al 1452) comencé a fijarme en las estadísticas de Feedburner y, para mi sorpresa, había días en los que no tenía ningún dato de suscriptores en Bloglines y otros en los que no había nada de Google Feedfetcher. Esto debía ser un error. No comprendía que un día perdiera todos mis suscriptores y al siguiente los recuperara. ¿Era todo una serie de catastróficas desdichas o un cúmulo de coincidencias?

Para los que aún dudan de que los concursos de la televisión que pretenden hacernos millonarios no son fáciles de ganar. Es muy sencillo. Se trata de 15 nombres de chico que contienen la letra 'i'. Hay que recordar que no hay nombres fáciles ni difíciles, sólo nombres más comunes y menos comunes. Son nada menos que quince. Seguro que si te pones a pensar se te ocurren muchos más. Debería ser imposible que entre esos quince no está ninguno de los que hayas pensado. Atento al video:

¿Qué no habéis acertado ninguno? ¿Ninguno de los 15? Pues estaba facilito.

[Visto en Menéame]

Sólo estoy enganchado a los podcasts y a buscar canciones en YouTube. No he seguido servicios como Lastfm, spotify ni otros. Me daba de alta, lo probaba y seguía usado YouTube para escuchar la canción que me apeteciera y, para los momentos no impulsivos, los podcasts y mi propia música. Pero hoy me han enseñado Fizy. Es simple, rápido y puedes ver el vídeo, o no. Su sencillez hace que funcione bien desde el móvil (con wifi o una buena conexión). Es tan sencillo que la primera vez que entré me pareció cutre. El logotipo y la caja de búsqueda con dos enlaces es lo único que aparece.

Buscando me entero de que apenas tiene tres meses el servicio y ya está en 39 idiomas. Robert Yaris, de 28 años, apasionado de la música, lo creó con unos compañeros ya cansados de buscar música por diferentes sitios de la red. Al mes de haberlo creado comenzó conversaciones con Google. Al final fue la empresa turca Site A. S. la que se quedó con el 40% del servicio. Yaris califica su página como el nacimiento de la Web 3.0.

Web de Fizy

Más información en la web de El País

¿Cómo conseguir un mejor posicionamiento del blog? ¿Cómo mejorar la relevancia de mis entradas en los buscadores? ¿Cómo adquirir trafico de calidad? ¿Cómo aumentar la participación de los lectores en el blog? Pues no lo sé.

Que el blog continúe con un pagerank de 3 desde que bajara hace algo más de un años ha hecho que me plantee hacer un poco de SEO. Hasta ahora sólo me había preocupado de tener unas URL "amigables", un robots.txt medianamente cuidado y un sitemap que consiguieran leer Google y Yahoo. Pero con esto no he conseguido aumentar lectores. Viene mucha gente directamente desde los buscadores, leen la entrada que les interesa y se van. Hace meses que no aumento el número de suscriptores y últimamente he notado que la gente tiene dificultades para estar seguros de qué pueden hacer cuando un contenido les interesa. Aunque no sea realmente trabajo SEO, llevo unos días trabajando en: