Profile

The engineer behind the notebook.

I'm José Manuel, a firmware and software engineer based in Valencia, Spain, with an R&D background. I write firmware in C for industrial hardware and developer tooling in Go, and I maintain 29 public repositories of my own on GitHub (60 counting forks), which have collected 396 stars between them. Since May 2026 I have been looking for my next role in firmware, software or QA, on-site, remote or hybrid.

I came to engineering from acoustics and instrumentation — a degree in Telecommunication Engineering and a Master's in Acoustical Engineering, followed by four years of predoctoral research at the UPV (2019–2023) on ultrasound and acoustic metamaterials, before redirecting toward software. That period left 14 academic publications behind it: one journal article, eleven conference papers and two theses. I still gravitate to problems that sit where signal, system and software meet.

Between 2023 and 2026 I built industrial embedded firmware in C on STM32 and FreeRTOS for solar inverters and battery storage: low-level optimization, industrial communications (Modbus) and hardware test automation. The open-source half of the work is the measurable one: my two MCP servers have been pulled more than 7,500 times from Docker Hub, gitlab-mcp-server has published more than 50 versions to the official Model Context Protocol registry, and more than 15 of my papers, theses and software releases are archived with a DOI on Zenodo.

This site is my notebook: what I learn I write down, what I build I publish.

José Manuel Requena Plens

I build

  • I write embedded firmware in C for STM32 and FreeRTOS.
  • I automate hardware testing and industrial Modbus communications.
  • I publish MCP servers and developer tooling written in Go.
  • I self-host the infrastructure that serves this site and its 17 web tools.

I write about

  • Firmware & low level
  • Networking (MikroTik, nginx)
  • Homelab & security (CSP)
  • Acoustics & DSP

Say hi

Featured open source

Go · Model Context Protocol server

Open-source GitLab MCP server that exposes 850+ GitLab actions (1,000+ depending on edition and deployment) to AI assistants through a dynamic 2-tool find/execute design, with stdio/HTTP/OAuth transports and safe & read-only modes.

Python · DSP · Acoustics

Standards-conformant acoustics library: sound level metrology, psychoacoustics, room, building, environmental and underwater acoustics, vibration, electroacoustics and wave simulation — every method implemented from the standard, with 1447 CI-enforced conformance checks across 97 domains and 477 standards. Formerly PyOctaveBand.

Go · Firewall · MikroTik · WAF

CrowdSec bouncer for MikroTik RouterOS: feeds the collaborative IPS/WAF CrowdSec decisions into the RouterOS firewall (address lists) through its API, blocking malicious IPs in real time.

LaTeX · Academic template

LaTeX template for Bachelor's and Master's theses at the University of Alicante (EPS), with an automated CI build pipeline.

Education

  • 2019–2023
    Predoctoral research — Health & Wellness Technologies UPV · i3M / UMIL Acoustic metamaterials & ultrasound imaging; redirected to industry.
  • 2019
    Master's in Acoustical Engineering UPV · EPSG Gandia Graduated with honors; thesis with special distinction.
  • 2018
    Degree in Telecommunication Engineering (Sound & Image) University of Alicante Acoustic Engineering + Audiovisual Technology.

// EDITORIAL & CORRECTIONS

Everything published here comes from work actually done: commands run on real hardware and real servers, configuration quoted from systems that are running it, and, where a guide depends on a specific software version, that version stated in the article. Claims that are not mine to make — protocol behavior, cryptographic properties, vendor defaults — are checked against primary sources (RFCs, standards bodies, vendor documentation) and cited, and links are re-checked automatically in CI, except for a documented list of domains that reject automated checkers.

Each post carries an AI-assistance disclosure, so here is exactly what it means. AI tools help with drafting, structure, copy-editing and the Spanish translation. They do not decide what is true: every command, configuration snippet and measurement is executed and verified by me before it ships, and nothing is published straight from a model's output. The Spanish version is a translation of the same verified material, not a separately generated article.

If something here is wrong, tell me. A short email with the article and the problem is enough — no account, no form. Vulnerability reports have their own channel and PGP key in security.txt.

Corrections are made in the article itself rather than in a comment thread. The revision date shown on the page and in its structured data is not maintained by hand: it is computed at build time as the most recent of four things — when the article was published, any date I set on it deliberately, the last time I re-tested it against the software versions it names, and the last commit that changed its substance — so it cannot fall behind the text, including when the change is a small one. Mechanical changes — a formatting pass, a link attribute, a typo — leave the dates alone. The ones that predate this rule are listed by commit hash, each with the reason it qualifies, in the module that computes the date (src/utils/post-dates.ts); any later one declares itself in its own commit message. There is no per-article changelog; the record of what changed, and when, is the full edit history of this site, which is public in its repository.

Frequently asked questions

Who is José Manuel Requena Plens?

A firmware and software engineer based in Valencia, Spain, with an R&D background in acoustics: a degree in Telecommunication Engineering, a Master's in Acoustical Engineering and four years of predoctoral research at the UPV (2019–2023). Between 2023 and 2026 he built industrial embedded firmware in C on STM32 and FreeRTOS for solar inverters and battery storage, and he maintains 29 public repositories of his own on GitHub. Since May 2026 he has been looking for his next role in firmware, software or QA, on-site, remote or hybrid.

What software does he maintain?

Several Model Context Protocol servers written in Go (among them gitlab-mcp-server, which exposes 850+ GitLab actions, and libgen-mcp), phonometry (a standards-conformant acoustics library for Python), cs-routeros-bouncer (a CrowdSec bouncer for MikroTik RouterOS), Cloudflare-DNS-Updater, the 17 web tools on this site, and Kleidos, a hardware password manager in C++ built in eight variants for different devices, each with its own screen and buttons, and the source of the firmware series on this blog.