Conferència sobre TurboGears a les I Jornades GPL Tarragona

GPL Tarragona, TurboGears 2 Comments »

Ahir la tarde van ser les I Jornades GPL Tarragona, amb les que vam tenir una tarde plena de nous coneixements i de retrobament de molts de geeks!

A continuació podeu descarregar els materials de la meva sessió, tant en pdf com en format editable amb OpenOffice.org (i llicència Creative Commons):

També he posat les fotos en un únic fitxer per descarregar (162 MB).

Ja tinc ganes de que arribin les pròximes jornades!! :D

Bug en la librería PlotKit de TurboGears (bueno, vale, es una personalización :P)

Programació, Python, TurboGears 2 Comments »

(standard disclaimer: si, hace más de un año que no escribo, y vuelvo en castellano!)

Hoy he tenido una pelea con la librerí­a de PlotKit para TurboGears, ya que ignoraba los comandos para personalizar el color y el grueso de las líneas de los gráficos, tanto los gráficos de barras como los de pastel.

Gracias al software libre (¡¡bien bien bien!!) he destripado la libreria para ver exactamente porqué no me hacía caso.

La explicación es sencilla. La forma más fácil de dibujar gráficos des de TurboGears es con el wrapper EasyPlot, que por defecto utiliza gráficos SweetCanvasRenderer (aunque en la web diga que utilizan el CanvasRenderer(¿?¿?)). El problema es que este tipo de gráficos, para que queden muy muy monos, se les fija el color y el grueso de la línea (tal como explican en el enlace anterior).

Qué hacer? Se tienen que modificar el código fuente para indicarle que en vez de fijar el color de línea a blanco, lo lea de las opciones de PlotKit.

Para solucionarlo se tiene que modificar el código fuente del .egg descargado por TurboGears:

  1. Ir a la carpeta /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ y descomprimir el fichero PlotKit-0.9.1w3-py2.5.egg.zip. Al descomprimirlo conseguimos que TurboGears lea las dependencias desde la carpeta en lugar del zip. (La ruta es en un MacOSX Leopard).
  2. Dentro de la carpeta tendremos que editar el fichero PlotKit-0.9.1w3-py2.5.egg/plotkit/static/javascript/SweetCanvas.js, para corregir el código, aunque realmente para que funcione se tiene que modificar el fichero PlotKit-0.9.1w3-py2.5.egg/plotkit/static/javascript/Plotkit_Packed.js. Este fichero contiene todos los otros de forma optimizada para su ejecución, es el que realmente se utiliza para la generación de el gráfico.
  3. En la línea 1814 y 1815 del fichero Plotkit_Packed.js debíamos tener:
    _342.lineWidth=2;
    _342.strokeStyle=Color.whiteColor().toRGBString();

    Que deberemos cambiar por estas:

    if(this.options.strokeWidth){
     _342.lineWidth=this.options.strokeWidth;
     }else{
     _342.lineWidth=2;
     }
     if(this.options.strokeColor){
     _342.strokeStyle=this.options.strokeColor.toRGBString();
     }else{
     _342.strokeStyle=Color.whiteColor().toRGBString();
     }

Ahora, en vez de fijar los valores internamente, comprobará si han sido configurados por el desarrollador, y si así es, utilizará esos valores para dibujar nuestro anhelado gráfico.

Instalando BLAST en Apache 2.0 y Ubuntu 8.04 Hardy Heron

GNU/Linux, Programació 2 Comments »

BLAST (Basic Local Alignment Search Tool) es un algoritmo de bioinformática para comparar información de secuencias biológicas primarias, como secuencias de aminoácidos de diferentes proteínas o los nucleótidos de secuencias de ADN.

Este algoritmo tiene una implementación creada por la NCBI con licencia de dominio público, para que cada cual se lo pueda instalar y utilizar el algoritmo con sus propias bases de datos.

Hemos tenido la oportunidad de probarlo para un proyecto que estamos llevando entre manos, no sin algunos problemas de instalación. Por eso este artículo recogerá el proceso de instalación a seguir.
Read the rest of this entry »

Desplegando una aplicación web TurboGears sobre Apache en Debian Etch

TurboGears No Comments »

De las distintas opciones que hay disponibles para poner una aplicación TurboGears en un entorno de producción, la que más me gusta es la de utilizar Apache como un proxy inverso. La configuración no es muy difícil, però tiene sus pequeños problemas.

Configurar un nuevo VirtualHost de Apache
Crear el fichero /etc/apache2/sites-avaible/appweb
Agregar el siguiente código:

<VirtualHost *>
ServerName localhost
ServerAdmin admin@domain.net
Errorlog /var/log/apache2/appweb-error_log
Customlog /var/log/apache2/appweb-access_log common
UseCanonicalName Off
ServerSignature Off
AddDefaultCharset utf-8
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /error/ !
ProxyPass /icons/ !
ProxyPass /favicon.ico !
ProxyPass /appweb/ http://127.0.0.1:20000/
ProxyPassReverse /appweb/ http://127.0.0.1:20000/
</VirtualHost>

Esta configuración hará que la aplicación esté disponible en la dirección http://localhost/appweb

Por último, se tiene que crear un softlink para activar la aplicación en el servidor:
ln -s /etc/apache2/sites-avaible/appweb /etc/apache2/sites-enabled/001-appweb

Activar el proxy
En Debian y Ubuntu el proxy està deshabilitado por defecto. Para permitir que apache haga de proxy se tendrá que modificar el fichero /etc/apache2/mods-avaible/proxy

Comentar la línea
Deny from all
y escribir
Allow from localhost

Ahora solo será necesario tener la aplicación turbogears corriendo sobre el puerto 20000 y reiniciar el servidor Apache.

WP Theme & Icons by N.Design Studio
RSS RSS comentaris Log in