viernes, 13 de julio de 2012

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.