Monthly Archive for October, 2008

Debugging con el ‘cerdo’ y con std::cerr

Es muy útil hacer debugging con std::cerr, y si usas:

#include <iostream>
using namespace std;
main(blabla...){
  cerr << "This is a debug message" << endl;
}

Todo funciona maravillosamente, hasta que tus 20 threads comienzan a vomitar cientos y cientos de mensajes que hacen imposible leer el debug. Para ello lo ideal sería definir “debug levels”. Hay dos formas la forma simple y tonta:

#ifdef DEBUG_N
  cerr << "This is a debug message" << endl;
#endif

Pero esa forma es muy fastidiosa, así que mejor definimos un ‘cerdo‘ (cerdo = cerr debug output). O incluso mejor un cerdo con niveles: cerdo, cerdo2, cerdo3,… , cerdoN. He aqui uno para 3 niveles (donde hacemos que cerdo=cerdo1):

// ----- cerdo.h -----
#ifndef DEBUG
  #define cerdo if(0) cerr
  #define cerdo1 if(0) cerr
  #define cerdo2 if(0) cerr
  #define cerdo3 if(0) cerr
endif
#if (DEBUG==1)
#define cerdo cerr
  #define cerdo1 cerr
  #define cerdo2 if(0) cerr
  #define cerdo3 if(0) cerr
#endif
#if (DEBUG==2)
#define cerdo  cerr
#define cerdo1 cerr
  #define cerdo2 cerr
  #define cerdo3 if(0) cerr
#endif
#if (DEBUG==3)
  #define cerdo  cerr
  #define cerdo1 cerr
  #define cerdo2 cerr
  #define cerdo3 cerr
#endif
// ---- end cerdo.h ----

Ahora solo queda usar los cerdos.

#define DEBUG 2
#include "cerdo.h"
using namespace std;
main(blabla...){
  cerdo << "This is a debuglevel 1 message" << endl;
  cerdo1 << "This is a debuglevel 1 message" << endl;
  cerdo2 << "This is a debuglevel 2 message" << endl;
  cerdo3 << "This is a debuglevel 3 message" << endl;
}

Bye. Continue reading ‘Debugging con el ‘cerdo’ y con std::cerr’

Merge del trunk a una branch

Hay dos formas, directo del repositorio y usando una copia local del trunk.

Directo del repositorio

$ svn merge -r START:END http://repo/svn/trunk /directorio/branch

De una copia local:

$ svn up /directorio/trunk
$ svn merge -r START:END /directorio/trunk   /directorio/branch

Cualquiera de las dos anteriores te hace un merge a la copia local que está en /directorio/branch.

Para finalmente subir (a la branch) los cambios obtenidos

$ svn ci -m "Merge del trunk a mi branch START:END"  /directorio/branch

Si no se pusieron de acuerdo tus programadores, probablemente salgan conflictos, arreglalos.

Alia

Alia, originally uploaded by Leonid Kavardakov.

Parece que solo cuando subo fotos de chavas mi blog revive un poco. O podría ser que solo cuando pongo fotos de chavas alguien se anima a poner algun comentario.

Espero que al ver esta foto no se decepcionen, esa chava no es tan bonita como aparentaba ser.

O RLY?

cat
more animals

O RLY?

Las fotos para Kaleman (II)

Alia, originally uploaded by Leonid Kavardakov.

A lo mejor le gustaria a Kaleman poner esta foto de tapiz en su compu o algo asi. Ahhh tal vez, no, creo que a ella le gustan más las gueras.

Lo que sigue es NSFW y especialmente para el deleite visual de Kaleman :-)

ok, bye.

Dia de Muertos en Cucuchucho

Tumba en Cucuchucho, originally uploaded by desertzarzamora.

¿Recuerdan esta foto? No se si la puse el año pasado, pero la pongo este año ya que el día de muertos está muy cerca.

Para los (tal vez pocos) extranjeros que visitan mi blog y no saben que onda. Resulta que el 2 de Noviembre en Mexico se celebra el Dia de Muertos y el lugar donde uno debería estar es en Patzcuaro y sus alrededores. Esta foto fue tomada en Cucuchucho.

Decipher Reflections from Reality

Ya se me estaba desesperando Karina, asi que aqui le pongo una foto de una chica. Esta foto me gusta mucho.

Por cierto, la chica de la foto NO esta desnuda, esta completamente vestida, y ella misma lo aclara en el pie de la foto. De hecho le molesta que la gente siempre piense que esa foto es de ella en desnudez.