ES KAsi UN blog

Blog de Unkasoft, donde hablamos de programación de juegos para móviles, advergaming, marketing móvil, la industria de los videojuegos, metodologías ágiles y todos aquellos temas que nos preocupan en nuestro día a día

29 agosto 2007

Tracking de proyectos: Migramos a trac

En el desarrollo de Unkasoft Platform y otras cosas que están por venir, como en cualquier proyecto de software de cierta envergadura, mantener documentación de lo que se ha hecho, de lo que se está y de lo que se va a hacer es fundamental. Esto como todo, cuando se trabaja en grupo ya no es una necesidad más, es tarea prioritaria.

En Unkasoft hasta hace poco tiempo hemos estado usando gforge para mantener el tracking de nuestros proyectos. Fundamentalmente nos servía como contenerdor de bugs, features a desarrollar y ramas de desarrollo dentro del sistema de control de versiones. Gforge como sistema básico es usable aunque a medida que se avanza en el control del desarrollo del proyecto las herramientas de tracking deben ir avanzando a la par y llegamos a un punto en el que necesitabamos ciertas cosas que gforge no podía dar. Las más importantes:

1.- Utilidades para trabajar con SCRUM : hasta el momento habíamos estado usando una hoja de excel creada por Juan Palacios (navegapolis) que era muy útil pero que tenía dos problemas. Uno de ellos que era una pesadez de actualizar y otro que no se integraba con los items del tracker.

2.- Integración con Subversion. Es sumamente importante saber que ha pasado con el código y con los logs de subversion y los diff muchas veces no son suficiente. Necesitabamos saber en qué rama estaba resuelto un ticket, cuando se habían mezclado dos ramas, si las ramas estaban activas, etc, etc. En el fondo lo que hacemos es programar y todas las acciones llevan detrás líneas de código así que lo mejor es que tengamos una relación entre item y código.

3.- Facilidad de mantenimiento: si falla la información que tenemos en el tracker es posible que tengas a un programador parado varias horas buscando la aguja en el pajar. Además, por experiencia, los programadores somos vagos y todo lo que no es programar nos cuesta horrores, con lo que mantener al día el tracker si no tienes una metodología bien marcada puede ser un infierno. Con lo cual actulizar datos debe ser simple y llevar poco tiempo.

Después de mirar algunas opciones decidimos usar trac. Las razones son muchas, pero las más interesantes son las siguientes:

- Tiene pluggins para SCRUM, con lo cual queda resuelto el problema 1. Cada item (bug, feature) se le pueden asignar unas horas e ir modificandolas. Del mismo modo se pueden planificar cada sprint gracias a los milestones y ver las gráficas de esfuerzo. Además, con la ventaja de que todo está integrado :)

- Integración con subversion: otro resuelto. La integración es impecable, puedes ver todos los commit, ver los diff en web, tener asociados commits a items, etc. Además desde el propio commit puedes actulizar los items, por ejemplo, añadirle horas a un bug sobre el que estás trabajando, cerrarlo, etc. Esto soluciona de paso el punto 3 también.

- Facilidad de uso: Aparte de su integración con subversion es muy simple crearse tus propias querys, poder suscribirte por RSS para ver que va pasando en un bug, poder además tener un wiki para anotar por ejemplo, documentación de features, hacerte tus propios plugins en python (se puede pedir más?:), etc.

Hasta ahora la migración está funcionando bien, falta aún mucho trabajo de adaptación a nuestro sistema de trabajo, mejorar algunas cosas que tiene un poco cojas (como por ejemplo la gestión de usuarios), terminar de poner los hooks adecuados a subversion, crearnos todas las query que necesitamos y una larga lista, la típica que nunca acaba. Otro detalle que falta y que es la mar de útil es el gráfico de ramas. En esta versión de trac no tienen el pluggin para poder ver el gráfico y la subversion hasta la versión 1.5 no tendrá un sistema propio de tracking de ramas. A ver si la gente de códice integra su visor con subversion :)

