Joaquin Sorianello: Buenas Nuevas

   Publicado:

Hace rato que no posteo algo por acá, pero tengo buenas noticias, y las buenas noticias son para compartirlas.

Cambio de Trabajo! 


Un poco de background:
Hace 3 años (y un poco mas) que me viene a estudiar  (aunque no solo a estudiar) a Buenos Aires, desde ese momento vengo laburando en la empresa de mi tío. Donde comenzé siendo un tablerista, y termine siendo proyectista eléctrico, programador de PLC, SysAdmin, Tablerista, Encargado de Postventa, Desarrollador de Scadas.... (y la lista sigue). Todo esto, amparado en la confianza de ser familia.

Pero.... siempre hay un pero: No está tan bueno. Ser un empleado multifuncional, con muchas cosas diferentes que abarcar logró que mi estrés y mi panza crezca, que mi capacidad de resolver problemas específicos disminuya y algo muy importante:
La sensación de soledad, de no tener un par con el que discutir como encarar un proyecto, alguien con quien repartir las responsabilidades cuando la cosa no funciona y finalmente, alguien con quien aprender en conjunto.

Ademas.... quería programar, Python de ser posible...


Empecé a mirar un poco la oferta laboral, pero el panorama era mas que deprimente (desde mi punto de vista): Muchas búsquedas de desarrolladores junior, con sueldos malos.
Yo, siendo un (proto)programador autodidacta, no tenia ningún papel, ninguna experiencia laboral en el desarrollo de sistemas, no tenia la cara para presentarme a un laburo mejor.
Mi forma de vida (la autosuficiencia en pareja) y el nivel de gastos (depto, gastos de facultad, alimentos, transporte) me hacia imposible pensar en entrar a una empresa donde me paguen 2,50$ la hora.

Pero las cosas fueron cambiando:

En marzo participe en el pycamp, un campamento en el que programadores de python de argentina, desde newbies como yo, hasta tipos con trayectoria internacional. Fue increíble: muchos geeks, mucha buena onda, mucha humildad.
Aprendí mucho, muchísimo, mas que en mucho tiempo.
Ahí mismo me di cuenta (nuevamente) que estaba cansado de trabajar tan solo y que realmente quería trabajar con gente así y que realmente mi codigo no apestaba (tanto...).

En la reunión de PyAR (en el marco del PyCamp), Alecu planteo que existen un montón de programadores de Python, que no trabajan en Python, y que estaría bueno, revertir esa situación.

De vuelta en casa decidá tirarme a la pileta: Mande un curriculum a GCoop, una cooperativa de desarrollo de software libre, y... me eligieron!!!!, así que, fines de abril, estaré estrenando nuevo trabajo.

La verdad que agradezco a la gente de la comunidad de Python Argentina, que confiaron en mi, como colaborador en los eventos que se organizaron y me ayudaron (sin darse cuenta) a dar este paso.

Juan Pedro Fisanotti: El más juego más grande del más mundo!

   Publicado:

Para quienes siempre quisieron participar en el desarrollo de un juego, esta es su oportunidad, y ni siquiera necesitan saber programar! :)
Gente de PyAr (Python Argentina) va a participar de la PyWeek, una semana de competencia en la que el objetivo es desarrollar un juego. Pero lo interesante es que van a permitir que cualquier persona pueda aportar contenido al juego, diseñando tus propios mini-juegos dentro de él.
Para enterarse de más y participar, entren a:

Juan Pedro Fisanotti: La prensa en China

   Publicado:

Cómo la mayoría sabrá, Google cerró su sitio de China (www.google.cn) por no estar de acuerdo con la censura que el gobierno de ese país le obligaba a tener. El gobierno habló públicamente sobre la decisión, pero también envió las siguientes instrucciones a todos los medios de prensa del país, acerca de cómo deben informar sobre el asunto.
Después de leerlas, siento pena por la población de China. Es una dictadura peor de lo que pensaba...

(sacado del Washington Post, lo traduje rápido para que lo puedan leer quienes no sepan inglés)

A todos los editores en jefe y administradores:
Google ha oficialmente anunciado su retirada del mercado de China. Este es un incidente de alto impacto. Ha desatado discusiones de los usuarios de internet que no están limitadas al ámbito comercial. Por ende por favor presten estricta atención a los siguientes requerimientos para el contenido durante este período:

A. Secciones de noticias:

1. Solo utilicen el contenido del sitio web del Gobierno Central; no utilicen contenido de otras fuentes.

