Mis estadísticas 2014

El fin de año es un período que comúnmente se utiliza para hacer un balance del año que se va. Yo mismo suelo hacerlo pero no pretendo aburrir a mis lectores con mi balance, sino que quiero compartir algo que me parece más interesante: estadísticas.

Para que se entiendan los números que quiero compartir es necesario que expliqué a grandes rasgos la forma en que suelo trabajar.

Mi trabajo se reparte entre actividades académicas (principalmente docencia) y ejercicio profesional. Este último lo hago en el contexto de proyectos, o sea, me involucro en el ecosistema del cliente, definimos objetivos de forma conjunta a cumplir en ciertos plazos. Luego trabajo de cerca con mi cliente de cara a lograr esos objetivos. Establecemos fecha de revisión en las cuales analizamos el trabajo realizado y el nivel de cumplimiento de los objetivos, en base a ello definimos la continuación o no de mi acuerdo de trabajo.

Yo suelo organizar mis jornadas de trabajo en base a pomodoros y mis acuerdos de trabajo suelen times & materials. Esto, sumado al hecho que me gusta ser muy transparente con mis clientes, me lleva a tener un registro detallado de las actividades realizadas y el tiempo insumido.

Si bien en los proyecto en que participo suelo hacer diversas actividades, siempre hay una que es la principal y que en cierto modo define mi rol en el proyecto. En este sentido mis proyectos se clasifican 4 grupos: desarrollo, testing (automatización de pruebas), operación (automatización de infraestructura) y capacitación (cursos informales y docencia universitaria).

Hecha la introducción quiero compartir en primer lugar cómo estuvo repartido mi tiempo en base al tipo principal de actividad que desarrollé en los proyectos que participé:

distribucion_actividad

Como muestra el gráfico precedente, mi principal actividad durante 2014 fue desarrollo, seguido en segundo lugar por capacitación la cual fue casi exclusivamente en contexto universitario. Hay algunas otras actividades que decidí omitir del gráfico por ser excepcionales (como la facilitación de eventos) o por no ser directamente facturables (como conferencias y el tiempo invertido en la escritura del blog y del libro).

Dado que mi principal actividad fue desarrollo, tiene entonces sentido analizar cuáles fueron las tecnologías con las que trabajé.

distribucion_tecnologia

 

La distribución de tecnologías está hecha en base a la tecnología principal del proyecto, por eso es que no figuran las tecnologías de presentación como HTML y CSS. Al mismo tiempo en lo que especifiqué como scripting estoy incluyendo cosas tales como shell script, powershell, puppet y chef.

Bueno, esto es todo por 2014, ¡nos leemos en 2015, felicidades!

Breve historia de las herramientas BDD

Uno de los mayores referentes en lo que a BDD respecta es Dan North. Hacia el año 2003 Dan se encontraba trabajando en ThoughtWorks cuando creo JBehave. Según el mismo cuenta, JBehave comenzó como un experimento para ver como podría haber sido JUnit si se hubiera concebido desde un principio como una herramienta para hacer TDD en lugar de un mero framework de pruebas automatizadas. Fue por aquel entonces que el dominio jbehave.org fue registrado. Con el correr del tiempo JBehave fue evolucionando con foco en la automatización de pruebas de aceptación.

Tiempo más tarde algunas ideas de JBehave fueron incorporadas por Dave Astels en RSpec.

Hacia 2007 Dan North inspirado por el la tracción generada por RSpec y con la intención de proveer una forma simple y elegante de describir comportamiento a nivel de aplicación publica RBehave, el cual trae como novedad la posibilidad de especificar comportamiento en texto plano, idea que luego daría origen a lo que en la actualidad se conoce como sintaxis Gherkin.

Al poco tiempo David Chelimsky incorpora en RSpec el soporte de especificaciones en texto plano.

En 2008 Liz Keogh and Mauro Taveli reescriben completamente desde cero JBehave haciendo uso de algunas característica recientemente incorporadas en Java 5 y utilizando JUnit 4 como runtime. Entre otras cosas incorporan soporte para especificaciones en texto plano e integración con Maven. El resultado es JBehave 2.

Por aquel entonces Aslak Hellesoy ya se encontraba trabajando en un reemplazo para el ejecutor de especificaciones en texto plano de RSpec, el cual sería bautizado como Cucumber. La primera versión de Cucumber fue liberada hacia fines del 2008.

Mi percepción es que Cucumber marcó un punto de inflexión en la difusión de BDD. Fue precisamente en el contexto de Cucumber que se estandarizó la sintaxis de especificación en texto plano y se la bautizó como Gherkin.

Fue tal el impacto de Cucumber, que en la actualidad existen herramientas de BDD con soporte para Gherkin implementadas en diversos lenguajes, algunas de ellas son directamente reimplementaciones de Cucumber sobre otras plataformas (tal es el caso de Cucumber-JVM).

