y seguimos con….”La vida es sueño”

Domingo, 30 Marzo 2008

Y advertid que es baja acción,
que sólo a una fiera toca,
madre de engaño y traición,
el halagar con la boca
y matar con la intención.


Una pieza de una BSO

Domingo, 23 Marzo 2008

Muy buenas!

Ya volvi de vacaciones. La verdad es que se hacen cortísimas, ¿o no? ….:) Bueno, como necesito recuperar las fuerzas para volver a escribir, no me extiendo y os dejo una pieza melancólica de una banda sonora que quita el hipo. La descubrí gracias a Susana. Fue con ella con quien fui a ver la peli llamada “Expiación, más allá de la pasión”, que no es gran cosa, pero esta pieza merece la pena. Que la disfruteis.

Saludos

Fer


Frases en latín 2

Miércoles, 19 Marzo 2008

Les dejo otra selección de frases en latín para su disfrute. Volveré a escribir después de Semana Santa. Hasta entonces que pasen unas buenas vacaciones.

Stultum est timere quod vitare non potes. ~ Es tonto temer lo que no se puede evitar.—-Publilius Syrus
Per varios usus artem experientia fecit. ~ Con varias practicas se nos facilita la experiencia.—-Manilius
Risu inepto res ineptior nulla est. ~ No hay nada más tonto que una risa tonta.—-Catullus
Bonitas non est pessimis esse meliorem. ~ La bondad no consiste en ser mejor que los peores (Ser mejor que el peor no significa ser bueno).—-Seneca
Canis timidus vehementius latrat quam mordet. ~ El perro tímido ladra más violentamente que lo que muerde.—-Curtius Rufus
Diligentia maximum etiam mediocris ingeni subsidium. ~ La diligencia es una gran ayuda incluso para una inteligencia mediocre.—-Seneca
Aliena nobis, nostra plus aliis placent. ~ Las cosas de otros son más placenteras para nosotros, y las nuestras lo son para ellos.—-Publilius Syrus
Aliquando et insanire iucundum est. ~ De vez en cuando es agradable hacer una tonteria.—-Seneca
Credula vitam spes fovet et melius cras fore semper dicit. ~ La fe vitaliza nuestras vidas y nos hace pensar que mañana será mejor.—-Tibullus
Nec verbum verbo curabis reddere fidus interpres. ~ Como buen traductor, ya te cuidarás de no traducir palabra a palabra.—-Horacio
Facilius per partes in cognitionem totius adducimur. ~ Es más fácil entender las partes que entenderlo todo.—-Seneca
Qui dedit beneficium taceat; narret qui accepit. ~ Favorecer a los que se lo merecen es obligar a todos.—-Seneca
Legum servi sumus ut liberi esse possimus. ~ Somos esclavos de las leyes para que podamos ser libres.—-Ciceron
Sedit qui timuit ne non succederet. ~ Por temor a fallar, no consigió nada—-Horacio
Saepe ne utile quidem est scire quid futurum sit. ~ A veces es mejor no saber lo que pasara.—-Ciceron
Nullus est liber tam malus ut non aliqua parte prosit. ~ No hay libro tan malo que no se aprobeche en algún aspecto.—-Plinio el joven


Hay que quejarse

Jueves, 13 Marzo 2008

Muy buenas!!!!

oiga usted….. ¿por qué no se queja? ¿por qué no reclama?

¿No os habeis hecho esta pregunta muchas veces cuando a alguien le toman el pelo, le roban o simplemente ve una injusticia? Mucha gente no levanta su voz ante hechos que por su magnitud, no se crea que pueden aportar algo. Por ejemplo, si usted se entera de una medida política por el gobierno de turno y no está de acuerdo y que cree que merece la pena, lo suyo es que lo exprese con una queja, por ejemplo en la web del partido político en cuestión, en algún foro público, en su blog o en algún espacio donde pueda ser leida su opinión.

Sobre este aspecto, Leontxo García, que es un notable periodista que sigue los eventos ajedrecisticos y automovilisticos, me enseño algo. Por aquellos entonces había un importante evento en Madrid que contaba con el patrocinio del diario El Pais, pero en ese año el periódico decidio retirar su apoyo; y yo le pregunte a Leontxo porque había pasado aquello y que me sentía desagradecido hacia El Pais. Me contesto que escribiera una queja ya que se suele considerar que una queja recibida equivale a 100 lectores descontentos. Oiga usted, ha leido bien: 100 lectores.

