Martín Gaitán: Curso de Python para ñoños

¡Los cupos irán a sorteo! Anotate. Si no entrás para en esta edición, quedás anotado para la próxima que será muy pronto.

La demanda nos desbordó. En menos de 2 dias tenemos inscriptos para llenar dos veces el laboratorio que tenemos disponible! Algunos ya están averiguando la disponibilidad del Estadio Kempes para hacer el próximo.

Como recién hoy (martes 7 de abril) se realizó la difusión oficial desde FaMAF, la decisión de los organizadores es permitir la inscripción de todos los interesados y hacer un sorteo de las 25 plazas aranceladas y otro para las 15 plazas gratuitas reservadas para estudiantes de grado de FaMAF.

La justificación de un sorteo en vez de tomar el orden de inscripción la dió el Dr. Nicolás Wolovick, que junto al Dr. Pedro Pury fueron los gestores para que el curso se oficializara, con un argumento democráticamente ñoño:

Estar conectado 24/7 por 3G, recibir el tweet, e inscribirse, no es justo, es una condición de posibilidad que no todos tienen. La distribución uniforme es la que mayor entropía tiene :)

Si estás interesado, es importante que te inscribas a través del formulario. Así tendremos una lista bien grande de "argumentos" para reeditar el curso lo más pronto posible.

Otra posibilidad es que averigües hagas lobby en tu empresa o laboratorio sobre la posibilidad de realizar el curso in house y, si tienen interés, lo charlamos.


/images/Newsletter4-Banner_20120705_12-44-50-800.jpg

A partir del 29 de abril voy a dar el curso Introducción a Python para ciencias e ingenierías en la Facultad de Matemática, Astronomía y Física (FaMAF) de la Universidad Nacional de Córdoba.

Este curso es una versión revisada y extendida del que dí en la ScipyCon Argentina 2014 y durará 8 clases de 2hs cada una. Será los miércoles de 18hs a 20hs en el laboratorio de computación de la facultad. No hace falta contar con equipo propio y el único pre-requisito es tener nociones básicas de programación en cualquier lenguaje.

El costo del curso es $400. Hay becas para estudiantes de grado de FaMAF.

Acá está el formulario de pre-inscripción (LOS CUPOS IRAN A SORTEO).

El curso está reconocido como Curso de Extensión de FaMAF (Res. HCD 107/2015) y se entregarán certificados oficiales a quienes completen asistencia y participación.

Atención Los cupos son muy limitados!

Introducción

En las últimas décadas la computación se ha convertido en un pilar de la ingeniería y la investigación científica. En la mayoría de las áreas, el trabajo computacional es un complemento fundamental de la experimentación tradicional y de la teoría, y cada vez más publicaciones involucran cálculos numéricos, simulaciones y modelado computacional.

Frecuentemente, la tarea de los profesionales involucra el uso de aplicaciones específicas que requieren un gran trabajo de procesamiento de los datos de entrada y un post-procesamiento de los resultados utilizando otras herramientas.

Otras veces se desarrolla software ad hoc en lenguajes de programación tradicionales en la ciencia como Fortran, muy limitados para el pre-procesamiento y la visualización de datos y cuyo desarrollo se torna improductivo por los tiempos inherentes al ciclo de edición, compilación, ejecución y depuración.

Existen nuevos entornos y lenguajes de programación que permiten un flujo de trabajo dinámico e interactivo, mucho más armónico y útil en el contexto de la "experimentación computacional". Un entorno interactivo permite a los científicos e ingenieros manipular datos, probar algoritmos y visualizar resultados de una manera integrada y versátil, sin limitaciones impuestas por una interfaz de usuario ni la laboriosa y frágil tarea de hacer interactuar distintos sistemas.

Este curso brindará una introducción al lenguaje de programación Python y a las herramientas fundamentales del "ecosistema científico" (IPython, Numpy, Matplotlib, Scipy, Sympy, entre otros) que conforman un entorno de programación interactivo de vanguardia, simple, libre, gratuito y multiplataforma.

Sobre el docente

