Por @Alvy — 22 de Septiembre de 2022

Esta genialidad de Sammyuri y un par de amigos es difícil de describir, pero básicamente se puede entender como un Minecraft 3D corriendo dentro de Minecraft sin mods ni similares. El gigantesco proyecto es un intrincado montaje de construcción de una especie de CPU-motor-de-juegos-3D con diversas ideas y módulos mediante artesanía, fundición, construcción, cofres, 32 materiales diferentes y trucos diversos. Añades luego el código de Minecraft y… ¡listo! Minecraft corriendo dentro de Minecraft.

El resultado no es tan versátil como el original, claro. Es básicamente un mini-mundo de 8×8×8 bloques que se ve en una pantalla monocromo dentro del propio juego. En realidad va a velocidad de tortuga, pero está acelerado ×20.000 veces con MNCPRS para poder grabar algo decente que no aburra a las ovejas, en este caso 0,1 fotogramas por segundo. Algunas de las secuencias en time-lapse del vídeo requirieron 9 horas de ejecución allá fuera, en el MundoReal™.

Los tres amigos programadores han dedicado 7 meses de trabajo a esta ímproba tarea, cuyo principal logro es el procesador «interno» dentro del juego, llamado CHUNGUS (guiño, guiño) que corre a 1 Hz, tiene 256 bytes de memoria RAM, 4 KB de memoria ROM (en otro sitio dice 8 KB) y 6 KB de memoria gráfica. Se maneja con un «mando» 3D del estilo del de la PS2. Las opciones del juego y el escenario están muy simplificadas, pero es un Minecraft, al fin y al cabo.

La gente lo está calificado como el mayor logro en la historia de Minecraft, el equivalente a construir un ordenador con puertas lógicas a partir de palos y piedras prácticamente: un cruce perfecto entre obra de arte y logro técnico.

Relacionado:

Compartir en Flipboard Tuitear
Por @Wicho — 20 de Septiembre de 2022

Un disco curo abierto en el que se ve como el cabezal de lectura ha caído sobre uno de los platos y lo ha dejado marcado
Un disco duro que tuvo mejores días – CC BY-SA 2.0 ES por Barney Livingston

Periódicamente recuerdo a quien me lee la importancia de hacer copias de seguridad y aquello de que sólo hay dos tipos de personas que usan ordenadores, móviles, tablets o similares: aquellas que ya han perdido datos y aquellas que van a perder datos. Siempre recomiendo copias locales en distintos soportes. Pero inevitablemente alguien me contesta siempre que lo tiene en la nube. Y eso dispara todas mis alarmas porque muchas veces en realidad eso no es una copia de seguridad. Y porque sin comerlo ni beberlo te puedes quedar sin acceso a ella.

Del artículo titulado «Google me cerró la cuenta por ‘contenido sexual’. Pero siguen sin aclararme cuál y he perdido todo» de El País:

«Lo tengo todo ahí de los últimos 14 años, y desde hace cinco, solo lo tengo ahí». La pérdida de la cuenta de Google no solo implica la desaparición de fotos y vídeos. Barberá ha perdido también sus clases, un blog que llevaba y su cuenta de YouTube. También los servicios que había contratado con su correo, desde Amazon a Netflix, pasando por una aplicación musical alemana.
Su cliente está desesperado porque ha perdido datos de su vida privada pero también laboral: «Su máster del IESE, los impuestos, las fotos de los nacimientos de hijos y bases de datos del trabajo».

Lo mismo que a Barberá le sucedió a Óscar Aranda Sánchez cuando Google cerró su cuenta. Y no fue bonito.

Estos tres casos pueden ser una anomalía estadística dentro de los miles de millones de personas que usan esos servicios. Pero para las personas afectadas no es una anomalía estadística. Son sus datos, a menudo irrecuperables. Y es que, y es algo que pasa muy a menudo, la copia que tenían en la nube era la única copia que tenían. Que entonces deja de ser una copia de seguridad.

Que sí, están muy protegidos contra casi cualquier fallo y cataclismo imaginable y puedo entender que estas personas creyeran que así se aseguraban la salud de sus datos sin tener que preocuparse… pero no estaban protegidos contra la arbitrariedad (o no) de los términos de uso que nunca nos leemos y de las personas que los han de interpretar. Suponiendo que lo haga una persona y no un algoritmo, en cuyo caso es todo mucho peor.

Así que déjame que insista una vez más con la regla del 3-2-1: al menos tres copias de tus datos en al menos dos soportes distintos y al menos una de las copias en un lugar remoto. Y no te olvides de mantenerlas actualizadas. Y de comprobar que las copias sirven para recuperar datos si fuera necesario. Que a veces esas cosas también fallan.

