Mostrando entradas con la etiqueta videos. Mostrar todas las entradas
Mostrando entradas con la etiqueta videos. Mostrar todas las entradas

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).

jueves, 28 de junio de 2012

Se viene la próxima RubyConf Argentina, y siguen los Ruby Meetups en Buenos Aires (+ video)

NewImage

El incansable grupo organizador de la RubyConf Argentina ya está encarando desde hace tiempo la edición de este año, y creo que es el momento de difundirlo porque ya está confirmada la sede del evento, que será el Paseo La Plaza en Buenos Aires.

Como el año pasado, habrá invitados del exterior y oradores locales, y estoy seguro que aunque la primer edición fue asombrosa, ésta segunda será aún mejor.

Como siempre ocurre en la comunidad Ruby, hay mucha creatividad y poca corrección política alrededor de todo esto, y es uno de los grandes atractivos, más allá del contenido técnico que siempre es interesante. Como muestra, vaya el control de selección de lenguaje en el sitio oficial de la conferencia, que me parece una joyita:

NewImage

Como si fuese poco, la actividad de Ruby Argentina no para, y vuelven al parecer con frecuencia mensual los Ruby Meetups. Pueden inscribirse y proponer temas (recuerden que el formato de las reuniones es abierto, y los asistentes terminan de decidir la agenda en el momento, en base a las propuestas). Más detalles y comentarios sobre estas meetups en el blog del Maestro Angel "Java" López, que probablemente presente alguna de sus katas en la próxima.

 

Dejo para el final un video de la RubyConf del año pasado (~35 minutos, en español a pesar del título), pero pueden ver todos los demás en la página de Vimeo de  Ruby Argentina.

lunes, 25 de junio de 2012

Se vienen PyCamp y PyCon Argentina (+ video)

La infatigable comunidad Python de Argentina está organizando dos de sus eventos más populares.

PyCamp 2010

PyCamp 2012, el cyber-campamento más entretenido que se pueda imaginar, será del 6 al 9 de julio (aprovechando el fin de semana largo) en la localidad bonaerense Verónica.

El PyCamp, como su nombre lo indica, se hace en el contexto de un campamento, y todos los participantes deciden al empezar una disposición de espacios en los que la gente puede presentar, plantear un debate, proponer una actividad de desarrollo conjunto, etc.

También hay amplio espacio para charlar, comer asado, jugar un picadillo y tomar mate. El evento es totalmente relajado, en compañía de otros programadores de profesión y corazón.

Si quieren saber quienes van, pueden ver la lista de interesados, que incluye una columna indicando si ya depositó la plata ($500 por la estadía completa). También se pueden ver algunos de los temas propuestos de antemano (que igual se votan al llegar), y por supuesto, la lista de recomendaciones de cosas para llevar.

NewImage

Y para quienes tienen alergia a los mosquitos o le molestan los ruidos de los grillos, más tarde llega la PyCon Argentina 2012, que será en Quilmes, la capital argentina de la cerveza y las conferencias geek (los quilmeños están comprometidos a hospedar anualmente una conferencia de este tipo, y ya empezaron el año pasado con Smalltalks 2011).

La PyCon será del 12 al 17 de noviembre en la Universidad Nacional de Quilmes. En este caso la entrada es libre y gratuita, pero hay que registrarse, ya que los cupos son limitados.

Como siempre, asistirán invitados del exterior como:

 Habrá varias actividades como los Sprints/Hackatón (Lunes 12 al miércoles 14), Tutoriales y Talleres (el jueves 15), Charlas y Eje Científico (del viernes 16 al sábado 17).

Lamento llegar un poco tarde con el aviso, pero el llamado a propuestas vence el 30 de junio (el próximo sábado).

Les dejo como cierre el video promocional que la comunidad produjo para promocionar sus actividades, donde pueden ver mucho de lo que hacen, desde los camps hasta la conferencia nacional (~4 minutos y medio que valen la pena).

miércoles, 22 de febrero de 2012

Video: Agiles @ Buenos Aires - Caso de éxito ágil, por Pablo Francavilla

Agiles

En la última reunión mensual de Agiles Buenos Aires, organizada por la comunidad local aproximadamente los segundos martes de cada mes, Pablo Francavilla vino a contarnos los detalles de un caso de éxito para su compañía, GetSense, pero fundamentalmente una experiencia enriquecedora desde el punto de vista de las técnicas que utilizaron.