Desde entonces tengo por costumbre poner quejas por Internet: por ejemplo cuando alguien quita los patrocinios a eventos que me interesan, en la web del ayuntamiento de Madrid hay una sección para poner quejas, en alguna web de algún político he recibido incluso censura por quejarme que no estaba de acuerdo con la postura sobre el canon digital, ….

En el Ayuntamiento me he quejado en alguna ocasion de una rotonda de mi casa que estaba “desatentida” y en obras, y al día siguiente se pusieron manos a la obra, no se si es coincidenca o que surgen efecto ….. y otra vez me queje de que las listas de admitidos de clases de francés habían sido por orden alfabético, perjudicando a los apellidos del final del alfabeto. En este último caso a los pocos días me llamo una persona muy educadamente para proponerme una plaza vacante.

Por reclamar mucha veces ni siquiera obtendremos una contestación, pero piense en las palabras de Leontxo y recuerde que su reclamación es considerada como de un grupo considerable de personas y no como una sola.

quejense…. quejense…..

saludos

FS


‘Keops’: un motor de ajedrez

Lunes, 10 Marzo 2008

Este fin de semana he retomado un proyecto que tenía abandonado ya varios años. Hace tiempo desarrolle en C un motor de ajedrez, es decir, solo la parte “que piensa”. A este motor lo llame ‘Keops’. Sobre el interfaz de usuario existen algunos ya programados, como Winboard, que cumpliendo unos requisitos de interfaz, nos ahorra tener quedesarrollar esta tediosa parte.

La primera versión del programa/motor de juego la base en código fuente de otros, concretamente en el “Tom Kerrigan Simple Chess Program.” y ciertamente fue una buena experienca. Ahora el objetivo es distinto: hacer todo el trabajo desde cero y utilizando las técnicas más punteras. En este blog voy a ir explicando como voy avanzando en esta tarea.

De momento, el trabajo que he hecho este fin de semana, además de tocar el piano, es implementar un “sistema estático” de movimientos. ¿qué significa esto? pues sencillo……….. la parte de la velocidad de calculos y rendimiento es crítica para competir con otros motores bien preparados, es decir, cuando más rápido hagamos las cosas en un mismo periodo de tiempo, mas posibilidades tenemos de que el motor sea más fuerte. Es por esto de la velocidad, por lo que precalculamos muchas cosas “estáticas”. Vamos a verlo con un ejemplo:

………. imaginaos que tenemos un caballo en la casilla c3. Cuando queremos calcular a dónde puede ir el caballo, restamos a la casilla c3 (la no.18 de un total de 64) 17, 10,6, etc…. en total 8 operaciones aritméticas para hallar las 8 casillas posibles del movimiento del caballo. Si este tipo de calculos los realizamos cada vez que queramos ver donde puede ir el caballo perdemos mucho tiempo y calculo en realizar esta tarea. Para ello, cada vez que arrancamos el motor guardamos ya precalculadas las casillas a las que puede ir el caballo desde esta casilla. Así ahorramos tiempo de computo para luego.

La menera más eficiente de guardar este tipo de información no es, como le cabría pensar a muchos, un array de enteros en el que cada uno fuera las casillas posibles. Si esto fuera así, en tiempo de ejecución el procesador tendría que ir calculando la posición del array mediante sumas. La mejor manera es guardar la información en los conocidos BitBoards.

Un bitboard es un entero de 64 bits, curiosamente el número de casillas de ajedrez en un tablero. Esta coincidenca nos sirve para que con un simple entero, poder almacenar la información de a que casillas puede ir un caballo desde la casilla c3. Tendrá todos los bits a cero menos las casillas posibles que estarán a uno. Así, con un array de 64 posiciones de bitboards, tenemos guardados todos los movimientos posibles del caballo desde todas las casillas del tablero.

El concepto de bitboard es muy útil. Supongamos que tenemos otro bitboard con la posición de las piezas enemigas. Solo tendríamos que hacer una operación AND entre el anterior bitboard y este ultimo para saber que capturas puede hacer el caballo, y tan solo en un ciclo de reloj!! (si fuera arquitectura i64, siendo i32 cuesta algún ciclo más). (Nota: una operación AND es una operacion entre dos bits en los cuales solo se pone el resultado a bit 1 cuando los otros dos valen también 1. Para el resto de situaciones el resultado es 0)

