Actualizando el trac

He tenido que migrar los repositorios del subversion del servidor viejo del trabajo a un nuevo y brillante servidor.

Cuando monté el trac en ese servidor (hace ya un tiempo), puse la base de datos sobre SQLite 2.1. Al instalar el nuevo, como es lógico, he tenido que migrar las bases de datos a SQLite 3.

Como tení­a bastantes repositorios distintos en el servidor, he preferido hacer un pequeño script para hacerlos todos de una vez. En pocos minutos han estado funcionando todos los proyectos del subversion sin problemas.

El script en cuestión es este, por si le sirve de ayuda a alguien:

#!/bin/bash
PWD_TRAC=»/var/trac»

for REP in $(ls $PWD_TRAC)
do
echo «Actualizando repositorio $REP»
mv $PWD_TRAC/$REP/db/trac.db $PWD_TRAC/$REP/db/trac2.db
sqlite $PWD_TRAC/$REP/db/trac2.db .dump | sqlite3 $PWD_TRAC/$REP/db/trac.db
trac-admin $PWD_TRAC/$REP upgrade
echo «Proceso finalizado.»
done

chown www-data $PWD_TRAC -R
chgrp www-data $PWD_TRAC -R

El fichero directamente se puede bajar de:

Ahora voy a ver si termino de configurar el DNS y le doy el último adiós a nuestro viejo y sufrido servidor de subversion. Descanse en paz. :P

Mejorando el rendimiento de BolsaPHP

El servidor de BolsaPHP lleva unos dí­as que se arrastra con tanta visita concurrente. Además hoy en el trabajo me ha saltado una alarma de un proceso demasiado largo que estaba cargando demasiado la máquina (que en este caso resultó ser de Tony Ruiz y se lo he arreglado en pocos minutos).

Esta tarde me he dedicado un rato a repasar con calma el código de BolsaPHP, mirando con más detenimiento las consultas SQL y la posibilidad de darle una vuelta de tuerca más al sistema de cache. Creo que el trabajo va a dar sus frutos.

Si todo va bien, a las horas punta (entre las 10 y las 14 horas) de bolsa, la página cargará mucho más rápido. Ojo, eso no quiere decir que las órdenes de compra se disparen antes, tardarán lo mismo. :P

De paso, también he retocado ligeramente el Fisgón / Chat para poder ver los usuarios no registrados en lí­nea, que también son unos cuantos y antes no tení­a en cuenta en el contador. El aspecto es más o menos este:
bolsaphp-fisgon

Hay muchos más cambios, pequeños y sutiles. La mayorí­a ni os daréis cuenta. He procurado no hacer absolutamente nada para mermar las opciones de los usuarios.

A ver si hay suerte y mañana el servidor aguanta la avalancha de usuarios. ;)

Colaborando en el código de Menéame.net

Acabo de pegarle un repaso al código ya subido y funcionando en Menéame.net. Ricardo Galli me pidió un módulo de administración con unos parámetros muy concretos. Tras un par de versiones «estéticas» se llegó al código que ya está colgado en el subversion de Menéame, concretamente en lo que respecta a bloqueos a dominios y votos a comentarios.

Da gusto escribir código que al poco tiempo ves publicado en un repositorio público con una licencia pública. A ver si hago más así­.

Fisgón de BolsaPHP actualizado

Ya que recientemente he implementado la api de compra / venta para BolsaPHP con nuevas funcionalidades, le ha todado un repaso al Fisgón para que muestre nuevas cosas.

Ahora tiene este aspecto.
bolsaphp-api

De paso, he perfilado algunas otras cosillas según peticiones de los usuarios. Ahí­ va la lista completa:

  • Cambio en el cálculo del karma, ahora las cantidades son menores.
  • í“rdenes de compra limitadas a 60.000 € máximo.
  • La compra / venta de valores de precio muy bajo es algo más rápida.
  • El Fisgón muestra las órdenes de compra / venta.
  • El Fisgón muestra desde donde se realizan las órdenes (web o api).

A ver si tengo tiempo y voy haciendo más cositas para seguir haciéndolo interesante. :)

Api de compra / venta para BolsaPHP

He creado una pequeña API para poder enviar órdenes de compra / venta a BolsaPHP. Si no eres programador o aficcionado al mundillo, probablemente no te interese demasiado, pero aún así­, puede ser divertido.

Lo primero que hay que hacer es averiguar la api_key que puedes encontrar en tu perfil de usuario. Es importante que mantegas esta clave en secreto (¡es una clave!).

Ahora tienes que hacer que tu aplicación llame a la api de la siguiente manera (ejemplo, una sola lí­nea):

http://bolsaphp.sukiweb.net/api/cv_api.php?usuario=David& api_key=TU_API_KEY& ticker=BBVA.MC& acciones=25& valor=17.50& tipo_de_orden=LIMITADA& intencion=COMPRA

Esto lanzarí­a una orden de compra de 25 tí­tulos de BBVA a un precio de 17.50 € en orden limitada. Así­ de simple.

Esto permite hacer muchas pequeñas aplicaciones que permitan de forma simple lanzar compras o ventas desde casi cualquier lado. Poco a poco iré añadiendo más funcionalidades.

Si eres programador y haces alguna utilidad, deja un comentario para que la gente pueda verla y utilizarla :)

ACTUALIZADO: Ahora también devuelve información sobre un ticker en XML al hacerle la consulta del tipo:

http://bolsaphp.sukiweb.net/api/cv_api.php?usuario=David& api_key=TU_API_KEY& ticker=BBVA.MC

P.D.: La culpa de esto la tiene Ricardo Galli, que puso en marcha la api para el Nótame y me pique haciendo una pequeña herramienta para utilizarla.