Disponible en descarga gratuita Cuadernos de Viaje - Oriente Próximo, el libro con nuestras aventuras en Jordania, Siria e Israel.

miércoles, 30 de abril de 2008

PrettyXML en gawk

Hoy voy a volver al origen del blog: aquello de apuntar las cosas para que no se me olviden y saber dónde encontrarlas si las vuelvo a necesitar.

Últimamente estoy programando scripts en gawk, un lenguaje de scripts bastante potente diseñado para trabajar con ficheros de texto plano. Lo que me ha tenido entretenido los últimos días ha sido una función que dado un texto XML lo devuelva indentado, bonito (pretty) para que se pueda leer con facilidad.

Aquí pongo la función esperando que le pueda resultar útil a alguien y también que, si se encuentran errores me avisen para corregirlos. Pongo los comentarios en inglés porque tenía que ponerlos en inglés en el trabajo, además así se puede aprovechar por más gente.



# This function returns a string formed by "char" "n" times.

function nChars(n,char,
str,i){
str="";
for( i = 0; i < n; i++ ){
str = str char;
}
return( str );
}


# This function chages an xml message to a pretty XML format.
# The "<" and the ">" characters are changed by "####" and "##"
# respectively (Variable openTag and closeTag).
# I assume that these characters sequences won't appear in the
# original message
# The indentation is made using the indentChar variable.