2. Al hacer re-posting no deben cambiar el título. (n. del t.: re-posting = postear el contenido en otro sitio)

3. Las recomendaciones de lectura deben apuntar al sitio principal de contenido del Gobierno Central.

4. No produzcan páginas de tópico relevante; no creen sesiones de discusión; no lleven a cabo reportes de investigaciones relacionadas.

5. Programas en linea con expertos y estudiantes sobre esta materia deben solicitar autorización por adelantado. Este tipo de producción de programas auto iniciada está estrictamente prohibido.

6. Administren cuidadosamente los comentarios en los post de noticias.

B. Foros, blogs, y otros tipos de secciones interactivas:

1. No está permitido mantener discusiones o investigaciones sobre el tópico de Google.

2. Las secciones interactivas no deben recomendar este tópico, no posicionen este tópico y comentarios relacionados al inicio.

3. Todos los sitios por favor quiten todo texto, imagen y sonido y video que ataque al Partido, Estado, agencias del gobierno, políticas de Internet con la excusa de este evento.

4. Todos los sitios por favor quiten todo texto, imagen y sonido y video que apoye a Google, dedique flores a Google, pida a Google quedarse, felicite a Google y otros que tengan un tono diferente al de la política del gobierno.

5. En tópicos relacionados a Google, administren cuidadosamente los intercambios de información, comentarios y otras sesiones interactivas.

6. Administradores en jefe de las diferentes regiones por favor asignen esfuerzo humano específico para monitorear la información relacionada a Google; si existen información acerca de incidentes en masa, por favor repórtenlos con el tiempo suficiente.

Le solicitamos al Grupo de Monitoreo y Control un seguimiento inmediato del monitoreo y control de las acciones detalladas en las directivas anteriores; cuando cualquier problema sea descubierto, por favor ponganse en contacto con las respectivas sesiones con el tiempo suficiente.

Lineamientos adicionales:

-- No participen ni reporten en los comunicados de prensa/información de Google.

-- No reporten acerca de Google ejerciendo presión en nuestro país por medio de personas o eventos.

-- Los reportes relacionados deben poner nuestra historia/perspectiva/información en el centro, no provean a Google de materiales con los cuales atacar políticas relevantes de nuestro país.

-- Utilicen los puntos de vista acerca de Google abandonando China publicados por los departamentos relevantes.

Fuente: artículo del Washington Post

Pablo Alejandro Costesich: Python Memory Tools

   Publicado:

Ayer publiqué por primera vez una herramienta sobre la que estuve trabajando para resolver un par de problemas en Galaktia. Se trata de un conjunto de funciones decoradoras y clases para implementar el Memory Pattern en callables y brindarles una pseudo transparencia referencial (porque el valor debería depender sólo de los parámetros y no causar efectos colaterales). Es útil para funciones computacionalmente caras e inmutables (o que la actualización de sus valores de retorno tenga un tiempo de expiración largo).

Es una librería muy sencilla y fácil de entender, aunque seguro implementada miles de veces y de distintas maneras. Mi objetivo fue que sea fácil de usar (para mí), donde cada storage se asemeje lo más posible a un diccionario. Esto hace que pueda reemplazar muchas partes de código viejo sin romperlo.

Un ejemplo muy simple de la librería:

from memtools.storages import RedisMemory, MemcacheMemory, Alzheimer
mem = RedisMemory(debug=True)
mem2 = MemcacheMemory(debug=True) # podría usarlo del mismo modo
mem3 = Alzheimer(True) # easter egg, pierde valores a lo random.
@mem
def fib(n):
if n in (0, 1):
return 1
else:
return fib(n - 1) + fib(n - 2)

print fib(2)
print fib(5)
print fib(3)

mem["asd"] = 1
print mem["asd"]


La biblioteca está bajo licencia BSD y fue escrita enteramente por mí. En una época fue parte del proyecto Galaktia (@galaktia), pero gracias a Manuel Aráoz (@maraoz) y el resto del equipo pude separarla, así que ahora está disponible para todos. Agradezco cualquier modificación, sugerencia o cambio que pueda hacerse para mejorarla (son libres de hacerlo o no). Un fork&merge sería un halago.

Pueden encontrar el código en GitHub o en PyPI.

Puede ser que en un futuro le agregue soporte para memcache en Google App Engine y on-demand value updates (recalcular los valores almacenados para una clave cuando se cumpla una condición).

Mariano Reingart: Clase Abierta: Introducción a Python, PythonCard y Web2Py

   Publicado:

Invitamos a los interesados en programación, desarrollo de aplicaciones y diseño web a presenciar una clase abierta de la carrera Analista de Sistemas de nuestro instituto, donde analizaremos las virtudes del lenguaje de programación Python, herramienta PythonCard para diseño simple de aplicaciones visuales (GUI) y Web2Py para diseño ágil de sitios interactivos web 2.0.

Fecha: Miércoles 31 de Marzo de 2010
Horario: 18:15 a 22:30
Lugar: Instituto Superior Tecnológico Blaise Pascal
Dirección: Puerto Argentino 4238 - González Catán - Buenos Aires - Argentina
Entrada libre y gratuita previa confirmación por email debido a cupos limitados.
http://www.institutopascal.edu.ar

Temario:

1. Introducción a Python: ¿Que es python?; El Interprete; Estructura Básica; Tipos de datos simples; Tipos de datos compuestos; Control de Flujo; Funciones, Clases y Objetos; Excepciones; Módulos, paquetes y espacios de nombre
2. Introducción a la Biblioteca Estándar: sistema operativo, fecha y hora, expresiones regulares, números decimales, aleatorios, matemática, acceso a sitios web, manejo de email, xml, compresión
3. Interfaces gráficas "visuales" con PythonCard. Similitudes y diferencias con Visual Basic.
4. Desarrollo web 2.0 con web2py. Similitudes y diferencias con PHP. Diseño web HTML/CSS. Interactividad con Ajax (javascript).

Se agradece difusión.

Juan Pedro Fisanotti: n900

   Publicado:

un detalle que vale mas que mil palabras: el n900 trae de fabrica una consola de linux instalada :)

John Lenton: Thank you vates

   Publicado:

A veces creo que debería sucumbir y unirme a Facebook. Por suerte, cuando eso pasa nunca falta quien me convenza de postergarlo un año más. Vates me invita a Facebook

John Lenton: PyCamp

   Publicado:

El fin de semana me pude hacer una escapada el PyCamp. Fue muy lindo ver cómo seguía teniendo la misma idea (por demás simple) de juntar pythoneros para que hueveen hasta el hartazgo (o hasta quedarse sin voz de hablar de cómo arreglar el país y el mundo, o darse cuenta a las 5am que era la hora que era y que el resto se había ido a dormir horas antes mientras vos cazabas ese bug tan interesante).

Me pude desenchufar por dos días de la carrera contra reloj que es meter cosas nuevas en Lucid (que es mi trabajo). Y, mientras estuve ahí, construí una cosa. Bah, dos.

Por un lado, hice una aplicacioncita GTK+ que te deja bajar videos de YouTube eligiendo su resolución. Como soy super original, le puse YouTube Downloader.

YouTube Downloader screenshot

Por otro lado, como parte de lo anterior, hice una librería para bajar cosas asincrónicamente desde aplicaciones hechas en pygtk. Usa solamente gio, sin usar threads ni nada así (por lo menos que uno se entere). Y por ahora, es parte de ytd. Se usa así:

AsyncDownloader('http://pyvore.com/bg.jpg', file_factory, done_cb)

con eso, cuando termina de bajar el archivo se llama a done_cb con el objeto que devolvió file_factory (por ejemplo, file_factory puede ser tempfile.NamedTemporaryFile). Es así de fácil! Tiene ganchos para complicarla, por ejemplo para mostrar progreso, pero es la misma idea.

Sebastian Bassi: Downgrade pago

   Publicado:

Downgrade pago
Cargado originalmente por sbassi
Cartel visto en una librería en el barrio de Congreso. Proponen pagar para hacer un downgrade. Como para no tenerle lástima a los usuarios de Windows.

Juan Pedro Fisanotti: PyCamp 2010, día 4

   Publicado:

Bueno, ya estoy en Retiro, en un rato estoy saliendo para Rafaela. Así que posteo el resumen de hoy. Probablemente después haga un post más completo con mis conclusiones de lso 4 días.


Algo muy interesante de hoy fué el hacking con OpenCV. Se hizo un programita que detecta cuando hay una cara cerca del monitor, si no hay nadie pone solo el protector de pantalla, y si hay alguien lo saca. Está genial :).


Y a la tarde se hizo el cierre, donde se expuso brevemente las cosas que se habían logrado en cada uno de los proyectos, y se charlaron algunas ideas para el próximo PyCamp, y PyCon.

Estoy muerto, pero estuvo todo muy, muy bueno. Después haré el resumen. Saludos!!

Share