Una de las claves en este caso, para Pablo, fue la utilización de Story Mapping, una técnica para la definición del producto de manera colaborativa, utilizando un esquema visual con post-it de colores en una pared o mesa, entre todos los participantes: clientes, equipo y cualquiera de importancia en el contexto del proyecto.

Pablo destacó que aprendieron lo básico sobre esta técnica en una reunión prevía de Agiles @ Buenos Aires, lo que también es una referencia interesante en si misma.

La sesión completa, como siempre, llevó casi 120 minutos, y está dividida en 7 partes de unos 17 minutos cada una. Queda a continuación el primer video embebido, y los enlaces a los siguientes debajo. Sepan disculpar mis movimientos un tanto torpes como camarógrafo en los primeros minutos, pero el movimiento del público hacia un lado de la sala al iniciar la sesión me tomó por sorpresa.

Parte 2 de 7

Parte 3 de 7

Parte 4 de 7

Parte 5 de 7

Parte 6 de 7

Parte 7 de 7

viernes, 17 de febrero de 2012

Se liberó la Beta de ASP.NET MVC 4 (+ video)

Para los lectores interesados en .NET, esta es una muy buena noticia. La nueva versión de ASP.NET MVC ya está en Beta, y al parecer bastante estable, siguiendo el estilo de este equipo, que se diferencia de otros de Microsoft en su ciclo de producto sumamente iterativo y muy basado en pruebas.

Otra particularidad de este equipo es que termina liberando (ya que no arrancan así durante el desarrollo, lamentablemente) el producto como código abierto. Scott Guthrie, padre de ASP.NET MVC y buena parte del viejo ASP.NET, confirmó que esta versión también será licenciada como código abierto (la actual tiene licencia Apache 2.0), ante la pregunta de Miguel de Icaza en Twitter, lo que implica que podrá utilizarse con Mono próximamente.

The Gu le contesta a Miguel

La versión Beta, que ya está disponible para descarga y puede usarse en paralelo con MVC 3, tiene las siguientes mejoras principales:

  • ASP.NET Web API - la versión final del modelo para servicios REST, evolución de la WCF Web API.
  • Plantillas de proyecto nuevas y mejoradas, con código HTML mucho más cuidado, código más prolijo del lado del servidor, y uso de rendering adaptativo para que se vea correctamente en múltiples dispositivos.
  • Nueva plantilla para sitios móviles - aunque la plantilla básica se adapta bien a teléfonos, esta nueva está específicamente pensada para ese escenario, incluyendo de entrada jQuery Mobile para mejorar la experiencia táctil.
  • Modos de Display es la característica que permite cubrir el escenario mixto en que la misma aplicación debe tener vistas especializadas para diferentes dispositivos, con el mismo código servidor y mínimos cambios en el código cliente, pero que implican una gran diferencia en la experiencia del usuario.
  • Recetas para generación de código - facilitan a los autores de paquetes NuGet utilizar generación para alterar la generación ante los comandos de agregado de vistas, controladores, etc.
  • Soporte para Tasks (tareas asincrónicas) en los controladores.

Probablemente una de las novedades más importantes es la inclusión de la Web API, que permite generar servicios que pueden exponerse incluso fuera de IIS, y mejora mucho las capacidades para construir aplicaciones RESTful. Dejo un video (en inglés, 70 minutos) de Daniel Roth, del equipo de MVC, demostrando sus capacidades principales.

viernes, 10 de febrero de 2012

Video: Bjarne Stroustrup presenta el estilo de C++11 en Going Native 2012

Como comenté hace unas semanas, en los primeros días de febrero se llevó a cabo la conferencia Going Native 2012, dedicada a los desarrolladores C++, y enfocada en el flamante estándar 11 del lenguaje, que está llegando a todos los nuevos compiladores de cada plataforma, desde Unix a Windows.

En la conferencia participaron Stroustrup (el creador de C++) y los principales impulsores del lenguaje en Google, Facebook, HP y Microsoft (anfitrión del evento, que se realizó en uno de sus auditorios).

Este post es principalmente para informar que ya están disponibles en video todas las sesiones, y dejarles a mano la apertura, que arranca con la dedicatoria del evento al recientemente fallecido Dennis Ritchie, creador del lenguaje C y co-creador del sistema operativo Unix, muy emotiva para cualquier geek de corazón.

Queda debajo entonces el video (~90 minutos), y recuerden que en la página principal del evento están los enlaces a todas las demás sesiones.

