jueves, 13 de marzo de 2008

La feed de mi vida (v2.0)

Como se podrán imaginar, últimamente he andado algo ocupado con el trabajo además de estar instalándome en mi nuevo departamento (prometo un update pronto) en donde, para acabarla de amolar, aún no tengo internet. Por lo tanto, pues he tenido algo descuidado el blog y no he podido escribir nada nuevo recientemente.

De cualquier modo en estos días si he vivido, he tomado fotos y las he subido a internet, he visto películas, he tenido unos pocos ratos de ocio y he posteado cosas en facebook, stumbleupon, etc. Sin embargo quizá no se han dado cuenta, pues no es práctico para ustedes estar checando todos y cada uno de los servicios que uso para saber si es que yo he hecho algo nuevo. Así que bueno, finalmente la solución está aquí.

Como lo había comentado en algún post anterior, he estado dedicando algunos de mis ratos de ocio en generar una lista con las cosas que hago en mis ratos de ocio.

Y después de jugar un poco con algunas ideas, y de paso aprender algo de php, he aquí la nueva versión de la feed de mi vida (link ya no funciona). A esta versión la considero, de hecho, ya una versión estable y funcional. Es decir que la voy a mantener actualizada y que se pueden subscribir a ella si es que (por alguna incomprensible razón) tienen interés de hacerlo. :-P

Quienes no tengan mucho interés en la parte técnica, pueden dejar de leer y mejor saltar a la página (link ya no funciona) para que le den una mirada y me puedan dar sus opiniones al respecto. Por otro lado, para quien tenga curiosidad, a continuación sigue una pequeña reseña de como está implementada esta nueva versión.

Primero utilizo, como lo hacía antes, Google Reader para recolectar y ordenar adecuadamente todas las feeds que me interesan. Google Reader es quien se encarga, por ejemplo, de mantener el historial de todas mis acciones y me provee como salida una sola feed que integra a todos los servicios que yo utilizo.

En el siguiente paso, para modificar y personalizar el contenido de las feeds, me deshice de los Yahoo! Pipes. Sí, pueden ser muy útiles para realizar pequeños cambios, filtros, etc. Pero hay veces que, simplemente, necesitas un lenguaje de programación real para hacer las cosas que quieres. En lugar de las pipes, ahora los filtros y scrappers para las feeds están programadas en php, y yo los ejecuto directamente desde mi computadora.

Un scrapper inicial toma la feed producida por Google Reader, y cambia a cada elemento por una versión reducida de la forma: “Juan hizó abc en xyz”. El resultado se guarda entonces en un archivo en formato xml. Luego uso otro par de filtros que, a partir del xml, generan un html para la página y un atom feed al que se pueden subscribir.

Estos programas los tengo que ejecutar manualmente para actualizar los archivos de la feed y después subirlos al servidor desde son servidos (estáticamente). Para hacer el proceso un poco más automático, estoy ahora probando usar una aplicación Proxi, que estará ejecutando los comandos necesarios algo así como cada hora.

El resultado me parece generalmente satisfactorio, excepto por un par de detalles. Primero, que la feed solo se actualiza si estoy usando mi computadora y coincido estar conectado a internet cuando los scripts se ejecutan. El otro punto es que, como yo no mantengo un registro o historial de mis acciones (Google Reader es quien lo hace), no puedo filtrar duplicados, o mantener ‘fechas de publicación’ coherentes. Cada que la feed se actualiza, todas las acciones publicadas se vuelven a ‘actualizar’ aunque en realidad no hayan cambiado.

Para resolver el último problema, lo que tendría que hacer es deshacerme también de Google Reader, y mantener yo mismo la base de datos. Otra ventaja de hacer esto es que entonces podría ofrecer más servicios como búsqueda o filtros dentro de mis feeds (por ejemplo, muestrame sólo el blog y las fotos, no quiero la basura de stumbleupon). Además cuando haga esto, ya tendría que estar corriendo la aplicación en algún servidor (y no desde mi lap) lo que resolvería también el primer problema. Bueno, a ver cuando tengo un rato para aprender SQL. :-)

2 comentarios:

Linda dijo...

Hola! Muy chido tu blog!!! Te agradezco el comentario en el mio y estare pendiente del tuyo, que es chido siempre hacer amigos por este medio. Oye a ver si luego explicas mas con manzanas lo del feed...y el share feature (que ni siquiera la Jornada tiene el Share in Facebook!).
Saludos!!

Juan dijo...

Hola Linda, gracias también por pasar a visitar. Y sí, prometo pronto, bueno "pronto", una explicación con manzanas de lo del feed. ;-)

Luego, de lo del share en Facebook, tengo algo al respecto en este post.

Saludos!