sábado 15 de agosto de 2009

La Carrera de Ratas, una approach de listas enlazadas.



"Las ratas subsistían bien en el laberinto, estaba hecho a su medida. El problema era que no podían elevar su cabeza sobre él, sólo podían verlo desde dentro. Era su mundo." -Fuckowski, Memorias de un Ingeniero de Alfredo de Hoces
"The trouble with the rat race is that even if you win, you're still a rat." -Lily Tomlin
La carrera de ratas es un concepto muy estudiado por Robert Kiyosaki en su best seller: Padre Pobre, Padre Rico y en toda su sabia enseñanza sobre inversiones. No es un tema nuevo, pero si uno muy interesante, y siempre hay algo nuevo de que hablar sobre "La Carrera de Ratas".

La intención de este post es hacer una reflexión sobre este síndrome que afecta a tantas personas, a las cuales se nos ha enseñado a seguir el modelo del consumismo.

La carrera de ratas como approach de una lista, debe ser implementada como una enlazada simple y circular. Desarrollo:

Header representa el estado actual de una rata trabajadora.
Cuando una rata inicia, Header = TuPrimerTrabajo.com

Método de inserción: Solo podemos insertar elementos de las clases: TrabajoDuro o MejorSalario y de forma alternada:

Elemento = new TrabajoDuro() ó
Elemento = new MejorSalario()

int insert
{
Header ->Next = Elemento; //Inicio de la lista
Elemento -> Next = Header; //Fin de la lista, enlace circular
return 1;
}


Notemos que en esta situación, el paso de un elemento a otro, trae consigo una “ganancia", o sea que al dar la vuelta, todo en la lista se ve amplificado, además la lista solo puede ser "crescente", solo vamos insertando elementos en ella.

Método de borrado:int Borrar (Elemento IndiceElemento)
{
if (Elemento != null) {
IndiceElemento.ImprimirMensaje("Imposible hacer Ctrl+Z en la vida real!")
return 1; // Error
}
else
{
return 0;
}
}

El grave problema de la carrera de ratas, viene cuando se pierde el apuntador a Next de cualquiera de los elementos del "TrabajoDuro", ejemplo:

Header -> Next = TrabajoDuro
TrabajoDuro -> Next = NULL

Lo que significa que estamos desempleados, y muy probable siendo ratas muy trabajadoras; y aún si salimos con buen salario seguimos siendo asalariados, en esto consiste la carrera de ratas.

O que tal, si lo que perdemos es el apuntador a Next de un elemento de MejorSalario:

Header -> Next = TrabajoDuro
TrabajoDuro -> Next = MejorSalario
MejorSalario -> Next = NULL

Esto significa que aunque tengamos mejor salario, ya no habrá más trabajo duro y por consiguiente aún mejor salario, esto es, estancamiento. Además, debido a que nuestro espectro de habilidades es muy reducido, no tenemos muchas posibilidades de un “brand new job”.

Por otro lado, la respuesta tampoco está en tener un negocio o empresa propio(a), la respuesta está en convertir la mayor cantidad de oportunidades en negocios; convertir nuestra empresa en acciones y venderla; o contratar alguien que la dirija, y, seguir haciendo negocios de inversiones, como bien enseña el Maestro Kiyosaki.

Por lo anterior llegamos a la siguiente solución: Que Header y los demás elementos sean ortogonales, esto es, tener apuntadores multidimensionales, un amplio espectro de posibilidades para nuestro apuntador “Next”: La diversificación, o la no especialización.

Por último quiero recomendar éste video, muy divertido y explicativo.

http://www.youtube.com/watch?v=X4OPFl2Kxhs

Well, happy working' and businessin'!
Blog you around!



0 comentarios:

Publicar un comentario en la entrada