Etiquetas: , ,


23 agosto 2007

Muerto de gripe aviar en WOW

Día a día el riesgo a pandemias crece, el aumento de los viajes a sitios con mayor riesgo de infección, incluso el bioterrorismo, nos acecha. No creo que muera nadie de gripe aviar en WOW, pero quien sabe si llegará el día.

En el mundo científico se han realizado miles de modelos para analizar la propagación de enfermedades epidémicas.

Los científicos estuvieron simulando el brote del agente H5N1 del virus de la gripe aviar usando modelos informatizados. Los modelos simulaban a comunidad asiática suroriental con una población de 500.000. La simulación modela las estrategias diferentes de la infección, que pueden ayudar a contener la transmisión del virus. Las estrategias consisten en la vacunación de grupos específicos, administrando las drogas antivirus, limitando recorrido y otros métodos. Todo ello requirió una buena inversión de los fondos médicos. Pero como se puede modelar el comportamiento de cualquier ser vivo, las decisiones que se toman cada segundo. Tal vez la respuesta inicial fuera apoyarse en la Inteligencia Artificial.

Se ha publicado recientemente un artículo en el diario El Mundo, en el cual se discuten las aplicaciones científicas de los juegos en red que ven como mundos virtuales.

Inicialmente en Whyville de Second Life, se produce una enfermedad epidémica. A la mayoría de sus habitantes les brotan pústulas, tienen una fuerte tos. Como en cualquier ciudad los medios tratan de informar de la enfermedad realizando recomendaciones médicas.

La verdad que no hay mejor simulador, que una persona tomando su propia decisión y sin duda es más económico. Investigadores de la Universidad de California utilizan toda eso información para crear modelos de comportamiento ante enfermedades.

WOW (World Of Warcraft) tampoco se salva de las enfermedades, con sus millones de habitantes era un objetivo muy tentador.

El articulo de la revista 'Science' comenta, "puede ser mejor para análisis estadísticos que examinen sistemas económicos y redes sociales [como la cooperación entre las personas], porque de modo natural genera un vasto tesoro de datos diversos y estandarizados sobre este tipo de interacciones".

Un estudio, realizado por el equipo de Eric Lofgren y Nina Fefferman comenta como un “error” de programación apareció al introducirse una nueva actualización del programa con nuevas áreas para que pudieran acceder los jugadores. En dicha área encuentras a Hakkar ”dios de la sangre”, que tras caer muerto, su sangre contagiará tu vida. Algunos sucumbirán al contagiarse pero otros se verán cerca de la muerte. Como en la vida real, se plantea poner cerco a la enfermedad y no se respeta.

Bizzad Entertaiment establece Hakkar en cuarentena. ¿Se puede parar? No, no se respeta la cuarentena, un jugador transmite la enfermedad a una mascota virtual. Esta mascota es abandonada entonces en la capital del desierto, Ogrimmar, la enfermedad se propaga a velocidad sin precedentes.

Seguro que habrá personas que dirán, es una idea sensacional! No tiene ningún punto débil.

"[Second Life] está especialmente bien diseñada para montar experimentos formales en psicología social o ciencias cognitivas, porque el investigador puede construir una instalación comparable a un laboratorio del mundo real y reclutar sujetos de investigación", comenta William Sims Bainbridge, de la Fundación Nacional de Ciencia (NSF) de EEUU –seguro que no es un jugador asiduo-.

Pero, que pasa con la reacción de un jugador que ha invertido todo su tiempo –incluso dinero- en crear su personaje virtual, ¿Creará nuevamente todo de cero para ayudar a la ciencia? Personalmente tengo mis dudas. Tal vez, sea como la vida real, si alguien te va a infectar

Explican que 8,3 millones de internautas se han creado su avatar en Second Life, y que están realizando todo tipo de actividades cotidianas, comprando, creando inmobiliarias e interactuando con otros personajes.

