Archive for October, 2005

Aleph, año 2

Tuesday, October 18th, 2005

Hoy hace un año y un día (parece una condena :-D ) que escribí mi primer post en este blog. Lo cierto es que no me he prodigado mucho, llevo sólo una cuarentena de posts, lo que sale a una media de menos de un post por semana, pero ha sido divertido.

Últimamente, a resultas de haberme comprado la cámara, he añadido la galería de imágenes, integrándola con el blog. Lo que espero que me ayude a darle algo de vitalidad.

Y con el cambio de año (aunque no sea el del año natural) toca la obligada declaración de intenciones. Por mi parte intentaré escribir más regularmente para el segundo año de vida de esta página, pero no puedo prometer nada, y vosotros a ver si comentáis más ;-) .

Actualización: cambiado el enlace a la galería.

Todavía más fallos en cámaras digitales

Monday, October 17th, 2005

Si aquellos de vosotros que tenéis una cámara Nikon, Ricoh u Olimpus pensabais que os habíais librado del problema con el sensor CCD fabricado por Sony, siento comunicaros que estos tres fabricantes han publicado sus respectivos anuncios (Nikon, Ricoh y Olimpus [en japonés]) sobre el defecto.

He leído en varios sitios web que el problema reside en el encapsulado del sensor. El sensor CCD afectado utiliza un encapsulado plástico (epoxy), que es barato pero menos resistente que el encapsulado cerámico, que es otra de las alternativas de encapsulado. Normalmente, se necesitan condiciones adversas como altas temperaturas, altas presiones o humedad extrema, para que el sensor se deteriore. El problema es que los inadecuados parámetros de fabricación de los sensores entre Octubre del 2002 y Marzo del 2004 han provocado que, tras varios años de un uso más o menos normal de la cámara, exista la posibilidad de deterioro. [resumen sui generis de este artículo]

Ya son siete los fabricantes de cámaras afectados por este defecto. Esperemos que este número no siga subiendo.

Cambios en la Formula1 o el final de los V10

Sunday, October 16th, 2005

A pesar de que este apunte va sobre Formula 1, no voy ha hacer ningún comentario sobre el doblete de campeonatos que ha conseguido hoy el binomio Alonso/Renault. Aunque algunos puedan decir que es porque soy Ferrarista, no es cierto, no lo soy. Si no lo comento es simplemente porque estoy un poco cansado de la Alonsomanía. Esta última carrera de la temporada 2005 ha significado la desaparición de algunos pilares de la F1: Minardi, Jordan, Sauber y los motores V10.

En cuanto a Minardi, después de 20 años en la competición sirviendo de trampolín a muchos pilotos noveles, y sin haber conseguido ninguna victoria en toda su historia, el año que viene se va a convertir en la segunda escudería de RedBull (noticia). Pos su parte, Sauber se convertirá en la escudería BMW (noticia), mientras que Jordan podría pasar a llamarse Midland (noticia)

El reglamento de la F1 para la temporada que viene sustituye los actuales motores V10 de 3.000cm3 por unos V8 con un cubicaje de 2.400cm3 con lo que se supone que los monoplazas tendrán alrededor de 200CV menos, como mínimo hasta que los fabricantes hayan podido evolucionar estos propulsores. También en la nueva reglamentación se especifica el ángulo de los cilindros, debe ser de 90º, el número de válvulas por cilindro, peso mínimo de los motores e incluso la aleación de los componentes. Todo esto para intentar reducir los costes de fabricación y supongo que intentar igualar la competitividad entre equipos.

También hay propuestos otros cambios para la temporada que viene y otros bastante drásticos para el 2008, si es que todavía existe la Formula1.

Exponenciación modular

Saturday, October 15th, 2005