function prettyXML(msg,
indent, charPrev, charNext, replace, indentChar, openTag,
closeTag){
indent = 0;
indentChar = " ";
openTag = "####";
closeTag = "##";
while( match(msg,/>[ \r\t\n]*</ )) {
charPrev = substr( msg, RSTART-1, 1 );
charNext = substr( msg, RSTART+RLENGTH, 1 );

# If the next char after the regular expression is "/"
# it means that the next tag is a closing tag,
# so it's necessary to subtract one from indentation;
# otherwise it's necessary check the previous char before
# to add one indentation, only when the
# previous tag is not a closing tag.

if( charNext == "/" ) {
indent --;
} else {
if( charPrev != "/" \
&& substr(msg, 1, RSTART) !~ openTag "/[^#<]*>$" \
&& substr(msg, 1, RSTART) !~ /<\/[^#<]*>$/ ) {
indent ++;
}
}
replace = closeTag "\n" nChars(indent, indentChar) openTag;
sub( />[ \r\t\n]*<;/, replace, msg )
}
gsub( openTag, "<", msg );
gsub( closeTag, ">", msg );

return ( msg );
}

Los habituales que no se me enfaden, que volveré con temas más asequibles después del puente: Feliz día del trabajador a todos, y buen puente para el que lo tenga.

martes, 29 de abril de 2008

Más ubuntu

Este fin de semana he instalado Ubuntu en el ordenador viajero.

Debido a la configuración extraña que tenía instalada el proceso ha sido un poco más complejo de lo esperado: la máquina tiene dos discos duros y dos lectores (una grabadora de DVD y una de CD), y tenía instalado un Guadalinex y un Windows XP; vamos, más no se puede pedir. Bueno sí se puede pedir más, la instalación del Guadalinex dejó el sistema un poco inestable la primera vez, de hecho tuve que comprar un segundo disco duro porque no había manera de instalar el Windows en el mismo y así aprovechaba para aumentar la capacidad.

No sé si es la mejor manera, pero empecé por desconectar el disco duro pequeño e instalar ubuntu vaciando por completo el grande. La instalación como siempre muy sencilla, cada día me gusta más este sistema operativo. Después, la actualización a la última versión 8.04 (porque no me leía el CD que había grabado con esa versión).

Confirmé que la grabadora de CD no funcionaba y que me dejaba el pc colgado con facilidad, así que, a sacarla y a poner un lector que tenía por casa. Conectar de nuevo el disco duro pequeño, instalar la utilidad de manejo de discos GParted, formatear y montar. Instalar las aplicaciones que pudieran ser útiles y tratar de dejarlo con un aspecto lo más Windows posible, lo sé: ¿para qué? porque los futuros usuarios del pc están acostumbrado a eso y será mejor no cambiarles las cosas.

A ver cuánto de todo lo que he instalado acaba usándose...

lunes, 28 de abril de 2008

El niño con el pijama de rayas

El niño con el pijama de rayas editado por Salamandra. Su autor, John Boyne, es un irlandés de 37 años (1.971) que ha estado número uno de ventas en Irlanda durante 57 semanas con este libro.

Lo curioso de este libro es que, pese a ver gran cantidad de gente leyéndolo en el transporte público, se ha hecho caso a la petición del editor en la contraportada:

Aunque el uso habitual de un texto como éste es describir las características de la obra, por una vez nos tomaremos la libertad de hacer una excepción a la norma establecida. No sólo porque el libro que tienes en tus manos es muy difícil de definir, sino porque estamos convencidos de que explicar su contenido estropearía la experiencia de la lectura. Creemos que es importante empezar esta novela sin saber de qué trata.
Lo que sí cuenta el editor en la contraportada es que el libro habla de Bruno, un niño de nueve años que se muda con su familia a una casa con una cerca.

Mantendré el secreto del argumento yo también, y lo recomendaré con entusiasmo. Después de los fracasos lectores este libro se ha leído sólo. Ha sido de esos que te obligan a sacar tiempo de donde no lo hay para leerte un par de capítulos más, a pesar de que el desarrollo del libro te va mostrando lo que va a pasar a continuación.

Muy recomendable leer cómo ve la vida un niño de nueve años, y mucho mérito el del escritor por ser capaz de verlo y mostrárnoslo.

viernes, 25 de abril de 2008

Billetes para invidentes

En EEUU todos los billetes tienen el mismo tamaño, mismo color y mismo tipo de papel moneda. A finales de noviembre del año pasado el Consejo Americano de Invidentes consiguió que un juez de distrito dictaminase que el papel moneda estadounidense violaba la ley porque los ciegos no eran capaces de distinguir las diversas denominaciones. Las personas invidentes usan máquinas lectoras o preguntan y luego los doblan de diversas maneras para reconocerlos. (Más información)

En México se aprobó una ley en 2.005 que obligaba a la fabricación de billetes reconocibles al tacto por invidentes. Se incluyeron marcas en los billetes en función de su valor. En la República Dominicana, en Chile, en Japón, etc. también existen marcas y distintos colores para facilitar el reconocimiento.

En la Europa del euro (Banco Central Europeo) los siete billetes de curso legal tienen diferentes tamaños, colores y señales táctiles especiales en relación a su valor monetario, entre ellas que el valor de los billetes está impreso en relieve. Desde la fase inicial del diseño de los billetes (1.995), se consultó en repetidas ocasiones a la Unión Europea de Ciegos.


Más información:

jueves, 24 de abril de 2008

El pasmo de Palermo

El pasmo de Palermo (1.998), de Vincenzo Consolo, escritor siciliano.

Relata el intento de un padre de conocer a su hijo, mezclándose con los recuerdos del padre de la guerra y el sentimiento de culpa que tiene al pensar en lo mal que está el país que le deja a su hijo.

Me acerqué a él más que nada por la parte de Palermo, porque me gustó mucho la ciudad cuando la visitamos, pero, a pesar de que ayer fue el Día Internacional del Libro (y de los Derechos de Autor, que tiene miga), debo reconocer que no he sido capaz de acabarlo. Lo que me duele más es que el libro tiene sólo 128 páginas, y ni por esas. Trataré de recuperarlo en algún momento y llegar al final (me faltan menos de 50 hojas, poco menos de la mitad, la verdad), pero es que está lleno de frases como ésta:

Cambiaban, se deformaban los rostros colgados entre las estanterías y el techo, desaparecían sonrisa, bonhomía, profundidad, tormento, serenidad, entusiasmo, comprensión, condescendencia; se leían bajo las máscaras de aquella galería de escritores vacuidad, astucia, vicio, rencor, presunción, idiotez... un viento los arrastró.

Volveré cuando tenga más capacidad de concentración. Las últimas elecciones literarias no han sido muy positivas, ni La soledad del corredor de fondo ni El corazón de las tinieblas han conseguido obligarme a leerlos por placer y me he obligado a leerlos por no dejarlos... pero con éste no he podido.

miércoles, 23 de abril de 2008

Sistema métrico decimal

Nuestros metros, kilogramos, litros,... y todas sus divisiones y múltiplos forman lo que conocemos como Sistema Métrico Decimal, aumentado desde 1.960 con el Sistema Internacional de Unidades.

El origen de este sistema está en Francia, en la época posterior a la Revolución Francesa. Dada la gran cantidad de unidades de medida existentes (como en todos los países en ese momento) el comercio era muy complicado, por lo que, decidieron unificar las unidades en todo el país. La referencia que se utilizó fue el cuarto de meridiano terrestre, y la diezmillonésima parte de esa longitud (la cuarenta millonésima parte de un meridiano terrestre) fuera la unidad usual: el metro. El nombre proviene del griego metron (medida), sus divisiones se nombran con prefijos latinos (deci, centi, mili,...) y sus múltiplos con prefijos griegos (deca, hepto, kilo,...). La unidad de volumen, litro, se calculó como un decímetro cúbico y la de masa, kilogramo, como el peso de un litro de agua pura.

El nombre del sistema incluye la palabra decimal debido a que el paso de una unidad a la siguiente se realiza uniendo 10 de ellas, potencias decimales. Es decir, 10 mm (milímetro) equivalen a 1 cm (centímetro), 10 cm son 1dm y 10 dm son 1 metro; lo mismo sucede con unidades de peso, volumen, etc.

Hay varios países en el mundo que no lo han adoptado como sistema de medida y que siguen utilizando los suyos propios. El ejemplo clásico de esto es EEUU, que sigue midiendo las distancias en millas, yardas, pulgadas, etc, no hay más que ver una película americana para que aparezca una señal de tráfico en millas por hora, o un partido de fútbol americano para ver las yardas y las pulgadas. En Reino Unido también se utilizan estas unidades, no siempre con el mismo significado que en EEUU. Aunque la Unión Europea toma como referencia el sistema métrico decimal ha permitido la excepción. Es el llamado Sistema Inglés o Sistema Anglosajón.

Más información:

martes, 22 de abril de 2008

Dónde vives y dónde te gustaría vivir

A raíz de este post de Estatekietecita que hablaba de Madrid y de que le encantaba la ciudad, me puse a pensar en que a mí también me encanta Madrid. De hecho, ese es el motivo de que viva aquí.

Como dije en aglomeraciones, vivo en el centro de Madrid porque me encanta estar ahí. Cierto es que en épocas puntuales (como las navidades, manifestaciones, desfiles,...) puede resultar excesiva la cantidad de gente y agobiante el no poder casi andar por la calle. Pero fue mi elección y, el posible cambio de casa, no nos alejará de aquí.

Nos encanta poder ir andando a un montón de restaurantes que nos gustan, tener al lado los teatros y los cines (de acuerdo que los cines grandes están en las afueras, pero... ), acercarnos al Rastro los domingos, el parque del Retiro, y, sobre todo, lo bonita que es la zona con esos edificios de la Gran Vía, Alcalá, Puerta del Sol, incluso de las calles de cercanas con tan mala fama, Ballesta, Barco, Desengaño,...

No nos vemos capaces de vivir en una urbanización en las afueras, de esas que están cerradas con su piscina interior y en las que no hay tiendas, ni restaurantes, ni nada. Nos asustan los nuevos PAU's y las nuevas urbanizaciones de los extrarradios de las ciudades próximas a Madrid. De hecho, ni en vacaciones pensamos en pasar más de un fin de semana en un sitio demasiado tranquilo, no sé... no podemos, será la falta de costumbre.

Supongo que no todo el mundo habrá podido elegir la zona en la que vive (si os sirve de consuelo, los trabajos no están en el centro de Madrid), por eso me gustaría saber
  • Por qué vivís donde vivís
  • Si pudierais elegir, dónde os gustaría vivir (en principio es una pregunta real, pero bueno, cada uno puede contestar lo que le apetezca... incluso en la mansión Playboy)

lunes, 21 de abril de 2008

Museo del Metro de Madrid

Ayer nos acercamos al museo del metro de Madrid, Anden 0. El museo está divido en dos partes: la estación de Chamberí y la nave de motores de Pacífico.


Estación de Chamberí

Nosotros sólo hemos ido, por ahora, a la estación de Chamberí. Es una antigua estación de metro, de hecho de las primeras que se pusieron en funcionamiento: el metro de Madrid se inauguró en 1.919 y su primer trayecto era desde Cuatro Caminos a Sol, lo que incluía la parada de Chamberí (localizada entre Iglesia y Bilbao). En 1.966 se ampliaron los andenes de la línea 1 de 60 a 90 metros, pero la de Chamberí al encontrarse en curva no se pudo ampliar, además de estar demasiado cerca de Iglesia y Bilbao, lo que impedía que los trenes pararan en la antigua estación. Chamberí quedó abandonada desde entonces y hasta el rodaje de la película Barrio nadie había vuelto a fijarse en ella, habiéndose convertido en una especie de leyenda urbana.


Tarifas



viernes, 18 de abril de 2008

Curiosidades de la web

Leyendo otros blogs he ido encontrando programas y páginas útiles.

vozMe
Un sitio web que permite hacer completamente accesibles los contenidos para invidentes. Se introduce un texto y éste es leído por el software. Seleccionando la pestaña de "webmasters" accedes a la posibilidad de añadir al blog esta funcionalidad. Está explicado para word-press, blogger y joomla.

via: conecTICa

vi.sualize.us
Una página con la que puedes guardar las imágenes que te van sorprendiendo mientras navegas por la red. Con la creación de un usuario puedes añadir imágenes a favoritos y acceder a ellas desde cualquier sitio. Cuenta también con un pluggin para firefox que facilita enormemente la tarea.

via: hombrelobo.com

genoom
Un sitio que permite crear una red social familiar para mantener el contacto con la familia y la creación de un árbol genealógico con la ayuda de todos los parientes. Se basa en la seguridad de que sólo los invitados podrán entrar en tu comunidad. Para los que quieran conocer mejor su pasado y no perder su presente y futuro familiar.

via: jo mateixa

quelibroleo.com
Una red social en la que después de dar tu valoración de los libros que has ido leyendo, y utilizando las valoraciones del resto de miembros de la comunidad, el sistema te recomendará nuevas lecturas que se ajusten a tus preferencias. Suena interesante, aunque leer sólo los libros que te van a gustar hace que abrir un libro pierda parte de su gracia.
Por cierto, que el 23 de abril se celebra el Día internacional del libro y de los derechos de autor (copyright), ¿no es increíble que la UNESCO colocará los derechos de autor en el día del libro?

via: no lo recuerdo

jueves, 17 de abril de 2008

Cómo aprovechar el tiempo (2)

Capítulo 2

De lo que sucede cuando vas a un curso y te empiezan enseñando a hablar antes de llegar a decir nada interesante.

No me considero especialmente inteligente, ¡qué demonios! sí que me considero. Pero incluso sin que me considerara así, hay veces que parece que las cosas están preparadas para tontos. Los informáticos, y los que no pero reciban cursos, me entederán. Tú llegas emocionado (vale, tampoco es para tanto, pero siempre es interesante aprender algo nuevo) y descubres que el curso empieza explicando lo que es el ratón y cómo moverlo por la pantalla...

Algo ha fallado, se suponía que esto era un curso de programación en acojo.netJava2010 avanzado, ¿qué es esto?

Has llegado cinco minutos tarde y te has perdido la presentación de la gente. Casi todos son comerciales, con todos mis respetos y parte de mi odio, que para lo único que utilizan el ordenador es para rellenar hojas de cálculo y escribir propuestas que acabaran amargándote la vida, o gente que lleva entre dos y tres décadas sin programar nada y que la última vez que lo hizo los ordenadores eran más grandes que mi casa y no tenían pantalla...

Creo que nos hemos equivocado... ¿nos vamos?, ¿le damos una oportunidad para ver si en 10 minutos se ventila los últimos 15 años de informática y empieza lo bueno?, ¿montamos en cólera , si cólera se deja, y salimos de aquí después de armar la de Dios es Cristo? (por cierto, de dónde habrá salido esta expresión...)

Al final sigues ahí, porque el curso lo ha buscado la empresa, porque no estaría bien que te fueras y porque te falta valor para decir nada... Eso sí, allí hay más gente que en la guerra y el que no está tosiendo todo el rato, que ya se podía morir de una vez sin armar tanto escándalo ya que parece que la opción de salir de la sala para toser tranquilamente no entra entre sus planes, no para de preguntar tonterías. ¡Ah! y más de uno parece que no se ducha desde hace dos o tres décadas también...

¿Cuál será la pena de carcel en Alemania por matar a unas 10 personas?

¿Y si se lo merecen?