Segunda etapa

Bueno, arranca una nueva etapa del blog.

Esta nueva etapa no gira en su contenido, frecuencia de posts, estética. No. Gira sobre la estabilidad.

¿Por qué estabilidad? Porque finalmente me fui de Dattatec, que tenía un servicio de mierda. Pésimo. Nunca lo consideren como una opción válida.

Y si ustedes están en Dattatec, aprovechen para cambiar. Según mi experiencia y la del Chaghi, todo depende de qué servidor les tocó en suerte. Pero tarde o temprano, les llegará.

Hoy por hoy, estoy en Hoztear. Espero tener mejor suerte. Como yapa, migré a LifeType 1.1 (LifeType es el software que me da la función de blog sin tener que editar un montón de páginas a mano).

Por lo pronto, todo funciona bastante bien. Les pido por favor que cualquier funcionalidad que vean con algún inconveniente, lo que sea que todavía no esté trabajando al 100%, el menor inconveniente, me avisen.

Ahora que tengo estable el sitio, es hora de corregir esos detalles.

Mil gracias, y bienvenidos de nuevo, :D

Comentarios Imprimir

Saliendo a jugar

Acá comenté como habíamos arrancado PyWeek 3, vean el post para la primer parte del relato e info genera de qué es eso. Ahora termino la épica historia.

Durante la semana, no pude hacer mucho, que es un eufemismo para dar entender que no tuve ni mierda de tiempo de hacer un carajo. Pero me reservé la noche del viernes porque nos volvíamos a juntar en lo de Leito.

Así que el viernes, después del trabajo, partí para su casa, bien cargado de ceros y unos para alocar nuestros bits.

Llegué primero, pero al rato ya estábamos todos lo que éramos. Luego de las configuraciones de red de rigor, nos pusimos a seguir trabajando. Discutimos lo que correspondía luego de la semana, y más o menos nos dividimos las tareas. Como la parte que yo había comenzado el fin de semana anterior la había terminado, y en la semana no había hecho nada, me busqué una tarea.

La encontré fácil: debía con Nubis diseñar diez niveles en sus distintas facetas (tipo de público, elemento a desaparecer, historia de entrada, historia de salida cuando ganás y de cuando perdés, y hechizo). A priori iban a ser diez temas por separado, pero nuestras retorcidas mentes dieron con una historia que hacía fluir los diez capítulos.

Luego de tan ardua tarea, ya eran casi las dos de la mañana, así que boludeé un rato y ya me vine para casita. Al otro día luego de una mañana de compras, me puse también con el juego. Ya no físicamente con los chicos, sino en casa, coordinando por IM y/o chat.

Estuve más que nada buscando detalles que construir o solucionar, y previo permiso de alguien que estuviese físicamente reunido en lo de Leito, lo hacía. Algunas tareas eran de dos minutos, otras de treinta, y así se fue el resto de la tarde.

La hora límite eran las 21 de Argentina, pero nosotros nos pusimos las 8 como momento para dejar de incorporar cambios. Los últimos momentos tuvieron bastante adrenalina, porque el tiempo se acababa, sabíamos que cada cambio iba apenas a ser probado, y nuestros cerebros ya estaban quemados.

Yo corté alrededor de esa hora, sí, aunque los chicos siguieron unos veinte minutos. Hice un svn commit, y al toque le avisé a Lucio que retiraba mis manos del teclado, :). En esos momentos, Moni se venía con una espectacular picada para comer y ver una peli, ¡es genial!

Los chicos terminaron de armar el paquete con el juego, y lo subieron al sitio.

/images/uff/533412941_e39d3aff40_o.jpg

Entre participantes individuales y por equipos, se subieron 30 juegos antes de la hora límite. Tuvimos dos semanas para evaluar los juegos (los juegos se evalúan por los participantes del concurso, no por el público en general). Las evaluaciones corren por tres carriles:

  • Diversión: si el juego era divertido de jugar, si uno lo jugaría más de una vez.
  • Innovación: si el juego tenía algo nuevo en términos de tema, tipo de juego, etc.
  • Producción: gráficos, sonido y música, y que estos elementos estén balanceados.

En cada punto, se votaba del 1 al 5. También se podía indicar si el juego debía ser descalificado porque violaba algunas de las reglas de la competencia.

La cuestión es que al fin de semana siguiente me bajé tooooooodos los juegos, y los jugué (o intenté jugar) intentando evaluar estos parámetros. Y los voté, uno por uno. La mayoría de los participantes hizo lo mismo, y el sábado pasado caducó el plazo de las votaciones, y se eligieron los ganadores, un ganador por equipos y uno individual.

¡Y ganamos!

Siiiii, salimos primeros en la competencia por equipos, :D. Como pueden ver en los resultados, sacamos un 3.5 en diversión, un 3.5 en innovación, y un 4.5 en producción. En promedio, 3.9 puntos.

Y el equipo de Python de Córdoba salió tercero, ¡felicitaciones para ellos también! Realmente demostramos que PyAr está para cosas grandes, :D

Pueden bajar el juego de acá. Para probarlo, tienen que tener Python instalado (lo pueden bajar de acá) y PyGame (de acá).

Juéguenlo y me cuentan, :)

Comentarios Imprimir

Bienvenida, Primavera

Con su boina calada, con sus guantes de seda su sirena varada, sus fiestas de guardar su "vuelva usted mañana", su "sálvese quien pueda" Su partidita de mus, su fulanita de tal Con su todo es ahora, con su nada es eterno con su rap y su chotis, con su okupa y su skin aunque muera el verano y tenga prisa el invierno la primavera sabe que la espero en Madrid

Con su otoño Velázquez, con su Torre Picasso su santo y su torero, su Atletic, su Borbón sus gordas de Botero, sus hoteles de paso Su taleguito de hash, sus abuelitos al sol Con su hoguera de nieve, su verbena y su duelo su dieciocho de julio, su catorce de abril A mitad de camino entre el infierno y el cielo yo me bajo en Atocha, yo me quedo en Madrid

Aunque la noche delire como un pájaro en llamas aunque no dé a la gloria la Puerta de Alcalá aunque la maja desnuda cobre quince la cama aunque la maja vestida no se deje besar Pasarelas Cibeles, cárcel de Yeserías Puente de los Franceses, tascas de Chamberí ya no sueña aquel niño que soñó que escribía "Corazón de María no me dejes así" Corte de los Milagros, Virgen de la Almudena chabolas de uralita, Palacio de Cristal con su "no pasarán" con sus "vivan las caenas" su cementerio civil, su banda municipal

He llorado en Venecia me he perdido en Manhattan he crecido en La Habana, he sido un paria en París México me atormenta, Buenos Aires me mata pero siempre hay un tren que desemboca en Madrid.

Pero siempre hay un niño que envejece en Madrid pero siempre hay un coche que derrapa en Madrid pero siempre hay un fuego que se enciende en Madrid pero siempre hay un barco que naufraga en Madrid pero siempre hay un sueño que despierta en Madrid pero siempre hay un vuelo de regreso a Madrid

"Yo me bajo en Atocha", de Joaquín Sabina

El la espera en Madrid, yo la recibo abrazado a la mujer que amo.

Comentarios Imprimir

Disolviendo los finos hilos de la realidad

Resulta que tengo en MySQL una tabla con varios datos, de distintos tipos, y una clave primaria. Si quiero ver cómo está armada, le echo un describe:

mysql> describe prueba;
+-----------+-------------+------+-----+--------+-------+
| Field     | Type        | Null | Key | Default| Extra |
+-----------+-------------+------+-----+--------+-------+
| transact  | varchar(20) |      | PRI |        |       |
| campo1    | varchar(8)  |      |     |        |       |
| campo2    | int(2)      |      |     | 0      |       |
| campoN    | varchar(20) |      |     |        |       |
+-----------+-------------+------+-----+--------+-------+
4 rows in set (0.00 sec)

Todo bien hasta ahora.

Tengo un sistema, que maneja transacciones, y en un determinado momento escribe un nuevo registro en esa tabla. Luego, segundos o minutos después, el sistema va a la tabla y levanta los datos grabados, ya que recibe el mismo código de transacción que antes.

Considerando que la transacción es clave primaria en la tabla, yo sabía que podía encontrar un registro, o ninguno en el caso de que la segunda vez me hayan pasado un registro incorrecto. Grande fue mi sorpresa al ver que mi sistema fallaba de forma inesperada. Luego de tracear al bug hasta su origen, terminé viendo que la consulta me generaba no cero, ni un registro, ¡sino dos!

Sin poder creerlo, fui a la base de datos, a mano, y tiré la siguiente consulta...

mysql> SELECT * FROM prueba where transact=20060905093655001974;
+----------------------+----------+--------+------------+
| transact             | campo1   | campo2 | campoN     |
+----------------------+----------+--------+------------+
| 20060905093655001908 | 23540003 |      1 | 1234567890 |
| 20060905093655001971 | 00435665 |      1 | 0987654321 |
+----------------------+----------+--------+------------+
2 rows in set (0.01 sec)

Acá se me rompieron un poquito las estructuras, pero lo logré resolver.

En unos días posteo la solución (o mejor dicho, el desenlace). Pero a aquel/lla que lo explique primero, lo/a invito una cerveza.

Comentarios Imprimir

¿Casualidad?

¡Lo que son las casualidades!

Ayer puse este post, y hoy cuando abro el Página/12 me encuentro con el siguiente chiste:

/images/uff/533315874_cb5f2d2bb8_o.gif

El presente chiste pertenece a Daniel Paz & Rudy, publicado según indico arriba, y fue republicado aquí con el permiso correspondiente.

Comentarios Imprimir