Reacción-difusión: cómo dos sustancias imaginarias dibujan manchas, rayas y laberintos, con animación

Figura de reacción-difusión generada por el algoritmo: un laberinto azul que se deshace en manchas hacia la izquierda, junto al título del artículo

¿Cómo sabe la piel de un leopardo dónde poner cada mancha, o la de una cebra dónde va cada raya? En 1952, Alan Turing propuso una respuesta sorprendente: no hace falta ningún plano. Bastan dos sustancias que reaccionan entre sí y se difunden a distinta velocidad para que, a partir de una mezcla casi uniforme, aparezcan solas manchas, rayas y laberintos. Es la reacción-difusión, y aquí puedes verla en marcha y jugar con ella.

Una idea de Turing

Turing es conocido sobre todo por sus trabajos sobre la computación y por descifrar códigos en la Segunda Guerra Mundial, pero uno de sus últimos artículos, The Chemical Basis of Morphogenesis (1952), trataba de biología: de cómo un embrión, que empieza siendo una bola de células casi iguales, desarrolla formas y dibujos. Su idea era que unas sustancias químicas, a las que llamó morfógenos, podían organizarse solas en patrones si se cumplían dos condiciones: que una de ellas se fabricara a sí misma (que fuera autocatalítica) y que las dos se extendieran por el tejido a velocidades distintas.

Durante décadas fue una curiosidad teórica. En 1990, un equipo francés de Burdeos consiguió por primera vez manchas de Turing en un laboratorio, con una reacción química en un gel. Y en 1995, Shigeru Kondo y Rihito Asai mostraron en Nature que las rayas del pez ángel emperador se mueven y se reorganizan a medida que el pez crece, justo como predice el modelo. Hoy se estudia su papel en las rayas del pez cebra, en el reparto de los folículos del pelo y en las huellas dactilares.

Las reglas del juego

El modelo más usado para verlo en un ordenador es el de Gray-Scott, de los químicos Peter Gray y Stephen Scott. Imagina un tablero en el que cada casilla tiene una cantidad de dos sustancias, U y V, y en cada paso pasan cuatro cosas:

Alimentación (F)Entra U nueva sin parar, másdeprisa donde queda poca.FUUUUReacciónDonde hay V, se come a U yla convierte en más V.U+VVVVVU + 2V → 3VRetirada (k)V se va eliminando poco apoco, al ritmo k + F.VVVVkDifusiónLas dos se reparten hacia lascasillas vecinas; U, el doble de rápido.UV
Las cuatro piezas del modelo de Gray-Scott. U, en azul claro, es el alimento; V, en azul marino, se reproduce comiéndose a U. Esquema: decodigo.com.

Lo importante es el equilibrio entre ellas. V se multiplica allí donde ya hay V (la reacción), pero gasta U, y U llega desde las casillas vecinas más deprisa de lo que V se extiende. Así, una mancha de V crece, agota la U que tiene alrededor y deja un anillo hambriento en el que ninguna otra mancha puede crecer. Ese «yo crezco aquí, tú no puedes crecer al lado» es lo que reparte las manchas a distancias regulares. Todo depende de dos números: F, lo rápido que entra U nueva, y k, lo rápido que se elimina V. Pequeños cambios en ellos dan figuras muy distintas.

Pruébalo

La animación simula el modelo en un tablero de 240 por 160 casillas, cerrado sobre sí mismo: lo que sale por un borde entra por el contrario. Cuanto más oscuro, más V hay. Empieza con unas gotas de V repartidas; elige una receta para ver cada tipo de figura, o toca el tablero para añadir gotas (con el ratón también puedes arrastrar). Los deslizadores cambian F y k sobre la marcha, y puedes ver cómo una figura se transforma en otra. Si te pierdes, «Empezar de nuevo» vuelve a la receta.

Receta:
Velocidad:

0 pasos

Un mapa de figuras

En 1993, John Pearson publicó en Science el artículo Complex Patterns in a Simple System, en el que recorrió con un ordenador cientos de combinaciones de F y k y clasificó las figuras que aparecían. Su hallazgo más llamativo fueron las manchas que se dividen como células: crecen hasta un tamaño crítico, se estiran y se parten en dos, una y otra vez. Estas son las recetas de la animación:

RecetaFkQué se ve
Manchas0.03670.0649Manchas que se dividen hasta llenar el tablero, como un cultivo de células
Laberinto0.0290.057Rayas que se ramifican, como una cebra o una huella dactilar
Coral0.05450.062Rayas gruesas que crecen por las puntas
Agujeros0.0390.058El negativo de las manchas: huecos redondos en un fondo de V
Gusanos0.0780.061Tiras y anillos sueltos que crecen despacio

Fuera de una franja estrecha de valores no pasa nada interesante: V desaparece o lo invade todo. Las figuras viven justo en la frontera entre esos dos extremos.

Reacción-difusión en Python

Con numpy, el modelo cabe en unas pocas líneas: np.roll desplaza el tablero entero una casilla para sumar las vecinas de todas las casillas a la vez. El programa empieza con una sola mancha en el centro, con los valores de la receta de las manchas, y cada 3,000 pasos cuenta cuántas hay:

import numpy as np

N = 100                     # tablero de 100 × 100 casillas, cerrado sobre sí mismo
F, K = 0.0367, 0.0649       # alimentación y retirada: la zona de las manchas que se dividen
DU, DV = 1.0, 0.5           # V se difunde a la mitad de velocidad que U


def laplaciano(Z):
    """Cuánto se diferencia cada casilla de la media de sus vecinas (lados 0.2, diagonales 0.05)."""
    lados = np.roll(Z, 1, 0) + np.roll(Z, -1, 0) + np.roll(Z, 1, 1) + np.roll(Z, -1, 1)
    diagonales = sum(np.roll(np.roll(Z, a, 0), b, 1) for a in (1, -1) for b in (1, -1))
    return 0.2 * lados + 0.05 * diagonales - Z


def manchas(V):
    """Cuenta las manchas: grupos de casillas con V > 0.2 que se tocan por un lado."""
    dentro, vistas, n = V > 0.2, np.zeros_like(V, dtype=bool), 0
    for y, x in zip(*np.nonzero(dentro)):
        if vistas[y, x]:
            continue
        n += 1
        pila = [(y, x)]
        vistas[y, x] = True
        while pila:
            cy, cx = pila.pop()
            for dy, dx in ((1, 0), (-1, 0), (0, 1), (0, -1)):
                ny, nx = (cy + dy) % N, (cx + dx) % N
                if dentro[ny, nx] and not vistas[ny, nx]:
                    vistas[ny, nx] = True
                    pila.append((ny, nx))
    return n


U = np.ones((N, N))         # todo lleno de U...
V = np.zeros((N, N))        # ...y nada de V, salvo una mancha cuadrada en el centro
U[45:55, 45:55], V[45:55, 45:55] = 0.5, 0.25

for paso in range(1, 30001):
    uvv = U * V * V                              # la reacción: U + 2V → 3V
    U += DU * laplaciano(U) - uvv + F * (1 - U)  # entra U nueva
    V += DV * laplaciano(V) + uvv - (K + F) * V  # sale V
    if paso % 3000 == 0:
        print(f"Paso {paso:>6}: {manchas(V):>3} manchas")

# Dibujo: más oscuro cuanto más V hay; cada carácter es un bloque de 2 × 4 casillas
for fila in range(0, N, 4):
    print("".join(" .:-=+*#%@"[min(9, int(V[fila:fila + 4, col:col + 2].mean() / 0.035))] for col in range(0, N, 2)))
salidaPaso   3000:   1 manchas
Paso   6000:   1 manchas
Paso   9000:   1 manchas
Paso  12000:   4 manchas
Paso  15000:  20 manchas
Paso  18000:  32 manchas
Paso  21000:  32 manchas
Paso  24000:  32 manchas
Paso  27000:  32 manchas
Paso  30000:  32 manchas
   .:..   :--:.      ..:.    .=**+:       :*%@#=. 
         -#@@%=.    :*@@%=.  -%@@@=.      -%@@@+. 
.-+*=:   :*@@%=.    :*@@@+.  .=**=.   .   .:==-.  
-#@@@+.   .::.       .:-:.         .=#%*-         
.=#%*-.         :+**-.     ....    -%@@@=.        
  ..    :+*=:  .+@@@#:   .=#@%*:   .-++-.  :+##+: 
       :*@@@*:  :=*+-.   .+@@@%-          .=@@@%- 
 .:::. .-*#*=.            .-==:    .:-:.   .=**-. 
