martes, 24 de julio de 2012

Videos: 17 sesiones de ASP.NET al precio de una

aspConf

La semana pasada avisé (el segundo día) sobre el evento en línea aspConf, que se extendió por dos días y varios tracks simultáneos.

Como era de esperar, las sesiones ya están disponibles. Hay 17; no se si son todas.

Uno de los principales problemas de este evento, en su edición en línea, fue seguir utilizando Live Meeting, que a mi juicio es una plataforma obsoleta y con muchos problemas, que va en contra de la apertura que Microsoft muestra en otros aspectos. Para empezar, no funciona bien en Mac o en cualquier cosa que no sea Windows, y tuve varios problemas para ver alguna sesión incluso en Windows 8.

A esta altura, uno espera de un evento en línea el llegar a una página y verlo, sin mucho más requerimientos ni tener que bajar ninguna plataforma cliente. Irónicamente, se dieron cuenta de algunas de las limitaciones de Live Meeting porque en paralelo con ese mecanismo, había un chat abierto a través de la web para la interacción con el público.

Pero dejemos de lado las críticas y vamos al contenido, que es lo que cuenta. Las sesiones ya está disponibles para ver directamente en el navegador (o descargarlas, incluso disponibles en múltiples formatos) en la página del evento en Channel 9.

Dejo de regalo las dos keynotes, a cargo de los Scotts: Guthrie y Hanselman.

Windows Azure

One ASP.NET

lunes, 23 de julio de 2012

Buildpacks: Heroku para todos y todas

Buildpacks

Heroku, una de las plataformas como servicio (PaaS) más exitosas e innovadoras, es desde hace tiempo una plataforma políglota, soportando oficialmente Ruby (el lenguaje con que se inició), pero también Node.js, Clojure, Java, Python y Scala.

Pero en realidad eso no es todo. Actualmente soportan una variedad enorme de lenguajes, a través del mecanismo que generaron para soportar cualquiera, llamado Buildpacks. Aunque Heroku desarrolla activamente los buildpacks mencionados más arriba, la comunidad puede (y de hecho lo ha hecho) desarrollar otros para soportar todo tipo de lenguajes o entornos, como puede verse en este listado, que incluye algunos como Common Lisp, Emacs, Erlang, Go, Jekyll, JRuby, Lua, Perl, PhantomJS y otros.

¿Cómo funcionan los buildpacks? La última versión de la plataforma base de Heroku (llamada Cedar) provee un entorno de ejecución virtualizado que básicamente es una abstracción de los servidores, con los servicios de red, el sistema de administración y monitoreo, y claro, GIT. Sobre esto, para soportar cualquier lenguaje, debe haber un buildpack que utiliza GIT hooks para dispararse al recibir actualizaciones sobre un repositorio, como muestra el siguiente diagrama de ejemplo:

Heroku Buildpacks

Así, al hacer git push heroku master, se puede notar que después de recibir la actualización completa del repositorio, se dispara el buildpack correspondiente a la aplicación, según se indicó al ejecutar el comando heroku create, o posteriormente con la variable de entorno BUILDPACK_URL.

Construir buildpacks no es demasiado complejo. Se pueden incluir en ellos binarios u otras dependencias necesarias por sobre la plataforma, y para comenzar basta con crear un fork del ejemplo Hello Buildpack (no podía llamarse de otra manera), leer la documentación del API, y eventualmente participar en el foro junto a otros colegas.

Finalmente, los buildpacks pueden utilizarse fuera de Heroku, como en el caso de otros proveedores que ya los soportan, o utilizando Mason, en cualquier tipo de entorno.

jueves, 19 de julio de 2012

32 Minutos: el podcast sobre desarrollo en Español (+ video)

32 minutos

Cada tanto uno descubre este tipo de recursos maravillosos que genera la dedicación de nuestra comunidad de programadores alrededor del mundo, y se sorprende de no haberse enterado antes, como si nos despertásemos en el tren y nos diéramos cuenta que nos hemos pasado varias estaciones...

Esto me ocurrió al ver un Tweet del colega David Vilchez mencionando una conversación con otros amigos como Matias Woloski y José Romaniello (luego se suma Hernán García), charlando sobre Node.js.

Al buscar la grabación descubro que David tiene este podcast llamado 32 minutos ¡desde hace más de 4 años! Es cierto que no tiene una regularidad muy grande, pero el material es excelente. Recorriendo el sitio descubro que David comenzó el proyecto con Hadi Hariri (otro reconocido colega, frecuente miembro de Alt.NET Hispano y actualmente trabajando para JetBrains). Hoy David es acompañado en sus andanzas por Andrea Magnorsky (aka roundcrisis).

El material es muy bueno, y haciendo gala de orgullo nerd, catalogado por temporadas, como si fuese una serie de TV (con nomenclatura BitTorrent).

Les dejo aquí la lista compilada de las tres primeras temporadas (quedando a la espera de muchas más), y para quienes usen algún administrador y reproductor de podcasts (yo uso Listen en Android) dejo también el feed RSS para suscribirse. Otra manera de mantenerse al tanto de nuevos episodios es siguiéndolos en Twitter. Aunque la lista tiene los directos a los mp3, les recomiendo volver al sitio del podcast donde encontrarán links a muchos de los recursos mencionados en el programa.

1era temporada

01x01 Sharepoint con Gustavo Vélez

02x01 Scrum con Xavi Albaladejo y José Manuel Beas

03x01 Azure con David Salgado

04x01 Buenas prácticas con Hadi Hariri y David Vílchez (y nadie más ;))

05x01 Revisión a los grupos de usuarios y entrevista desde la CodeCamp 2009

06x01 Nhibernate con Fabio Maulo

2da temporada

01x02 BDD con Jorge Gamba

02x02 Software Craftsmanship con Andrea Magnorsky (aka roundcrisis)

03x02 Mock, Stub, Spy y otras hierbas con Carlos Ble

04x02 [Screencast] CQRS con Andrea Magnorsky (aka roundcrisis)

3ra temporada

01x03 NOSQL con José F. Romaniello

02x03 node.js con José F. Romaniello, Matias Woloski y Hernan Garcia

Como verán, el último episodio de la 2da temporada es un Screencast el lugar de sólo audio, así que aprovecho para incluirlo aquí debajo (~50 minutos).

Muchísimas gracias a David y compañía por estos programas.