Dagi3d v4

Dover goes Madonna

Impresionante el cambio de estilo que se ha marcado Dover en su nuevo disco.
Ojo al video, que parece que en realidad están de coña, pero no, parece que van muy en serio en su intento por introducir la electrónica y una música más bailable en su habitual estilo.
No se por qué me da que el antiguo bajista se debe de estar descojonando un poco y hasta sentirse aliviado…

El single me parecería más pasable si no hubiese visto antes el video, que siendo francos, me da un poco de vergüenza ajena…

“Taim gous bai, con Loli Dover”

Resumen del taller de 'Testing in Rails'

Tal como se comentó, el pasado martes 12 de septiembre tuvo lugar el taller de Testing en Rails a cargo de Evan Henshaw-Plath, a.k.a. Rabble y organizado por la gente de La Coctelera.

Salí bastante contento de la charla ya que aprendí unas cuantas cosas acerca de las herramientas que existen en Ruy On Rails para poder realizar pruebas de nuestro código, además de concienciarme acerca de la importancia de éstas para hacer aplicaciones más robustas pero sin perder un ápice de esa ‘agilidad’ que caracteriza al desarrollo con RoR. Además Evan se esforzó por hacer la presentación en castellano, lo que sin duda ayudó a hacerla más llevadera.

Durante la charla se mencionaron temas como las pruebas unitarias, tests funcionales, fixtures, mockups para simular recursos en los tests, o herramientas como Capistrano para el deploy automático de aplicaciones.

En el blog que mantiene Evan acerca de este tema, se puede descargar un pdf con las transparencias de la charla.

Calendario en Ruby On Rails

Como hacía tiempo que no programaba nada para Ruby On Rails, me puse a hacer un sencillo helper para generar calendarios que tuviesen las fechas pinchables:

calendar_helper.rb

module CalendarHelper

  def calendar(year, month, data = {})

    month_time = Time.local(year, month)
    month_name = month_time.strftime("%B")
    first_week_day = month_time.wday
    first_week_day = (first_week_day == 0)? 7 : first_week_day;

    if (month == 12)
      last_month_day = 31
    else
      last_month_day = Time.gm(year, month + 1)
      last_month_day -= 60 * 60 * 24
      last_month_day = last_month_day.day
    end

    table =  "<table class=\"calendar\">" +
      "<thead>" +
      "<tr><th colspan=\"7\">#{month_name}</th></tr>" +
      "<tr><th>L</th><th>M</th><th>X</th><th>J</th>" + 
      "<th>V</th><th>S</th><th>D</th></tr>" +
      "</thead>" +
      "<tbody>" 

    sc = ((first_week_day - 1) * -1) + 1
    week_day = 1

    for i in sc..last_month_day

      if (week_day == 1)
        table << "<tr>" 
      end

      if (i > 0)
        current_date = Time.gm(year, month, i).strftime("%Y-%m-%d")

        if (data.has_key?(current_date))
          table << "<td><a href=\"#{data[current_date]}\">#{i}</a></td>" 
        else
          table << "<td>#{i}</td>" 
        end       

      else
        table << "<td></td>" 
      end

      if (week_day == 7)
        table << "</tr>" 
      end

      week_day = (week_day >= 7)? 1 : week_day + 1

    end

    table << "</tbody></table>" 

    return table  
  end

end

Para usarlo basta con indicar el año y mes del calendario a generar. Opcionalmente se puede pasar un hash con las distintas fechas que queremos que sean pinchables junto a su correspondiente enlace:

<%=calendar(2006, 9, {'2006-09-05' => '/blog/2006/09/05'})%>

¡Todos a tocar la guitarra!

Llevo días viciadísimo al Frets On Fire, un clon para PC del Guitar Hero donde hay que utilizar el teclado a modo de guitarra.
Las tres canciones que trae el juego están muy bien para ir practicando, pero es que por si fuera poco, la gente está adaptando nuevas canciones por su cuenta, sacando incluso un pack con los temas originales del Guitar Hero.
Además, los creadores del juego han liberado el código y cuenta con una versión para linux.

Ojo, que engancha.

Taller sobre testing en Ruby On Rails

Igual es un pelín tarde, pero aviso por si le interesa a alguien.

El martes día 12 de septiembre, Mr. Rabble, ex jefe de desarrollo de Odeo, impartirá un taller sobre testing en Ruby On Rails.

Será en Aula The Cocktail, dentro de las oficinas de The Cocktail, situadas en la calle Salamanca nº 17. El taller comenzará a las 19:00

Para obtener más información o para apuntarse, id al wiki que han montado en http://aulathecocktail.pbwiki.com/TallerTestingEnRails

Yo intentaré pasarme, ya que el tema de las pruebas unitarias me parece bastante interesante, pues es una manera de comprobar que tu aplicación funciona correctamente sin necesidad de estar trasteando con ella, lo que permite un desarrollo aún más ágil y facilita la solución y prevención de bugs.
De hecho, cuando se está trabajando aplicando la metodología de la programación extrema, se supone que las pruebas unitarias han de hacerse antes de escribir el código, dándote cuenta de lo importante que es probar correctamente tu programa.