Mariano Draghi (cHagHi): Otra América

Como me gustaría conocer una realidad alternativa en la que las tres caravelas de Colón se hunden en el Atlántico antes de llegar a América. Y los pueblos nativos ganan unos 100 años más para prosperar mientras Europa sigue sumergida en el retroceso, el oscurantismo y la parálisis intelectual de la Edad Media. Siento que si América hubiera sido “descubierta” un poco después, la historia podría haber sido completamente diferente. Y mucho mejor para todos.

Machu Picchu desde Intipunku
Machu Picchu desde Intipunku

Mariano Draghi (cHagHi): Otra América

Como me gustaría conocer una realidad alternativa en la que las tres caravelas de Colón se hunden en el Atlántico antes de llegar a América. Y los pueblos nativos ganan unos 100 años más para prosperar mientras Europa sigue sumergida en el retroceso, el oscurantismo y la parálisis intelectual de la Edad Media. Siento que si América hubiera sido "descubierta" un poco después, la historia podría haber sido completamente diferente. Y mucho mejor para todos.

Machu Picchu desde Intipunku

Machu Picchu desde Intipunku

Mariano Draghi (cHagHi): Tarde gris acompañado por The Shining

Excelente tarde para leer The Shining. Hacía ratazo que me debía los clásicos de King. Es muy loco, porque Stephen King es uno de mis autores preferidos, y he leído muchas, muchas novelas y cuentos suyos, pero por alguna razón, la mayoría de sus grandes clásicos, esos que lo hicieron famoso, no. Siguiente en la cola: It.

The Shining

Y hablando de The Shining: no me puedo sacar de la cabeza al Jack Torrance interpretado por Jack Nicholson. Y es una pena, porque si bien la película (y la actuación de Nicholson) en su momento me gustó y me impactó mucho, cuanto más avanzo con la novela, más me doy cuenta lo mucho que quedó afuera, y más siento que Kubrick no supo o no pudo reflejar lo que le pasa por dentro (sí, ya se que no debe ser fácil...) a Jack Torrance, que es mucho más profundo e interesante que las espeluznantes caras de loco desquiciado de Jack Nicholson, que tal vez es lo que uno más recuerda de la película.

No hay caso, de las novelas y cuentos de King que fueron llevadas al cine o a la TV, y que he leído y visto, la única novela cuya adaptación cinematográfica más o menos refleja algo de la riqueza interior de los personajes que King construye es The Green Mile (Milagros Inesperados).

Mariano Draghi (cHagHi): Tarde gris acompañado por The Shining

Excelente tarde para leer The Shining. Hacía ratazo que me debía los clásicos de King. Es muy loco, porque Stephen King es uno de mis autores preferidos, y he leído muchas, muchas novelas y cuentos suyos, pero por alguna razón, la mayoría de sus grandes clásicos, esos que lo hicieron famoso, no. Siguiente en la cola: It.

The ShiningY hablando de The Shining: no me puedo sacar de la cabeza al Jack Torrance interpretado por Jack Nicholson. Y es una pena, porque si bien la película (y la actuación de Nicholson) en su momento me gustó y me impactó mucho, cuanto más avanzo con la novela, más me doy cuenta lo mucho que quedó afuera, y más siento que Kubrick no supo o no pudo reflejar lo que le pasa por dentro (sí, ya se que no debe ser fácil…) a Jack Torrance, que es mucho más profundo e interesante que las espeluznantes caras de loco desquiciado de Jack Nicholson, que tal vez es lo que uno más recuerda de la película.

No hay caso, de las novelas y cuentos de King que fueron llevadas al cine o a la TV, y que he leído y visto, la única novela cuya adaptación cinematográfica más o menos refleja algo de la riqueza interior de los personajes que King construye es The Green Mile (Milagros Inesperados).

 

Diego Sarmentero: NINJA-IDE 2.3 RELEASED - Restore your settings

NINJA-IDE 2.3 has been released!!!
We have made lot of improves and this release was intended to make available some of the new fixes and improves (and some really small features) that we have made in order to prepare our code to be merge with the new architecture of NINJA-IDE :D
We have been working in a really AWESOME architecture that will make NINJA-IDE really solid and easy to code, and also really easy for new comers to figure it out how the code work and start adding things.


