Novedades: actualmente estoy impulsando el proyecto Argentina en Python, desde aquí (ver mapa)

Proyecto de página web

Note

Este post no es el original, sino una migración de Wordpress a Nikola. Si no se visualiza correctamente, podés ir al original (en Wordpress) haciendo click aquí

Hace una semana con unos amigos (Juan y Guillermo), empezamos a diseñar, o intentar a hacerlo, una página web para desarrollarla en Python con TurboGears. Con el fin de aprender TurboGears y si queda buena/usable subirla.

Para esto empecé a leer el libro "Rapid Web Applications with TurboGears: Using Python to Create Ajax-Powered Sites" para poder comenzar con lo que es TG, ya que nunca antes ninguno de los tres habíamos hecho nada con este framework. Cada uno estuvo leyendo por su parte algunos capítulos de este libro y otros tutoriales sobre estilo de programación en Python, así ponernos de acuerdo y matener entre todos un estilo para no tener problemas en el futuro.` <http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html>`__

El tema de la página es "La movida nocturna en la ciudad de Paraná", pretendiendo mostrar fotos de boliches, pubs, etc de esta ciudad, además de noticias sobre recitales, fiestas y algunas cosas más.

Para hacer las primeras pruebas sobre la página nos juntamos un fin de semana a hablar sobre el proyecto y empezar a tirar algo de código. Diseñamos la estructura de la base de datos, y empezamos a hacer los primero métodos para actualizar esta. Pensamos el sistema de noticas para que sea lo más automágico posible y fácil de usar.

El proyecto lo alojamos en Google Code ya que es de código libre y además nos resulta fácil llevarlo adelante gracias al sistema de SVN que Google posee. El proyecto se encuentra en esta dirección http://code.google.com/p/www-payaso/ y al código lo pueden descargar desde una consola con el comando:

$ ``svn checkout http://www-payaso.googlecode.com/svn/trunk/ www-payaso``

Actualmente se encuentra en desarrollo y tiene un avance bastante lento, debido a que cada uno de nosotros no tenemos los conocimientos sufientes como para avanzar rápido y ademas estamos programando en otros proyectos también.

Tengo pensado, a medida que vaya haciendo algo en el proyecto, ir explicando cómo funciona TurboGears, o en realidad, cómo lo hago funcionar yo :) en post posteriores.En la carpeta /doc del proyecto se puede ver todo lo que vamos escribiendo sobre convenciones y forma de funcionamiento de este sistema, por lo cual quizás los post sean de este manual.


Slax Linux en USB pendrive

Note

Este post no es el original, sino una migración de Wordpress a Nikola. Si no se visualiza correctamente, podés ir al original (en Wordpress) haciendo click aquí

Slax linuxHace tiempo que quería meterlinux en mi pendrive. Justamente hoy lo conseguí. Antes había probado la distro Slax que está basada en Slackware y me había gustado mucho, ya que es bastante rápida para cargar, ocupa 211 Mb y trae el KDE que es el Desktop que más me gusta.

Lo había grabado en un CD para probarlo y estuve investigando cómo agregarle funcionalidades y programas, y esto la verdad que es muy fáci. Simplemente se agregan los módulos correspondientes de los programas que queremos y listo (descargamos un archivo y lo agregamos al iso o lo hacemos on-the-fly).

Con la versión 6 rc6 no me costó nada de nada hacer que la pc me bootee desde el pendrive. Me bajé la versión que menciono desde la página oficial, concretamente ésta. Luego monté esta imágen .iso con el comando:

$ sudo mount slax6rc6.iso -o loop -t iso9660 /home/manuel/virtualcd/

Después copié todos las carpetas que se muestran ese directorio (boot y slax) al pendrive. Y por último lo que hice fué desde la carpeta /boot del pendrive ejecutar el script:

$ ./bootinst.sh

Listo! Ahora lo único que resta es configurar el BIOS para que bootee desde el USB antes que del HDD (disco duro).

