martes, 31 de julio de 2012

Codecademy: aprendiendo a programar en sociedad

Medallas en Codecademy

Acabo de descubrir este interesante sitio llamado Codecademy que unifica varias tendencias recientes:

  • Intérpretes en línea (a la TryRuby o TryPython)
  • Web social (todo se enlaza con Facebook, Twitter o Google)
  • Ludificación de las actividades (a medida que se avanza en el proceso de aprendizaje se reciben "medallas" que pueden compartirse en las redes sociales)

Piensen en este sitio para aprender a programar diferentes lenguajes y plataformas, como JavaScript, Python, Web fundamentals, jQuery u otras técnicas más breves y puntuales (como utilizar paneles o menúes colapsables, efectos y plugins de jQuery, etc).

Otro tema interesante del sitio, que es totalmente gratuito, financiado por una serie de empresas de medios ligadas a la industria de software, es que además de ser una plataforma abierta para aprender, también lo es para enseñar, ya que ofrece la posibilidad de crear nuevos cursos para compartir conocimientos. Por ahora los cursos deben ser basados en JavaScript, Python, Ruby o Web (HTML/CSS), pero imagino que la oferta se irá incrementando con el tiempo.

Espero que la iniciativa crezca, ya que es un buen recurso para aprender a programar o para acercarse a nuevos lenguajes y técnicas, haciéndolo de manera divertida y con feedback permanente, que es lo que muchas veces hace difícil el hecho de mantener la disciplina en cuestiones de auto-capacitación.

Seguimiento del entrenamiento

Lo más sencillo para experimentar el sitio es entrar directamente a él y comenzar. Me gusta el diseño y la usabilidad, ya que se puede comenzar sin siquiera registrarse. Identificarse es necesario solamente para mantener un seguimiento del avance, y para ello se destaca preferentemente el usar autenticación a través de un proveedor externo (oAuth) como Facebook, Twitter o Google, lo que facilita el compartir los avances en las redes sociales, aunque no es un tema compulsivo y uno puede ser totalmente silencioso.

Para quienes quieran conocer más detalles, el equipo mantiene un blog y por supuesto, pueden seguirlos en Twitter.

lunes, 30 de julio de 2012

Agiles 2012: 24 al 26 de octubre en Córdoba, Argentina (+ fotos)

NewImage

Como todos los años desde la primer edición en 2008, se acerca la conferencia latinoamericana de metodologías ágiles.

Este año la cita es en la ciudad de Córdoba, más específicamente en la Universidad Tecnológica Nacional, del miércoles 24 al viernes 26 de octubre.

En esta 5ta edición, que se realiza por segundo año consecutivo en Argentina (las anteriores fueron 2008 en Buenos Aires; 2009 en Florianópolis, Brasil; 2010 en Lima, Perú; y 2011 nuevamente en Buenos Aires), se mantendrá la agenda mixta de sesiones, talleres y open space, y también vendrán visitantes de diferentes partes del mundo.

Para mi personalmente este año será especial ya que tendré el honor de dar una de las keynotes, compartiendo esa responsabilidad con David Hussman de DevJam.

El llamado a ponencias de la conferencia cerró hace poco, y estimo que en pocos días estará disponible la primer versión del programa, que como siempre va apareciendo como un proceso "iterativo e incremental".

Como no encontré vídeos de la conferencia del año pasado (seguiré buscando), les dejo un video-collage con imágenes de la edición de 2010 en Lima, para que se den idea del ambiente que se vive en estos encuentros.

miércoles, 25 de julio de 2012

Firefox OS: ¿hace falta otra plataforma para móviles? ¡Tal vez si!

Firfox OS

En julio del año pasado la fundación Mozilla anunció el arranque de un nuevo proyecto llamado "Boot to Gecko" (B2G), en referencia a la idea de un sistema operativo orientado a móviles que iniciara directamente Gecko, el motor visual detrás de Firefox.

Semejante idea, en un mundo de dispositivos dominado por iOS y Android, en el que aún a Microsoft le está costando entrar, parece disparatada, pero Mozilla no tiene como objetivo necesario ganar mercado, sino impulsar mayor adopción de estándares web en el terreno de mayor crecimiento actualmente, que son celulares y tablets.