Restore your Settings

With this new version we have made some improves in how the NINJA-IDE settings are stored in your machine, this change was trivial for Linux systems, because they were already working in this way, but important for Mac OS and Windows where the settings were stored in the default Qt way, and this was confusing for some users.
From this moment, all the NINJA-IDE settings in every platform are stored in a .INI file in the same folder where the plugins, themes and schemes of NINJA-IDE are downloaded ("[HOME]/.ninja_ide", being [HOME] what each OS understand for that).
The things is: For NINJA-IDE the Settings are not longer in the same place, so you may notice that you no longer have your IDE properly configured (or your projects remembered) when you open NINJA-IDE (sorry, my bad).

DON'T WORRY!! Nothing is lost!!
If you are on linux, there is an easy way to retrieve your settings.
With NINJA-IDE closed, execute the following command in a terminal:

$ cp ~/.config/NINJA-IDE/NINJA-IDE.conf ~/.ninja_ide/settings.ini

If you are on Windows or Mac OS, this is not an easy task, but we will release a simple script tomorrow to do the job!


Hope you enjoy this new version, and be prepare, because we have a lot of awesome things coming!!

Joaquin Tita: Converting unicode date to datetime object.

In a django template i had something like:

value="{{ query_date|date:'%d/%m/%Y' }}"

And in my view i wanted a date not an unicoded date.
So i did this in a view to parse the unicode and convert it to datetime object. 

from datetime import datetime
query_date_obj = datetime.strptime(query_date, "%d/%m/%Y")

Ciao!

Mariano Reingart: Software Libre aplicado en materias de Analisis de Sistemas y Redes Informaticas

Asignaturas Ciclo Lectivo 2013

Este año, en el Instituto Tecnológico Blaise Pascal estoy dando las siguientes materias, en las cuales usamos software libre como eje de los contenidos:
  • Bases de datos: Modelo Entidad Relación; Modelo Relacional; Lenguajes de de consulta (SQL y Algebra Relacional). Administración y Optimización. Herramientas: PostgreSQL
  • Sistemas Operativos: conceptos básicos e interprete (shell) GNU/Linux; Sistemas de Archivos. Procesos, sincronización e intercomunicación. Manejo de Memoria. Primitivas. Herramientas: Debian/Ubuntu y Python
  • Interconectividad (Redes):  Modelos de Referencia OSI. Ethernet. Pila de Protocolos TCP/IP. Sockets. Aplicaciones. Configuración y administración de routers y gateways. Herramientas: Debian/Ubuntu y Python (entre otras)
  • Práctica Profesional (proyecto final de carrera): Gestión de proyectos. Ingeniería de Software. Herramientas: Python, Mercurial, web2py, PostgreSQL
En las páginas respectivas podrán encontrar la información completa, incluyendo un resumen de la planificación anual, programa de contenidos, referencias bibliográficas, prácticas y modelos de examen.

Las materias corresponden a la "Tecnicatura Superior en Analisis de Sistemas" (Resolución Nº5817/03) y "Tecnicatura superior en Redes Informáticas" (Resolución Nº6164/03).
Junto a otras como Programación I y II dictadas por otros profesores, se inscriben en el Proyecto Curricular Institucional orientado al software libre, en el cual venimos trabajando desde 2010 entre docentes y directivos para organizar y profundizar los contenidos teóricos y prácticos.

"Bases de Datos" no ha sufrido modificaciones significativas desde 2009.
La materia E.D.I. 3, que daba desde 2009 a 2012, se unificó en "Práctica Profesional".  Aquellos alumnos que vayan a rendir el final, por favor contactar con la nueva profesora ya que deben estudiar los contenidos de este año.

Pueden ver algunos proyectos de "Práctica Profesional" del año anterior en el sitio de PyCon Argentina 2012 (Póster de trabajos estudiantiles) y en el repositorio público de la materia.

Referencias bibliográficas libres