Martín Gaitán es Ingeniero en Computación por la Universidad Nacional de Córdoba (2011). Socio fundador de Phasety, emprendimiento incubado en la UNC que desarrolla software de simulación especializado para la industria del petróleo y el gas. Pythonista desde hace casi una década, es especialista en el framework web Django y cree entender las necesidades del software científico. Es frecuente orador en eventos de software libre. Hincha de Boca y fundamentalista del locro. Más información en su blog.

Programa

Clase 1:
Instalación de entorno para Python en Windows/Linux. Modos de usar Python. Anaconda. Introducción a Ipython Notebook Tipos de datos: enteros, floats, complejos, strings. Estructuras de datos: listas, tuplas, diccionarios, conjuntos. Packing, indexing, slicing, etc. Conceptos de mutabilidad/inmutabilidad, secuencia, iterador Control de flujo: if, for, while, manejo de excepciones.
Clase 2:
Funciones: definición, argumentos posicionales y nominales. Sentencia yield. Funciones incorporadas: zip, range, enumerate, etc. Manejo de I/O: lectura y escritura de archivos.
Clase 3:
Estructura de proyectos: módulos, paquetes, importación. Paseo por la biblioteca estandar: math, CSV, json, pickle Conceptos básicos de programacion orientada a objetos. Introduccion a Matplotlib y Numpy.
Clase 4:
Numpy: introducción al objeto Array. Slicing extendido, métodos y funciones importantes, importación de datos. Aplicación de Numpy en algebra lineal. Resolución de sistemas de ecuaciones lineales. Matplotlib: generación de gráficos cartesianos continuos, puntos, histogramas.
Clase 5:
Vectorización de funciones con Numpy. Matplotlib avanzado: API orientada a objetos. Manipulación del formato y apariencia. Gráficos 3D, otros tipos de gráficos 2D. Introducción a Scipy: algoritmos para estadística, interpolación, regresión lineal, integración, etc.
Clase 6:
Python como "lenguaje pegamento". Integración con Fortran a través de F2Py. Herramienta "fortran-magic". Paso de argumentos escalares, arrays, output implícito, manipulación de signatura. Introducción a otras herramientas de optimización: Cython y Numba.
Clase 7:
Sympy: Python para matemática simbólica.
Clase 8:
Otras herramientas del "ecosistema científico" de Python. Entornos virtuales. Instalación de otros paquetes. Widgets de IPython Notebook. Exportación de documentos.

Juanjo Conti: 6 nuevos libros de Diego Arbit

Nuevos para mi, por supuesto. Algunos fueron publicados hace varios años ya.

Hoy me llegó un paquete con libros que compré hace unos meses. No me acordaba ni que los había comprado, de hecho me sorprendió la cantidad: 6.

Había leído dos libros del autor y luego de eso me topé con que estaba vendiendo por Facebook los que le quedaban. Aproveché la oportunidad y ahora tengo material de lectura para rato. ¿Qué orden me recomendás seguir, Diego?

 

 

Manuel Kaufmann (Humitos): #PyDayAsuncion: un éxito "arrollador"

Una foto vale más que mil palabras...
foto-grupal.thumbnail.jpg

Foto de casi todos los asistentes del #PyDayAsuncion (Asunción, Paraguay) - 28 de Marzo de 2015

Siendo un día de lluvia, tuvimos una asistencia de más de 80 personas y estábamos muy contentos por eso. De hecho, el primer asistente llegó a las 8:30hs (una hora antes) y por eso se ganó una remera ;) . Además, pude hablar con varias personas de esta nueva comunidad de "Python Paraguay" que se formó y muchos de ellos con ganas de hacer cosas nuevas y participar de próximos eventos.

grupo-formosa.thumbnail.jpg

¡Hasta vinieron los amigos de Formosa capital (Argentina)!

También recibí mucho apoyo de personas del interior de Paraguay con ganas de hacer algún evento en esos lugares. ¡Ya estamos planeando un Sprint para dentro de un par de semanas!

Declarado de interés tecnológico

El PyDay Asunción fue declarado de interés tecnológico por SENATICs (Secretaría Nacional de Tecnologías de la Información y Comunicación)

