alecu: Cómo funciona un PyCamp

   Publicado:

(Alfonso de la Guarda me contó que están organizando un PyCamp en Lima, y me preguntó como hacemos en PyAr para organizar un PyCamp. Como esto puede que le interese a más gente, respondo por acá).

Que buena idea hacer un PyCamp en Lima! Me encantaría poder asistir. Mientras tanto, les cuento como lo organizamos por acá:

Primero, anunciamos un lugar y fecha, e invitamos a toda la gente que tiene ganas de ir a anotar ideas y proyectos en una página del wiki. Por ejemplo, esta es la lista de temas propuestos en PyCamp 2011. La gente va viendo la lista de asistentes y temas y juntando ganas de ir. Todos tienen que hacer el depósito para pagar alojamiento, comida y conectividad cuanto antes, pero siempre hay alguno que termina asistiendo a último momento.

Una vez en el evento, durante el primer día hacemos la presentación de gente (donde cada asistente tiene 30-60 segundos para contar quién es) y la presentación de proyectos (donde cada persona que propuso un proyecto puede contar un poquito sobre el mismo). Luego medimos cuanta gente hay interesada en cada proyecto, levantando manos, y según la cantidad de interesados repartimos los proyectos en una grilla, para que los proyectos con más interesados comiencen “antes”. Esta es una foto de la grilla:

IMG16948.JPG

Nos resulta importante este paso, porque en la wiki no suelen anotarse todos los proyectos, y también para animar a los asistentes nuevos a que propongan o se enganchen en alguna actividad.

La idea de que los proyectos comiencen a distintas horas es para que si una persona está interesada en varios proyectos, que pueda asistir a la explicación detallada de cada uno que se suele hacer al principio del mismo, para enterarse más del estado del proyecto y poder participar tras el PyCamp.

Uno de los espacios se reserva para una reunión de PyAr (generalmente el sábado a la noche, junto con el asado), donde se charlan cuestiones administrativas del grupo. Y además alguna tarde/noche suele haber alguna actividad, tal como una excursión o algo similar. Y por las noches suelen haber juegos de mesa, de rol y torneos de metegol o Armagetron.

IMG16983.JPG

Pero más allá de la grilla, el PyCamp es “caótico”, en el buen sentido del término. Cada participante tiene libertad de sumarse o restarse de algún proyecto en el momento en que le interese o aburra. Hay proyectos que terminan ocupando la mayor parte del tiempo, por el entusiasmo que los asistentes le ponen al mismo, y hay algunos propuestos que no llegan a tener quorum. Hay participantes que terminan trabajando solos (y eso está bien) y hay otros que terminan descubriendo afinidad y arman un grupo que persiste luego del PyCamp (y eso es lo mejor).

En resumen, el mayor esfuerzo para hacer un PyCamp es conseguir el lugar, asegurarse que tenga una conexión a internet razonable y gestionar las reservas; esta es la infraestructura para que entre todos los participantes vayan organizando las actividades de la manera que les resulte más intersante.

PD: acá hay muchos posts con fotos y más info: http://python.org.ar/pyar/PyCamp

Patricio Molina: Y esto vale para todo

   Publicado:

Yo no creo que valga la pena vivir para ganar, creo que vale la pena vivir para hacer lo que la conciencia te dicte que debes hacer, y no lo que te conviene. Y esto vale para todo: para la política, para la vida, para el amor, para el fútbol.

Eduardo Galeano, el 23 de mayo en “Singulars”

Joaquin Sorianello: Decaer como cesio 137

   Publicado:

(leer escuchando esto)


Decaer.

Dejar que la vida lleve hacia abajo.

Mojar la medialuna en el café.

Prometerse a uno mismo que no llegará tan abajo.

Mirar el mar.

Esconderse en la bruma de la mañana.

Llorar por lo que paso.

Reirse de uno mismo.

Lo mas que se pueda.

Sonreir como si no importara el vuelo de los mirlos.

Prometerle a la mañana.

Que ella.

Será, por adelantado,

la dueña de la mañana.

Recordar los cuatro años.

Por que allí,

Y solo allí.

Aprenderas a decaer,

lentamente,

como el cesio 137.

Marcos Vanetta: Así es, di una charla en PyConAr 2011

   Publicado:

Así es, di una charla en PyConAr 2011

