Por @Alvy — 19 de Enero de 2020

Una icónica escena de Wargames (John Badham, 1983) nos mostraba un display alfanumérico del superordenador W.O.P.R. (War Operative Plan Response) utilizando la fuerza bruta para adivinar los códigos de lanzamiento de los misiles termonucleares del arsenal de los Estados Unidos. Seamos sinceros: ¿quién no ha querido tener uno de esos en casa?

Ahora un geek de la electrónica llamado Seon enseña en su canal de YouTube Unexpected Maker cómo es la construcción de una réplica de ese display alfanumérico con un par de controladores, visualizadores de 14 segmentos (12 en total) y un par de pulsadores. Sencillo y elegante a la vez, aunque hay que fabricar algunos componentes y usar unas placas de desarrollo especiales llamadas TinyPICO (los 14seg son de Adafruit).

El display tiene varios modos de funcionamiento: aleatorio, mensaje, reloj y película. En el modo «película» el autor se ha tomado la molestia de hacer que los códigos sean exactamente los mismos que en el largometraje ochentero. Curiosamente al revisarlo se percató de que se mostraban dos códigos distintos (!) Con los otros modos se puede mostrar un mensaje determinado o simplemente que haga de reloj, algo más útil pero menos espectacular.

Un buen bonus del vídeo es el truco que usa para mostrar adecuadamente las imágenes del display: como vibran a una frecuencia que suele producir efectos raros al grabarlo en vídeo emplea un filtro polarizador (creo que es) para evitarlo; problema resuelto, vídeo digno.

Por cierto, como dato útil: si alguna vez te ves en la situación de tener que detener un lanzamiento de misiles termonucleares, no utilices la fuerza bruta. Es demasiado lento. El código es, muy probablemente, 00000000.

(Vía Hackaday.)

Relacionado:

Compartir en Flipboard Compartir en Facebook Tuitear
Por @Alvy — 18 de Enero de 2020

int x; // we want to find the minimum of x and y
int y;
int r; // the result goes here

r = y ^ ((x ^ y) & -(x < y)); // min(x, y)

En la página Bit Twiddling Hacks hay una estupenda, antigua y esotérica recopilación de operaciones a nivel de bits para llevar a cabo todo tipo de funciones con valores numéricos de forma conveniente.

Quien dice «conveniente» dice «de forma óptima» porque por lo general estas opciones requieren menos pasos y son más rápidas, o evitan ciertas operaciones de los procesadores (como las bifurcaciones) que pueden añadir ciclos y resultar más lentas. Entre otros hay trucos para calcular rápidamente si un valor es potencia de 2, calcular la paridad o intercambiar dos valores.

Los trucos consisten en mover bits, utilizar operaciones como AND, NOT, OR y XOR, cálculos aritméticos e incluso realizar cambios de tipos (enteros con signo, sin signo o números de coma flotante) dependiendo de lo que haga falta. La notación que se utiliza es la del lenguaje C.

A modo de ejemplo, con el código que encabeza esta anotación se puede obtener el número más bajo de dos posibles valores (x e y) sin utilizar una bifurcación.

Aunque la página es muy antigua parece que el autor acepta colaboraciones y también que le avisen de los bugs si los hubiera. Eso sí, también recuerda a quien vaya a usarlo que al ser un código rarito y en ocasiones difícil de entender no se hace responsable de nada. De hecho o se documenta bien con comentarios o si otra persona tiene que leer el código para entender qué hace puede ser toda una aventura.

(Vía Hack-a-day.)

Relacionado:

Compartir en Flipboard Compartir en Facebook Tuitear
Por @Alvy — 23 de Diciembre de 2019

Daniel West ha desarrollado esta máquina de Lego capaz de ordenar piezas de Lego. La llama «Máquina Universal» porque puede clasificar unas 3.000 piezas diferentes mediante técnicas de visión e inteligencia artificial, como hacen las máquinas de muchas fábricas y almacenes. El resultado son 18 cajones en los que acaban los diferentes tipos de piezas, para lo que necesita unos 2 segundos por pieza.

La máquina en sí está construida con más de 10.000 piezas de Lego e incluye 6 motores y 9 servos; está inspirada por un par de máquinas parecidas que se dieron a conocer en 2011 y 2017. Utiliza una cinta transportadora principal que se mueve muy lentamente, una rampa vibratoria para separar las piezas y una caja que hace de escáner que es donde está la cámara. Una vez decidido dónde va cada pieza un distribuidor transporta cada pieza a su cajón definitivo.

Esta máquina es «Universal» en el sentido de que puede reconocer cualquier pieza de Lego que se haya fabricado y esté en los catálogos oficiales. El secreto está en que utiliza una red neuronal convolucional entrenada con imágenes 3D realistas de esas mismas piezas (no con piezas reales). Pero como los modelos 3D son tan parecidos a las piezas Lego de verdad, como truco es estupendo. Esto lo hace una cámara que envía las imágenes a una Raspberry Pi conectada de forma inalámbrica con otro ordenador más potente; como software libre West usó TensorFlow, Blender y la base de datos de Rebrickable.

Relacionado:

Compartir en Flipboard Compartir en Facebook Tuitear
Por @Alvy — 12 de Agosto de 2019

Marcin Jakubowski estudió física pero decidió dedicarse a asuntos más mundanos y prácticos. Comprobó lo increíblemente dura que es la vida del granjero y hace unos años decidió aplicar sus conocimientos para crear un grupo llamado Open Source Ecology para diseñar y documentar las máquinas que sirven para trabajar la tierra, básicamente maquinaria agrícola.

Ese kit para iniciar una civilización (también traducido al castellano) del que habla en su charla TED es básicamente un wiki en el que se documentan todos los proyectos. En la práctica podría grabarse en un pendrive o un CD y servir para arrancar una civilización desde la nada, un concepto más que interesante.

kit para iniciar una civilización

De momento han construido 8 de las 50 máquinas; del resto hay planos esquemas y algún que otro prototipo. Construir algunas de estas máquinas es entre 5 y 10 veces más barato que comprarlas en la tienda. También dan cursos, organizan talleres y campamentos STEM para quien quiere asistir.

Entre otros se incluyen máquinas para plantar árboles, fabricar ladrillos, tractores y muchas más que permiten trabajar la tierra y convivir con plantas y animales. Luego hay otras más avanzadas como impresoras 3D, camiones o cortadoras láser. El proyecto, que arrancó en 2011 bajo el nombre Kit de Construcción de una Aldea Global pasó también por Kickstarter buscando financiación colectiva.

Todo el proyecto se publica con una licencia libre, de modo que es hardware libre con sus diseños 3D, planos, vídeos, presupuestos y manuales. Los aparatos son modulares y con muchas piezas intercambiables, se pueden reparar fácilmente y –al menos sobre el papel– tienen la funcionalidad, capacidad y eficiencia de sus equivalentes comerciales. Es todo de baja tecnología

Relacionado:

Compartir en Flipboard Compartir en Facebook Tuitear