Si bien todas las charlas fueron interesantes, quisiera resaltar la charla de Richar Núñez, un jóven de 17 años que se animó a dar la "Introducción a Python" y nos dejó a todos con la boca abierta.

richar.thumbnail.jpg

"Introducción a Python" por Richar Núñez

También contamos con una disertante mujer, Natalia Figueredo, que nos habló de "Lo bueno, lo malo y lo feo" del manejo de base de datos en Python. ¡Que grande Nati por animarse!

natalia.thumbnail.jpg

"Lo bueno, lo malo y lo feo" por Natalia Figueredo

Podés consultar el cronograma completo aquí.

Me parece que no está de más agradecer nuevamente a SENATICs, Roshka e Ideas Creativas por todo el apoyo que brindaron en la organización de este hermoso evento. También a todos los organizadores que están poniendo el lomo desde hace 1 mes y a todos los asistentes por bancarse un día de lluvia para asistir.

DSC_4715.thumbnail.jpg

Grupo de organizadores del #PyDayAsuncion

Les recomiendo que vean todo lo que se generó en Twitter el mismo día del evento. Hay fotos y muy lindos comentarios de los asistentes.

Me parece una buena oportunidad para invitarlos a sumarse a la lista de correos de "Python Paraguay" como así también seguir sintonizando su Twitter y la página de Facebook.

¡Qué genialidad lo que se logró el Sábado pasado! Todavía estoy un poco emocionado y agotado, también. Fue un día con mucha adrenalina y a las corridas para que todo salga lo mejor que se pueda.

Nos vemos pronto, en algún lugar del planeta tierra, con esto que hemos denominado: "Argentina en Python: una locura itinerante que no tiene fin".

Fotos

Algunas de las fotos del evento (las que saqué con mi celular), las podés ver acá

Fotos tomadas por Alfredo Merino

Si subiste fotos del evento, dejá el link en la sección de comentarios :)

Alejandro Santos: Aprendiendo a programar: eligiendo un lenguaje

Si querés aprender a programar y querés elegir un lenguaje, usá uno que te permita aprender los conceptos básicos de programación: Variables, uso de memoria, estructuras de control, flujo de ejecución, expresiones, abstracción, programación modular y reuso de código, recursión, estructuras de datos, algoritmos, eficiencia, programación genérica. Punteros es un tema que todos deberían conocer y estudiar, conocer de su existencia y de su razón.

Juanjo Conti: El pelo en el jabón (remasterizado)

Para el 3er SLAM de poesía oral de Santa Fe rescaté un texto de mi primer libro y lo pulí un poco más. Estoy bastante conforme con el resultado, y en su presentación oral tubo buena aceptación.

El pelo en el jabón

Probablemente un pelo en el jabón sea uno de los objetos más limpios del universo. Sin embargo, cuando uno —con su cuerpo transpirado y el pelo sucio— se dirige a la ducha para descargar ahí toda la mugre del día —del cuerpo y del alma— y se encuentra un pelo en el jabón…

¡Ah! que desazón y que violencia, que sentimiento de violación a la intimidad de las gotas de agua que están cayendo sobre nosotros.
Es que es tal la relación que se tiene con el jabón, ese pan blanco protector y confidente, que el solo hecho de encontrar un pelo incrustado, cual fosil en piedra, nos recuerda que el vínculo que nos une a él, no es inmaculado.

Más personas frotan su cuerpo transpirado en él.

Y entonces, entre parientes y amigos, empezamos a buscar sospechosos.

Lo medimos, estudiamos su color, ¿rubio oscuro o castaño claro? ¿De qué parte del cuerpo de ese vil rufián será el pelo? Demasiado corto para cabellera de mujer, demasiado largo para pelo de pierna de hombre.

La cadena de deducciones se congela en el cerebro y el estómago se nos revuelve. Con las uñas y precisión quirúrgica nos animamos, lo sujetamos y lo retiramos de su soporte pastoso. Lo sostenemos ante nuestros ojos para examinarlo mejor. Reflexionamos. Una nueva inspección ocular. Parece que sí. Falsa alarma. Se trataba de un pedazo de hilo que se escapó del calzoncillo mientras lo lavábamos rasguñando su textil composición la noche anterior. Ahora sí, fuera de peligro podemos bañarnos tranquilos. Pero… ¿qué sucede? Se terminó el agua caliente.

