Categoría: noticia
Presentación formal del sistema de corrección: SEAL
El viernes pasado Aníbal y Martín realizaron la presentación formal del sistema de corrección de trabajos de programación y con ello completaron sus estudios para el graduarse de ingenieros en informática.
El nombre formal del sistema es SEAL: Sistema de Entregas Automatizadas Libre, un nombre apropiado en el sentido que representa lo que hace el sistema, pero desde el punto de vista comercial no tiene mucha onda (ya estamos trabajando en buscar un mejor nombre).
Como suele suceder en la presentación de los trabajos finales de carrera, la mayor parte de la audiencia son familiares de los alumnos que presentan y por lo tanto es poco lo que entienden de lo que se presenta. Siendo conscientes de esto, Aníbal y Martín prepararon una presentación muy didáctica para explicar su trabajo. Básicamente utilizaron la metáfora de un viaje a la luna para explicar el desafio que para ellos representaba hacer este trabajo de fin de carrera. Personalmente me gusto mucho la presentación, respeto los tiempo, resultó entretenida y expuso de forma adecuada el trabajo realizado.
Ha sido un gusto para mi trabajar con Aníbal y Martín, espero haberles aportado al menos un granito para su formación profesional. Al mismo tiempo les agradezco por haber confiado en mi para guiarlos en el trabajo.
¡Mi felicitaciones a los flamantes ingenieros!
El material utilizado en la presentación está disponible aquí.
Estudio de radio casero al alcance de tu mano
La tecnologia ha evolucionado y los costos han bajado radicalmente, permitiendo que cualquier hijo del vecino pueda hacer su propia radio por internet. La infraestructura más básica consisten en:
- Una computadora con placa de sonido con entrada para microfono
- Una conexión de banda a ancha de internet
- Un micrófono
A nivel de software necesitaremos:
- Windows XP o superior
- Zara Radio (programa gratuito para operación de radio)
- Winamp con el plugin Shoutcast (también gratuito)
Finalmente, el último componente es el servicio de streaming, el cual se encarga de tomar nuestra transmisión y ponerla disponible en el ciberespacio. El costo de estos servicios varia según la capacidad de streamming deseada. En la actualidad uno puede comenzar con un servicio con capacidad para 100 oyentes simultáneos por alrededor de $ 100 (pesos argentinos).
La forma en que todos estos componentes interactuan es:
- El micrófono se conecta a la computadora que a su vez está conectada a internet
- Se ejecuta Zara Radio que permite elegir las canciones/audios a reproducir y también permite activar el micrónofo
- Se ejecuta Winamp con el mencionado plugin, que tomará la salida de audio generada por Zara Radio y la enviará al proveedor de steamming.
- El proveedor de streamming tomará nuestra señal y la pondrá disponible para los usuarios en una URL de su propiedad
Esto es todo, 1, 2, 3, ¡al aire!
Regreso al aire, HOY 21.00 hs
Luego de casi 5 años de inactividad, hoy vuelvo a hacer radio. Pero a diferencia de las experiencias anteriores, esta vez será una experiencia 100% online. Estaremos transmitiendo en el espacio de Cerveza El Mirador en http://radio.cervezaelmirador.com.ar. La cita es a partir de las 21 hs. ¡Nos escuchamos!

