Mariano Reingart: Diplomatura abierta en Software Libre


El año pasado se inició la Diplomatura en Software Libre que impulsamos en la Universidad del Este (La Plata). La primer promoción de estudiantes ya completaron los cursos, destacándose académicamente los siguientes trabajos finales integradores:
Felicitamos y agradecemos a todos los participantes (tanto estudiantes como docentes, tutores colaboradores, personal de la universidad y ONGs: SoLAr, CAdeSoL, FACTTIC) que hicieron posible la primer edición.
Como contribución a la comunidad y para aquellos interesados, a continuación se detalla más información sobre la misma, incluyendo la Edición 2016 que está comenzando este mes (próximo encuentro 14/05).
Organización
La diplomatura son cursos de extensión universitaria orientados a un público en general (estudiantes, docentes, desarrolladores en empresas públicas o privadas y miembros de la comunidad), y no requiere experiencia previa en estas tecnologías. Por ello, abarca distintos módulos con contenidos para cada nivel (desde principiantes a usuarios intermedios/avanzados) y se distribuyen en una serie de 8 cursos a lo largo de un año para contemplar la dedicación mínima necesaria.

Primer cuatrimestre (Mayo, Junio, Julio, Agosto):

Seminario Sw. Libre
(1 mes)
Bases de Datos PostgreSQL
(1 mes y medio)
Redes de computadoras GNU/Linux (1 mes y medio)
Programación I Python
(4 meses)

Segundo cuatrimestre (Septiembre, Octubre, Noviembre, Diciembre):

Ingeniería de Sw. Libre (1 mes)
Sistemas Operativos GNU/Linux
(1 mes y medio)
Desarrollo Web HTML web2py
(1 mes y medio)
Programación II C C++ Python
(4 meses)

Los temarios tentativos y planificaciones iniciales pueden descargarse desde nuestro portal, con información sobre los objetivos, unidades temáticas (generalmente una por semana), metodología, criterios de evaluación, actividades, referencias y bibliografía.

Son 4 cursos por cuatrimestre, pero el único en paralelo es el de programación (contemplando los tiempos necesarios para presentar los contenidos y reforzar conocimientos de aquellos que no tengan una base en estos temas).
Los encuentros presenciales son un sábado vez por mes (opcionales) y la mayor parte de los trabajos y prácticas se realizan a distancia por el campus virtual u otros medios.

Los contenidos por el campus virtual son para una cursada completamente "asincrónica" según la disponibilidad del estudiante (documentos PDF de lectura, enlaces páginas, foros y actividades que no requieren un horario específico). Eventualmente se coordinan sesiones de chat o hangouts para tratar algún tema en particular.

Académicamente, la carga horaria aproximada mínima es 4 hs de dedicación por semana por curso, más los encuentros presenciales y desarrollo de trabajos prácticos.

Encuentros Presenciales:
Se llevan a cabo 8 encuentros presenciales (optativos y recomendados), donde se dictan clases presenciales y talleres sobre los módulos de cada mes, generalmente en cuatro tramos (horario de 8.00 a 16.00):
  • Presentación expositiva de los temas teóricos
  • intervalo (café) 
  • Trabajo práctico individual y grupal en PC
  • almuerzo libre
  • Laboratorio de programación en PC
  • intervalo (café)
  • Actividad sobre el trabajo final integrador y cierre
Frecuentemente las charlas en los intervalos y almuerzo complementan la parte académica con interesantes debates sobre temas de actualidad relacionados al software libre, aportando experiencias y reflexiones útiles sobre muchos de los contenidos teóricos, en un ambiente distendido, cordial y ameno.
Materiales libres y abiertos:
Todos los contenidos están fuertemente orientados al Lenguaje de Programación Python, por lo que se utiliza el material de Algoritmos y Programación I (Apunte FIUBA)

