viernes, agosto 10, 2007

Merde d'artiste

Otra noticia para enmarcar. Con título "Fetichismo de mierda", la noticia muestra un poco más la mierda, nunca mejor dicho, con la que algunos se enriquecen mientras otros currantes del gremio intentan sobrevivir. Lo dicho, una mierda.

Las balas en el cráneo provocan cefaleas

El otro día, leyendo la prensa, me he encontrado con esta perla. Creo que hay que darle un premio al creador del título de la noticia, tanto por su originalidad como su profundo conocimiento de la medicina.

PD: Intento ser irónico y no demasiado ácido(me he tenido que morder la lengua)

jueves, julio 12, 2007

Encuesta: Navegadores




Desde hace un tiempo estaba teniendo numerosos fallos mientras navegaba por internet, así que decidí cambiar de navegador y probar, porque a pesar de que mi máquina no está limitada, me ocurría con bastante frecuencia que tras actualizar el navegador, el sistema, o entrar en determinadas páginas, se aumentaba el número de fallos y se me cerraba el navegador, sin más, con la consiguiente molestia(más de una vez se me cerró redactando un correo).

Y la experiencia ha sido bastante buena, tanto que he decidido colocar una encuesta para saber que navegador usan, y si quieren, comenten sus experiencias.

Un saludo

División por cero

Ayer se me ocurrió meterme en la sección de Fórmula 1 de la página www.telecinco.es para ver las estadísticas de la siguiente carrera, que se celebrará en Alemania, y me encontré con esto:




¿Ven algo raro? Espero que si...

Partiendo de que todos podemos cometer un fallo así(si no lo admites, caerás antes en un error parecido o peor), he intentado reconstruir el método que usa para realizar esta curiosa estadística:


#define NPILOTOS 4

int NumVotaciones; /* número de votaciones totales */
int VotacionesPorPiloto[NPILOTOS]; /* las votaciones dadas a cada piloto */
float Resultados[NPILOTOS]; /* los resultados que se mostrarán */

for (int i=0; i < NPILOTOS; i++){
Resultados[i]=(VotacionesPorPiloto[i] / (float)NumVotaciones )*100; /* Línea 73 */
}


Podría ser esto, por ejemplo. Se intenta dividir cuatro veces por 0, por lo que parece obvio que está dentro de un bucle y el error esta dentro(de ahí los warnings mostrados en la imagen en la línea 73). A pesar de las pocas líneas, se puede caer en dos errores típicos:

- La división por 0.
- La división real.

El primer error podría tener dos soluciones:

- Usar un if si no se quiere usar control de excepciones,preguntando si el número de votaciones totales es 0. Si es 0, te ahorras los cálculos y el resultado es 0 siempre.

- Hacer una votación para evitar el 0 o inicializar NumVotaciones a 1. Aunque siendo PHP, el valor de la variable podría venir de una base de datos o de un archivo, y para evitar hacer inicializaciones directas, se podría probar con algo asi:

Resultados[i]=(VotacionesPorPiloto[i] / (float)(NumVotaciones+1) )*100; /*

Sumando un 1 al denominador nos evitamos el problema, pero esta solución sólo es útil si sabemos que el número de votaciones es grande(sumarle una unidad sería despreciable). En otro caso, afectaría a los resultados.

El segundo error podría tener dos soluciones:

- Convertir la variable NumVotaciones a float.
- Hacer el cast para forzar la división real, tal y como lo he puesto.

Aunque son errores básicos, lo vemos con demasiada frecuencia. Por lo que se ve ni siquiera se molestó en probar el código(puede que sea un código ya generado y sólo use la función), porque el código revienta en la primera ejecución.

Supongo que si se votara por primera vez, se arreglaría el problema. Yo no lo he hecho aún, así que puedes intentarlo.

sábado, junio 23, 2007

El 'Atlantis' regresa de su misión




Hoy, aproximadamente sobre las 20:50 (hora canaria), después de tres intentos fallidos durante estos días, el trasbordador espacial 'Atlantis' ha aterrizado en la Base Aérea de Edwars, en California, tas 15 días de misión.

Ayer se esperaba que aterrizara sobre las 18:00 , pero se aplazó una hora más debido al mal tiempo en Cabo Cañaveral. El segundo intento también falló, por lo que se aplazó el regreso hasta hoy, donde tuvo que esperar hasta el segundo intento y optar por la pista de Edwars, ya que en Houston se mantenía el mal tiempo.

He tenido la oportunidad de seguir de cerca la misión y ver los trabajos realizados en la Estación Espacial Internacional. Se ha visto como han arreglado los paneles solares de la Estación, como se han separado de ella y como han iniciado los preparativos para la vuelta a casa. Durante el regreso, se ha visto como revisaban mediante un brazo robótico alojado en su bodega las losetas del revestimiento aislante de la nave. La NASA no quiere pasar por la misma tragedia del Columbia , donde fallecieron sus siete tripulantes.

Lo impresionante de todo es que es posible ver todo esto desde la misma página la NASA. En el desierto de California, donde aterrizó hoy el transbordador, pusieron una cámara que seguía la trayectoria del mismo hasta el aterrizaje. Durante la aproximación, se vieron imágenes desde el interior de la cabina, y es sorprendente la sensación de velocidad que producen las imágenes.

En caso de que no quieran verlo a través de la página, lo pueden hacer mediante este programa .

Imagen justo antes de soltar el paracaídas para frenarse(tarda un poco en cargar)

Un saludo y espero que les guste.

Fuentes: NASA , El País , El Mundo

miércoles, junio 20, 2007

Diane Krall - The girl in the other room



He encontrado tres canciones del disco en radioblogclub :

  • The girl in the other room

  • Templation (versión distinta a la del disco)

  • Narrow DayLight

  • Un excelente disco, aunque no es nuevo. Se pueden oír fragmentos del resto de las canciones en la página oficial.

    Gracias Patricia.


    Pd: Modificado por error de fecha

    lunes, junio 18, 2007

    La poesía de los 8 bits

    Me podrán llamar de todo si quieren por haber puesto este título. De verdad, no me he dado un golpe en la cabeza ni he tomado sustancias alucinógenas. He escrito este post para rememorar una de las épocas más entrañables que tengo de mi propia infancia, y evitar que esos recuerdos desaparezcan.

    Hubo un tiempo, no muy lejano, donde los ordenadores personales no existían. La informática era casi inaccesible para el usuario de a pie. No todo el mundo tenía un aparato de aquellos en casa: muchos íbamos a la casa de algún familiar o amigo a jugar. Hablo, como no, de la época del Spectrum y del Commodore, entre otros.

    Recuerdo de aquellas tardes, delante de aquella pantalla de fósforo verde, el ruido que hacía aquel aparato al cargar la cinta del juego, para finalmente, jugar durante toda la tarde. Juegos como The Great Scape, Batman o La Abadía del Crimen siempre quedarán en esa lista de oro en la que es imposible que desaparezcan. Pero, ¿eran los juegos o eran aquellas tardes que se hacían tan cortas lo que más recuerdo? Es difícil elegir…

    Ya un poquito más grande, llegué a tener en mis manos uno de aquellos cacharros, concretamente el Sinclair ZX Spectrum 48K, al que conectaba al único televisor que tenía en casa. Sinceramente, nunca supe usarlo. Algunas cintas no me cargaban (luego supe que algunas cintas eran de Commodore y otras de Spectrum, y no eran compatibles). Luego desapareció y no lo recuperé más (perdido en alguna mudanza, quizá…). Es curioso recordar ahora como pude ser capaz de conectar los cables yo solo, y de sintonizar el canal en aquel viejo Telefunken(todavía funciona), aprendiendo de como lo hacía mi padre(también es cierto que más de una vez desprogramé todos los canales…)

    Pasaron los años y tuve en mi poder mi primer PC, un Amstrad 1512, impresora matricial (ambos funcionan aún) y su disquetera de 5.25’’, de solo 360 Kb por disco. No era nuevo, pero como si lo fuera. Comenzaba los 90’s. Recuerdo que no tenía disco duro, por lo que había que meter primero el disco de arranque de MS-DOS, para luego poder usarlo. Trasteando más de una vez me cargué el disco de arranque, quedándome meses sin jugar…hasta que lo conseguías y volvías a las andadas. Conseguí hacer mis primeros programas en BASIC o GW-BASIC(no recuerdo bien), toda una hazaña, porque sólo podía usar un pequeño libro que tenía y que ni siquiera era de la misma versión, por lo que daba errores de sintaxis cada dos por tres. Cientos de líneas para hacer un simple menú o un dibujo cutre, visualizado en aquella pantalla CGA de 4 colores. Pero aquello te enganchaba a la silla y siempre te quedabas hasta conseguir algo, por poco que fuera.

    Luego, no sé como y tampoco lo recuerdo, me dieron un Spectrum 128K y una pequeña colección de revistas de la época, más cintas de juegos y programas de ¡contabilidad! (sigue funcionando, y también guardo las revistas!) Enchufé otra vez aquel monstruo de transformador, y empecé otra vez a retomar aquello, a partir de los enormes listados de juegos de la revista MicroHobby. Nunca conseguí hacer uno. Intenté usar mis pequeños conocimientos de BASIC para hacer algo, pero lo único que pude hacer fue una pequeña circunferencia en la pantalla. Desistí, pero ojeando las páginas de aquellas revistas veía como habían muchos que si podían escribir programas, e incluso ganaban premios (premio MicroHobby al programa del mes!!). Pero aquello era mucho para mí…

    Pasaron los años, pero no mis ganas de saber más. Conseguí un ordenador más potente (tampoco tanto, creo que era como mucho un x386 o menos), y pude sacarle un buen provecho a aquellas máquinas (juegos como Barbarian, Goody, Test Drive, The Salomon Key, Prince of Persia y el SkyGlobe, un pequeño programa de astronomía, y otros que mi memoria deja injustamente atrás…). También llegué a usar Dbase III, pero ni con el libro…aunque conseguí meter mis libros en una pequeña base de datos a base de noches largas frente a la pantalla, pero sinceramente, ni sé como lo hice.

    Y esta semana, para mayor placer, he estado buscando por la red y he encontrado páginas dedicadas exclusivamente a rescatar esos viejos juegos haciendo réplicas casi idénticas, o por el contrario, basándose en la historia, crear uno completamente adaptado a la tecnología de hoy día (no por medio de emuladores, que también los he usado, sino por juegos reprogramados completamente). Aquí están los enlaces si quieren pasarse:

  • Abandonia .-Hay capturas de pantalla y el tema del juego

  • Remakes Zone, una de las mejores que he visto.

  • La Abadía del Crimen, un fantástico juego español(y bastante complicado)


  • Hoy día, con la carrera terminada, sigo viendo esa época con ilusión. Me pregunto si los videojuegos de ahora son capaces de fomentar tanto la imaginación como aquellas viejas máquinas. Ya sea por diversión o curiosidad, intentaré retomar el tema y encenderé otra vez mi Spectrum 128K, a ver como lo veo ahora…

    jueves, junio 14, 2007

    Alexander Solzhenitsyn

    Escritor ruso, ganador del Premio Nobel de 1970, ha sido premiado esta semana en su país por su labor en el ámbito humanitario a manos de Vladimir Putin, ex agente de la policía secreta soviética (la KGB) y actual presidente de Rusia.

    Su obra más conocida, Archipiélago Gulag, relata el proceder de los campos de trabajo soviéticos (gulags) y de la policía secreta. Tras la forzada publicación de la primera parte, en diciembre de 1973, debido a que la KGB interceptó una copia del manuscrito, fue detenido y acusado de traición el 12 de febrero de 1974. Fue expulsado al día siguiente de la URSS y deportado a la Alemania Oriental, negándole la ciudadanía soviética. En ese período, Leonid Brézhnev era el máximo dirigente de la URSS. En 1975 y 1978 se publicaron las dos partes restantes.

    Una nota del autor en la primera edición decía:

    "En este libro no hay personajes ni eventos ficticios. La gente y los lugares son llamados con sus propios nombres. Si son identificados por sus iniciales en vez de sus nombres, es por consideraciones personales. Si no son nombrados en absoluto, es sólo porque la memoria humana ha fallado al preservar sus nombres. Pero todo tuvo lugar tal y como se describe aquí. Dedico este libro a todos los que no vivieron para contarlo, y que por favor me perdonen por no haberlo visto todo, por no recordar todo, y por no poder decirlo todo."


    Solzhenitsin , en 1975 se traslado a EEUU, donde prosiguió con su trabajo publicando diversas obras. En 1990 recuperó su nacionalidad rusa, y en 1994 volvió a su país, donde ha seguido su labor crítica.

    Mstislav Rostropóvich (Bakú, 27 de marzo de 1927 - Moscú, 27 de abril de 2007) tuvo la valentía de escribir una carta a los periódicos más importantes del país en 1970, que provocó que él y su esposa salieran de la URSS y que posteriormente, en 1978, se le negara a él también la nacionalidad rusa por defender a su amigo. Recuperó su nacionalidad en 1990.

    En épocas del régimen franquista, el 20 de marzo de 1976, fue entrevistado por José María Iñigo en TVE, en el programa Directísimo. Entrevista muy criticada por los contrarios al régimen, ya que en ella se comparaba la libertad de los soviéticos con la ‘libertad’ de los españoles:

    • ¿Saben ustedes lo que es una dictadura? (…) Los españoles son absolutamente libres para residir en cualquier parte y de trasladarse a cualquier lugar de España. Nosotros, los soviéticos, no podemos hacerlo en nuestro país. Estamos amarrados a nuestro lugar de residencia por la propiska (registro policial). Las autoridades deciden si tengo derecho a marcharme a tal o cual población (…)

    • Los españoles pueden salir libremente de su país para ir al extranjero (…) En nuestro país estamos como encarcelados. Paseando por Madrid y otras ciudades (…) más de una docena, he podido ver en los kioskos los principales periódicos extranjeros. ¡Me pareció increíble! Si en la Unión Soviética se vendiesen libremente periódicos extranjeros se verían inmediatamente docenas y docenas de manos tendidas luchando por procurárselos (…)

    • También he observado que en España uno puede utilizar libremente las fotocopiadoras (…) Ningún ciudadano de la Unión Soviética podría hacer una cosa así en nuestro país.

    • En su país (dentro de ciertos límites, es cierto) se toleran las huelgas. En el nuestro, y en los sesenta años de existencia del socialismo, jamás se autorizó una sola huelga. Los que participaron en los movimientos huelguísticos de los primeros años del poder soviético fueron acribillados por ráfagas de ametralladora.(…)

    • Si nosotros gozásemos de la libertad que ustedes disfrutan aquí, nos quedaríamos boquiabiertos.


    Juan Benet escribió en respuesta a estos comentarios:
    “Creo firmemente que mientras exista gente como Solzhenitsin deberán existir los campos de concentración. Incluso deberían estar mejor vigilados para que personas como él no puedan salir” (Cuadernos para el diálogo, 27 de marzo de 1976)

    Existe un artículo del periódico El Mundo donde se relatan las impresiones de aquella entrevista.

    Dejo a continuación algunos enlaces para aquellos que quieran profundizar sobre el tema. Leer solamente unas páginas de Archipiélago Gulag no deja a nadie indiferente, por lo que lo considero uno de los mejores libros que haya tenido en mis manos.

    Dejando atrás comentarios políticos sobre el hecho de que un ex KGB le dé el premio, sólo la trayectoria que ha tenido su vida merece ese premio, aunque en mi opinión, ha llegado muy tarde.

    Aleksándr Isáyevich Solzhenítsyn, biografía en Wikipedia

    Prólogo a Archipiélago Gulag, en http://www.solidaridad.net

    Premio a Solzhenitsin, en La Vanguardia

    Solzhenitsin escribió con sangre, por Raúl del Pozo (El Mundo)

    El caudillo y Solzhenitsyn, por Javier Memba (El Mundo)

    Solzhenitsyn, el eterno profeta disidente de Rusia, Por Julio Fuentes (El Mundo)

    Carta abierta de Mstislav Rostropovich, 31 de octubre de 1970

    miércoles, junio 06, 2007

    El latín y la protección del código fuente

    Me he encontrado con una curiosidad que podría servir para ocultar un poco mejor el código de los proyectos. Existe un módulo de perl que traduce nuestro código a latín, ocultando completamente la funcionalidad del mismo. Se trata del módulo Lingua::Romana::Perligata. Aquí va un ejemplo:



    Estoy imaginándome a más de uno pensando en usar algún módulo parecido en C++ para hacer bromas, como prestar alguna que otra práctica latinizada...xD. Un saludo.

    Fuentes: Yo, Programador, cpan.org

    lunes, junio 04, 2007

    Mi robot, en Perl

    Hoy quiero poner aquí un ejemplo, obtenido de cpan.org, de como realizar un pequeño robot para navegar por internet, bajo Windows. Usando los módulos Win32::OLE y Win32::IEAutomation. Por supuesto, hay que bajarse e instalar ambos módulos(el primero de ellos es necesario para usar el segundo). Este ejemplo esta ejecutado como cgi bajo Apache. Este es el código:

    #!C:\perl\bin\perl.exe -w

    use Win32::OLE;
    use Win32::IEAutomation;

    print "Content-type: text/html";
    print "Mi robot accediendo a Google\n";
    print "\n";

    my $ie=Win32::IEAutomation->new( visible => 0, maximize => 1);

    $ie->gotoURL('http://www.google.com');
    @lista=$ie->getAllLinks();
    foreach (@lista){
    print $_->linkText();
    print "\n";
    }



    El código es una pequeña modificación de un ejemplo del módulo Win32::IEAutomation. He tenido que sustituir las etiquetas de salto de línea en HTML por '\n', porque el editor de entradas del blog me juega una mala pasada.

    Este pequeño programa accede a www.google.com y obtiene todos los links de la página principal, sin necesidad de explorador.

    Una de las posibles aplicaciones podría ser la realización de una extensa batería de pruebas para testear nuestros proyectos web, o simplemente, realizar nuestro propio buscador con algunas tareas específicas.

    Se me ocurren muchas más aplicaciones prácticas para este código, pero cuando veas las funciones que incorpora el módulo Win32::IEAutomation seguro que más de uno se divertirá pensando en todas las posibilidades. Un saludo y que lo disfruten.

    viernes, junio 01, 2007

    Las prisas

    Hace tiempo que navegando por la prensa me encontré con esta curiosa imagen:

    Cuando lo ví no me percaté de nada, pero luego, al leer el pie de la foto, prometo que me entraron las dudas e incluso pensé que se podía tratar de otro tipo de vuelo. A pesar de que ese mismo diario tiene una herramienta para enviar correcciones, a mi aún no me han hecho caso, y por eso lo pongo aquí.

    Pd: Por si no sabes aún de lo que hablo, mira y lee atentamente el título de la foto...

    jueves, mayo 31, 2007

    La energía del futuro: El biopetróleo

    Seguramente a todos nos preocupa la enorme dependencia que tenemos del petróleo y las consecuencias que eso supone. Todos sabemos de las numerosas alternativas que existen para librarnos de la dependencia al petróleo, como es la energía solar, la energía eólica o los biocombustibles, como los obtenidos del aceite de girasol o de colza, por ejemplo. Incluso los residuos procedentes de la obtención de aceite de oliva estan siendo aprovechados para la obtención de energía.

    Una empresa valenciana, Bio Fuel System(BFS), con la colaboración de los departamentos de Biotecnología, Ingeniería Química y Ciencias del Mar de las universidades de Alicante y Valencia, han inventado un biopetróleo a partir de algas marinas, y que absorbe CO2 durante el proceso. Quién lo iba a decir!

    El proceso parece sencillo: Se tienen unos tanques donde se almacena una sopa verde con una alta proporción de algas. Cada día, estos tanques se 'ordeñan', exprimiendo la mitad de su contenido. Luego se centrifuga y se obtienen por un lado agua y por el otro materia orgánica en pasta. El agua se devuelve otra vez al tanque, porque es necesaria para que las algas se vuelvan a duplicar. Cada kilo de esta pasta seca tiene 5700 calorias, tanto como el carbón. Paralelamente, las algas necesitan CO2, por lo que los tanques estarán alimentados por él constantemente, por lo que las fábricas que adquieran este procedimiento para la obtención de combustible podrán almacenar o alimentar estos tanques con sus propios gases. El truco reside en el aceite que almacenan estas algas, que lo necesitan para mantenerse a flote y obtener luz para realizar la fotosíntesis.

    No, no es ciencia ficción. La empresa ya tiene los permisos y el terreno necesario para construir una planta de 30 Mw, suficiente para dar luz a 3000 viviendas. Es una luz a la esperanza, y esperamos que no quede en nada, como siempre pasa con este tipo de noticias. Si quieren más información, aquí les dejo unos enlaces:

    Fuentes: El Pais, Biofuel-System, 20 minutos