Santa Fe Libre

11 10 2008

Hace un tiempo que tenía dando vueltas en la cabeza la idea de hacer algo al estilo BAL (Buenos Aires Libre), y cada tanto lo iba comentando entre algunos amigos para ver como pegaba este tema e ir pispeando si alguien se iba a copar y no iba a quedar más sólo que loco malo.

Como vi que la cosa no se movía mucho, pero sí interesaba, hace un mes atrás más o menos, lo charlé un poco más serio con los mismos a los cuales ya se lo había comentado y estaban intersados, para empezar a hacer algo entre todos y ponerse las pilas.

Así nació, o empezó a nacer, porque todavía está rompiendo el cascarón el proyecto, Santa Fe Libre, con la idea de hacer una red libre wireless en la ciudad de Santa Fe, empezando bien de abajo y sin casi conocimientos sobre el tema, pero con ganas de nutrirnos de estos.

Lo primero que pusimos, gracias a la gente de USLA, fue un trac en el cual vamos a ir anotando todas las cosas que investiguemos y las tareas que debe realizar cada uno o el grupo en general. Una vez que tuvimos esto y que éramos al menos más de tres los interesados, propusimos organizar la primer reunión para definir algunas cosas administrativas, como ser el diseño del logo, qué es lo que realmente queremos hacer, algunos objetivos y demás.

Hoy se realizó la segunda reunión y estamos interesados en que se siga sumando gente al proyecto, ya que se ve que hay muchos interesados pero quizás nos falta un poco de difusión para cazar a la audiencia :) .

Para más información, se puede visitar el trac que actualmente está bajo el nombre del dominio de usla, pero que pensamos cambiar cuando podamos y también tenemos una lista de correos en google groups. Si estás interesado en participar, por favor no dejes de suscribirte, aquí pondremos todas las novedades.





De no creer

28 07 2008

Hoy fue un día complicado. Como todos los días desde hace tres o cuatro semanas aproximadamente que me estoy levantando a las 5:40. ¡Si! Está jodidísimo. Esto es desde que empecé a trabajar en la Secretaría de cultura de la provincia de Santa Fé. Wow! Parece que es grosísimo con ese nombre, pero en realidad soy un pichón de barrio.

Primero lo primero. Ni bien llego a la oficina, un par de minutos tardes patéandome los párpados, me siento en la PC, la prendo y pienso: “Hoy voy a hacer el tema de las sesiones de Django”. De entradas nomás ya no me logueaba en el dominio del sistema del otro bando que tienen ahí (desde mi Debian a este otro). Cosa que estamos por migrar en breve. Después de pelear un poco todo se solucionó.

Antes de las 8 me llama mi mamá reclamando que le entregue una PC que supuestamente es de ella. Como la suya se le quemó (mal, disco, memoria, mother, teclado, mouse, fuente… se zarpó), no me quedó otra que entregarle a Silvita, el server que tenía antes. Te extrañaremos por estos lados :’( .

A eso de las 13 me pasa a buscar para llevar la PC a Paraná. Le calculaba unos 40 minutos de viaje, incluyendo pasar por la casa de un amigo a buscar un CD. Para mi desilución cuando llegamos al tunel subfluvial, estaba cortado. ¿Qué paso? Ni idea, supongo que estaba pasando una máquina grande debido a que están trabajando esa ruta y no podían pasar los autos. Había mucha gente esperando, entre ellos, nosotros…

Llegamos, instalo todo como debe ser. Pruebo la mitad de las cosas, intentando hacer las cosas bien, pero relativamente rápidas, así me podía volver a estudiar un poco de Django que ando embalado, pero surgieron varias cosas, asique renegué un poco (no me llevo bien con esas cosas de Next, Next) y cuando ella misma la probó me vine para acá.

Colectivo que va, colectivo que viene, idas y vueltas, terminé agotado en mi casa. Deposité la viandita de mamá (como los nenes), ordené algunas cosas y me senté en la máquina a ver cuales eran las novedades del día de hoy. Desde la mañana temprano que no chequeaba nada.

En este momento, me entero por un fan mío ( :P ) que me habían aprobado las charlas en las jornadas regionales de buenos aires. ¡Si! Aprobaron, en plural. Lo cual me hizo sentir muy contento por un lado y empezar a ponerme nervioso por el otro. Es todo un tema hablar adelante del público, y lo peor de todo es cuando creen que sabés lo que estás diciendo y hacen una pregunta :) .

La primera vez que voy a aparecer en público como disertante en las jornadas lo voy a hacer de la mano de Héctor (Karucha) y Alejandro (Alecu) para dar un taller sobre “Actividades y juegos educativos para la olpc” mostrando bastante pygame y dando lugar a que los asistentes prueben el código que vamos a hacer y se saquen todas las dudas que tengan. Para finalizar vamos a portar el juego que desarrollemos en ese tiempo a la OLPC.

