Saturday 24 May 2008

How to kill a Dragon with Programming

I was recently told about this article. It's too funny not to share it. :)

Read this doc on Scribd: How to kill a Dragon with Programming
Versión en español...

Hay muchas traducciones en español dando vueltas por ahí. Les paso el link de una, para no redundar la información en internet :P

Link

Friday 23 May 2008

Eclipse 3.3 + WTP 2.0

Some weeks ago I tried to install Eclipse 3.3 with WTP 2.0 (All in one) and JDK 6 in my notebook with Windows Vista.
The problem I had was really bothering, but easy to solve when I realized why I was getting the weird behaviour in the application.


The problem:
I unzipped Eclipse in a directory and when I executed it ev
erything worked fine but all the parts of the application related to dynamic web projects. I realized about this because creating a new Dynamic Web project was what I wanted to do. I didn't have the option in the File-> New menu, neither I had the JEE perspective.

The cause:
Apparently, after installing the JDK 6 I installed a JDK 1.4 for some reason. The environment variables were updated with the 1.4 JDK and so, Eclipse
tried to work with that one instead of the JRE 6.

The really weird and bothering behaviour was that when Eclipse started working, it didn't show any warning or error related of the incorrect JRE being used. The bad thing is that I spent more time than what I would have wanted in reaching to the real cause of the problem. As usual, I realized about the possible cause of my problem while doing something else... (this time while cleaning my teeth :P)



Spanish version...

Hace un tiempo intenté instalar en mi notebook con Windows Vista un Eclipse 3.3 con WTP 2.0 que viene en un paquete todo junto (All in one) junto con la JDK 6.
El problema que me surgió fue bastante molesto, pero fácil de solucionar cuando me dí cuenta por qué sucedía.

El problema:
Descomprimí el Eclipse en un directorio y al ejecutarlo, levantaba perfecto salvo por el hecho de que varias opciones no aparecían en los menúes. Me dí cuenta de esto porque por ejemplo no tenía las opciones de creación de proyecto web dinámico (ni las vistas relacionadas con proyectos web). El resto de la aplicación andaba bien.

La causa:

Aparentemente por alguna razón, en algún momento instalé una JDK 1.4 y las variables de entorno del sistema quedaron apuntando a esa JDK. Por lo que el Eclipse intentaba levantar con la JRE 1.4 y esta versión del Eclipse sólo funciona con JREs de 5 para arriba. Lo que me llamó mucho la atención es que al levantar el Eclipse no me tiró ningún error o warning que me indicara que el problema era ése.

Bastante molesto, porque llegar a la raíz del problema me llevó más tiempo del que hubiera esperado. Como de costumbre, me dí cuenta de qué era lo que pasaba cuando dejé de tratar de resolverlo y me puse a hacer otra cosa... (cepillándome los dientes...)

Wednesday 21 May 2008

Simple practices - Part 1

One of the practices we started using some time ago in the team I'm part of, is a kind of 'stand-up meeting' twice a week.
Basically, we, the Argentinian team members, meet around 15 minutes in the the beginning of week to discuss the week goals and tasks and 15 minutes on Fridays (not the fast food shop :P) to check the status of our previous goals.

Our initial motivation on doing this was:

Visibility and focus:
As our team leader, project manager (and the rest of the team) don't work with us in the offices in Argentina, sending a summary of the weekly goals and tasks lets them have a better idea about the work progress on our projects and also lets them analyze the we're really focusing on the important tasks or if there's something we're missing.

Problems discussion:
The fact of talking about the tasks assigned to each of the members of the development team lets us treat common problems from different points of view. Sometimes we're in the need of solving problems that look isolated but we realize, while discussing solutions for them, that there are other possible generic ways to, not only solve our isolated problem, but to ease other members work or even prevent future issues. This leads to development integration in the group for a common goal and
time/resources saving.

When we reach the end of the week, we analyze the amount to completed and pending tasks and we also add a list of 'unplanned' tasks that were done.
Although this is a very simple practice, sometimes it becomes hard to get out of the daily routine and join altogether in a short meeting. However, we're now
realizing about the benefits of doing so.


Spanish version...

Una de las prácticas que adoptamos hace un tiempo en el equipo en el que trabajo es la de tener reuniones cortas dos veces por semana.
Los que hacemos basicamente es juntarnos unos 15 minutos para dar comienzo a la semana estableciendo objetivos semanales y otros 15 minutos los viernes para cerrar la semana y ver el estado de los objetivos planteados anteriormente.
Nuestra motivación para esto originalmente fue:

Visibilidad y enfoque:
Como tanto nuestro team leader, project manager (y resto del equipo) no trabajan en las mismas oficinas que nosotros (ni en el mismo país, y tampoco hablan nuestro idioma), enviar un resumen a principio de semana con las tareas de las que se vá a encargar cada uno le permite al resto del equipo tener una mejor idea acerca del progreso del trabajo de cada uno y, a la vez, analizar si se está poniendo foco correctamente en las tareas asignadas o si queda algun asunto pendiente en el que no se está trabajando y es de importancia.

Conocimiento de problemáticas:
El hecho de discutir las tareas que cada uno realizará durante la semana muchas veces nos permite tratar problemáticas comunes desde otro punto de vista. Muchas veces necesitamos solucionar problemas que parecen ser aislados y al poner en común los temas en los que estamos trabajando nos damos cuenta de que una solución genérica puede atacar varios problemas de distintos miembros de l grupo a la vez.

En el cierre semanal establecemos la cantidad de tareas completadas, la cantidad de tareas pendientes y agregamos las tareas 'no planificadas' que fueron realizadas.
Si bien es una práctica muy simple, muchas veces cuesta cortar con la rutina para juntarse a hablar unos minutos. Sin embargo, esto resulta más que beneficioso para nuestro equipo.

Saturday 10 May 2008

License plates chaser 3


Ahora entramos un poco mas en el mundo de Java...

Translation:

Now, we enter to Java world...

License plates chaser 2


Siguente ejemplo, pasamos a sistemas de control de versiones...


Translation:

Next example, we start with the code versioning systems...

License plates chaser 1

Creo que asi como muchas de las personas que trabajan en puestos de trabajo considerados insalubres tienen efectos secundarios por el simple hecho de trabajar, de la misma manera el mundo IT puede causar efectos comparables en las personas (o tal vez solo me afecta a mi?).
Bueno, en este caso, la primera entrega de mi caza de patentes:

No podia ser de otra manera, la primer patente tenia que ser esta...








Translation:

It's my belief that in the same way people who work in unhealthy jobs get side effects caused by the simple fact of working, we, the IT guys, can get similar effects (or perhaps I'm the only one affected).

In this case, my first license plate chasing resulted in the picture above.
It couldn't be in other way, the first picture should be that one.