La Sombra de Dijkstra

Sobre el arte y la práctica de la programación

Resultados Desafío StartechConf 2013 - Yin Yang

| Comentarios

Ayer finalizó el desafío doble, auspiciado por nuestros amigos de StartechConf 2013. Este desafío tiene dos partes, una para probar las habilidades en css, y otro con javascript.

El primer desafío CSS recibió 11 participaciones, lamentablemente hubo un usuario anónimo (Guest) quien presentó esta solución http://jsfiddle.net/HGQ3A/1/, bastante buena, pero como no sabemos de quién se trata no vamos a considerar.

Hay otro participante quién se identificó sólo con el nombre Rodrigo con esta solución http://jsfiddle.net/9ttLw/3/ tampoco será considerado por las mismas razones.

Hay dos soluciones que si bien dibujan un yinyang lo hacen colocando una imagen o usando un font, la idea era “dibujar” usando css, como no se cumple el espíritu del concurso tampoco serán consideradas, pero se llevan dos menciones:

Premio LOL: Tomás Mayr por esta solución con una imagen embebida codificada en base64 http://dabblet.com/gist/6583300.

Premio ROTFL: Aldrin Martoq por esta solución que usa el carácter unicode: http://jsfiddle.net/aldrinmartoq/8Nbke/

Pero ahora con los participantes que quedan seleccionados.

  • Rodrigo Aliste, raliste: https://gist.github.com/raliste/6564639
  • Jaime Guaman, guaman, con 4 soluciones
  • Tomás Mayr, tmayr, con 4 soluciones “en serio”
  • Felipe Cabargas, felipecabargas, https://gist.github.com/) felipecabargas/6574545
  • Flavia Ibañez, flaviaza, https://github.com/flaviaza/jing_jang
  • Luis Vega, fodsite, https://gist.github.com/fodsite/6584573
  • Gonzalo Huerta-Canepa, ghuerta, http://jsfiddle.net/45j2v/7/
  • Sonia Espinoza, sespinoza, http://jsfiddle.net/sespinoza/VwM4P/5/

Criterios de Eliminación

Para determinar al ganador se midieron estos criterios, en orden ascendente:

  1. Que la solución se pueda visualizar en Chrome, Firefox y Safari en un MacBook Pro.
  2. Que la solución tenga la menor cantidad de código (menos lineas, y si hay empate en cantidad de lineas, menos caracteres). Para medir el código se contaron los elementos css y html, en algunos casos se fundieron los estilos en un solo html para poder probarlos en el macbook, los códigos fusionados están disponibles en este repositorio github:https://github.com/lnds/programando.org/tree/master/startechconf2013
  3. Que la imagen se parezca lo más posible a la expuesta en el post original del desafío.

La medición consiste en que cada participantes queme las etapas descritas anteriormente.

Etapa 1: Visualización en Chrome, Firefox y Safari

  1. Rodrigo Aliste, raliste: cumple
  2. Jaime Guaman, 4 soluciones, guaman1.html: cumple, la segunda solución falla con Safari, las soluciones 3 y 4 sólo funcionan con Chrome.
  3. Tomás Mayr,las soluciones 1 y 2 no funcionan con safari, la solución 3 y 4 no funcionan con firefox ni safari.
  4. Felipe Cabargas: cumple
  5. Flavia Ibañez: cumple
  6. Luis Vega: cumple
  7. Gonzalo Huerta-Canepa: cumple
  8. Sonia Espinoza: cumple

Etapa 2: tamaño de la solución

Consideramos sólo las soluciones que cumplen con la etapa 1 y las ordenamos por cantidad de lineas, dejando en primer lugar las que ocupan menos cantidad de lineas:

  1. Gonzalo Huerta-Canepa: 8
  2. Sonia Espinoza: 11
  3. Flavia Ibañez: 13
  4. Felipe Cabargas: 39
  5. Luis Vega: 44
  6. Jaime Guaman (solución 1): 63
  7. Rodrigo Aliste: 65

Etapa 3: similitud con respecto a la imagen original

Este es el aspecto más estético, pero es importante, puesto que de eso se trata css ;).

En este sentido, las 2 mejores soluciones en términos de similitud al original son las siguientes:

  1. Sonia Espinoza
  2. Luis Vega Varios olvidaron el borde negro sobre el lado blanco (Yin) de la figura, dejando un color gris. La solución de Gonzalo Huerta-Canepa es la más breve, pero dibuja un yin yang muy pequeño.

Las soluciones de Guaman y Mayr son las más breves, pero no dibujan la figura como corresponde en todos los browsers, y en algunos casos la figura no se parece a la original.

And the winner is

Con estos antecedentes, y tras superar las 3 etapas, con una solución de 11 lineas de código, la ganadora es Sonia Espinoza.

Felicitaciones, debes enviar un email a ediaz @ dcc8090.cl con tus antecedentes para que el equipo Startech te contacte por tu premio.

Gracias todos por participar, y en unas horas estará el resultado del desafío javascript.

Comentarios