El otro día, no recuerdo muy bien a cuento de qué, me acordé de la exponenciación binaria, que es un algoritmo de exponenciación en aritmética modular que me explicó un profesor en el año que cursé Ingeniería de Telecomunicaciones en la UPC. Desde entonces siempre había tenido curiosidad por averiguar cual sería la diferencia en cuanto a tiempo de cálculo entre hacer la exponenciación por el método clásico o hacerla usando el algoritmo que me explicaron. Cansado de tener esta duda rondando por mi mente decidí hacer algo al respecto en un rato que tenía más o menos libre y aquí expongo mis resultados. ATENCIóN: Estos resultados son muy aproximados así que no los toméis muy en serio, sólo como orientación.

No voy a entrar en explicar que es la aritmética modular, para ello ya tenemos una página en la wikipedia, incluso hay una página dedicada a la exponenciación modular.

El método clásico se resume en ir multiplicando la base por ella misma tantas veces como indique el exponente (que es la definición de exponenciación), pero tras cada multiplicación hay que calcular el módulo del resultado para que el resultado temporal no crezca excesivamente:

t=base;
for (i=0; i<exp; i++) {
    t = (t * base) % modulo;
}
resultado = t;

Usando este algoritmo, debemos realizar tantas multiplicaciones y operaciones de módulo como indique el exponente. Es decir, si el exponente es 1000, necesitaremos 1000 multiplicaciones y 1000 divisiones (el cálculo del módulo es una división de la cual nos quedamos con el resto en lugar de con el resultado de la división).

El algoritmo de exponenciación binaria es más complejo pero permite realizar el cálculo con un menor número de operaciones. Se basa en descomponer el exponente en suma de potencias de 2. Inicializamos la variable temporal con el valor de la base. Empezando por el segundo bit más significativo del exponente mientras no lleguemos al bit menos significativo hacemos lo siguiente: multiplicamos la variable temporal por ella misma (lo elevamos al cuadrado), si el bit actual es igual a 1 multiplicamos la variable temporal por la base, y finalmente calculamos el módulo:


t=base;
for (i=numero_bits(exponente)-1; i>0; i--) {
    t = (t * t);
    if (bit(i, exponente) == 1)
        t = t * base;
    t = t % modulo;
}
resultado = t;

Con este algoritmo, el número de multiplicaciones depende del número de bits y del peso de Hamming(número de 1s) del exponente. Poniéndonos en el peor de los casos, que sería que todos los bits del exponente fueran 1, necesitaríamos tantas multiplicaciones como dos veces el número de bits del exponente. En cuanto al número de divisiones, depende sólo del número de bits.

Para simplificar, consideraremos que el coste computacional de la operación de multiplicar es el mismo que el de calcular el módulo. Entonces, si e es el exponente, con el algoritmo hemos pasado de necesitar 2e operaciones a, como máximo, necesitar 3log2(e). Es decir, el número de operaciones pasa de crecer linealmente con el exponente a hacerlo de forma logaritmica. Por ejemplo, si el exponente fuera 1023, pasaríamos de utilizar 2046 operaciones a 30.

Vale, sabemos que hay mucha diferencia en el número de operaciones, pero todavía no hemos visto como afecta esto al tiempo de ejecución. Como tampoco tenía mucho tiempo para dedicarle, decidí hacer dos bash scripts:

Una primera ejecución ya pone de manifiesto la gran diferencia que hay entre los dos algoritmos:

daneel@trantor:~$ export TIMEFORMAT="Tiempo: %Rs"
daneel@trantor:~$ time ./modexp1.sh 7 513 133
77
Tiempo: 2.280s
daneel@trantor:~$ time ./modexp2.sh 7 513 133
77
Tiempo: 0.207s

Los dos scripts calculan 7513 mod 133, pero uno necesita 2.28 segundos mientras que el otro sólo 0.20. Para tener una comparativa más amplia, he ejecutado los dos scripts cambiando el exponente entre 1 y 1024, y recogiendo el tiempo que ha tardado el script en calcular el resultado. Después, con gnuplot he hecho la gráfica:

Resultados

