Sala 13

Sala de máquinas

El colofón del museo: el código que lee, de qué está hecho el sitio, y cómo se construyó y se comprobó.

El código que lee

Cada sala lee OpenZFS zfs-2.4.4, la versión más reciente cuando empezó el trabajo, congelada en el commit 71a9f9578616a90c3c14bb59629fb4d31bfd68d1. Cada enlace al código en este sitio apunta a líneas de ese commit, nunca a una rama, de modo que sigue abriendo las líneas que se leyeron aunque el código evolucione.

Los extractos son citas breves de ese código, bajo la Common Development and Distribution License 1.0 (CDDL), cuyo copyright pertenece a sus autores: Sun Microsystems, Oracle, Delphix, el Lawrence Livermore National Laboratory y los colaboradores de OpenZFS, como indica la cabecera de cada archivo. Cada extracto nombra su archivo y sus líneas, y enlaza con ellas. Ninguno se ha copiado a mano: las páginas los leen al compilar desde ANALYSIS.md, que contiene 116, y una comprobación demuestra que cada uno es idéntico, byte a byte, a su archivo en el commit congelado. El sitio no redistribuye archivos de OpenZFS, y sus propias licencias no cubren los extractos.

De qué está hecho el sitio

Páginas
Astro 7.4.0 y TypeScript, compilados en HTML estático: el Vestíbulo, el Ala de la historia, 11 salas y esta, en inglés, en francés y en español, cada una en su propia dirección.
Figuras
SVG y TypeScript escritos a mano, sin framework de interfaz. La mayoría de las figuras ejecutan un pequeño modelo transcrito del código que muestran, probado con casos calculados a mano a partir de ese código. Aparte de unas pocas líneas para el tema y el idioma, JavaScript solo se ejecuta en las figuras, y cada figura tiene una alternativa en texto.
3D
Three.js 0.186.1, en el Vestíbulo y en las dos salas que son espaciales por naturaleza, el árbol y los vdevs. Solo se carga al abrir la vista 3D, después de la figura 2D, que sigue siendo la alternativa sin WebGL o con movimiento reducido.
Código
Shiki 4.5.0, que colorea los extractos al compilar.
Tipografía
Fraunces, Inter e Instrument Serif, servidas con el sitio.
Alojamiento
Archivos estáticos en Cloudflare Workers. Sin código de servidor, sin cookies, sin analítica: el navegador guarda dos preferencias en su almacenamiento local, el tema y el idioma.

Cómo se construyó

El sitio lo escribieron agentes de IA, a partir de una misión fijada por una persona que valida la publicación. El método era lo esencial, así que aquí está.

  • El código antes que las figuras. Antes de la primera figura, ANALYSIS.md cartografió la arquitectura y, para cada sala, las funciones y estructuras que constituyen su idea, con sus extractos. No se dibujó ninguna figura que no correspondiera a nada en el código.
  • Etapa a etapa. Catorce etapas, de ese análisis a esta sala, cada una construida de principio a fin: el modelo, la figura, los dos idiomas, las comprobaciones y las mediciones.
  • Una revisión por etapa. Un agente de QA independiente volvió a ejecutar cada figura, la cotejó con el código y leyó las capturas, y la etapa solo se fusionó una vez aprobada.
  • Comprobaciones en cada cambio. Las pruebas del modelo de cada sala; cada extracto y cada enlace al código cotejados con el commit congelado; cada nota de la historia cotejada con su fila en SOURCES.md (43 fuentes); la tipografía francesa comprobada en las páginas compiladas.
  • En un navegador real. Desde la primera página, Playwright capturó las páginas en los dos idiomas, los dos temas, en un teléfono y en un ordenador, y las recorrió solo con el teclado; Lighthouse las midió.
  • Las decisiones, por escrito. Cada decisión estructural, con las alternativas descartadas, está en DECISIONS.md, y cada etapa, con sus mediciones y lo que dejó pendiente, en BUILDLOG.md.

El repositorio

Las fuentes y estas notas: github.com/algotitanhq/uberblok. El código del sitio está bajo licencia MIT, sus textos e ilustraciones bajo CC BY 4.0, y los extractos bajo la CDDL, como se indica arriba. Uberblok no está afiliado al proyecto OpenZFS.

La visita termina aquí. El plano de la visita lleva de vuelta a todas las salas.