La Singularidad Desnuda

Un universo impredecible de pensamientos y cavilaciones sobre ciencia, tecnología y otros conundros

Archive for the ‘Geek’ Category

Música con bobinas de Tesla: Descargas musicales aunque le pese a la SGAE

Posted by Carlos en noviembre 13, 2007

Nikola Tesla fue un ingeniero y físico serbio que vivió en la segunda mitad del s. XIX y la primera del s. XX, y que dedicó su vida al estudio de la electricidad, y al diseño de dispositivos para controlarla y aprovecharla. Trabajó durante un tiempo con Edison antes de independizarse y formar su propia compañía. Entre otras cosas le debemos a Tesla la teoría de la corriente alterna, el primer motor de inducción, y la primera transmisión inalámbrica de ondas electromagnéticas.

También le debemos a Tesla -y por ello llevan su nombre- la invención de las denominadas bobinas de Tesla, unos dispositivos transformadores capaces de generar impresionantes descargas eléctricas. La imagen de las bobinas de Tesla nos resultará sin duda familiar de las antiguas películas de científicos locos, cuyos laboratorios estaban repletos de este tipo de dispositivos (junto con otros igualmente espectaculares, como generadores de van der Graaff, complejos alambiques, etc.). En un cruel guiño del destino, el propio Tesla acabó su vida como prototipo de científico loco, con una personalidad distorsionada y realizando o proponiendo todo tipo de invenciones excéntricas (incluso en círculos pseudocientíficos se ha relacionado alguna vez el evento de Tunguska con una invención de Tesla). No es de extrañar pues que las bobinas de Tesla hayan despertado el interés de muchos geeks, que las fabrican artesanalmente y las exhiben orgullosamente en convenciones ex profeso (los Teslathones, véase por ejemplo algunas fotografías de un Teslathon de este año).

Es interesante observar que cuando uno de estos dispositivos emite una de sus espectaculares descargas se produce el correspondiente zumbido eléctrico, cuyo tono puede variarse modulando la descarga. Era entonces previsible que a un geek se le ocurriera aprovechar esto para componer música, y dicho y hecho, el vídeo inferior muestra a dos bobinas de Tesla interpretando una pieza de Chaikovski tomada de El Cascanueces (concretamente, el Baile del Hada de Azúcar).

Las bobinas de Tesla que aparecen aquí tienen más de 2m de altura, y emiten descargas de más de 3.5m de longitud. Están conectadas a un ordenador que modula las descargas para que éstas resulten en el efecto musical que se aprecia. El sonido que emiten es atronador: 110 dB. Hay otro vídeo de menor calidad pero en el que se ve momentáneamente al público, lo que permite apreciar un poco la escala, y cómo el sonido de las bobinas ahoga totalmente los gritos de la audiencia. Quien prefiera otro tipo de composiciones más lúdicas, quizás encuentre interesante esta interpretación del tema principal de Super Mario Bross, o esta otra del tema de Tetris (ésta corresponde a unas bobinas distintas, pero igualmente espectaculares).

¿Se opondrá también la SGAE a este tipo de “descargas musicales”?

Anuncios

Posted in Física, Geek, Música, Nerd | Etiquetado: , | 1 Comment »

Micrografías: Arte al Microscopio Electrónico

Posted by Carlos en septiembre 26, 2007

Al amparo de la International Conference on Electron, Ion, and Photon Beam Technology and Nanofabrication se viene realizando en los últimos años un concurso de micrografías, fotografías tomadas al microscopio y que suelen capturar objetos cuyo tamaño va de unos nanómetros a unas micras. Algunas son realmente espectaculares, como por ejemplo las dos que siguen, un micro-Manhattan con rascacielos de dos micras de alto, y un inodoro en el que con suerte cabría un ejemplar de Escherichia coli.

West Side Story Chisai Benjo

Claro que aquellos con espíritu más geek encontrarán más atractivas una reproducción del USS Enterprise de 8.8 micras, o una prueba de que el lado oscuro de la fuerza opera en el rango de los 200 nanómetros (ir al final de la página). Como dice el slogan del concurso, una buena micrografía vale más que el megabyte que ocupa.