:*@@%+.           .=**=.          :*@@@*:         
:+@@@+.    ...   .=@@@%=.  .:::.  .+%@%+.    ..   
 .:-:.   .+%@#=.  :=**=.  :*@@@+.   .:..  .-#%#=. 
         :#@@@+.          :*@@@+.         :*@@@#: 
  :=+=:   :-=-.   .:::.    .:::.   .-=-:   :=+=:  
 :#@@@*:         .+@@@*:          .+@@@#:         
 .=#%#-.  ..:.   .+@@@*:  .=**=:  .=#@%+.   .:-:. 
   ..    .+%@%+.  .:::.  .=%@@@=.   ...    .+@@@+:
         :*@@@*:          .=**=.           .+%@@*:
 .-**=.   .:-:.    :==-.            .=*#*-. .:::. 
 -%@@@=.          -%@@@+.   .-+*=:  :*@@@*:       
 :+##+:  .-++-.   :*%@#=.   :#@@@+.  :=*+:    ..  
        .=@@@%-    ....     .-**+:         .-*%#=.
         -*%#=.         .:-:.       .::.   .+@@@#-
  .-==:.   .   .=**=.  .+@@@*:    .=%@@*:   :=*+-.
 .+@@@%-      .=@@@%-  .=%@@*:    .=%@@#-         
 .=#@%*:       :+**=.    .:..      .:--:   ..:.   

Durante los primeros 9,000 pasos solo hay una mancha, que crece y cambia de forma. A los 12,000 pasos ya hay cuatro, a los 15,000 hay 20 y a los 18,000, 32. Ahí el tablero está lleno: cada mancha tiene a su alrededor el espacio justo para no estorbar a las demás, y la cuenta ya no cambia. El dibujo final muestra lo que más llama la atención del modelo: las manchas no están puestas al azar, sino a distancias casi iguales, aunque nadie les ha dicho dónde ponerse. Como el estado inicial es siempre el mismo, la salida es idéntica en cada ejecución.

Por qué fascina

Como el juego de la vida o la hormiga de Langton, la reacción-difusión muestra cómo reglas locales muy simples producen orden a gran escala. Pero aquí hay algo más: no es solo un juego matemático, sino una de las explicaciones que usa la biología para entender cómo se forman los dibujos de los seres vivos. Por eso también se usa en informática gráfica para generar texturas naturales, como pieles, cortezas o corales. Y tiene su ironía: el artículo con el que Turing abrió este campo se publicó dos años antes de su muerte, y tardó casi cuarenta en confirmarse en un laboratorio.

Fuentes: A. M. Turing, «The Chemical Basis of Morphogenesis», Philosophical Transactions of the Royal Society B (1952); J. E. Pearson, «Complex Patterns in a Simple System», Science 261 (1993), también en arXiv; V. Castets, E. Dulos, J. Boissonade y P. De Kepper, Physical Review Letters 64 (1990); S. Kondo y R. Asai, «A reaction-diffusion wave on the skin of the marine angelfish Pomacanthus», Nature 376 (1995); el tutorial de Karl Sims, cuyo esquema de cálculo usan la animación y el programa. El programa se ejecutó con Python 3.13 y numpy 2.5.4. La animación y las imágenes, incluida la portada, las genera el propio algoritmo: decodigo.com.

Qué programas se han abierto ya con REA: de la calculadora de Windows a QuickBooks, CapCut y el mando del Apple TV

Panel de terminal con la lista de programas analizados con REA, marcados como casos oficiales o de la comunidad, junto al título de la noticia

Hace una semana contamos qué es REA, la herramienta de código abierto que conecta agentes de IA como Claude Code o Codex con desensambladores como Ghidra, IDA o Hopper para estudiar programas de los que no se tiene el código fuente. Desde entonces ha triplicado su popularidad: ya pasa de 300,000 estrellas en GitHub. Repasamos qué programas se han analizado con ella, qué se ha descubierto y qué polémicas han empezado a aparecer.

Para entenderlo, conviene separar dos tipos de casos. Los de la web oficial, rea.tools, son demostraciones del propio proyecto, con las pruebas publicadas en su repositorio. Los de la comunidad son proyectos de terceros que dicen haber usado REA: los hemos comprobado en sus repositorios, pero lo que cuentan no está verificado por nadie más, y casi todos son proyectos pequeños, creados en los últimos días. Nuestra guía práctica de REA explica cómo instalarlo y probarlo.

Los casos oficiales

  • Aegis Authenticator. En la versión 3.4.3 de esta aplicación de Android para la verificación en dos pasos, REA encontró la función que genera los códigos de acceso y confirmó que sigue el estándar TOTP: un código de 6 dígitos que cambia cada 30 segundos, calculado con HMAC-SHA1. Después rastreó desde dónde se llama y lo reprodujo en una demostración.
  • La calculadora de Windows 11. ¿Por qué 200 + 10 % da 220, y 200 × 10 % da 20? REA localizó en el programa la rama del porcentaje: cuando la operación anterior es una multiplicación o una división, el porcentaje se calcula sobre 100; con una suma o una resta, sobre el número anterior. El resultado se contrastó con el código de la calculadora que Microsoft publicó como software libre. La propia ficha reconoce que una persona ayudó a elegir qué función mirar.
  • Un reto de seguridad. En un problema de la competición DownUnderCTF 2023, un programa sin símbolos que comprueba una contraseña, REA extrajo las 26 condiciones sobre una cuadrícula de 6 por 6 que debía cumplir la respuesta, planteó el sistema de ecuaciones y obtuvo la clave que hace que el programa responda «Correct!».
  • Los tres que ya contamos. El juego DX-Ball de 1996, la aplicación de escritorio de Notion y el Touhou 4 para PC-98.

Lo que ha hecho la comunidad

En los últimos días han aparecido varios proyectos que usan REA para estudiar programas comerciales conocidos y crear después una versión propia, sin copiar su código:

  • QuickBooks para Mac. El proyecto ledger-reborn estudió con REA el programa de contabilidad de Intuit y, a partir de ahí, escribió una aplicación de contabilidad propia, de código abierto. Es una versión preliminar, no hace todo lo que QuickBooks y aclara que no tiene relación con Intuit.
  • CapCut. ReaCut es un editor de vídeo de código abierto, hecho con Electron y FFmpeg, para el que se usó REA para entender la interfaz y el formato de los proyectos del popular editor de ByteDance. Asegura que no copia código ni recursos de CapCut.
  • El mando del Apple TV. Con REA y Ghidra, el proyecto remote-me desentrañó el mando a distancia que Apple integra en el iPhone para hacer un mando web que funciona desde cualquier navegador, también con televisores LG.
  • Ultima VI. Un equipo descompiló con REA la versión para Amiga de este clásico de rol de 1990 y llevó el motor a Rust y al navegador. Para jugar hay que aportar los archivos originales del juego.

Hay más ejemplos recogidos en la lista awesome-rea, desde el protocolo de una impresora térmica hasta un clon de Obsidian. Lo que no hemos encontrado es ningún fallo de seguridad atribuido a REA: ni vulnerabilidades con número CVE, ni avisos de fabricantes, ni recompensas por fallos. Por ahora se usa más para entender y reimplementar programas que para buscar agujeros.

Las primeras polémicas

El caso más visible es el de GensokyoClub, un grupo de aficionados que reconstruye a mano el código de los juegos de Touhou. En su proyecto de Touhou 8 anuncia que trabajará en privado hasta terminar, por culpa de los «aprovechados» que publican descompilaciones y versiones hechas con IA a partir de su trabajo. En el propio repositorio de REA hay debates abiertos sobre el riesgo de infringir derechos de autor si el agente llega a ver el código original de un programa, y sobre la posibilidad de que los proveedores de IA cierren cuentas a quien analice software propietario o intente saltarse protecciones anticopia. Además, el proyecto advierte de que circulan copias con nombres parecidos: las únicas fuentes oficiales son su repositorio en GitHub, rea.tools y el paquete rea-agents de npm.

Por qué importa