Implementando Continuous Delivery: Visión y primeros pasos
Como comenté el lunes, estoy comenzando a trabajar con una organización en la implementación de la práctica de Continuous Delivery. La situación actual resulta por demás desafiante:
- Varios equipos cada uno con distintos nivel de adopción de prácticas de ingeniería
- Pasaje entre ambientes realizado prácticamente en su totalidad en forma manual
- Necesidad concreta del negocio de poder implementar cambios en la aplicaciones de forma “inmediata”
Ufff, ¡cuantas cosas! ¿por donde empezar? Personalmente me gusta empezar explicitando la visión del proyecto para asegurar que todo el mundo esté alineado y que todo esfuerzo esté en sintonia con las necesidades. En este caso, el sponsor del proyecto fue muy explícito:
“El pasaje desde el ambiente de desarrollo hasta el ambiente de pre-producción debe ser automático“
Este es un interesante punto de partida, ya que la visión habla de ambientes, comencemos hablando de ellos. Mi propuesta default suele comenzar con 3 ambientes: desarrollo, staging y producción. Y luego ajustar en caso que el contexto requiera de algo distinto.
Otros de los puntos a trabajar es la definición de la estrategia de manejo de código, lo cual incluye no solo definir una herramienta (en este caso en particular será Git) sino también la forma en que se administrará el código (en esta caso vamos a evaluar el esquema conocido como Git Flow).
El siguiente punto que me parece muy importante definir son las condiciones que debe cumplir todo incremento entregado por los equipos de desarrollo para poder entrar al ambiente de staging: porcentaje de cobertura, cumpliendo te estándares de codificación, revisión por pares, etc, etc.
Continuará…
Proyecto CMS, Go Live and Next Steps
Hace unas dos semanas, salimos en producción. La parte pública de la aplicación está accesible aqui.
Por estos dias estamos comenzado a trabajar en el siguiente hito: liberar como open source toda la plataforma. Esto me resulta especialmente interesante, pues si bien yo ya he publicado algunos proyectos open source, en general han sido cosas pequeñas. En este caso se trata de un producto de dimensiones interesantes y el cual se espera que tenga aportes de la comunidad. En cuanto tengamos algo publicado, les contaré.
Chau 2012, hola 2013
Para mi el día termina cuando me acuesto a dormir. Suele pasarme que me encuentro despierto un domingo a las 3 de la madrugada pero para mi sigue siendo sábado ya que el cambio de fecha lo hago luego de dormir.
Algo similar me ocurre con el cambio de año, para mi el nuevo año no comienza hasta que regreso de las vacaciones. Por ello, para mi el 2013 comenzó el lunes pasado que fue cuando regresé de las vacaciones.
El 2012 fue un año muy interesante para mi ya que dí el gran paso de salir del trabajo en relación de dependencia. También destaco mi participación en el Agile Tour en Venezuela y mi zambullida en el mundo Ruby.
Para el 2013 tengo un par de objetivos interesantes:
- Terminar las materias de la maestria y empezar a escribir la tesis
- Terminar de escribir un libro que comencé el año pasado
- Ayudar a mis alumnos de Fiuba, Martin y Aníbal, a terminar su trabajo final de carrera
- Visitar Machu Pichu
- Dictar un curso online sobre ingenieria de software
- Volver a hacer radio
Bueno, es hora de poner manos a la obra.
Radio 3, 2, 1…
Uno de mis hobbies durante la adolescencia fue hacer radio. Aún recuerdo el día de la primera transmisión: 28 de febrero de 1995. Esa primera iniciativa duró 3 años exactos, la última transmisión fue 28 de febrero de 1998. Luego participé de otras iniciativas, más “serias”, menos improvisadas, con más tecnologia, sobre distintas temáticas, etc. La ultima de ellas fue en 2008, pero desde entonces siempre estoy con ganas de retomar.
Hace un par de semanas un amigo, que también estuvo en aquellas andanzas radiofónicas de antaño, hizo un curso de radio que lo enloqueció e instantáneamente me contagió.
Luego de un par de averiguaciones y pruebas de concepto, finalmente estamos en condiciones de montar nuestra propia radio en internet. En este contexto tendré un espacio con mi amigo en el que hablaremos música, actualidad, etc y por otro lado tendré un espacio dedicado a cuestiones relacionadas al software. Más novedades en breve.
The Rules goes live!
Hoy finalmente salimos en producción con The Rules luego de 3 intensas semanas de trabajo. Una aplicación no demasiado compleja pero un proyecto por demás interesante:
- Equipo de proyecto distribuido en diversas ciudades alrededor del mundo: New York (US), Austin (US), Chennai (India) y Buenos Aires (Argentina)
- Contenido en 5 idiomas, modificable en cualquier momento por un editor
- Integración con varios sistemas externos (CMS, PayPal, SendGrid, etc)
- Y lo más dificil (a mi parecer), crear la interface gráfica de la aplicación en base a las ideas de diseñadores expresadas en PhotoShop, menos mal que en el equipo estaba Gabriel C, un capo con cuestiones de HTML/CSS.
Como infraestura de desarrollo utilizamos GitHub y Jenkins. En Jenkins contamos con 4 jobs: integración contínua, integración, deploy a staging y deploy a producción. Para las comunicaciones utilizamos GoToMeeting y Campfire. Esta última herramienta la podria describir como una sala de chat que donde va quedando guardada la historia de conversaciones y que permite insertar imágenes Nos resultó especialmente útil para hacer troubleshooting de algunas cuestiones. Resultaba interesante ver como a la gente en distintos usos horarios iba entrando y saliendo acorde avanzaba el día. En cuanto a la infraestructura de staging y producción corremos sobre Heroku.
El primer hito está completo, ahora tenemos un par de semanas más hasta el próximo release.
Aventura gráfica made in Argentina (ex-FIUBAs)
La semana pasada me llego un mail de compañero de Francisco Saenz contandome del lanzamiento de Reversion, una aventura gráfica desarrollada por un conjunto de alumnos de Fiuba: Francisco (mi compañero), Fernando y Facundo.
Estos tres muchachos se conocieron en su época de estudiantes en Fiuba, luego de un par de años fundaron la empresa 3F Soluciones en el contexto de la cual desarrollaron este juego. El año pasado, Francisco y Fernando estuvieron de invitados en mi materia en UNQ donde contaron sobre el surgimiento de la empresa, su forma de trabajo y el proceso de desarrollo de este juego. Todos quedamos facinados con la presentación y muy expectantes al lanzamiento del juego que se llamaria Reversion.
Bien, finalmente el momento llegó, desde hace unos está disponible para descarga el primer capítulo de Reversion. Tal vez lo más llamativo del juego es que está ambientado en Argentina y pueden reconocerse en las distintas pantallas escenas inconfundibles de pasajes de Buenos Aires.
Dado que los juegos no son mi fuerte, les dejo el link al anuncio escrito por los creadores y para quienes les interes el backstage, les recomiendo ver el blog que escribe el equipo de desarrollo.
Mis felicitaciones al equipo de 3F y ojala les vaya muy bien con esta iniciativa, chau, ¡ me voy a jugar!
Acceso a ACM para gente Fiuba
ACM (Association for Computing Machinery) es una organización que nuclea profesionales y científicos de la computación y “colabora”* en la difusión de conocimiento en este área. En este sentido la ACM tiene una seria de publicaciones periódicas entre las que se destaca la revista Communications of ACM, que ha sido portadora de famosos artículos como GoTo Statement Considered Harmful de Dijkstra.
La buena noticia es que ahora los alumnos de fiuba pueden acceder a los recursos de ACM en forma totalmente gratuita. Para ello simplemente tienen que configurar sus exploradores para usar el proxy de revistas de fiuba**. Para conectar a este proxy es necesario contar con una cuenta de correo de fiuba (@fi.uba.ar).
¡Que lo disfruten!
* Colabora es una forma de decir, pues si bien ACM concentra muchas publicaciones en la denominada ACM Digital Library, el acceso a la misma es restringido.
** No publico la dirección del proxy por cuestiones de seguridad, los interesados pueden contactarme en privado o bien contactar directamente a soporte Fiuba.