Creo que sobran las palabras. La diferencia es asombrosa. Así y todo, el algoritmo aquí comentado no es el más rápido, en el libro “Applied Cryptography” de Bruce Schneier hay un capitulo dedicado a la aritmética modular y explican uno todavía más rápido pero más complejo.

Igual os preguntáis para que sirve esto, pues por ejemplo en el sistema de criptografía de clave asimétrica RSA se realizan operaciones de exponenciación en aritmética modular a la hora de cifrar o descifrar el mensaje. O sea que dependiendo del algoritmo de exponenciación utilizado, tardaremos más o menos en cifrar/descifrar el mensaje.

Por cierto, en la wikipedia también explican la exponenciación binaria usando un algoritmo recursivo.

Bueno, yo ya me he quitado la curiosidad y espero haberos entretenido un ratillo :-)

Más fallos en cámaras digitales

Friday, October 14th, 2005

De forma parecida al anuncio que hizo Nikon hace unas semanas relacionado con unos problemas en algunas de sus cámaras (D70, D2H, F55), el pasado martes pudimos leer en slashdot que ha aparecido un problema con el sensor CCD de Sony que utilizan cuatro grandes fabricantes de cámaras digitales (Canon, Fujifilm, Konica-Minolta y la propia Sony). Parece que los cuatro fabricantes están reparando de forma gratuita las cámaras que sufren este defecto, incluso cuando la garantía ha caducado. (¡¡faltaría menos!! :-D )

El comportamiento de los gatos

Thursday, October 13th, 2005
taka_04

Hoy me ha dado por buscar en Google si alguien le había encontrado una explicación a la costumbre que tiene mi gata de beber del grifo, aunque tiene agua en su cuenco. La verdad es que me he llevado una sorpresa, he encontrado una página que no sólo explica lo de beber del grifo sino muchos de los comportamientos de mi gata, aunque sea muy por encima. De todo lo que comentan, lo único que mi gata no hace es morderse vigorosamente, y cuando ella se agarra a nuestras piernas es porque estamos jugando con ella, hacemos como si no la viéramos y pasamos por su lado, a lo que ella salta, pero ni clava las uñas ni muerde. Te salta a la pierna y luego se va corriendo.

¿Los vuestros hacen los mismo?

Películas basadas en libros

Wednesday, October 12th, 2005

El lunes pasado, viendo “El seños de los anillos: Las dos torres”, recordé una conversación que tuve hace bastante tiempo con Dan y Carmela sobre las películas cuyos guiones están basados en libros. De la conversación no sacamos nada en claro pero me ha apetecido colgarlo aquí.

Por una parte, es posible que a algunas de las personas que han visto estas películas les haya picado el gusanillo y se hayan animado a leer el libro. Pero por otra parte, la película “mata” un poco la imaginación. La gente que leyó el libro antes de haber visto la película debía imaginarse tanto el aspecto de los personajes y como los paisajes. Pero tras ver la película, resulta muy difícil disociar el actor que interpretó el personaje de la imagen mental que tiene el lector de ese personaje. Por ejemplo, retornando a “El señor de los anillos”, hoy en día quién es capaz de leerlo sin que le venga a la cabeza la cara de Orlando Bloom cuando piensa en Légolas. No digo que esto impida leer el libro (cosa que recomiendo encarecidamente :-) ) pero, según lo veo yo, el lector pierde el placer de tener que usar su imaginación al 100%. Por cierto, no quiero que parezca que me meto con las películas de “El señor de los anillos”, sólo las uso como ejemplo. Pasa lo mismo con Deckard de Blade Runner y Harrison Ford.

Por cierto, ¿alguien sabe por qué en la edición española de los libros de “El señor de los anillos” se tradujeron los nombres de algunos personajes (Bilbo Bolsón vs. Bilbo Baggins, Barbol vs. Treebeard, Ella-laraña vs. Shelob) y de algunas localizaciones sobre todo de la comarca? Como mínimo, los traductores de la película tuvieron en cuenta este hecho y mantuvieron la coherencia.