También como referencias se pueden ver algunas presentaciones Universidad Carlos III de Madrid (OCW UC3M) y la documentación oficial / sitios de las comunidades locales, como Python ArgentinaPostgreSQL Argentina, web2py, etc.
Para los estudiantes más avanzados, se incluyen artículos optativos sobre el kernel de linux, optimización de consultas, firewalls, etc.

Como complemento se recorren apuntes propios y trabajos académicos (desarrollados al cursar la Maestría de Software Libre de la UOC):
Para el curso "Ingeniería del Software Libre" se presentan metodologías ágiles ("Scrum y XP desde las Trincheras"), el Proceso de Software Personal (materiales de estudio autodidacta), entre otros materiales y recursos.
A modo de ejemplo, se utilizan como referencia varios de los temas investigados en mi tesis de la maestría: "Desarrollo rápido de software libre de alta calidad", entre otras lineas de trabajo.
Actividades y Trabajos Prácticos:
Para una cursada más dinámica y flexible, adaptamos la mayor parte de las actividades optativas para ser realizadas por el Campus Virtual de la Universidad, mediante los Foros y en ocasiones Wiki / Glosario. Este año planteamos incrementar el uso de las herramientas de Cuestionarios de Auto-Evaluación y Chats para mejorar las cuestiones de virtualidad y seguimiento.

En el campus de la universidad se desarrollan debates diversos, por ej: "Licenciamiento de Software (Libre)", "Estructura y funcionamiento de internet", "Comparativas entre motores de bases de datos", etc. También aquellos estudiantes que lo crean conveniente, pueden publicar internamente sus exámenes resueltos para compartirlos y discutir las alternativas / correcciones, comentar dudas, etc.

Se proveen ejercicios modelos y ejemplos concretos, como la Bases de Datos Dell DVD Store 2, tutoriales de programación, sitios y herramientas interactivas, etc.

Estamos analizando materiales de estudios de reconocidos MOOCs y certificaciones, avanzando en contenidos comunes que permitan a los estudiantes certificarse luego en esas tecnologías.

Para las prácticas más técnicas (programación, bases de datos, redes/sistemas operativos) hemos implementado un "Laboratorio Virtual de Software Libre" en un portal educativo abierto a la comunidad: www.softwarelibre.org.ar/moodle
Utiliza el módulo "VPL" de Moodle para facilitar las entregas y corrección automatizada ágil, completamente online (con editor de texto, consola de ejecución y depuración completamente vía web, para poder experimentar libremente sin riesgos y sin necesidad de instalar las herramientas en la PC):


En este sentido, estamos avanzando en un curso comunitario masivo y en linea para enseñar programación de computadoras ("Python para Zombis": documento de trabajo y presentación resumen), traducción al Español de materiales como Python Module of The Week, etc. Ver abajo los exámenes resueltos con más información al respecto.

