Monday, July 23, 2007

python

hace algunos años escuche por primera vez sobre python. por aquella época me dedicaba bastante a leer artículos sobre arte under, netart y otros movimientos que había por ahí. así fue que descubrí movimientos como luther blissett [http://www.lutherblissett.net/] y 4BAD [http://www.0100101110101101.org/]. en este último se presentaba el proyecto Biennale.py [http://www.0100101110101101.org/home/biennale_py/index.html], el primer virus hecho en python, al cual no solo lo presentan como un virus, sino como una obra de arte…

después de muchos años, finalmente me largué a jugar con python [http://www.python.org/] por mi cuenta…

en un primer vistazo, me parece bastante práctico, no para hacer una aplicación de las famosas Enterprise –para eso seguimos con java-, pero si para hacer scripts o pequeñas aplicaciones que no sean muy críticas, por ejemplo, las famosas "de uso interno", que terminan siendo usadas por todo el mundo…

para poder correr python sobre winxp solo hay que hacer un paso previo, que es instalar el interprete con todas las librerías básicas. yo arranque con la versión 2.5 (si, soy MUY nuevo!)…

después de hacer el hello world! de rigor,

print ´hello world!´

seguí con unos queries contra unas bases de datos y no fue para nada difícil. probé con mysql y oracle, las bases que usamos en nuestros desarrollos, los drivers son fáciles de conseguir –en sourceforge se consigue todo, uno linkeado desde la página de mysql [http://dev.mysql.com/downloads/python.html] y el otro de cxtools [http://www.cxtools.net/default.aspx?nav=cxorlb]- , son fáciles de instalar y lo mejor de todo, son muy fáciles de usar. ambos implementan una interfaz unificada –python database api 2.0-, que hace que los dos funcionen iguales y con simples 4 líneas, uno puede resolver cualquier consulta a la base,

import os

import sys

import MySQLdb

import cx_Oracle


print 'query al mysql...'

db = MySQLdb.connect('localhost','root','root')

db.select_db('rfid')

cursor = db.cursor()

resultado = cursor.execute('select * from pallet')

for row in cursor :

print row


print 'query al oracle...'

db2 = cx_Oracle.connect('root','root','XE')

cursor2 = db2.cursor()

resultado2 = cursor2.execute('select * from riesgo')

for row2 in cursor2 :

print row2


explicándolo un poquito, acá lo único que hago es indicar que librerías voy a usar y después para cada una de las bases, creo una conexión, abro un cursor, ejecuto un query y recorro el resultado imprimiendo una línea por registro. esto es solo una prueba de juguete, pero me pareció bastante piola.

finalmente, para profundizar un poquito en el lenguaje y jugar un poco con mi nueva webcam, conseguí una librería para tomar snapshots de la cámara [http://videocapture.sourceforge.net/] que se monta sobre pil [http://www.pythonware.com/products/pil/], una librería muy completa de manejo de imágenes. con esto arme un pequeño script que tomaba fotos cada X segundos y lo deje corriendo mientas mi amigo diego nos cocinaba un exquisito risotto. después de más de 1000 tomas, intenté compilar las fotos en una película, pero no pude porque el windows movie maker "exploto", lo cual me alentó a también probar de armar el video con un script. esto es un poquito más difícil, con lo cual lo postergué para cuando tenga más tiempo libre, pero me pude conformar armando una pequeña aplicación grafica que tiene una ventana donde hace un slideshow de las fotos de un directorio. esta pequeña gui, supuestamente, es portable ya que utilicé la librería tkinter, que es la interfaz de python a tk,

ya me agendé un par de tareas productivas para hacer, como unificar la creación de usuarios en el entorno de la empresa (subversión, bugtrakers, knowledge managers y si es posible, mail). en el próximo post espero poder contar sobre el éxito de mis scripts, tanto de creación de usuarios, como de creación de videos.

Monday, July 09, 2007

hay retorno?

llegamos a un punto en el que realmente hemos destruido nuestro planeta y, salvo que la madre naturaleza tenga mucha piedad, nos vamos a destruir nosotros mismos.

hoy presencie algo que nunca había visto en mi vida, vi nevar en buenos aires. Uno está acostumbrado a escuchar o ver las nevadas de tierra del fuego, bariloche o mendoza, pero no es normal que nieve en ba!

desde las 4 de la tarde, momento en el que llegue a la altura de chascomus, hasta entrada la noche, ya encontrándome en quilmes, tuve la oportunidad de ver nevar en buenos aires. la verdad que el paisaje es muy pintoresco, uno nunca esperaba ver nieve en el patio de la casa, en las calles o en el club. incluso el pueblo entero estaba de buen humor, la gente se juntaba en plazas y paseos para que los "chiquilines" jugasen con la nieve. las personas que nunca tuvieron la oportunidad de viajar y conocerla en su estado natural, hoy tuvieron la posibilidad de jugar a tirarse bolas de nieve o armar muñecos con una zanahoria por nariz. la verdad es que fue un rato muy divertido para muchas personas, lo que se no se está transmitiendo es que esto es solo una manifestación más de lo trastornado que esta el planeta, incluso otro indicio de que no nos quiere molestándolo mas.

si quieren ver algunas fotos mas, vayan a aca

Sunday, July 01, 2007

en zanellita!!!

hace ya un tiempito había escrito sobre mi nuevo emprendimiento, la náutica. ahora, ya casi a fin del cuatrimestre, me tocó realizar el cruce a colonia (uruguay), signo que el curso está finalizando…

la verdad que el viaje increíble. Salimos en 8 barcos unas 40 personas. 30 alumnos del curso y el resto en instructores, los dueños de los barcos prestados y otras yerbas. nos juntamos el sábado bien temprano para hacer todos los tramites en prefectura y tipo 830 ya estábamos en camino. el día impresionante, realmente pintado, el problema es que en la paleta el pintor no tenia viento!!! Después de mucho renegar con las velas desinfladas y de haber hecho ya tres cuartos del viaje, nos cansamos de pelear contra el clima y prendimos el motor que nos permitió entrar a colonia…

allá en colonia la verdad que todo perfecto, nuestros amigos de rou son más que macanudos, el puerto de colonia muy cómodo, la ciudad muy bonita y el clima se siguió portando, permitiéndonos caminar y recorrer bastante. día y noche de bastante alcohol y mucha comida en un ambiente de compañerismo muy interesante…

afortunadamente (o no?) a la vuelta el clima no cambio. el día seguía pintado con la misma paleta que esta vez nos agarró con menos ganas de pelear contra los molinos y volvimos todo el trayecto a motor…

obviamente, cuando digo a motor, hablo de un motorcito fuera de borda de 5hp que sonaba a repartidor de pizza y le quitaba bastante el encanto a la aventura, pero en un día como donde la calma chicha reina en el rio, es mucho mejor pensar que vamos en zanellita que tener que sacar el remo para avanzar a pulmón…