¡Rajoydi!

Hay que ver qué rápidos son... Ya han encontrado a la niña de Rajoy: ¡Rajoydi! (vía).

4 meses, 3 semanas y 2 días

Con este título, en un principio desconcertante, ya que se puede referir a cualquier periodo de tiempo de interés, viene a las pantallas españolas una película rumana que tuve oportunidad de ver en Madrid el fin de semana pasado. Reconozco que al principio fui un poco reticente, porque no sabía exactamente si iba a estar bien o no. Sin embargo, el hecho de haber ganado el anterior festival de Cannes le hizo ganar puntos. Aprovecho este momento para criticar el bochornoso espectáculo de las salas de cine en Murcia. En todas ellas salvo una, podemos ver LOS MISMOS TÍTULOS CINEMATOGRÁFICOS, por llamarlos de alguna manera, y únicamente orientados a una audiencia fácil y a llenar las salas todos los fines de semana sin mucha historia. No digo que el cine comercial esté mal, pero ¿por qué tenemos exactamente las mismas películas muchas veces en todos los centros comerciales de Murcia? Sinceramente es una vergüenza. Estoy casi seguro de que esta película no llegará a Murcia. Y luego, por supuesto, nos critican si nos la bajamos de Internet.

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.


lamp





lamp, originally uploaded by dsevilla.



Pentax 67 + SMC 105/2.4 + Fuji RVP50 (Velvia 50).



Abandoned house. Mula. Murcia, Spain.

lighthouse with lightleaks





lighthouse with lightleaks, originally uploaded by dsevilla.



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...

under





under, originally uploaded by dsevilla.



moskva-5 (MOCKBA-5) russian folding rangefinder 6x9 + deadly expired kodak 160nc.



Surprisingly sharp. This was 1/8 or so, wide open, focused to the first fluorescent lamp.

Vota con todas tus fuerzas

Ayer, cuando Emma vino de trabajar, me dijo que se había emocionado cuando oía en la radio del coche el anuncio en el que un anciano de 94 años decía que iba a votar como si fuera el primer día, «ahora que España está donde tenía que estar hace mucho tiempo». Hoy, una vez con los vídeos en Internet, me he decidido a verlo.

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

Mi gran amigo Sánchez me apuntó el otro día la dirección de un weblog desternillante: «Mi mesa cojea». En él, José A. Pérez, como pocos, trata temas políticos y de actualidad de forma brillante y divertida. Por ejemplo, la entrada que cito es genial. 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.

.





, originally uploaded by dsevilla.



Mamiya RB67 + Sekor-C 90mmf/3.8 + Fuji Velvia 50 slide film

almond flower





almond flower, originally uploaded by dsevilla.



Mamiya RB67 + Sekor-C 90mmf/3.8 + Fuji Velvia 50 slide film

Acampada por el 0,7% en la Región

Este fin de semana hay una acampada en el jardín de San Esteban de la Coordinadora de ONG para el Desarrollo de la Región de Murcia para protestar por la dejaded del Gobierno Regional en este aspecto. Os pongo el cartel y el manifiesto. Aprovecho desde aquí para invitar a todos los tamboristas de Mula que se quieran acercar a la tamborrada que se ha organizado el domingo 24 a las 17:00 horas en San Esteban.




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++

Perdonad por el inciso, siguiendo con el otro artículo sobre el tema, ayer pensando sobre los manipuladores de streams de C++, recordé que hay uno que es capaz de leer y escribir hexadecimal, así que pensé que podía construir un 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.

.





, originally uploaded by dsevilla.



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++

La potencia a la que ha llegado C++ es increíble, sobre todo con las magníficas librerías STL y Boost. En particular, he usado las librerías 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





sunset & the city, originally uploaded by dsevilla.



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

Tradicionalmente el mapping de C++ de CORBA es un auténtico suplicio para aquellos que lo tienen que usar. Con motivo de la finalización de mi tesis (que ya queda poco), y con nuevas técnicas y liberías de C++ que estudio, se me van ocurriendo ideas que hacen más sencilla la programación con 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 glow, originally uploaded by dsevilla.



Spring! At least in the South East of Spain :)



D200 + Tamron 90mm/2.8 macro

Campaña contra las mamografías para inmigrantes

¿Pero qué es esto? ¿Qué se creen las inmigrantes, que si tienen una sospecha de metástasis van a poder ir a urgencias y salir de dudas en quince minutos? ¡Por supuesto que no! Que se aguanten con la duda. O si no, que den nueve meses de su sueldo a una clínica privada, que para eso están, oiga. Es más, es imposible que le hagan la mamografía en 15 minutos, porque las urgencias están saturadas de 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?

Eso fue lo que pensaron cuando compraron por E-bay un Apple //c que nunca había sido abierto, con toda la documentación de bienvenida, disquetes, programas de esa época y todo... Es bastante curioso ver cómo ha pasado el tiempo con estos cacharros. Para empezar, tuvieron que tomar la decisión de si abrirlo o no: sin abrir seguía siendo un manjar de coleccionista. Finalmente les picó más la curiosidad... Para festejarlo, hicieron un set en Flickr:

apple //c

Californication

He de reconocerlo. Estoy enganchado a esta serie, que ahora ponen en FOX. Su estilo desenfadado, historias sexuales que llegan al ridículo muchas veces (que lo convierte en su principal crítica) y el gancho de los personajes (sobre todo, y cómo no, la relación de David Duchovny y Natascha McElhone, que ya me encantó en «Ronin»). El sitio web está lleno de curiosidades

«Vivejazz», el nuevo proyecto de Antonio Fernández

Una buena noticia para los amantes del Jazz en España (que no es la mejor posible, hasta que Antonio no vuelva a alguna radio) es que Antonio Fernández ha inaugurado un blog llamado «Vivejazz», donde nos ofrece sus impagables consejos musicales en forma de recomendaciones de álbumes y autores. Podéis ver su entrada de presentación, y como él mismo explica en el blog:


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





unmedio, originally uploaded by dsevilla.



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»

Esto debió ser lo que pensaron los excelsos componentes de la Conferencia Episcopal Española, obispos mezcla de extraterrestres, orcos y fascistas que nos hicieron llegar, como quien no quiere la cosa el otro día un comunicado orientativo para votar en fé, moral y ética.

¡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.