Obviamente al ser una diplomatura en Software Libre, el código fuente resultante de las prácticas es trabajado y se publica de manera abierta en el repositorio en GitHub:  https://github.com/UniversidadDelEste
Exámenes:
Las actividades de evaluación son mixtas, con estrategias tradicionales y alternativas más modernas (incluyendo multimedia), buscando un aprendizaje critico, constructivo y significativo. Se contemplan tanto el desarrollo y participación en el campus / encuentros, como el resultado final.
Generalmente se realizan a distancia vía un examen domiciliario (con entrega por el Campus Virtual):
  1. Seminario de Software Libre: investigación-acción sobre Wikipedia (PDF)
  2. Bases de Datos PostgreSQL: desarrollar un mini-proyecto sobre datos abiertos (PDF)
  3. Redes de computadoras GNU/Linux: redactar un capítulo/sección de libro libre (PDF)
  4. Programación I Python: desarrollar una actividad de evaluación automatizada (PDF)
  5. Sistemas Operativos GNU/Linux: presentación multimedia sobre temas a elección (PDF)
  6. Desarrollo Web: trabajar sobre una aplicación web2py o similar (PDF)
  7. Programación II C+Python: analizar el proyecto hello de la Free Software Foundation  (PDF
  8. Ingeniería de Software Libre: trabajo final en forma de artículo (PDF)
Si bien hay fechas limites, los estudiantes pueden determinar su propio ritmo de cursada y entrega de actividades, dentro de los limites razonables de cada curso (procurando trabajar en grupo y con acompañamiento docente adecuado).

En la carpeta pública se encuentran ejemplo variados de exámenes de programación resueltos (Python), desde ejercicios simples (PDF, ODT), intermedios (ODT, ODT) y más avanzado (PDF). Además de servir como evaluación, documentan la configuración de una actividad automatizada en la plataforma Moodle (VPL: Laboratorio Virtual de Programación, ver arriba) que puede ser útil como tutorial para otros docentes.
También se pueden mencionar exámenes resueltos de bases de datos PostgreSQL (sobre datos abiertos y públicos): "Encuesta Nacional de Gastos de los Hogares " (PDF), "Elecciones CABA 2013" (PDF), "Censo Hogares y Viviendas" (PDF), "Cajeros Automáticos CABA" (PDF) y "Trabajo Práctico" (ZIP), entre otros.

Gracias a los alumnos por compartirlos dentro de los lineamientos de la dipolomatura para generar recursos educativos libres y abiertos.
Recordar que son documentos académicos preliminares (pueden no estar realizadas las correcciones y observaciones realizadas por los docentes), y revisar la licencia de publicación.

Edición 2016:


Para 2016 esta abierta la inscripción

http://ude.edu.ar/extension/diplomaturas/software-libre-combinada/

También buscamos profesores y tutores que estén interesados en colaborar con el equipo docente (para más información ver propuesta académica completa)
Proximamente se publicará un repositorio institucional con todos los trabajos académicos, y anunciaremos más novedades (invitados, eventos, etc.) vía @softlibre y en el portal.
Desde ya se agradece difusión y toda sugerencia es bienvenida

Juanjo Conti: Goodreads review: Ficciones (Jorge Luis Borges)

Después de escuchar las 4 clases de Piglia sobre Borges que me recomendó mi amigo Leandro, me dieron ganas de ponerme al día/de ordenar mis lecturas de Borges. Empecé por Ficciones, su libro de cuentos más famoso.

Lo escuché en YouTube: https://www.youtube.com/watch?v=r5I3l...

Marqué con un + los que me gustaron, con un - los que no y con un * los que me fueron indiferentes. También agrego una línea sobre lo que me dejó el cuento o sobre qué entendí que decía.

FICCIONES

El jardín de senderos que se bifurcan (1941)
Prólogo
+ Tlön, Uqbar, Orbis Tertius 2:13 - El mundo será Tlön. Piglia lo nombra bastante y comenta obras que influenció, por ejemplo Nota al pie de Rodolfo Walsh y El hombre en el castillo de Philip K. Dick.
+ Pierre Menard, autor del Quijote 45:31 - Habla sobre la labor de traducir.
* Las ruinas circulares 1:09:47 - Un clásico de Borges cuya idea central tenía bastante presente, aquella de la pregunta ¿somos o somos el sueño de otro hombre?
- La lotería en Babilonia 1:25:37
- Examen de la obra de Herbert Quain 1:43:22
+ La Biblioteca de Babel 1:56:39 - Me gusta por lo matemático y por que usa el verbo "computar".
* El jardín de senderos que se bifurcan 2:19:07 - Un poco pesado.

Artificios (1944)
Prólogo 2:47:08
+ Funes el memorioso 2:50:04
- La forma de la espada 3:10:08
+ Tema del traidor y del héroe 3:22:59 - Excelente historia en la que en apariencia la historia copia a la historia y para peor a la literatura.
+ La muerte y la brújula 3:32:15 - En las clases de Piglia se habla bastante de este cuento policial en el que aparece una Buenos Aires deformada.
+ El milagro secreto 3:59:15 - Un cuento sobre un condenado que recibe un año de gracia.
- Tres versiones de Judas 4:15:36 - Demasiado teológico y complejo.
+ El fin 4:28:44 - La muerte de Martín Fierro. Este lo habíamos leído en la secundaria. Recuerdo comentarlo con Joel y Alejandro.
- La secta del Fénix 4:35:25 - Creo que es el más corto del libro. Habla sobre la procreación, aunque no lo entendí a la primera.
+ El Sur 4:42:54 - Me recordó La noche boca arriba de Cortazar, aunque no se si lo habría entendido así sin haber escuchando antes la explicación de Piglia.

Rating: 4/5

Original: https://www.goodreads.com/review/show/1615776907

Mariano Guerra: Papers of the Week II

In my continuous attempt to see how far I can count in roman numerals here is the second week, still going, still 5 papers.

The one I liked the most was "The Dataflow Model..." mainly because it fired some ideas related to a problem I'm trying to solve.

The others were also good except "Reimplementing the Cedar File System Using Logging and Group Commit", mainly because it wasn't what I was expecting it would be.

Read this week: 5

Total read: 10

In the Queue: 61

Juanjo Conti: 1er meetup de Python en Santa Fe

Cómo surgió

Durante 2006, 2007 y 2008 se llevaron a cabo en la UTN de la ciudad de Santa Fe tres eventos denominados "Python en Santa Fe".

Para muchas personas de la ciudad y alrededores fue su primer contacto con el lenguaje, incluso con la programación.

Luego de eso, las actividades relacionadas con Python llevadas a cabo por porsonas de la ciudad se fueron canalizando a travéz de PyAr, el grupo de usuarios de Python Argentina y si bien nos encontrábamos en eventos a nivel nacional en distintos puntos del país (PyCons, PyCamps, PyDays) casi no nos volvimos a juntar.

El año pasado se empezó a usar mucho la plataforma de meetup.com en la ciudad (hay por ejemplode Ruby, de JavaScript, de Postgres...). Lo que me gusta del esta es que te permite descubrir comunidades que no conocías y que se reúnen en tu misma ciudad (lo que implica conocer nuevas personas, proyectos, etc...).

Fue por eso que hace un par de meses, sin muchas expectativas, cree el Meetup de Python en Santa Fe. Rápidamente llegamos al límite del plan gratuito de 50 miembros y pedí ayuda a la Python Software Foundation para tener una cuenta paga. Luego de aceptar las solicitudes pendientes llegamos a 66 pythonistas en Santa Fe y ya no pude huir del peso del deber: le puse fecha a nuestro primer evento. Uno de los asistentes se encargó de hablar con la gente de un bar y todo estuvo listo.

La idea del primer meetup fue entonces un encuentro social, sin charlas ni slides.

La meetup en sí

La meetup fue muy distinta a lo que me había imaginado que sería.

Habían confirmado unas 17 personas. A muchas de ellas no las conocía. Pensé encontrarme con muchos programadores Python. ¿Podría ser posible esto? ¿Gente que no esté en la lista de PyAr? ¡Hasta había preparado una pequeña encuesta!

No fue así.

  • Más de la mitad faltó sin avisar.
  • De los programadores que fueron, los conocía a todos.
  • Fue gente que sabía poco de programación, pero estaba muy entuciasmada en participar.

Esto último fue lo mejor. Hablamos de dos temas principalmente y de cómo podíamos ayudar con Python. Uno fue arte digital y el otro el banco de alimentos que se está por abrir en la ciudad.

Tal vez pronto surgan novedades de alguna actividad interdiciplinaria relacionado a estos temas.

PyConAr

En un momento de la meetup fuimos intervenidos :) Llegaron tres miembros de la cooperativa Coprinf y nos contaron sobre la organización que se está llevando a cabo para la próxima PyConAr que va a ser en Bahía Blanca y está organizada por un conjunto de cooperativas.