La segunda vez que está programado que aparezca en público, aunque luego de verme la primera vez seguro me deporten de Buenos Aires, va a ser de la mano de … Ups… esta la doy solito, ¿Quién me va a salvar las papas acá? Estoy al horno con papas. Bueno, si todo sale bien y tienen ganas de escucharme nuevamente voy a estar dando “Como colaborar con Python” animando a la audiencia a que aprenda más sobre Python reportando y corrigiendo Bugs de todo tipo: desde documentación hasta algún módulo de Python. La idea de esta charla no está centrada en la solución específica de un bug en particular, sino que es bien general sobre el proceso de corrección de uno de estos. Desde crearse una cuenta en el sitio web hasta subir el parche (.diff).

Estoy pensando que me tengo que poner las pilas y practicar las charlas con amigos para ir tomando coraje ante el público en general. Además me gustaría estudiar bastante los temas que vamos a tratar en las charlas, sobre todo en el taller, ya que si bien he hecho juegos con Pygame, uno nunca sabe lo que le pueden preguntar en estos lugares y sobre todo si tienen tanto tiempo para pensar la pregunta :) .

Vamos a ver que sale. Espero ver algunas caras conocidas: así llenan la sala los que me conocen y al menos el papelón quedan en familia.





PyAr en la OLPC

21 04 2008

Luego de terminar el juego que hicimos con mi equipo para PyWeek, nos sugirieron en la lista de Python Argentina portar el juego a la OLPC. Como Alecu me había ofrecido participar en la charla que él habitualmente da con Dave, me puse a ver como era todo esto así iba aprendiendo algo para esta posibilidad.

Siguiendo este tutorial no tuve casi ningún problema. Lo único que todavía no puedo hacer, es que el ícono se vea de forma correcta una vez que se hace click sobre este, ya que cambia de colores dependiendo de cómo tenga configurado el chico su laptop, pero seguí tal cual los pasos de la guía que indica como crear un ícono para la OLPC, quizás me falló el inglés una vez más.

El juego se puede descargar desde acá y para su instalación hay que hacer:

cd ~/Activities
unzip robotfactory-1.xo

Listo! una vez que hicimos esto lo único que queda es reiniciar la OLPC o el emulador para que aparezca el ícono de un sombrerito en la barra de actividades.

Al juego lo probé en un emulador de virtual box con una resolucion de 1024×768 en la que el juego no alcanza a cubrir toda la pantalla, no sé porqué. Tendría que probarlo en una OLPC para saber qué es lo que tengo que corregir o si en esta funciona correctamente.

Vamos a ver que dicen los chicos de esto :D





“De acá a Europa”

18 04 2008

… es una frase frecuentemente usada por mí cuando hago algo (sólo o con alguien) de lo cual me siento orgulloso y parece que puede llegar a tener éxito, por decirlo de alguna manera.

Recién llego de Paraná, abro el KMail para ver los correos y me encuentro con una noticia demasiado buena, por lo menos para mí y pensando que en el momento que hice este “algo” nunca pensé que iba a llegar a dónde está hoy: “En la cresta de la ola” :)

La primer oración del mail es esta:

“Nos alegra comunicarle que Tweety-Finger ha sido incluido en el listado de programas de uptodown.com.”

Y tiene un link que te comunica con la página para la descarga del juego. Ya lo bajaron 5 personas :D . Está el link a la página oficial del juego y dice al autor del mismo (yo), lo cual me parece muy bien. Me alegra estar en este sitio, sea grande, chico, o de la magnitud que sea, hay gente a la que le interesó algo que hice, y eso me parece buenísimo.

Además escribieron una breve descripción del juego indicando cómo se juega y el alto grado de adictividad que tiene.

¡Buena Tweety-Finger, nunca te imaginaste a dónde llegarías!





KeDElicioso

27 11 2007

Aunque le falta un poco de azúcar todavía, puedo decir que hice un plug-out para el Konqueror y los marcadores de del.icio.us. Es un plug-out porque todavía no lo pude meter adentro del navegador. Para esto se necesita tener acceso a la barra lateral que se llama KonqSideBar y está bastante verde todavía en PyKDE, de hecho creo que no está :) .

Estoy convencido que quiero seguir usando el Konqueror, y no tener estos marcadores que sí tenía en Firefox, me impidan seguir usándolo. Además tenía ganas de empezar a ver un poco de HTTP-Auth y demás cosas en Python, de las cuales no tenía idea.

