Lighttpd 1.4.11 en Ubuntu 6.06
Preparando la actualización del "stack" Ruby on Rails en mis servidores Ubuntu 6.06 "Dapper Drake", de la fiel versión 1.1.6 que me sirvió tanto a su actual versión 1.2.3, me topé con un viejo problema: el paquete de Lighttpd incluído en Dapper sencillamente no funciona para deplegar sitios Rails (ni 1.1.6, ni 1.2.3 como descubrí en el proceso) tal como se distribuye desde sus repositorios, ni en su versión para arquitectura i386 ni para AMD64.
Mi intención es montar mis sitios Rails1.2.3 actualizados en hosts virtuales de Lighttpd, servidos cada uno por sendos procesos FastCGI; una configuración que a pesar de todo me demostró ser bastante confiable. Sin embargo, los problemas inherentes al paquete de Lighttpd 1.4.11 de Dapper a sortear son escencialmente dos:
- La configuración del módulo fastcgi incluído en ese paquete no sirve.
- La configuración en el archivo lighttpd.conf para servir imágenes localmente interfiere con las reglas de ruteo de Rails.
Mis extensiones de Firefox
Después de un buen editor de texto (o un IDE si las circunstancias lo ameritan), el mejor amigo de cualquier desarrollador web es sin duda Firefox. Notarán que me refiero a "extensiones" y no a "add-ons" porque uso la versión del navegador empaquetada con Ubuntu 6.06.1 "Dapper Drake", la 1.5.x.
Esto no es para desmerecer de ninguna manera las importantísimas actualizaciones de Firefox 2.0, sino sólo una cuestión de mantener la homogeneidad de mis entornos de desarrollo y producción sincronizados a la actual versión de Ubuntu con soporte extendido para todos sus paquetes de software.
Una vez dejado en claro eso, les presento mis extensiones de Firefox preferidas:
"Parseando" XML con Hpricot
Planeta Linux Shop fué mi primera incursión en la creación de un "mercado espejo", o sea, un sitio que replica los ítems subastados en el popularísimo MercadoLibre usando el feed XML ofrecido por éste último. También fué mi primera incursión procesando una enorme cantidad de XML en un lenguaje al que recién llegaba: Ruby.
El "parseo" del XML lo realicé usando el todopoderosísimo REXML y también su módulo StreamListener, una primera elección lógica, conservadora y "según el manual", pero una tarea casi tan engorrosa como en cualquier otro lenguaje.
Entra Hpricot...
Rake desde Cron
Una de las cosas que inevitablemente nos encontraremos haciendo tarde o temprano es ejecutar alguna tarea de Rake frecuentemente para el mantenimiento de nuestra aplicación Rails. Y obviamente, el mejor lugar para hacerlo es agregándolo como una entrada más en el Cron. Sin embargo, para hacerlo correctamente es necesario tener en cuenta que, como se explica aquí, "cuando Rake se ejecuta desde Cron, el .bash-profile no es procesado, así que es necesario incluir el entorno en tu script Cron".
Importación masiva de imágenes con FileColumn
Después de poner en línea el Jujuy Al Día, incluyendo la importación de los contenidos heredados de su base de datos de los últimos 6 años, la próxima deuda pendiente era hacer lo mismo con las más de 1000 imágenes y fotografías con las que se ilustraban gráficamente igual cantidad de noticias. La idea era tomar las imágenes originales e "importarlas" en los 4 tamaños definidos al correspondiente atributo FileColumn del modelo de las noticias, lo más automáticamente posible...