La mayoría de los materiales de consulta utilizados son libre y abiertos, pudiendo citar principalmente:
  • Máster Universitario en Software Libre (Universitat Oberta de Catalunya): Si bien es una carrera de postgrado, los contenidos seleccionados son adecuados al nivel terciario y muy bien organizados. La modalidad "virtual" a distancia de la UOC ayuda a una estructura de los documentos simple y gradual, facilitando la lectura y práctica auto-dirigida por parte del alumno, para complementar y profundizar los temas presentados en clase. Además de los contenidos básicos, incluyen lecturas adicionales muy relevantes. Los materiales docentes y programas de estudio pueden consultarse en el sitio  UOC OpenCourseWare. Licencia del sitio: CC BY-NC-SA. Licencia de los documentos: GNU FDL.
  • Proyecto Alqua.org (editorial virtual libre): "Alqua es una comunidad dedicada a la recopilación de libros y material libre. En concreto, han publicado varios libros y manuales de física, matemáticas e informática, que se pueden descargar, modificar y copiar libremente". Los libros son más que nada apuntes de algunas materias, pero lamentablemente algunos han sido retirados por no estar terminados o corregidos. Licencia de los documentos: CC BY-NC-SA
  • Luis Miguel Armendáriz (Güimi): "Elaboración propia utilizando principalmente apuntes de trabajo, de distintas asignaturas universitarias, trabajos del profesor Montañana publicados en RedIRIS y artículos de la wikipedia (http://www.wikipedia.org)". Recopilaciones muy interesantes y completas para utilizar como material de consulta. Licencia del sitio y los documentos: CC BY-SA. Ver su página de documentación para el listado completo.
  • Latinux Press: "Consorcio de Cooperación Internacional que impulsa y desarrolla soluciones basadas en Software Libre y Tecnologías Abiertas". Traducción del libro de web2py al español.
  • Grupo de Usuarios de PostgreSQL Argentina: El sitio incluye una recopilación de articulos y traducciones del manual oficial, que fuí realizando en estos años para la materia Bases de Datos. Ver sección Documentación para más información.
