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.

viernes, 29 de junio de 2012

JetBrains + Nemerle = una dupla poderosa (+ video)

La gente de JetBrains, los cerebros a propulsión detrás de IntelliJ IDEA, ReSharper y toda una familia de IDEs especializadas, anunció recientemente la contratación del núcleo del equipo de desarrollo de Nemerle, uno de esos "raros lenguajes nuevos", completamente abierto, que revisé en este blog un año atrás.

Como explican en el anuncio, la incorporación se decidió en reconocimiento al increíble trabajo de Nemerle en la implementación del lenguaje y sus características de meta-programación, inferencia de tipos, etc. El foco del equipo estará por o tanto en el proyecto N2, un framework para desarrollo de lenguajes, un área a la que JetBrains se dedica muy especialmente y con evidente éxito.

Para que se den una idea sobre lo que genera esta gente, les dejo un video fresquito de una sesión sobre este lenguaje presentada por Igor Tkachev, del equipo de desarrollo, durante la reciente Norwegian Developers Conference en Oslo, a principios de junio (dura menos de media hora y está en inglés).

Da la impresión que el contacto y la posibilidad de fusión surgió a partir de esta época, así que puede ser un video para la historia (al menos para el equipo de Nemerle y JetBrains).