miércoles, 8 de febrero de 2012

Aprendiendo Vim en un rato (+ video)

Vim

(post dedicado a los programadores anticuados como yo, y a los que me miran raro cuando me ven usar una Mac desde la línea de comandos)

Vim es uno de los editores más minimalistas, sólo superado por su antecesor Vi.

Una descripción rápida en español, provista por el sitio oficial dice:

¿Qué es Vim?

(Una explicación en seis kilobytes - versión completa en español en el sitio oficial)

Vim ("VI IMproved") es un "clon de VI", es decir, un programa similar al editor de textos "VI".

Vim no solo trabaja en modo de texto en cualquier terminal, sino que también tiene un interfaz gráfica para el usuario, es decir, menús y soporte para el ratón.

Disponibilidad: Vim está disponible para muchas plataformas y tiene muchas características añadidas en comparación con VI (véase http://www.vim.org/viusers.php). Vim es compatible con casi todos los comandos de VI - excepto con los errores(bugs) en VI. ;-)

Sistemas Operativos: Vim está disponible para muchos sistemas: AmigaOS, Atari MiNT, BeOS,DOS, MacOS, NextStep, OS/2, OSF, RiscOS, SGI, UNIX, VMS, Win16 + Win32(Windows95/98/00/NT) - y especialmente FreeBSD y Linux.

Copyright: El copyright está en las manos del autor principal y mantenedor, Bram Moolenaar.  Vim es un "programa-de-caridad" ("charity-ware"), es decir que se sugiere que hagas una donación a los huérfanos en Uganda(véase ":help Uganda ").

Fuentes: Vim es OpenSource y todos son bienvenidos para ayudar a mejorarlo!

En la mayoría de las distribuciones de Unix/Linux, incluyendo Mac OS X, Vim ya está instalado y disponible. En Windows hay que descargarlo, al igual que si uno quiere estar seguro de tener la última versión en cualquier otra plataforma.

La forma más sencilla de empezar a usar Vim es escribiendo desde la línea de comandos:

vimtutor

Este comando en realidad carga Vim con un tutorial (en inglés) ya abierto. En realidad es una copia temporal del archivo del tutoríal, de manera de poder editar y practicar sin perder nada. El tutorial lleva unos 20~30 minutos, y para quienes lo encaren, espero que no se asusten cuando comienza explicando cómo moverse por el archivo utilizando las teclas HJKL. A no desesperar: las flechas también funcionan, pero sobre todo para quienes son buenos tipeando (no es mi caso), poder moverse sin tener que quitar las manos de la parte principal del teclado termina siendo sumamente útil.

Para quienes quieran aprender un poco más y darle una chance a Vim, que seguirá estando cuando las interfaces estilo Minority Report pasen de moda, tienen más información en Vim University. Dejo debajo un video (en inglés; menos de 6 minutos en total) donde se explica cómo crear macros.

Como Vim está centrado en el teclado, presten atención a la esquina inferior derecha del video, donde se van mostrando las teclas que el autor pulsa (ya que la mayoría son comandos que no se ven en el editor). Espero que les de una idea de la relación simplicidad/flexibilidad de este editor.

martes, 31 de enero de 2012

Video: HTML 5 para los no iniciados y curiosos, por Cristian Prieto (y más de Alt.NET Hispano)

Alt.NET Hispano

Los amigos de Alt.NET Hispano, coordinados por el infatigable Jorge Gamba, han publicado el video de otra reunión VAN (Virtual Alt.NET).

La sesión que menciono en en título, e incluyo debajo, es una de las últimas, pero aprovecho para hacer una actualización sobre la actividad del grupo, que sigue manteniendo un espectro de intereses bastante amplio, con centro en .NET y su ecosistema, pero llegando a montones de otros entornos, como Ruby, JavaScript o HTML5, como en este caso.

Como mencioné en un viejo post, Alt.Net Hispano realiza sesiones en vivo (utilizando Live Meeting) de entre 60 y 120 minutos con frecuencia semanal, a veces más de una por semana, que quedan disponibles en video posteriormente, sobre multitud de temas, siempre en español.

Com complemento a aquel viejo post, dejo una lista de las sesiones publicadas desde diciembre de 2010 hasta ahora (en total el grupo lleva publicadas ¡81 sesiones!).

Fecha Tipo Título Presentador
Duración
81 2012/01/28 VAN Introducción a fubuMVC Francisco Ruiz 1:56
80 2011/12/17 VAN HTML 5 para los no iniciados y curiosos Cristian Prieto 2:04
79 2011/10/08 VAN vNext, ASP.NET 4.5, Webmatrix 2 y MVC4... (Parte 2) Cristian Prieto 1:52
78 2011/09/24 VAN vNext, ASP.NET 4.5, Webmatrix 2 y MVC4... (Parte 1) Cristian Prieto 1:48
77 2011/08/06 VAN Node.js Hernán García 1:52
76 2011/07/23 VAN Conceptos de HTTP y Fiddler web debugger Leonardo Micheloni 2:13
75 2011/06/18 VAN Identity Providers, oAuth y Autenticaciones on-line Carlos Peix 
Nelo Pauselli 
2:16
74 2011/06/11 VAN Generación de código, con Essential Pedro Molina 2:35
73 2011/05/28 VAN Pex, Moles y Code Contract Esteban Gringerg 2:11
72 2011/05/27 VAN REST Services y WCF's Web Api Pablo Cibraro 
Gustavo Machado
José Romaniello
1:50
71 2011/05/21 VAN Reescribiendo ensamblados con Mono.Cecil José Romaniello 2:17
70 2011/05/13 ALT.NET Café Web Frameworks 1:34
69 2011/03/05 VAN Conform - Parte 2 Fabio Maulo 2:14
68 2011/02/26 VAN Audit (parallel model) con NHibernate 3 Fabio Maulo 2:04
67 2011/02/19 VAN CQRS Andrea Magnorsky 2:09
66 2011/02/12 VAN Estrategias para el manejo de sesión de NHibernate Parte II Nelo Pauselli
José Romaniello
2:09
65 2011/02/04 ALT.NET Café La Inmortalidad de la Medusa - Arquitectura 1:25
64 2011/01/29 VAN Programando con Windows Azure Angel "Java" López 2:10
63 2010/12/04 VAN Estrategias para el manejo de sesión de NHibernate Nelo Pauselli 2:16
62 2010/11/27 VAN ASP.NET MVC 3 & NuGet Cristian Prieto 1:59
61 2010/11/26 VAN Code Smells & Refactoring Martín Salías 2:02
60 2010/11/20 VAN Ruby on Rails Mario Chávez 1:54
59
2010/11/17
VAN
Entity Framework
Jorge Fioranelli
2:31
58 2010/11/16 VAN Cloud Computing Martín Salías 2:27

Hay muchísimo material para disfrutar, y les dejo el video de Cristian para abrir el apetito.

Unable to display content. Adobe Flash is required.

lunes, 30 de enero de 2012

Llegaron los monos a Heroku (+ video)

Mono en Heroku

Heroku es un servicio PaaS (Plataforma como Servicio), que permite publicar en la nube aplicaciones Ruby (el lenguaje soportado originalmente), Node.js, Scala, Java y Python.

La plataforma es fabulosa porque tiene un modelo de escala muy interesante, y es muy sencillo montar aplicaciones de manera gratuita por bastante tiempo, hasta que el volumen de tráfico y consumo de recursos requiere que se pase a un plan pago (lo que en muchos casos debería suceder cuando la aplicación ya está generando dinero).

Por otro lado, Heroku es una de la plataformas en su tipo con mayor simpleza para el despliegue y mantenimiento de las aplicaciones. Fuertemente basada en los flujos de trabajo de GIT, el sistema distribuido de control de versiones (creado por Linus Torvalds), para las plataformas soportadas directamente, desplegar una aplicación es tan simple como ejecutar desde la línea de comandos, parados sobre nuestro repositorio de GIT local:

git push heroku master

Y listo. Heroku se encarga de resolver todas las dependencias de acuerdo a las convenciones de cada plataforma (bundle en Ruby, NPM en Node, etc), lo que usualmente es muy rapido, y hace que nuestra aplicación esté disponible en segundos.

Bueno, esto ya debe ser conocido por la mayoría de los lectores de este blog. La novedad es que Ben Hall, un colega desarrollador que trabaja regularmente en ASP.NET y Rails, encontró la manera de desplegar en Heroku una aplicación basada en Mono (la implementación abierta y gratuita de .NET).

La aplicación de prueba está escrita en C# y basada en el framework Nancy (basado en Sinatra, un framework web minimalista para Ruby; Nancy es el nombre de la hija de Frank Sinatra). Como Ben explica en este post, este mecanismo no está soportado en lo más mínimo por Heroku, pero abre el camino para que eventualmente sea soportado (nótese que todos los lenguajes soportados además de Ruby fueron agregados en los últimos seis meses, aproximadamente).

Aunque el proceso es bastante experimental (requiere desplegar unas cuantas piezas de infraestructura sobre el stack Cedar de Heroku, que es el más nuevo de los sabores, y provee proceso sobre Ubuntu 10.04, y sobre el que corren todos los nuevos lenguajes.

La prueba final de que esto puede pasar de ser un experimento a algo más es que Chris Kemp, del equipo de Soluciones Técnicas de Salesforce.com (la compañía dueña de Heroku) grabó este video (en inglés) en el que muestra cómo poner en práctica la receta de Ben. Disfrutenlo, y esperemos que dentro de un tiempo podamos tener soporte más directo para Mono en Heroku.

jueves, 29 de diciembre de 2011

El año del código abierto para .NET (+video: .NET en Chrome!)

OuterCurve Foundation

Se va terminando el año 2011 y mirando hacia atrás desde la perspectiva de la comunidad .NET somos varios los que vemos que este año fue sumamente importante para el código abierto en ese entorno. Y no estoy hablando solamente de Microsoft, ya que .NET ya tiene entidad independiente de su creador original.

Para los que tienen ganas de leer posts más largos y en inglés, recomiendo los de Phil Haack (hasta hace poco líder del ASP.NET MVC en Microsoft, ahora trabajando para GitHub) y Miguel de Icaza (el incansable líder del proyecto Mono).

Este post es un resumen breve del contenido que ellos exponen, con algunas apreciaciones personales.

El modelo Open Source fue algo que Microsoft, con su tradición de secretos y licenciamiento complejo, tardó muchísimo en incorporar. Y más complejo aún el modelo de Free Software, que implica tanto apertura como gratuidad de los productos. Sin embargo, desde hace años, con pioneros como IronPython, el DLR, y más tarde ASP.NET MVC, varios productos de la plataforma de desarrollo empezaron a producirse bajo esta premisa. Un punto culminante de esta iniciativa fue en 2008, cuando Microsoft anunció que comenzaba a incluir jQuery en Visual Studio, colaborando con el proyecto (de manera abierta, como cualquier otro) e incluso brindando soporte sobre el mismo.

Al entender la importancia del movimiento, Microsoft finalmente generó una Fundación llamada OuterCurve (originalmente se llamaba CodePlex, pero usar el mismo nombre que su sitio de alojamiento de código resultaba muy confuso), que como la Fundación Apache, permite resguardar los derechos del código y de los autores en un ambiente controlado. Muchos proyectos hoy existen bajo OuterCurve, aunque hay muchos también directamente en Apache.

Finalmente, este año Microsoft avanzó más en ese sentido, mejorando notablemente las condiciones de búsqueda e integración de código abierto propio o de terceros, a través de NuGet, el administrador de versiones para .NET, inspirado en Ruby Gems y similares. NuGet se integra en Visual Studio o puede usarse en la línea de comando, y permite buscar en un catálogo muy abundante actualmente de componentes abiertos, instalarlos en nuestros proyectos, incluyendo todas sus dependencias, e incluso automatizar tareas relativas a su instalación y uso, como declararlos en configuraciones, generar código u otros artefactos desde la consola, etc. NuGet también facilita mantener actualizadas, si es necesario, todas las versiones de estos paquetes.

Pero como decía al principio, .NET va más allá de Microsoft (y de Windows) desde hace tiempo, y la alternativa principal es el proyecto Mono, que como Miguel comenta en su post, tuvo un año increíble, lleno de novedades. La más importante para el proyecto mismo fue la venta de Novell a Attachmate y el posterior corte del equipo completo de Mono, que rápidamente se reincorporó como Xamarin, un reflejo directo de Ximian, la compañía original de Miguel y Nat Friedman que Novell adquiriese años antes.

Más allá de la reagrupación, que no redujo en lo más mínimo el impulso del proyecto Mono, a pesar de que el equipo de Xamarin se concentró en poner en el mercado MonoTouch y Mono for Android (productos comerciales que les permiten seguir sobreviviendo). Mientras tanto, el equipo de Mono (que excede también a Xamarin, como todo gran proyecto abierto) entregó este año una avalancha de tecnologías (más allá de varias versiones del runtime mismo de Mono y de MonoDevelop, su IDE), incluyendo:

  • .NET en el navegador (al menos en Chrome) a través de Mono corriendo en el Native Client de Google. De hecho, Google mostró Mono en Chrome en un evento reciente, del que dejo el video al final de este post. Aunque el año pasado ya se podía programar en mono y utilizar el compilador estático para ejecutar código dentro de Chrome, este año ya se puede ejecutar el compilador a demanda (JIT) de Mono.
  • MonoMac es una extensión de Mono para programar aplicaciones para Mac OS X en .NET, incluyendo el soporte para Cocoa y todo el entorno del sistema operativo. Se programa utilizando MonoDevelop y algunas herramientas nativas como los diseñadores de XCode.
  • MonoGame (ya comentado antes en este blog) es un port del entorno de desarrollo de juegos XNA de Microsoft, pero abierto y con mayor alcance en plataformas.
  • Sony PlayStation Suite es un framework de Sony para desarrollar juegos en diferentes dispositivos de su línea, completamente basado en Mono.
  • Phalanger es un compilador de PHP, actualmente basado en Mono, utilizando el DLR, que además de ser el motor PHP de mayor rendimiento, permite extender ejecutar cualquier aplicación PHP y extenderla con librerías o aplicaciones .NET.
  • CXXI es una tecnología puente entre C# y C++ que permite ejecutar código de una a otra plataforma, pero también heredar clases entre ellas, sobre-escribiendo métodos o no, o llamando a la clase base, todo de manera muchísimo más sencilla, segura  y multi-plataforma que utilizando COM.
  • Y hay bastante más (ver el post de Miguel para el detalle completo), pero como detalle final, Miguel descubrió que Microsoft mismo utilizó Mono para producir el juego Kinectimals para iOS. ¡Toda una ironía!

Dejo el video (en inglés) del evento de Google Client para que lo disfruten:

miércoles, 23 de noviembre de 2011

Video: Migrando el modelo de negocio de SaaS a PaaS, por Andrés Vettori

Andrés Vettori

Esta es la última de las sesiones de la reciente Jornada de Arquitectura de Software organizada por el MUG en UADE, a cargo de Andrés Vettori, CTO de VMBC y reconocido miembro de la comunidad de desarrollo en Argentina.

De hecho, Andrés es casi un prócer para mucha gente, desde hace muchos años, estando al frente de un equipo de desarrollo dentro de una multinacional metalúrgica de capital argentino, donde tuvo la oportunidad de liderar muchos proyectos de software de base por donde pasaron muchos de los desarrolladores más conocidos y respetados en el mercado local actualmente, que aprendieron con él mucho sobre la manera de encarar los problemas, lidiar con tecnología cambiante y balancear las presiones del negocio con una visión de largo plazo.

Andrés es también autor de Retina, uno de los primeros ORM para .NET, y un blogger técnico muy afilado.

En la charla, Andrés cuenta cómo la sofisticación del tipo de aplicaciones que desarrolla su equipo para los clientes de su compañía exigían cada vez más flexibilidad y menores tiempos de desarrollo y puesta en marcha, por lo que lentamente fueron virando su modelo y la arquitectura subyacente de Software como Servicio (SaaS) a una Plataforma como Servicio (PaaS) que brinda mejor soporte a su equipo, permitiendo separar los esfuerzos de aplicaciones propiamente dichas del desarrollo de la plataforma subyacente. La presentación está disponible en su Skydrive.

miércoles, 16 de noviembre de 2011

Video: ¿Dónde quedó SOA?, por Roberto Schatz

Roberto Schatz

Llegando casi al final de las sesiones de la reciente Jornada de Arquitectura de Software organizada por el MUG en UADE (nos queda una más), le toca el turno a Roberto Schatz, figura emblemática de las Arquitecturas Orientadas a Servicios.

Roberto fue uno de los responsables de la estrategia de Servicios de Banco Galicia en Argentina, construyendo un ecosistema SOA basado en mainframe, y adelantando en mucho el área de Arquitectura internamente, cuando esta disciplina todavía no era demasiado reconocida. Conozco grandes profesionales surgidos de ese grupo, hoy distribuidos por el mundo y con una importante carrera iniciada junto a Roberto.

Años después Roberto se convirtió en el líder de Arquitectura de Software dentro de Microsoft, iniciando actividades junto a la comunidad como los Desayunos de Arquitectos, que aún continúan después de varias generaciones de anfitriones en Microsoft Argentina. Por esa época tuve la oportunidad de colaborar con Roberto en varios proyectos, sobre todo en el sector público, realizando entrenamientos y ayudando a organizaciones a construir aplicaciones.

Más recientemente Roberto estuvo a cargo del área de Arquitectura de ANSES, la Administración Nacional de la Seguridad Social en Argentina, uno de los organismos más grandes y complejos en el país, con aplicaciones que soportan millones de operaciones diarias de toda la ciudadanía.

En esta sesión Roberto recorre un poco el escenario histórico de SOA y algunos de los problemas principales que este estilo encontró en el camino, desde la exageración de los proveedores hasta la paradójica inconsistencia de los estándares. Sin embargo, él sigue rescatando los pilares conceptuales de SOA, y explica por qué sigue siendo relevante, aunque en lugar de basarnos en SOAP utilicemos otros protocolos.

Dejo debajo los cuatro segmentos de unos 15 minutos cada uno.

viernes, 11 de noviembre de 2011

Se acaba Flash, poco a poco (+video)

Adobe Flash

Después de mucho ruido en la comunidad a partir de la decisión de Apple de no soportar Flash en iOS, hace más de un año atrás, esta vez fue Adobe quien decidió dejar de insistir con una plataforma que efectivamente nunca funcionó correctamente en dispositivos móviles.

En un comunicado anteayer, Danny Winokur, gerente general de desarrollo interactivo de Adobe expresó claramente que Adobe dejará de desarrollar Flash para dispositivos móviles (teléfonos y tabletas) para concentrarse en computadoras.

Winokur dice en el comunicado (traducciones mías) cosas como: "Durante los últimos dos años hemos entregado Flash Player para navegadores móviles y provisto la expresividad completa de la web a muchos dispositivos móviles". Personalmente creo que pensar que Flash es definitorio para la expresividad de la web es un acto de arrogancia que Adobe está pagando. Por otro lado, estas versiones de Flash para móviles nunca funcionaron correctamente, por problemas genéricos en su diseño básico, tal como detallara Jobs en su momento, en sus durísimas aclaraciones al vedar este producto en sus plataformas.

El texto continúa explicando el nuevo foco de Adobe respecto a estos dispositivos (el énfasis también es mío): "sin embargo, HTML5 ya es soportado universalmente en los dispositivos móviles principales, en algunos casos exclusivamente. Esto convierte a HTML5 en la mejor solución para crear y desplegar contenido en el navegador a través de las plataformas móviles. Estamos excitados con esto y continuaremos trabajando con los principales jugadores de la comunidad HTML incluyendo a Google, Apple, Microsoft y RIM para producir innovación en HTML5 que ellos puedan utilizar para avanzar sus navegadores móviles".

Me suena como una dósis de realidad, y también una manera de tratar de mantenerse relevante en un escenario que claramente les ha restado protagonismo. Más allá de herramientas de edición (algo en lo que Adobe todavía mantiene un liderazgo considerable) no veo cuánto puedan aportar a los navegadores, que realmente avanzan tecnológicamente liderados por Mozilla, Google y Apple, seguidos por Microsoft que está comenzando a ponerse a tono.

Como cierre de la noticia, les dejo un video (en inglés) de unos dos minutos de una entrevista en la que Jobs explicaba brevemente el porque veía a Flash como una plataforma nociva para la web, sobre todo desde el punto de vista móvil.

miércoles, 9 de noviembre de 2011

Video: Arquitecturas y Organizaciones, por Diego Fontdevila (+ invitación)

Diego Fontdevila

Comparto con ustedes otros de los vídeos de la reciente Jornada de Arquitectura de Software organizada por el MUG en UADE. Esta vez le toca el turno a Diego Fontdevila y su sesión sobre las similitudes y ecos entre las arquitecturas de software y las organizaciones que las construyen o mantienen.

Diego es uno de los socios fundadores de Grupo Esfera, una empresa dedicada a consultoría, desarrollo y capacitación con fuerte foco en la plataforma Java y otras tecnologías de software libre. Diego también es docente en la UBA, UNTREF y UNLAM, y está estudiando en el programa de Software Engineering Management de Carnegie Mellon y el SEI.

Nos conocimos durante Agiles 2008, la primer edición de las jornadas latinoamericanas, y nos hicimos amigos a través de los años y las actividades conjuntas en torno a esta comunidad. Tuvimos la oportunidad de colaborar en algunos proyectos e incluso publicamos juntos un paper sobre arquitectura y métodos ágiles que también presentamos varias veces, siempre agregando detalles.

En esta sesión Diego habla sobre la relación entre las formas de las organizaciones y las estructuras tecnológicas que engendran, y cómo es altamente improbable poder quitarles la impronta que una impone a la otra, aportando visiones de diferentes disciplinas e ideas de varios autores y vertientes. La sesión da para un intenso debate o mas participación, y para eso Diego va a repetirla la semana próxima en la próxima reunión de Agiles @ Buenos Aires. Como siempre, este evento es abierto y gratuito, pero requiere registro previo.

Les dejo el video, en 4 partes de 15 minutos aproximadamente.

martes, 8 de noviembre de 2011

Video: Arquitectura Orientada a la Web, por Diego Gonzalez

Diego Gonzalez

Siguiendo con las sesiones de la reciente Jornada de Arquitectura de Software organizada por el MUG en UADE, esta vez publico el video de la sesión de Diego Gonzalez acerca de arquitecturas centradas en la web.

Diego es uno de los fundadores de Lagash, una consultora argentina que se ha expandido a algunos otros puntos de América Latina, y que es reconocida en el mercado por la capacidad de su gente y por un espíritu innovador y creativo a la hora de resolver problemas, del que Diego es parcialmente responsable con sus socios. Desde hace muchos años tengo el placer de trabajar de tanto en tanto con Diego y su equipo, e incluso hemos llegado a compartir una cátedra de Arquitectura de Software.

En su sesión, Diego realiza algunas consideraciones generales en cuanto a arquitectura, y después indaga en las características que la web ayudó a establecer, y a una serie de tendencias que le parecen las más importantes a tener en cuenta en aplicaciones modernas.

Dejo a continuación las cuatro partes del video, de unos 15 minutos cada una.

jueves, 3 de noviembre de 2011

Video: Lenguajes dinámicos meta-circulares, por Hernán Wilkinson

Hernán Wilkinson

En la reciente Jornada de Arquitectura de Software organizada por el MUG en UADE, Hernán Wilkinson presentó esta sesión sobre lenguajes dinámicos en el contexto de entornos meta-circulares, un valor agregado a las características básicas de los tipos dinámicos.

Hernán es uno de los principales especialistas locales en programación y diseño orientado a objetos, uno de los miembros fundadores de FAST (la Fundación Argentina de Smalltalk) y organizador de la conferencia anual internacional Smalltalks que se realiza en Argentina en diversas localidades, en forma rotativa (la edición 2011 está corriendo hoy mismo en Quilmes).

Actualmente Hernán es uno de los socios de 10pines, una consultora de entrenamiento y desarrollo de software especializada en metodologías ágiles y buenas prácticas de ingeniería.

En la sesión (de una hora aproximadamente) podrán verlo explicar conceptos generales sobre lenguajes dinámicos, puntualizando la diferencia entre tiempos de evaluación y chequeo de tipos, y profundizando luego en la diferencia de flujo de trabajo al efectuar TDD en entornos meta-circulares como una imagen de Smalltak.

No tengo disponibles los slides de la sesión, pero una buena parte de la presentación incluye ejemplos sencillos en Java y en Smalltalk, con lo que el video es más importante. Van a continuación las cuatro partes de aproximadamente 15 minutos cada una.

martes, 1 de noviembre de 2011

Video: Equipos Agiles Distribuidos, por Ariel Schapiro

Ariel Schapiro

En la reunión de septiembre de Agiles en Buenos Aires (tomó un tiempo publicar el video, pero finalmente llegó), Ariel Schapiro presentó esta sesión sobre cómo manejar equipos ágiles en contextos distribuidos, algo que hacemos frecuentemente en Southworks, la empresa en la que ambos trabajamos.

Ariel recorrió una serie de desafíos particulares de mantener un enfoque fuertemente iterativo y basado en la comunicación en un contexto de miembros remotos, y comentó muchas de las prácticas que encontramos para minimizar el impacto de la distancia, mapeando los riesgos principales y trabajando preventivamente en minimizarlos.

Pueden ver los slides de Ariel en slideshare.

Todavía no está anunciada la fecha y el tema de la reunión de noviembre, pero en cuanto tenga novedades estaré comunicándolas en este blog.

 

A continuación, el primer segmento de la sesión. Si quieren verla completa, dejo debajo los links a las 5 partes.

Parte 1 - Parte 2 - Parte 3 - Parte 4 - Parte 5