Adicionalmente, los siguientes recursos también han sido útiles (aunque no son usados directamente en estas materias):

    Temas a futuro

    • Traducción de la Documentación oficial al Español (Python y PostgreSQL principalmente, las man pages ya están traducidas -la mayoría...-): si bien el inglés es la "lingua franca" en estos temas de tecnología, sería importante tener los manuales oficiales traducidos, sobre todo porque las materias se dan al mismo tiempo que "Inglés Técnico" y por consiguiente puede llegar a ser una complicación, mas que nada si los alumnos usan la traducción automática de google que en la mayoría de las veces es muy imprecisa. En algún momento espero poder retomar la propuesta de internacionalización par Python como punto de partida, y volver a colaborar más activamente con las iniciativas de traducción existentes para PostgreSQL.
    • En el mismo sentido, sería interesante una adaptación de algunos materiales mencionados para el lenguaje Python, unificando los contenidos ya que actualmente estan basados en Java, C o Pascal. También sería útil completar algunos temas (como normalización de bases de datos), de los cuales todavía no se encuentra documentación libre y abierta en castellano. 
    • Python y PostgreSQL tienen herramientas y entornos de desarrollo simples como IDLE y PgAdmin3. Si bien son suficientes para presentar los contenidos de la tecnicatura, posiblemente sería conveniente mejorarlos aún más para que sean más simples y útiles para otros tipos de público. En este sentido, ver el proyecto rad2py en el que busco integrar de los temas de programación (y depuración y diseño de interfases), bases de datos y práctica profesional (repositorios, calidad, etc.). 
    • En paralelo, también estoy trabajando en proyectos como gui2py (fork renovado de PythonCard para desarrollo de interfases visuales), y en seguir mejorando web2py, ambos diseñados no solo para ser utilizados con fines educativos, sino también para brindar herramientas completas más amigables para aquellos que vienen desde otros lenguajes (PHP, Visual Basic, Delphi, etc.) y quieren dar sus primeros pasos con Python.

    Gustavo Campanelli: Lecciones aprendidas en EVE Online

    Eve Online es un juego muy especial, donde si bien los errores cuestan, es posible recuperarse. Para progresar en el juego hay que recordar que cada equivocación es una posibilidad de aprendizaje. Es por eso que me gustaría comentarles algunas de las lecciones aprendidas en Eve Online. Algunas de estas cosas las aprendí por experiencia propia, otras por escuchar a otros. 1) Tomar precauciones en

    Joaquin Sorianello: El pequeño imcomprendido

    Este post podría hablar de mi mismo, de los problemas que creo que tengo para lograr que otras personas me entiendan, pero no, eso lo dejo para otro día, o mejor para el diván.

    Hoy revisar un poco sobre otro pequeño incomprendido, que comparte mis iniciales: JavaScript

    Un poquito de historia

    JavaScript fué creado en Netscape por Brendan Eich. Querían un  lenguaje interpretado fácil de aprender, en cierta forma, como Visual Basic. El nombre en clave era "Moca", pero como en ese momento estába de moda Java, le pusieron JavaScript. Esa fué, en mi opinión  uno de los principales vectores de la confusión e incomprensión que sufre el lenguaje. Si querés aprender y no sabes la diferencia, podes llegar a seguir un tutorial complejo de Java por error, y los lenguajes, en si, solo comparten cierta sintaxis heredada de C.

    Según cuenta la leyenda, a javascript lo crearon entre gallos y madrugada, y como estaba aparentemente listo y completo, lo metieron en Netscape, así como estaba. No es que JavaScript no sea un lenguaje de programación "turing completo", es que hay algunos comportamientos que son distintos de lo que un programador con cierta experiencia podría esperar.

    Como lo viví yo.

    Si bien mi primer lenguaje fue Logo, allá por 1994, y tuve pasos fugaces por Visual Basic y C++, mi romance mas fuerte fue con python. Python es un lenguaje lindo, es  como una chica linda, inteligente y comprensiva, que te ayuda a que programar, te avisa cuando estas haciendo burradas, y por lo general es sincera con vos. Esas "bondades" hacen que uno analice muchos aspectos de otros lenguajes de programación. Desde ese punto de vista, JavaScript es horrible, criptico, e impredecible. 
    Pero siempre en la vida de un programador, por necesidad, o eventualidad tenes que escribir código PHP
    (que tire la primera piedra quien esté libre de PHP...) y ahí la visión cambia. PHP es como el estereotipo de minita, es lo que quiere el mercado, cuando las cosas no andan bien no te dice nada, cuanto mas lo conoces mas de mentira te das cuenta que es, y termina siendo una relación dolorosa (Por ahí para PHP no porque es bien minita). Desde esa comparación, JavaScript queda bien parado. Vendría a ser el lenguaje mas humano posible, con sus idas y vueltas, pero real, sin mentiras. Los lenguajes de programación, son en cierta forma como las personas, si te dejas llevar por la primera impresión, te podes equivocar, y tienen imperfecciones, como todos, si, hasta Python tiene sus grises.

    Por donde arrancar

    Al menos para mi, es importante estar motivado para hacer algo, las cosas que  mas me motivan de JavaScript, es que esta cada vez en mas lugares, o mejor dicho, hay cada vez en mas dispositivos que tienen browsers. Por otra parte, existe node.js, que nos permite escribir servidores asincronos usando el lenguaje, e incluso hay robots que usan JavaScript.
    Lo que considero clave para aprender y querer al lenguaje, es aceptar que es distinto. No tiene clases "per se", y los ciudadanos de primer nivel son las funciones. Es un lenguaje funcional. 
    Muchas veces me paso de encontrarme con código en el lenguaje "X" como si fuese el lenguaje "Y". (Python como si fuese java, ultimamente). Es algo muy normal cuando trabajamos con una mezcla de tecnologías (en el caso de que desarrollemos web), pero lentamente, es importante profundizar en las diferencias, para escribir mejor JavaScript.

    Los materiales que mas me sirvieron

    Mi heroe personal en materia de Javascript es Douglas Crockford, autor de el ya mítico "The World's Most Misunderstood Programming Language", lamentablemente, no puedo recomendar traducciones, porque... no me gustan las traducciones.
    Para seguir avanzando, y entendiendo el lenguaje, el elegido es "JavaScript the good parts".
    Paul Irish, también es un crack, el screencast de "10 cosas que aprendí mirando el código fuente de JQuery", es un material tremendo.