Las primeras semanas de REA muestran qué pasa cuando la ingeniería inversa deja de ser cosa de especialistas: aparecen en días versiones independientes de programas comerciales como QuickBooks o CapCut, y juegos antiguos que vuelven a funcionar en el navegador. Es útil para conservar software, entender formatos cerrados y aprender cómo están hechos los programas. Pero también reabre un debate legal sin resolver. La ingeniería inversa para lograr compatibilidad está permitida en muchos países, pero muchos programas la prohíben en sus condiciones de uso, y reimplementar una aplicación ajena con ayuda de una IA que ha leído su binario está en una zona gris. De momento, ninguna de las empresas afectadas ha reaccionado en público.

Datos contrastados con el repositorio de REA y los casos de Aegis y DownUnderCTF en rea.tools, y con los repositorios de ledger-reborn, ReaCut, remote-me, ultima6, awesome-rea y GensokyoClub. Portada: ilustración de decodigo.com.

Fuente: REA, «Reverse Engineer Anything»

Presuntos espías chinos explotaron desde agosto un fallo de día cero en BeyondTrust Remote Support para robar credenciales

Ventana de terminal con órdenes usadas por los atacantes en BeyondTrust Remote Support, sobre fondo azul marino, junto al título de la noticia

BeyondTrust ha corregido un fallo crítico en Remote Support, su herramienta de soporte técnico a distancia, que permite a un atacante subir archivos al equipo sin iniciar sesión. El fallo, CVE-2026-102764, tiene una gravedad de 9.3 sobre 10, y según Mandiant, la empresa de seguridad de Google, un grupo de espionaje vinculado presuntamente a China lo explotaba en secreto desde finales de agosto para robar las credenciales que guardan estos equipos.

Remote Support, conocido antes como Bomgar, es el programa con el que los departamentos de informática de muchas empresas y organismos se conectan a los ordenadores de sus empleados para resolverles problemas. Suele instalarse como un equipo propio, conectado a internet, que guarda en una «bóveda» las contraseñas y claves de acceso a los sistemas que administra. Eso lo convierte en un objetivo muy valioso: quien lo controla tiene las llaves de buena parte de la red. No es la primera vez que pasa: a finales de 2024, un fallo de esta misma herramienta se usó en el ataque al Departamento del Tesoro de Estados Unidos.

Claves del ataque

  • El fallo. Unos componentes internos de Remote Support no comprobaban bien el origen de los mensajes que recibían. Sin necesidad de contraseña, un atacante podía subir archivos al equipo, y de ahí tomar el control completo. Afecta a todas las versiones hasta la 26.2.3.
  • Los atacantes. Mandiant lo atribuye a ARMORY CASTLE, un grupo al que antes llamaba UNC5221, activo desde al menos octubre de 2023, especializado en atacar equipos expuestos a internet y que, según la empresa, probablemente trabaja para el espionaje chino.
  • Qué hacían dentro. Subían una puerta trasera web, que Mandiant llama SAWFLY, se daban permisos de administrador total con una copia del intérprete de órdenes, vaciaban la bóveda de credenciales con una herramienta del propio equipo y borraban los registros. Después entraban en la consola con cuentas de administrador, abrían sesiones de soporte remoto en otros ordenadores y se llevaban documentos.
  • Escondidos. Instalaban un túnel, BARECLAW, que les daba acceso a la red interna a través de una dirección web disfrazada, y su acceso sobrevivía a reinicios y a restablecer la configuración.
  • El parche. La versión en la nube se corrigió el 9 de octubre. En los equipos propios hay que instalar el parche BT26-05; las versiones anteriores a la 24.3.1 tienen que actualizarse primero. La CISA, la agencia de ciberseguridad de Estados Unidos, lo añadió el 16 de octubre a su catálogo de fallos explotados y da a los organismos federales hasta el 19 para corregirlo.

Por qué importa

Ahora que el fallo es público, Mandiant advierte de que hay que prepararse para una «posible explotación masiva»: otros grupos estudiarán el parche para atacar a quien no lo haya instalado. Y parchear no basta. Como los atacantes llevaban casi dos meses dentro, cualquier equipo expuesto a internet con una versión vulnerable debe darse por posiblemente comprometido. Mandiant recomienda guardar pruebas antes de tocar nada, reconstruir el equipo en lugar de intentar limpiarlo, y cambiar todas las contraseñas de la bóveda solo después de parchear, porque si el atacante sigue dentro se llevaría también las nuevas. También aconseja restringir por IP el acceso a las páginas de administración y exigir autenticación resistente al phishing.

Es otro caso de una tendencia que este mes ya vimos con Ivanti Connect Secure: los grupos de espionaje buscan fallos desconocidos en los equipos que las empresas exponen a internet, como VPN o herramientas de acceso remoto, porque dan acceso directo a la red y son cajas cerradas. Como recuerda Mandiant, los clientes no pueden revisar el sistema de archivos de estos equipos, así que una intrusión puede pasar meses sin que nadie la vea.

Datos contrastados con el informe de Google Threat Intelligence (Mandiant) y la ficha de la NVD, con la gravedad que asigna BeyondTrust y la entrada en el catálogo de la CISA. Portada: ilustración de decodigo.com con órdenes copiadas del informe de Mandiant.

Fuente: Google Threat Intelligence Group, «ARMORY CASTLE Exploits BeyondTrust»

Blue Origin invierte $330 millones en Florida para lanzar New Glenn varias veces por semana, aunque el cohete sigue en tierra

Despegue del cohete New Glenn de Blue Origin desde Cabo Cañaveral, con una gran nube de humo, junto al título de la noticia

Blue Origin, la empresa espacial de Jeff Bezos, anunció el 16 de octubre una inversión de $330 millones USD para ampliar su fábrica de Florida y construir más plataformas de lanzamiento. Su objetivo es lanzar su cohete pesado New Glenn varias veces por semana antes de que acabe la década. El contraste es evidente: ahora mismo New Glenn no vuela, porque explotó en su única plataforma durante una prueba en mayo.

New Glenn es un cohete reutilizable de 98 metros, rival del Falcon 9 y del Falcon Heavy de SpaceX, y la pieza clave para los planes de Blue Origin: lanzar la red de satélites de internet Amazon Leo, competidora de Starlink, y llevar a la Luna su módulo Blue Moon para la NASA. Debutó en enero de 2025, en noviembre de ese año lanzó la misión ESCAPADE de la NASA hacia Marte y recuperó por primera vez su propulsor, y en abril de 2026 voló con un propulsor reutilizado. Pero el 28 de mayo, durante una prueba de encendido con el cohete anclado al suelo antes de una misión con satélites Amazon Leo, el vehículo explotó y dañó buena parte del complejo de lanzamiento 36 de Cabo Cañaveral. En agosto, la empresa atribuyó el fallo a una válvula de oxígeno de uno de sus motores BE-4.

Claves del plan

  • Más fábrica. Los $330 millones van a Rocket Park, su complejo de 1.37 millones de pies cuadrados junto al Centro Espacial Kennedy. Allí se fabricará la etapa superior del New Glenn 9×4, la versión más grande del cohete, con capacidad para hasta 150 etapas al año. La propia empresa aclara que es capacidad de fabricación, no una previsión de lanzamientos. Las obras terminarán en el verano de 2027.
  • Más plataformas. En el complejo 36 se repara la plataforma dañada, para el New Glenn actual, y se construye otra para el 9×4. A ellas se sumarán dos plataformas más de lanzamiento y aterrizaje en la Costa Espacial de Florida, cuya ubicación no se ha concretado.
  • Reutilizar más. Blue Origin tiene una plataforma marina para recuperar los propulsores, Jacklyn, y prepara otras dos. Su objetivo de diseño es que cada propulsor vuele al menos 25 veces.
  • Más permisos. Ha pedido autorización para pasar de 12 a 50 lanzamientos al año desde el complejo 36.
  • Peso en Florida. La empresa lleva invertidos más de $3,000 millones USD en el estado y tiene allí más de 5,000 empleados.

Lo que no trae el anuncio es una fecha de vuelta al vuelo. Jeff Bezos dijo el 7 de octubre que apuntaban a diciembre, con su vehículo espacial Blue Ring como carga, pero según Reuters el regreso se espera ahora para principios de 2027. Blue Origin no lo ha confirmado.

Por qué importa

Lanzar mucho y barato es la base del negocio espacial actual, y SpaceX lleva años de ventaja: el Falcon 9 vuela varias veces por semana. Blue Origin necesita una cadencia parecida para cumplir con Amazon Leo, que tiene que poner en órbita miles de satélites, y con la NASA. El plan muestra que la empresa sigue apostando fuerte, pero de momento son promesas: New Glenn acumula tres vuelos en casi dos años y lleva casi cinco meses en tierra. Las nuevas fábricas y plataformas solo servirán si el cohete vuelve a volar, y pronto.