Esto de los bitboards es un concepto sobre que hablaré más adelante, según avance en el desarrollo. Como digo ahora estoy pre-calculando muchos bitboards de aspectos variados que nos permiten no tener que realizar calculos para obtenerlos posteriormente. Consiguientemente se obtienen mejoras considerables en el rendimiento que después se podrán usar en temas más delicados como el calculo de variantes o el análisis de posiciones.

Espero que hayais pillado el truco….. ya os iré contanto más. Irme comentado si queda claro y así puedo ir mejorando las explicaciones en los puntos más oscuros.

Saludos

FS


Mis favoritos de música clásica

Jueves, 6 Marzo 2008

Os adelanto una selección de mis favoritos dentro de la música clásica:
(*) Recomendable escuchar primero

· Doble concierto” de Martinu: Un concierto con un tono serio pero con toques de jovialidad y la mejor música sinfónica.

· Concierto para piano” (*) de Edgard Grieg. Uno de los mejores conciertos jamás compuestos para música clásica. Romántico, precioso…. Especialmente encantador es el segundo movimiento.

· Serenata para cuerdas en mi mayor, Op 22” de Dvórak.

· Sinfonía del nuevo mundo” (*) de Dvórak. Una sinfonía llena de sonidos y melodías encantadoras.

· Sinfonía nº 3” de Gorécki. También conocida como “el cantar de las lamentaciones”. Deliciosa. Su nombre lo dice todo….

· Appalachian Spring” (*) de Aaron Copland: Esta obra nos hará transportarnos a un sueño agradable y del que no se desea despertar.

· Pavane pour une Infante defunte” (*) de Ravel. Esta pieza parece una llamada a la reflexión y a que uno pueda encontrarse consigo mismo.

· Stabar Mater” de Pergolessi. Una obra coral imprescindible.

· Requiem” de Mozart. Lo mejor de Mozart se aprecia en esta obra. Le hace a uno estremecerse.

· Requiem” (*) de Gabriel Faure. Este réquiem es simplemente delicioso y encantador.

· Cantique de Jean Racine” (*), de Gabriel Faure : Una delicia para el oído. Una de esas obras que parecen llegar a lo mas hondo.

· Concierto para violín” (*) de Tchaikovski, Pyotr Ilitch. El sonido del violín estremeciendo al gusto…. Delicioso de escuchar.

· Concierto para violín”, de Samuel Barber. Una obra, sobre todo su primer movimiento, que seduce al oído.

· Concierto para violonchelo”, de Edgar. Un concierto envolvente y embriagador, muestra de grandeza.

· Les indes galantes” de Jean-Philippe Rameau : Una obra al mejor estilo barroco, alegre y entretenida. Levanta el animo!.

· Oda para el día de Santa Cecilia” (*), de Henry Purcell. Una semi-opera que cautiva…. Incluso a los que no les gusta la opera (como a mi)

· Conciertos de Branderburgo” (*), de J.S.Bach. Esto famosos conciertos, que todo el mundo ha escuchado, aunque sea en anuncios de televisión, no dejan de ser auténticas obras de arte.

· Misa en Si menor”, de J.S.Bach. Al principio, y ante la falta de costumbre, puede parecer pesada. Pero tras repetidas audiciones se nota una autentica obra maestra.

· Escenas para niños” (*) de Robert Schummann. : El piano en su mejor expresión romántica.

· Nocturnos” de Chopin. Los nocturnos de Chopin son ideales para escuchar, como su nombre indica, en ambientes nocturnos y sentirse en un ambiente relajado, calma y tranquilidad.

Y otras obras que también son maravillosas: “Réquiem alemán” de Brahms, “Concierto para piano” de Schummann, cualquier sonata para piano de Beethoven, “La trucha” de Schubert (y su sinfonía nº 9 “La grande”) , “Concierto de Navidad” de Corelli, casi cualquier obra de J.S.Bach (cantatas, conciertos para violín, suites orquestales, Magnificant, “Pasión según San Mateo”, etc…), Scheheraze de Rimsky-Korsakov, “Suite del Cascanueces” de Tchaikovsky, “Carmina Burana de Carl Orff, Hary Janos Suite” de Kodaly, “Los planetas” de Holst, …..