4 meses, 3 semanas y 2 días
En cuanto a la película: magnífica, sobrecogedora, austera, dura, desgarradora, y lo que es más inquietante y triste: totalmente verdadera.
Aviso: no lea a partir de aquí si no ha visto la película y quiere verla.
Normalmente intento ir al cine sin haber leído nada de la película más allá de actores y director. En este caso, como decía al comienzo, ese periodo de tiempo se puede referir a cualquier cosa. En este caso, la película comienza en una residencia de estudiantes de Rumanía en 1987, dos años antes de la caída del régimen de Ceaucescu. Una vida opresora, agobiante, en la que se debía llevar un carné de identidad de varias páginas. Las protagonistas, compañeras de habitación, están preparando una cantidad de dinero considerable para no sabemos qué fin.
Una de ellas reserva una habitación de hotel, y queda con un hombre de mediana edad. La otra amiga los espera en el hotel y finalmente los tres se reúnen en la habitación. Lo que uno se va temiendo poco a poco, se confirma: han contratado los servicios (ilegales) del hombre para provocarle un aborto a una de las compañeras de habitación. Pensándolo bien, no voy a contar mucho más de la película, porque os insto a que la consigáis como sea y la veáis. Sólo os diré que lo que sigue a esa reunión de tres es una sórdida descripción de lo que va a pasar a continuación. Descripción que, si uno no está debidamente preparado sicológicamente, puede causar hasta náuseas.
Como no contaré más de la película, sólo diré que estas tristes situaciones (muchachas embarazadas de no pocos meses abortando en las precarias condiciones de un hotel de los años 70 en Rumanía, practicadas por un mercenario del sexo y el aborto) realmente se dieron. El miedo y la situación que se crea en la habitación casi se puede cortar con un cuchillo en el propio cine. Desgarrador.


lighthouse with lightleaks
Bronica GS-1 + PG100/3.5 + 6x6 back + Ilford delta 3200.
Faro de Cabo de Palos.
Lighthouse. Cape of Palos.
The roll unfolded itself as I didn't stored it properly, hence the light leaks... a 3200 ISO roll always gets light leaks unless you take care of it as you have to...
Vota con todas tus fuerzas
Será que soy un giliprogre, un izmierdoso, un cursi, un titiritero, o todo ello junto, como algunos me llaman, pero yo tamibén he llorado. No es sólo porque me recuerda a mi abuelo, que también, sino por ver cómo quizá la mejor manera que hay de explicar con palabras un sentimiento que compartirmos, y que se lleva tan dentro que la mayoría de las veces escapa a la dialéctica, es a través de una persona que ha visto de todo en su vida, y que recupera la ilusión por su país. Esto que compartimos es lo que nos define. Lo que nos hace diferentes a la maquinaria insensible de los tecnócratas. La que nos hace estar por encima de Rajoys y Zaplanas, Acebes y Pizarros.
Coixet, mi titiritera, qué grande eres.
Método para dejar de ser de derechas
¿Cansado de andar todo el día de mala hostia pendiente de lo que dice Acebes para repetirlo?
¿Harto de que los curas y los tecnócratas piensen por ti?
¿Empiezas a sospechar que meter los tanques en el País Vasco quizá no sea una buena idea después de todo?
¡No te preocupes! Porque ya está aquí Turnleft!, el revolucionario método para dejar de ser de derechas en tan solo dos semanas.
Con Turnleft! pronto tendrás amigos gays, te caerán bien los catalanes, desconfiarás de los obispos y verás a los inmigrantes como un bien necesario para el país.
Este método ha sido testado en grupis fanáticos de Geroge W. Bush. En menos de dos semanas todos se mostraron convencidos de que la guerra de Irak fue un error, que la prisión de Guantánamo es una vergüenza y que la lucha contra el terrorismo menoscaba las libertades civiles.
¿A qué esperas para encargar ya tu Turnleft!? ¡Que la guerra civil que se avecina no te pille en el bando equivocado!
Tú no tienes la culpa de que tu padre te educara así. Tú, puedes, cambiarlo.
Turnelft!
Porque los de izquierdas follamos más.
almond flower
Mamiya RB67 + Sekor-C 90mmf/3.8 + Fuji Velvia 50 slide film
Acampada por el 0,7% en la Región