Datos del comunicado de Blue Origin recogidos por NewSpace Economy y CNBC; el regreso al vuelo, de NewSpace Economy, que cita a Reuters. Portada: despegue de New Glenn desde el complejo 36, foto de Samuel Becker, Fuerza Espacial de EE. UU., Wikimedia Commons, dominio público (recortada, con texto).

Fuente: Blue Origin, «Building infrastructure for more frequent launches in Florida»

Llegan los portátiles NVIDIA RTX Spark: el primer chip de NVIDIA para Windows, con CPU Arm, GPU Blackwell y hasta 128 GB de memoria

Sede de NVIDIA en Santa Clara bajo un cielo azul, con el título de la noticia de los portátiles RTX Spark

Desde el 16 de octubre se pueden comprar los primeros portátiles con NVIDIA RTX Spark, el chip con el que NVIDIA entra por primera vez en el corazón de los ordenadores Windows. Combina una CPU Arm y una GPU Blackwell en una sola pieza, con hasta 128 GB de memoria compartida. Hay modelos de ASUS, Dell, HP, Lenovo, Microsoft y MSI, y los precios empiezan en $2,599 USD.

Hasta ahora, NVIDIA estaba en los portátiles solo con su tarjeta gráfica, al lado de un procesador de Intel o AMD. Con RTX Spark hace el procesador completo, como Apple con sus chips M: la CPU es una Grace, de arquitectura Arm, diseñada junto con MediaTek, y la GPU es de la misma generación Blackwell que sus tarjetas GeForce RTX 50. Las dos comparten la memoria, de modo que la GPU puede usar casi toda la del equipo, algo muy útil para ejecutar modelos de IA grandes. Es además una apuesta por Windows en Arm, terreno que hasta ahora dominaba Qualcomm con sus Snapdragon X.

Claves de RTX Spark

  • Dos versiones del chip. Según Windows Central, la más potente tiene 20 núcleos de CPU y 6,144 núcleos CUDA en la GPU, con hasta 128 GB de memoria; la otra, solo para portátiles, baja a 18 núcleos de CPU y 5,120 núcleos CUDA. NVIDIA anuncia hasta 1 petaflop de rendimiento en IA, medido con números de 4 bits (FP4).
  • Nueve portátiles para empezar. ASUS ProArt P14 y P16, Dell XPS 16, HP OmniBook Ultra y OmniBook X 14, Lenovo Yoga Pro 9n, Microsoft Surface Laptop Ultra, y MSI Prestige N16 Flip AI+ y Prestige N16. El más barato es el Surface Laptop Ultra, por $2,599 USD, y el Dell XPS 16 llega a $3,799 USD. NVIDIA promete más equipos.
  • Para jugar. NVIDIA asegura que mueve juegos exigentes a 1440p por encima de 100 imágenes por segundo con DLSS 5, su técnica de escalado con IA, y cita títulos como Cyberpunk 2077, Fortnite, Marvel Rivals o World of Warcraft entre «cientos» de juegos compatibles.
  • Para crear. Edita vídeo 8K y renderiza escenas 3D de hasta 90 GB incluso sin enchufar. Photoshop y Premiere tienen ya versiones nativas para el chip, en pruebas.
  • IA en local. Llega con Nemotron 3.5 Bolt, un modelo de NVIDIA de 74,000 millones de parámetros pensado para agentes, y es compatible con asistentes como GitHub Copilot o Perplexity. Para que los agentes no hagan lo que no deben, NVIDIA y Microsoft limitan sus permisos con entornos aislados.
  • Para programadores. Estrena la primera versión de PyTorch con CUDA para Windows en Arm y, según NVIDIA, funciona con el 97 % de los 15,000 paquetes de Python más usados, uno de los puntos débiles de Windows en Arm hasta ahora.

Por qué importa

Es el movimiento más serio en años contra el dominio de Intel y AMD en los ordenadores Windows. «RTX Spark junta en un solo PC la IA de NVIDIA, los gráficos RTX y CUDA con Microsoft Windows», resumió Jensen Huang, su director ejecutivo. La gran baza es CUDA: buena parte del software de IA está hecho para las GPU de NVIDIA, y ahora funciona en un portátil fino con 128 GB de memoria compartida, algo que hasta ahora solo ofrecían los Mac. El reto es el de siempre con Windows en Arm: los programas pensados para procesadores de Intel y AMD funcionan mediante emulación, y no todos van igual de bien. Además, los precios, a partir de $2,599 USD, lo dejan de momento en la gama alta. Habrá que esperar a las pruebas independientes para saber si la autonomía y el rendimiento están a la altura de lo que promete NVIDIA.

Datos contrastados con la nota de prensa de NVIDIA, Windows Central y el blog de Windows Insider. Portada: la sede de NVIDIA en Santa Clara, foto de Coolcaesar, Wikimedia Commons, CC BY-SA 4.0 (recortada, con texto).

Fuente: NVIDIA, «NVIDIA RTX Spark PCs Available Today»

El juego de la vida de Conway: cuatro reglas, planeadores y un ordenador hecho de casillas, con animación

Pistola de planeadores de Gosper dibujada en una rejilla clara, con su chorro de planeadores bajando en diagonal, junto al título del artículo

Un tablero de casillas, cada una viva o muerta, y cuatro reglas que dicen qué pasa con ellas de una generación a la siguiente. Nadie juega: solo se mira. Y sin embargo, de esas reglas salen formas que se mueven solas por el tablero, otras que laten sin parar y hasta «pistolas» que disparan sin fin. Es el juego de la vida, que el matemático John Conway inventó en 1970, y con él se puede construir, en teoría, cualquier programa de ordenador.

Las reglas

Conway buscaba unas reglas lo más sencillas posible que dieran resultados impredecibles: ni que todo muriera enseguida ni que creciera sin control. Martin Gardner las dio a conocer en octubre de 1970, en su sección de juegos matemáticos de la revista Scientific American, y el juego se convirtió en una afición de miles de programadores, que dejaban sus ordenadores calculando generaciones por la noche. Es un autómata celular, como la hormiga de Langton: cada casilla mira a sus ocho vecinas (en horizontal, en vertical y en diagonal) y, en cada generación, todas cambian a la vez según estas reglas:

  1. Soledad: una casilla viva con menos de dos vecinas vivas muere.
  2. Supervivencia: una casilla viva con dos o tres vecinas vivas sigue viva.
  3. Superpoblación: una casilla viva con más de tres vecinas vivas muere.
  4. Nacimiento: una casilla muerta con exactamente tres vecinas vivas nace.
SoledadCon menos de 2 vecinas,una casilla viva muere.antesdespuésSupervivenciaCon 2 o 3 vecinas,una casilla viva sigue viva.antesdespuésSuperpoblaciónCon más de 3 vecinas,una casilla viva muere.antesdespuésNacimientoCon exactamente 3 vecinas,una casilla vacía nace.antesdespués
Las cuatro reglas, aplicadas a la casilla central (marcada en rojo). En «después» solo se muestra esa casilla: sus vecinas también cambian, cada una según sus propias vecinas. Esquema: decodigo.com.

Dicho de forma más corta: una casilla nace con 3 vecinas y sobrevive con 2 o 3. Por eso los aficionados escriben la regla como B3/S23, de born (nace) y survives (sobrevive).

Pruébalo

La animación muestra un tablero de 112 por 64 casillas. Las que acaban de nacer salen en azul, y las que sobreviven, en azul marino. Elige un patrón para ver los más famosos, que se explican más abajo, o toca el tablero para dar vida a las casillas que quieras (con el ratón también puedes arrastrar). «Un paso» avanza una sola generación, ideal para comprobar las reglas a mano. Lo que sale del tablero sigue vivo un rato fuera de la vista y luego desaparece, como si se alejara para siempre.

Patrón:
Velocidad:

Generación 0

Un zoo de patrones

En los primeros años, los aficionados se dedicaron a buscar y clasificar los patrones que aparecían. Estos son los tipos principales:

TipoQué haceEjemplos
Vidas quietasNo cambian nunca: cada casilla tiene justo las vecinas que necesitaEl bloque (cuatro casillas en cuadrado), la colmena
OsciladoresRepiten una serie de formas, siempre en el mismo sitioEl parpadeador (tres en fila, periodo 2), el púlsar (periodo 3)
Naves espacialesRecuperan su forma unas casillas más allá: se desplazan por el tableroEl planeador, que avanza una casilla en diagonal cada 4 generaciones
PistolasSe quedan en su sitio y disparan naves sin pararLa pistola de planeadores de Gosper
MatusalenesPatrones pequeños que tardan muchísimo en calmarseEl R-pentominó: 5 casillas, 1,103 generaciones

La pistola tiene su propia historia. Conway sospechaba que ningún patrón podía crecer sin límite, y ofreció 50 dólares a quien demostrara lo contrario. En noviembre de 1970, un equipo del MIT dirigido por Bill Gosper ganó el premio con una pistola que dispara un planeador cada 30 generaciones: como los planeadores se alejan para siempre, el número de casillas vivas crece sin fin. Es la que se ve al abrir la animación.

El R-pentominó, por su parte, es el ejemplo perfecto de lo difícil que es predecir el juego. Son solo cinco casillas con forma de R, pero se agitan durante 1,103 generaciones, llegan a tener 319 casillas vivas y lanzan seis planeadores, que fueron los primeros que se descubrieron. Al final quedan 116 casillas, que ya no cambian salvo los planeadores que se alejan.

Un ordenador hecho de casillas

Lo más sorprendente del juego de la vida es lo que se puede construir con él. Los planeadores pueden hacer de señales: un chorro de planeadores es una secuencia de unos y ceros, y cuando dos chorros se cruzan en el ángulo adecuado, las colisiones funcionan como puertas lógicas. Con pistolas, choques y otras piezas se pueden montar memorias, contadores y cualquier circuito. Conway y sus colegas demostraron que el juego de la vida es Turing completo: puede calcular cualquier cosa que calcule un ordenador, solo que de forma desesperadamente lenta. En el año 2000, Paul Rendell construyó dentro del juego una máquina de Turing completa, y desde entonces los aficionados han montado relojes digitales, patrones que van soltando los números primos uno a uno e incluso el propio juego de la vida simulado dentro del juego de la vida.

Esa potencia tiene un precio: como con un programa cualquiera, no hay un atajo general para saber qué hará un patrón. Para averiguar si un patrón acabará muriendo, quedándose quieto o creciendo para siempre, a menudo la única forma es simularlo generación a generación, igual que con la hormiga de Langton.

El juego de la vida en Python

Este programa guarda solo las casillas vivas, en un conjunto, así que el tablero es infinito. Para calcular la generación siguiente cuenta cuántas vecinas vivas tiene cada casilla con Counter y aplica la regla B3/S23 en una sola línea. Después comprueba que el planeador recupera su forma a las 4 generaciones y sigue al R-pentominó hasta que se calma:

from collections import Counter


def siguiente(vivas):
    """Una generación: cuenta los vecinos vivos de cada casilla y aplica las reglas."""
    vecinos = Counter((x + dx, y + dy) for x, y in vivas
                      for dx in (-1, 0, 1) for dy in (-1, 0, 1) if dx or dy)
    return {c for c, n in vecinos.items() if n == 3 or (n == 2 and c in vivas)}


def dibujo(vivas, ancho, alto):
    return ["".join("█" if (x, y) in vivas else "·" for x in range(ancho)) for y in range(alto)]


# 1. El planeador: cada cuatro generaciones recupera su forma, una casilla más abajo y a la derecha
planeador = {(1, 0), (2, 1), (0, 2), (1, 2), (2, 2)}
fases = [planeador]
for _ in range(4):
    fases.append(siguiente(fases[-1]))
for fila in zip(*(dibujo(f, 5, 5) for f in fases)):
    print("   ".join(fila))
print("Generación 4 = generación 0 desplazada (1, 1):", fases[4] == {(x + 1, y + 1) for x, y in planeador})
print()

# 2. El R-pentominó: cinco casillas que tardan más de mil generaciones en calmarse
vivas = {(1, 0), (2, 0), (0, 1), (1, 1), (1, 2)}
poblacion = [len(vivas)]
for _ in range(1500):
    vivas = siguiente(vivas)
    poblacion.append(len(vivas))
for g in range(0, 1201, 200):
    print(f"Generación {g:>5}: {poblacion[g]:>3} casillas vivas")
mayor = max(poblacion)
print("Máximo:", mayor, "casillas, en la generación", poblacion.index(mayor))
estable = len(poblacion) - 1
while poblacion[estable - 1] == poblacion[estable]:
    estable -= 1
print("Desde la generación", estable, "la población ya no cambia:", poblacion[estable], "casillas")
salida·█···   ·····   ·····   ·····   ·····
··█··   █·█··   ··█··   ·█···   ··█··
███··   ·██··   █·█··   ··██·   ···█·
·····   ·█···   ·██··   ·██··   ·███·
·····   ·····   ·····   ·····   ·····
Generación 4 = generación 0 desplazada (1, 1): True

Generación     0:   5 casillas vivas
Generación   200: 120 casillas vivas
Generación   400: 195 casillas vivas
Generación   600: 213 casillas vivas
Generación   800: 228 casillas vivas
Generación  1000: 156 casillas vivas
Generación  1200: 116 casillas vivas
Máximo: 319 casillas, en la generación 821
Desde la generación 1103 la población ya no cambia: 116 casillas

La función siguiente es todo el juego: una casilla está viva en la generación siguiente si tiene 3 vecinas, o si tiene 2 y ya estaba viva. El dibujo muestra las cinco primeras generaciones del planeador: en la quinta tiene la misma forma que en la primera, una casilla más abajo y a la derecha. Y el recuento del R-pentominó confirma las cifras clásicas: un máximo de 319 casillas en la generación 821 y, desde la 1,103, siempre las mismas 116. Como no hay azar, la salida es idéntica en cada ejecución.

Por qué fascina

Conway llegó a cansarse de que lo recordaran sobre todo por este juego, cuando había hecho aportaciones importantes en teoría de grupos y teoría de números. Pero el juego de la vida sigue enganchando a programadores más de cincuenta años después, y por buenos motivos. Es fácil de programar, cabe en unas pocas líneas y es un ejercicio clásico para aprender a manejar matrices o conjuntos. Y, como la hormiga de Langton, muestra la idea de emergencia: el planeador no está escrito en ninguna de las cuatro reglas, y aun así existe, se mueve y se puede usar para calcular. Conway murió en abril de 2020, pero los aficionados siguen descubriendo patrones nuevos cada año.

Fuentes: Martin Gardner, «The fantastic combinations of John Conway’s new solitaire game «life»», Scientific American (octubre de 1970); E. Berlekamp, J. Conway y R. Guy, Winning Ways for your Mathematical Plays (1982); la página de Wikipedia sobre el juego de la vida y LifeWiki. Las cifras del R-pentominó y del planeador las hemos comprobado con el programa, ejecutado con Python 3.13. La animación y las imágenes, incluida la portada, las genera el propio algoritmo: decodigo.com.

El tercer fallo del ataque a Ivanti Connect Secure ya tiene número, CVE-2026-111357, pero sigue sin parche

Switch de red negro de cinco puertos sobre fondo gris, bajo el título de la noticia del fallo de Ivanti Connect Secure

El fallo con el que los atacantes de Ivanti Connect Secure conseguían el control total del equipo ya tiene identificador: CVE-2026-111357, publicado el 15 de octubre. Es el tercer eslabón de la cadena de ataque que contamos hace dos días, el que da permisos de administrador total (root). Y sigue sin corrección: Ivanti la espera «en las próximas semanas».

Ivanti Connect Secure es una VPN corporativa muy extendida, el equipo por el que los empleados de una empresa se conectan a su red desde fuera. El 13 de octubre, la empresa de seguridad Volexity reveló que un grupo desconocido, al que llama UTA0576, la atacaba desde el 3 de octubre encadenando tres fallos de día cero. Los dos primeros, una forma de saltarse el inicio de sesión y otra de ejecutar órdenes en el equipo, se agruparon en el CVE-2026-104935, que Ivanti corrigió ese mismo día y que la CISA, la agencia de ciberseguridad de Estados Unidos, ordenó parchear antes del 16 de octubre. El tercero no tenía número ni parche.

