The PaperBirdBlog

Blog de PaperBirdMaster…

Chivato

Las nuevas tecnologías están acuñando montones de términos nuevos que, cada día tienen más presencia en nuestras vidas; en ocasiones, en lugar de inventar una palabra nueva, traducimos fonéticamente unas siglas o también se dan casos en que se amplia el significado a una palabra que ya existe. Por ejemplo, existe una palabra, tan común y tan usada hoy en día que pensamos en ella más como palabra propia que como palabra extranjera. Internet, del inglés inter (entre) net (red), es una palabra nacida a finales de los años 70 cuando empezó a popularizarse en E.E.U.U. la conexión entre ordenadores.

Como ejemplos de siglas traducidas fonéticamente tenemos el popular y reciente Tedeté, de las siglas T.D.T. que no es más que Televisión Digital Terrestre, una muestra de que no todos los neologismos son extranjeros. Otro ejemplo de siglas traducidas fonéticamente son los Esemeses, los famosos y utilizadísimos mensajes de móvil cuyas siglas de origen son S.M.S. (Short Message Service: Servicio de Mensajes Cortos).

Un dato curioso: No hay mucha gente que recuerde que los S.M.S. antes de que se popularizase y extendiese el uso de el teléfono móvil eran gratuitos. Las compañías telefónicas consideraban que nadie en su sano juicio perdería el tiempo en escribir un mensaje de, como mucho 160 caracteres, utilizando un incomodísimo teclado, pudiendo hacer una llamada. Que equivocadas estaban :P

Por último, quiero hablar de una palabra que, con las nuevas tecnologías ha adquirido un significado extra. Sin embargo, este significado ampliado es usado tan sólo por un reducido colectivo: los programadores.

Estoy hablando de la palabra Chivato.

La R.A.E. describe el término Chivato como:

chivato, ta.

  1. Adjetivo. soplón. (Usado más como sustantivo)
  2. Adjetivo. (Colombia). Dicho de un niño: Vivaz y atrevido, que mezcla ingenio y descaro.
  3. Masculino. Chivo que pasa de seis meses y no llega al año.
  4. Masculino. Dispositivo que advierte de una anormalidad o que llama la atención sobre algo.
  5. Masculino. (Bolivia). Ayudante en las labores de minería.
  6. Masculino. (Colombia). Ají muy picante y de tamaño tan pequeño como el de un grano de maíz.
  7. Masculino. (Panamá). En la tradición popular, fantasma que representa al demonio, y se manifiesta bajo la forma de un chivo que despide llamas por los ojos.
  8. Femenino. (Andalucía). Porra que llevan los pastores.

Según mis propias palabras un Chivato sería: un adjetivo coloquial y en algunos casos peyorativo que identifica a aquellas personas que, comunican datos sobre comportamientos o acciones incorrectas ajenas, a entidades jerárquicamente superiores para que estas, usando la información facilitada, tomen represalias contra aquellos que se comportan o actúan incorrectamente. Yo no lo equipararía a soplón pues el chivato, a diferencia del soplón no espera una compensación económica.

De todas maneras, en el diccionario de la R.A.E. falta el significado que los programadores le damos a Chivato.

Entendemos Chivato, en el contexto de la programación; como una parte del código de un programa que permite ver información específica del mismo. Como por ejemplo, valores intermedios de procesos, puntos de control (checkpoints) o estadísticas de funcionamiento. Se suelen usar los Chivatos de código para ayudar a depurar el código de un programa.

Normalmente los Chivatos de código no están presentes en las versiones finales de los programas comerciales aunque en ocasiones, a algún programador despistado se le escapa alguno por estar muy oculto o por usarlo poco.

He aqui un ejemplo de Chivatos de código:

int x;for (x = 0; x < 50; ++x)
{
// Un proceso que se repite 50 veces
};
/* Chivato que me avisa de que hemos llegado

a ESTE punto de la ejecucion del codigo

haciendo "saltar" un cuadro de mensaje. */
MessageBox(myWindowHandle, "Hemos acabado el bucle", "Chivato", NULL);
/* Chivato que muestra datos intermedios
de un proceso Como no estoy seguro de si
x vale 50 o 51 alsalir del bucle, muestro
en la consola el dato paraverificarlo. */
printf("Valor de x: %d", x);

[14-Diciembre-07] Publicado por PaperBirdMaster | *(this)->vida.Add(c++);, Paw, Pawkipedia | , , , , | 5 comentarios

++c vs c++ ¿preincremento o postincremento?

Programador autentico

Cuando creamos código, nos conviene tener muy claro lo que estamos haciendo. Muchos problemas de programación se pueden resolver de limitadas y determinadas maneras y es en estos casos donde un buen programador puede demostrar su talento. Me gustaría comentar ciertos… “truquitos”, que pueden hacer que nuestro código sea de más calidad; voy a comentar lo que en mi opinión es el mejor uso de el preincremento y el postincremento de C/C++.

Muchas de las veces que se usan los operadores de Preincremento y Postincremento (y sus equivalentes en decremento, claro) se hace en un ámbito en que no hay diferencia alguna en su uso, por ejemplo:

Anidados en bucles…