Diego Sarmentero: Development Journal: Week 12

I have forgotten about this for a while, but I was crazy busy doing the release of "MagneBot" and then I got really excited working on "Into The Light"!

This week was awesome for "Into The Light", I had the script and lots of notes about what I wanted to do with this game, but there were just that: "ideas". Now I'm starting to put the pieces together and make the game a reality.

Here are some videos of the progress for this week:







Also, I have finally created the website for "Mind Echoes"!!
So, it was a really productive week, I learned a lot about lots of stuff and mostly I was able to finish with the mechanics for the player and the flare (probably some improves will be done in the future, but everything working smoothly for now).


Now it's time to start building some levels :D

Roberto Alsina: El Sutil Arte de Citar

Los pe­rio­dis­tas te­le­vi­si­vos sue­len te­ner un cier­to com­ple­jo de in­fe­rio­ri­dad con lo­s ­que me­dios im­pre­so­s. Por eso so­lés ver gen­te que con­du­ce exi­to­sos ci­clos po­lí­ti­co­s ­re­cor­dar que ellos el pe­rio­dis­mo lo ma­ma­ron en la re­dac­ción del se­ma­na­rio "El Man­gru­llo­" ­de Ve­na­do Tuer­to, y que eso de ga­nar mu­cha gui­ta apa­re­cien­do en te­le lo ha­cen por­que no les que­da otra.

De ahí que cuan­do (po­né­le) Ma­jul ha­ce una no­ta y la le­van­ta un me­dio im­pre­so, siem­pre ­la re­twi­tea. Por ejem­plo, acá mues­tra, or­gu­llo­so, que su no­ta es ci­ta­da por el Cro­nis­ta ­Co­mer­cia­l:

Aho­ra bien, si uno va y lee la no­ta... re­sul­ta que di­ce exac­ta­men­te lo con­tra­rio que el tí­tu­lo.

Ci­to la no­ta:

"Con Rabbani no tenemos ningún intercambio de dinero."

Sí ad­mi­te re­ci­bir di­ne­ro de Irán:

Muchas veces las universidades de Teherán contribuían con nosotros y le decíamos "necesitamos tanto para hacer el trabajo religioso"

Sin em­bar­go, Irán no es Ra­bba­ni, y Ra­bba­ni no es Irán. No ten­go idea de si Kha­lil re­ci­be di­ne­ro de ­Ra­bba­ni, y no es de lo que es­toy ha­blan­do en es­te mo­men­to. Lo que sí veo es que no lo di­jo. Y que es­e tí­tu­lo es men­ti­ra, y el tweet es men­ti­ra, y Ma­jul re­pi­te una men­ti­ra.

Y lo ha­ce a sa­bien­da­s.

Co­mo di­ría Luis Ma­ju­l... ¿Que sen­tís, Luis Ma­ju­l?

Roberto Alsina: La Escalada Honestística

Ano­che ví Ani­ma­les Suel­to­s, el pro­gra­ma de Fan­tino. Lo pri­me­ro es fe­li­ci­tar a quien co­rres­pon­da, ­sea Fan­ti­no, Amé­ri­ca TV, o el pú­bli­co, que ha con­ver­ti­do un pro­gra­ma don­de Co­co Si­ly se­guía a­fa­nan­do con "La cáte­dra del ma­cho" ad eter­num en un pro­gra­ma de en­tre­vis­tas po­lí­ti­ca­s.

Se­rá cri­ti­ca­ble, Fan­tino ten­drá la ac­ti­tud en­tre­vis­ta­do­ra más irri­tan­te del uni­ver­so ("ex­pli­ca­me co­mo a un ni­ño" !?!) ­pe­ro es me­jo­r, en el sen­ti­do de más im­por­tan­te, que es­cu­char chis­tes de bo­rra­chos (en el sen­ti­do de chis­tes que pa­re­ce que los con­ta­ra un ti­po bo­rra­cho­).

