Perfil
El ingeniero detrás del cuaderno.
Soy José Manuel, ingeniero de firmware y software en Valencia, con base en I+D. Escribo firmware en C para hardware industrial y herramientas de desarrollo en Go, y mantengo 29 repositorios públicos propios en GitHub (60 contando los forks), que suman 396 estrellas. Desde mayo de 2026 busco mi próximo puesto en firmware, software o QA, presencial, remoto o híbrido.
Llegué a la ingeniería desde la acústica y la instrumentación —un grado en Ingeniería de Telecomunicación y un Máster en Ingeniería Acústica, y después cuatro años de investigación predoctoral en la UPV (2019–2023) sobre ultrasonidos y metamateriales acústicos— antes de reorientarme al software. De esa etapa quedan 14 publicaciones académicas: un artículo de revista, once comunicaciones en congresos y dos tesis. Sigo prefiriendo los problemas donde la señal, el sistema y el software se tocan.
Entre 2023 y 2026 desarrollé firmware embebido industrial en C sobre STM32 y FreeRTOS para inversores solares y almacenamiento en baterías: optimización de bajo nivel, comunicaciones industriales (Modbus) y automatización de pruebas sobre hardware. La parte open source es la medible: mis dos servidores MCP acumulan más de 7.500 pulls en Docker Hub, gitlab-mcp-server ha publicado más de 50 versiones en el registro oficial del Model Context Protocol, y más de 15 de mis artículos, tesis y publicaciones de software están archivados con DOI en Zenodo.
Este sitio es mi cuaderno: lo que aprendo lo escribo, lo que construyo lo publico.

// EDITORIAL Y CORRECCIONES
Todo lo que se publica aquí sale de trabajo realmente hecho: comandos ejecutados en hardware y servidores reales, configuración citada de sistemas que la están ejecutando y, cuando una guía depende de una versión concreta del software, esa versión indicada en el artículo. Las afirmaciones que no son mías —comportamiento de un protocolo, propiedades criptográficas, valores por defecto de un fabricante— se contrastan con fuentes primarias (RFC, organismos de estandarización, documentación del fabricante) y se citan, y los enlaces se vuelven a comprobar automáticamente en CI, salvo una lista documentada de dominios que rechazan a los verificadores automáticos.
Cada post lleva una declaración de asistencia por IA, así que esto es exactamente lo que significa. Las herramientas de IA ayudan a redactar, estructurar, pulir el texto y traducir al español. No deciden qué es cierto: cada comando, fragmento de configuración y medición se ejecuta y se verifica antes de publicarse, y nada sale directamente de la salida de un modelo. La versión en español es una traducción del mismo material verificado, no un artículo generado aparte.
Si algo de aquí está mal, dímelo. Basta con un correo breve indicando el artículo y el problema: sin cuenta y sin formulario. Los informes de vulnerabilidades tienen su propio canal y su clave PGP en security.txt.
Las correcciones se hacen en el propio artículo, no en un hilo de comentarios. La fecha de revisión que se muestra en la página y en sus datos estructurados no se mantiene a mano: se calcula en tiempo de compilación como la más reciente de cuatro cosas —cuándo se publicó el artículo, cualquier fecha que yo le ponga a propósito, la última vez que lo volví a probar contra las versiones de software que nombra, y el último commit que cambió su sustancia—, así que no puede quedarse atrás respecto al texto, ni siquiera cuando el cambio es pequeño. Los cambios mecánicos —un retoque de formato, un atributo de enlace, una errata— no mueven las fechas. Los anteriores a esta regla están listados por hash de commit, cada uno con el motivo que lo justifica, en el módulo que calcula la fecha (src/utils/post-dates.ts); cualquiera posterior se declara en su propio mensaje de commit. No hay un registro de cambios por artículo: el registro de qué cambió, y cuándo, es el historial completo de ediciones de este sitio, que es público en su repositorio.
mail jmrp io security.txt