while(!File.EoF()) // EJEMPLO 1
{
BytesReaded = File.Read(&Pointer);
// Tratamos los datos leidos...
ReadCount++;
};

En líneas sueltas…

if (Numero % 2) // EJEMPLO 2
{
// Operaciones trascendentales...
}
else
{
// Calculos complejisimos...
NumeroPar++;
};

Sin embargo, aunque la mayoría de veces se usen como si fuesen equivalentes, hay diferencias importantes entre el Preincremento y el Postincremento; deberíamos comprometernos a usar la versión más adecuada a cada situación. Para conocer lo más conveniente deberemos estudiar las diferencias entre el Pre y el Post Incremento/Decremento.

Lee más »

[3-Diciembre-07] Publicado por PaperBirdMaster | *(this)->vida.Add(c++);, Paw | , , , | 8 comentarios

El Templo del Sol

Un juego super friki…

Eres una especie de Indiana Jones que se adentra en un templo… pero para avanzar en el templo ¡debes responder preguntas de programación!

No os lo perdais

EL TEMPLO DEL SOL

Quedaos con el detalle friki… ¡el látigo es un mouse!

Dedicado a Nk0.

[25-Abril-07] Publicado por PaperBirdMaster | *(this)->vida.Add(c++);, Paw | | Aún no hay comentarios

public unsigned void songs

Hacía tiempo que quería declarar un post como este…

Espero que sepais hacer la digestión porque es espeso :P

Leed estas canciones en C++; gentileza de Nk0.

pubilc virutal songs.

[19-Febrero-07] Publicado por PaperBirdMaster | *(this)->vida.Add(c++);, Paw | | Aún no hay comentarios

++Fin_de_semana;

Me espera un finde muy duro… tengo que ponerme al día con los temas del master; así que me lo pasaré casi entero programando; tengo que buscar algún momento para llevar a Yueh al veterinario… dios… ¡¿por que serán tan cortos los findes?!

Para empezar a calentar pondré unas estrofas de Hasta que tu muerte nos separe en c++;

/* Tan solo quiero que mi voz
te desespere y robe la razon
y llorando que te abraces
a tus miedos corazon */
tu.Desesperar(yo.Querer(yo.GetVoz()));
--tu.Razon(yo.Querer(yo.GetVoz()));
tu.SetMote("corazon");

while (tu.Llorar())
tu.Abrazar(tu.GetMiedos());

/* espero el dia munyequita linda
en que tu herida sea tan fuerte
que banyandote en recuerdos
solo te bese el alcohol. */
tu.SetMote("Munyequita Linda");

while(tu.GetFuerzaHerida() <= MAXIMO_HERIDA)
yo.Esperar();

if (tu.Banyarse(tu.GetRecuerdos()))
{
alcohol Alcohol;
Alcohol.Besar(&tu);
};


/* y veras tu linda cara
frente al espejo demacrada
y el dolor sera tu amor
masturbando tu mirada. */
tu.Ver(&tu.GetParte("Cara"));

if (Estado(tu.GetParte("Cara") == DEMACRADA)
while(tu.Masturbar(&tu.GetParte("Mirada")))
{
tu.GetAmor(tu.Dolor());
}

Me disculpareis por la pésima indentación pero este blog no sirve para poner código :(

[10-Febrero-07] Publicado por PaperBirdMaster | *(this)->vida.Add(c++);, Paw | | Aún no hay comentarios

Seguimos… es decir while(1) {};

Ataque de insomnio… son las 8 de la mañana y estoy a punto de ir al trabajo… pero llevo despierto un par de horas: ansiedad nervios estres… desconozco el motivo pero el insomnio me ataca de nuevo; el estar tanto tiempo despierto inutilmente he ha hecho pensar en el famoso refrán “No por mucho madrugar, amanece más temprano” y aqui esta en C++

no * mucho_madrugar == amanece + temprano;

(me.GetUpEarly() && me.GetUpEarly() && me.GetUpEarly() && me.GetUpEarly() &&) != (GetDaybreak(now()) < GetDaybreak(now() - 1);

[1-Febrero-07] Publicado por PaperBirdMaster | *(this)->vida.Add(c++); | | Aún no hay comentarios

Estrenando sección…

Viniendo a casa en el metro he pensado en crear una nueva sección en el blog (otra más…). Esta sección es la de “Pon C++ en tu Vida” y consiste, simple y llanamente, en escribir en C++ frases de la vida cotidiana.

Empecemos con algo que pensé el martes… una compañera del Master (Teresa) respondió a la pregunta “¿Ya están todos?” con un “Más o menos…” seguidamente yo pregunté “¿Más más que menos o más menos que más?” me gustó tanto la sonoridad de la frase que decidí pensar esta frase en C++ y lo dejé en el libro de visitas del colega NK0.

Pues bién… Más más que menos o más menos que más podría ser…

  • +>-||-<+;
  •  +>-?+:-;
  • define max(a, b) a>b?a:b; max(+,-);

¿Alguna otra sugerencia? ^_^

[31-Enero-07] Publicado por PaperBirdMaster | *(this)->vida.Add(c++); | | 3 comentarios