La característica fundamental del nuevo sistema operativo, actualmente conocido como Firefox OS (aunque encontrarán más referencias aún a B2G) es que está basado en un kernel de Linux, una capa de abstracción para el hardware (llamada "Gonk") y por encima el motor del navegador Gecko, soportando HTML, CSS y JavaScript que es sobre lo que corren todas las aplicaciones. Y esto significa todas, como la aplicación principal del teléfono, la lista de contactos, portada, etc.

El entorno de ejecución sobre el que corren las aplicaciones se llama Gaia, y para los que quieran probarlo, pueden obtenerse los builds nocturnos de Gaia clonando la cuenta de GitHub (git://github.com/mozilla-b2g/gaia; los builds corren en Mac OS, Linux y Windows). Hay un guía completa sobre el tema, llamada Gaia Hacking, en la Wiki de Mozilla.

Básicamente Gaia ofrece a los desarrolladores la posibilidad de producir aplicaciones web con el stock estándar de HTML5, más un API JavaScript que les da acceso a características especiales del dispositivo.

El otro factor importante es qué nivel de adopción se pueda esperar de esta plataforma, y en ese sentido es alentador ver que el sistema (inicialmente apuntando a hardware muy económico basado en Snapdragon) está siendo adoptado para próximas ofertas de varias operadoras europeas como Deutsche Telekom, Etisalat, Smart, Sprint, Telecom Italia, Telefónica y Telenor. De hecho, en una conferencia de febrero de este año en España, Telefónica y Mozilla mostraron una versión preliminar del sistema corriendo en dispositivos Galaxy II de Samsung, que vienen nativamente con Android. Otras organizaciones soportando directamente el proyecto son Adobe y Qualcomm (más información en esta gacetilla de prensa).

Como es recurrente en todo proyecto de Mozilla, absolutamente toda la plataforma es abierta, permitiendo a los operadores o fabricantes implementar una capa mínima que provee acceso a sus recursos propietarios. Más allá de eso, todo el diseño del sistema está alineado a respetar los mismos estándares web que se impulsan en los navegadores de escritorio, unificándolos aún más, y con un claro objetivo de que otros jugadores de la industria como Apple, Google o Microsoft sigan adoptando ese camino.

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.

miércoles, 18 de julio de 2012

Hoy: Segundo día de AspConf en vivo

aspConf

Perdí ayer la oportunidad de avisar el primer día de la conferencia virtual sobre ASP.NET llamada AspConf.

Pero para los interesados, hoy pueden sumarse al segundo día, a partir de las 11 de la mañana (hora Argentina - 7 am horario del Pacífico).

Aunque todavía no vi disponibles los vídeos del primer día, estimo que todos quedarán en línea brevemente.

Este evento virtual es bastante grande, con 6 tracks en paralelo, y 5 slots de una hora y media cada uno, más charlas principales (keynotes) de una hora; la keynote de ayer estuvo a cargo de Scott Guthrie, la de hoy estará a cargo de Scott Hanselman.

 

Monkey Square: desarrollando el ecosistema Open Source en .NET

MonkeySquare.org

Un grupo conformado por algunos de los sospechosos de siempre en el ambiente .NET han formado esta organización sin fines de lucro para evangelizar y apoyar activamente el desarrollo de proyectos y plataforma de código abierto alrededor de .NET.

Hay algunos ex-Microsoft como Phil Haack (actualmente en GitHub), Joseph Hill, cofundador de Xamarin con Miguel de Icaza, Dale Ragan, cofundador de Moncaí (una Plataforma como Servicio basada en Mono), e incluso un empleado activo (hiper-activo, en realidad) de Microsoft como Scott Hanselman.

Entre otras cosas, esta organización es actualmente la responsable de la conferencia MonoSpace 2012, que se realizará del 17al 19 de octubre en el Microsoft NERD Center (no, el nombre no es chiste) de Cambridge, Massachusetts. Los interesados en la conferencia puede acceder a todas las presentaciones de la edición del año pasado en InfoQ.

No hay muchas más noticias por ahora, pero parece un movimiento interesante. 

martes, 17 de julio de 2012

El navegador que nos ayuda

Chrome

Hace poco mi colega Diego Marcet escribió un tweet que me hizo redescubrir, en toda su gloria, más características de Chrome que son geniales para los desarrolladores.

Tenía presentes algunas utilidades de Chrome como: chrome://net-internals/ (obviamente estos links sólo funcionan en Chrome), o chrome://dns/, pero Dieguito mencionaba que hay una URL genérica que muestra todos, y no conocía:

chrome://about/

Que muestra la siguiente lista:

List of Chrome URLs

For Debug

The following pages are for debugging purposes only. Because they crash or hang the renderer, they're not linked directly; you can type them into the address bar if you need them.

  • chrome://crash
  • chrome://kill
  • chrome://hang
  • chrome://shorthang
  • chrome://gpuclean
  • chrome://gpucrash
  • chrome://gpuhang

Todas estas herramientas son excelentes a la hora de diagnosticar y hacer pruebas en aplicaciones o servicios web, dándonos montones de detalles sobre el contenido de los mensajes HTTP, sino también sobre las interacciones, tiempos, efectos de cache, dns, pre-fetching, y muchísimas otras variables que afectan notablemente el tiempo de respuesta y hasta el funcionamiento de nuestros desarrollos.

lunes, 16 de julio de 2012

Agile Open Buenos Aires - Educando y Aprendiendo

NewImage

Ágiles Argentina organiza este evento de difusión e intercambio de experiencias sobre el proceso de Educación y Aprendizaje.

Es parte del continuo Agile Open Tour que la comunidad local organiza desde hace hace años, recorriendo el país.

Como todos los Agile Open, este evento tiene formato Open Space, y en esta ocasión se unirán algunas técnicas nuevas como Training from the Back of the Room, actividades disparadoras y facilitadoras del aprendizaje, experiencias en la planificación de contenido auto-organizada, educación a distancia, y lo que proponga el público.

Como en todo los casos, el evento es gratuito pero requiere inscripción previa, y se realizará el sábado 4 de agosto, de 9 a 18 horas en la UNTREF, Sede Centro Cultural Borges, Viamonte esq. San Martín piso 3. Hay más información y una agenda preliminar de espacios.

Tomado directamente de la página de difusión del evento:

Los eventos Agile Open se originan en Bélgica en el 2005 pero se realizan en todo el mundo. El primero en Latinoamérica se realizó en Buenos Aires en marzo del 2009. En el país ya se han realizado cerca de 25 eventos en 8 ciudades (Buenos Aires, Córdoba, Tandil, La Plata, Bahía Blanca, Mar del Plata, Rosario y Paraná) con temas tales com Educación, Organizaciones Flexibles, Seguridad, Software Libre, Calidad y Arquitectura. Los eventos Agile Open se organizan y realizan usando Open Space Technology.

Open Space Technology

Esta forma de organización de eventos permite con relativamente poca preparación previa realizar eventos de alta calidad en forma auto-organizada. Funciona para reuniones desde 5 personas hasta reuniones de varios miles de personas.
Es particularmente apto para encuentros en los que se discuten temas que son relevantes, complejos y que los asistentes tienen interés y pasión por tratar.
El interés y la pasión se logra por un proceso de autoselección en la registración: ya que una vez definido el Tema de la conferencia, los asistentes a los que les interesa el tema se anotarán, y al ser en un día no laboral, no dependen tanto del interés de las empresas en las que trabajan como en su deseo personal de participar. A su vez, los temas a tratar en cada sesión son propuestos y votados por los asistentes.

La dinámica durante el evento es:

Se explica el formato y sus pocas reglas
Los asistentes proponen sesiones (presentaciones, paneles, workshops, ...)
Votación de sesiones (todos los asistentes votan)
Armado de agenda (se asignan las sesiones votadas a los horarios y aulas)
Se realizan las sesiones.
Cierre

Auspician el Tour: Kleer (quienes sortean 16 lugares para curso de un día: "Introducción a Scrum" o "Estimación y Planificación con Scrum") e Inicia.

viernes, 13 de julio de 2012

Aprendiendo y enseñando: Principios SOLID (+video)

NewImageLos amigos de Kleer siguen impulsando actividades gratuitas de todo tipo, como sus ya tradicionales Yoseki Coding Dojo, a los que ahora se suman estas sesiones que llaman "Aprendiendo y enseñando", en las que el "pago" simbólico de los asistentes es enseñar a otros lo aprendido en el grupo.

La idea es que cada uno multiplique el conocimiento adquirido en su empresa, grupo de usuarios, blog, vídeos, etc, siguiendo técnicas surgidas del libro "Training from the back of the room", según Fernando Claverino comentaba en este post.

De la primer sesión que efectuaron el mes pasado (espero poder avisar a tiempo de la próxima), sobre principios SOLID algunos de los participantes se conjuraron para publicar ejemplos en sus blogs.

Al menos han cumplido hasta ahora Nelo Pauselli y Fernando (uno de los organizadores de la sesión junto al amigo Carlos Peix). La sesión inicial estuvo basada en ejemplos publicados en http://solidexamples.codeplex.com/, y posteriormente Nelo y Fernando publicaron sus ejercicios de cómo resolver un ejemplo que viola el Principio de Responsabilidad Unica (Single Responsibility Principle).

Para quienes quieran más detalles sobre SOLID, pueden ven una Virtual Alt.NET Meeting de Carlos Peix sobre el tema, o leer sobre estos directamente de la fuente, Uncle Bob Martin.

 

Finalmente, pueden ver los pasos que aplicó Fer en su blog, y les dejo debajo el video con Nelo refactorizando el ejemplo en vivo, pero pueden leer más detalles en su post.

 

Unable to display content. Adobe Flash is required.

Video: BrowserID - otro mecanismo de Identidad en la web

NewImage

Mozilla Persona es la implementación en en FireFox de BrowserID, un nuevo Identity Provider impulsado por Mozilla Identity misma junto a otros interesados.

Como en otros casos, este es otro mecanismo de Single-Sign-On para la web, y aunque todos lo plantean como el mecanismo único para identificarse, en la práctica sigue habiendo mucha fragmentación porque no todos los sitios (o navegadores) soportan todos los protocolos, que sin embargo, son generalmente interoperables (en esta interoperabilidad, casualmente, se basan las herramientas que genera en este espacio la nueva empresa de mi amigo Mati Woloski, Auth10; a quien menciono por ser de las personas que más saben de este tema sobre la Tierra).

 Lo cierto es que Mozilla agrega a este nuevo protocolo, basado en certificar la identidad utilizando una cuenta cualquiera de email, el soporte dentro del navegador, para poder brindar una experiencia de usuario mejorada. Como siempre, los desafíos son que otros navegadores adopten el modelo (cosa en la que no tengo enormes esperanzas), y que muchos sitios comiencen a soportar el mecanismo (o más probablemente, que productos como Auth10 o Janrain Engage) agreguen soporte para este nuevo proveedor.

Para los interesados en el tema, hay documentación para desarrolladores y un completo post de Lloyd Hilaiel, del equipo de BrowserID, explicando todo el mecanismo.

NewImage 

Y finalmente les dejo un video corto demostrando como funciona:

viernes, 6 de julio de 2012

Try GitHub - Aprender GIT en 10 minutos

NewImage

En estos días me crucé con este notable recurso para aprender GIT y GitHub, creado por la gente de Code School (tal vez los recuerden de éxitos anteriores como Rails for Zombies).

Se trata de un simulador en línea de una consola y una ventana estilo Finder de Mac OS donde se puede ver el contenido de un directorio, y 25 pasos muy breves en los que se crea un repositorio, se hacen diferentes commits, se ven diferencias, se abren y mezclan branches, etc.

No agrego mucha más información en este post porque lo más práctico es ir al sitio y probarlo. Para cualquiera que ya utilice GIT frecuentemente no hay novedades, pero es una buena herramienta para familiarizar a nuevos miembros de un equipo o para evangelizar a algún amigo que todavía sufre usando Source Safe o Clear Case.

jueves, 5 de julio de 2012

Video: Desarrollando en Node.js desde Mac OS y desplegando en Azure Web Sites

Desde hace años vengo trabajando con Windows Azure, la plataforma de cloud computing de Microsoft. Hasta ahora, más allá de haber logrado algunos proyectos interesantes, la plataforma no me entusiasmaba demasiado por varios motivos:

  • Estaba muy orientada a un modelo de desarrollo específico (Platform as a Service)
  • Estaba muy orientada a .NET (había maneras de utilizar otras plataformas, pero siempre complejas)
  • El mecanismo de despliegue y actualización era muy poco eficiente

En las últimas semanas finalmente se liberaron nuevas características que me parecen mucho más interesantes. Dos en particular (que están aún en preview, pero utilizables dentro de la prueba gratuita por tres meses) son:

Azure Virtual Machines

Este servicio finalmente abre los data centers de Azure por completo. Desde el panel de control se pueden generar imágenes pre-configuradas de varias distribuciones de Linux, además de Windows, obviamente. Vean las opciones disponibles hoy:

Imagenes disponibles 

Azure Web sites

Es un servicio de hosting de aplicaciones web genérico, soportando múltiples lenguajes y con más flexibilidad que un host tradicional. Además de cubrir (por ahora) ASP.NET, ASP, Node.js, Java, PHP, Python y C++, el mecanismo de despliegue es todo un avance con respecto al anterior: se puede subir directamente desde el portal, por FTP, GIT o TFS. En cuanto la aplicación llega a Azure, prácticamente en forma inmediata queda disponible en línea.

Además de los diferentes lenguajes, otro cambio impresionante viniendo de Microsoft es que los SDK y las herramientas de consola son todas abiertas (admitiendo contribuciones; todas en GitHub) están disponibles para Windows, Mac OS y Linux, con lo que nuestra plataforma de desarrollo puede ser cualquiera.

Algunas cosas en mi lista de deseos hacia adelante:

  • Mejorar la usabilidad del portal exigiendo menos Login (ahora insiste varias veces ante distintas operaciones)
  • Soporte para autenticación por certificados en GIT (ahora hay que usar la password en cada push)
  • Soporte para Ruby (creo que el problema principal por ahora son las gemas que requieren compilación nativa)

Como ejemplo de todo esto, les dejo este cortísimo video (~6 minutos, en inglés) en el que Glenn Block, alguien a quien respecto mucho y que siempre impulsó las plataformas y paradigmas abiertos dentro de Microsoft (¡presten atención a su camiseta!), muestra como desplegar una aplicación Node.js (usando Express) desde Mac OS. Microsoft aún no puede sustraerse a sus carteles publicitarios al inicio y fin del video, pero el resto es recomendable.

martes, 3 de julio de 2012

Video: BDD, por Jorge Gamba, desde el Campus Party Colombia

NewImage

Campus Party es un enorme evento de tecnología que se realiza en diversas partes del mundo, cubriendo muchas facetas de la vida digital, incluyendo desarrollo de software.

La semana pasada se realizó la quinta edición de este evento en Colombia, en la ciudad de Bogotá, y nuestro amigo Jorge Gamba, incansable organizador de las actividades de Alt.NET Hispano, estuvo allí haciendo una presentación excelente sobre Behavior Driven Development, uno de sus temas predilectos.

Dejo para ustedes el video debajo (~56 minutos, en español) para que lo disfruten, y pueden leer muchos más detalles en su propio post sobre la sesión. Debajo del video dejo también sus slides para quienes quieran verlos en más detalle (en el video se aprecian bastante bien, de todas maneras).

Slides:

lunes, 2 de julio de 2012

ASP.NET MVC ya es completamente Open Source (+ video)

Open Web Stack

Este post debería haber salido hace bastante tiempo atrás, durante el lapso en que este blog estuvo silencioso, pero -nobleza obliga- hay gente conocida que trabajó mucho por esto y vale la pena comunicarlo para los que todavía no estaban al tanto.

El equipo de ASP.NET MVC avanzó un paso muy grande en su impulso hacia el código abierto a fin de marzo pasado al publicar el stack completo de MVC 4, incluyendo Web API, Web Pages (o Razor, el motor de rendering de vistas) con contribuciones externas, bajo licencia Apache 2.0.

Como detalle interesante, el código del stack completo está alojado en GIT dentro de CodePlex (que hace tiempo soporta GIT y Mercurial además de TFS y SVN). Esto implica que los curiosos sólo necesitan hacer un:

git clone https://git01.codeplex.com/aspnetwebstack.git

Desde el anuncio, Microsoft avanzó hasta la publicación en junio de las "release candidates" de MVC 4 (incluyendo ya un montón de contribuciones de la comunidad) y Visual Studio 2012. MVC 4 también incluye otros paquetes abiertos como jQuery,  jQuery Mobile,  jQuery UI, Modernizr, Knockout y JSON.NET.

Otro detalle interesante es que MVC no está atado a Visual Studio ni a .NET, y también corre en Mono. Casualmente, Miguel de Icaza (líder del proyecto Mono) fue el primero en contribuir con un pull request.

Dejo para el final un video (en 6 partes, ~80 minutos, en inglés) de Scott Guthrie presentando MVC 4. El video tiene un tiempo, pero es de lo mejor que encontré, presentado por la persona que está directamente detrás del proyecto, y uno de los mayores impulsores del código abierto dentro de Microsoft. No por casualidad, ahora que Scott está a cargo de la experiencia de desarrollo de Azure, todos los SDK y herramientas son también abiertas.