Compartir en Flipboard Tuitear
Por @Alvy — 17 de Septiembre de 2022

The Lost Ways of Programming: Commodore 64 BASIC

Momento retro para apreciar cómo era la programación cotidiana en el BASIC del C-64 de Commodore, con una explicación moderna y con ejemplos de Tomas Petricek acerca cómo era la experiencia de interactuación con un ordenador allá por los años 80.

Para un programador moderno, es sorprendente lo poco que se necesita para pasar de arrancar la máquina a imprimir «hola mundo». No sólo se arranca directamente en el entorno de programación, sino que tampoco es necesario escribir ninguna clase, métodos estáticos ni compilar el programa.

The Lost Ways of Programming: Commodore 64 BASIC, con explicaciones, simulador en la misma página y posibilidad de cargar (LOAD) y ejecutar (RUN) todo el código que se muestra.

PRINT CHR$(147);

10 K$=""

20 GET$ K$

30 IF K$="" THEN GOTO 20

40 PRINT ASC(K$)

50 STOP

¡Ah! Los tiempos de los GET$, PRINT, CHR$, PEEK y POKE. ¡Cuantas mentes habrán dañado! (Pero… ¿Y lo bien que nos lo pasábamos y lo que aprendíamos?)

Relacionado:

Compartir en Flipboard Tuitear
Por @Alvy — 11 de Septiembre de 2022

1110011: Moon

El otro día me invitaron unos amigos a jugar a Moon (1110011), un juego de tablero en el que hay que manejar el rudimentario ordenador de una misión a la Luna y manipular con instrucciones lógicas y operadores los diversos registros para resolver problemas, evitar errores y bugs y aterrizar a tiempo. El título binario se lee gráficamente como Moon, un precioso detalle de diseño.

Aunque el juego tiene muchos niveles y variantes pueden jugar de 1 a 4 personas; nosotros éramos tres y jugábamos en cooperativo. La zona principal son cuatro registros de una CPU de 4 bits (aunque se pueden ampliar en misiones más complicadas). Para manipular los bits hay tarjetas con operaciones lógicas: AND, OR, XOR, NOT, NAND… y otras que mueven bits o registros: INC (+1), DEC (-1), ADD (sumar), MOV (mover/copiar), etcétera. En cada turno aparece una tarjeta con una secuencia de bits (por ejemplo 1001) y hay que usar las operaciones disponibles en 4 registros para obtener el resultado. Lo complicado es que cada operación requiere un poco de energía: 0,5 unidades, 1, 1,5 o 2; y la energía disponible es limitada (quizá de 2 o 3 unidades, según la misión) así que hay que optimizar y planificar o irá transcurriendo el tiempo con cada turno, acumulándose nuevos problemas. Muy a lo Apolo 13.

A medida que el juego avanza pueden aparecer errores que bloquean ciertas instrucciones, borran bits o inutilizan registros, para complicar la cosa. En la versión multijugador creo que se usa una RAM «personal» pero con registros comunes, de modo que las operaciones de todos afectan a todos y se pueden guardar menos datos. El juego se puede complicar con más bits, operaciones, tarjetas de error, hackeos y otras cosas interesantes.

Si consigues acabar el mazo de cartas antes de que el ordenador se bloquee porque no has podido resolver uno de los problemas, ¡felicidades! La nave habrá aterrizado. De lo contrario se habrá pegado un buen castañazo. Nosotros conseguimos aterrizar un par de veces y en el modo difícil, con menos energía, estrellarnos otras dos, incluso llegando a una configuración que nos parecía «irresoluble» (igual es que hicimos algo mal; a saber).

Me pareció un juego sumamente interesante porque enseña cómo exprimir los recursos disponibles para optimizar la más rudimentaria programación, casi como programar un ordenador soldando cables y conectando puertas lógicas. Se puede ver algo más sobre la mecánica del juego en este vídeo: Moon: Guía / Cómo jugar.

Moon es una creación de Pablo Garaizar, de la Universidad de Deusto, que existe como juego de mesa físico (encontré una versión en Dracotienda), como «print & play» (te imprimes las tarjetas, instrucciones y juegas; incluso en versión barata de bajo consumo de tinta) o como juego online: MoonGame; ojo con los avisos de seguridad, que aunque funciona debe ser que el código no está del todo actualizado.) Según parece pasó fulgurantemente por Kickstarter donde consiguió la financiación en 10 horas, allá por 2019, así que parece que el tema interesó a mucha gente.

Relacionado:

Compartir en Flipboard Tuitear

Desarrolla más rápido con Xojo