miércoles, 18 de julio de 2012

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: