enero 21, 2009

MVP otra vez

image

Demorado primer post del año:

Microsoft todavía no se convence, y me ha premiado nuevamente como Most Valuable Professional, por sexto año consecutivo.

La categoría en que me premian es C# (en la foto un C# menor, más acorde a mis habilidades), un lenguaje que me encanta y el que uso la mayor parte del tiempo, aunque gran parte de mi actividad en el último año tuvo que ver con Python y el DLR. Como éstos no son aún productos y no tienen su propia categoría, C# está muy bien. Al fin y al cabo, también es el lenguaje en el que está escrito el intérprete de IronPython.

Aprovechando este rconocimiento, y siguiendo la tradición de dedicarme fuertemente a un nuevo lenguaje todos los años, creo que éste voy a volver a concentrarme en C#, que aunque no es nuevo, está incorporando grandes innovaciones en la próxima versión 4.0, una de ellas, casualmente, características dinámicas basadas en el DLR (de las que estuve hablando ya en algunos eventos locales).

De todas maneras, el compromiso del nuevo lenguaje anual sigue en pie y este año quiero seguir aprendiendo F#, que suena muy bien en conjunto con C#, y cada vez me resulta más atrayente.

 

Como este premio tiene que ver con la comunidad, no puedo dejar de agradecer a toda la gente que me alienta y me pasa feedback (del malo y del bueno), y de paso al amigo Fernando García Loera, mi MVP Lead, que va a tener que soportarme un año más.

En resumen, mi intención es empezar a publicar más frecuentemente en este blog artículos sobre C# y F#, seguramente usando Silverlight, REST y ASP.NET MVC, que son las cosas con que más juego últimamente.

noviembre 14, 2008

Mocking by Leo

leo Entre los temas que teníamos con Angel en la sesión Vivir Programando, pero que no alcanzaron la prioridad necesaria para entrar, estaba el de Mock Objects.

Sin embargo, los interesados pueden anotarse en la recomendable charla que va dar el martes 18 el amigo Leo Micheloni:

SEMINARIO GRATUITO: "Mock Objects como solución para pruebas en ambientes complejos".

Tuesday, November 18, 2008

Lugar: Auditorio MUG Rivadavia 1479 1º Piso - Buenos Aires Argentina.
Orientado a desarrolladores y equipos que utilizan pruebas de unidad y son concientes de la problemática de probar componentes con dependencias más allá del ámbito de la prueba.

noviembre 12, 2008

Vivir programando

liveToCode Ayer a la mañana dimos en el MUG, con el Maestro Angel “HPC” López, la sesión del título, concentrada en el oficio del programador, incluyendo aspectos organizativos, profesionales, técnicos y hasta sociales.

La audiencia, bastante más abundante de lo que esperábamos para un martes a la mañana, pareció haberlo disfrutado. Ya veremos las evaluaciones finales para corroborarlo, pero nosotros también nos divertimos mucho.

Probamos una dinámica diferente, que consistió en preparar una lista que llegó a 43 items (temas) potencialmente tratables. Tocaban muchas áreas, por lo que los clasifiqué (un tando arbitrariamente) en cinco categorías bastante discutibles, con el objetivo de facilitar la búsqueda, ya que cada uno estaba escrito en un post-it y pegado en un pizarrón.

En el inicio hicimos con Angel una introducción general en la que hablamos de:

image

 

La historia de la programación como oficio, desde Lady Augusta Ada Byron, considerada generalmente como la primer programadora, aunque el código que escribió para la máquina diferencial de Charles Babbage nunca se pudo ejecutar (ya que la máquina nunca pudo producirse, por limitaciones tecnológicas de la época).

Angel también se le atribuye a veces el invento de la subrutina, ya que se dió cuenta tempranamente de los problemas de la duplicación de código. Si los programadores generaramos nuestra propia religión, Ada sería nuestra diosa.

 

Algunos de los otros próceres que incluimos en el slide incluyen a Hollerith, el inventor de la tarjeta perforada como dispositivo de almacenamiento de datos, Alonzo Church, quien definió el Lambda Calculus, y al tío John McCarthy, que inventó LISP. Por supuesto son sólo algunas de las figuras que generaron nuestro “sindicato”.

image image

image image