Fuentes:

 

Primeros pasos con Scala: FooTest

En último lenguaje que decidí aprender fue Scala y siguiendo la política que mencioné en un post anterior, comencé programado un FooTest.

Al intentar hacer esto me encontré que Scala, a diferencia de Ruby, no viene con ningún framework de test incluido. Luego de investigar un poco encontré que hay más de una herramienta de test disponibles en la web. Finalmente decidí utilizar ScalaTest. En cuanto a herramienta de build ya sabía de la existencia de SBT, así que simplemente investigué cómo hacer que SBT ejecutara los tests escritos con ScalaTest. El resultado fue este proyectito.

footest_scala

 

Las Heras Basket, historia de un logro merecido

Una vez más voy a tomarme una breve licencia para desviarme de la temática habitual de este espacio y dedicar algunas líneas a una iniciativa deportiva de la que soy parte.

La iniciativa de la que quiero hablar no tiene un nombre oficial, pero si lo tuviera sería algo del tipo “Las Heras Basket”.

Me gustaría empezar por el principio, pero sinceramente no tengo en claro cuando comenzó todo esto. Podría situar el inicio a mediados de los 90′ cuando conocí a varios de mis compañeros actuales en esta iniciativa. O tal vez podría situarlo hacia 2006, cuando luego de varios intentos fallidos finalmente logramos, gracias a la buena predisposición de las autoridades del Instituto San Luis Gonzaga, contar con un espacio para la práctica de este deporte que amamos.

Ese primer espacio fue justamente el gimnasio del Instituto San Luis Gonzaga, donde nos reuníamos todos los sábados de 15 a 18 hs a entrenar basket. Dedicabamos aproximadamente 2 horas para hacer diversos movimientos y luego cerrábamos con un picadito. No recuerdo exactamente quienes participábamos de ese espacio, pero recuerdo claramente que estaban Alban, NicoG, Laza, Beron y Bil. Tiempo más tarde se sumaron Santi, Hety, Ema, los Recaite, Chapita y otros más. El número de asistentes variaba, pero en general éramos alrededor de 10. En ocasiones superamos los 15 y en total por ese espacio deben haber pasado unas 30 personas.

De vez en cuando organizábamos algún partido amistoso con la gente de Navarro y Marcos Paz. Y una vez al año participábamos en los Juegos de la Cuenca del Salado (una competencia regional con formato de eliminación directa).juegos_2009

A fines de 2008 compramos nuestro primer  (y único hasta el momento) juego de camisetas. Para esto tuvimos que elegir un color.

 

 

Dado que nuestros contrincantes más frecuentes vestían de azul, celeste, blanco o rojo, decidimos inclinarnos por el negro.

amitoso2009

Lamentablemente hacia comienzos del 2010 nos quedamos sin espacio físico donde entrenar. Debido a un incidente totalmente ajenos a nosotros el Instituto San Luis Gonzaga decidió remover los aros de basket del gimnasio. Si bien en el pueblo había otras canchas de basket ninguna de ellas era de acceso público y al mismo tiempo no logramos establecer ningún acuerdo con las instituciones que las poseían. A pesar de esto seguimos jugando algunos amistosos y participando en los Juegos de la Cuenca.

Tiempo más tarde el gobierno local colocó un aro en el playón del campo de deportes municipal y ello nos permitió volver a reunirnos para entrenar. Si bien el espacio era bastante precario, al menos representaba un punto de encuentro y nos permitia hacer un poco de basket. Estando en ese espacio fue que se sumaron nuevas caras a la iniciativa. navarro_2010

El siguiente hito importante fue la organización de la Liga Navarrense de Basket Amateur, de la cual fuimos invitados a participar. En la primera edición fuimos 4 equipos y nuestros resultados fueron bastante pobres (de hecho me parece que no ganamos ningún partido), pero a pesar de eso la experiencia fue muy positiva ya que nos permitió consolidar el grupo y lograr más difusión de nuestra iniciativa.

Fue así que para la segunda edición de esta liga que contó ya con 6 equipos, sumamos nuevas caras al plantel estable, quedando conformado de la siguiente manera:

  • Alban, Santi, Gus y Coto (internos)
  • Elias, Hety, Franco, Bill, Dami (aleros)
  • Pipa, NicoG, NicoPaez (bases)

Y contábamos adicionalmente con la participación esporádica de Laza y Berón.Juegos de la Cuenca 2013

El contar con un plantel largo y estable de jugadores nos permitió crecer en juego e ir afianzándonos como equipo. Lo cual con el correr de los partidos dió sus frutos en los resultados.

