Archivo por años: 2008

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… ;)

La culpa es de la informática…

… como siempre.

Leyendo una noticia en El Mundo sobre la foto del atentado en la que murieron dos soldados españoles el otro día, y que distribuyó el Ministerio de Defensa, vuelvo a leer —y reitero, como siempre— que le echan la culpa de la cagada al programa informático…

Un error debido a las prisas y una mala jugada del programa informático en cuestión, ya que a la hora de dibujar el círculo rojo y arrastrarlo hacia la zona donde se encontraban los restos de la furgoneta, también arrastraron estas dos sombras.

Bueno, también debido a las prisas, pero dejan bien claro que la culpa de arrastrar con el círculo las sombras es del programa… Anda que.

La noticia chorra del día

Es que lo he leído y no me lo creía… Tráfico culpa a la crisis económica del aumento de muertos en carretera.

Pero es que además va la presidenta de la asociación de víctimas «Stop Accidentes» y dice:

Si vas conduciendo y te acabas de quedar en paro o te suben la hipoteca de tu piso hasta un punto inasumible, es normal que la preocupación te afecte a tu actitud para el volante».

¡Y se quedan tan panchos!.

Puede pasar que ahora le echen la culpa de casi todo a la crisis, pero hombre, con unos límites.

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.