Luego hablamos brevemente sobre cómo evolucionó y el estado de hoy del control de proyectos y las prácticas de ingeniería que permiten llevar adelante desarrollos de mayor calidad y menor riesgo; hablamos del valor de la comunicación dentro y fuera de los equipos, hacia la comunidad, los clientes y demás; y finalmente sobre tendencias a futuro. Todo esto fue introductorio, ya que estos temas quedaron a priorizar por los asistentes.

Aquí empezó la parte principal de la sesión. Este era el temario general propuesto:

image

Sobre estos mismos temas, en los post-it, la audiencia comenzó repartiendo cinco puntos per-capita, y al terminar tomamos los seis más votados y comenzamos a hablar de ellos, limitándonos a 10 minutos por cada uno, cubriendo una hora, hasta llegar al coffee break.

Mientras tomaban café y estiraban las piernas, pedimos a los asistentes que repartiera otros 5 votos cada uno, con lo que obtuvimos una nueva priorización para la segunda parte de la sesión.

En resumen, le dimos al público la posibilidad de seleccionar el contenido que creían más valioso, y al fraccionar la selección en dos iteraciones dejamos que la primer parte de la sesión influyera en sus preferencias para la segunda, como el resultado de una iteración en un proyecto influencia la planificación de la siguiente.

image 

Como siempre, cerramos con referencias bibliográficas, pero también con nuestros datos de contacto para que los interesados puedan profundizar en estos temas (sé que ponerlos como imagen no es muy accesible, pero es una medida anti-spam):

Datos de Angel Lopez Datos de Martin Salias

En resumen, la experiencia salió bastante bien, y algo interesante es que nos quedaron un montón de temas por tratar, gran parte de ellos priorizados, así que seguramente estarán leyendo sobre éstos en nuestros blogs próximamente.

Gracias como siempre al MUG por brindarnos el lugar y la atención, y a la gente por participar activamente de la propuesta.

noviembre 06, 2008

Charlando hasta por los codos

CharlatánLas próximas dos semanas van a ser bastante ocupadas para mi, ya que tengo, además de varios proyectos en marcha en Southworks y clientes que asistir para Microsoft Argentina, tres eventos por delante, a los que por supuesto, están todos invitados.

 

Martes 11: Vivir programando (MUG)

Esta media jornada con el Maestro Angel “HPC” López estará centrada en el oficio del programador y cómo podemos mejorar en esta carrera. Tenemos muchísimos temas por tratar, pero dejaremos que la audiencia los priorice para ver cuáles tratamos. Algunos de los propuestos son:

    Herramientas, Generación de código, Control de Fuentes, Pruebas Unitarias, TDD, Mock Objects, Inyección de Dependencia, Trabajo sobre código Legacy, Análisis de código, Integración contínua, Lenguajes de Programación, Frameworks, Construcción de APIs, Documentación, Capacitación, Soporte, Actualización Profesional, Entrenamiento, Mejora Continua, Recursos (Libros, blogs, revistas), Open Source, etc.

 

Martes 18: PDC Essentials (Microsoft)

Este evento será la versión tercermundista del PDC terminado la semana pasada en Los Angeles, Obamalandia. Comprimiremos gran parte de la información presentada en este megaevento en medio día y tres tracks consecutivos.

Mi sesión es la que se titula “El futuro de los lenguajes manejados: F#, C# y Visual Basic”, y pueden tener por seguro que voy a mostrar cosas interesantes de los que vienen en los dos primeros, y algún slide sobre el 2do.  :)

 

Viernes 21: Webcast sobre Data Services (MSDN)

En este webcast voy a charlar nuevamente sobre el proyecto antes conocido como Astoria, mostrando el estado actual, y posiblemente algo de lo que viene en la próxima versión del framework. Todavía estoy viendo cuánto puedo comprimir en una hora de charla.

Recuerdo cuando empecé a hablar de REST hace un par de años, que era un concepto raro en el mundo Microsoft, y es interesante ver como en los últimos tiempos se ha expandido desde Astoria, via Windows Live hasta impactar toda la plataforma Windows Azure.

octubre 30, 2008

Desarrollo Agil en p&p

Una más de p&p: acaban de estrenar un sitio llamado Agile Development Showcase, donde están unificando el contenido relacionado con esta metodología de desarrollo, que ellos utilizan y han promovido fuertemente dentro de Microsoft (con creciente éxito) y hacia la comunidad en general.

