Archivo de la categoría: WordPress

Arreglar una doble conversión a UTF-8

Esta es una de esas entradas de recordatorio para cuando me haga falta otra vez, y además, que le pueda servir a alguien más.

Ayer, a mis amigos de Fanboy.es les cerraron el chiringuito por consumo excesivo de recursos, y por el mensaje del administrador del hosting, tenía toda la pinta de ser culpa de algún plugin que están usando en WordPress.

Anoche, después de que les reactivaran el servicio, me puse a actualizarles el WP y el muy puñetero la cagó al actualizar la BB.DD., porque empezaron a salir caracteres extraños en lugar de las tildes, como si la página estuviese codificada en Latin1, y los datos en UTF-8.

Esta mañana me he puesto a mirar y resulta que lo que había pasado es que el actualizador había convertido a UTF-8 las tablas que ya estaban en UTF-8, así que ahora los caracteres que debían ocupar 2 bytes (los acentuados), estaban ocupando 4 bytes.

Por ejemplo: la palabra «próximo» estaba así «próximo»:

00000000 70 72 c3 83 c2 b3 78 69 6d 6f 0a |pr....ximo.|

Así que lo que he hecho ha sido hacer una copia de seguridad de la BB.DD. y ponerme a buscar cómo «volver atrás» en esa conversión. Buscando un poco por internet, he encontrado esta página, e inspirándome en lo que cuentan ahí, he hecho la conversión de esta forma:

sed -e 's/\xc3\x83\xc2\(.*\)/\xC3\1/g' -e 's/\xC3\x82\xC2\(.*\)/\xC2\1/g' -e 's/\xc3\xa2\xc2\x80\xc2\(.*\)/\xe2\x80\1/g' fanboyes_blog.sql > fanboyes_blog_utf8.sql

Ya sólo quedaba importar ese fichero de nuevo en la BB.DD… Et voilà!, ¡todo funcionando perfectamente! :-)

Una vez más, trabajar con Linux y herramientas GNU me ha ayudado a solucionar un problema… ;)

Cómo llegué al Proyecto Cherokee

Camiseta de CherokeeTrabajo por las mañanas, de 8:00 a 15:00, y las tardes las puedo dedicar a lo que quiera; pero estaba desperdiciando el tiempo más que nada leyendo blogs en Google Reader, aunque también me servía para aprender muchas cosas que nunca llevaba a la práctica; o pensando que tenemos muchos proyectos en mente (proyectos de negocios) que podemos hacer y que no hacemos.

Es por esto que hace unos meses le comenté a David que me gustaría involucrarme y colaborar en algún proyecto Open Source. Ya estaba harto de pensar «hay que ver lo que podría hacer y no hago nada», pero es de estas cosas que las piensas y ya las harás.

Un día me harté de mi anterior empresa de hosting (Webhostingbuzz) y decidí buscarme otra. Contraté un servidor dedicado y como me dejaban elegir el sistema operativo, les dije que un Linux a pelo y yo me encargaría de montar el servidor web.

El caso es que ya que tenía que cambiar de servidor, pensé en cambiar también de servidor web en sí y abandonar Apache, que consume bastante memoria. No sé si fue el día anterior, pero coincidió el cambio de servidor con la publicación en Barrapunto de la noticia del lanzamiento de la versión 0.8.0 de Cherokee. Ya había leído en el pasado sobre Cherokee, el servidor web libre más rápido, programado desde cero por Álvaro López Ortega, un español que trabajaba en Irlanda para Sun Microsystems.

Tengo que reconocer que al principio todo fueron problemas:

  • Para empezar, el programa se configura usando una interfaz por web, que me pareció más un estorbo que una ayuda.
  • La filosofía de funcionamiento era totalmente distinta a la que yo estaba acostumbrado en Apache. Nada ficheros .htaccess, por ejemplo.
  • No había forma de hacer andar WordPress, y me hacía falta para hacer andar este blog sobre Cherokee.

Estuve a nada de pasarme a usar Nginx, pero después de unos correos en la lista de distribución de Cherokee, y otros cuantos correos con Álvaro, me encabezoné en apoyar el proyecto de un español. Sin duda la ayuda que me dieron en la lista, y la ayuda personal que me dio Álvaro, sirvieron de mucho para decidirme a usar el programa.

Conforme iba configurando cosas, a la vez reportaba los errores que me iba encontrando tanto en el servidor en sí como en el configurador. Una cosa llevó a la otra y un día detecté un error y me puse a intentar arreglarlo yo. Después de pelearme con el C que ya lo tenía bastante oxidado, le mandé un parche a Álvaro y me ayudó a pulir un par de cosillas más.

Después de unos días ya le había enviado unos cuantos parches, y supongo que se hartó de recibir correos míos, porque me propuso el crearme una cuenta en el repositorio de Subversion donde están los fuentes del programa. Al principio le dije que no, que no me atrevía a meter la pata enviando parches yo directamente, pero insistió y me dio una cuenta. Este es el primer parche que envié yo. Aunque no empecé muy bien, porque me cargué el fichero de log de cambios por culpa del UTF-8. :D

Del parche que estoy más orgulloso es del que permite hacer funcionar perfectamente WordPress en Cherokee. El que no sea programador a lo mejor no lo entiende, pero saber que algo así funciona gracias a ti, pues la verdad, te hace sentir muy bien. ;)

En fin, poco a poco he ido colaborando, más que nada puliendo cosillas pero sobre todo APRENDIENDO. Estoy aprendiendo un montón de Python, que tenía ganas de meterle mano desde hace mucho, y ahora poco a poco voy aprendiendo. También estoy refrescando mucho mi C, que ya casi ni me acordaba; y sobre todo en técnicas de programación: se aprende mucho viendo el código de otros, y el de Cherokee a mi me parece muy bueno.

Hace unos días recibí un correo electrónico de Álvaro diciéndome que por haber colaborado bastante, desde Octality me iban a enviar una camiseta, y es la que podéis ver en la foto de esta entrada cubriendo mi pedazo de cuerpo serrano. :D La camiseta es guapísima, y me llegó también con 5 pegatinas, una de las cuales ya ha ido directamente a la parte trasera de la pantalla del portátil. :-)

Octality es la empresa que ha fundado Álvaro al dejar Sun, y se dedica a montar infraestructuras web de alto rendimiento para sitios que tengan mucho tráfico. Evidentemente sus soluciones están basadas en Cherokee, de ahí que últimamente su desarrollo esté avanzando tanto.

Así que sin haberlo planeado he hecho lo que pretendía: meterme en la comunidad de desarrollo de un proyecto Open Source, ¡y muy contento que estoy!. La última versión de Cherokee, la 0.10.0, es la más estable hasta ahora. Y se nota.

Nueva versión de WPvideo 1.10 y DownThisVideo!

Acabo de colgar la nueva versión de WPvideo.

Esta nueva versión incluye los siguentes cambios:

  • Soporte de Metacafe.
  • Puede mostrar la descripción del video.
  • La información del video se puede mostrar arriba o abajo.
  • Se arreglan los problemas con los hostings que daban este error: «URL file-access is disabled in the server configuration».
  • Los estilos CSS se incluyen en el plugin. No hay que editar el fichero style.css.
  • Varios errores menores arreglados.

Y la otra novedad que presenta es que ahora usa el servicio de descarga DownThisVideo!, que lo he montado yo y que de momento funciona bastante bien. Pero vamos, de todas formas le voy echando un rato cada día que puedo y le voy añadiendo cosillas.

Respecto a DownThisVideo! me gustaría que me diéseis vuestra opinión sobre cómo se podría mejorar, qué añadirle, etc, etc…

Ea!, pues ya está… Ahí teneis un par de cosillas para probar… ;)