Nos contaron que la idea es que este año el foco esté en la comunidad (en contraste a la anterior que se sintió demasiado empresarial) y en esta línea una de las ideas es que haya un colectivo que salga del norte, pase por varios lugares donde haya comunidades (incluído Santa Fe) y llegue hasta Bahía Blanca.

Se quedaron casi una hora y estuvo re bueno que pasen.

El lugar

Un apartado especial para el lugar.

La música estaba un poco más fuerte de lo deseado y hasta toco una banda. Tenías que arrimarte para escuchar lo que estaban diciendo en la otra punta de la mesa.

Las luces y la ambientación estaban buenas. Nos gustaron unas pinturas en las paredes que cambiaban de color con la luz e incluso vimos cuando las seguían pintando en vivo.

Como nota de colar, la pizzeada no fue tal ya que el bar se había quedado sin pizzas. Nos trajeron unas picadas que si bien estuvieron ricas, terminaron costando un poco más que el precio que nos habían dado para la "pizza libre".

Mariano Guerra: Papers of The Week I

This is an attempt to treat what I would call acolyer's syndrome which is the gilt felt by people that would like to read papers as often as Adrian Colyer but never do.

So I will blog the ones I read here to try to follow Jerry Seinfeld's Productivity Secret

I will blog weekly because I won't read a paper a day, but I will try to read around 4 or 5 papers a week if they are around 12~15 pages, if they are longer I will read less.