Después seguí investigando para poder guardar todas las configuraciones (que eso era realmente lo que me importaba más que nada; ya que desde el CD ya lo había conseguido pero era bastante complicado, o a veces no tenía una grabadora en el lugar que lo estaba corriendo). Para esto hay que descomprimir el archivo slaxsave.zipque está la carpeta /slax del pendrive, eligiendo el tamaño que queremos que ocupe el archivo de configuración. Por el momento hay 4 archivos, uno de 1 Gb, otro de 512, 256, y 128 Mb. Yo elegí el de 128 Mb pero luego automáticamente creció cuando agregé algunas cosas. A este archivo lo descomprimimos nuevamente y crea en el directorio /slax el archivo slaxsave.dat que es dónde se guardarán los datos de las configuraciones.

Después de esto, booteamos desde el pendrive y las configuraciones se guardarán de forma automática en este archivo.


Técnicas para hacer bucles

Note

Este post no es el original, sino una migración de Wordpress a Nikola. Si no se visualiza correctamente, podés ir al original (en Wordpress) haciendo click aquí

Siempre hice cualquier cosa al iterar sobre algo en Python. Y leyendo el libro de Guido Van Rossum "Guía de aprendizaje de Python" encontré una sección llamada como el título del post. Lo que pongo acá es un mail que mandé a la lista de PyAr (Python Argentina); a la cual pertenezco ya hace desde un año más o menos.

Todo esto es muy práctico para iterar sobre listas, diccionarios, tuplas, etc. Para recorrer diccionarios y recuperar la clave y el valor simultaneamente podemos hacer:

>>> en_es = {'shoot': 'disparar', 'hello': 'hola', 'back': 'volver'}
>>> for k, v in en_es.iteritems(): ... print "'%s' en castellano
significa '%s'" % (k,v) ... 'shoot' en castellano significa 'disparar'
'hello' en castellano significa 'hola' 'back' en castellano significa
'volver' >>>

Otra cosa que siempre he hecho bastante feo, es iterar sobre una secuencia haciendo uso de la función range() para saber en qué posición de la secuencia me encuentro y además saber que hay en la misma...

>>> for i, v in enumerate(["in", "cre", "i", "ble"]): ... print
"posicion numero %d = %s" % (i, v) ... posicion numero 0 = in posicion
numero 1 = cre posicion numero 2 = i posicion numero 3 = ble >>>

Podemos recorrer dos secuencias fácilmente haciendo:

>>> colores = ["amarillo", "naranja", "verde"] >>> frutas = ["banana",
"naranja", "manzana"] >>> for c, f in zip(colores,frutas): ... print "La
%s es de color %s" % (f,c) ... La banana es de color amarillo La naranja
es de color naranja La manzana es de color verde >>>

Saludos!


¡Hola, mundo!

Note

Este post no es el original, sino una migración de Wordpress a Nikola. Si no se visualiza correctamente, podés ir al original (en Wordpress) haciendo click aquí

¡Hola Mundo!¡Hola mundo! a todos. Este es mi primer post y ni siquiera voy a cambiar el título que trajo por defecto, ya que me pareció apropiado. Al final me decidí a empezar este blog porque me parece un medio importante de comunicación y expresión, por el cuál se pueden compartir conocimientos y experiencias a todas las personas que lean el mismo.

Tengo 0 (cero) conocimientos de cómo se lleva adelante un blog, aunque anteriormente, o mejor dicho actualmente tengo uno con un amigo (Guillermo). Pero este es algo así como "para nosotros" acerca de las cosas que hemos ido aprendiendo en Linux y son fáciles de olvidar, pero por otro lado muy útiles y te sacan de apuros. Aunque este está bastante quedado, cada tanto hacemos un post cuando lo encontramos interesante.

A medida que vaya teniendo ganas y tiempo (sobre todo) voy a escribir algo en mi blog, sobre mi vida, trabajo, proyectos, estudios, programación y cualquier otra cosa que se me ocurra al momento de escribir algo. Para eso están los famosos tags (etiquetas, categorías; como quieran llamarlos). Así uno puede ir rápidamente a la sección que le interesa y dejar mi vida de lado por ejemplo ;)

Me despido, creo que para ser el primer post me parece que fué demasiado!