Claves de CVE-2026-111357

  • Qué hace. Afecta a dsinvoked, un servicio interno del equipo que funciona con permisos de root. Ese servicio se fía de los datos de configuración que guarda en una caché llamada DSCache. Según Volexity, los atacantes modificaban, solo en memoria, una biblioteca y esa configuración para que el servicio ejecutara su propio código como root, y después lo dejaban todo como estaba.
  • Gravedad: 7.0 sobre 10. Es una puntuación «alta», no «crítica», porque el fallo no se puede atacar desde fuera: hace falta haber entrado antes en el equipo. Pero en este ataque eso ya lo resolvían los dos primeros fallos, así que, encadenados, daban el control total sin ninguna contraseña.
  • Quién le ha puesto número. No ha sido Ivanti, sino MITRE, la organización que gestiona el sistema de CVE. La descripción oficial dice que se explotó «en octubre de 2026», pero la CISA todavía no lo ha añadido a su catálogo de vulnerabilidades explotadas.
  • Versiones afectadas. La 22.8R2.4, que era la más reciente cuando Volexity publicó su investigación. Ivanti no ha dicho si la afecta también a las ramas 25.x.
  • Sin parche. Ivanti trabaja en una corrección para una próxima versión, sin fecha concreta.

Por qué importa

Para quien administra uno de estos equipos, el nuevo número no cambia lo urgente: hay que instalar ya las versiones que corrigen el CVE-2026-104935 (la 22.8R2.5, o la 25.1.1.2, la 25.1.3.0 o la 25.1.3.1, según la rama). Sin esos dos primeros fallos, el atacante no tiene cómo llegar al tercero. Pero tener número sí ayuda: los escáneres de vulnerabilidades y los inventarios de seguridad ya pueden marcar el equipo como pendiente hasta que salga el parche. Y conviene recordar lo que advirtió Volexity: la herramienta de comprobación de integridad de Ivanti no detecta esta intrusión, porque los cambios solo se hacen en memoria. Quien tenga la VPN expuesta desde principios de octubre debería buscar los indicadores que publicó Volexity y, si aparecen, cambiar las contraseñas del dominio y las claves que pudieran haberse robado.

Datos contrastados con la ficha de la NVD, la investigación de Volexity y The Hacker News. Portada: switch de red, foto de www.heimnetzwerke.net, CC BY 4.0 (recortada, con texto).

Fuente: NVD, CVE-2026-111357

Ubuntu 26.10 «Stonking Stingray» llega con GNOME 51, Linux 7.3 y las órdenes básicas del sistema ya todas en Rust

Fondo morado de Ubuntu 26.10 con una manta raya dibujada con una sola línea blanca, junto al título de la noticia

Canonical publicó el 15 de octubre Ubuntu 26.10, de nombre Stonking Stingray («manta raya estupenda»). Llega con el escritorio GNOME 51, el núcleo Linux 7.3 y una forma nueva de colocar ventanas al arrastrarlas. Y termina un cambio que empezó hace un año: las órdenes básicas del sistema, como cp, mv o rm, son ya todas las versiones reescritas en Rust.

Ubuntu publica una versión cada seis meses, en abril y en octubre. Las de abril de los años pares son de soporte extendido (LTS), como la 26.04 de esta primavera, y las demás son versiones intermedias en las que Canonical prueba los cambios que llegarán a la siguiente LTS. La 26.10 es de estas últimas: tendrá soporte durante nueve meses, hasta julio de 2027, y su papel es preparar el terreno para Ubuntu 28.04.

El cambio a Rust empezó en la 25.10, cuando Ubuntu sustituyó las GNU coreutils, el conjunto de órdenes básicas que acompaña a Linux desde hace décadas, por uutils, una reimplementación en Rust. Tres órdenes, cp, mv y rm, se quedaron en su versión de GNU por problemas de compatibilidad. En la 26.10 ya se han pasado también. Rust evita por diseño muchos de los fallos de memoria que en C causan errores de seguridad, y quien lo necesite puede volver a las versiones de GNU.

Claves de Ubuntu 26.10

  • Ventanas en su sitio. Al arrastrar una ventana aparece arriba un selector con distribuciones posibles: basta con soltarla sobre una para que ocupe la mitad, un cuarto o toda la pantalla.
  • Entrar sin contraseña. La pantalla de inicio admite llaves de acceso FIDO2 y el inicio de sesión de Microsoft Entra ID, con su verificación en dos pasos, también por terminal y SSH.
  • Firmar PDF. El visor de documentos permite dibujar una firma con el ratón o el dedo, o importar la foto de una firma en papel, y reutilizarla.
  • Controladores desde la tienda. El App Center tiene un apartado para activar o cambiar los controladores, por ejemplo los de NVIDIA, y otro para instalar códecs de audio y vídeo. Los controladores de NVIDIA pasan a la serie 615, que solo usa los módulos de código abierto y funciona con las tarjetas de la generación Turing (GeForce RTX 20 y GTX 16) y posteriores; las anteriores tienen que quedarse con la serie 580.
  • Cifrado de disco más fácil. El cifrado completo del disco con el chip TPM ya funciona en equipos sin raíz de confianza en el hardware, siempre que se ponga un PIN o una frase de paso.
  • Debajo del capó. Linux 7.3, con soporte inicial para los portátiles Snapdragon X2 Elite y los procesadores AMD Zen 6, Mesa 26.2, systemd 261, OpenSSL 4 y dbus-broker en lugar de dbus-daemon. También estrena en pruebas Myna, un dictado por voz que funciona sin conexión.
  • Para programar. Python 3.14, GCC 15.2, LLVM 22, Rust 1.97, Go 1.27, OpenJDK 25 (con OpenJDK 27 disponible), .NET 10 y Zig 0.16.
  • Más arquitecturas. Hay una imagen optimizada para procesadores x86-64 desde 2015 (amd64v3), con una mejora de rendimiento de en torno al 1 %, y las primeras imágenes de escritorio para RISC-V, todavía experimentales.

Desde Ubuntu 26.04 LTS se puede actualizar directamente, aunque por defecto las LTS solo avisan de nuevas LTS: hay que cambiar Prompt=lts por Prompt=normal en /etc/update-manager/release-upgrades. Los equipos con cifrado de disco por TPM no pueden actualizar todavía, algo que Canonical espera resolver durante la vida de esta versión. Desde la 25.10 o la 24.04 no hay salto directo. Desaparece además la compatibilidad con la antigua seguridad WEP para redes wifi.

Por qué importa

Ubuntu es una de las distribuciones de Linux más usadas, en el escritorio y en la nube, así que lo que hace marca tendencia. Con la 26.10 usa por completo las utilidades básicas en Rust, en millones de equipos: es una prueba a gran escala de que reescribir piezas clásicas en un lenguaje más seguro es viable. Como versión intermedia, es para quien quiere lo último. Para la mayoría, lo recomendable sigue siendo la 26.04 LTS, pero lo que se estrena ahora es lo que llegará a todos en la próxima LTS, Ubuntu 28.04.

Datos contrastados con las notas de la versión de Ubuntu 26.10, OMG! Ubuntu y Phoronix. Portada: fondo «Stonking Stingray Minimal Dark» de dmxplx, incluido en Ubuntu 26.10, © Canonical Ltd, CC BY-SA 4.0 (recortado, con texto).

Fuente: Ubuntu, notas de la versión 26.10

Meta publica Muse Spark Open, un modelo de pesos abiertos de 816,000 millones de parámetros que funciona en dos Mac Studio

Un Mac Studio sobre una mesa de madera en una tienda de Apple, con el título de la noticia de Muse Spark Open

Meta publicó el 15 de octubre los pesos de Muse Spark Open, un modelo de inteligencia artificial de 816,000 millones de parámetros pensado para programar y para trabajar como agente, con un contexto de un millón de tokens. Cualquiera puede descargarlo y ejecutarlo en sus propios equipos, y Meta destaca que basta con dos Mac Studio, sin necesidad de un centro de datos. Llega tres días después de Muse Wonder, el modelo más capaz de la empresa, que sigue siendo cerrado.

Durante años, Meta fue la gran defensora de los modelos abiertos con la familia Llama. Este año cambió de rumbo con la serie Muse: Muse Spark, su modelo principal, solo se podía usar a través de sus servicios. De esta familia solo había publicado los pesos de Muse Glimmer, un modelo pequeño, en agosto. Muse Spark Open es la versión abierta del modelo grande: comparte base con Muse Spark 1.3, el que Meta usa en sus productos, pero ha recibido un entrenamiento de seguridad adicional para que resista mejor los usos maliciosos cuando funciona solo, sin los filtros que Meta aplica en sus propios servicios.