CONTRA LA POBREZA: ¡0,7 YA!
Hace ya 14 años, en 1994, que las Organizaciones No Gubernamentales para el Desarrollo (ONGD) conseguimos que todos los partidos políticos con representación en la Asamblea Regional firmaran el compromiso de destinar -en esa Legislatura, la que finalizó en 1996- el 0,7% del Presupuesto Regional a la erradicación de la pobreza en el mundo.
Hemos trabajado sin descanso para conseguir que el Gobierno murciano presentase para su debate y aprobación una ley que, entre otras cosas, consagrase ese objetivo.
14 años después, la ley que el Gobierno del Partido Popular -que suscribió aquel acuerdo- ha aprobado en solitario en la Asamblea, no solo incumple el acuerdo, sino que lo condiciona de forma que no podrá alcanzarse -al ritmo de crecimiento regional actual- hasta dentro de 60 años.
Debemos recordar que, el Gobierno de España, presidido por D. José María Aznar, suscribió el MANIFIESTO DEL MILENIO, impulsado por la ONU, firmado por 198 Jefes de Estado y de Gobierno y dirigido a acabar con la pobreza extrema y el hambre en el mundo. Este Manifiesto, fruto del consenso de todos los países del mundo considera imprescindible alcanzar ese porcentaje antes del año 2015. De aplicarse las previsiones de la Ley Murciana de Cooperación, esta Región solo alcanzará ese porcentaje a partir del 2070, es decir, con 55 años de retraso.
Hoy destinamos menos de 1 euro por cada 1000 a este concepto, cuando el compromiso retrasado una y otra vez exige destinar 7 euros por cada 1000. Esto nos hace estar a la cola del esfuerzo solidario en comparación con las demás comunidades autónomas.
Por todo esto, DENUNCIAMOS:
* La hipocresía e incoherencia del Partido Popular que, a nivel Estatal suscribe el Pacto para la Erradicación de la Pobreza ya nivel autonómico evita comprometerse con ese objetivo.
* La ausencia de compromiso del Gobierno Regional con los Objetivos del Milenio.
* La destrucción del consenso social en torno al empeño por acabar con la pobreza en el mundo.
* El engaño que supone convertir en papel mojado, mediante una Disposición Adicional, una ley que podría ser la más avanzada del Estado Español.
Y EXIGIMOS:
* La inmediata derogación de la disposición adicional tercera de la Ley de Cooperación Internacional para el Desarrollo.
* El compromiso firme de llegar al 0,7% del presupuesto regional en la presente legislatura.
Actualización: Conversión de "%xx" carácter ASCII en C++
stringstream
que se encargara de esa conversión tan fea. Así, la función funk_formatter
queda así:
string funk_formatter (const boost::iterator_range<string::const_iterator>& match)
{
int val;
std::stringstream strstrm;
strstrm << match;
strstrm.ignore(); // consumes '%'
strstrm >> hex >> val;
char cval = val;
return std::string(&cval,1);
}
Con el "único" inconveniente de tener que convertir el entero
val
a un carácter cval
. Esto es así porque el operador >>
sólo lee un carácter si se está leyendo un carácter (aunque el manejador hex
pueda suponer que para construir un carácter hace falta más de uno). ¿Bug? No lo sé, pero la conversión hay que hacerla de una u otra manera, ya que si no, no se puede construir el std::string
devuelto.
.
Hace un par de fines de semana fuimos a Sierra Espuña a hacer una barbacoa. Mi amigo Jose Antonio siempre se hace amigo de todo el mundo, y no iba a ser menos con los niños de la mesa cercana... Al niño parece que no le hace tanta gracia :)
Bronica GS-1 + PG 100/3.5 + 6x7 back + Fuji Provia 100F
Conversor de "%xx" a carácter en C++
boost-regex
y string_algo
(algoritmos para strings) para conseguir convertir todas las apariciones de "%xx
" donde "xx" representan dígitos hexadecimales, a su correspondiente carácter ASCII, como se realiza en codificado de URLs en HTTP.
using namespace std;
using namespace boost;
using namespace boost::algorithm;
string funk_formatter (const boost::iterator_range<string::const_iterator>& match)
{
int diff;
int base = 4;
char val = 0;
string::const_iterator it = match.begin();
++it; // step '%'
while (it != match.end() && (base >= 0))
{
char c = *it;
if ((diff = c - 'a') >= 0)
val += diff + 10;
else if ((diff = c - 'A') >= 0)
val += diff + 10;
else
val += c - '0';
val <<= base;
base -= 4;
++it;
}
return std::string ( &val, 1 );
}
int main (void)
{
std::string init ("abc%20abc");
std::string output;
boost::regex e1;
e1.assign ("%[0-9A-Za-z][0-9A-Za-z]");
output = find_format_all_copy(init, regex_finder(e1), funk_formatter);
cout << output << endl;
return 0;
}
Incluye una pequeña función
main
con un ejemplo de uso. En ella, se define la variable e1 de tipo boost::regex
(una expresión regular), a la que se le asigna la expresión regular que reconoce el patrón descrito. La función find_format_all_copy
es en realidad la que hace todo el trabajo. Recorre la cadena dada como entrada, utiliza el regex_finder
para encontrar las coincidencias del patrón, y con cada una de ellas, llama al conversor, funk_converter
, que hace el trabajo de convertir los pares de números hexadecimales en valores ASCII. ¿Alguien da más? Estoy trabajando mucho últimamente con C++, boost y STL, así que mostraré más cosas que he ido haciendo en breve.
sunset & the city
Kowa Six + 80mm/2.8 expired Fuji 160C.
After moving, I live "near" the city... However, I am able to see these wonderful sunsets.
Conversión sencilla de tipos CORBA
Por ejemplo, tradicionalmente para convertir un objeto
CORBA::Object
a cualquier otro tipo, había que escribir unas cuantas líneas de código bastante tediosas, y no muy fáciles de factorizar por cómo es el mapping de CORBA. Por ejemplo, para obtener el POA raíz:
CORBA::Object_var o = orb->resolve_initial_references("RootPOA");
PortableServer::POA_var rootPOA = PortableServer::POA::_narrow(o.in());
Esto es, hay que crear un objeto de tipo
CORBA::Object_var
que gestiona la memoria dinámica automáticamente, de la función resolve_initial_references
del ORB. A continuación hay que declarar una variable del tipo que queremos (PortableServer::POA_var
) y convertir ese objeto con la función PortableServer::POA::_narrow()
, de dentro del namespace PortableServer::POA
. Este código se repite para cualquier tipo que queramos convertir desde Object
, y como se ve, es difícil extraer una función template, por ejemplo, porque escribirla sería casi tan largo como escribir todo ese código.Sin embargo, se me ha ocurrido que se puede sobrecargar el operador "
<<
", por ejemplo, de la siguiente forma:
PortableServer::POA_ptr operator<<(PortableServer::POA_var& poa, CORBA::Object_ptr o)
{
poa = PortableServer::POA::_narrow(o);
return poa.in();
}
Y así escribirlo de la forma más sencilla:
CORBA::Object_var o = orb->resolve_initial_references("RootPOA");
PortableServer::POA_var rootPOA;
rootPOA << o;
Podemos ir un paso más allá y hacer que el objeto CORBA se consuma automáticamente y no tengamos que hacer un objeto
Object_var
para guardar el valor temporal retornado por la llamada a resolve_initial_references
, y la función de arriba quedaría como sigue:
PortableServer::POA_ptr operator<<(PortableServer::POA_var& poa, CORBA::Object_ptr o)
{
poa = PortableServer::POA::_narrow(o);
CORBA::release(o);
return poa.in();
}
Con este operador, el código de arriba quedaría como sigue:
PortableServer::POA_var rootPOA;
rootPOA << orb->resolve_initial_references("RootPOA");
Y no se perdería nada de memoria. Casi igual a cómo se hace en Java, donde no hay que preocuparse por la gestión de memoria. El único problema que habría es si cogemos un
CORBA::Object_var
previo, donde entonces a la hora de llamarla hay que tener la precaución de hacer lo siguiente:
CORBA::Object_var o = orb->resolve_initial_references("RootPOA");
PortableServer::POA_var rootPOA;
rootPOA << o._retn();
(esto es, llamar a
_retn()
del objeto para que olvide la gestión de memoria interna).
spring glow
Spring! At least in the South East of Spain :)
D200 + Tamron 90mm/2.8 macro
Campaña contra las mamografías para inmigrantes
No, no es una broma, lo ha dicho Arias Cañete, excelso político del Partido Popular.
¿Cómo sería abrir ahora un Apple //c de 1988?

