Primer coding dojo en #xdp

El pasado jueves 28 de abril, la comunidad #xdp celebró su primer coding dojo en Sevilla, con la colaboración de emergya que nos facilitó sus instalaciones.

Un coding dojo no es más que juntarse un grupo de personas a resolver un ejercicio de código (kata) por el mero hecho de practicar, con el objetivo de mejorar nuestras habilidades y discutir sobre el código que vamos produciendo.

Juanma Laó escogió para la ocasión el ejercicio de abril propuesto por la iniciativa 12 meses 12 katas, la kata del bowling.

Nos juntamos 6 personas, y tras las presentaciones de rigor y una breve introducción a TDD empezamos a analizar el problema.

Javi Soler y Juanma Laó (juanlao)
Javi Soler y Juanma Laó (juanlao)
Javi Fernández (Mudi) y Pablo Escribano (huelvafriki)
Javi Fernández (Mudi) y Pablo Escribano (huelvafriki)
Christian López (penyaskito) y Víctor Ramírez (virako)
Christian López (penyaskito) y Víctor Ramírez (virako)

Menos mal que vino Javi Soler que sabía jugar a los bolos, porque el enunciado me resultó un poco complicado de entender.

Javi Soler nos explica la puntuación de los bolos
Javi Soler nos explica la puntuación de los bolos

Nos sentamos por parejas, y empezamos a hacer las pruebas. En contra de las otras 2 parejas que eligieron c#, Virako y yo elegimos python, con la librería unittesting para las pruebas.

Tras unos cuarenta minutos de programación, pronto iniciamos una discusión sobre qué pruebas habíamos hecho. Unos optamos por implementar las pruebas sugeridas por el problema, otros por pruebas más simples en función de distintas partidas con distinta complejidad de cálculo de puntuación de la partida… También discutimos sobre cómo habíamos o no decidido prematuramente el algoritmo a utilizar para calcular la puntuación. Es curioso como tres parejas distintas abordamos de forma totalmente distinta tanto los algoritmos como el enfoque de la kata.

Al final se nos hizo tarde, y tras tres horas de (poco) código y (mucha) discusión, disolvimos la reunión no sin antes hacer la retrospectiva de la sesión. Para mi, siendo mi primera kata en grupo, la experiencia fue muy enriquecedora.

Imagen de la pizarra tras la retrospectiva
Imagen de la pizarra tras la retrospectiva

If programmers have make a plane…

ASP.NET: Getting the absolute url of a web page

Recently, I needed the way of getting the absolute URL of a web page in ASP.NET. With absolute URL, I mean the url what clients have to point to their browsers (this URL will be sent by mail), not the absolute URL relative to the web app, like the ASP.NET API seems to understand ‘absolute’.

I thought that there would be some method in the .NET Framework, but if it exists, I missed it. I looked at System.Web.VirtualPathUtility, System.IO.Path, System.Web.UI.Page and System.Web.HttpServerUtility, but no luck.

So I had to implement this. It is only a line of code, but I think that this can be useful for anyone else (including Future Me).

           String url = new Uri(Context.Request.Url, 
                            ResolveUrl("~/Example.aspx")).ToString();

If you’re using the development server Cassini, included with Visual Studio, it will return something similar to http://localhost:1234/Example.aspx. In production on IIS, it will return something like http://example.com/Example.aspx.

If you know a better way of getting the absolute URL from a page, feel free to leave a comment.

Cola: Real-Time Shared Editing

Today when updating my RSS reader I found a link to a very interesting video in Vimeo. It is a demo about the new ‘cooperation mode’ in Eclipse. I felt in love with Gobby the first time I saw it, but never found the chance of using it.

But Cola, of the Eclipse Communication Framework team, can really revolutionize what we understand for pair programming and increase the adoption of this practice.

Check Mustafa K. Isik’s blog for further details.

Nueva lista de correo sobre ecosistemas software

Leo en lo de Manuel Recena:

En esta ocasión escrito para comunicar que se ha creado una nueva lista de correo (http://groups.google.com/group/ecosistemas-software ) para tratar temas relacionados con ecosistemas software basados en herramientas con licencias de código abierto. La lista de correo acaba de ser creada y esperamos que sea bien aceptada por la comunidad de desarrolladores.

Particularmente mi aportación estará centrada en las herramientas con la que tengo experiencia, sin embargo, tengo mucho interés por conocer otras configuraciones de ecosistemas software. Esas herramientas son Maven, Archiva y Continuum, todas ellas de Apache Foundation.

Logotipo de Apache Foundation

Yo ya estoy apuntado… ¿Lo harás tú?