Asique me puse a investigar un par de días. Bajé el plugin que yo ya conocía y me puse a ver cómo funcionaba. Descubrí varias cosas ahí: el plugin para el Konqueror no era más que un archivo externo y que no tenía nada que ver con este. Estaba hecho Perl y se comunicaba con el navegador por medio de DCOP (una de las tantas grandes cosas que tiene KDE). DCOP, rápidamente, es una forma de comunicarse con los programas que están en ejecución, por ejemplo al Konqueror le puedo preguntar que url tiene abierta, cerrar una sesión de Kopete, etc…

Por otro lado, también descubrí que había una API de del.icio.us que explicaba cómo se debía manejar el servicio, cómo eran las consultas y como eran las respuestas. Qué te convenía hacer y demás. Estaba muy bien explicado, la idea es abrir distintas urls con algunos parámetros que se les pasan y esta te devuelve un XML con los Post, Tags y demás que se necesita.

Lo primero que hice fue ver cómo manejaba esto el plugin de Perl, pero lo hacía bastante feo, o por lo menos yo no lo entendía (todavía no sabía que existía esta API). Después conseguí un programita en Python que hacía algo similar a lo que yo quería pero no funcionaba :P . Miré el código y ahí recién descubrí que había una API.

El código no funcionaba porque tenía las direcciones de las páginas en cualquiera y le pasaba cualquier cosa a estas direcciones también. Después leí que la API puede cambiar sin ningún tipo de aviso, sin respetar las versiones anteriores y de la forma que se le dé la gana. En este momento me pregunté: ¿Cuánto tiempo puede durar mi programa funcionando? :D

Me puse a jugar un rato con la API, fue un rato bastante corto, ya que te limitan las consultas a la misma para no sobrecargar el servidor, hice 3 boludeces y se me terminó la joda. Una cagada bah! Asique seguía haciendo cosas por otro lado, y cuando pasaba cierto tiempo volvía a intentar y probar las funciones que había escrito y suponía que funcionarían.

Me filtraron dos veces más y me cansé, me dí cuenta que esto así no podía ser porque si abrías dos veces el navegador y este bajaba los marcadores a la segunda vez no los ibas a poder ver porque estabas filtrado. Además de tener que bajar todos los marcadores cada vez que entrabas al navegador con su correspondiente consumo de ancho de banda.

Me puse a buscar la forma de mejorar esto y me bajé el archivo XML a disco y lo trabajaba desde ahí. Aunque esto era un poco feo, tenía que hacer consultas como: ¿Cuáles son todos los marcadores que tienen tal etiqueta?, ¿Qué marcadores tienen la palabra “linux”?, etc… Asique lo pensé dos segundos y me hice una base de datos con SQLObject que algo sabía de cuando estudié TurboGears y era una boludés.

El problema era que si agregabas un marcador desde otra computadora, este actualizaba los marcadores de la página, pero no la base de datos. Investigué un poco más y encontré la función update en la API de del.icio.us, que indica cuándo fue la última vez que el usuario hizo una modificación. Asique comparando esta con la última fecha de modificación de mi base de datos queda chanta. Pero… ¿cómo saber la última modificación de la base de datos? Aja! Te la encargo. Yo hice una tabla en la que mantengo esa fecha por el momento. Una negrada bah!

Por último empecé a hacer la GUI con PyKDE, primero por el diálogo de Agregar un Marcador, ya que supuestamente lo otro lo iba a meter en el Konqueror (que todavía no he podido :( ), probé esto y funcionaba perfecto. Asique seguí con la parte del filtrado de marcadores, etiquetas y las consultas a la base de datos para estas.

Terminó saliendo algo bastante bueno, por lo menos para mi gusto, y si lo puedo integrar completamente con el Konqueror me va a ser algo muy útil.

Al principio dije que le falta un poco de azúcar todavía porque el sistema de DCOP le asigna un nombre a cada uno de los programas que están en ejecución y soportan este sistema. Pero si se puede tener más de una aplicación del mismo programa, al nombre de esta le suma un número, que este es su PID. Al no estar integrado con Konqueror este número no lo puedo saber ya que la forma sería haciendo un os.getpid() pero como lo estoy corriendo fuera del navegador me devuelve otro número. Asique por el momento esto hay que ponerlo a mano.

Además no hice alguna forma de ingresar el nombre de usuario y la contraseña todavía, porque no he tenido ganas. Hice un archivo config.py en el cuál se pueden poner estos datos. Total, como nadie lo va a usar no me calenté mucho, y si alguién lo quiere probar y no puede me pregunta y le doy una mano :)

El código está lo que se dice horrible, tengo pensado cambiarlo todo para estructurarlo de alguna forma mejor, como no pensaba hacer nada de lo que hice fue saliendo así de feo :D

Hice una página para este programa en la que explico algunas cosas más, hay screenshots, se puede descargar el código, etc:

http://grulicueva.homelinux.net/~humitos/KeDElicioso/