viernes, 18 de septiembre de 2009

Como Apu te ayuda a encontrar tus amigos más valiosos en el Face...

Hola comunidad!!!

Esta vez quiero compartir con ustedes la videoconferencia que dicté en el marco del SFDay Pasto 2009 (Día Internacional del Software Libre). Esta es una sencilla charla introductoria al uso de la tarea de reglas de asociación para el descubrimiento de conocimiento en bases de datos. La primera parte trata de explicar de manera sencilla (creo) el concepto de 'canasta de mercado' usando esta vez algunos ejemplos de Apu Nahasapeemapetilon y su ya reconocida tienda Kwik-E-Mart. Una vez se haya introducido la idea de reglas de asociación el objetivo de la charla es explorar un nuevo uso de dicho concepto para descubrir, segun tu lista de amigos en Facebook, cuales son aquellos que se 'asocian' mejor con otros. Esto es para tratar de definir quienes son, en teoria, tus amigos más valiosos.

Aprovecho esta charla para hablar algo sobre el API abierto de Facebook, lo que representa hoy por hoy en concepto del gran potencial de información que maneja y la posibilidad de que los desarrolladores puedan tener acceso a dicho contenido. En los slides comparto algunas facebook applications y algún código que usa el API principalmente para explorar y analizar la lista de amigos.

Estos son los slides de la ponencia en formato odp (OpenOffice) y pdf. El código fuente de algunos ejemplos y archivos de ayuda puedes encontrarlos en este repositorio (están etiquetados como 'SFDay Pasto 2009'). Las diapositivas traen vínculos a una serie de videos colgados en YouTube, te recomiendo verlos en alta definición. Mientras el tiempo me lo permita, estaré haciendo actualizaciones y publicando aclaraciones en los videos (no prometo nada =D)...

¡¡¡ Feliz Día Internacional del Software Libre !!!

sábado, 29 de agosto de 2009

Google maps y Facebook APIs, Exageradamente poderosos... Insoportablemente simples...

Hola programadores!!!

Esta vez quisiera compartir con ustedes mis primeros pinitos usando los APIs de Facebook y Google maps. Esta es una sencilla aplicación que pretende obtener tu lista de amigos de facebook recopilando alguna información de cada uno de ellos en un archivo XML. Puntualmente, la información que se almacena es el nombre, apellido, la ciudad y país de residencia y la version reducida de la foto de su perfil. El API libre de Facebook provee los métodos, $api_client->users_getInfo para obtener la informacion de un usuario facebook usando su facebook ID y $api_client->friends_get para obtener la lista de los ID's de los amigos del usuario registrado. En el script friends.php esta el código necesario para llamar estos metodos y construir el archivo XML.

Atraves de AJAX y el método google.maps.DownloadUrl es posible llamar el script friends.php y obtener el XML con la lista de amigos. El método google.maps.Xml.parse(doc) parsea el documento XML (la lista) y usando DOM es posible almacenar la informacion de todos tus amigos en un array de javascript. El archivo geofriends.html se encarga de configurar el mapa y recorrer el array, con la información de cada amigo construye el mensaje (nombre y ubicación de tu amigo) y llama al geocoder para obtener las coordenas de la ciudad donde él/ella residen. Dado que hacer llamadas repetitivas al servidor de geocodificación puede colgar el script y saturar el servidor se usa el método setTimeout() de javascript para gestionar cada geocodificación en intervalos prudentes de tiempo. De esta manera también se logra ejecutar y mostrar la información de cada amigo enseguida esta es devuelta por el geocoder, lo que le da más fluidez a la aplicación (no tienes que esperar a geocodificar toda la lista para mostrarla en el mapa).

Dado que la lista de amigos puede ser extensa, friends.php solo retorna los amigos que residan fuera de tu ciudad. Obviamente, deberas haber configurado tu ciudad de residencia en la configuración de tu perfil, todos tus amigos que no hayan configurado el lugar de su residencia no serán tenidos en cuenta.

Este es el código fuente del archivo con los comandos del API de Facebook para obtener la lista de tus amigos (friends.php) y este es el código fuente con los comandos de API de Google maps para gestionar la lista y construir el mapa (geofriends.html).