Californication

«Vivejazz», el nuevo proyecto de Antonio Fernández
Tras diecisiete años en antena, "Area Reservada" finalizó sus emisiones en Radio 3 (RNE) en Junio de 2007. "Vivejazz" es mi vínculo de conexión con los oyentes y amigos de "Area Reservada", el programa que dirigí y presenté a lo largo de todo ese tiempo.
Desde este blog, siempre al lado de Área Reservada, quiero desearle suerte en este nuevo proyecto. Es una alegría y un honor poder dar esta noticia.

unmedio
A little bit late, but I enjoyed Esmuz's & David Fisher's "1/2" expo in Madrid. My great respect for my great friends!
Norita 66 + Noritar 80mmf/2 + Fuji Provia 400x slide film.
«Fedeguico, te estás amariconando»
¡Ay, de verdad! ¡Cómo envidio a los católicos! Teniendo una guía tan clara y puntualmente en el momento justo para saber dónde guiar su mano cuando vayan a meter la papeletita en las elecciones del póximo marzo, como si de un gran mando a distancia episcopal que les sale a todos los obispos de debajo de la sotana se tratara...
¡Pobre de mí! Siendo ateo y hereje, no tengo moral ni ética, ni asidero espiritual del que agarrarme... Además, no me llega a interpretar el comunicado (será que me falta la parte más importante, la fé ciega...), ya que si fuera católico, tendría que votar «a quien no apoye el matrimonio gay», «a quien no apoye la asignatura de "Educación para la Ciudadanía"», y «a quien no negocie con terroristas», ... Vale, las dos primeras están claras a quién no votar, pero con la última... no queda salvo Izquierda Unida/Los Verdes, que efectivamente nunca lo han hecho, porque hasta el mismísimo Ansar tuvo sus coqueteos con el «movimiento de liberación Vasco» (que era como se refería a ETA de forma cariñosa)... A ver si va a ser como dice el Gran Wyoming, que a quien se están refiriendo es a Franco (que cumple todos los requisitos... lástima que esté muerto...), pero no: los obispos lo pasaron muy mal cuando Franco, así que tampoco puede ser...
Hay que ver cómo echo de menos mi fé... me vendría de perlas en estos momentos para descifrar el comunicado episcopal, y el intelecto de ese gran hombre de Iglesia, Martínez Camino, y también para saber con la certeza de los cielos a quién votar... pero no, en la inopia me quedo.