Más allá del ra­cis­mo oca­sio­nal ("e­so pa­sa en paí­ses co­mo Ugan­da, Ni­ge­ria"), ayer tu­vo do­s en­tre­vis­tas in­te­re­san­tes, una con Er­nes­to San­z, el úl­ti­mo ex­po­nen­te de que eso de que ­la UCR no se do­bla era ver­so, y De Nar­váe­z, el úl­ti­mo mohi­cano me­ne­mis­ta.

Y una de las co­sas in­te­re­san­tes, fue que le pre­gun­tó la mis­ma co­sa a los do­s. ¿Cuán­to­ ­creen que se ro­bó du­ran­te el kir­ch­ne­ris­mo­?.

Pri­me­ro, Sanz ti­ró "más de mil mi­llo­nes de dó­la­res".

Y co­mo de­cir lo mis­mo o de­cir me­nos no tie­ne gra­cia, De Nar­váez salió a es­ca­la­r. Es­ta es la cuen­ta que sacó:

  1. El PBI de Ar­gen­ti­na es 300 mil mi­llo­nes de dó­la­res.
  2. El pre­su­pues­to del es­ta­do na­cio­nal es la mi­ta­d, 150 mil mi­llo­nes de dó­la­res.
  3. Se ro­ba por lo me­nos el 10% del pre­su­pues­to
  4. Se ro­ba­ron 15 mil mi­llo­nes de dó­la­res.

Eso es mu­cho, pe­ro De Nar­váez se ol­vi­dó de mul­ti­pli­car­lo por los años que lle­van en el go­bier­no, con lo que la ci­fra, en rea­li­da­d, se­ría de 180 mil mi­llo­nes de dó­la­res.

Ca­be des­ta­car que eso es sin con­tar co­rrup­ción a ni­vel pro­vin­cial y mu­ni­ci­pa­l, pe­ro­ ­bue­no, no in­fle­mos más de lo que in­fló él.

Lo que cues­ta, tal ve­z, en­ten­de­r, es exac­ta­men­te cuan­ta pla­ta es eso. Así que vea­mo­s al­gu­nos ejem­plo­s.

Con 250.000 dó­la­res te com­prás una lin­da ca­sa, en un lin­do ba­rrio. Esa pla­ta al­can­za ­pa­ra 720.000 ca­sas así. Eso es más que la canti­dad de in­mue­bles de la Ciu­dad Au­tó­no­ma ­de Bue­nos Ai­res.

Se­gún Nordhei­me­r.­co­m, con 1.000.000 de dó­la­res te com­prás unas 150 hec­tá­reas en Car­los Ca­sa­res, ­ple­na pam­pa hú­me­da. Eso quie­re de­cir que con lo que di­ce De Nar­váe­z, se pue­den com­pra­r 27 MI­LLO­NES de hec­tá­reas en la pam­pa hú­me­da. Eso es el 90% de la pro­vin­cia de Bue­nos Ai­res.

En Ar­gen­ti­na ha­y, mas o me­no­s, 40 mi­llo­nes de per­so­na­s. Esa pla­ta al­can­za pa­ra dar­le 4500 ­dó­la­res a ca­da hom­bre mu­jer y ni­ño del país.

Un pa­que­te de 100 bi­lle­tes de 100 dó­la­res (o sea, 10.000 dó­la­res) mi­de 15.24­cm x 5cm x 1.1­cm. ­Si api­la­mos la pla­ta que di­ce De Nar­váe­z, da una al­tu­ra de 198 km.

¡Cla­ro, po­de­mos aco­mo­dar­la me­jo­r! El vo­lu­men de ese di­ne­ro es 1.508.760.000 cen­tí­me­tros cú­bi­co­s, o, re­don­dean­do, un mi­llon y me­dio de li­tro­s. Es de­cir que po­de­mos lle­nar una pi­le­ta olím­pi­ca has­ta ­más de la mi­ta­d, su­po­nien­do que no de­ja­mos nin­gún es­pa­cio en­tre bi­lle­tes.

O, po­dría­mos lle­nar 22.3 con­tai­ners stan­dard de 40 pie­s, si ca­da uno tie­ne un vo­lu­men in­terno de 67,5 me­tros cú­bi­cos co­mo di­ce Wiki­pe­dia.