Posted in Ciencia Ficción, Fotografía, Geek, Nanotecnología | Etiquetado: | 2 Comments »

Sushi USB

Posted by Carlos en julio 21, 2007

Los amantes de la comida japonesa están de enhorabuena con este pendrive de 1GB que demuestra que el sushi es compatible con los ordenadores. Deliciosa y saludable memoria, sin duda. Espero impacientemente que salga pronto el teriyaki USB.

Sushi USB

Posted in Gadgets, Gastronomía, Geek | Comentarios desactivados en Sushi USB

Día del Orgullo Friqui 2007

Posted by Carlos en mayo 25, 2007

En honor del día del orgullo friqui, aquí va un vídeo idóneo para la ocasión: música de Weird Al Yankovic versionando “Pretty Fly” de The Offspring, e imágenes de anime japonés perfectamente sincronizadas. Hasta hay espadas láser… Puntuación alta en el friquímetro.

Enviar a Blog Memes Enviar a del.icio.us Enviar a digg Enviar a fresqui Enviar a menéame

Posted in Comic, Geek, Música | 3 Comments »

Vivir en el puente de mando de una astronave de la Flota Estelar

Posted by Carlos en marzo 26, 2007

Si uno lo desea, es factible vivir en el puente de mando de una astronave de la clase Intrépido como la USS Voyager. Sólo es necesario echarle ganas, tiempo, y dedicación. Esto lo puede atestiguar Tony Alleyne, un ex-DJ reconvertido por las vicisitudes del destino en decorador de interiores. Movido por la necesidad, y armado de su pasión por Star Trek, Tony ha fundado una empresa de decoración (24th Century Interior Design) que traslada a nuestros domicilios la sobria y envolvente funcionalidad que hará furor en el siglo XXIV. He aquí un botón de muestra de lo que Tony ha conseguido hacer con su estudio de soltero de menos de 50 m2:

Living room USS Voyager

Aquí vemos una panorámica general del salón. Un agradable tono azul cobalto con trazas de añil inunda la estancia. Nótese al fondo a la izquierda la sala de teletransportación (o una vitrocerámica gigante, que también podría ser).

kitchen USS Voyager

La imagen superior muestra un detalle de la cocina aneja al salón. En primer plano vemos la cafetera, y más al fondo el fregadero. Mientras se friegan los platos se puede acceder a la computadora central tal como se aprecia.

corridor USS Voyager La imagen lateral muestra el pasillo que abandona el salón. Puede verse la bola de cristal que adorna el techo, dándole a la habitación un toque disco muy retro (400 años retro de hecho). Es todo un detalle práctico la posibilidad de insertar un cajero automático en la pared del pasillo sin que desentone con la decoración del conjunto. Al fondo de la imagen se aprecia lo que parece ser la puerta de la casa. No hay ningún dormitorio, ya que desde que nuestro amigo Tony padeció de ciática, y hubo de dormir en el suelo por prescripción de su médico, descubrió que el espacio que normalmente le dedicaríamos a una cama está sobrevalorado. Él usa la sala de transportadores para ese menester. Hay que reseñar también que toda la casa está dotada de control por voz (“la felicidad suprema es una habitación sin cables” dice Tony), y espera poder disponer de compuertas deslizantes en un futuro cercano.

Si alguien se ha sentido impresionado y con ganas de tener una casa parecida, encontrará interesante saber que se va a subastar el mobiliario por unos $200,000, y que es posible contratar los servicios de este interiorista para hacer algo a medida. Curiosamente mucha gente se dirige a la empresa de Tony interesándose por la idea, pero esperan encontrarse a un tipo tan fanático de Star Trek que les haga toda la decoración gratis, por amor al arte (o a la Flota Estelar). Tony dice educadamente que no entiende por qué, pero creo que está claro: hay gente que tiene la cara más dura que la frente de un Klingon.

Enviar a Blog Memes Enviar a del.icio.us Enviar a digg Enviar a fresqui Enviar a menéame

Posted in Ciencia Ficción, Geek, Interiorismo, Space Opera | Etiquetado: , | 6 Comments »