Así es, me anime, mande y me aceptaron. Buena onda! Este año por fin pude dar una charla en una PyCon y gracias a la experiencia en charlas anteriores como esta, la última no me salio tan mal :) Tuve un público receptivo que inclusive se animó a participar. La charla fue sobre introducción al desarrollo web, pero desde el principio. Vi muchas charlas sobre introducción a Django o Rails o Web2Py que demandaban bastante conocimiento previo, bueno, fue este conocimiento previo que yo aborde en mi charla. Desde que es un servidor, HTML, Javascript, etc hasta una mini mini aplicación web hecha en Bottle. ¿Por qué Bottle? Justamente porque su simpleza y porque se enfoca en la web unicamente. No tiene ORM ni nada, pero para una introducción me pareció genial. Aquí les dejo las diapositivas y más fotos (incluyendo la del super cuchillo que me regalo la organización)

View more presentations from malev. Nota: ninguna foto es mía, las robe de muchos sitios, espero nadie se enoje.

Martín Cerdeira: It Sucks! (parte 2)

   Publicado:
Ejemplo: WebService SOAP doloroso: 
Producto: MSCRM 2011
Accion: Login con Live + retrieve de una cuenta




 




Es necesario? Realmente tiene que ser tan mugroso?

Para mí, es un Epic Fail.

Marcos Vanetta: Paso PyCon 2011

   Publicado:

Paso PyCon 2011

Con un delay importante les cuento que paso PyCon Argentina 2011. Así es, el 23 y 24 de setiembre, gran parte de la comunidad hacker invadió Junín (provincia de Buenos Aires). Por supuesto estuve ahí.

pyconar2011

Como siempre, la muy buena onda de la comunidad de python garantizó y cumplió con 2 días espectaculares. Hubo de todo, charlas de muy alto nivel, oradores locales e internacionales, conocí Google App Engine, obtuve consejos sobre como crear librerías y sobre TDD con python y mucho más. Las visitas internacionales, un verdadero lujo y hasta nos mando un saludo Guido van Rossum desde Londres. No recuerdo el nombre, pero uno de los pibes Canonical me dio una mano sobre como configurar Launchpad para un aplicación que estoy haciendo (más adelante les comento que tal). Por último, también pude dar una charla, de la que hablare en otro post. Solo una conclusión: Increíble! y vayan guardando un lugar para mi en la próxima (todavía no sabemos donde va a ser).

Pablo Alejandro Costesich: Lenguaje S (Lógica Computacional)

   Publicado:

En el libro Computability, Complexity and Languages de Davis y Weyuker se describe un lenguaje de programación Y (S para algunos). Dicho lenguaje, sencillo, cumple algunas propiedades teóricas interesantes y es empleado en cátedras de Lógica Computacional.

El código de un programa en S es algo como:

[A1] IF X1 != 0 GOTO B1
Z1 <- Z1 + 1
IF Z1 != 0 GOTO E1
[B1] X1 <- X1 - 1
Y <- Y + 1
Z1 <- Z1 + 1
IF Z1 != 0 GOTO A
(Función Identidad, Página 17 de Computability, Complexity and Languages)

Es un lenguaje simple, con tres instrucciones: incrementar o decrementar una variable. y saltar a una etiqueta si una variable no es cero.

El rango de las variables es [0, +inf) y toman como valor inicial cero. Además, decrementar una que está en cero no cambia su valor.

También están las etiquetas, que permiten nombrar instrucciones y saltar a ellas mediante IF. Si se salta a una etiqueta inexistente el programa termina. Una extensión al lenguaje es la existencia de macros, similares a las de C.
En el Lenguaje S es conveniente probar los edge-cases antes de empezar a probar formalmente el programa, o tener una ayuda para hacer un seguimiento de la ejecución del mismo.

Como el lenguaje es simple decidí implementar un intérprete y un compilador con una reducida máquina virtual (por el momento sólo en Python). Están bastante incompletos (pero funcionan) y necesitan un lexer-parser real. Aclaro que fue una solución Quick n' Dirty.

El código está en GitHub y bajo licencia NewBSD. Cualquier sugerencia constructiva es bien recibida, por lo que agradezco mucho cualquier fork y pull-request, bug report o comentario.

Martín Cerdeira: IPnaf IDE - La IDE definitiva para python

   Publicado:

Dentro del titulo mentiroso, que usé para atraer la atención (el plan B era poner "cerveza gratis!") encierro un pensamiento mío, pero que creo que muchos compartimos. Pero, primero lo primero:

IPnaf IDE quiere decir: IPnaf Please Not Another Fucking IDE!!

Aunque, debería ser "not another fucking python IDE!" Y a qué me refiero con esta misteriosa frase?? He visto, y ultimamente mucho mas, una proliferacion de lo que hacen llamar IDEs. Pero, me voy a centrar en IDEs para el lenguaje pythyon: cito, spyder, Ninja, entre otros, que aparecieron como "somos la IDE definitiva".