Un bi­lle­te de 100 dó­la­res pe­sa exac­ta­men­te un gra­mo, así que en to­tal son 1800 to­ne­la­das de di­ne­ro­. ­Pa­ra trans­por­tar ese di­ne­ro se ne­ce­si­tan 3 avio­nes Jum­bo de car­ga.

Aho­ra bien: si real­men­te us­ted cree que Nes­tor y Cris­ti­na afa­na­ron esa canti­dad de di­ne­ro­...

Pién­se­lo, y tra­te de com­pa­ti­li­zar esa canti­dad de di­ne­ro con su teo­ría cons­pi­ra­ti­va de ca­be­ce­ra. En­ton­ce­s, una vez que en­tien­da cuan­to di­ne­ro es es­to­...

  1. Tam­bién creés que lo te­nían/­tie­nen guar­da­do en una bó­ve­da en la ca­sa?
  2. Tam­bién creés que la va­li­ja de An­to­ni­ni Wil­son con 800.000 dó­la­res les im­por­ta­ría?
  3. Tam­bién creés que lo sa­ca­ron en va­li­jas en avio­nes de lí­nea por arre­glos con la adua­na?
  4. Tam­bién creés que ne­ce­si­tan que Báez les pa­gue un mi­llon­ci­to de pe­sos por al­go?

No es­pe­ro que na­die aban­do­ne sus teo­ría­s. Tan só­lo me con­for­mo con que me­jo­ren su con­sis­ten­cia in­ter­na.

GiLgAmEzH: Incognitosis y la PEP8

Hace un tiempo trabajando con fades Facu me propuso "estirar" el "Maximum Line Length" para probar si resultaba un poco más cómodo. A mi me pareció perfecto ya que entiendo que deben quedar muy pocas terminales de 80 columnas. Eso sí antes de dar un paso adelante confirmamos con la PEP8 que se puede llevar hasta 100 caracteres, sin romper esta santa ¿ley?.

Some teams strongly prefer a longer line length. For code maintained exclusively or primarily by a team that can reach agreement on this issue, it is okay to increase the nominal line length from 80 to 100 characters (effectively increasing the maximum length to 99 characters), provided that comments and docstrings are still wrapped at 72 characters.

Así que ahí fuimos. Como yo tengo una linea que me marca ese límite esto fue lo que cambié en mi .vimrc

function! ConditionalLoad()
highlight ColorColumn guibg=PaleTurquoise1
if getcwd() =~ $HOME . "/code/fades/*"
    set colorcolumn=99
else
    set colorcolumn=80
endif
endfunction
autocmd BufRead *.py call ConditionalLoad()
autocmd BufRead *.rst call ConditionalLoad()

El código de esa función es de Facundo.

El punto del cual tomé especial nota es que para los comentarios y docstrings la PEP8 recomienda mantenerse dentro de los 72 caracteres

that comments and docstrings are still wrapped at 72 characters.

Hoy hice click en mi RSS sobre una nota de Incognitosis (a quién normalmente leo por RSS) y me llamó la atención el hermoso diseño del blog. Así que dejé un comentario. Apenas termine de escribir el comentario me acordé de los 72 chars y fui a comprobarlo

/images/javipass_pep8.png

Efectivamente la causa de que el blog de Javi Pastor sea tan cómodo para la lectura es su respeto por la PEP8!!

Ya que estamos les recomiendo que no dejen de prestarle un ojo a Incognitosis, es una de los pocos blogs que llevo años leyendo.

Diego Sarmentero: MagneBot Released!

Finally!! MagneBot is here!!

My first steps in Indie Game development :D

It's a really simple game (simple as in simplicity), but difficult to play to test your reaction skills!


You can get it from:

"Join MagneBot on this crazy surfing experience through the space station!

What is at the end of the tunnel in this space station?
No one knows, but you can be sure that MagneBot is going to try to find out!!

Help MagneBot collect as much power as you can, but be careful, nothing is as easy as it looks.
Also... Why is MagneBot in his underwear? Dude, get some pants!"