Sobre mí
Hola, soy Marc-Alexis. Pues eso, tengo 23 años, eh… esta es mi web personal. Debajo hay iconos con todo eso, y puede hacer clic en los iconos para ver información variada sobre mí.
Los libros que recomiendo
Once libros entre los que más citan mis notas, y el mío. Abra uno: su autor le espera en la primera página.
Né pour briller — Marc-Alexis Manso-Peters
Veintitrés años de luchas, dudas, NixOS y leche de soja: la conmovedora historia de un hombre que corrió 21,1 km sin rendirse nunca (último de su categoría) y configuró su cepillo de dientes desde una terminal. Una autobiografía, aparentemente en serio. En francés.
Lo que me quedo — Un poco cada día. Así se termina, aunque sea el último.
Fluir (Flow) — Mihály Csíkszentmihályi
Un psicólogo describe el «flow», un estado de absorción total en una actividad, y muestra cómo provocarlo en el trabajo, en el ocio y en las relaciones.
Lo que me quedo — Los mejores momentos no son pasivos, sino activos.
Factfulness — Hans Rosling, Ola Rosling, Anna Rosling Rönnlund
Los autores muestran que nos equivocamos sistemáticamente sobre el estado del mundo, y describen diez instintos que distorsionan nuestra lectura de las cifras.
Lo que me quedo — El mundo no está dividido en dos.
How to Live — Derek Sivers
Veintisiete capítulos dan cada uno una respuesta distinta, a menudo contradictoria, a la pregunta de cómo vivir. Una conclusión los une.
Lo que me quedo — Probarlo todo, esperar que nada funcione.
El arte como terapia — Alain de Botton, John Armstrong
Los autores proponen mirar obras de arte conocidas como herramientas para la vida cotidiana, y las relacionan con el amor, el trabajo, la naturaleza, el dinero o la política.
Lo que me quedo — El arte como herramienta de crecimiento personal.
Roba como un artista — Austin Kleon
Un libro breve, sacado de una charla dada a estudiantes, en diez principios sobre la creatividad. La idea central: todo trabajo creativo se apoya en influencias.
Lo que me quedo — La carga de la originalidad absoluta.
Generación dopamina — Anna Lembke
Una psiquiatra explica, a partir de la neurociencia y de casos de pacientes, cómo la búsqueda de placeres fáciles lleva a la adicción, y cómo recuperar el equilibrio.
Lo que me quedo — La balanza dolor-placer.
Lo inevitable — Kevin Kelly
El autor describe doce tendencias tecnológicas que, según él, transformarán la vida cotidiana durante treinta años, entre ellas compartir, filtrar y el acceso en lugar de la posesión.
Lo que me quedo — La tecnología tiene tendencias inevitables.
Una teoría de todo — Ken Wilber
Ken Wilber presenta su teoría «integral», que quiere unir cuerpo, mente, alma y dimensión espiritual, y la aplica a la empresa, la política, la medicina y la educación.
Lo que me quedo — Por qué fracasan los debates entre niveles de conciencia.
Anything You Want — Derek Sivers
Derek Sivers saca cuarenta lecciones de la creación, el crecimiento y la venta de CD Baby, y defiende una empresa centrada en sus clientes más que en el beneficio.
Lo que me quedo — Los negocios no son una cuestión de dinero.
Raza e historia — Claude Lévi-Strauss
Un texto escrito en 1952 para la UNESCO. Lévi-Strauss rechaza en él toda jerarquía entre las culturas, y muestra que el progreso nace de los intercambios entre ellas.
Lo que me quedo — Todas las culturas se mueven, pero no en la misma dirección.
Die With Zero — Bill Perkins
El autor propone gastar el dinero en vida, en experiencias, en lugar de acumularlo hasta la muerte, y da un método para planificar esos gastos según la edad.
Lo que me quedo — El dinero sirve para vivir experiencias.
Por qué aprendo chino
Porque me encanta la robótica, y en robótica, los jefes son China.
Y China va a ser la número uno del mundo en influencia. Así que, igual que hay que aprender inglés, yo tengo que aprender chino.
Chip NFC
Tengo un chip bajo la piel. Un flexNT: una etiqueta NFC flexible de biopolímero, colocada en el dorso de la mano izquierda, debajo del meñique. Pasiva, sin batería: solo se despierta en el campo de un lector. Aquí está, a la izquierda.
- Tipo
- NFC / RFID
- Frecuencia
- 13,56 MHz
- Chip
- NTAG216 — 924 B
- Tamaño
- 9 × 22 × 0,4 mm
- Carcasa
- Biopolímero flexible, USP Class VI
- Alimentación
- Pasiva, cero baterías
Lo que hago con él
- Desbloquear el teléfono con un toque
- Compartir mi vCard acercando la mano
- Abrir una URL: esta web, por ejemplo
- Guardar un pequeño secreto
- Incomodar ligeramente a la gente en las fiestas
Se acerca un teléfono, y responde. Es lo único que hace, y ya es demasiado.
¿Por qué hacer eso?
Porque podía. Porque convertir una parte de mi cuerpo en un mando a distancia es justo el tipo de cosa inútil y maravillosa que me define.
También es una pequeña declaración: el cuerpo es un terreno de juego, no algo fijo. Entre esto, mi segundo cerebro en Obsidian y algunas escarificaciones elegidas, el combo firma una identidad: excéntrica, tecnológica, primitiva.
La operación
Las preguntas que todo el mundo hace
¿Duele?
Un pinchazo fuerte, dos segundos. Menos que un tatuaje, y bastante más friki.
¿Te pueden rastrear por GPS?
No. Es pasivo, sin batería, con un alcance de pocos centímetros. Nada de GPS, ninguna emisión espontánea. Tranquilícense.
¿Y en una resonancia magnética?
Una etiqueta flexible de biopolímero suele pasar sin problema, pero siempre aviso al técnico. Toda precaución es poca.
¿Se puede quitar?
Sí, basta con una pequeña incisión. Pero, sinceramente, ¿por qué iba a hacerlo?
¿Es el chip 5G de Bill Gates?
Exacto. Me manda un SMS cada mañana para preguntarme qué tal. (No.)
¿Es legal?
Legal en Francia bajo supervisión médica. Los Países Bajos tienen el mejor marco (licencia obligatoria para los estudios), Suecia es líder mundial por habitante, y en Estados Unidos varía según el estado.
Una media maratón bajo LSD
El 23 de abril de 2023 corrí el Semi-Marathon de la Presqu’Île, 21,1 km, bajo 200 microgramos de LSD-25, es decir, el doble de una dosis normal. Terminé. Es más o menos lo único halagador que se puede decir.
- Prueba
- Semi-Marathon de la Presqu’Île
- Fecha
- 23 de abril de 2023
- Distancia
- 21,1 km
- Sustancia
- LSD-25, 200 µg (dosis normal: 100)
- Tiempo oficial
- 2 h 51 min 14 s
- Tiempo real
- 2 h 48 min 09 s
- Velocidad
- 7,5 km/h
- Clasificación
- 1823.º de 1840
- En mi categoría
- 21.º de 21
- Club declarado
- Le Semi Diabolique
Descargo legal
Esta página web contiene un relato completamente ficticio de una media maratón corrida bajo los efectos del LSD. Todo el contenido aquí presentado es una obra de ficción creada únicamente con fines de entretenimiento y de información educativamente educadora.
El autor nunca ha consumido LSD ni participado en la actividad descrita. Cualquier parecido con hechos reales, con personas vivas o fallecidas, o con experiencias vividas es pura coincidencia.
Este sitio no constituye en ningún caso una incitación al consumo de sustancias ilícitas ni a la práctica de actividades deportivas. Como la petanca, el voleibol o el baloncesto.
El autor y los gestores de este delirante sitio web declinan toda responsabilidad en cuanto a:
- Las acciones emprendidas por los lectores tras la lectura de este contenido
- Cualquier interpretación errónea del carácter ficticio de este relato
Dietilamida de ácido lisérgico. Un psicodélico: deforma la percepción, el estado de ánimo y la manera de pensar. Alucinaciones visuales y auditivas, y sobre todo un tiempo y un espacio que ya no se miden igual.
Se toma en un secante, un cuadradito de papel sobre la lengua. Los efectos duran de seis a doce horas y varían muchísimo según la dosis, el lugar y el estado de ánimo de quien lo toma. Yo, en este caso.
Una dosis normal son cien microgramos. Un microgramo es una millonésima de gramo: o sea, nada. Yo me tomé doscientos.
LSD-25, para ser exactos. Existen otros, pero es el único que se ha estudiado en serio. De los demás no se sabe casi nada, lo cual es razón suficiente para no probarlos.
Estas sustancias no son legales y se consiguen por vías poco claras. Por cierto, para comprar LSD, basta con ir a
La medalla de finisher, y el diploma que la acompaña. 1823.º de 1840, pero finisher de todos modos.
Último de mi categoría, de veintiún participantes. El certificado lo dice negro sobre blanco; sería una pena esconderlo.
La foto es la del recorrido, tomada ese mismo día. Mueva la línea.
Lo que hace, exactamente: las superficies respiran. Una pared lisa empieza a ondular muy despacio, como vista a través del agua. Los motivos regulares, la grava, el follaje, el revoque, se reorganizan en dibujos que parecen haber estado siempre ahí. Los colores se saturan, los contornos se doblan con un ribete. Nada de esto se parece a una película: no es una imagen pegada delante de los ojos, es el mundo de siempre que se vuelve inestable por los bordes. Y durante tres horas de carrera, no para nunca.
Lo que me llevo
- El LSD no ayuda a correr. Aguanté a pesar de él, no gracias a él.
- El esfuerzo acorta los efectos: cinco horas en lugar de las ocho a doce anunciadas. Eso es lo único realmente curioso de la historia.
- Los datos objetivos importan cuando la percepción ya no vale nada. El reloj hizo el trabajo que mi cabeza ya no hacía.
- Sentirse perseguido por lo que uno ve es una motivación temible para seguir avanzando.
- Sigo odiando correr igual que antes. Hay cosas que no cambian.
Preguntas y respuestas
¿Por qué hacer eso?
Tenía diecinueve años, había leído un libro sobre un tío que hizo ochenta kilómetros en ese estado, y el libro era malo pero la idea me persiguió durante meses. No hay mejor razón.
Es legal, ¿no?
No. El LSD está clasificado como estupefaciente en Francia: un año de cárcel y 3 750 € de multa por consumo. No voy a fingir lo contrario.
¿Te hizo correr más rápido?
7,5 km/h y último de mi categoría. Juzgue usted.
¿Corriste con tu madre?
Sí, estaba en el recorrido. Sabía lo que me había tomado, y ella no tomó nada: corrió sobria, como una persona normal. Lo aclaro porque la siguiente pregunta siempre es esa.
Pues sí, soy
- Vengeur
- Entièrement
- Gainé,
- Adversaire
- Nocturne
Con un pasamontañas negro de justiciero, en un sótano. El texto cubre la imagen, en francés: «non merci, je ne vais pas prendre de côtes de porc, je vous remercie cependant pour votre offre» — no, gracias, no voy a tomar chuletas de cerdo, aunque le agradezco el ofrecimiento.
De noche, de brazos cruzados contra una pared de ladrillo bajo una farola, con capa y antifaz negros. Arriba, en letras verdes: «Super-hero VEGAN».
Con un traje de superhéroe azul y rojo, capa roja, antifaz negro y puños en las caderas, en medio de un garaje. Abajo, en grandes letras amarillas: «VEGAN».
Las preguntas
No, mi mayor felicidad no es ni mi familia ni mi novia, sino estos dos bricks. Soja vainilla™ y Soja chocolate™.
¿Y de dónde sacas las proteínas?
Lentejas, garbanzos, tofu, seitán, cereales. No pienso en ellas más a menudo de lo que usted piensa en las suyas. La Academia Estadounidense de Nutrición y Dietética dice que las dietas veganas son adecuadas para todas las etapas de la vida, incluidos los deportistas de alto nivel. Pero gracias por preocuparse por mí.
¿Tienes carencias?
No. Una pastilla de B12 a la semana. La B12 la fabrican bacterias, no animales. Un filete tiene B12 porque a la vaca le dieron suplementos o porque comió bacterias.
Las plantas también sufren, ¿no?
No, idiota, mira que eres tonto. Las plantas no tienen nociceptores ni sistema nervioso. Es Biología de 1.º de la ESO. (gilipollas)
El león bien que come carne.
¿Eres un león, gilipollas? ¿Tu León™ tiene un iPhone 17 Pro Max de gilipollas?
Ya, pero es la naturaleza.
El león mata a las crías de sus rivales, pero qué curioso que solo para la carne se le puede poner de ejemplo porque cuando yo mato a los hijos de un competidor os ponéis a lloriquear porque he matado a vuestro crío. Hay que aclararse en algún momento, joder ya.
Yo no podría, me gusta demasiado el queso / la carne / insertar algo que no como pero que a usted le encanta.
vale. no recuerdo haber preguntado eso sí, tened cuidado.
¿Cuál es tu salario anual?
¡Bueno, esto ya no tiene absolutamente nada que ver con el veganismo! Pero lo entiendo, la pregunta es legítima pero el contexto no se presta.
El ser humano es omnívoro por evolución.
La evolución humana es descriptiva (lo que pasó), no prescriptiva (lo que debería ser). La evolución también nos dio la agricultura, la cocción y los supermercados. Si seguimos la lógica evolucionista, deberíamos comer carne cruda.
¿Eres ejemplar?
¿Como individuo? Sí, absolutamente, soy un ejemplo para todo el mundo. Sin embargo, en cuanto a veganismo, no: es verdad, y lo confieso, a veces compro Kinder Country llenos de leche. Pero es que están buenísimos, me cago en todo, no puedo resistirme a los cantos de sirena del capitalismo a estas alturas. Y a veces mato vacas con un cuchillo, también por placer.
Mis prácticas en Kyber
El puesto
Desarrollador de sistemas embebidos, en prácticas. No un único tema durante seis meses: demos, varios frentes en paralelo, y hay que adaptarse.
Mis fotos de las prácticas: yo en la oficina, con el cono de VLC de sombrero; luego mi puesto, un portátil entre las dos mitades de mi teclado partido.
- Puesto
- desarrollador de embebidos, en prácticas
- Desde
- septiembre de 2026, hasta principios de febrero
- Estudios
- M1 de sistemas embebidos, EFREI Paris
- Lenguajes
- Rust, C y C++
- Sistemas
- ESP-IDF, Linux embebido construido con Yocto
- Robótica
- ROS 2, MAVLink
- En el banco
- KiCad, soldador, multímetro, fuente de laboratorio
Lo que hago allí
Varios proyectos a la vez, nunca un solo tema durante seis meses: un banco que mide la latencia de una pantalla, un perro robot que camina pilotado a distancia, y placas electrónicas que diseñar y revisar. Una página para cada uno, justo después.
Qué es Kyber
Kyber pasa el vídeo, el sonido, los mandos y la telemetría por un solo enlace, con el mismo reloj, con 8 a 10 ms de extremo a extremo. El SDK es de código abierto (AGPL v3), y detrás está el equipo que hizo VLC. Sí, el cono naranja.
Por qué 8 ms
Según Kyber, la coordinación ojo-mano va de 30 a 50 ms. Por debajo, el robot ya no reacciona después del gesto, sino durante. Su frase: a 200 ms miras, a 8 ms pilotas.
Medir la latencia
Mi proyecto principal es un banco que mide el tiempo entre pulsar una tecla y el momento en que cambia la imagen. ¿Cómo? ███████ ██ █████████ ███, y ████ █████████ ██████. Proyecto interno, expediente censurado.
- La tableta
- ██████ ████, con ████████
- El firmware
- en Rust, sobre ██████
- El sensor
- [DATOS ELIMINADOS]
- Los modos
- ███ ████ ██████, ██ ████ ███████
- El resultado
- [DATOS ELIMINADOS]
La regla de partida
Al principio pusimos una regla: nada complicado que pueda romperse, aunque cueste █ ms de precisión. Así que descartamos ███ ████████████ ██████, y ████████ ██ █████ en un teclado de verdad.
La interferencia
Una interferencia de ██ Hz desplazaba todas las mediciones. La causa: ████ ██████████ pegada a los ████ del ████████. [DATOS ELIMINADOS]
La soldadura
Perdí hora y media con el montaje, y al final era una soldadura. Desde entonces reviso cable por cable desde el principio, y mido antes de culpar a un componente.
La prueba A/B
Antes de culpar a una nueva versión del firmware, hago una prueba A/B: el mismo montaje, las dos versiones, con cinco minutos de diferencia. Esa vez, la nueva versión no tenía nada que ver.
Los robots
Un perro robot que hacer andar, pilotado con un mando a través de Kyber. Y la robótica del equipo, vista desde un poco más lejos.
El Mini Pupper en mi mano, y mi cara en la pantalla de detrás; un cronómetro filmado por la cámara del rover y devuelto a la pantalla; un reloj al milisegundo, junto a la pinza del rover.
- El robot
- Mini Pupper 2, un cuadrúpedo de código abierto de Mangdang
- Dentro
- una Raspberry Pi CM4, y un ESP32-S3 para los servos
- El sistema
- una imagen Linux construida con Yocto
- El control
- un mando, a través de Kyber
- Protocolos
- MAVLink, UDP
La migración
El software del perro está hecho para Ubuntu. Mi tarea: llevarlo a una imagen Yocto, con la cámara, la pantalla, la placa de los servos, la marcha y el mando.
Leer lo que se ejecuta
La placa de los servos no respondía: el software oficial abría un puerto serie con su nombre antiguo, y el sistema que venía con el perro funcionaba con una versión corregida. Lección: leer lo que se ejecuta, no solo el repositorio.
Desde más lejos
Un bus NMEA 2000 en un barco, una cámara GMSL2 en una pequeña placa Linux: investigaciones para proyectos que llevan otros.
Las placas
Placas electrónicas: dibujarlas, revisarlas, arrancarlas.
Una placa que se enciende por primera vez, con su LED verde. Luego la fuente de laboratorio, a 5,16 V.
- Software
- KiCad: esquema, rutado, ERC y DRC
- Formato
- HAT de Raspberry Pi
- Microcontroladores
- SAMD21, RP2354A, ███████
- Firmware
- PlatformIO, y algo de Rust
- En el banco
- fuente de laboratorio, multímetro
El stock
El mejor regulador sobre el papel no tenía stock en el ensamblador. Lección: la disponibilidad decide tanto como la hoja de datos.
Revisar
Revisar las placas de los demás, desde cero. Un error que no repetir: comprobar las pistas y las zonas de cobre antes de afirmar un ancho.
Arrancar
Una placa nueva con SAMD21 no hace nada sola: un firmware de prueba, ensayos desde el PC, y el procedimiento para flashearla.
Kyber
Kyber hace la infraestructura que controla máquinas a distancia, en tiempo real: robots, drones, vehículos, escritorios remotos. Estoy allí de prácticas de ingeniería desde septiembre de 2026.
- Qué es
- una infraestructura de control de máquinas en tiempo real
- En un solo enlace
- vídeo, audio, mandos y telemetría, sobre un mismo reloj
- Latencia
- de 8 a 10 ms de extremo a extremo, según anuncian
- Transporte
- QUIC y HTTP/3, cifrado de extremo a extremo
- El código
- un SDK de código abierto, con licencia AGPL v3
- Plataformas
- Windows, Linux, macOS, Android, iOS, cascos XR
- El equipo
- el que hizo VLC
Por qué 8 ms
Según Kyber, la coordinación ojo-mano funciona entre 30 y 50 ms. Por debajo, el robot no responde después del gesto, sino durante. A 200 ms, miras; a 8 ms, pilotas.
No es WebRTC
WebRTC se hizo para las videollamadas entre humanos, donde basta con 100 a 200 ms de latencia. Para pilotar una máquina, es demasiado: Kyber tiene su propio protocolo, y lo dice.
VLC
El equipo fundador hizo VLC, instalado en miles de millones de dispositivos, y contribuyó a FFmpeg, que codifica la mayor parte del vídeo de internet. Veinte años de vídeo, ahora al servicio de las máquinas.
Mi setup Linux
NixOS
Mis dos máquinas están descritas en un solo repositorio git, del núcleo al color del cursor. Nada entra ahí porque «ya estaba antes».
- Distribución
- NixOS, y home-manager para todo lo demás
- Método
- una flake, dos máquinas
- La torre
- dieu — i5-6400, Radeon RX 580
- El portátil
- ThinkPad P14s — Ryzen AI 7 PRO 350
- No libre
- aceptado paquete a paquete, nunca en bloque
La documentación
Cada página de documentación enumera los archivos que describe. Un commit que cambia la configuración sin actualizar su página se rechaza, y la web de la documentación se vuelve a publicar sola después de cada commit.
El escritorio
Hyprland ordena las ventanas, una barra escrita a mano dice lo que va mal, y todo es naranja sobre negro.
- Compositor
- Hyprland, configurado en Lua
- Una config
- para dos máquinas: lee su nombre
- Barra
- Quickshell, en QML
- Tema
- «braise» (brasa) — #ff6b1a sobre #0e0e0f
- Formas
- squircles, no esquinas redondeadas
- Fuentes
- Figtree, e Iosevka compilada en casa
La barra
Sustituyó a tres programas de golpe: la barra, el lanzador y las notificaciones. Su regla: si hay un problema, mostrarlo; si no, nada.
El fondo de pantalla
Una matriz de puntos luminosos, animada con un shader. Antes de ella: un túnel de neones, una foto, un cielo de cintas y un horizonte marino. Todos rechazados.
Cero atajos
Una config guardada a medias se cargó tal cual. Hyprland funcionó con cero atajos de teclado, sin un solo mensaje de error.
El terminal
Una ventana de kitty, una sesión de tmux. Es Hyprland quien divide en mosaico, no el terminal.
- Emulador
- kitty
- Multiplexor
- tmux
- Shell
- zsh en modo vi, starship
- Editor
- Neovim, descrito en Nix con nixvim
- Herramientas
- fzf, zoxide, eza, bat, fd, ripgrep
- Y además
- yazi, lazygit, btop
13,5
El tamaño de la fuente del terminal no es cuestión de gusto: está calculado para caer en píxeles enteros con la escala 4/3 de la pantalla.
Neovim
Toda su configuración está escrita en Nix, unas 1 400 líneas, con la tecla Espacio para empezar los atajos.
Willy Wonka
Mi teclado está partido en dos, es inalámbrico, y lleva el nombre de un chocolatero.
- Modelo
- Corne Choc Pro, de Keebart
- Conexión
- Bluetooth, una mitad por mano
- Pantallas
- una nice!view en cada mitad
- Firmware
- ZMK, compilado en casa
- Distribución
- QWERTY, modificadores bajo los dedos
- Capas
- seis
Las pantallas
Cada capa tiene su animación: auténticos accesorios de Charlie y la fábrica de chocolate (2005) girando en 3D. El Billete Dorado, la piruleta, la Wonka Bar, la pasta de dientes Smilex.
El nombre
Se llamaba Cyril Hanouna hasta el 4 de octubre de 2026.
El dictado
Una capa tiene dos teclas: una graba mi voz, la otra pega el texto transcrito.
Mis herramientas
Dos herramientas que escribí para mí, y que viven en el terminal: mis tareas y mi agenda.
- Stylite
- las tareas — servidor y CLI en Go, TUI en Rust, web en Svelte
- Comput
- la agenda — CLI en Python, TUI en Rust (ratatui)
- Dónde
- en mi servidor; mis dos máquinas le hablan directamente
- El calendario
- autoalojado, en CalDAV: el iPhone también lo lee
Stylite
El gestor de tareas casero. Una bandeja de entrada, hoy, próximamente, el registro de lo hecho; proyectos, secciones, plazos. Todas las tareas de esta web viven ahí.
Comput
La agenda: vistas de mes, semana, día y agenda, las citas en su sitio y con su duración, una al lado de otra si se solapan, y la línea de la hora actual. Sustituyó a khal y vdirsyncer.
La TUI
Una interfaz de texto, en el terminal, solo con teclado: j y k para moverse, ? para todas las teclas, una coma para abrir todas las órdenes. Nada espera: la primera pantalla sale de la caché, la sincronización sigue en segundo plano.
Los ajustes
Tema, distribución y teclas están descritos en mi config de NixOS y se comprueban en la instalación: una tecla asignada dos veces hace fallar la instalación, no el arranque. Las dos llevan el tema brasa.
La red de seguridad
Cada orden de Comput responde también en JSON, y cada escritura se puede deshacer: u anula la última, exactamente igual. Una cita cambiada mientras tanto en el teléfono no se sobrescribe, se rechaza.
Las manías
Lo que no sirve para nada, o casi.
Anticruasán
Aproveche mi ordenador desbloqueado para anunciar que invito a cruasanes a todo el mundo (en Francia, es la venganza clásica): el mensaje se sustituye, la webcam le saca una foto, y la pantalla se bloquea con «NADA DE CRUASANES PARA USTED». También reconoce «crwassan» y «tnassiorc».
La tapa
El punto rojo del logo de ThinkPad deletrea «marc-alexis» en morse, en bucle. El de aquí también, mírelo. No sirve para nada, y es a propósito.
juice
Una herramienta casera para la energía y la suspensión. Cambia de ajustes según dónde estoy, y corta el turbo del procesador para que el ventilador se calle.
Proyectos
Configuro mi cepillo de dientes desde un terminal. El resto va en la misma línea.
nothing-toolbox
nothing headtrack en un terminal, animado: unos cascos low-poly blancos, sobre un suelo cuadriculado, que siguen los movimientos de la cabeza: asienten, giran, se inclinan.
Una sola herramienta de línea de comandos para controlar mis cascos, los Nothing Headphone (1), desde Linux: cancelación de ruido, ecualizador, códec, batería, y su sensor de orientación. Sin teléfono, sin app, sin cuenta.
- Lenguaje
- Rust, con licencia MIT
- Conexión
- Bluetooth clásico, RFCOMM canal 15
- Tramas
- cabecera 0x55, CRC-16/MODBUS
- Probado con
- Nothing Headphone (1), modelo B170
- Desde
- octubre de 2026
Un solo canal
Los cascos solo aceptan una conexión a la vez: una segunda se rechaza. Así que un demonio se queda con el canal y sirve las demás órdenes por un socket local. Cambiar la cancelación de ruido tarda unos 0,3 s por sí solo, 50 ms a través del demonio.
Asentir con la cabeza
Los cascos envían su orientación en cuaterniones, unas diez veces por segundo. nothing headtrack --viz dibuja con ella unos cascos 3D low-poly en el terminal, estilo PS2; nothing gestures convierte un asentimiento en reproducir/pausa, y una sacudida en la pista siguiente.
El ecualizador
nothing eq edit dibuja la curva en el terminal y la envía a los cascos mientras se ajustan las bandas. La ganancia total se calcula exactamente como la calcula la app.
El protocolo
Está descrito en el repositorio, y cada dato lleva su estado: visto en los cascos, leído en la app, o deducido. Pasar de AAC a LDAC reinicia los cascos, que vuelven al cabo de unos 7 s.
laifen-toolbox
laifen tui en un terminal, animado: un cepillo de dientes low-poly de acero pulido gira sobre un suelo cuadriculado durante el cepillado, y el panel de los modos y la batería cuenta los segundos.
El mismo principio, para mi cepillo de dientes, un Laifen Wave: sus cuatro modos y sus ajustes, la duración del cepillado, el aviso de los 30 segundos, la batería, y una vista 3D del cepillo en el terminal. Sin teléfono, sin app, sin cuenta.
- Lenguaje
- Rust, con licencia MIT
- Conexión
- Bluetooth LE, a través de BlueZ
- D-Bus
- hablado a mano, sin biblioteca
- Tramas
- cabecera 0xAA, suma XOR
- Probado con
- Laifen Wave, modelo LFTB01-P
Se duerme
El cepillo se vuelve a dormir después de cada orden, y suele tardar unos veinte segundos en reaparecer; una vez, dos minutos. Por eso laifen shell encadena varias órdenes en una sola conexión.
Prudencia
El protocolo sabe resetear el cepillo o reescribir su firmware. laifen solo deja salir órdenes probadas en un cepillo de verdad, revisadas, y después deshechas; las demás no están escritas.
La vista 3D
laifen tui dibuja un cepillo low-poly de acero pulido, estilo PS2, sobre un suelo de espejo. Durante el cepillado, su cabezal oscila con la amplitud y la velocidad del modo, ralentizado para que se vea.
kishot
Una lámina de kishot: una placa electrónica en seis vistas 3D, desde arriba, desde abajo, de tres cuartos y de perfil, bajo una cabecera que la describe.
Convierte una placa KiCad en láminas que se pueden enviar: seis vistas 3D, el cobre capa a capa, cada una bajo una cabecera que dice qué placa es. Una orden, sin interfaz, la misma imagen cada vez.
- Lenguaje
- Python 3.9+, un solo archivo, sin dependencias
- Controla
- kicad-cli e ImageMagick
- KiCad
- versiones 9 y 10
- Licencia
- MIT
Lo que ha cambiado
kishot --diff compara la placa con una revisión git anterior: el cobre quitado en rojo, el añadido en verde, cada cambio rodeado con un círculo para que se vea una pista corta, y un GIF con fundido de una a otra.
Antes de pedir
Bajo demanda: una lista de materiales visual, los Gerbers redibujados por otra herramienta que no es KiCad, la serigrafía tal como la imprime el fabricante, y PDF a escala 1 para colocar los componentes de verdad sobre el papel.
Las pull requests
Una GitHub Action comenta una pull request con las láminas de las diferencias, y actualiza su comentario con cada push. Unos dos minutos y medio por pasada, sobre todo para descargar KiCad.
La vuelta
kishot -s spin hace girar la placa sobre sí misma a 20 imágenes por segundo, en un GIF pixelado como un juego de PS2.
Bouillon
La página de búsqueda de Bouillon, con la palabra «blue»: una cuadrícula de miniaturas, reducidas aquí a manchas de color.
Un archivo de imágenes, la mayoría venidas de Are.na. Cada una recibe sus etiquetas de Claude Haiku y un vector para la búsqueda semántica: se encuentra por una palabra, o por una idea cercana.
- Servidor
- FastAPI, SQLite y sqlite-vec
- Búsqueda
- por palabras clave, por el sentido, o ambas
- Terminal
- un cliente en Rust
- Mac
- una app nativa en Swift
Bajo demanda
El servidor solo funciona cuando se usa: una puerta lo arranca con la primera petición y lo detiene tras quince minutos sin visitas. El proceso de 2 GB solo funciona si sirve para algo.
En el terminal
El cliente en Rust muestra las imágenes en el terminal: imágenes de verdad en kitty, medios bloques en otros sitios. Un modo hace desfilar Are.na imagen a imagen; o te la quedas, o pasas.
En el Mac
Para la app nativa, el modelo CLIP convertido a Core ML: un coseno de 0,9997 con el original, en las imágenes. En un M4, 5 880 miniaturas pasan en 177 segundos.
juice
El panel de juice en un terminal: la energía del cargador hacia el sistema y la batería, la curva de las dos últimas horas, y el estado de la batería.
Una herramienta casera para la energía y la suspensión del portátil. Un binario, tres funciones: un panel en el terminal, un demonio que hace el trabajo, y las órdenes de la barra y del escritorio.
- Lenguaje
- Rust: ratatui, wayland-client
- Contexto
- la red, la corriente o la batería
- Inactividad
- el protocolo Wayland ext-idle-notify-v1
- Desde
- octubre de 2026
Los presets
Una lista de presets, cada uno con sus condiciones; se aplica el primero que se cumple. El archivo se vuelve a leer cuando cambia, sin reinstalar nada. Para que un wifi que se cae un segundo no cambie nada, solo se baja en la lista a la segunda lectura seguida.
El ventilador
Pasar al perfil equilibrado bajó el ventilador de 5 290 a 4 460 revoluciones por minuto, y el procesador de 80 a 67 °C. Cortar el boost lo limita a 2 GHz en lugar de 5,09: lo pesado va bastante más despacio, es el precio.
En caliente
Los temporizadores de inactividad pasan por un protocolo Wayland: los plazos se cambian sin reiniciar nada.
Monolithe
Cuatro pantallas de Monolithe en blanco y negro, una al lado de otra: el arranque, una losa negra dentro de un anillo de marcas; la cuadrícula de apps; Respirar, una columna que sube bajo la palabra «INHALE»; una página de The Time Machine.
Un firmware propio para un lector de tinta electrónica, el Xteink X4 Pro: el lector CrossPoint, más mis herramientas — las tareas y la agenda del día, una entrada de texto con teclado, un temporizador, un ejercicio de respiración. El nombre viene de 2001: una losa negra que se sostiene en la mano.
- Lenguaje
- C++, con PlatformIO
- Chip
- ESP32-S3, 8 MB de PSRAM, 16 MB de flash
- Pantalla
- tinta electrónica, 4,3 pulgadas, 800 × 480, blanco y negro
- Base
- un fork de CrossPoint Reader, con licencia MIT
- Desde
- octubre de 2026
Por qué un fork
CrossPoint ya maneja el hardware, la lectura, el Wi-Fi y el HTTPS. Pero el proyecto rechaza las apps interactivas y la conexión activa: las mías nunca subirán, así que el fork se queda personal. Partir solo del SDK era reescribirlo todo para perder el lector.
Nada se mueve
La tinta no sabe animar: blanco y negro, gris por tramado, un refresco rápido que deja fantasmas, o uno lento que tarda 1,7 s. El único movimiento fluido del aparato es su luz: Respirar la hace respirar, 5 s para inspirar, 5 s para espirar.
El espacio
El firmware ocupa el 90,9 % de su partición de flash, y una imagen a pantalla completa pesa 48 KB. Las fuentes están rehechas para 1 bit: un píxel es negro si está cubierto a la mitad, y ningún texto baja de 12 px.
El culpable
El heap fallaba en una de cada dos pasadas. La culpa no era del firmware, sino del emulador: su Wi-Fi falso escribía en memoria ya devuelta. Sorteado solo para el emulador; después, siete pasadas completas de siete sin un fallo.
Aún sin flashear
El lector todavía no había llegado: todo se escribió y se probó en un emulador que ejecuta el binario real. Las imágenes de esta página salen de ahí.
Stylite
La TUI de Stylite en un terminal, con tareas de demostración: a la izquierda las vistas y las áreas, a la derecha la vista Hoy, con sus tareas agrupadas por área y por proyecto.
Mi gestor de tareas, siguiendo el modelo de Things 3, pero en mi propio servidor: un servidor y cuatro maneras de escribirle — una TUI, una app web en el teléfono, una app para Mac y una línea de comandos para agentes de IA.
- Servidor
- Go y SQLite: una API REST, un WebSocket
- Terminal
- Rust, con ratatui
- Web
- SvelteKit, instalable, sin conexión
- En git
- desde mayo de 2026
Sin conexión
La app web guarda todos los datos en el teléfono. Una escritura se ve al instante, luego espera en una cola que se envía petición a petición cuando vuelve la red. Una tarea creada sin conexión lleva un número provisional, cambiado por el real al enviarse.
Dos cálculos, un resultado
Las vistas — hoy, próximas, el registro — las calcula el servidor, y la app web las rehace para funcionar sin conexión. Una prueba consulta 22 vistas en los dos lados y exige las mismas respuestas.
Para agentes
stylite-cli cubre toda la API y se describe a sí misma: el catálogo de sus comandos en JSON, el esquema de cada campo, códigos de salida estrictos. Una escritura por lotes se deshace entera si falla uno solo de sus pasos.
Deshacer
Cada escritura queda registrada. Deshacer el borrado de un proyecto devuelve todo lo que contenía.
spotify-terminal
spt en un terminal, en la página de un artista: sus canciones más escuchadas, sus álbumes y la barra del reproductor abajo. Las portadas se reducen aquí a unos pocos bloques de color.
spt, un reproductor de Spotify en el terminal: la biblioteca, la búsqueda, los artistas, los álbumes y el sonido en el ordenador, sin la app de Spotify. No oficial, necesita una cuenta Premium. Empezó como un fork de spotify-tui, de Fusor.
- Lenguaje
- Rust, con licencia MIT
- Reproducción
- librespot, en el mismo proceso
- Interfaz
- HTML y CSS, compilados en vistas de terminal
- Desde
- octubre de 2026
De dónde parte
spotify-tui ya sabía reproducir, buscar y recorrer la biblioteca. Encima, en 82 commits: las portadas, las páginas de artista, los me gusta, la cola, la letra sincronizada, la radio, los podcasts, las teclas de vim y un archivo de ajustes. Desde la versión 0.2.0 ya no es un fork.
HTML en un terminal
Las vistas son plantillas HTML y su CSS, compiladas en interfaz de terminal al construir y ligadas a un estado en Rust. El tema se pone sobre la hoja de estilos al arrancar: cambiarlo no exige recompilar.
Las portadas
Pasan por el protocolo gráfico de kitty, con caracteres Unicode que les guardan el sitio: también funcionan dentro de tmux. Cada imagen tiene su identificador, para que dos reproductores abiertos no se pisen.
El soplido
Un soplido en los auriculares: PipeWire ofrecía primero un formato de 8 bits; spt ahora conserva el de la tarjeta de sonido. La salida de audio se reabre sola cuando su flujo muere, y la música se apaga con un fundido al pausar.
Esta web
El inicio de esta web: el personaje en medio de un haz de torres de cristal cian, y el menú a la derecha.
La web que está leyendo: mi portfolio, recreado en el dashboard de una PlayStation 2. Fondo negro, torres de cristal cian, etiquetas amarillas, tarjetas de memoria.
- Interfaz
- Vue 3, Vite y Pinia
- 3D
- Three.js: el campo, los objetos, la cabeza
- Estilo
- CSS escrito a mano, sin framework
- El sonido
- las muestras de una PS2 de verdad
- El acuario
- un servicio de escritura en Rust
- Desde
- julio de 2026
Las torres
La consola de verdad dibuja una torre de cristal por juego, con su altura según el tiempo jugado. Aquí, una torre por cada puerta del inicio, con su altura según lo que hay para leer detrás.
Los objetos
Los objetos en 3D de esta página y de las fichas están escritos en código, y comparten una sola escena, prestada de una página a otra: un navegador solo aguanta una quincena de contextos WebGL.
En texto
Toda la web existe también en solo texto, en francés, inglés, japonés, español y chino, para los lectores de pantalla.
Los secretos
Dieciséis easter eggs, que se encuentran. El contador de la barra dice cuántos quedan, nunca dónde buscar.
Contacto
Lo más sencillo es un correo. Sin formulario, sin robot en medio: llega a mi buzón, y soy yo quien lo abre.
- Correo : contact@marc-alexis.com — Una pregunta, un proyecto, una idea rara: todo pasa por aquí.
- GitHub : github.com/marc-alexis-com — El código de mis proyectos públicos.
- CV : cv-marc-alexis-manso-peters.pdf — Una página, en PDF.
Sistema
Acceso concedido, pero no hay ningún teclado conectado. Conéctelo: se detectará solo.
Las torres
El dashboard de una PlayStation 2 dibuja una torre de cristal por cada partida guardada en la tarjeta de memoria. Aquí, una torre por entrada del menú: la que brilla es la que tiene debajo del cursor.
Los bloques
Los cubos violetas que van a la deriva son los bloques libres de la tarjeta. Todavía quedan, así que esta web no está terminada. No lo estará nunca.
La web antigua
Antes de esta, marc-alexis.com era otra web, en tres idiomas, con un sistema operativo completo y figuritas coleccionables. Está guardada en una tarjeta de memoria, en algún rincón del servidor.
Los modelos 3D
El cofre, el pecio, la barca, el ajolote y el martillo vienen de Sketchfab, con licencia Creative Commons: «Minecraft Chest» de Blender3D, «Fishing boat» de Pabooklas, «Minecraft boat» de vovash, «Minecraft Axolotl» de Marina Vildanova, «Toy Hammer» de Pedro Perim. Se redujeron de 41 MB a 344 KB para caber aquí. El cangrejo es Ferris: personaje de Karen Rustad Tölva, modelo 3D de RayMarch, de dominio público. Los dos sonidos del cofre vienen de Minecraft.
La cabeza
La cabeza de «Sobre mí» parte de FLAME 2023 Open, un modelo de cabeza del Max Planck Institute for Intelligent Systems (T. Li, T. Bolkart, M. J. Black, H. Li y J. Romero, SIGGRAPH Asia 2017), con licencia CC-BY-4.0. Se ajustó a cuatro fotos de Marc-Alexis, y luego se redujo a 1 342 triángulos.
Los logos
En la ficha de Linux, el copo de NixOS está redibujado en volumen a partir del logo de Tim Cuthbertson para el proyecto NixOS (CC BY 4.0), y el logo de Neovim a partir del de Jason Long (CC BY 3.0).
Las portadas
Las portadas de «Los libros que recomiendo» pertenecen a sus editoriales y a sus ilustradores. Se muestran en pequeño, para recomendar los libros, nada más.
Los retratos
Las fotos de los autores, en la página de cada libro abierto, vienen de Wikimedia Commons, recortadas y reducidas: Mihály Csíkszentmihályi por Ehirsh (dominio público), Hans Rosling por la Gapminder Foundation (CC BY 3.0), Derek Sivers por él mismo (CC BY-SA 4.0), Alain de Botton por Fronteiras do Pensamento (CC BY-SA 2.0), Austin Kleon por Larry D. Moore (CC BY 4.0), Anna Lembke por EthicsinSociety (CC BY 3.0), Kevin Kelly por Cmichel67 (CC BY-SA 4.0), Ken Wilber por el Kanzeon Zen Center (CC BY 2.0), Claude Lévi-Strauss por Bert Verhoeff para el Nationaal Archief (CC0), Bill Perkins por el World Poker Tour (CC BY 3.0). Las versiones recortadas de las fotos CC BY-SA siguen bajo la misma licencia.
Los logos de los proyectos
En la pantalla Proyectos, los logos de las tecnologías vienen de Simple Icons (CC0). Cada uno sigue siendo la marca de su propietario, citado para nombrar la herramienta; el de Rust está bajo CC BY-SA 4.0 (Rust Foundation), el de KiCad bajo GPL 3.0 o posterior, el de Wayland bajo licencia MIT. La placa de las láminas de kishot es la RoyalBlue54L Feather de Lord’s Boards, con licencia CERN-OHL-P v2.
Los caracteres chinos
En la página de chino, los caracteres punteados vienen de Make Me a Hanzi, de Shaunak Kishore, sacados de las fuentes Arphic PL KaitiM GB y UKai de Arphic Technology, bajo la Arphic Public License.
El perro robot
El Mini Pupper 2 de la ficha de Kyber es el modelo 3D oficial de MangDang (repositorio mini_pupper_ros, paquete mini_pupper_description), bajo licencia Apache 2.0. Sus piezas se aligeraron, se recolorearon al estilo del sitio y se le añadieron los ojos; sus articulaciones son las suyas.