Claves de Muse Spark Open

  • Grande, pero eficiente. Es un modelo de «mezcla de expertos»: de sus 816,000 millones de parámetros, solo se activan unos 42,000 millones para cada token, repartidos entre 256 expertos de los que trabajan 8 a la vez. Así, cada respuesta cuesta mucho menos cálculo de lo que haría pensar su tamaño.
  • Hecho para programar y actuar. Meta lo entrenó con flujos de trabajo reales de desarrollo: refactorizaciones de varios archivos, depuración y tareas largas. Como agente, planifica los pasos, usa herramientas, navega por la web, puede controlar un ordenador o un móvil y repartir el trabajo entre subagentes. Su millón de tokens de contexto le permite tener a la vista un proyecto entero.
  • Multimodal. Entiende texto, imágenes, documentos, audio y vídeo, aunque solo responde con texto.
  • En dos Mac Studio. Meta lo ha hecho funcionar en dos Mac Studio con el chip M5 Ultra, que juntos suman 1 TB de memoria unificada, usando MLX, la biblioteca de aprendizaje automático de Apple. En sus demostraciones, el modelo corrige errores y añade funciones a una app de iOS y edita vídeo en DaVinci Resolve. En servidores, la versión comprimida a 4 bits (NVFP4) necesita al menos 700 GB de memoria de GPU, y la completa, unos 2 TB.
  • Disponible en todas partes. Los pesos están en Hugging Face, Amazon SageMaker AI, Google Cloud y Microsoft Foundry, y también se puede usar por API en Baseten, Fireworks AI, Groq, OpenRouter o Together AI, entre otros. Funciona con los motores de inferencia más comunes, como vLLM, SGLang, llama.cpp y MLX.
  • Resultados. Según la ficha del modelo, saca 76.4 en Terminal-Bench 2.1, 80.4 en OSWorld Verified, que mide el uso de un ordenador, y 89.0 en GPQA Diamond, preguntas de ciencia de nivel de doctorado. En el índice de Artificial Analysis obtiene 39 puntos, el noveno puesto entre los modelos abiertos de más de 150,000 millones de parámetros, frente a los 48 de Muse Spark 1.3, la versión cerrada.
  • Una licencia propia, no libre. Se publica con la Muse Model License, que permite usarlo gratis, ajustarlo, combinarlo y vender productos hechos con él. Pero quien revenda el acceso al modelo como servicio y facture más de $20 millones USD al año tiene que firmar un acuerdo con Meta, y los productos que lo usen deben indicar que están «hechos con Muse Spark Open». Para descargarlo hay que pedir acceso con el nombre legal, la fecha de nacimiento y la empresa.

Por qué importa

Meta vuelve a publicar un modelo abierto de primera línea, pero con matices. Alexandr Wang, su director de IA, lo dejó claro: «por seguridad y por capacidad, en general no publicaremos nuestros modelos más potentes». Muse Spark Open es un paso por detrás de Muse Wonder, y Meta conserva para sí lo mejor que tiene. Aun así, es una muy buena noticia para empresas y desarrolladores que quieren un modelo de este nivel en sus propios servidores, sin enviar sus datos ni su código a un tercero. También es un mensaje a China: Meta lo presenta como el mejor modelo abierto de Estados Unidos en un terreno, el de los pesos abiertos, que en el último año han dominado empresas chinas como DeepSeek o Alibaba.

La parte de los Mac Studio es más simbólica que práctica. Dos Mac Studio con 512 GB de memoria cada uno cuestan una cantidad considerable de dinero, aunque muchísimo menos que un servidor con GPU de centro de datos. Lo que muestra es que un modelo de esta escala ya cabe en un escritorio. Falta, eso sí, el informe completo de seguridad, que Meta promete publicar pronto.

Datos contrastados con el blog de Meta Research, el blog de PyTorch, la ficha del modelo en Hugging Face, TechCrunch y el análisis de la licencia de OrcaRouter. Portada: un Mac Studio en una tienda de Apple, foto de Dancingpolishcow, Wikimedia Commons, CC BY-SA 4.0 (recortada, con texto).

Fuente: Meta Research, «Muse Spark Open»

La hormiga de Langton: dos reglas, 10,000 pasos de caos y una autopista que nadie ha sabido explicar, con animación

La hormiga de Langton dibujada por el propio algoritmo: una mancha irregular de casillas oscuras de la que sale en diagonal una franja azul, la autopista, con la hormiga en rojo al final

Imagina una hormiga sobre un tablero infinito de casillas blancas. Solo sigue dos reglas: si está en una casilla blanca, gira a la derecha; si está en una negra, gira a la izquierda. En los dos casos cambia el color de la casilla y avanza una. Nada más: no hay azar ni memoria. Y sin embargo, durante unos 10,000 pasos deja un rastro que parece puro caos, hasta que de repente se pone a construir una «autopista» perfecta que se aleja para siempre. Es la hormiga de Langton, y todavía nadie ha sabido demostrar por qué lo hace.

Las reglas

La inventó en 1986 Chris Langton, un investigador estadounidense que estudiaba cómo surgen comportamientos complejos a partir de reglas sencillas y que poco después dio nombre a un campo entero, la vida artificial. La hormiga es un autómata celular, como el famoso juego de la vida de Conway: un tablero de casillas que cambian según unas reglas fijas. Estas son todas:

  1. El tablero empieza todo en blanco, y la hormiga, en una casilla cualquiera mirando hacia arriba.
  2. Si la casilla en la que está es blanca, la hormiga gira 90° a la derecha. Si es negra, gira 90° a la izquierda.
  3. Cambia el color de la casilla: la blanca pasa a negra y la negra, a blanca.
  4. Avanza una casilla en la dirección en la que mira, y vuelve al paso 2.
Casilla blancaGira 90° a la derecha,la pinta de negro y avanza.antesdespuésCasilla negraGira 90° a la izquierda,la pinta de blanco y avanza.antesdespués
Las dos reglas de la hormiga, que en el esquema mira hacia arriba. Esquema: decodigo.com.

Pruébalo

La animación simula la hormiga en un tablero de 160 por 160 casillas. La hormiga es el cuadrado rojo. Con la regla de Langton, el texto de debajo te dice en qué fase está, y cuando aparece la autopista te avisa del paso exacto en que empezó. Usa «Paso a paso» para ver las reglas en acción y «Rápida» para llegar antes al final. Puedes también tocar el tablero para pintar casillas mientras la hormiga camina, y ver cómo reacciona a los obstáculos. Los otros botones cambian la regla, como se explica más abajo.

Regla:
Velocidad:

0 pasos

Tres fases: orden, caos y orden

Si se empieza con el tablero en blanco, la hormiga siempre pasa por las mismas tres fases:

  • Simplicidad. Durante los primeros cientos de pasos dibuja formas pequeñas y ordenadas, a menudo simétricas.
  • Caos. Después, el dibujo se vuelve irregular. La hormiga va y viene sin ningún patrón a la vista, y deja una mancha de casillas negras que crece despacio. Esta fase dura casi diez mil pasos.
  • Orden. En el paso 9,976, la hormiga empieza a repetir un mismo recorrido de 104 pasos. Al final de cada uno ha avanzado dos casillas en diagonal y ha dejado doce casillas negras más, siempre con la misma forma. Ese ciclo, repetido sin fin, va trazando una franja diagonal: la autopista. Como el tablero es infinito, nada la detiene.

Lo inquietante es que no hay ninguna pista de lo que va a pasar. A los 9,000 pasos, el tablero parece tan desordenado como a los 2,000, y la única forma de saber que la hormiga acabará construyendo la autopista es dejarla caminar hasta el paso 9,976.

Lo que se sabe y lo que no

Con reglas tan sencillas, cabría esperar que los matemáticos lo tuvieran todo resuelto. No es así. Esto es lo que se sabe:

  • La hormiga nunca se queda encerrada. Empiece el tablero como empiece, aunque tenga casillas negras en cualquier posición, su recorrido no tiene límite: siempre acaba alejándose tanto como se quiera del punto de partida. Es el llamado teorema de Cohen-Kong, demostrado a principios de los noventa.
  • La autopista parece inevitable, pero nadie lo ha demostrado. Con todas las configuraciones iniciales finitas que se han probado, la hormiga acaba construyendo la misma autopista, antes o después. Es la conjetura de la autopista, y sigue sin demostrar. Si pintas casillas en la animación, lo más probable es que veas lo mismo: más caos, pero al final la autopista.
  • Puede calcular cualquier cosa. En 2002, Anahí Gajardo, Andrés Moreira y Eric Goles demostraron que, colocando bien las casillas negras al principio, la trayectoria de la hormiga puede calcular cualquier circuito lógico. Es decir, que este juego de dos reglas puede hacer, en teoría, cualquier cálculo que haga un ordenador.

