Archivo de Julio 2006

Migrar de B2evolutión a Wordpress

Sábado, 29 de Julio de 2006

Bueno, antes de empezar a contar como he conseguido migrar de B2Evolution a Wordpress, decir que no es un post/guía donde se expliquen los pasos a seguir. Simplemente voy a contar mi experiencia, los problemas que me he encontrado y como lo he solucionado.

Exportar e importar tablas
Lo primero es exportar los datos del antiguo blog, o sea la base de datos con las tablas a migrar, para importarlas en la misma base de datos de Wordpress del nuevo blog. Para esto he utilizado MyPhpAdmin. El fichero de exportación resultante ocupaba mucho (unos 7 megas), así que decidí recortarlo, eliminando todos los insert de la tabla ‘evo_hits’, que son los registros donse se guardan los accesos al servidor para las estadísticas y no son importantes. En realidad, lo que importan son los posts, las categorías y los comentarios.
Después de eliminar estas lineas (el fichero SQL se me quedó en unos 400kb), tuve algunos problemillas en la importación, ya que al subir el fichero a myPhpAdmin, éste lo rechazaba o no lo reconocía. Incluso cambiando la codificación del fichero de entrada o toqueteando en el formulario indicando que era UTF-8 o ISO-8859-1 antes de subir, no conseguí que lo importara.
A grandes males grandes remedios, así que opté por tocar el fichero manualmente y cambiar todas las tildes y las eñes, que era lo que me estaba fastidiando. Para esto, basta con buscar y reemplazar en el script de importación SQL lo siguiente:

Buscar Sustiuir por
á á
é é
í í
ó ó
ú ú
ñ ñ
Ñ Ñ

Una vez hecho el cambio, subí el fichero indicando como codificación ASCII y lo importó todo correctamente. En este momento, las tablas de Wordpress y las de B2Evolution estaban en la misma base de datos.

Migrar datos
Ahora venía lo gordo: introducir los posts, categorías y comentarios en Wordpress. Buscando un poco por google, encontré un par de scripts en php que te realizaban la migración.

Primero utilicé el script oficial. Este script funcionó correctamente a la primera, pero tenía dos fallos: no actualiza el número de posts por categoría y, al menos en mi caso, no importa los comentarios, pese a que el script lo contempla.
La particularidad de este script es que debes especificar en un formulario el id del blog a importar (en B2Evolution se pueden tener varios blogs a la vez), y que te regenera todos los ids de los usurios y posts. Es bastante elaborado, pero no me ha servido.

Después encontre el script de TuMahler. Este script importa todo correctamente: usuarios, posts, categorías y comentarios, pero los contenidos de los comentarios y posts aparecen sin escapar. Es decir, se come los saltos de línea y, en general, modifica el aspecto de los posts dejándolos bastante feos.
La particularidad de este script es que te borra primero todos los datos que tengas en Wordpress (esto hay que tenerlo muy en cuenta, sobre todo si tienes ya contenidos o usuarios creados), pero te conserva todos los ids de tus registros.
Dado que este script me importaba los comentarios y actualizaba el número de posts por categoría, decidí utilizarlo, pese a que me estropeaba los contenidos.

Así que le hice los siguientes cambios:
1. Dado que yo solo utilizo un usuario, el administrador con id 1, elimine el borrado e importación de usuarios y modifiqué a pelo el script para que el autor de todos los posts fuera el usuario 1
2. He mejorado el formato que se aplica a los nombres y descripciones de las categorías (el código de esta mejora lo he copiado del script oficial, ya que yo no se PHP, bastante es que me ha funcionado!)
3. Lo mismo con los nombres y contenidos de los post, que ahora se escapan correctamente. Igual que el punto anterior, esta “mejora” la he copiado del script de migración oficial

Bueno, podéis bajaros los tres scripts de aquí:

  • Script oficial. Funciona bien, pero no importa comentarios ni actualiza el número de posts por categoría.
  • Script de TuMahler. Importa todo bien, pero se pierden los saltos de linea y el formato en general.
  • Script de TuMahler modificado. No importa usuarios, todos los posts son del usuario 1. Categorías y posts tienen el formato correcto (copiado del original). Este es el que yo he utilizado.

Después hay que darse un repaso por los posts migrados y mirar a ver si hay alguno que sobre y tocar si es necesario el nombre de alguna categoría y fin de la migración.

Die, bot, die: Hot Captcha

Jueves, 27 de Julio de 2006

Vía Buayacorp descubro HotCaptcha, un nuevo sistema de validación humano (tipo Captcha) en el que el usuario debe decidir las 3 personas mas atractivas de las 9 que presentan.
La idea parece buena, aunque he hecho varias pruebas y al menos una vez he fallado. ¿Realmente es tan evidente distinguir las personas mas guapas de las que no? A veces parece que si, pero otras puede haber dudas, ya que depende de los gustos.

