Carlos Garcia Argos
Enero 25th, 2007

Tonterías ciberespaciales

Technorati Tags: ,

(Actualizado a 31 de enero de 2007)

Es de risa. La noticia de menéame Normas para enlazar a la web de la Biblioteca Virtual Miguel de Cervantes cuenta que existen unas reglas a la hora de poner enlaces a la web de la Biblioteca Virtual Miguel de Cervantes, concretamente las siguientes:

1.- CARACTERÍSTICAS DEL HIPERENLACE

2.1.- Tipo de hiperenlace: el hiperenlace permitirá el acceso a la página de inicio de este sitio web, a la página principal de cualquiera de sus secciones, así como a cualquier obra de su fondo bibliográfico.

La autorización para insertar un hiperenlace no presupone, en ningún caso, un consentimiento para reproducir los aspectos visuales y funcionales («look and feel») de este sitio web.

Del mismo modo, se prohíbe explícitamente la creación de un entorno o barra de navegación sobre las páginas web que componen este sitio.

2.2.- Aspecto del hiperenlace: el hiperenlace podrá consistir tanto en un texto como en un gráfico.

  • 1.2.1.- En el primer caso, el texto deberá expresar rotundamente que enlaza con la BIBLIOTECA VIRTUAL MIGUEL DE CERVANTES.

    La fuente utilizada será «Arial», el estilo «negrita», el tamaño de un mínimo de «12» y el color deberá tener las siguientes características: «rojo 155, verde 23, azul 26, matiz 254, saturación 189 y luminosidad 89».

  • 1.2.2.- En el segundo caso, sólo se podrá utilizar el logotipo de «cervantesvirtual.com» tal y como puede encontrarse en la URL http://www.cervantesvirtual.com/marcolegal/normas_graficas.jsp.

    El logotipo de la BIBLIOTECA VIRTUAL MIGUEL DE CERVANTES, deberá estar situado a una distancia de separación de 25 píxeles con respecto a cualquier otro elemento de la página web en la que se inserte.

  • 1.2.3.- Con carácter general, el aspecto, el efecto visual, la ubicación y, en general, las características del hiperenlace deberán invariablemente evidenciar que el mismo conduce al sitio web de la BIBLIOTECA VIRTUAL MIGUEL DE CERVANTES y que éste es independiente y no está unido por una relación, ni de colaboración, asociación, patrocinio, laboral ni de ningún otro tipo, a la página web que contiene el hiperenlace.

Y no sólo eso, sino que se reservan el derecho a perseguirte, pegarte y humillarte si no haces bien las cosas:

4.- RESERVA DE ACCIONES

Los co-titulares de la Biblioteca Virtual Miguel de Cervantes efectúan expresa reserva de cuantas acciones legales, tanto civiles como penales, amparen sus derechos frente a cualquier contravención de estas Condiciones Particulares, de las Condiciones Generales de uso de este sitio web, de los derechos de propiedad industrial e intelectual titularidad de la misma y, en general, de cualesquiera disposiciones jurídicas que sean de aplicación.

Asimismo, la inserción de hiperenlaces cuyas características sean contrarias a las establecidas en el apartado 2º. de estas normas será perseguida por todos los medios que las leyes prevén.

Yo me pregunto qué leyes son esas que permiten perseguir a alguien que pone un enlace de una forma diferente a los requisitos absurdos que ponen. Pero supongo que ellos saben mejor que nadie que hay unas leyes que te permiten obligar a la gente cómo te deben enlazar con pelos y señales, al margen de que esas normas sean una completa gilipollez.

Si la gente no usara el sentido común (recordemos que es el menos común de los sentidos) y siguiera estas ilógicas reglas, me parece a mí que no les iba a enlazar ni el tato.

En fin, creo que podrían comenzar su cruzada con Google, y en función de cómo les vaya, aventurarse con el resto de la red.

Actualización: ya han quitado la página en cuestión en la que se establecen esas normas tan absurdas para la creación de enlaces hacia la Biblioteca Virtual. Un gesto que les honra, aunque parece que les ha hecho falta aparecer en unos cuantos blogs y en El Mundo.

Enero 24th, 2007

Excepciones de coma flotante y verificación de variables

Technorati Tags: , , ,

Cualquiera que haya programado cierto tiempo y haya tenido que realizar divisiones con variables que no se sabe a priori qué valor van a tomar sabe que, tarde o temprano, ocurrirá alguna excepción de coma flotante, debida a un intento de dividir por cero (porque la variable en ese momento tiene el valor cero, o uno muy cercano), terminándose la ejecución del programa.

Para evitar este problema, lo habitual es colocar una condición antes de realizar la operación de división y darle un valor fijo en caso de que el divisor sea cero. Algo tan sencillo como esto:

if (proporcion_[slot_out] > 0.0) {
deficit_[i] += (long long) (0.5 + (double) longitud_paquete * proporcion_[i] / proporcion_[slot_out]);
}

Debería ser suficiente para evitar que ocurriera algún problema ¿verdad? Pues no, ni mucho menos. Llevo unas semanas haciendo simulaciones con el código tal cual está. Hoy he cambiado a una red más grande y no hacía más que fallar, así que me he metido con el gdb y he encontrado que el fallo está en ese punto. Para comprobar que no entraba en ese ‘if’ he hecho lo que cualquiera: presentar por pantalla el valor de esa variable:

if (proporcion_[slot_out] > 0.0) {
printf(”Proporcion = %f\n”, proporcion_[slot_out]);fflush(stdout);
// se puede hacer también sin redondear
deficit_[i] += (long long) (0.5 + (double) longitud_paquete * proporcion_[i] / proporcion_[slot_out]);
}

El resultado era el siguiente:

Proporcion = 0.000000
Exepción de coma flotante

Podríamos hablar del fallo horrográfico, pero no, a mí me gustaría saber por qué me presenta por pantalla el valor de la variable si se supone que al valer 0, no entra en el ‘if’. Arrea, que la precisión es finita, y los números que puede manejar la máquina pueden no ser representables con ese nivel de precisión. Hagamos un cambio en el código: que en lugar de mostrar con formato %f lo haga con formato %g (notación exponencial)…

if (proporcion_[slot_out] > 0.0) {
printf(”Proporcion = %g\n”, proporcion_[slot_out]);fflush(stdout);
// se puede hacer también sin redondear
deficit_[i] += (long long) (0.5 + (double) longitud_paquete * proporcion_[i] / proporcion_[slot_out]);
}

El resultado, señoras y señores, no podía ser más preocupante:

Proporcion = 1.27e-319
Exepción de coma flotante

Teniendo en cuenta que si el valor de la proporción no es calculada en base a unos parámetros, su valor se fuerza a 0, es cuanto menos preocupante. Para arreglarlo nada como compararlo con un número muy pequeño, pero no demasiado, y eso porque trabajo con proporciones relativamente grandes (menores de 1, pero mayores de 1e-10, seguro), que si no, ya me iban a dar bien dado.

Enero 24th, 2007

Vaya cumpleaños (del coche)

Technorati Tags: ,

El sábado mi Seat Ibiza cumple los 2 años. Estaba planeado un viaje a Málaga para la semana que viene, aprovechando unos días libres y el cumpleaños de un amigo. Ayer cuando fui a por el coche al salir de trabajar vi que se aproximaba lentamente un camión de estos que van regando la calle, así que corrí a subirme y salir antes de que llegara a mi altura, porque había una cola considerable detrás (y la calle es de un solo carril).

Al poco de salir, cuando pillé el primer bache, oí como rascaba algo, presuntamente los bajos con el suelo. La siguiente vez que pasó me paré y miré por debajo del coche, pero no había nada colgando, así que seguí mi camino pero fui directamente al taller. Una vez allí vi qué era lo que hacía el ruido. Algún simpático pensó que la aleta delantera izquierda era un buen sitio para posar su paragolpes y hacer presión. Como consecuencia, está hundido el guardabarros y me ha cascado la llanta, por lo que al bachear, roza la rueda con el guardabarros y al girar también roza la rueda. Y no, el coche no estaba para nada mal aparcado, es el sitio en el que aparcamos unos cuantos todos los días, una calle relativamente ancha, con los sitios marcados para aparcar.

Evidentemente, no han dejado nota, ni nada por el estilo. Al menos tengo seguro a todo riesgo. Pero de momento tengo que venir en autobús el trayecto que no tengo que caminar.

Enero 23rd, 2007

El transistor balístico

Technorati Tags: ,

Leo en las noticias breves (PDF, 3,6 MB) de la revista de la Computer Society del mes de enero que unos investigadores están trabajando en un transistor balístico por deflexión (Ballistic Deflection Transistor, BDT), en el cual no se utilizan corrientes constantes para controlar la salida digital (0 o 1) de un transistor. En cambio, se utiliza un deflector triangular para desviar a una salida u otra un electrón, que sufrirá un desvío en función del campo eléctrico que atraviesa en la “puerta” del transistor. En la imagen se aprecia el funcionamiento.

Transistor Balístico

Al no existir corrientes continuas que polarizan los transistores, se reduce el consumo de potencia. Como son eficientes energéticamente, utilizan tensiones reducidas, generando menos ruido e interferencias. Adicionalmente, empleando materiales que mejoren el flujo de electrones, se podrían fabricar chips basados en estos transistores balísticos que funcionasen a frecuencias de Terahercios, tres órdenes de magnitud superior a los actuales.

Como consecuencia de este estudio, la NSF (National Science Foundation, Fundación Nacional para la Ciencia de EEUU) ha dado al equipo de investigadores 1,1 millones de dólares para que construyan un prototipo y para que den con una metodología de diseño de circuitos y posibles arquitecturas.

Enero 15th, 2007

Microelectrónica aprobada

Technorati Tags: , ,

Casi 1 mes después del examen, que fue el 18 de diciembre, salió por fin la nota de Microelectrónica. La he mirado hace un rato y me ha sabido a gloria el aprobado que tengo, porque por ahora la cosa va bien y porque volver a prepararla en 2 semanas habría sido bastante duro.

Ahora hay que atacar TDS2 que será el 12 de junio y seguir dándole duro al PFC, que poco a poco va obteniendo resultados.

Enero 14th, 2007

Una gráfica curiosa en “Una verdad incómoda”

Technorati Tags: , , ,

Acabo de ver el documental Una verdad incómoda, protagonizado por Al Gore y que trata sobre el tema de moda de los últimos meses: el calentamiento global. Si bien el documental es interesante, no creo que sea algo a creer fielmente ni que deba sentar cátedra.

Dejando a un lado el tema del documental y su fiabilidad, mis ojos hicieron chiribitas al ver la siguiente escena en la que Al Gore presenta unas gráficas de nivel de CO2 en la atmósfera:

Una verdad incomoda

Premio para el que encuentre el fallo :-)