Blog
Notes on open-source maintenance, AI-assisted development, and building products in the open.
Introducing @alosha/xlsx: a modern Excel library for TypeScript
The npm spreadsheet shelf went stale. @alosha/xlsx is an ESM-first, dependency-light .xlsx reader and writer with an ExcelJS-compatible shim and a low-memory streaming writer.
July 8, 2026 · Eduardo Latest
What it takes to parse a Garmin .FIT file
FIT is a binary protocol, not a text format. Semicircles, scaled fields, self-describing messages and half-counted cadence — here's what's actually inside a .fit, and what Stride absorbs so you don't have to.
June 30, 2026 · Eduardo Read
The math behind offline validation: Modulo 97 and the 11-proef
A regex checks the shape of an IBAN or a BSN. The check digit proves it could be real. Here's the arithmetic that makes offline validation possible — worked out by hand.
June 29, 2026 · Eduardo Read
Website monitoring that lives in your repo
Most uptime tools are dashboards you log into. Monitor is a config file and two commands — real-browser checks, alerts and reports, versioned with your code.
June 17, 2026 · Eduardo Read
Why we built Stride
Parsing a run sounds simple until you meet GPX, TCX and FIT in the wild. Stride turns any of them into clean metrics and charts with zero config.
June 16, 2026 · Eduardo Read
Introducing eu-validate: offline EU identifier validation
Checksum-accurate VAT, IBAN, BSN and KvK validation that runs entirely on your own machine — no network calls, no dependencies.
June 15, 2026 · Eduardo Read