Efecto zoom

Tuesday, October 11th, 2005

No, no es un efecto hecho con el GIMP, la foto está tal y como se disparó. Es una prueba de efecto zoom que hice con la D70s en mi último viaje a Menorca.

La cosa es muy simple, centras en el objetivo (aquí no sirve la regla de los tercios) el sujeto principal, seleccionas una velocidad de obturación relativamente lenta, y mientras giras la rueda de zoom, cambiando la distancia focal, disparas. De esta forma, la imagen queda emborronada del centro hacia el exterior dando una sensación de velocidad. La verdad es que este efecto queda un poco fuera de lugar con el motivo elegido, pero me vino en gana probarlo en ese momento y así lo hice ;-)

Pues nada, con este post queda oficialmente inaugurada la categoría de fotografía.

Zoom test

ADSL 20Mbps

Monday, October 10th, 2005

Acabo de oír por la radio que Jazztel está ofreciendo conexión a Internet mediante líneas ADSL con velocidades de hasta 20Mbps en sentido descendente, de Internet al usuario (lo que no conozco es el ancho de banda de subida). Para poder ofrecer este servicio usan tecnología ADSL2+ sobre infraestructura propia, es decir, no usan la de Telefónica, por lo que la cobertura de este servicio todavía es limitada si la comparamos con la ofrecida por Telefónica u operadoras que utilizan la infraestructura de Telefónica.

Realmente, la velocidad ofrecida es la máxima que permita la línea, siendo los 20Mbps la velocidad máxima que soportada sólo disponible cuando el estado de la línea es óptimo y no hay mucha distancia entre el domicilio del cliente y la central donde está el DSLAM, que es la terminación de la ADSL en el lado del proveedor.

El interés que le veo a esta noticia es que, si un proveedor está empezando a ofrecer este servicio y a este precio (Ahh, y todo esto por 29,95€ + IVA al mes, con llamadas locales y nacionales incluidas.), tengo la esperanza de que el resto de proveedores lo imiten o, como mínimo, tomen acciones beneficiosas para los clientes para intentar igualar la oferta y evitar que los usuarios se cambien de operadora. Es decir, aprovecharnos de la competencia para que mejore el estado de las conexiones de banda ancha en este país con la esperanza de igualarnos con el resto de países europeos (bueno, y si podemos estar mejor que el resto tampoco me voy a quejar :-P ).

Cosas que no entenderé nunca

Wednesday, October 5th, 2005

Ayer acompañé a mi abuela a la consulta de un medico de la seguridad social. El motivo de la visita ya tiene guasa: el anterior medico que la había visto se ha jubilado y no ha dejado ninguna constancia de la visita. Aunque es molesto que se le traspapelaran los papeles, todavía es comprensible, todos somos humanos y nos podemos equivocar.

Lo que no acabo de entender es el sistema de pasar consulta. Cuando te dan cita para ir a la consulta, te indican día y hora, pero cuando llegas al hospital resulta que se atiende según, y cito textualmente, “estricto orden de llegada”. Entonces, si muchos de los pacientes que tenían cita para ese día se han presentado en el hospital antes que tú (a pesar de que tuvieran hora más tarde), aunque te hayan dado hora para las 9:30, no te atenderán hasta pasadas unas cuantas horas.

Y se que ocurre porque se lo escuché a una paciente mientras esperábamos en la sala de espera: a ella le habían dado hora para las 9:10, a eso de las 10:00 le preguntó por el retraso la enfermera y esta le dijo que llamaban a los pacientes por orden de llegada al hospital y que estaba previsto que pasara a la consulta sobre las 12:00. ¡¡Tres horas de espera!!, ¿pero para qué que dicen que a las 9:00 si luego va por orden de llegada?

Igual lo he simplificado demasiado, y pido disculpas, pero si vas al medico es porque no te encuentras muy bien y si encima te hacen esperar varias horas para que te vea el médico… No se, hay cosas que no entenderé nunca.