Hay un chiste de Xkcd donde, la idea más o menos es que, alguien dice "uh, hay n maneras de hacer x! No puede ser, hay que generar un standard. Horas luego hay n+1 maneras de hacer x"

Y es así. Siempre. Siempre?? Bueno, no siempre, pero en el 99.9% de los casos. Otras veces, ese pensamiento da lugar a innovaciones. Pero, es lo común?? Diríamos que no.

Vuelvo a los ejemplos que cité: Spyder y Ninja. Ambas las bajé, instalé y probé. Aclaro que no tengo nada en contra de quienes la desarrollan (ni los conozco) ni me parece que su trabajo y esfuerzo sea malo. Al contrario. Pero, veo que está desperdiciado. Gente con talento claro, pone esfuerzo en cosas que ya existen y, sin innovaciones reales. A qué me refiero??

Spyder y Ninja [0] son, sin duda esfuerzos de desarrollo y diseño. Pero, que son? Editores de texto lindos y python friendly. Nada más. Ah, y que ejecutan código. Nada que no puede hacer con Emacs y un poco de tiempo + macros.

Debugger? No, gracias. [1]

Ojo, no es que sea fácil hacer un debugger como la gente, que corrar el código paso a paso y podamos inspeccionar varibles, ejecutar código en el contexto de ejecución, editar código on the fly, hacer remote debugging etc. [2]
Pero, es lo que falta!! (en general) Y si, es más lindo ponerse a escribir la IDE desde cero [3], y luego agregarle esas funcionalidades superstar, pero, primero hay que hacer el editor, el highlighter, el buscador de código, el generador de plugins, el pseudo intellisense, etc. Y, para cuando llegamos a las funcionalidades breakers, rockstar, "la papa", quizá el proyecto ya murió.

"No necesitamos esos features de maricones". Diría el macho programmer. (y esto me hizo acordar a otro chiste de Xkcd) pero, la realidad es que, cuando más cómodo esté uno, mejor trabaja y más se puede concentrar en el problema puntual que esté resolviendo.

Por qué no tomar una IDE existente y opensource y mejorarla en vez de arrancer una from scratch?

Entonces, si se van a poner a programar, aviso, no necesitamos más IDEs =) 

EOF

[0] Elegí Spyder y Ninja porque son 2 que recuerdo haber visto últimamente, y que además las instalé y probé.

[1]  Creo que Spyder estaba implementando pdb y winpdb. De todos modos, mi punto sigue en pie.

[2] Acá es cuando alguien me va a decir, "vos, porque estás acosbumbrado a visual basic" Puedo asegurar que he programado en editores de texto plano como en Visual Studio, Eclipse o Netbeans. Uno puede usar un debugger o usar prints, pero, las funcionalidades rock star en las IDEs, son geniales!! No es que uno no pueda vivir sin ellas, pero, si existen, mucho mejor!!

[3] Es como el caso de las n distribuciones de Linux. Ya hay suficientes en variedad como para parar un poco, si tenés tantas ganas de laburar en una distro, contribuí con una que exista!!!

Martín Cerdeira: It Sucks!

   Publicado:

Ultimamente he tenido que interactuar con varios productos de una empresa "muy conocida" (que tienen, entre otros productos un CRM y un ERP) y, me he topado con un viejo amigo: los webservices.

Y, claro, no es que no los conociera pero, hacía mucho que no me topaba y, ya había olvidado lo feo que son, lo lentos, lo roto que está el modelo en general (SOAP, REST o POX, da igual)

O lidias con librerias horrendas, o parseas xmls.

Y me pregunto: Por qué? No deberíamos (los informáticos) facilitar el acceso a los datos?? No debería ser todo, cada vez más fácil y lindo?

OData, ya es algo, pero, como todo, hasta que sea realmente un standard, vamos a seguir sufriendo con, mixturas de tecnologias (y tampoco se si es la solución al problema)

En fin, mi opinón es que, en lo que es acceso a datos abierto y fácil para todos, We Suck!

Lecturas relacionadas:
SOAP
REST SOAP POX

Joaquin Sorianello: Up things

   Publicado:

Después de la charla de Kragen Javier Sitaker en Pyconar 2011 me puse a trabajar en algunas obras de arte electrónico.

Así nació Up things (no pregunten el porque del nombre ), un repositorio en github  donde voy poniendo las cosas que se me ocurren.

El primer proyecto es el lanzador de partículas. Les dejo unos screenshots:



Share