Especialmente interesante es el whitepaper 20 páginas de Ade Miller titulado Distributed Agile Development at Microsoft patterns & practices, donde detalla muchas de las lecciones aprendidas en ese sentido a través de los proyectos que p&p desarrolla permanentemente con equipos en varias partes del mundo. Por supuesto, este estudio me resulta muy grato porque Southworks, la compañía para la que trabajo, es un colaborador frecuente en estos proyectos, y nuestro funcionamiento interno tiene mucho que ver con estas prácticas y otra más que espero compartir en algun momento.

Novedades de p&p

patterns & practices

Los amigos de patterns & practices han liberado dos nuevos entragables, claramente relacionados:

 

Unity Application Block 1.2

Es un contenedor liviano para Inyección de Dependencias (parecido pero diferente de Windsor Container, o StructureMap).

Sin entrar en detalles (para eso está el otro Martin, je), el uso de esta técnica simplifica la creación de objetos, sobre todo cuando son grafos complejos, e independiza a los consumidores de las implementaciones concretas de los componentes, facilitando la composición dinámica, o el mocking, lo que a su vez promueve la testeabilidad.

Más detalles, documentación, binarios y fuentes en la home de Unity en CodePlex.

 

Enterprise Library 4.1

Estimo que la mayoría de los lectores de este blog ya conocen EntLib, que es un conjunto de application blocks que brindan funcionalidades como logging, validación, caching, manejo de excepciones, etc, con un esquema de configuración unificado.

La gracia de EntLib es que ya se ha hecho bastante popular y hay muchísimo material de soporte incluyendo hands-on labs, tutoriales, webcasts, etc, y tiene eco en muchos blogs de gente que la utiliza, más allá de Microsoft. Además del sitio oficial de EntLib, hay un meta-proyecto con extensiones provistas por la comunidad, llamado EntLibContrib (dentro de CodePlex).

La nueva versión de EntLib actualiza la versión de Unity, tiene mejoras de rendimiento y en la herramienta de configuración, y sobre todo agrega soporte para Visual Studio 2008 SP 1.

octubre 24, 2008

Agiles 2008 – La emoción de que las cosas sucedan

Agiles 2008

Ayer terminaron las jornadas Agiles 2008, las primeras jornadas latinoamericanas sobre metodologías ágiles, realizadas aquí, en Buenos Aires, en el Hotel Bauen.

Fue una experiencia única y presonalmente conmovedora. Empezamos este proyecto como un grupo de amigos o conocidos online, sin ningún apoyo previo, y de manera totalmente independiente de las organizaciones para las que cada uno trabajamos (algunas de las que se sumaron más tarde –gratamente- como sponsors).

Panel de Cierre

Todavía me parece increíble el resultado:

  • El contenido y formato del evento (incluyendo las figuras invitadas) pueden verlo en el sitio web.
  • Tuvimos más de 400 asistentes sobre un total de 600 y algo de registrados en el sitio.
  • Asistieron grupos de Chile, Uruguay, Brasil, Perú, Colombia, Puerto Rico, Honduras, Bolivia, y Estados Unidos (y seguramente me estoy olvidando a alguien, porque no tengo la infromación a mano).
  • Durante el primer día TODAS las sesiones empezaron exactamente a horario, y el segundo, en que la gente llegó un poco más tarde, corrimos 15 minutos algunas de las sesiones de la mañana. La tarde volvió a funcionar como un cronómetro.
  • Nadie se perdió ni quedó flotando por los pasillos durante el tiempo de sesiones.
  • La mayor parte de las sesiones estuvo llena a tope, muchas de ellas con el cartelito de “completo”.
  • Los breaks con café, jugo y medialunas fueron sumamente ordenados y nunca nos quedamos sin víveres.

Y todo esto lo hizo el grupo organizador más algunos voluntarios a los que nunca vamos a poder terminar de agradecer, con  el apoyo incansable del equipo del Bauen, que siempre estuvo presente.

Organizadores y Voluntarios

Me llena de orgullo poder haber formado parte de este equipo, a pesar de lo poco que pude aportar personalmente, y quiero compartir con todo el mundo la emoción de sentir que este tema que nos apasiona y nos reúne funciona a todo nivel, y este primer evento es una prueba abierta y transparente de esa dinámica.

Este primer post sale así, en caliente y desde el cuore. Próximamente iremos publicando información más detallada de los resultados, y más fotos.

Mientras tanto, todos los interesados pueden ver periódicamente el sitio para más novedades, o sumarse a la lista de distribución donde todo se originó.