No obstante, encontramos un reportaje de la revista de nuevas tecnologías Wired: "Planeta vacío". Revela que el 85% de los avatares creados en Second Life han sido abandonados.

Los datos son claros, un millón de usuarios jugaron en el último mes, si accedemos ahora en el sitio no veremos más de 40.000 usuarios conectados. El comportamiento humano es curioso, entramos vemos y lo dejamos. ¿Cómo de fiable es para un modelo para prevenir pandemias? Es difícil de responder.

También los expertos aplauden "la heterogeneidad de los mundos virtuales”, bueno pues al pabellón patrocinado por Coca-Cola sólo acuden 27 avatares diarios, Sexy Beach tiene 133.000 visitantes. Imagino que estamos más necesitados de Sexy Beach que de Coca-Cola, pero creo que mucha gente en Second Life libera lo que lleva en su yo mas profundo. En Second Life tu personaje puede ser joven, alto, atlético pero la vida real puede ser distinto, ¿Quién sabe?
Con WOW lo tengo más claro, en la vida real nadie es un Elfo de la Noche.

Como dicen "los mundos virtuales están creando un contexto muy nuevo en el que la gente joven se socializa en grupos con reglas, aprende destrezas intelectuales y expresa su individualidad.", pero un mundo virtual es eso… un mundo virtual. Tal vez no sea el mejor experimento el de infectar ‘virtualmente’, tal vez necesitemos considerar otras variables.

Etiquetas: , ,


17 agosto 2007

Las cualidades de un programador

Últimamente estoy leyendo muchos post sobre cualidades del programador como Humildad ,disciplina. Y es que estás características están por encima de lenguajes, arquitecturas, etc.

Voluntad, sacrificio, tenacidad, disciplina, humildad, compromiso son las cualidades que debería tener un buen programador.

Un programador de vocación no busca cumplir, solo sacar el trabajo adelante, sino que quiere hacerlo bien, le gusta programar y por tanto aprender, aprender de cada línea que escribe, quiere aprender a hacer hoy mejor lo que hizo ayer, aprender de cada compañero. Tiene objetivos claros y la voluntad y tenacidad necesarias para lograrlos, le gustan los retos, espíritu I+D+I y sabe lo suficiente para darse cuenta de que tiene que mejorar(Humildad); No tiene limites solo es cuestión de tiempo superarlos; depende de sus propias inquietudes y capacidad de asimilar nuevos conceptos, aplicarlos y mejorarlos continuamente.

Estás cualidades podrían formar parte de los CV, al igual que por ejemplo "Capacidad de trabajo en grupo" o alguien cree sin disciplina, sacrificio, humildad, etc una persona puede trabajar en grupo, o qué quiere aprender? o que sin estás cualidades una persona querrá afrontar retos, I+D+I, etc.

Quizá solo son las cualidades que a mi me gustaría tener y no las necesarias, en cualquier caso, UN BUEN PROGRAMADOR NO DEPENDE DE UNA ARQUITECTURA O DE UN LENGUAJE, depende más de cualidades humanas que tecnológicas.

Etiquetas: , ,


10 agosto 2007

Cinco Días: Pequeños Gigantes

Este miércoles pasado, hemos tenido la oportunidad de aparecer en la sección de Pequeños Gigantes del diario financiero Cinco Días.

No podemos hacer otra cosa que dar las gracias desde aquí, personalmente estoy orgulloso de dos cosas. La primera, del equipo Unka, que ha permitido con el trabajo día a día –ha sido un arduo camino-, ser noticia nacional por su trabajo. La segunda y no menos importante, de la prensa que se preocupa de las empresas que están emergiendo, no sólo Unkasoft, sino todas esas que se pelean por obtener su primer capital, crear sus primeros proyectos, incluso abrirse sitio en el mercado internacional.

¡Gracias!

Etiquetas: ,


This page is powered by Blogger. Isn't yours?