17 años en Internet

16 diciembre 2013

El lucro de amordazar

El nuevo proyecto de ley que prepara el Ministerio del Interior planea convertir en multas administrativas acciones como desobedecer a un miembro de seguridad privada, manifestarse con elementos que dificulten la identificación del individuo (como pudieran ser pasamontañas o disfraces), olvidar tu documentación en casa, grabar a un policía incluso si es para demostrar un abuso de autoridad, acampar en lugares públicos, difundir convocatorias no admitidas por la administración, hacer un escrache, evitar un desahucio, rodear el congreso para mostrar tu malestar e incluso lucir pancartas que ofendan a símbolos nacionales o religiosos.

Realmente muchas de estas acciones ya están penadas, pero tipificando estas faltas como administrativas el Gobierno (central, autonómico o local) pasa a ser a su vez juez y parte del conflicto. Esto se debe a que una falta administrativa carece de juicio, es una multa impuesta que presupone la culpabilidad del usuario, el cual sólo tiene dos opciones: Pagar o recurrir. En caso de que pague, el multado admite su culpabilidad, mientras que con el recurso éste debe de pasar por el nuevo sistema de "copago" de la justicia y en ocasiones, como pasa con las multas de estacionamiento, sale más caro recurrir que pagar la susodicha multa.

Es decir, las faltas administrativas tienen como objetivo:
  1. Matar al intermediario, en este caso el juez, no vaya a ser que el acusado sea inocente.
  2. Sea inocente o culpable, el acusado pagará dinero de su bolsillo gracias al nuevo y flamante "copago judicial".
Ahora imaginemos el caso de que has sido multado por algo que consideras injusto. Con todo lo expuesto antes, queda aclarado que se te multa sin haber tenido un juicio, sólo por que un miembro de la administración, desde un punto de vista posiblemente subjetivo, dice que eres culpable. No te queda otra que recurrir, pero claro, mientras el recurso está en el aire... y a falta de sentencia firme que diga que eres inocente, la administración que te multa te sigue considerando moroso. Y aquí viene el siguiente problema.