Durante esta segunda participación en la Liga de Navarro fueron ocurriendo algunas cuestiones interesantes en el ámbito local. Por un lado captamos cierta atención de la prensa local que comenzó a informar sobre nuestro desempeño en la Liga. Al mismo tiempo el Club San Miguel decidió comenzar a trabajar en un proyecto para ampliar sus instalaciones y poder sumar basket a sus actividades y como consecuencia de ello nos invitó a formar parte de una subcomisión de basket.

Finalmente nos consagramos campeones de la segunda edición de la Liga Navarrense de Basket Amateur y personalmente estoy muy contento por ello. No tanto por el título en si mismo, sino porque creo que el campeonato es consecuencia de un montón de cosas mucho más relevantes. Soy consciente de que aún nos queda mucho por mejorar como grupo y a nivel organización, pero creo que es muchísimo lo que hemos logrado de forma totalmente autorganizada y sin ningún tipo de apoyo institucional. Este campeonato marca un hito en la historia de esta iniciativa y nos deja muy bien parados anímicamente para iniciar una nueva etapa que incluirá la institucionalización de la iniciativa en el contexto del club San Miguel.

Me parece que es un buen momento para agradecer a todos aquellos que de forma directa o indirecta han colaborado con esta iniciativa y entre ellos quiero destacar a:

  • Susana Aón, quien nos abrió las puerta del Instituto San Luis Gonzaga
  • Alejandro Palomero, quien fue el mentor basquetbolistico de varios de los participantes de esta iniciativa
  • Juan Denegri y sus colegas de Navarro, por el armado de la Liga

A mi entender hemos construido un espacio abierto para la práctica del basket en Las Heras, con un grupo humano excepcional, donde predominan las relaciones por sobre los resultados, donde el todo es mucho más que la suma de las partes, donde cada uno aporta lo que puede desde donde puede, donde tenemos aciertos y equivocaciones pero siempre en pos de intentar crecer como grupo y fomentar la práctica del basket.

equipo_campeon

NHibernate vs. Entity Framework: opiniones encontradas

En estos dias estoy arrancando un proyecto en .NET. Dado que estuve un poco alejado de este ecosistema por un tiempo, escribí un mail a un par de colegas de confianza consultándoles sobre cual de estos 2 ORMs utilizar.Las respuestas que recibí me hicieron reir bastante, cito textualmente:

“Nhibernate… EF es como los muñecos de una torta de casamiento, no se comen, son decorado.”

“Si la base es SQL server, andá por EF, no te compliques. Sino, anda por nhibernate pero con sharp-architecture.”

“NHibernate (EF sigue siendo una mentira)”

“ORM: Entity Framework, se que nhibernate ha mejorado mucho, pero EF con SQL anda muy bien.”

“ORM: EL DILEMA! Desde SW que no uso EF, y la verdad que me acostumbre a NHibernate, si te acordás de cuando lo usabamos en aquellas bellas épocas, es mejor aún. Con respectoa EF, esta última versión recién trae fluent mapping, no?”

También les consulté por inyectores de dependencias y las respuesta también fueron variadas, pero todas estuvieron de acuerdo en un punto: no a MEF.

Customize Jenkins header

I am talking about this:

jenkins

  1. Create a logo image of size 130×60 px
  2. Upload the image to web accessible location
  3. Copy this style sheet
  4. Adjust line 6 to set the header background color
  5. Adjust line 14 to point to your logo image
  6. Upload the style sheet to a web accesible location
  7. Enter Jenkins and install the Simple Theme Plugin.
  8. Go to Manage Jenkins > Configure System, look for the Theme section
  9. Set the URL of theme CSS to point to you style sheet
  10. After saving the changes you should see your new style applied

Lecturas 2012

ups: este mail me quedó colgado como borrador y me olvidé de publicarlo. Bueno, más vale tarde que nunca.

Comencé el año leyendo Hechicero, el tercer libro de la saga Rio Sagrado de Wilburg Smith. Excelente igual que los dos tomos anteriores.

Luego leí el primer libro de Game of Thrones que lo tenia en mi biblioteca desde mi viaje a Europa. También excelente, con unos giros inesperados.

El siguiente libro fue de un autor argentino llamado Guillermo Martinez, el título del libro: Acerca de Roederer. Me gustó y le dediqué un post en su momento.

Por último terminé la serie de Los Reyes Malditos de Maurice Druon. La comencé a leer hace unos 4 años, lei rápidamente el primer libro y dejé el segundo a la mitad para retomarlos años después y me lei 5 libros seguidos. Resulta que habia comenzado a leer la serie con la expectativa de espaditas, estrategia militar, etc, pero me encontré con intrigas políticas en las corte de Francia. Una vez que acomodé el nuevo panoroma, me resultó entretenido.

En el thread técnico lei bastantes menos libros, pero muchos artículos, blogs y capítulos sueltos de determinados libros entre los que se encuentran:

En otro post les cuento el backlog de lecturas para 2013.