Más colores, otras figuras

Greg Turk y Jim Propp extendieron la idea a más de dos colores. Las casillas pasan por los colores en orden, y la regla se escribe con una letra por color: R (derecha) o L (izquierda), según hacia dónde gira la hormiga al pisar ese color. La hormiga original es RL. Algunas de las variantes que puedes probar en la animación:

ReglaColoresQué hace
RL2La hormiga de Langton: caos y, al final, la autopista
LLRR4Crece de forma simétrica, cada vez más despacio
LRRRRRLLR9Rellena un cuadrado a su alrededor y lo va agrandando
RRLLLRLLLRRR12Tras unos 15,900 pasos, dibuja un triángulo relleno que crece y se desplaza

Hay incluso una regla para saber qué variantes crecen con simetría: basta con que en la palabra, leída en círculo, todas las letras vayan en parejas iguales seguidas, como en LLRR o RLLR. Otras, como RLR, crecen de forma caótica, y nadie sabe si alguna vez construirán una autopista.

La hormiga en Python

Este programa simula 11,000 pasos sobre un tablero infinito: solo guarda las casillas negras, en un conjunto. Después busca el paso desde el que la hormiga repite el ciclo de 104 pasos y dibuja el tablero en la terminal con caracteres de medio bloque, que meten dos casillas en cada carácter:

negras = set()                     # casillas negras; todas las demás son blancas
x, y, dx, dy = 0, 0, 0, -1         # posición y dirección: empieza mirando hacia arriba
posiciones = [(x, y)]

for paso in range(11000):
    if (x, y) in negras:           # casilla negra: gira a la izquierda y la vuelve blanca
        dx, dy = dy, -dx
        negras.remove((x, y))
    else:                          # casilla blanca: gira a la derecha y la vuelve negra
        dx, dy = -dy, dx
        negras.add((x, y))
    x, y = x + dx, y + dy
    posiciones.append((x, y))

# La autopista empieza en el primer paso desde el que cada 104 pasos la hormiga se mueve igual
def avance(i):
    return posiciones[i + 104][0] - posiciones[i][0], posiciones[i + 104][1] - posiciones[i][1]

inicio = len(posiciones) - 105
while avance(inicio - 1) == avance(inicio):
    inicio -= 1
print("Casillas negras:", len(negras))
print("La autopista empieza en el paso", inicio, "y avanza", avance(inicio), "cada 104 pasos")

# Dibujo: cada carácter son dos casillas, una encima de otra
xs = [c[0] for c in negras]
ys = [c[1] for c in negras]
for fila in range(min(ys), max(ys) + 1, 2):
    print("".join(" ▀▄█"[((col, fila) in negras) + 2 * ((col, fila + 1) in negras)]
                  for col in range(min(xs), max(xs) + 1)))
salidaCasillas negras: 834
La autopista empieza en el paso 9976 y avanza (-2, 2) cada 104 pasos
                            ▄▀▀▄▄██▀▀▀▀▀▀▀▀▀▀▄ ▀█▄                 
                           █▀█  ▄▀▀       ▄  ▄ ▀▀ █                
                    ▄▄▄▀█  █▀ ▀▄▀    ▄    ▀██ ▄▄  ▄▄█              
                     █ █▄▄▀██  █▀▄█▀▀█▄█▀▄ ▄▀ ▀  █▄█▀  ██▄         
                  ▄█▄ ▄▄ ▀ ▄ ████▀ █▄▀▄▄▀███▄▄█ ▄ ███ █ ▀ █        
                  ▀ ▀▀█ █ ▀▀▄▀▄█ ██▄▀▀ █▀ ▀▄ ▄▀▀███▄▀▀▀ █▀▄▄       
                  ▄█▄ ▀ ▄ ▄ ▄▄ ▄██ ▀█  ▄█  ▀▀ ▄   ██▄▀▄▄  ▄█▀▄     
                ▄█▄ ▀▀█  ▀█ ▄ ▀█ █▀▄▄▄█▀█▄ ▀▄ ▄▄▀▄▄█▀ █▀▀▀  ▄▀     
              ▄█▄ ▀▀█  ▀ ▀█ ▄▄ █ ▄█ ▀██  █▄▄▄▄ ▄███ ▀█▄█▄ █▄ ▀▀▄   
            ▄█▄ ▀▀█  █▄▀▄█▄ ▀▄█▀█ ▀ █▄▀▀     ▄██▄ ▄█▄█ ▀ ▄  ▀   █  
          ▄█▄ ▀▀█  █▄▀  ▀  ▄▀█▄▄█▀▀██▀▀████▄█▄▄█▀▀█  █▄   ▀▄  ▄█   
        ▄█▄ ▀▀█  █▄▀  ▄▀▀▄ █▄██▄▄ ██ █▀▄█▀█ █▀▀  ▄█▄ █▄█▀  ██▀▀ █  
      ▄█▄ ▀▀█  █▄▀   █     █▀██▀▄█▄██▀██  ▄ ▄▀ ▀▄ ▀█ ▀▄▄ ▄▀▀▄  █   
    ▄█▄ ▀▀█  █▄▀     █ ▄▄ ▀ ▄▄▀▀▀█ ▀▄ ▀▀███▄▀▀▄  ▀██▀████▀█▄  ▀▀   
  ▄█▄ ▀▀█  █▄▀        ▀██▀▀▄█ ▄▀█ ▄ ▀▀ █▄ ▄█ ▄ ▄▀▄█  █  █▄ ▀▄█     
▄█▄▄█▀█  █▄▀                 █  █   ▄▀ ▀▀▀▀▀██▀▄█ ▀ █▀ ▄▀▀██ █     
▀█▀  █ █▄▀                    ▀▄▄▀  █      ▀▄▄▀▀▄▄▀▀  ▄▀▀ █▀██▄    
▄▀  ██▄▀                            ▀▄█▀ ▄███▀   ▄█▀▀█ ██▀▄▀█▀▀▄   
▀▄█▀ ▀                                ▀▀    ▀▀    ▀▀ █▀█▄▀█ ▀████  
  ▀▀                                                     ██ ▀▀ ▀▀  
                                                      ▄▀ █▀▄▄█▀▀█▄█
                                                      ▀▄█▀ ▀  ▀▄▄▀ 
                                                        ▀▀         

El giro se hace sin ángulos: con y creciendo hacia abajo, como en una pantalla, girar a la derecha es convertir la dirección (dx, dy) en (-dy, dx), y girar a la izquierda, en (dy, -dx). En la salida se ve la mancha del caos arriba a la derecha y la autopista bajando en diagonal hacia la izquierda. Como no hay ningún azar, el resultado es idéntico cada vez que se ejecuta, en cualquier ordenador.

Por qué fascina

En el juego del caos, el azar acababa dibujando una figura perfecta. La hormiga de Langton es lo contrario: no tiene nada de azar, sus reglas caben en una línea y se puede simular con lápiz y papel, y aun así su comportamiento no se puede predecir sin ejecutarla paso a paso. Es uno de los ejemplos más claros de emergencia: un comportamiento complejo que no está escrito en ninguna de las reglas, sino que sale de cómo se combinan. Es la misma idea que ayuda a entender cómo las hormigas reales organizan un hormiguero sin que ninguna lo dirija. Y es también un recordatorio útil para cualquier programador: que un código sea corto no quiere decir que sea fácil saber lo que hará.

Fuentes: Christopher G. Langton, «Studying artificial life with cellular automata», Physica D (1986); A. Gajardo, A. Moreira y E. Goles, «Complexity of Langton’s ant», Discrete Applied Mathematics (2002); la página de Wikipedia sobre la hormiga de Langton. Las cifras de la autopista (paso 9,976, ciclo de 104 pasos, dos casillas en diagonal y doce casillas negras por ciclo) las hemos comprobado simulándola. El programa se ejecutó con Python 3.13. La animación y las imágenes, incluida la portada, las genera el propio algoritmo: decodigo.com.