La esencia del Universo…

Posted by Carlos en marzo 12, 2007

…no es sólo 42: también está Perl.

Esencia del Universo

Enviar a Blog Memes Enviar a del.icio.us Enviar a digg Enviar a fresqui Enviar a menéame

Posted in Comic, Geek, Nanoposts, Programación | Etiquetado: , | 7 Comments »

Algoritmos exquisitos y programación deliciosa en el lenguaje CHEF

Posted by Carlos en febrero 6, 2007

Cuando se comienza a estudiar programación, suele ser muy socorrido recurrir a una analogía con una receta de cocina para dar una primera idea informal de lo que se entiende por algoritmo. Acto seguido, se dan definiciones más precisas, y uno se puede adentrar en las maravillas de las máquinas de Turing, y quién sabe si incluso del lambda-cálculo. Sin embargo, no sólo es una pena abandonar una analogía tan gratificante como la de la receta de cocina, sino que es algo de hecho innecesario. Mediante el lenguaje de programación CHEF, podemos dar nuestros primeros pasos en el delicioso mundo de la programación, a la vez que profundizamos en el arte milenario de la cocina.

CHEF es un lenguaje cuyos programas tienen la estructura de una receta de cocina. Los elementos básicos del lenguaje son los ingredientes, que tienen el rol de variables, y los recipientes (platos y cuencos), que actúan como estructuras de datos de tipo pila (aunque con algunas operaciones adicionales a las habituales en las mismas). Todo programa comienza con el nombre de la receta, y va seguido de la lista de ingredientes (declaración de variables, con posibilidad de indicar un valor inicial), y del método del preparación (cuerpo principal del algoritmo). Dentro de este último, disponemos de diferentes acciones para insertar/extraer ingredientes de los cuencos, o para alterar sus valores. Por ejemplo (traduzco las instrucciones del inglés):

  • Tomar <ingrediente> del refrigerador: lee un valor desde teclado, y lo almacena en ingrediente.
  • Poner <ingrediente> en el [n-ésimo] cuenco: introduce el valor del ingrediente en el tope de la pila indicada.
  • Añadir|Quitar <ingrediente> en el [n-ésimo] cuenco: suma|resta el valor del ingrediente al valor que haya en el tope de la pila indicada.
  • Combinar|Dividir <ingrediente> en el [n-ésimo] cuenco: multiplica|divide el valor del ingrediente al valor que haya en el tope de la pila indicada.
  • Vertir contenidos del [n-ésimo] cuenco en el [m-ésimo] plato: copia los elementos de una pila en otra.
  • Servir para k comensales: muestra en pantalla k valores, sacados en orden del primer plato, luego del segundo si hace falta, etc.

Además de estas operaciones básicas, existe una construcción iterativa general, que permite simular bucles de tipo whileendwhile. Concretamente, cuando nos encontramos una acción del tipo <verbo> <ingrediente> (donde el verbo puede ser cualquiera que no sea una de las palabras reservadas) comenzamos un bucle while condicionado a que el valor de ingrediente sea mayor que cero. El fin del bucle se marca con una acción del tipo <verbo> [<ingrediente>] hasta que esté <adjetivo>. Nuevamente, el verbo y el adjetivo (típicamente un participio) indicados son arbitrarios, y en caso de indicarse un ingrediente su valor se decrementa en uno antes de volver al comienzo del bucle.

Con estos elementos tenemos suficiente para confeccionar exquisitos programas, como el Suflé Hola Mundo (bueno como entrante), o el Fibonacci Al Dente (un segundo plato adecuado). Yo he optado por completar el menú con un postre casero que casa muy bien con lo anterior: Factorial con Fresas y Nata. He aquí la receta:

Factorial con Fresas y Nata.

Esta receta calcula el factorial del número que se le indique. Un postre perfecto que combina muy bien con Fibonacci al Dente, o con solomillo Ackermann.

Ingredientes.
1 kg fresas de Lepe
nata montada

Método.
Tomar nata montada del refrigerador.
Poner fresas de Lepe en el cuenco.
Agitar la nata montada.
Combinar nata montada en el cuenco.
Esparcir la nata montada hasta que esté homogénea.
Vertir contenido del cuenco en el plato.