The initial topics are stream processing systems and distributed systems, I will follow the references that I find interesting to inform future papers.

I will also read papers that I find interesting as I go.

ok, without further ado, here are the ones I read this week.

Related to stream processing:

Clasics I wanted to read:

In queue: 33

Juanjo Conti: El asado de los reyes (audio)

En la última clase del taller la profe cerró la clase leyendo un cuento de mi último libro.

Tuve suficiente reflejos como para apretar rec en el celular, así que se los comparto:

(de fondo se escucha el ruido de la lluvia)

(la profe enfatiza las palabras ritual y rictus porque fuero palabras que estuvimos mencionando en la clase)

Facundo Batista: Algunos te pedimos perdón


Si el agua que tomo se pudre, se pudre, me pudro por dentro también.
Si el aire que respiro se pudre, se pudre, se pudre mi forma de ser.

Agoniza montaña vacía de su mineral, de su corazón.
La represa que linda energía se muere otro río, se muere la vida.

Pachamama, Madre Tierra, Madre de todos los colores.
Pachamama, Madre Tierra, Madre de todos los sabores.

Hay bosques que daban oxígeno y sombra y ahora ya ni se ven.
La Tierra se retuerce por dentro y hay tantas flores que ya no crecen.

Pachamama, Madre Tierra, Madre de todos los colores.
Pachamama, Madre Tierra, Madre de todos los sabores.

Algunos te pedimos perdón.

("Pachamama", Arbolito)

Juanjo Conti: Taller El brillo de la palabra, año 5, clase 3

Clase 1: http://www.juanjoconti.com/posts/taller-el-brillo-de-la-palabra-ano-5-clase-1/

A la clase número dos no pude venir, pero me mandaron la tarea por mail:

Estás leyendo una historia que no sabés bien si te gusta, pero te atrapa. No puedes dejar de leer; las imágenes y las palabras resuenan en tu interior. Hay algo en la historia que parece pertenecerte y ya no puedes abandonar la lectura. En un descuido, el libro te rapta y terminás convertido en un personaje más de lo que allí se cuenta. Imagina la historia, la escena y tu actuación en ella.

Iba a hacer dos, pero termine respondiendo a los dos enunciados con el mismo texto:

Tarea del talle: el ombligo

La tarea consiste en escribir una historia sobre un hombre que, de tanto mirarse el ombligo, este se lo termina tragando.

Recientemente leí un cuento de Casciari en la que un chico, luego de hurgar y hurgar en su ombligo, finalmente encuentra un interruptor, que le permite detener el tiempo. Luego de este descubrimiento, la historia sigue con descripciones de sucesos que van desde su infancia hasta una vida adulta de fama y renombre, siempre haciendo trampa con su pequeño secreto. Estoy tan influenciado por este relato que no puedo pensar otro que involucre a un hombre y su ombligo.