Además, la utilización del servicio no requiere nada especial. Tan solo añadir una línea de javascript en tu formulario y después hacer una llamada al servidor de HotCaptcha con la respuesta recibida. Todo esto lo explican en la propia home de la página. Sorprendente. ¿Te atreves a ponerlo en tu weblog?

HotCaptcha

De todas formas, la duda es ¿quién decide quien es “hot” y quien no? Pues parece que este servicio utiliza el API de HotOrNot - ¡no sabía que tenían su propia API! - una web donde la gente envía sus fotos para que los demas las voten, por lo que podemos saber por votación popular cuales son “atractivos” y cuales no (hasta cierto punto). Así que el sistema es neutral, se basa en las fotos enviadas por los usuarios y los datos recolectados por ellos mismos para saber cuales son los hot y cuales no. Interesante.

Pero ¿y si aparece tu propia foto en una página web y debes validarte a tí mismo? Menuda situación.

Enlaces:

Flash en b2evolution

Jueves, 20 de Julio de 2006

A raiz del post anterior, he visto que b2evolution te devuelve un bonito "Illegal tag" cuando intentas insertar codigo html que no reconoce, como el de un objeto flash incrustado.

Buscando por internet, he descubierto como conseguir que valide este código flash.
Para esto, teneis que modificar el fichero conf/_formating.php, buscando donde pone:

  'div' => E_Flow,

Y sustituirlo por

  'div' => E_Flow.' object',
  'object' => E_Iinline.' param embed',
  'embed' => E_Iinline,
  'param'  => E_Iinline,

Es decir, se modifica <div> (para que admita la etiqueta <object> en su interior) y se añaden las etiquetas <object>, <embed> y <param>.

Después, teneis que añadir los atributos. Donde pone:

$allowed_attribues = array
(

Añadirle (añadir, no sustituir) lo siguiente:

  'object' => E_Iinline.' type data width height',
  'param'  =>  E_Iinline.' width height name value',
  'embed'  =>  E_Iinline.' src type width height name value',

La única condición es que la etiqueta <object> principal del flash esté en el interior de una etiqueta <div>
Así que con todo esto conseguiremos que el siguiente código html sea válido en nuestros posts con b2evolution.

HTML:
  1. <div align="center">
  2.    <object width="425" height="350">
  3.      <param name="movie" value="http://www.youtube.com/v/GWzmL05OlYA"></param>
  4.      <embed src="http://www.youtube.com/v/GWzmL05OlYA" type="application/x-shockwave-flash" width="425" height="350"></embed>
  5.    </object>
  6. </div>

La solución la he cogido y ampliado de aquí, ya que la que proponen solo admite la etiqueta <object> pero no incluye <embed>

Portal: tuneles dimensionales

Jueves, 20 de Julio de 2006

Estamos tan acostumbrados a ver juegos realistas con efectos tan increibles, con gráficos y texturas tan impresionantes y con música y guión de cine, que hace mucho tiempo que es dificil que un juego nos sorprenda.
Sin embargo, hoy he visto el vídeo de un juego que me ha vuelto a sorprender completamente. Es Portal, el mod para "Half Life 2: Episode Two" que viene incluido en esta entrega. Estos chicos de Valve saben como invertarse armas nuevas: En el primer episodio de Half Life 2 nos sorprendían con el arma antigravedad, con la que podiamos coger y lanzar objetos de gran tamaño a nuestros enemigos.
Y en Portal, nuestro arma permite abrir agujeros que se conectan como tuneles dimensionales: abre un agujero en el suelo y otro en la pared de al lado, me tiro por el agujero y aparezco por la pared. Quizá explicado así suene un poco extraño, pero para eso está el vídeo explicativo:


Enlace al vídeo: Valve's Portal en YouTube, o descargalo

Desde luego conmigo tienen una compra garantizada en cuanto salga.

Vía: Vida Extra, JeuXpo

Lenguajes de programación esotéricos (II)

Miércoles, 19 de Julio de 2006

Vía Menéame, encuentro algunos lenguajes de programación esotéricos muy interesantes en DM's Esoteric Programming Languages.

Uno de ellos, el que ha motivado la noticia, es Piet cuya principal característica es que el codigo fuente aparece codificado en un gráfico con pixeles de colores. El principio de diseño de Piet, segun su autor es:

Program code will be in the form of abstract art.

De ahí que el propio lenguaje se llame como el famoso autor de arte abstracto Piet Mondrian.

Aquí ponemos, para vuestro deleite, el código de algunos programas peculiares:


Hello World

Una versión de las muchas que hay que pinta "Hello World!"

Torres de Hanoi

Este por ejemplo resuelve el legendario problema de Las Torres de Hanoi, aunque nadie sabe como funciona.

Piet!

Y para rematar, este programa solo imprime "Piet" indefinidamente, pero el merito esta en que el código fuente realmente se parece a una obra de Piet Mondrian.

Más esotérico, imposible. Aqui tenéis más ejemplos de programas codificados con Piet.

.kkrieger, un juego de 96Kb

Miércoles, 19 de Julio de 2006

Todos recordaremos desde tiempos memorables aquellas demos con espectaculares animaciones, gráficos y música. Había categorías que creaban autenticas maravillas con 64k o incluso con 4k.
Los tiempos y las tecnicas avanzan. Y los programadores tambien, ya lo creo.

Fijaros en esta maravilla, un juego 3D completo, estilo Quake, con armas, enemigos, musica y texturas en tan solo 96Kbs

96Kb

Se llama .kkrieger: chapter 1, es una beta y la podeis cargar y ejecutar directamente desde aqui.
Tarda un poco en cargar porque debe descomprimir y generar las texturas en memoria antes de ejecutarse. En tan solo 96kb no hay sitio para música o gráficos, asi que las texturas, modelos y sonigos se guardan como complejas formulas matematicas y filtros que se aplican sucesivamente, una técnica llamada síntesis procedural que permite crear gráficos complejos en tiempo real ocupando un espacio mínimo de memoria (ver más sobre esto en tecnologia utilizada). Necesita DirectX 9.0b y una tarjeta gráfica potente. Merece la pena solo verlo. Así que probadlo ahora.

Recomendable también la lectura del cómo se hizo y ver algunas demos que estos chicos saben hacer. No somos nadie...

Vía Gordopilos, Joystiq

Atomium de Bruselas censurado

Martes, 18 de Julio de 2006

Vía Pito Doble me entero de que la SABAM (equivalente a la SGAE en España) ha establecido, por petición del propio arquitecto autor de la obra, un canon por cualquier tipo de difusión sobre el Atomium de Bruselas.

Es decir, cualquier sitio donde se publique una foto de esta obra de arte pública (incluido cualquier blog de internet como éste) tiene que pagar derechos de autor. Por ejemplo, esta página web ha recibido una factura de 793?. Por supuesto, el autor ha decidido quitar cualquier imagen antes que ceder al chantaje que supone el pago de este impuesto abusivo.

Atomium de Bruselas

Me pregunto que van a hacer con todo esto.

?Os imagináis que hicieran lo mismo con la Estatua de la Libertad, la Torre Eiffel, las piramides de Egipto, la torre de Pisa o la puerta de Alcalá?

Espeluzante, patético y miserable.

Mitos y verdades de Microsoft

Domingo, 16 de Julio de 2006

Vía Halón Disparado, tenemos un interesante artículo sobre los Mitos y verdades de Microsoft, donde intentan desmitificar algunas leyendas o atribuciones falsas que se han hecho a Bill Gates. Aquí os resumo algunas cosas, pero merece la pena leerlo entero.

Bill Gates no inventó Basic.
Basic fue creado por John Kemeny y Thomas Kurtz en 1964. Lo que Gates y Paul Allen hicieron fue crear una versión del intérprete de dicho lenguaje para computadoras personales Altair.

El DOS tampoco fue diseñado ni desarrollado por Microsoft
Fue adquirido a una pequeña empresa llamada Seattle Computer.

Microsoft no inventó los entornos gráficos, ni las ventanas, ni el mouse.
Todo esto fue desarrollado por la empresa Xerox en el año 1973 y luego copiado por Apple a fines de los '70 y Microsoft ya entrados los '80.

Microsoft no inventó Internet, la web o los navegadores
La Internet, como tal, data aproximadamente de 1986 (aunque se originó desde fines de los '60). La World Wide Web (junto con los primeros navegadores) surgió en el año 1991. Tiempo después, Microsoft compró un navegador llamado Mosaic a la empresa Spyglass, para luego transformarlo en el hoy conocido Internet Explorer. La primera versión de Internet Explorer apareció en agosto de 1995.

Sigue leyendo Mitos y verdades de Microsoft

Python: 4 lineas para resolver un Sudoku

Viernes, 14 de Julio de 2006

Documento original, visto vía Menéame

def r(a):i=a.find('0');~i or exit(a);[m
in[(i-j)%9*(i/9^j/9)*(i/27^j/27|i%9/3^j%9/3)or a[j]for
j in range(81)]or r(a[:i]+m+a[i+1:])for m in'%d'%5**18]
from sys import*;r(argv[1])

Solo 178 bytes. ?Genial no?

Ficheros KK

Viernes, 14 de Julio de 2006

Tan real como la vida misma. Y es que por un lado tenemos el codigo spaghetti y por otro lado, los ficheros KK

En todo proyecto informático que se precie hay uno o más ficheros "kk", que no sirven para nada, que nadie usa, pero que si se te ocurre borrar el proyecto deja de funcionar.

También suele haber varias versiones de ejecutable, cuyos ficheros se llaman así ejecutable_bueno.exe, ejecutable_nuevo.exe, ejecutable_hoy.exe, ejecutable_ultimo.exe. Está claro que esta nomenclatura de nombres es la más adecuada para saber cual es el que hay que arrancar, en función de que se quiera el bueno, el nuevo, el de hoy o el último.

...

Sigue leyendo el post de los ficheros KK en el genial Chuidiang