Una sinfonía en C#

Un pequeño aporte a la comunidad de habla hispana.

jQuery .end() ese oculto incomprendido

Es verdad, jQuery es muy grande y tiene muchas funciones y muchas medio “ocultas” que salen un poco de lo común pero no por eso menos útiles o mágicas como yo digo a veces, entre ellas está la función end() extrañamente muy poca gente la conoce y muy poca la usa, sin embargo vamos a ver que nos puede ser de mucha ayuda.

Volver un paso atrás en la cadena de filtro con end()

Bien, es eso, jQuery.end() vuelve al punto anterior dentro de la cadena de filtros, por ejemplo:

<div>
    <span class="mensaje">hola</span>
    <span class="despedida">chau</span>    
</div>

Tenemos ese HTML y queremos modificar ambos elemento del tipo span en un único selector pero hacer cosas distintas, por ejemplo, cambiarles el texto, entonces gracias a end() podemos a partir del padre de ambos (en este caso el div) hacer un filtro, manipular el elemento, volver para atrás, hacer otro filtro y volver a manipular, en este caso sería así:

$("div").find(".mensaje").text("hola mundo").end()
.find(".despedida").text("adiós mundo")

En resumen primero buscamos el div

$("div")

después filtramos por el primer span y lo modificamos

$("div").find(".mensaje").text("hola mundo")

hacemos end() para volver antes del filtro

$("div").find(".mensaje").text("hola mundo").end()

y de nuevo filtramos por el segundo span y modificamos

$("div").find(".mensaje").text("hola mundo").end()
.find(".despedida").text("adiós mundo");

jsfiddle con el ejemplo.

Mágico, nos leemos.

Portapapeles circular en Visual Studio

 

Este es un truco muy simple pero que a mí me ayuda día a día y a mucha gente que le comenté le sorprendió y le pareció muy útil, sencillamente:

Queremos pegar el contenido del portapapeles como muchas veces, pero no el último que copiamos sino uno anterior, es esto posible? respuesta simple: si!

Cómo usar el portapapeles de visual studio de manera circular, es decir, acceder a cosas copiadas antes?

Simplemente en lugar de usar Ctrl + V usamos Shift + Ctrl + V

Magia, espero sea útil

Extreme startup coding competition en Ágiles 2012

Agiles 2012

El día 25 de Octubre pasado hemos estado junto a Adrián en la quinta edición de las Jornadas latinoamericanas de metodologías ágiles, que en esta oportunidad tuvieron lugar en la Ciudad de Córdoba en Argentina, dando un taller titulador “Extreme startup coding competition”.

IMG_2774

Extreme startup coding qué?

La actividad en cuestión se trata de un juego en el cual los participantes deben desarrollar una aplicación que sea capaz de responder preguntas que son enviadas por un servidor centrar, en el lenguaje y plataforma que gusten.

Le idea de esta actividad es vivir la dinámica de enfrentarse a la realidad de una “startup” es decir, una empresa que está recién empezando. Los problemas que uno debería enfrentar a medida que crece la empresa, problemas que van llegando y a partir de la evolución de los mismos detectar procesos repetitivos y otro que no lo son.

La idea y dinámica completa se puede encontrar en este link.

IMG_2782

Es un software

Al fin de cuentas el centro del juego es un servidor HTTP en el cual los participantes se registran con su URL local y a partir del inicio del juego el servidor comienza a enviar preguntas, si bien el proyecto original está disponible para descarga pensamos en ir un poco más allá y hacer nuestra propia versión.

Es un proyecto Open Source

Finalmente gracias a la iniciativa de gente del equipo de Kinetica, nuestra versión de ESCC es un proyecto Open Source que reside en GitHub, el nombre que lleva es tries-on.js que viene de “trivia extreme startup on node.js” ya que, lo hemos hecho un node.js.

Y qué pasó en Ágiles?

Bien, hicimos la actividad y tuvimos equipos muy preparados, por ejemplo:

IMG_2797

Durante el desarrollo del taller hubo intentos de resolver el problema con ASP.NET Web Forms (exitoso), ASP.NET MVC (fallido), Node.js (fallido), Ruby (fallido) y C# (exitosos), si bien el clima de camaradería generado gracias a esta hermosa comunidad se hizo presente todo el tiempo, la competencia sacó lo peor de cada participante, como por ejemplo cargadas al quedar primeros en el Leaderboard.

IMG_2793

Y el equipo ganador (no libre de sospechas sobre la victoria) Guiño

IMG_2801

Por supuesto que pasamos un momento muy grato con amigos y colegas durante este taller y toda la jornada en general, con relación a ESCC surgieron algunas cosas para mejorar con relación a la dinámica y detalles para hacerlo más fácil de empezar, pero será motivo de otras aventura.

Saludos!

Actividades participativas en el aula

Generalmente, a esta altura del cuatrimestre de la materia que dicto en la facultad hacemos un repaso general de los conceptos como para dar un cierre a esta primera etapa antes del primer parcial.

Tratando de crecer

Con la idea de hacer algo diferente y lograr que los alumnos participen, pero más importante que esto es que busquen dentro de ellos si conocen las respuestas a las preguntas (sin necesidad de llegar el temido “parcial sorpresa”) y relacionen conceptos pensé en buscar una actividad que alcance estos objetivos…pero no sabía cómo.

Con una ayudita de mis amigos

Entonces pensé: a quién preguntarle sobre ejercicios de aprendizaje participativos sino a Fer Claverino? eso hice y me comentó sobre algo la actividad “Cazadores de mitos” …interesante, pero quería algo más, el capo de kinetica (aka Ale) me comentó sobre cierta dinámica dónde los participantes van completando datos sobre un concepto; con ambas cosas en mente tuve un rapto de lucidez e hice lo siguiente:

Participar para aprender

Soy un convencido de que el concurrir a un aula tiene que tener el valor agregado de la interacción con los docentes y la participación, el equivocarse para aprender, el repreguntar.

Tres juegos, una clase

La clase está dividida en grupos de 3 a 5 alumnos por motivos que no vienen al caso, para esta primera actividad juntamos las mesas y trabajamos en grupo.

Primer ejercicio: Completar el concepto

WP_000138

Antes que nada escribí los nombres de los conceptos más importantes vistos hasta el momento en el pizarrón y para el ejercicio repartí los temas arbitrariamente, uno por grupo.

Entonces cada grupo escribe a modo de título el nombre del tema en una hoja y escribe debajo un concepto que es verdad, por ejemplo:

Naranjas:

son un cítrico

Cada grupo pasa la hoja al siguiente grupo y éste agrega otra verdad, en caso de ver que algo de lo escrito hasta entonces es incorrecto lo corrige o pregunta.

Una vez que la hoja regresa al origen se lee en voz alta, lo que yo hice fue extender la idea del concepto en caso que fue necesario.

Duración: 15 minutos.

Como primer ejercicio para calentar motores, estuvo bien, pero lo mejor llegó después.

Segundo ejercicio, compitiendo por la verdad:

Para el segundo ejercicio los grupos cambiaron de tema con otro grupo y la consigna fue:

Cada grupo debe armar una presentación de un máximo de 5 minutos durante los cuales explicarán el concepto que les tocó pero agregarán dos mentiras a la presentación, los demás grupos escucharán la presentación y cuando detecten una mentira deberán explicar por qué lo es y recibirán un punto.

En caso que alguna mentira no sea descubierta al final de la presentación el equipo que expuso el tema explicará cuáles eran las mentiras y por qué y se le computarán los puntos a favor.

Duración: 15 minutos para preparar los temas, 5 máximo para presentarlo.

Muy Pusimos un premio para el grupo ganador, relacionado con el trabajo final, fue muy interesante ver a los alumnos interesados en escuchar cada palabra de la presentación y debatir si lo que se estaba diciendo estaba bien o mal.

Tercer ejercicio, relacionemos pero evitemos la fruta:

El ejercicio final fue individual, la consigna:

Escribí el nombre de los mismo conceptos que trabajamos en los ejercicios anteriores en el pizarrón y algunos más relacionados, por ejemplo Naranja y cítrico, entonces los alumnos van pasando de a uno, en principio quien quiera pero no puede hacerlos dos veces si alguien más no pasa antes, al pasar vincula un concepto con otro mediante una línea y explica a todos el por qué de la relación, el ganador (que en este caso tiene como premio dar por aprobado un punto del parcial) es el último que encuentra un vínculo que al explicarlo nadie considere…insostenible digamos Lengua fuera

Duración: 10 minutos.

Este ejercicio fue aún más interesante ya que los chicos empezamos a pararse para participar y al final quedaron todos de pié viendo qué podían relacionar para conseguir el premio.

WP_000143

Aprendizajes para todos

Además de que los conceptos explicados se debatieron y se analizaron mucho durante la clase, todos participaron y se rompieron muchas barreras entre gente que tal vez no tenía mucha relación, ni hablar del vínculo con los profesores, la clase se pasó volando.

Nos leemos.

El desafío de la gomita

Desde hace algunos años doy clases en la facultad y siempre tratamos de hacer alguna actividad relacionada con la agilidad y de paso “romper el hielo” un poco en la primer clase. En otras ocasiones hemos hecho el juego del pajarraco, asistidos por la gran Ingrid, esta vez invitamos al bueno de Fer Claverino que propuso hacer el “desafío del malvavisco”.

http://www.malvaviscos.com.ar/wp-content/uploads/2010/11/malvaviscos1.jpg

El desafío del malvavisco

Es una actividad que se centra en desarrollar una torre con ciertos elementos pero principalmente busca hacer hincapié en el valor del desarrollo iterativo.

WP_000051

La dinámica.

Básicamente se entregan algunos fideos, cinta, hilo y un malvavisco, pero ante la dificultad de conseguirlo en Argentina lo cambiamos por una gomita de menta.

357984745_9e858eb4a5_m

Entonces, se entregan los materiales y se plantea el desafío:

“construir la torre más alta que tenga en el lugar más alto la gomita”

todo esto en equipo y en aproximadamente 18 minutos.

WP_000055

Qué es lo que pasa?

Mayormente, se comienza con el desarrollo, algunos planifican unos minutos y otros se lanzan sin más, en definitiva el mayor desafío es que le estructura soporte la gomita en la punta, un dato interesante es tomar el tiempo que tardan los equipos en hacer la primer prueba con la gomita, en nuestro caso un equipo lo hizo a los 4 minutos, otro a los 15, adivinen quién lo hizo mejor….

WP_000057

Qué aprendemos?

Se aprende el valor de no perder el objetivo del proyecto y sobre todo evaluar nuestro requerimiento más riesgo lo más temprano posible y hacerlo todas la veces que podamos (desarrollo iterativo)

La experiencia

En resumen fue un gran momento y una inmejorable manera de comenzar un nuevo ciclo lectivo y de paso introducir la agilidad a quienes no la conocían, lo más interesante el intercambio posterior sobre lo que aprendimos.

dejo algunos links sobre el tema. Hasta la próxima.

http://marshmallowchallenge.com/Welcome.html

http://marshmallowchallenge.com/Instructions_files/TED2010_Tom_Wujec_Marshmallow_Challenge_Web_Version.pdf