Entonces, pienso en otros que puedan servir a mi trama: Cuzco, la ciudad peruana, el “ombligo del mundo” según los incas; el ombligo de una naranja que, impávida, cuelga de su árbol; un gordo tatuado que le inserta un piercing de plata a mi hija en el futuro.

Puedo hablar de una ciudad que no conozco, de la fruta que un aprendiz de pintor arranca de un árbol para su primer ejercicio o de un futuro imaginario en el que un pequeño anillo de metal desata el conflicto.

Una ciudad, una fruta, un anillo.

Y como un mago que hace ademanes con la mano derecha, puedo usar la izquierda, que no estás mirando, para completar el truco.

Y como una persona elegida al azar de entre el público, puedo caer en mi misma trampa. Y yo, que no quería copiarle la trama al escritor, hago algo peor y soy su personaje.

Hurgo en mi ombligo y vuelvo a accionar el interruptor. El tiempo vuelve a fluir. El resto de la clase vuelve a tener movimiento, a hablarme, a preguntar por mi tarea. Yo los miro, carraspeo un poco y leo las líneas que acabo de escribir.

https://docs.google.com/document/d/143nguHJ56oL0TvmV9enbYy07ew3FukuBHhSjD_HuQRg/edit?usp=sharing

Cosas a buscar

  • Proust: el libro como instrumento óptico
  • Un elefante ocupa mucho espacio (cuento), Elsa Bornemann

Libros mencionados en clase

  • Fábulas salvajes, Marcelo Birmajer

Tarea

Mito, literatura y rito.

Escribir un texto que haga alución a una suerte de ritual. Ritual: ceremoña o cosutumbre que se repite de forma invariable de acurdo a un conjunto de normas ya establecidas. Todo rito es simbólico y suelen expresar el contenido de algún mito. Hay ritos festivos y solemnes. También hay mitos modernos, mitos en el cine, en el deporte... pensar de forma amplia.

Marcos Dione: seeing-Corsica-from-France

Yesterday I climbed Cime du Cherion and to my surprise I saw Corsica[0]. Then a friend of mine pointed me to an article explaining that if you manage to see the island from the coast is because a mirage in a dry air layer 1000m high due to the Föhn's effect. It's notable that the French Wikipedia article about this effect is way more complete than the English one.

Punta Minuta (2556m) is one of the highest points in Corsica close to the northwestern coast. Cime du Cherion is 1778m. The distance between them is[1]:

surface_distance= 225.11km

Earth's mean radius[2] is:

km_per_radian= 6371km

which is also by definition the length of a radian on the theoretical surface of the Earth[3]. Those two mountains are then separated by an angle of:

alpha= 225.11km/6371km= 0.035333 radians.

or a little more than 2°[4]. According to this, the sagitta is then:

sagitta= km_per_radian*(1-math.cos (alpha/2))= 0.994215km, or 994.215m.

This means that is is possible to see the last 1.5km of Punta Minuta from Cime du Cherion and almost anything above around 1000m, which is quite a lot of Corsica, but definitely not what I saw.

In conclusion, we were both right, but him more than me :) And yes, I'm ignoring there is an angle between both points; if we take that in account and assume that Cime du Cherion is at 0°, then the projection of Punta Minuta over the secant that passes through those points is:

projection= math.sin (0.035333)/0.035333*2556m= 2555.46m

A little over half a meter :) Doesn't really change much in the calculations.

Last, a graph showing the height of the sagitta in function of the distance, quite surprising!


[0] Name in corsican :)

[1] Measured with marble.

[2] From the same page, polar radius is 6356.8km and equatorial is 6378.1km. We're measuring points between 42°20' and 43°50'N, so using the median is not that crazy.

[3] Don't go there.

[4] Another fun fact: 1° is about 111km.


misc