Cuando la administración te considera moroso, tiene la potestad de reclamar lo que considera que es suyo y puede hacer uso de todos sus cauces legales para conseguirlo. En este caso uno de los primeros pasos será notificar la multa a la Agencia Tributaria para que este intente cobrártela (#truestory). Primero te envía un aviso certificado diciendo que les pagues a ellos la multa (y no a la administración), sumando a ella un recargo adicional por demora (estamos hablando de un recargo de 60 a 100 euros para una multa administrativa de 500). Es decir: Eres inocente, has pagado el recurso con el nuevo sistema de "copago judicial", aún no hay sentencia firme diciendo que eres culpable y la Agencia Tributaria ya te está reclamando la multa con un recargo adicional. Y en caso de no pagarles seguramente acabarán embargando parte de tu nómina o dándote una sorpresa en tu próximo borrador de la renta. Con todo ello creo que queda claro el afán recaudatorio de este proyecto ley... pero es que aún hay más.

¿Podría ser peor? Sí, puede. Este proyecto de ley también permite que los vigilantes de seguridad retengan a personas fuera de su establecimiento privado en caso de detectar una violación administrativa. Hay que aclarar que todo ciudadano está en la obligación de actuar o detener a una persona pillada en flagrante delito, pero ahora un vigilante podrá identificar e incluso cachear al mendigo que pida dinero en la puerta del supermercado o a los chavales que fuman porros en el banco de al lado. Mucha gente interpreta mal el proyecto de ley pensando que esto se hace para que puedan atrapar un ladrón en caso de que robe algo de una tienda, pero hay que tener en cuenta dos cosas:
  1. La labor principal de los vigilantes de seguridad debe de ser velar por la seguridad del establecimiento. Es decir, está claro que evitar un hurto o un robo puede ser importante para el cuadre del negocio, pero su función principal es proteger a los empleados de atracos o intimidaciones. Darles competencias fuera de su local privado abre otras peligrosas vías... ¿en un futuro próximo veremos cámaras de seguridad privadas en lugares públicos?
  2. Todo ciudadano está obligado a actuar en caso de pillar a otro individuo en flagrante delito. Es decir, un vigilante de seguridad, con la ley actual, ya puede correr tras un ladrón, incluso en un espacio público, para retenerlo hasta que venga la policía.
La cosa es que en la actualidad, tanto en el caso del mendigo como en el caso de los chavales que fuman porros, los vigilantes de seguridad ya pueden perféctamente avisar a un policía local (o nacional) para que actúen en consecuencia, por lo que su aumento de competencias nos puede hacer plantear dos hipótesis:
  1. Se pretende externalizar a la policía local. Lo que en cristiano significa "privatizar" a los policías locales. Si los vigilantes pueden hacer las mismas competencias que los locales, estos ya no son necesarios (todo dependerá si los vigilantes podrán aplicar o no sanciones administrativas, habrá que ver el borrador final del proyecto de ley).
  2. Se pretende incrementar las arcas de la administración haciendo que los vigilantes identifiquen a ciudadanos para que sea más fácil denunciarles cuando acuda un policía al lugar de los echos.
Si a los dos puntos anteriores sumamos las nuevas faltas administrativas que he nombrado al principio, podríamos ver cosas tan kafkianas como que los vigilantes de seguridad puedan identificar a manifestantes enfrente de su negocio para posteriormente ser multados por un policía local por la vía administrativa. Es decir, la palabra del vigilante servirá para multarte si protestas enfrente de un banco por haber sido estafado por las preferentes o por protestar enfrente de una agencia de viajes que ha anunciado una bancarrota.

¿Os ha parecido una entrada demagógica? Bueno, el ejemplo actual más claro es la ORA. Una empresa privada que gestiona el estacionamiento de pago... sobre suelo público... de varías ciudades de España. No son policías, pero sus empleados imparten multas administrativas que se aplican sin que un juez lo haya estudiado. ¿A que ya no os suena tan descabellado lo que acabo de escribir?

Atad los cabos, está sucediendo:
  1. Justicia de copago puesto como recorte de gasto público. 
  2. Multas administrativas para liberar a los jueces.
  3. Subir las capacitaciones de la seguridad privada para agilizar el trabajo de las fuerzas del orden.
De lo que se interpreta:
  1. Quieren que pagues dinero cuando recurras.
  2. Quieren que recurras sin ni siquiera haber ido a juicio.
  3. Quieren que recurras sin ni siquiera haber sido identificado por un policía.

14 diciembre 2013

Juegos viejunos guays: Saints Row The Third


- Trailer de presentación del juego para el E3 de 2011.
- THQ aún vivía y emplearon el tema POWER de Kanye West para promocionar el juego.
- Este vídeo esconde un montón de referencias"ocultas" a simple viste.
- URL oficial del vídeo: http://www.youtube.com/watch?v=kxQsCNontmI
Definir lo genial que es la tercera entrega de Saints Row es bastante complicado, puesto que a pesar de que los chicos de Volition no puedan competir ni en medios ni en presupuesto con Rockstar (creadores de la saga Grand Theft Auto), la verdad es que finalizar un Saints Row simpre resulta más gratificante que llevar a lo más alto a Niko Bellic o Albert De Silva. La razón es bien simple, aquí el guión sobra, es un mero pretexto para darte la patadita que necesitas y experimentar el mundo abierto más gamberro visto hasta la fecha.


Y si hay una palabra que defina a la perfección este juego, es la palabra "gamberro". Para haceros una idea, el modo historia puede durar un poco menos de veinte horas, pero se puede doblar si nos dedicamos a hacer las misiones secundarias o a hacer el tonto por las calles. Estas misiones, tanto las del modo historia como las secundarias, resultan ser salvajes, alocadas e irrespetuosas. ¿Conocéis la famosa escena de Blade Runner de "he visto cosas que vosotros creeríais"? Pues yo en este juego he saltado de un avión vestido de oso panda, mientras atravesaba aros de juego y con una sierra eléctrica mutilaba tíos vestidos de mascotas; He robado un tanque para dárselo a un falso Ejército de Salvación; De hecho, por rizar más el rizo, he llegado a ser atacado por tanques mientras saltaba de un avión... sin paracaídas... y los tanques también caían del avión sin paracaídas; He filmado una película sobre mi vida y yo he interpretado el papel protagonista, matando al jefe de una banda enemiga en el mismísimo planeta Marte; También he despertado desnudo y drogado en medio de una fiesta rival que, como era de esperar, ha acabado en sangría; E incluso he llegado a sobrevivir a un holocausto zombie.


Está claro que este juego no es para nada apto para menores, pero si eres adulto y te apetece liberar mucha adrenalina, éste es sin duda tu juego.

04 diciembre 2013

Cara y cruz de la crisis en Valencia

He seleccionado dos noticias que creo que muestran la cara y la cruz de la crisis económica de Valencia. Podría haber incluido alguna más acerca del cierre de Canal 9, pero considero que esto muestra mejor el día a día que se vive en la Comunidad Valenciana.

Noticia de El Mundo:




Noticia de Expansión:

07 noviembre 2013

Ascii Aliens v0.5

He liberado una nueva versión de Ascii Aliens con bastantes novedades:

  • Cuenta atrás entre oleadas.
  • Pantalla completa a través de reescalado.
  • Se puede pausar el juego pulsando "espacio".
  • Sistema de frameskip automático, para evitar que el juego corra lento en netbooks o en equipos antiguos. En esa clase de equipos puede causar efectos de cámara lenta durante determinados segundos.
  • La mejor puntuación y la mejor oleada se almacenan en las cookies. De esta forma se pueden recuperar los valores a cada nueva sesión.
  • La nave del jugador deja de teletransportarse al lugar exacto del puntero del ratón, si no que ahora pasa a acercarse a él. Esto se ha hecho para evitar trampas cuando se juega desde una tableta o smartphone o cuando se pausa el juego (gracias por el aviso Pau).
  • Se cambia la posición inicial de los enemigos. Ahora salen más arriba que antes.
  • Se cambia el signo del desplazamiento inicial de la coordenada X de los enemigos. Ahora es aleatorio: El 50% empieza desplazándose a la izquierda y el otro 50% a la derecha.
  • El tipo de enemigos cambia entre oleadas: De la 1 a la 3 nos enfrentaremos a las terribles V. De la 4 a la 6 a las temibles U y de la 7 para adelante a las peligrosas W.
  • Cada tipo de enemigo tiene un puntaje y produce una cantidad de daño distintos.
  • Las U ganan velocidad de desplazamiento en las coordenadas X cuando estas chocan con un límite.
  • Lass W rebotan en el suelo y el techo, cambiando el signo de desplazamiento de las coordenadas Y.
  • El número de enemigos depende del número de oleadas y del tipo de estos.



A continuación os facilito el código fuente de esta versión:
http://ubuntuone.com/7jgCZvYYXmE0GatbiZRlo5

Podéis disfrutar del juego clicando en este enlace:
http://dangoyhamster.webcindario.com/asciialiens/index.html

Ascii Aliens

He escrito un simpático mata marcianos que funciona con HTML5. La particularidad, además de funcionar en navegadores que soportan dicho estándar, es que ha sido escrito en lenguaje DIV (similar al Pascal) y transformado a HTML/Javascript a través de DIV GO. Además, como podéis intuir por su nombre, no he empleado ningún gráfico, sólo primitivas de texto.


Podéis echarle un vistazo en el siguiente enlace:

También os dejo el código fuente que he escrito, por si os pudiera interesar. A pesar de ser un archivo con una extensión "prg", se trata de un mero fichero de texto plano.

06 noviembre 2013

Cierra RTVV

El Consell del presidente no electo del gobierno valenciano ha ordenado el cierre de las cadenas de televisión y radio públicas de Valencia. El motivo es que la Generalitat dice no tener suficiente dinero para readmitir un millar de trabajadores despedidos a través de un expediente de regulación de empleo que hoy ha catalogado de ilegal el Tribunal Superior de Justicia de la Comunidad Valenciana.

Dicho expediente de regulación se realizó para "sanear" la gestión de la entidad para su posterior privatización (venta). Según el juez la cúpula de RTVV obró con mala fe, realizando un ERE con tintes claramente políticos y vulnerando los derechos fundamentales mediante la aplicación de criterios engañosos y subjetivos. A pesar del escándalo, no habrán elecciones anticipadas.

30 septiembre 2013

El peor partido de fútbol que jamás he visto

Hacía tiempo que no volvía a pisar Mestalla, el estadio de mi querido Valencia CF. Para ser más concretos, desde que a principios de 2012 un tal Raúl González Blanco, por entonces en las filas del Schalke 04, nos metiera dos goles que nos eliminó de los octavos de final de la Liga de Campeones. Desde entonces la historia del equipo se resume perfectamente en un "quiero y no puedo", donde la venta de nuestras estrellas se ha vuelto una obligación para poder sobrevivir a la asfixiante hipoteca que tenemos por empezar a construir un estadio que ni podemos pagar, ni podemos terminar. El resultado es palpable, a pocos meses para el inicio de 2014 estamos sin estrellas, fuera de la Liga de Campeones y con el fantasma de la quiebra desaparición por la mente de los aficionados.

El sábado volví a pisar Mestalla, animado por la racha de dos victorias seguidas y porque nos enfrentábamos al colista de la liga, el cual llevaba encajados 20 goles en 6 partidos. También hizo bastante la llamada de un amigo informando que le sobraba una entrada, para qué engañarnos. En todo caso lo que vi el sábado no era un equipo de fútbol. Era toda una obra de teatro, una situación tan kafkiana que en contadas ocasiones llegó a rozar el ridículo y la vergüenza ajena. Básicamente no nos llevamos diez goles porque ni Messi ni Bale juegan en el Rayo Vallecano.

La verdad es que los primeros minutos fueron muy buenos, con un Jonas muy motivado y un Pabón que desbordaba por la banda izquierda, deslumbrando el colombiano con su mejor fútbol desde que llegó al Valencia. Pero pasados los veinte minutos de juego se acabó el espejismo, el Rayo, colista de la liga, se convirtió en amo y señor de la posesión, aunque Jonas maquillara el resultado con un precioso gol a la contra en el minuto 36.

No obstante, por un lado teníamos a un Joao más concentrado en buscarle las pulgas a Lass cada vez que éste se acercaba al área, tanto si Lass tenía el balón como si no; Y por otro lado veíamos a un Víctor Ruíz que parecía nervioso porque los delanteros rivales le desbordaban a cada jugada... amén de que también disponíamos de un Éver Banega que pese a ser la supuesta estrella del equipo apenas pudo dar un par de destellos, sobretodo a modo de regates para rescatar a un Canales que se metía cada pocos minutos en la boca de un lobo que le rodeaba a modo de trampa.

Y entre tanto caos los pelotazos sin rumbo que acababan en el campo rival fueron el cebo de Jonas para correr como nunca antes había corrido, lo que en cierta jugada le hizo crecerse, acercarse a un rival, hacer un amago de autopase y tirarse al suelo en la representación más infantil y estúpida que jamás uno se podría creer. Es decir, pudiendo elegir entre miles de opciones Jonas eligió, en la jugada que guardo en mi retina, tirarse al suelo de la forma más descarada e indigna. Y mira que me duele decir esto, puesto que el artillero brasileño es el futbolista al que más cariño guardo.

Pero este cúmulo de despropósitos no hizo más que destapar la caja de tormentas que aparecerían en la segunda parte. Tanto nuestro portero titular como el "suplente Guaita" están lesionados y en vez de apostar por el tercer portero, nuestro entrenador decidió apostar en este partido por un Diego Alves cojo. Repito, nuestro portero titular está COJO. Y no lo digo porque a cada balonazo, o roce, éste se tirara al suelo e hiciera una representación teatral más grande que la de Jonas, si no porque era incapaz de realizar saques de puerta, delegando cada uno de los lanzamientos al defensa de turno, los cuales se mostraban cada uno más miope que el anterior, regalando el balón en situaciones que deberían de ser controladas sí o sí. Sin duda, la falta de acierto en los saques de puerta fue una de las causas que hicieron que nuestra posesión fuera nula.

Y esto me lleva al siguiente en discordia, Mathieu, el interior izquierdo reconvertido a lateral izquierdo lleva un par de partidos jugando de central izquierdo (éste inclusive) y como resultado llevaba tal cacao encima que realizó un par de pases largos verticales que se toparon una y otra vez con los centrocampistas rivales. Crucemos los dedos por la pronta recuperación de Costa o la recorrección de comportamiento de Rami, puesto que la tupla Mathieu-Ruiz hizo agua en este partido.

De todas formas el verdadero caos vino con los cambios: El triángulo de las bermudas del fútbol, en vez de cambiar a un portero que daba la misma seguridad que un becario en la sala técnica de un reactor nuclear ruso, el entrenador apostó por cambiar al lateral derecho (Joao), al pivote derecho (Banega) y al interior derecho (Fede) por Barragán, Míchel y Feghouli. El técnico básicamente ha reemplazo toda la banda derecha y en vez de materializarse esto un un lado "fresco", "con fuerza" e "impulso" para atacar en el último tramo de partido, realmente se generó una especie de cono o agujero negro que se tragaba todo el fútbol de su alrededor y como resultado dió una autopista que fue empleada por la delantera del Rayo durante toda la segunda parte.

Realmente Barragán no jugó mal, pero Lass era demasiado para él y para pararle los pies necesitaba la ayuda constante de un Feghouli apagado, que ni corría, ni centraba, ni remataba (incluso con el portero batido). En serio, Feghouli no jugó al fútbol, parecía que se encontraba de parranda y su actitud totalmente indiferente se entendía en la grada como una falta de respeto que se materializó en varias sonadas pitadas.

Desde luego lejos queda el Valencia de Mendieta.

26 septiembre 2013

Ejemplo de cubo en 3D con textura utilizando Three.js (javascript)

Three.js es una librería opensource de Javascript (con licencia MIT) que permite dibujar contenido tridimensional gracias a las capacitaciones que permiten HTML5 y los navegadores web actuales. A modo de prueba de concepto he modificado uno de los ejemplos de uso reorganizando el código y texturizando el cubo.

Ejemplo con render WebGL:


http://dangoyhamster.webcindario.com/cube_3d/index.html


Ejemplo con render Canvas:

http://dangoyhamster.webcindario.com/cube_3d/canvas.html

A continuación os voy a enseñar unas muestras del código empleado (aquí lo tenéis completo para WebGL y Canvas, aunque ambos ejemplos sólo difieren en una única línea), para que podáis comprobar lo sencillo que resulta:

- Definimos un escenario 3D.
- Indicamos que el renderizado es WebGLRenderer.
- Aplicamos un tamaño de dibujado al de la ventana del navegador web.
- Indicamos que el ID del div del renderizado se llamará "surface".


- Creamos una nueva cámara, para saber qué hay que visualizar, con un ratio (4:3, 16:9...) que dependa del tamaño de la ventana.
- Colocamos la cámara en la posición indicada.

- Cargamos una textura a partir de un fichero PNG.
- Creamos un cubo geométrico y le aplicamos la textura en las seis caras.
- Colocamos el cubo en el escenario.

- Creamos un rectangulo de 200x200 con color 0x202020 y lo ponemos al pie del cubo.

- Añadimos el contenedor que contiene el render en la web.
- Indicamos que debemos de vincular diferentes manejadores (que definimos en el fichero javascript) a determinados eventos.

14 septiembre 2013

Diada, Gibraltar y Felipe V el Animoso



Aún están frescos los acontecimientos vividos durante la Diada de este año donde miles de millares de catalanes se dieron la mano formando una cadena humana que atravesó Cataluña de norte a sur. Este acto ha sido más o menos criticado y/o aplaudido, no obstante mucha gente desconoce a día de hoy el significado real de la Diada, tomándolo como un insulto indignante hacia el resto de partes de la "indivisible" España.

  • El restablecimiento de la Diada:

Como bien es sabido, cada 11 de Septiembre Cataluña celebra su fiesta nacional, tal y reflejó el Parlamento Catalán en la ley 1/1980 del 12 de Junio y tal y como se recoge también el artículo 8.3 de su estatuto de autonomía de 2006:
LLEI 1/1980, de 12 de juny, per la qual es declara Festa Nacional de Catalunya la diada de l’onze de setembre: El recobrament nacional dels pobles passa, sens dubte, per la recuperació de les seves institucions d’autogovern. Passa, també, per la valoració i exaltació de tots aquells símbols a través dels quals les comunitats s’identifiquen amb si mateixes, ja que sintetitzen tota la complexitat dels factors històrics, socials i culturals que són les arrels de tota realitat nacional. D’entre aquests símbols, destaca l’existència d’un dia de Festa, en el qual la Nació exalta els seus valors, recorda la seva història i els homes que en foren protagonistes i fa projectes de futur. El poble català en els temps de lluita va anar assenyalant una diada, la de l’onze de setembre, com a Festa de Catalunya. Diada que, si bé significava el dolorós record de la pèrdua de les llibertats, l’onze de setembre de 1714, i una actitud de reivindicació i resistència activa enfront de l’opressió, suposava també l’esperança d’un total recobrament nacional. Ara, en reprendre Catalunya el seu camí de llibertat, els representants del Poble creuen que la Cambra Legislativa ha de sancionar allò que la Nació unànimement ja ha assumit. Per això, el poble de Catalunya estableix, per la potestat del seu Parlament, la següent Llei: 
Article Primer: Es declara Festa Nacional de Catalunya la Diada de l'11 de Setembre. 
Article Segon: Aquesta Llei entrarà en vigor el mateix dia de la seva publicació al Diari Oficial de la Generalitat. 
Per tant, ordeno que tots els ciutadans de Catalunya cooperin en el compliment d'aquesta Llei i que els Tribunals i autoritats la facin complir. Palau de la Generalitat, a Barcelona, 12 de juny de 1980. Jordi Pujol, President de la Generalitat de Catalunya.
Traducción:
Ley 1/1980, del de junio, por el cual se declara Fiesta Nacional de Cataluña la diada del 11 de septiembre: La recuperación nacional de los pueblos pasa, sin duda, por la recuperación de sus sistemas de autogobierno. Pasa, también, por la valoración y exaltación de todos aquellos símbolos a través de los cuales las comunidades se identifican consigo mismo, puesto que sintetizan toda la complejidad de los factores históricos, sociales y culturales que son las raíces de toda realidad nacional. Dentro de estos símbolos, destaca la existencia de un día de Fiesta, en el cual la Nación exalta sus valores, recuerda su historia y los hombres de los que fueron protagonistas y hace proyectos de futuro. El pueblo catalán en los tiempos de lucha fue mostrando una diada, la del once de septiembre, como Fiesta de Cataluña. Diada que, si bien significaba el doloroso recuerdo de la pérdida de libertades, del 11 de septiembre de 1714, y una actitud de reivindicación y resistencia activa contra la opresión, suponía también la esperanza de una total recuperación nacional. Ahora, al retomar Cataluña su camino a la libertad, los representantes del Pueblo creen que la Cámara Legislativa ha de sancionar aquello que la Nación únicamente ya ha asumido. Por todo ello, el pueblo de Cataluña establece, por la potestad de su Parlamento, la siguiente Ley:
Atículo Primero: Se declara Fiesta Nacional de Cataluña la Diada del 11 de Septiembre. 
Artículo Segundo: Esta Ley entrará en vigor el mismo día de su publicación en el Diario Oficial de la Generalitat.
Por lo tanto, ordeno que todos los ciudadanos de Cataluña cooperen en el cumplimiento de esta Ley y que los Tribunales y autoridades la hagan cumplir. Palacio de la Generalitat, en Barcelona, 12 de Junio de 1980. Jordi Pujol, Presidente de la Generalitat de Cataluña.
Con esto expuesto queda aclarado que la Diada busca recuperar un cúmulo de cosas que se perdió eñ 11 de Septiembre de 1714, ¿pero qué se perdió exáctamente? ¿Qué buscaba conseguir la Diada original? La primera conmemoración del 11 de Septiembre se realizó en 1886 en una ceremonia fúnebre que buscaba honrar a los caídos durante el asedio y posterior caída del Condado de Barcelona durante el final de la Guerra de Sucesión española. Aquella ceremonia fue marcada por el miedo de las autoridades de que se convirtiera en un acto catalanista, lo cual produjo que se prohibiera la lectura de sermones durante la misa. Dos años más tarde se construye un monumento a Rafael Casanova y en los siguientes años éste pasa a ser el lugar donde los catalanes se reunirán a rendir tributo a los muertos del asedio cada 11 de Septiembre. Esto nos lleva al siguiente punto, ¿quién era Rafael Casanova?


La Vida Bohème - Buen Salvaje.
La historia de La Bohème (nombre de la obra empleada por este grupo) narra el romance entre Rodolfo y Mimí, donde éste quiere dejarla pero se encuentra con un sentimiento de culpa debido a que Mimí posee una enfermedad mortal. Es una curiosa forma de ver la actual y caótica relación entre la España centralista y la Cataluña secesionista.

  • Rafael Casanova:

Casanova fue el Conseller en Cap de la ciudad de Barcelona y máxima autoridad militar y política de Cataluña durante el asedio de los borbones al Condado de Barcelona que supuso la etapa final de la Guerra de Sucesión. Y he aquí la cuestión, el 11 de Septiembre de 1714 las tropas borbónicas entraron en Barcelona, Casanova fue exonerado de sus puestos políticos y militares y se castigó al Condado aplicándole el mismo castigo que a los reinos rebeldes de Valencia, Mallorca y Aragón: El Decreto de Nueva Planta.

Este decreto abolía todas las leyes e instituciones propias de dichos reinos, obligándoles a respetar únicamente las organizaciones jurídicas y administrativas de la Corona de Castilla. Es decir, dejan de ser reinos y pasan a ser meras "provincias" de un nuevo Estado único e indivisible. Este decreto, junto a los tratados de Utrecht y Rastatt, y la imposición borbónica, pueden considerarse los pilares básicos y fundamentales de la España actual, los pilares que explican por qué un territorio tan plural y conformada con varios idiomas, culturas e identidades distintas coexisten en un único Estado centralizado y actualmente "tuneado" como "federal" a través de la Constitución de 1978.

Un dato que no mucha gente debe de conocer a día de hoy, a tenor de los comentarios demagogos en los bares de turno, es que Rafael Casanova no era republicano o separatista. ¿Luchó contra las fuerzas borbónicas? Pues sí, pero esto se debe a que él era leal a quien consideraba el auténtico heredero de la Corona de España: El archiduque Carlos, de la casa de los Austria. Casanova no era un iluminado, era un patriota más, el cual pretendía defender la libertad de los reinos de España y que además guardaba una incondicional fidelidad al que consideraba el monarca legítimo de la corona. Ahora bien, ¿a qué se debe este duelo entre Borbones y Austrias?

  • Un rey sin descendientes:

En noviembre de 1700 fallece a los 39 años Carlos II de España, "el hechizado", sin dejar descendencia y sin tener hermanos varones. Esto produjo un conflicto de intereses entre las distintas naciones europeas, puesto que los reyes Luis XIV de Francia (de la casa de los Borbones) y Leopoldo I del Sacro Imperio Romano Germánico (casa de los Austria) reclamaban su derecho de sucesión a la corona española por estar casados con infantas españolas hijas de Felipe IV, además de ser ambos nietos, por parte de madre, de Felipe III. De esta forma, Luís XIV intentó colocar como monarca español a su hijo Felipe "el animoso", mientras que la casa de Austria apostó por el hijo de Leopoldo I, el archiduque Carlos (que más tarde pasaría a ser el emperador Carlos VI).

Tenemos entonces en 1700 un rey fallecido sin descendencia que deja huérfana a una de los imperios europeos más importantes. ¿Quién debía ser entonces el heredero de la Corona de España? Bueno, esta parte trae cola, puesto que Carlos II nombró como heredero universal en su testamento a José Fernando de Baviera, el cual murió de varicela en 1699, a la edad de 7 años. Esto obligó a Carlos II a reformular sus esquemas. Y aquí tenemos el principal problema:

Por un lado, el 3 de marzo de 1700, Luis XIV de Francia y Guillermo III de Inglaterra pactaron que reconocerían al archiduque Carlos como heredero del Reino de España, los Países Bajos Españoles, Cerdeña y las Indias americanas mientras que el delfín francés, Felipe, recibiría el ducado de Lorena y el Milanesado. Y por otro lado Carlos II pasó de ellos y en su lecho de muerte cambió su testamento, nombrando a Felipe heredero de la corona española a cambio de que éste renunciara al trono de Francia y que además respetara el singular sistema de identidades e instituciones de España.

Repasando todo lo acontecido tenemos todo para crear una novela increíble:
  1. El rey de España no tiene descendencia.
  2. El rey de Francia y el de Inglaterra pactan que el rey de España debe ser el actual heredero del imperio Romano Germánico.
  3. El hijo de rey de Francia renuncia a heredar su corona para heredar el reino de España.

  • El testamento violado:

Pero miren ustedes por dónde Luis XIV y su hijo Felipe V, nuevo monarca de España, decidieron pasarse por el forro el testamento de Carlos II, puesto que Luis anunció ese mismo año que Felipe continuaría siendo el heredero de la corona francesa, además que para más inri ocupó con tropas francesas los Países Bajos españoles, el Milanesado, Cádiz y las colonias españolas en las Indias Occidentales.

Esto produjo el temor entre las potencias europeas, que veían como España y Francia iban a acabar siendo un único país. De esta forma, Inglaterra, el Sacro Imperio Romano Germánico y las Provincias Unidas de los Países Bajos se unieron para combatir la nueva coalición formada entre España y Francia.


Os pongo un AMV de Fullmetal Alchemist para realzar lo épico que resulta todo lo que os estoy narrando.

  • La guerra de sucesión:

Se puede decir sin tapujos que el tratado de La Haya de 1701 creó una alianza europea para luchar contra la casa de los Borbones, puestos que el resto de casas de Europa temían los últimos movimientos realizados por la nueva coalición franco española. Este recelo también caló en los reinos de España, dando como resultado una división patriótica entre los reinos fieles a Felipe V y los reinos fieles al autodenominado Carlos III de España (el archiduque Carlos). Básicamente, los reinos de la Corona de Aragón apoyaban el modelo federal propuesto por el archiduque, el cual garantizaba continuidad a las organizaciones jurídicas y administrativas de cada reino... mientras que los reinos de la Corona de Castilla seguían a Felipe V atraídos por su modelo absolutista y centralista, que como era de esperar, era comparable al modelo francés de la época.

  • Los territorios perdidos:

En 1713 el monarca Felipe V cedía Gibraltar y Menorca a Gran Bretaña a través del tratado de Utrecht, un documento que esclarece el estado de las relaciones territoriales y comerciales entre los países beligerantes de la Guerra de Sucesión. Este punto concreto fue la ocasión ideal para legalizar la situación de dos territorios invadidos por las fuerzas anglo holandesas que buscaban forzar la candidatura al trono del Archiduque Carlos en 1704 y 1708 respectivamente. Es decir, Felipe V cedía ambos territorios a unos invasores, que apoyaron a su rival, a cambio de ser reconocido como rey de España y de las Indias.

Pero hay que destacar que Gibraltar y Menorca no fueron los únicos terrenos que se perdieron en Utrecht y Rastatt, puesto que también se acabó regalando gran parte de nuestro territorio europeo a otras naciones: Felipe V cedió la propiedad de Sicilia a Saboya, la barrera flamenca a las Provincias Unidas, Güeldres del Norte a Brandeburgo, la Colonia del Sacramento a Portugal, y por último también cedió los Países Bajos españoles, el Milanesado, el reino de Nápoles, Flandes y Cerdeña a la casa de Austria. Visto lo visto, aparentemente el peor de nuestros males no fue perder una roca de 6 km cuadrados (Gibraltar).

Cambios territoriales tras el tratado de Utrecht y Rastatt. Mapa original de Wikipedia.

  • El asedio a Barcelona, el fin de la guerra:

No obstante, el tratado no supuso el fin de la guerra, puesto que pese a que fuera reconocido como monarca de todo el territorio español por las fuerzas europeas, esto no sucedía en España, dando lugar a que el reino de Mallorca y el Condado de Barcelona seguían siendo fieles al archiduque Carlos, de la casa de los Austria. Como resultado Felipe V se vio obligado a conquistar por la fuerza Barcelona, Mallorca, Ibiza y Formentera y posteriormente aplicarles el decreto de Nueva Planta, tal y como se hizo con los reinos "rebeldes" de Valencia y Aragón y que supuso su desaparición como estados propios. Ya conocéis la historia, cierto 11 de Septiembre de 1714 las tropas borbónicas entraron en Barcelona.

No sólo en Cataluña no guardan un grato recuerdo de Felipe V: Játiva es una ciudad de 30.000 habitantes situada a 60 km al sur de Valencia que, al igual que las demás ciudades del reino de Valencia, era partidaria del Carlos III. Tras un fuerte asedio la ciudad se rindió a los felipistas en Junio de 1707 y sus habitantes recibieron dos duros castigos:
  • Su gente fue deportada a Castilla.
  • La ciudad fue quemada para reconstruirla desde cero. 
Como símbolo de protesta el cuadro de Felipe V luce volteado del revés en el museo de la ciudad. Foto: curiositat.cat

M-Clan - Las calles están ardiendo

  • El caso de Menorca:

Cómo bien he mencionado antes, durante el tratado de Utrecht los británicos obtuvieron la cesión de Menorca, pero 300 años más tarde vemos que la isla es propiedad de España y que Gibraltar sigue siendo británica. ¿Qué pasó para que un territorio que fue invadido por Gran Bretaña y posteriormente regalado por Utrecht, sea a día de hoy un territorio español? Pues se debe a una acción bélica y a otro posterior tratado, el de París de 1783... pero que de poco serviría, puesto que en 15 años más tarde volvería a ser invadida por los británicos y posteriormente recuperada por el  tratado de Amiens de 1802.

Por un lado, aprovechando la guerra de independencia americana, Francia pidió la colaboración de España en la contienda a cambio de recuperar de Menorca, Mobile, Pensacola, la bahía de Honduras, la costa de Campeche y Gibraltar. Y dicho esto, cierto día 1781 los 3.000 soldados británicos que poblaban la isla se encontraron con un grupo de 14.000 soldados franco españoles. Cabe destacar que a pesar de la desigualdad de fuerzas, la batalla duró 5 meses. No obstante, los franceses firmaron la paz con Gran Bretaña antes de cumplir todas sus promesas con España.


Chistes sobre americanos, lo siento, tenía que ponerlo.

Por otro lado, finalizando aquel siglo estalló la famosa revolución francesa, haciendo que finalmente en 1792 se proclamara la primera república francesa, cosa que causó el recelo de las monarquías europeas que veían aparecer un peligro nuevo: Acostumbrados a conspirar y batallar entre ellos mismos, temieron que el modelo francés se extendiera y decidieron hacer frente común a la República tras la ejecución de Luis XVI de Francia.

Dicho esto, la Monarquía Habsburgo, el Reino de Prusia, el Reino de Nápoles, el Reino de Cerdeña, Gran Bretaña, las Provincias Unidas y el Reino de España formaron una coalición para luchar contra los republicanos franceses. Y les salió el tiro por la culata, puesto que España se encontró en 1796 con los franceses paseando a sus anchas por Cataluña, Navarra y Euskadi, lo cual se "solventó" con un cambio de chaqueta: Como resultado, Carlos IV firmó la paz con Francia en el tratado de Basilea y pasó a convertirse en un aliado de la República.

Pero a diferencia de España, el Reino Unido de Gran Bretaña y la casa de Austria quisieron seguir dando cizaña, así que ambos imperios formaron una segunda coalición con el Imperio Ruso, el Imperio Otomano y Portugal. Dicho esto, no hace falta decir que todo aliado de Francia era a su vez un nuevo enemigo y el 7 de Noviembre de 1798 los 4.000 soldados españoles que vigilaban Menorca se encontraron un día con 20 barcos que transportaban unos 6.000 británicos. Al octavo día de acoso las fuerzas de Juan Nepomuseno de Quesada se rindieron y entregaron Menorca a Gran Bretaña. No obstante, ésta se devolvería otra vez al Reino de España en 1802, tras la firma del tratado de Amiens de 1802, el cual buscaba poner fin de una vez a las guerras revolucionarias francesas. Como resultado del tratado Gran Bretaña se comprometió a devolver todos los territorios invadidos a Francia y sus aliados, salvo Ceilán, Gibraltar, la isla de Trinidad y Tobago.

  • Gibraltar:

Gibraltar actualmente es una ciudad de 29.000 habitantes situado en un peñón al sur de España, justo al este de Algeciras y a menos de 20 km de ésta. La ciudad técnicamente pertenece al Reino Unido y aunque en la práctica tenga cierto nivel de autonomía está listado por la ONU como un territorio no autónomo de soberanía 100% británica. Lo ridículo de la situación es que este peñón, de apenas 6 km cuadrados, fue, es y aparentemente será uno de los grandes escollos entre las relaciones entre España e Inglaterra.


"Tensión en Gibraltar" - Euronews

Con todo lo expuesto antes queda claro que resulta absurdo reclamar 300 años más tarde la soberanía de Gibraltar y a día de hoy los políticos también lo saben. Prueba de ello está que cuando salta un conflicto con el peñón se pone como excusa el uso de éste como paraíso fiscal, el trato vejatorio que sufren los pescadores de Algeciras cuando navegan cerca del peñón o la violación de algún punto concreto del tratado de Utrecht. No obstante, ¿qué se cedió exáctamente que nos trae tantos quebraderos de cabeza? Bueno, el tratado es bastante claro:
El Rey Católico, por sí y por sus herederos y sucesores, cede por este Tratado a la Corona de la Gran Bretaña la plena y entera propiedad de la ciudad y castillos de Gibraltar, juntamente con su puerto, defensas y fortalezas que le pertenecen, dando la dicha propiedad absolutamente para que la tenga y goce con entero derecho y para siempre, sin excepción ni impedimento alguno.
Es decir, Felipe V regaló la ciudad, el fuerte de Gibraltar y su puerto. Todo lo demás, como puede ser el puesto fronterizo, el aeropuerto, las aguas del peñón que no pertenezcan al puerto e incluso su parque natural debería de considerarse territorio ocupado. Aún así resulta ridículo que un territorio como Gibraltar quiera comparar su caso al palestino o bien que España reclame la soberanía de algo que regaló. Repito, el mismo año que regalamos Gibraltar, también regalamos Sicilia, Güeldres del Norte, los Países Bajos españoles, el Milanesado, el reino de Nápoles, Flandes y Cerdeña... ¿Se imaginan ir a Bélgica y gritar ¡¡FLANDES ESPAÑOL!!? Pues eso, no jodan.


En resumidas cuentas, Felipe V tuvo que ser peor gobernante que Rajoy.

27 agosto 2013

El pésimo soporte técnico que Microsoft ofrece a la comunidad Indie (II).

Hace once meses os hablé del pésimo soporte técnico que ofrece Microsoft a su comunidad Indie. Una veintena de e-mails más tarde y casi un año después, no sólo no se me ha solucionado el problema de login de mi cuenta en la única página web de Microsoft que me permite publicar juegos indie o editar mi información fiscal, si no que aún estoy esperando una respuesta del servicio técnico.


Así pensaba que era el día a día del servicio técnico de los Indie Games.

Y es que si hay algo peor que pasarte un año quejándote de un bug que inutiliza un servicio de pago, es encontrarte con que su servicio técnico te ignora, literalmente. Finalmente conseguí que se me devolviera el dinero, pero para ello tuve que contactar con el Call Center de Xbox Live y tener una conversación de 39 minutos para convencerles de que escalaran mi incidencia para decidir si me devolvían o no el dinero. Básicamente el equipo de Xbox Live, un soporte totalmente ajeno a la suscripción de los Indie Games de Xbox 360, estaban conformes en anularme la suscripción pero no en devolverme el dinero de ésta. Entonces les hice hincapié en varios puntos de la licencia de uso que acepté:
  1. Toda queja debe presentarse en un plazo inferior a un año y llevo 11 meses quejándome sin respuesta alguna.
  2. En la sección "Limitation of liability" se especifica que puedes recuperar el dinero de la suscripción por razones como que el servicio no es utilizable o si se demuestra negligencia por parte de Microsoft.

El caso es que escalaron la incidencia a un soporte superior y a la semana siguiente llamaron para confirmarme que tenía razón con la licencia, por lo que cancelaron la suscripción y me efectuaron un abono con el importe que pagué. Aún así seguía con la mosca en la oreja y no entendía cómo un producto que aporta miles de dólares a Microsoft (incluso puede que algún millón que otro) tenga un servicio tan malo... y me encontré con esto en el foro oficial:


¡¿What!? ¡¿Seriously?! Un PUTO SERVICIO DE PAGO de Microsoft con miles de usuarios y que aporta unos beneficios bestiales (muchas PYMES españolas quisieran facturar lo mismo) está siendo mantenido por una única persona ¡que para más inri trabaja a tiempo parcial! Atónito por realizar dicho descubrimiento me puse a profundizar más en los foros oficiales y me encontré con otra perla: El equipo de XNA, supuesto soporte técnico de este producto, ha sido desmantelado.


Vamos, que resulta que es muy probable que la única persona que a tiempo parcial lleva el soporte técnico de un servicio de pago de Microsoft ni siquiera tiene relación con el equipo original del producto. ¡¿Pero por qué Microsoft ha desmantelado un equipo entero de uno de sus servicios de pago?! Bueno, googleamos un poco y vemos que el que comentó esto tiene más razón que un santo: En Febrero se filtró por internet un e-mail de Microsoft donde se notifica el cese del desarrollo de XNA por considerarla una tecnología "muerta". ¿Muerta? ¿Una tecnología que le aporta algo de dinero y que es una buena toma de contacto para entrar en el mundo de la programación Indie? Bueno, yo apuesto que se ha dado por muerta gracias a una de las grandes medidas de choque de Steve Ballmer: "La curva de la vitalidad".


Steve Ballmer en todo su esplendor. ¿Quieres más? Pincha aquí. O aquí también.

En 2011 el que fuere CEO de Microsoft decidió "incentivar" el rendimiento de sus trabajadores aplicando una política que premiaba a los empleados con mejores resultados y castigaba dramáticamente a los peores. Según la que fuera su nueva política, cada seis meses se realizaba una tabla de rendimiento por empleado, donde el 20% de los empleados con mejor resultado se les daría una gran prima, al 20% siguiente una prima pequeña, al 20% de los empleados con peor rendimiento se les ponía de patitas en la calle y al 40% restante se le impedía promocionar. Esto se ve que produjo una situación violenta entre los miembros de cada departamento, llegando incluso a sabotear a sus compañeros (según cita elconfidencial.com) para no estar entre el 20% de empleados despedidos de cada semestre.


¡Guillotina! ¡Guillotina! ¡Guillotina! ¡Guillotina!

Como resultado en un par de años las nóminas de Microsoft se han aligerado bastante, amén de que la situación llegó un punto donde los empleados nuevos no eran tan buenos como los que despedían y que para más inri los veteranos que quedaron no se dedicaron a competir contra sus rivales directos... si no a competir entre ellos mismos, como si se tratara de una versión empresarial de Los Juegos del Hambre. Y tras soltar todo esto se ve que por el camino Steve se merendó al equipo de XNA. No temáis, seguramente aquí veremos políticas similares (e incluso más estúpidas) cuando la CEOE obtenga el despido gratuito en España... tiempo al tiempo, que vivimos en el país de los liberales iluminados.

Escena de los Juegos del Hambre.

O cambia mucho la cosa con Xbox ONE o que le den morcilla a Microsoft. Esta experiencia nos ha servido en Dango y Hamster para priorizar otras plataformas en detrimiento de Xbox 360/ONE. Y es una pena, sobretodo porque deseábamos realmente aportar algo de calidad al sector de los juegos Indie de Xbox 360.


EPIC FAIL

26 agosto 2013

Elecciones europeas

Aunque Merkel perdiera las próximas elecciones alemanas, debemos de saber que esto no implicaría un cambio de ruta en la Unión Europea, pese que a muchos nos guste tildarla como la cabecilla de Europa. La realidad es bien distinta, puesto que gran parte de las conocidas políticas de recortes son imperiosamente ratificadas por el Parlamento Europeo, una entidad que asusta por su poder y que nos hace entender Europa más como gigantesco e indivisible país que como una supuesta unión económica.


Nigel Farage, criticando la falta de democracia que vive Europa por el poder del Parlamento.

Quedan nueve meses para las elecciones europeas, unas elecciones que sirven para que cada cinco años los ciudadanos de la unión decidamos qué diputados formarán el Parlamento Europeo. Este parlamento es uno de los organismos con mayor poder del continente y es el encargado de adaptar las legislaciones europeas, decidir el presupuesto de la Unión y vigilar el correcto cumplimiento de las políticas comunitarias. Para cumplir estos puntos, el Parlamento tiene y ejerce su control sobre la Comisión Europea, El Consejo Europeo y el Consejo de la Unión Europea. Mucha gente piensa que los partidos políticos mandan a sus dinosaurios a Europa para que tengan una muerte política digna, pero tal y como comentaré a continuación esto es falso, puesto que en política equivale a que te toque la lotería: Tienes mucho más poder y ganas mucho más dinero.

Profundizando más sobre los organismos que controla, el Parlamento decide qué miembros forman la Comisión Europea, un organismo que actúa como si fuera el gabinete de gobierno de la Unión Europea y que se encarga de crear nuevas leyes e iniciativas comunitarias además de ser de velar por el correcto cumplimiento de los tratados de la Unión. La elección de los miembros de la Comisión y su formación es bastante compleja, pero se puede resumir en que su presidente es electo por el Parlamento bajo sufragio y éste a su vez elige los miembros que le acompañarán de una lista suministrada por el Parlamento. Es decir, el presidente de la Comisión selecciona quienes son sus compañeros y qué funciones realizarán, como si se tratara del Seleccionador de Fútbol de un país. Esto nos da a entender que el grupo parlamentario con más presencia tendrá muchas más opciones de tener un número elevado de miembros en la Comisión y más si el presidente electo pertenece a dicho grupo. Por cierto, en un alarde de transparencia, Bruselas oculta el salario de esta "élite" por motivos de "dignidad humana". Aún así su presidente gana 370.000€ al año y su vicepresidente se especula que ronda los 240.000€.


Durão Barroso, el "Del Bosque" de Europa desde 2004.
Foto de Wikipedia.

Por su parte el Consejo de la Unión Europea está formado por los Ministros de Exteriores de los distintos países de la Unión y su función es elaborar propuestas sobre nuevas leyes, tratados y presupuestos que deberán ser mandados al Parlamento para poder ser ratificados, modificados o descartados. Es decir, este Consejo actúa como su se tratase como el "becario" del Parlamento, pese a ser quién realmente define la "realidad política" de cada país, puesto que las elecciones del Parlamento son cada 5 años y puede darse la paradoja de que un país esté representado mayormente en el Parlamento por miembros que a nivel nacional se encuentran en la oposición. Este organismo llama la atención por dos puntos clave: Su presidencia es rotatoria y varía cada 6 meses; Su sistema de voto es ponderado, los votos de países con más población tienen un valor superior.

Por otro lado tenemos el Consejo Europeo, un ente formado por su presidente, el presidente de la Comisión y por los 28 jefes de Estado, Marianico incluido. Este "presidente" se decide por sufragio entre los 28 jefes por un periodo de dos años ampliable a dos más y que a su vez actúa como otro becario más del Parlamento: Al finalizar cada reunión debe de remitirles un informe. La importancia de este Consejo es bastante cuestionable, puesto que en la práctica sólo sirve para que los distintos jefes de Estado se hagan autobombo, lleguen a un acuerdo a modo de pantomima y de paso sean regañados por el presidente de la Comisión, que éste a su vez viene a ser algo así como un superior tuyo que no tiene poder alguno sobre ti pero al que le tienes que hacer caso para que no se chive al Parlamento. Esta última coletilla la he puesto porque el presidente de la Comisión tiene voz en esta institución, pero no voto. Y esto nos lleva a Herman Van Rompuy, vendido a los medios de comunicación como "el primer presidente europeo", uséase, el homónimo de Obama por estos lares. Y por nivel económico debería de serlo, puesto que en la práctica es otro "becario" más del Parlamento europeo que cobra 350.000 euros al año y tiene asignados 10 guardaespaldas personales.

Foto de Facebook de Herman Van Rompuy dando la bienvenida a Croacia.
350.000€ al año dan para llevarle muchos cafés a Martin Schulz.
¡Qué galante! ¡Qué fuerza! ¡Qué agarre!: "Yes we can!"
Su salario es más alto que el de Obama.

Tras exponer todo esto podemos resumir que la mayoría de las políticas de la Unión se deciden en el Parlamento y que este a su vez politiza, en mayor o menor forma, el resto de organismos comunitarios, siendo el caso más sangrante la Comisión Europea. Esto significa que en la práctica el grupo parlamentario que más presencia tenga será quien controle el tipo de políticas que deben de llevar los estados miembros. Esto nos da a entender por qué Europa está tan cegada con la austeridad.

Diputados del Parlamento Europeo según las elecciones de 2009:
  1. Populares Europeos: 265 diputados.
  2. Socialistas y demócratas: 185 diputados.
  3. Liberales y demócratas:  84 diputados.
  4. Los Verdes: 55 diputados.
  5. Conservadores: 54 diputados.
  6. Izquierda 35 diputados.
  7. Euro escépticos:  32 diputados.
  8. Partidos no inscritos: 27 diputados.
En total son 736 diputados, donde la suma de los diputados de derechas (Populares, Liberales y Conservadores) superan con creces la mayoría absoluta: 393 diputados de 368 necesarios. Esto significa que durante los últimos cuatro años se han podido aprobar en Europa medidas de recortes y de austeridad sin demasiada dificultad. Lo cual resulta irónico dado que estas medidas parten de una señorías que reciben un salario base de 84.000€ brutos al año cada uno, un salario similar al que reciben diversos jefes de Estado, Mariano Rajoy incluido. Así que cuando veáis un titular en la prensa de "el Parlamento Europeo aprueba el programa Ajedrez a la escuela" o "El Parlamento Europeo aprueba medidas antidemocráticas que profundizan la crisis", que sepáis que esa la decisión ha salido del sufragio de 736 personas que tienen un salario digno de un presidente del Gobierno, y que pese a su gran salario reciben además dietas por alojamiento, comida, transporte... ¡y hasta por ir a trabajar! Acojonante pero cierto, cada diputado recibe concrétamente una dieta 300€ por cada día que fichan en la "oficina". Eso sí, esta última dieta es limitada puesto que tiene fijado un máximo de 19700€/año por diputado, que cunde por acudir al Parlamento símplemente en 64 días laborales. ¿Queréis aplicar austeridad? No sé, yo empezaría revisando la cueva de Alí Babá.

¿Acaso es posible un cambio de política tras las elecciones europeas de 2014? Pues es bien difícil de decidir, sobretodo teniendo en cuenta que contamos con una Gran Bretaña donde presuntamente ganará el euro escepticismo, una Alemania tradicionalmente popular vendida como el motor europeo a seguir y una Francia dividida entre socialistas y populares. Realmente hay cierta incertidumbre, sobretodo porque se espera un auge importante del centro-izquierda en los países del sur, pero hay que tener en cuenta que el número de diputados que envía cada país depende del número de habitantes de éste: La suma de diputados de España (54), Grecia (21) y Portugal (21), apenas suman los mismos que posee Alemania (96). Esto hace que generalmente las decisiones importantes del Parlamento partan sobretodo de los países del norte, puesto que son los más poblados e históricamente suelen votar sobretodo a los partidos de centro y derecha. Por cierto, ¿ahora entendéis por qué Turquía nunca entrará en la Unión Europea? De hacerlo se convertiría en el segundo país con más representación parlamentaria, puesto que Alemania es el único país europeo que le supera en número de habitantes.

20 agosto 2013

Mostrando un PNG con pnglite (Aplicación C)

Hace un par de semanas os enseñé cómo hacer una aplicación que os permita realizar una captura de pantalla y volver su contenido a un fichero PNG. Hoy os voy a enseñar la inversa, cómo crear una ventana X11 que nos permita visualizar un fichero PNG.



Para ello, he tomado prestado el código fuente del PngView de Vegard Edvardsen y lo he adaptado acorde a las necesidades que buscamos. En este caso para compilar nuestra aplicación, además del paquete build-essential, vamos a necesitar descargarnos los paquetes libpnglite-dev libx11-dev zlib1g-dev para poder compilar nuestra aplicación.

El primer paso es definir la función principal main, que será la encargada de iniciar las librerías de pnglite a través de png_init. Básicamente esta función hace que la librería reserve una serie de memoria dinámica para sus quehaceres, si no la invocáramos obtendríamos violaciones de segmento cuando tratáramos de acceder a los datos del PNG que fuéramos a cargar. De paso aprovechamos para recuperar por argumento de entrada el nombre del fichero a cargar, abrimos para lectura el PNG con png_open_file_read y lo pasamos por referencia a la función  png_display, la cual no pertenece a pnglite, si no que la vamos a crear nosotros.


Por su parte, empezamos la cocción de la función png_display, recibiendo por referencia el png deseado y el nombre del archivo (que emplearemos para poner un título a la ventana).

Entre las variables que emplearemos tenemos un string title donde montaremos el título de la ventana, un vector de chars sin signo donde guardar el contenido del PNG, un puntero a Display que contendrá la estructura de la pantalla por defecto, además de un puntero a Visual y un concentrador gráfico GC que nos permitirá dibujar el PNG dentro de una ventana Win. También tenemos un puntero a XImage, que nos permitirá crear un mapa de bits donde almacenar la imagen a insertar en el concentrador gráfico. Además contaremos con entero sin signo bpm que usaremos para calcular el bitmap pad de la imagen, un puntero a XSizeHints donde definiremos el tamaño fijo de la ventana, una estructura Atom para definir que la aplicación reciba notificación cuando cerremos la ventana y un XEvent que nos permita saber cuando debemos redibujar la ventana. Toma jeroma, espero que no os desmayarais leyendo todo esto.

Primero crearemos una ventana para nuestra pantalla por defecto, acto seguido le definiremos un título de forma dinámica y modificaremos el tamaño de la ventana para que sea fijo (no se pueda maximizar o restaurar) y que este tamaño contenga las dimensiones del PNG. Por último daremos orden de pintar la ventana en el servidor gráfico.


A continuación cargaremos el concentrador gráfico del gestor de ventanas y una estructura visual que contiene el tipo de visualización de la pantalla por defecto. Empleando nuestra estructura visual podremos crear una imagen de bits que posteriormente, en el bucle principal de más adelante, aplicaremos a nuestra ventana a través del concentrador gráfico. Profundizando más, el contenido del mapa de bits será el contenido del PNG devuelto en el formato que aplica la función png_get_data. Para tener menos problemas de visualización (puede dar problemas con imágenes que no sean true-color), calcularemos el valor del "bitmap pad" del mapa a partir de la profundidad del PNG. Estos problemas gráficos se debe a las limitaciones de la librería pnglite y no he encontrado forma rápida de solventarlos.


Hay que destacar que hemos creado un mapa de bits, pero aún no lo hemos pegado en la ventana. Antes de hacerlo tendremos que configurar la ventana creada para que atienda dos tipos de eventos: principalmente las órdenes de printado que nos pueda dar el entorno gráfico (servidor gráfico + gestor de ventanas) y el aviso de que se ha cerrado nuestra ventana. Una vez definamos que esperamos este tipo de eventos, crearemos un bucle infinito que atenderá uno a uno todos los eventos que recibamos al respecto (los obtenemos a través de XNextEvent y los tratamos en el switch).


Como hemos definido préviamente, vamos a gestionar dos tipos de eventos: órdenes de printado y notificaciones de cierre. La primera es básica, cuando recibamos un evento de tipo Expose dibujaremos nuestro mapa de bits en el concentrador gráfico de la ventana, haciendo uso de la función XPutImage. Por su parte, si el tipo de evento es ClientMessage habrá que liberar recursos y cerrar la aplicación:


Si toda esta explicación te ha resultado muy intragable, te adjunto aquí el código fuente para que puedas digerir más a gusto.

19 agosto 2013

Cómo crear un Makefile básico

Un makefile no es ni más ni menos que un fichero de texto plano que define una serie de reglas que, a través de la aplicación Make, automatiza la compilación de código de forma simple y organizada. Make puede ser empleado para compilar cualquier tipo de lenguaje y desde cualquier sistema operativo, pero históricamente se ha empleado mayormente en C y entornos Unix. No obstante, a día de hoy cualquier entorno decente que integre las herramientas básicas de programación suele incluir su propia adaptación de Make, permitiéndole compilar haciendo uso de su propio sistema de guiones (véase por ejemplo Miscrosoft Visual Studio, Netbeans o Eclipse).

Realizar un makefile básico no es nada complicado, basta con entender las siguientes dos premisas: Todo fichero makefile debe llamarse "makefile"; El contenido de todo makefile debe contener el siguiente formato:
nombre_de_una_regla: dependencias_de_la_regla (si la hubiere)
(tabulación) comando_a_ejecutar 
Ejemplo:
Para entender el ejemplo anterior hay que tener claro un par de cosas: La regla por defecto debe llamarse "all". No es obligatorio, pero sí cómodo, puesto que "all" es una palabra reservada que indica cual es la regla por defecto a ejecutar en caso de que ejecutemos un "make" a secas, sin argumentos.  Si en vez de llamarse "all" se llamara "compilar", habría que ejecutar el comando "make compilar" para poder ejecutar esta regla. También hay que tener presente que make fallará (dará error) si ejecutamos el comando en un directorio donde no exista un archivo makefile. Cuando una línea de la regla falle, Make abortará su ejecución, notificando el error que ha detectado.

Profundizando más en el ejemplo, vemos que hemos empleado el gcc como compilador, pero nos podría valer cualquier otro, puesto que todos los compiladores estándares de C suelen emplear los mismos parámetros de entrada. En este caso si nos fijamos hemos hecho la compilación en dos líneas: En la primera compilamos el código fuente contenido en el fichero main.c (debe indicarse con el argumento "-c") a un objeto binario (y no ejecutable) main.o (donde el argumento "-o" indica que se trata del nombre del fichero output): En la segunda línea empleamos el main.o que hemos generado previamente y lo transformamos en un ejecutable llamado "main".

Cabe destacar que Make no tiene por qué ir ligado al lenguaje C (aunque ambas van bastante cogidas de la mano), también puede emplearse para compilar proyectos en C++ o Java:

Ejemplo con C++

Ejemplo con Java
No obstante, las reglas de un makefile no tienen por qué definir únicamente comandos de compilación, también pueden ejecutar órdenes de shell:

En este ejemplo el comando "make clean" borraría los ficheros main y main.o
Pero la magia de los makefiles no radica en su utilidad de automatizar la compilación de código (para ello ya existen los shell scripts), si no en su alto grado de personalización, permitiendo el uso de variables y de dependencias. Por ejemplo, podemos indicar que cuando se ejecute la regla "all", se requiera previamente la ejecución de otra regla que cree los directorios "tmp" y "build", que serán empleados para guardar respectivamente el objeto binario y el posterior ejecutable:


También podemos emplear variables para indicar en qué directorio se va a encontrar cada recurso. Para crear una variable nos bastará con emplear el siempre intuitivo "=", pero para hacer uso de ella deberemos de envolverla entre paréntesis y hacer uso préviamente del símbolo "$":


Hay que destacar que el uso de dependencias no tienen por qué ir ligadas a reglas, también pueden indicar la necesidad de que exista un fichero:

En este ejemplo vemos que "all" se ejecutará si la regla folder acaba con éxito y a su vez existe el fichero $(source_dir)/main.c. Como podéis apreciar, a nivel de dependencias no existe ninguna diferencia para asignar una regla o un archivo. Esto se debe a que Make por defecto buscará la existencia de un fichero o directorio y en caso de no hallarlo buscará su correspondiente regla. En este ejemplo no se ejecutará dicha regla si se da el caso de que tengamos en nuestro proyecto un archivo llamado "folder". Así que si vemos que en nuestro proyecto hay ficheros con nombres que pueden resultar problemáticos para Make, podemos forzar que se haga uso de reglas para determinadas palabras empleando la etiqueta ".PHONY":


La prioridad de Make en comprobar la existencia de ficheros antes que la ejecución de reglas no es una casualidad, si no que está hecho aposta para poder ahorrar tiempos de compilación en proyectos grandes. Esto se debe a que es bastante común crear una regla por objeto compilable y asignarle como nombre el mismo que tiene el fichero que genera. De esta forma, si un objeto no existe se ejecuta diréctamente la regla que fuerza su compilación.

 
Explicación del ejemplo:
  1. Si existe el fichero main.o, se hace uso de él.
  2. Si no existe el fichero main.o, ejecutamos la regla con su mismo nombre, el cual generará el fichero.
  3. Si cambiamos el contenido de main.c, debemos de hacer un make clean para compilar los cambios al objeto main.o.
  4. Si antes de "all" insertáramos la línea ".PHONY: main.o", nunca se comprobaría la existencia del fichero main.o puesto que se ejecutaría siempre su correspondiente regla.
También hay que tener cuidado cuando insertemos reglas que ejecuten comandos de shell. Ten en cuenta que comandos como mkdir pueden fallar si se intenta crear un fichero que ya existe y comandos como rm pueden fallar si se intenta borrar un fichero que no existe. Esto lo comento porque como he mencionado antes, el fallo de una línea hace que Make aborte la ejecución del resto de reglas.

Por ejemplo, en el caso anterior, un "make clean ; make" funcionaría bien, pero sería imposible compilar la aplicación si hiciéramos "make folder ; make". Esto nos obligaría a realizar previamente un "make clean" cada vez que quisiéramos hacer un "make". Para solventar este paso podemos insertar al principio de una línea el carácter "-", puesto que este carácter indica que Make debe ignorar el valor que retorna la línea. Es decir, en determinadas líneas podemos solicitar que Make continúe ejecutando el resto de líneas pase lo que pase:


Por último sólo remarcar que puedes insertar comentarios dentro de un makefile empleando el carácter "#". Con todo ello ya deberías de saber realizar makefiles básicos.


Uno de mis makefiles


¿Te ha gustado la entrada? ¿Te gustaría examinarte de los conocimientos que vienes de aprender Comprueba tus conocimientos realizando este examen de evaluación.