Por @Alvy — 15 de Enero de 2018

Mechanical Computer

Charles Babbage y Alan Turing asentirían orgullosos y sonrientes ante este ingenioso «invento».

Se trata de una descripción de la forma mecánica de crear puertas lógicas utilizando únicamente placas y pernos articulados simples, del estilo de los que incluyen juegos de construcción como el Mecano. El trabajo puede leerse completo en inglés aquí: Mechanical Computing Systems Using Only Links and Rotary Joints [PDF] y describe cómo la base para crear puertas lógicas AND, NAND, NOR, NOT, OR, XNOR y XOR – y por extensión, dado que es un sistema Turing completo, cualquier dispositivo de computación imaginable. (Bonus: uno de los autores es Ralph Merkle, el inventor del hashing en criptografía.)

Naturalmente, el invento tiene un problema: es un concepto teórico y aunque se pueden crear puertas lógicas y conectarlas unas con otras a pequeña escala pronto la fricción y el rozamiento hacen imposible desplegarlo para crear una «computadora mecánica» que sirva para algo más que como demostración. Y es que por mucho que se minimice el efecto multiplicador a la hora de calcular calentaría las piezas por un lado y requeriría muchísima energía – por no hablar del peso, la complejidad de la máquina y que probablemente las piezas se rompieran antes.

Al menos, como decía alguien en Hacker News: «es una computadora que cuando no está calculando no consume energía», lo cual es un avance respecto a las computadoras electrónicas convencionales.

Mechanical Computer
El diseño de una puerta lógica para una computadora mecánica a nanoescala

Sin embargo, aun hay una aplicación interesante: la utilización del concepto en diseños de microfabricación o nanotecnología. Cuando el tamaño de las piezas es extremadamente pequeño y el rozamiento casi inexistente –a nivel molecular– sería posible que pudiera utilizarse la idea para algo práctico. Cuando menos, dicen los autores, «podrían competir al nivel de eficiencia con el de los ordenadores electrónicos convencionales.»

No está mal para unas cuantas «piezas de Mecano».

(Vía Boing Boing + Hacker News.)

Relacionado:

Compartir en Flipboard  Compartir en Facebook  Tuitear
Por @Alvy — 11 de Enero de 2018

ShuffleR
Las posiciones iniciales de los 52 naipes y cómo varían tras varias mezclas consecutivas / Stachyra

Encontré un código de simulación para la mezcla americana de una baraja de naipes (escrito en R) bastante sencillo de entender y junto al que hay una visualización interesante de lo que le sucede a la baraja a medida que se repite la mezcla varias veces.

Es importante entender que este algoritmo no es la mejor forma de mezclar una baraja aleatoriamente (para eso existen otras funciones) sino una forma de simular cómo lo hacemos los humanos.

En concreto se refiere a la mezcla americana o por hojeo que es esa en la que se divide el mazo en dos montones más o menos iguales y se van dejando caer naipes de uno u otro montón, alternándolos como buenamente se pueda para que se entremezclen. Al terminar se repite la operación varias veces. Para una baraja de 52 naipes se sabe desde hace mucho que matemáticamente bastan 6 o 7 mezclas «buenas» para lograr una aleatoriedad perfecta.

En la simulación el software realiza básicamente las mismas acciones: divide el mazo por la mitad y va intercalando cartas, generando el «nuevo mazo desordenado» según caen cartas de un lado u otro. Hay un parámetro llamado mixprob que determina si dos naipes se mezclan o no; la probabilidad inicial es de 0,985 y puede variar entre 0 y 1.

Cuando se rastrean las posiciones de los naipes tras finalizar la mezcla se ve cómo se trasladan respecto a la posición que originalmente ocupaban, hasta llegar a una mezcla irreconocible. Si el parámetro se ajusta a 1 la correlación se pierde más lentamente, si se ajusta a 0 desparece más rápido.

ShuffleR

En esta otra gráfica el autor (stachyra) ha plasmado el valor de la entropía o «desorden» que sufre la baraja a medida que aumenta el número de mezclas. Aquí también se ve cómo a partir de 7-8 mezclas el valor se estabiliza. Es importante observar que normalmente antes de comenzar con la primera mezcla tradicionalmente se suele cortar la baraja por cortesía (dividir el mazo por la mitad e intercambiar las posiciones) y esto hace variar bastante los valores arriba y abajo si no se tiene en cuenta.