Teóricamente esta es una aplicación facebook y si tienes una cuenta activa puedes y eres libre de instalarla y TEORICAMENTE debería funcionar. Toda sugerencia y retroalimentación serán bienvenidas. Puedes instalarla dirigiendote a esta dirección...

http://apps.facebook.com/geofriendstwo/

o en ...

http://acalderon.50gigs.net/m/geofriends.html

si no estas logeado a facebook, se te solicitará tu login y password para tener acceso.

Este es un video de como funciona para mi usuario...



Aqui hay algunos links de soporte e interés...

Información básica sobre Facebook applications.

Guia de referencia Facebook API.

Guia de referencia Google maps API.

Tips and tricks de javascript.

Hasta la próxima y que las fuentes te acompañen!!!


domingo, 14 de junio de 2009

Translating with Gnome Subtitles

Hi everybody. I just have subtitled the video "The Girl Effect" to Spanish. It is here...



It was my first attempt using Gnome Subtitles, a open source tools to manage subtitles that work pretty good under any GNU/Linux distributions with the Gnome Desktop.

Also, I have released the srt file under Creative Commons Attribution-Share Alike 3.0 license. Anyone is free to use, modify and share it for translating it to his/her own language. All feedback will be welcome. I hope you enjoy it.

Please visit http://creativecommons.org/licenses/by-sa/3.0/us/ for further information about this license.


Hola a todos, acabo de traducir el video "The Girl Effect" usando Gnome Subtitles, una conocida herramienta de software libre que funciona bastante bien bajo cualquier distribución GNU/Linux usando el escritorio Gnome. Aunque fueron mis primeros pinitos usando esta herramienta quede muy satisfecho de los resultados.

Comparto tambien con ustedes el archivo srt resultante con la esperanza de recibir cualquier retroalimentacion con respecto a la traducción y que personas de otros idiomas puedan baserse en él para realizar sus propias traducciones.

El archivo se distribuye bajo licencia Creative Commons Attribution-Share Alike 3.0. Cualquiera es libre de usarlo, modificarlo y compartirlo con otros.

Espero lo disfruten.

Open Source Lives!!! Open Source Rules!!!

martes, 5 de mayo de 2009

XMind, una libre lluvia de ideas...

Hola,

Quería compartir el uso de esta nueva herramienta libre para la construcción de mapas conceptuales. Su nombre es XMind y la he venido ensayando desde hace un par de meses. La diferencia con otros herramientas de diagramación como Freemind es la posibilidad de subir y compartir los mapas mentales creados en el portal web de XMind. Por ejemplo, los mapas mentales que he construido estan publicados y son de libre acceso en esta dirección.

Como pueden ver mis primeros ensayos fueron muy... modestos. Ha medida que se va usando se descubren nuevas e interesantes características, como la posibilidad de empotrar un mapa mental en cualquier página web como aparece en este post. Es posible recorrer el mapa haciendo click sostendio y arrastrando el mouse.

Este es un pequeño mapa mental que construí para mostrar un ejemplo de implementación del Algoritmo FP-Growth para mi clase de Introducción a la Minería de Datos.

XMind tiene una licencia dual LGPL v3 y Eclipse Public License v1.0, ambas Open Source.


martes, 28 de abril de 2009

CMS Libres, la publicación web al alcance de todos...

Hola, yo se, yo se... mucho tiempo sin postear algo nuevo. En fin, quería compartir la ultima charla que tuve la oportunidad de dictar en el marco del Festival Latinoamerica de Instalación de Software Libre - FLISoL Pasto 2009. El título de la ponencia es el mismo que titula esta entrada. Ahora trato de compartir la experiencia que tuve al publicar dos sencillos proyectos personales en la red. Primero, mi hoja de vida la cual decidí implementar desde cero (grave error), y segundo, la página web de mis clases, para la cual decidí implementar una solución basada en Joomla, un popular sistema de gestión de contenidos (CMS por sus siglas en inglés) de fuente abierta. Los slides tienen enlaces a videos en youtube donde resumo los pasos a seguir para publicar un sitio en internet a través de 12 'sencillos' pasos. Descarga la presentación en formato pdf aqui. Las fuentes en formato odp (OpenOffice) aqui.