Servir para un comensal.

Como puede apreciarse, el valor cuyo factorial queremos calcular se almacena en la nata montada. El bucle principal está entre “agitar la nata montada” (mientras su valor sea mayor que cero) y “esparcir la nata montada hasta …” (decrementar su valor y volver al comienzo del bucle). Este lenguaje nos abre infinitud de novedosos paradigmas de programación, como por ejemplo la programación mediterránea, una combinación estructurada de funciones de la huerta y variables de mar, regado con bucles de oliva y procedimientos tintos. La programación sigue siendo un delicioso arte. ¡Buen apetito!

Enviar a Blog Memes Enviar a del.icio.us Enviar a digg Enviar a fresqui Enviar a menéame

Posted in Geek, Programación | 8 Comments »

Rumiando programas: Programación bovina distribuida con COW y DDX

Posted by Carlos en enero 20, 2007

Friesian/Holstein cowHace unos días hablábamos del lenguaje Homespring, y de cómo permite que el programador se concentre en lo que realmente importa: las costumbres reproductivas del salmón. Claro que tan útil como esta metáfora de la programación pueda parecer, no es la única que se puede considerar. De hecho, hay ocasiones en las que es más conveniente pensar de otro modo a la hora de abordar un problema. Por ejemplo, podemos plantearnos: ¿cómo resolvería una vaca este problema? En ese caso, la forma natural de expresar la solución sería en el lenguaje COW.

COW es un lenguaje de programación orientado a bovinos. Ya sabemos que las vacas sólo entienden la palabra “moo” (o traducido al español, “muu”), por lo que todas las palabras claves del lenguaje son variaciones en mayúscula o minúscula de la misma. Esto nos facilita bastante las cosas a la hora de documentar los programas, ya que todo lo que no sea “moo” (en cualquiera de sus formas alternativas) se tomará por un comentario. Básicamente, COW es un lenguaje imperativo en el que tenemos acceso a una memoria (en principio ilimitada) indexada por posición. En todo momento hay un puntero interno que nos indica cuál es bloque de memoria actual, y disponemos de instrucciones para desplazar este puntero hacia adelante (moO) o hacia atrás (mOo). Por supuesto, podemos modificar el contenido de la dirección apuntada, decrementándolo en 1 (MOo), incrementándolo en 1 (MoO), o fijándolo a 0 (OOO). Hay también un registro interno del/al que podemos copiar el valor de un bloque de memoria mediante MMM. La entrada/salida se realiza mediante oom (para leer un valor y almacenarlo en el bloque de memoria actual) y OOM (para imprimir el valor del bloque de memoria actual).

Lo más interesante de COW son las instrucciones que hacen referencia al control del flujo de ejecución. Tenemos así a MOO y moo que son muy similares (pero no idénticas) a while y endwhile respectivamente (usando el valor del bloque actual de memoria como condición de control: 0 es FALSE, y diferente de 0 es TRUE). Moo es una lectura/escritura condicionada al valor del bloque de memoria actual (lectura si es 0, escritura en otro caso). Finalmente, mOO ejecuta el contenido del bloque de memoria actual como si fuera una instrucción (hay un código numérico para cada una). Es importante tener en cuenta que al igual que ocurría con Homespring, en COW se retira la carga de una sintaxis estricta de los hombros del programador, no situándola en ningún lugar en particular. Así, no tiene por qué haber un moo para todo MOO (ni viceversa). Más aún, la disponibilidad de mOO proporciona la flexibilidad de LISP a la hora de manipular programas como datos, abriendo la puerta por ejemplo a la definición dinámica de bucles.

Un programa “Hola Mundo” es perfectamente factible en COW (de hecho el lenguaje es Turing-completo), pero resulta un tanto enrevesado, ya que no podemos representar texto constante de manera explícita en el lenguaje. Mucho más simple y elegante es por ejemplo un programa para calcular la sucesión de Fibonacci:

MoO moO MoO mOo
[[ bucle principal ]]
MOO
[[ imprimir primer número ]]
OOM
[[ copia temporal del primer número ]]
MMM moO moO MMM mOo mOo
[[ almacenar el segundo número en la primera posición ]]
moO MMM mOo MMM
[[ retroceder al número temporal ]]
moO moO
[[ sumarlo al primer número y almacenarlo en el segundo ]]
MOO MOo mOo MoO moO moo
mOo mOo
moo

A pesar de su elegancia, esto que hemos visto es tan sólo la punta del iceberg de lo que podemos conseguir con este paradigma de programación. Ya sabemos que el sistema digestivo de una vaca es realmente complejo, e incluye varios estómagos. Sería absurdo no explotar este hardware, y para ello podemos emplear DDX (Distributed Digestion eXtensions). DDX permite manipular hasta siete bloques de memoria simultáneamente (los bóvidos sólo tienen cuatro estómagos, pero no dejemos que esto nos limite). Para ello, se incluyen operaciones para seleccionar el estómago por defecto, así como para realizar operaciones simultáneas en todos los estómagos (véase esta página para más detalles). Con estos cambios, el programa anterior quedaría como sigue:

[[ Iniciar los dos primeros estómagos con 1s y permanecer en el segundo ]]
MoO OOM MmM MoO OOM

[[ sumar, resetear el estómago previo, guardar en el siguiente estómago, e imprimir ]]
MOO mmm MMm OOO MmM MmM MMM OOM moo

Realmente fantástico. Y es que no hay nada como poder rumiar la solución a un problema.

Enviar a Blog Memes Enviar a del.icio.us Enviar a digg Enviar a fresqui Enviar a menéame

Posted in Geek, Programación | 1 Comment »

Albert Einstein, un muñeco articulado listo para la acción

Posted by Carlos en enero 8, 2007

Figura de acción de Albert Einstein
Nos lo cuenta Sabine en Backreaction: Albert Einstein ya tiene su figura de acción. Los chicos de ThinkGeek han tenido a bien comercializar esta figura totalmente articulada de uno de los más grandes super-héroes del siglo XX. La descripción que nos proporcionan es totalmente realista:

Vestido para una intensa acción en el aula, esta figura de acción de Albert Einstein posa de pie con un trozo de tiza en la mano, dispuesto a explicar la teoría de la relatividad, o a entrar en combate contra las fuerzas de la entropía. […] Es posible que no pudiera volar, respirar bajo el agua, o lanzar telarañas por la muñeca, pero te podía derretir la mente en un instante, con un simple intento de explicarte el Universo. ¡Eso es poder!

Realmente atrayente, aunque creo que esperaré hasta que saquen la figura de acción de Richard Feynman, con bongos incorporados.

Enva a Blog Memes Enva a del.icio.us Enva a digg Enva a fresqui Enva a menéame

Posted in Física, Geek, Nerd | 5 Comments »

Trífidos de Distracción Masiva

Posted by Carlos en noviembre 6, 2006

Es noticia de alcance la sentencia en el juicio contra Saddam por uno de los innumerables crímenes que orquestó, y cómo su suerte va a estar ligada a la teoría de cuerdas. Casualidades del destino, también son noticia estos días las armas de destrucción masiva que no sólo salen a la luz, sino que por fin lo hacen a un precio razonable. Aunque uno no pueda evitar pensar en el efecto disuasorio que para visitantes indeseados una lanzadera de misiles controlada por USB podría garantizar, no es menos cierto que su uso puede ir más allá de la legítima defensa, tal como se aprecia en este vídeo. La escalada bélica es inevitable, y quizás pronto lleguen los satélites ofensivos controlados por bluetooth.

Desktop Carnivorous Plant SetPersonalmente, me inclino por las armas biológicas, mucho más respetuosas con el medio ambiente. En este sentido, qué mejor que cultivar un trífido en la mesa de tu despacho. Lo ves crecer, te encariñas con él, y si algún insensato se desmanda, el pequeño Sarlacc sabrá cómo actuar. Y lo mejor de todo es que es fácil de mantener. Lo comido por lo servido.

Posted in Gadgets, Geek | 4 Comments »