DeckShuffles

También encontré esta otra visualización muy bella y colorida acerca del efecto de las mezclas en una baraja de naipes (hay zoom) donde se pueden apreciar las diferencias según los diferentes estilos de mezclas – que en este caso son siempre «mezclas perfectas».

Compartir en Flipboard  Compartir en Facebook  Tuitear
Por Nacho Palou — 5 de Enero de 2018

En Yanko Design, The keyboard of empowerment,

Durante el tiempo que estuvo trabajando en Silicon Valley, Roya Ramezani hizo una observación bastante interesante: si bien el desequilibrio de género era evidente eso además tenía efectos en la forma en que las mujeres trabajaban en aquel entorno dominado por los hombres. Roya notó que las mujeres a menudo no decían lo que pensaban o que lo hacían con moderación, haciendo uso de palabras que se percibían como vacilantes.

El teclado diseñado por Roya Ramezani tiene como objetivo “empoderar a las mujeres a través del texto”. Además de su peculiar aspecto, basado en la Hansen Writing Ball, la máquina de escribir construida por Thomas Hansen hacia 1870, el teclado cuenta con un grupo de teclas de color naranja que permite incorporar palabras que hacen que los textos suenen seguros y asertivos: “el teclado analiza el texto tecleado y sugiere el uso de palabras alternativas más poderosas como ‘creo’, ‘reclamo’, ‘insisto’ o ‘discrepo’ con sólo presionar un botón.”

Al margen de cualquier consideración creo ese diseño de teclado a lo Hellraiser (1987) es maravilloso.

Compartir en Flipboard  Compartir en Facebook  Tuitear
Por @Alvy — 3 de Enero de 2018

Intel 7

Vuelve el fantasma del «bug del Pentium» podría titularse esta historia. Los detalles son técnicamente un poco complicados (más info abajo), pero baste decir que es un SNAFU total para el comienzo de año de Intel: todos los procesadores que ha estado vendiendo en la última década tenían un fallo de seguridad debido a su diseño. A causa de este fallo, el software malicioso podía aprovecharse de ello para acceder a contraseñas y otra información protegida del sistema operativo.

Según cuentan varios medios el fallo afecta a todos los procesadores Intel x86‑64 y solucionarlo requiere «replantear» algunas cosas en los kernels del sistema operativo (básicamente la forma en que se guarda y accede a la memoria protegida del kernel). De modo que están afectados tanto Windows como Linux como macOS.

Pero con ese arreglo (llamado KPTI) llegará también «el tío Paco con las rebajas» lo que se traducirá en una disminución del rendimiento de los equipos entre un 5 y un 30%, según han calculado los expertos.

En otras palabras: dentro de poco habrá disponibles parches para todos los sistemas operativos que vendrán a significar: «si no instalas esto, tienes un grave problema de seguridad; si lo instalas, tu equipo irá hasta un 30% más lento». A unos usuarios afectará más que a otros y ahora mismo se están haciendo pruebas y publicando datos para ver cuál es el tipo de aplicaciones que más sufrirán las consecuencias.

Se puede leer más al respecto en The Register, ‘Kernel memory leaking’ Intel processor design flaw forces Linux, Windows redesign; Gizmodo, All Intel Processors Made in the Last Decade Might Have a Massive Security Flaw y Apple Insider, Intel chip kernel flaw requires OS-level fix that could impact macOS performance.

Good News: las buenas noticias se las llevan los usuarios de procesadores AMD, a quienes no afecta este fallo. [Actualización: esto no está claro del todo y puede que sí, puede que no o en parte… Según está surgiendo información la cosa cambia.]

Actualización (4 de enero de 2018) – Los nombres de las vulnerabilidades son Meltdown y Spectre. Aquí la información oficial de Intel: Intel Responds to Security Research Findings (en español: Intel responde a los resultados de unos estudios sobre seguridad); aquí la de AMD: An Update on AMD Processor Security. Aquí otros explicando su punto de vista; Google: Reading privileged memory with a side-channel; Mozilla: Mitigations landing for new class of timing attack. Y aquí un estupendo hilo de Sergio López explicando todo el tema Spectre y Meltdown.

Compartir en Flipboard  Compartir en Facebook  Tuitear